[pacman-dev] [PATCH] Add lz4 compression support to makepkg

Alex Butler alexheretic at gmail.com
Thu May 31 13:31:18 UTC 2018


Adds opt-in lz4 compression of *pkg.tar files with makepkg.
This is nice to have as an option for very fast compression
and is already installed with libarchive.

Signed-off-by: Alex Butler<alexheretic at gmail.com>
---
 doc/makepkg.conf.5.asciidoc            | 3 ++-
 etc/makepkg.conf.in                    | 1 +
 scripts/libmakepkg/util/compress.sh.in | 1 +
 3 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/doc/makepkg.conf.5.asciidoc b/doc/makepkg.conf.5.asciidoc
index 3b596a91..7fd75a1d 100644
--- a/doc/makepkg.conf.5.asciidoc
+++ b/doc/makepkg.conf.5.asciidoc
@@ -251,6 +251,7 @@ Options
 **COMPRESSXZ=**"(xz -c -z -)"::
 **COMPRESSLZO**"(lzop -q)"::
 **COMPRESSLRZ=**"(lrzip -q)"::
+**COMPRESSLZ4=**"(lz4 -q)"::
 **COMPRESSZ=**"(compress -c -f)"::
 	Sets the command and options used when compressing compiled or source
 	packages in the named format.
@@ -258,7 +259,7 @@ Options
 **PKGEXT=**".pkg.tar.gz", **SRCEXT=**".src.tar.gz"::
 	Sets the compression used when making compiled or source packages.
 	Valid suffixes are `.tar`, `.tar.gz`, `.tar.bz2`, `.tar.xz`,
-	`.tar.lzo`, `.tar.lrz`, and `.tar.Z`.
+	`.tar.lzo`, `.tar.lrz`, `.tar.lz4`, and `.tar.Z`.
 	Do not touch these unless you know what you are doing.
 
 
diff --git a/etc/makepkg.conf.in b/etc/makepkg.conf.in
index 1cf79664..01f8df2c 100644
--- a/etc/makepkg.conf.in
+++ b/etc/makepkg.conf.in
@@ -133,6 +133,7 @@ COMPRESSXZ=(xz -c -z -)
 COMPRESSLRZ=(lrzip -q)
 COMPRESSLZO=(lzop -q)
 COMPRESSZ=(compress -c -f)
+COMPRESSLZ4=(lz4 -q)
 
 #########################################################################
 # EXTENSION DEFAULTS
diff --git a/scripts/libmakepkg/util/compress.sh.in b/scripts/libmakepkg/util/compress.sh.in
index 3a332817..4d8cd46a 100644
--- a/scripts/libmakepkg/util/compress.sh.in
+++ b/scripts/libmakepkg/util/compress.sh.in
@@ -40,6 +40,7 @@ compress_as() {
 		*tar.lrz) ${COMPRESSLRZ[@]:-lrzip -q} ;;
 		*tar.lzo) ${COMPRESSLZO[@]:-lzop -q} ;;
 		*tar.Z)   ${COMPRESSZ[@]:-compress -c -f} ;;
+		*tar.lz4) ${COMPRESSLZ4[@]:-lz4 -q} ;;
 		*tar)     cat ;;
 		*) warning "$(gettext "'%s' is not a valid archive extension.")" \
 			"$ext"; cat ;;
-- 
2.17.1


More information about the pacman-dev mailing list