From: Christian Hesse <mail@earthworm.de> Adds the ability to override the commands used to compressing compiled and source packages. This is useful for those wanting to use alternative implementations of the compression tools or non-default compression options. Allan: documented options in man page Signed-off-by: Allan McRae <allan@archlinux.org> --- Adjust patch from FS#27430. Sending to list for final comments. doc/makepkg.conf.5.txt | 4 ++++ etc/makepkg.conf.in | 10 ++++++++++ scripts/makepkg.sh.in | 8 ++++---- 3 files changed, 18 insertions(+), 4 deletions(-) diff --git a/doc/makepkg.conf.5.txt b/doc/makepkg.conf.5.txt index db1e6d5..5970946 100644 --- a/doc/makepkg.conf.5.txt +++ b/doc/makepkg.conf.5.txt @@ -213,6 +213,10 @@ Options This value is used when querying a package to see who was the builder. It is recommended you change this to your name and email address. +**COMPRESSGZ=**"(gzip -c -f -n)", **COMPRESSBZ2=**"(bzip2 -c -f)", **COMPRESSXZ=**"(xz -c -z -)", **COMPRESSZ=**"(compress -c -f)":: + Sets the command and options used when compressing compiled or source + packages in the named format. + **PKGEXT=**".pkg.tar.gz", **SRCEXT=**".src.tar.gz":: Sets the compression used when making compiled or source packages. The current valid suffixes are `.tar`, `.tar.gz`, `.tar.bz2`, `.tar.xz`, and diff --git a/etc/makepkg.conf.in b/etc/makepkg.conf.in index e9152c8..6c87ea4 100644 --- a/etc/makepkg.conf.in +++ b/etc/makepkg.conf.in @@ -107,6 +107,16 @@ PURGE_TARGETS=(usr/{,share}/info/dir .packlist *.pod) #GPGKEY="" ######################################################################### +# COMPRESSION DEFAULTS +######################################################################### +# +COMPRESSGZ=(gzip -c -f -n) +COMPRESSBZ2=(bzip2 -c -f) +COMPRESSXZ=(xz -c -z -) +COMPRESSZ=(compress -c -f) + + +######################################################################### # EXTENSION DEFAULTS ######################################################################### # diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in index aa98cfa..0fab2a1 100644 --- a/scripts/makepkg.sh.in +++ b/scripts/makepkg.sh.in @@ -1292,10 +1292,10 @@ create_package() { # Disable bsdtar compression and use gzip -n for now. bsdtar -cf - $comp_files * | case "$PKGEXT" in - *tar.gz) gzip -c -f -n ;; - *tar.bz2) bzip2 -c -f ;; - *tar.xz) xz -c -z - ;; - *tar.Z) compress -c -f ;; + *tar.gz) "${COMPRESSGZ[@]:-gzip -c -f -n}" ;; + *tar.bz2) "${COMPRESSBZ2[@]:-bzip2 -c -f}" ;; + *tar.xz) "${COMPRESSXZ[@]:-xz -c -z -}" ;; + *tar.Z) "${COMPRESSZ[@]:-compress -c -f}" ;; *tar) cat ;; *) warning "$(gettext "'%s' is not a valid archive extension.")" \ "$PKGEXT"; cat ;; -- 1.7.9