From: Michael Tremer Date: Mon, 8 Mar 2021 12:47:07 +0000 (+0000) Subject: packager: Import all file attributes from archive entry X-Git-Tag: 0.9.28~1285^2~603 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c138b06e8d1af698142de09c3d8072e70e76bf32;p=pakfire.git packager: Import all file attributes from archive entry Signed-off-by: Michael Tremer --- diff --git a/src/libpakfire/packager.c b/src/libpakfire/packager.c index 23f947714..0e04d0f3e 100644 --- a/src/libpakfire/packager.c +++ b/src/libpakfire/packager.c @@ -455,12 +455,6 @@ PAKFIRE_EXPORT int pakfire_packager_add(struct pakfire_packager* packager, return r; } - // Create a file - PakfireFile file; - r = pakfire_file_create(&file, packager->pakfire); - if (r) - return r; - // Create a new file entry struct archive_entry* entry = archive_entry_new(); if (!entry) @@ -468,11 +462,9 @@ PAKFIRE_EXPORT int pakfire_packager_add(struct pakfire_packager* packager, // Set path in archive archive_entry_set_pathname(entry, path); - pakfire_file_set_name(file, path); // Copy all attributes from stat() archive_entry_copy_stat(entry, &st); - pakfire_file_copy_stat(file, &st); // Write the header r = archive_write_header(packager->payload, entry); @@ -496,6 +488,16 @@ PAKFIRE_EXPORT int pakfire_packager_add(struct pakfire_packager* packager, goto ERROR; } + // Create a file + PakfireFile file; + r = pakfire_file_create(&file, packager->pakfire); + if (r) + goto ERROR; + + r = pakfire_file_copy_archive_entry(file, entry); + if (r) + goto ERROR; + // Append the file to the filelist pakfire_filelist_append(packager->filelist, file);