From 2da7a4c4c001af300103d145a460f15b90a76f13 Mon Sep 17 00:00:00 2001 From: just_fun Date: Sat, 7 Oct 2017 20:32:14 +0300 Subject: [PATCH] Add PKGMK_COMPRESSION_PRG option This program should match the PKGMK_COMPRESSION_MODE to avoid problems, e.g. PKGMK_COMPRESSION_MODE=xz PKGMK_COMPRESSION_PRG=/usr/bin/pxz --- pkgmk.conf.5.in | 5 +++++ pkgmk.in | 8 +++++++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/pkgmk.conf.5.in b/pkgmk.conf.5.in index 742b326..107ee61 100644 --- a/pkgmk.conf.5.in +++ b/pkgmk.conf.5.in @@ -87,6 +87,11 @@ Default: 'no' Option to select the mode used to compress the packages. Valid strings are gz, bz2 and xz. .br Default: 'gz' +.TP +\fBPKGMK_COMPRESSION_PRG='STRING'\fP +Option to select the programm used to compress the packages. +.br +Default: '' .SH SEE ALSO pkgmk(8) .SH COPYRIGHT diff --git a/pkgmk.in b/pkgmk.in index 251a577..4421ead 100755 --- a/pkgmk.in +++ b/pkgmk.in @@ -547,11 +547,16 @@ build_package() { cd $PKG info "Build result:" - case $PKGMK_COMPRESSION_MODE in + case "$PKGMK_COMPRESSION_MODE$PKGMK_COMPRESSION_PRG" in gz) COMPRESSION="-z" ;; bz2) COMPRESSION="-j" ;; xz) COMPRESSION="-J" ;; + *) [[ -x $PKGMK_COMPRESSION_PRG ]] \ + || error "Program '$PKGMK_COMPRESSION_PRG' not found." + COMPRESSION="--use-compress-program $PKGMK_COMPRESSION_PRG" + ;; esac + bsdtar -c $COMPRESSION -f $TARGET * && bsdtar -t -v -f $TARGET if [ $? = 0 ]; then @@ -941,6 +946,7 @@ PKGMK_REFRESH_SIGNATURE="no" PKGMK_PRIVATEKEY="" PKGMK_NO_STRIP="no" PKGMK_CLEAN="no" +PKGMK_COMPRESSION_PRG= main "$@" -- 2.14.2