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

Allan McRae allan at archlinux.org
Mon Jun 4 07:48:14 UTC 2018


On 31/05/18 23:31, Alex Butler wrote:
> 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>
> ---

This patch is fine in principle.  But I think we need to figure out what
to do with all the COMPRESS* options.  This will make seven of them and
we have a request for another compression method too.  There has to be a
more efficient way of overriding the range of compression options.

>  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 ;;
> 


More information about the pacman-dev mailing list