From: Michael Tremer Date: Tue, 10 May 2022 14:09:03 +0000 (+0000) Subject: packager: Automatically set build host/time X-Git-Tag: 0.9.28~798 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=cd2c2cfb9ece5074ababa5780d0da74f67727797;p=pakfire.git packager: Automatically set build host/time Signed-off-by: Michael Tremer --- diff --git a/src/libpakfire/include/pakfire/util.h b/src/libpakfire/include/pakfire/util.h index a4f098e5e..f0ad5c0e5 100644 --- a/src/libpakfire/include/pakfire/util.h +++ b/src/libpakfire/include/pakfire/util.h @@ -67,6 +67,8 @@ char* pakfire_dirname(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 4659eb2a7..3bf81a506 100644 --- a/src/libpakfire/packager.c +++ b/src/libpakfire/packager.c @@ -277,6 +277,12 @@ int pakfire_packager_create(struct pakfire_packager** packager, // Store a reference to the package p->pkg = pakfire_package_ref(pkg); + // Set build host + pakfire_package_set_build_host(pkg, pakfire_hostname()); + + // Set build time + pakfire_package_set_build_time(pkg, p->time_created); + // Create reader p->reader = pakfire_make_archive_disk_reader(p->pakfire, 1); if (!p->reader) diff --git a/src/libpakfire/parser.c b/src/libpakfire/parser.c index 544fb557d..c8bcbd178 100644 --- a/src/libpakfire/parser.c +++ b/src/libpakfire/parser.c @@ -953,16 +953,6 @@ int pakfire_parser_create_package(struct pakfire_parser* parser, pakfire_package_set_uuid(*pkg, uuid); free(uuid); - // Set build host - char hostname[HOST_NAME_MAX + 1]; - r = gethostname(hostname, HOST_NAME_MAX + 1); - if (r) { - ERROR(parser->pakfire, "gethostname() failed: %m\n"); - goto CLEANUP; - } - - pakfire_package_set_build_host(*pkg, hostname); - // Set build time time_t now = time(NULL); diff --git a/src/libpakfire/util.c b/src/libpakfire/util.c index 99a9b61b5..8df135d1a 100644 --- a/src/libpakfire/util.c +++ b/src/libpakfire/util.c @@ -777,6 +777,16 @@ char* pakfire_remove_trailing_newline(char* str) { return str; } +static char __hostname[256]; + +const char* pakfire_hostname() { + 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;