]> git.ipfire.org Git - pakfire.git/commitdiff
packager: Automatically set build host/time
authorMichael Tremer <michael.tremer@ipfire.org>
Tue, 10 May 2022 14:09:03 +0000 (14:09 +0000)
committerMichael Tremer <michael.tremer@ipfire.org>
Tue, 10 May 2022 14:09:03 +0000 (14:09 +0000)
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
src/libpakfire/include/pakfire/util.h
src/libpakfire/packager.c
src/libpakfire/parser.c
src/libpakfire/util.c

index a4f098e5e91bf816a17c66508225905ac7e5c7fd..f0ad5c0e53ea02ca28521e89e13c9e97ec893a6e 100644 (file)
@@ -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))
index 4659eb2a752bae1586dcb8706a0590eb7162a4f9..3bf81a50658757ba4cd90106d23d98d3027e65cd 100644 (file)
@@ -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)
index 544fb557ddaa5c6d8406ab717a7ce7b5a9e52b30..c8bcbd178124404527a0a3f8c5ce7b2a8ed66496 100644 (file)
@@ -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);
 
index 99a9b61b57eebd151f1f8c3d3639335f59dcb7ef..8df135d1a38196179a04630ea244b5e3268c7f36 100644 (file)
@@ -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;