[pacman-dev] [PATCH] makepkg: allow specifying compression options
Allan McRae
allan at archlinux.org
Sat Feb 11 04:56:24 EST 2012
From: Christian Hesse <mail at 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 at 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
More information about the pacman-dev
mailing list