// Copy digests
// SHA-3-512
- if (pakfire_digest_set(file->digests.sha3_512))
+ if ((digest_types && PAKFIRE_DIGEST_SHA3_512)
+ && pakfire_digest_set(file->digests.sha3_512))
archive_entry_xattr_add_entry(entry, "PAKFIRE.digests.sha3_512",
file->digests.sha3_512, sizeof(file->digests.sha3_512));
// SHA-3-256
- if (pakfire_digest_set(file->digests.sha3_256))
+ if ((digest_types && PAKFIRE_DIGEST_SHA3_256) &&
+ pakfire_digest_set(file->digests.sha3_256))
archive_entry_xattr_add_entry(entry, "PAKFIRE.digests.sha3_256",
file->digests.sha3_256, sizeof(file->digests.sha3_256));
// BLAKE2b512
- if (pakfire_digest_set(file->digests.blake2b512))
+ if ((digest_types && PAKFIRE_DIGEST_BLAKE2B512) &&
+ pakfire_digest_set(file->digests.blake2b512))
archive_entry_xattr_add_entry(entry, "PAKFIRE.digests.blake2b512",
file->digests.blake2b512, sizeof(file->digests.blake2b512));
// BLAKE2s256
- if (pakfire_digest_set(file->digests.blake2s256))
+ if ((digest_types && PAKFIRE_DIGEST_BLAKE2S256) &&
+ pakfire_digest_set(file->digests.blake2s256))
archive_entry_xattr_add_entry(entry, "PAKFIRE.digests.blake2s256",
file->digests.blake2s256, sizeof(file->digests.blake2s256));
// SHA-2-512
- if (pakfire_digest_set(file->digests.sha2_512))
+ if ((digest_types && PAKFIRE_DIGEST_SHA2_512) &&
+ pakfire_digest_set(file->digests.sha2_512))
archive_entry_xattr_add_entry(entry, "PAKFIRE.digests.sha2_512",
file->digests.sha2_512, sizeof(file->digests.sha2_512));
// SHA-2-256
- if (pakfire_digest_set(file->digests.sha2_256))
+ if ((digest_types && PAKFIRE_DIGEST_SHA2_512) &&
+ pakfire_digest_set(file->digests.sha2_256))
archive_entry_xattr_add_entry(entry, "PAKFIRE.digests.sha2_256",
file->digests.sha2_256, sizeof(file->digests.sha2_256));
struct pakfire* pakfire, const char* path);
int pakfire_file_create_from_archive_entry(struct pakfire_file** file, struct pakfire* pakfire,
struct archive_entry* entry);
-struct archive_entry* pakfire_file_archive_entry(struct pakfire_file* file);
+struct archive_entry* pakfire_file_archive_entry(struct pakfire_file* file, int digest_types);
const char* pakfire_file_get_abspath(struct pakfire_file* file);
int pakfire_file_set_abspath(struct pakfire_file* file, const char* path);
goto ERROR;
// Add digests for regular files
- r = pakfire_file_compute_digests(file, PAKFIRE_DIGESTS_ALL);
+ r = pakfire_file_compute_digests(file, PAKFIRE_PACKAGER_DIGESTS);
if (r) {
ERROR(packager->pakfire, "Could not compute digests: %m\n");
goto ERROR;
}
// Generate file metadata into an archive entry
- entry = pakfire_file_archive_entry(file);
+ entry = pakfire_file_archive_entry(file, PAKFIRE_PACKAGER_DIGESTS);
if (!entry)
goto ERROR;