]> git.ipfire.org Git - people/stevee/pakfire.git/commitdiff
packager: Do not try to compress source packages as hard
authorMichael Tremer <michael.tremer@ipfire.org>
Tue, 29 Nov 2022 08:49:15 +0000 (08:49 +0000)
committerMichael Tremer <michael.tremer@ipfire.org>
Tue, 29 Nov 2022 08:49:15 +0000 (08:49 +0000)
There is no point in wasting too many CPU cycles on compressing already
compressed tarballs, etc, but we do want a little bit of compression for
patches, etc.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
src/libpakfire/packager.c

index 3adba678d9bd844b8a4d329687e470bdd3faf2de..ab5d160f6c146c074aa14e72be6e57c80dcca47f 100644 (file)
@@ -372,6 +372,7 @@ static int pakfire_packager_write_scriptlet(struct pakfire_packager* packager,
 */
 int pakfire_packager_finish(struct pakfire_packager* packager, FILE* f) {
        struct archive* a = NULL;
+       const char* comp_level = NULL;
        int r = 1;
 
        const char* nevra = pakfire_package_get_string(packager->pkg, PAKFIRE_PKG_NEVRA);
@@ -437,8 +438,14 @@ int pakfire_packager_finish(struct pakfire_packager* packager, FILE* f) {
                return r;
        }
 
+       // Select compression level
+       if (pakfire_package_is_source(packager->pkg))
+               comp_level = "1";
+       else
+               comp_level = "22";
+
        // Set compression level to highest
-       r = archive_write_set_filter_option(a, NULL, "compression-level", "22");
+       r = archive_write_set_filter_option(a, NULL, "compression-level", comp_level);
        if (r) {
                ERROR(packager->pakfire, "Could not set Zstandard compression level: %s\n",
                        archive_error_string(a));