From: Michael Tremer Date: Thu, 5 Oct 2023 13:17:27 +0000 (+0000) Subject: packager: Drop helper function to determine the hostname X-Git-Tag: 0.9.30~1538 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=53a87249254fe79748464bf68a85f6ff7513e4c7;p=pakfire.git packager: Drop helper function to determine the hostname Signed-off-by: Michael Tremer --- diff --git a/src/libpakfire/include/pakfire/util.h b/src/libpakfire/include/pakfire/util.h index 3c5ce5408..95b2383c8 100644 --- a/src/libpakfire/include/pakfire/util.h +++ b/src/libpakfire/include/pakfire/util.h @@ -56,8 +56,6 @@ int __pakfire_dirname(char* dirname, const size_t length, const char* path); char* pakfire_remove_trailing_newline(char* str); -const char* pakfire_hostname(void); - int pakfire_read_file_into_buffer(FILE* f, char** buffer, size_t* len); #define pakfire_hexlify(digest) __pakfire_hexlify(digest, sizeof(digest)) diff --git a/src/libpakfire/packager.c b/src/libpakfire/packager.c index b3078d1c2..3d37b18f2 100644 --- a/src/libpakfire/packager.c +++ b/src/libpakfire/packager.c @@ -85,12 +85,15 @@ static void pakfire_packager_free(struct pakfire_packager* packager) { int pakfire_packager_create(struct pakfire_packager** packager, struct pakfire* pakfire, struct pakfire_package* pkg) { - struct pakfire_packager* p = calloc(1, sizeof(*p)); - if (!p) - return ENOMEM; - + struct pakfire_packager* p = NULL; + char hostname[HOST_NAME_MAX]; int r = 1; + // Allocate the packager object + p = calloc(1, sizeof(*p)); + if (!p) + return -errno; + // Save creation time p->time_created = time(NULL); @@ -115,8 +118,19 @@ int pakfire_packager_create(struct pakfire_packager** packager, pakfire_package_set_string(pkg, PAKFIRE_PKG_DISTRO, tag); + // Fetch the hostname + r = gethostname(hostname, sizeof(hostname)); + if (r) { + ERROR(p->pakfire, "Could not determine the hostname: %m\n"); + goto ERROR; + } + // Set build host - pakfire_package_set_string(pkg, PAKFIRE_PKG_BUILD_HOST, pakfire_hostname()); + r = pakfire_package_set_string(pkg, PAKFIRE_PKG_BUILD_HOST, hostname); + if (r) { + ERROR_ERRNO(p->pakfire, r, "Could not set the hostname: %m\n"); + goto ERROR; + } // Set build time pakfire_package_set_num(pkg, PAKFIRE_PKG_BUILD_TIME, p->time_created); @@ -169,12 +183,12 @@ int pakfire_packager_create(struct pakfire_packager** packager, goto ERROR; } - *packager = p; - - return 0; + // Return a reference + *packager = pakfire_packager_ref(p); ERROR: - pakfire_packager_free(p); + if (p) + pakfire_packager_unref(p); return r; } diff --git a/src/libpakfire/util.c b/src/libpakfire/util.c index bcb148870..c7b84dd8b 100644 --- a/src/libpakfire/util.c +++ b/src/libpakfire/util.c @@ -353,16 +353,6 @@ char* pakfire_remove_trailing_newline(char* str) { return str; } -const char* pakfire_hostname(void) { - static __thread char hostname[256]; - - int r = gethostname(hostname, sizeof(hostname)); - if (r) - return NULL; - - return hostname; -} - int pakfire_read_file_into_buffer(FILE* f, char** buffer, size_t* len) { if (!f) return -EBADF;