[pacman-dev] [PATCH] Add liba option in PKGBUILD

Allan McRae allan at archlinux.org
Mon Mar 4 02:39:46 EST 2013


On 04/03/13 12:01, Sébastien Luttringer wrote:
> This option (enabled by default) removes static library files in packages.
> 
> Related to the thread:
> https://mailman.archlinux.org/pipermail/arch-dev-public/2013-March/024552.html
> 
> Signed-off-by: Sébastien Luttringer <seblu at seblu.net>
> ---

You think given I was the one who suggested to use PURGE_TARGETS for
this, that you might of thought have thought twice about doing this
being the way to implement it...

So provide an explanation why this is better.  libtool option is not an
answer because we could merge that into PURGE too...

>  doc/PKGBUILD.5.txt     | 4 ++++
>  doc/makepkg.conf.5.txt | 6 +++++-
>  etc/makepkg.conf.in    | 3 ++-
>  scripts/makepkg.sh.in  | 9 +++++++--
>  4 files changed, 18 insertions(+), 4 deletions(-)
> 
> diff --git a/doc/PKGBUILD.5.txt b/doc/PKGBUILD.5.txt
> index c37477a..1e64b8f 100644
> --- a/doc/PKGBUILD.5.txt
> +++ b/doc/PKGBUILD.5.txt
> @@ -243,6 +243,10 @@ A normal sync or upgrade will not use its value.
>  		Leave libtool (.la) files in packages. Specify `!libtool` to
>  		remove them.
>  
> +	*liba*;;
> +		Leave static library (.a) files in packages. Specify `!liba` to
> +		remove them.
> +
>  	*emptydirs*;;
>  		Leave empty directories in packages.
>  
> diff --git a/doc/makepkg.conf.5.txt b/doc/makepkg.conf.5.txt
> index 71cfc5d..94f2a0c 100644
> --- a/doc/makepkg.conf.5.txt
> +++ b/doc/makepkg.conf.5.txt
> @@ -138,7 +138,7 @@ Options
>  	Specify a key to use for gpg signing instead of the default key in the
>  	keyring. Can be overridden with makepkg's '\--key' option.
>  
> -**OPTIONS=(**strip docs libtool emptydirs zipman purge !upx**)**::
> +**OPTIONS=(**strip docs libtool !liba emptydirs zipman purge !upx**)**::
>  	This array contains options that affect the default packaging. They are
>  	equivalent to options that can be placed in the PKGBUILD; the defaults are
>  	shown here. All options should always be left in the array; to enable or
> @@ -160,6 +160,10 @@ Options
>  		Leave libtool (.la) files in packages. Specify `!libtool` to remove
>  		them.
>  
> +	*liba*;;
> +		Leave static library (.a) files in packages. Specify `!liba` to remove
> +		them.
> +
>  	*emptydirs*;;
>  		Leave empty directories in packages.
>  
> diff --git a/etc/makepkg.conf.in b/etc/makepkg.conf.in
> index 1436042..8af8e3f 100644
> --- a/etc/makepkg.conf.in
> +++ b/etc/makepkg.conf.in
> @@ -71,13 +71,14 @@ BUILDENV=(fakeroot !distcc color !ccache check !sign)
>  #-- strip:     Strip symbols from binaries/libraries
>  #-- docs:      Save doc directories specified by DOC_DIRS
>  #-- libtool:   Leave libtool (.la) files in packages
> +#-- liba:      Leave static library (.a) files in packages
>  #-- emptydirs: Leave empty directories in packages
>  #-- zipman:    Compress manual (man and info) pages in MAN_DIRS with gzip
>  #-- purge:     Remove files specified by PURGE_TARGETS
>  #-- upx:       Compress binary executable files using UPX
>  #-- debug:     Add debugging flags as specified in DEBUG_* variables
>  #
> -OPTIONS=(strip docs libtool emptydirs zipman purge !upx !debug)
> +OPTIONS=(strip docs libtool !liba emptydirs zipman purge !upx !debug)
>  
>  #-- File integrity checks to use. Valid: md5, sha1, sha256, sha384, sha512
>  INTEGRITY_CHECK=(md5)
> diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in
> index bd29d73..274739c 100644
> --- a/scripts/makepkg.sh.in
> +++ b/scripts/makepkg.sh.in
> @@ -44,8 +44,8 @@ declare -r confdir='@sysconfdir@'
>  declare -r BUILDSCRIPT='@BUILDSCRIPT@'
>  declare -r startdir="$PWD"
>  
> -packaging_options=('strip' 'docs' 'libtool' 'emptydirs' 'zipman' 'purge' 'upx' \
> -                   'debug')
> +packaging_options=('strip' 'docs' 'libtool' 'liba' 'emptydirs' 'zipman' \
> +                   'purge' 'upx' 'debug')
>  other_options=('ccache' 'distcc' 'buildflags' 'makeflags')
>  splitpkg_overrides=('pkgver' 'pkgrel' 'epoch' 'pkgdesc' 'arch' 'url' 'license' \
>                      'groups' 'depends' 'optdepends' 'provides' 'conflicts' \
> @@ -1503,6 +1503,11 @@ tidy_install() {
>  		find . ! -type d -name "*.la" -exec rm -f -- '{}' \;
>  	fi
>  
> +	if check_option "liba" "n"; then
> +		msg2 "$(gettext "Removing "%s" files...")" "static libraries"
> +		find . ! -type d -name "*.a" -exec rm -f -- '{}' \;
> +	fi
> +
>  	if check_option "emptydirs" "n"; then
>  		msg2 "$(gettext "Removing empty directories...")"
>  		find . -depth -type d -exec rmdir '{}' + 2>/dev/null
> 



More information about the pacman-dev mailing list