diff options
| -rw-r--r-- | doc/makepkg.conf.5.txt | 9 | ||||
| -rw-r--r-- | etc/makepkg.conf.in | 7 | ||||
| -rw-r--r-- | scripts/makepkg.sh.in | 15 | 
3 files changed, 27 insertions, 4 deletions
| diff --git a/doc/makepkg.conf.5.txt b/doc/makepkg.conf.5.txt index 18dbf350..8b3665b0 100644 --- a/doc/makepkg.conf.5.txt +++ b/doc/makepkg.conf.5.txt @@ -125,6 +125,10 @@ Options  	*zipman*;;  		Compress manual (man and info) pages with gzip. +	*purge*;; +		Remove files specified by the `PUGRE_TARGETS` variable from the +		package. +  **INTEGRITY_CHECK=(**check1 ...**)**::  	File integrity checks to use. Multiple checks may be specified; this  	affects both generation and checking. The current valid options are: @@ -150,6 +154,11 @@ Options  	to this array. *NOTE:* Do not add the leading slash to the directory  	name. +**PURGE_TARGETS=(**usr/{,share}/info/dir .podlist *.pod...**)**:: +	If "purge" is specified in the OPTIONS array, this variable will +	instruct makepkg which files to remove from the package. This is +	useful for index files that are added by multiple packages. +  **PKGDEST=**"/path/to/folder"::  	If this value is not set, packages will by default be placed in the  	current directory (location of the linkman:PKGBUILD[5]). Many people diff --git a/etc/makepkg.conf.in b/etc/makepkg.conf.in index 82722bef..87b115c2 100644 --- a/etc/makepkg.conf.in +++ b/etc/makepkg.conf.in @@ -58,7 +58,7 @@ BUILDENV=(fakeroot !distcc color !ccache !xdelta)  #   These are default values for the options=() settings  #########################################################################  # -# Default: OPTIONS=(strip !docs libtool emptydirs zipman) +# Default: OPTIONS=(strip !docs libtool emptydirs zipman purge)  #  A negated option will do the opposite of the comments below.  #  #-- strip:     Strip symbols from binaries/libraries @@ -66,8 +66,9 @@ BUILDENV=(fakeroot !distcc color !ccache !xdelta)  #-- libtool:   Leave libtool (.la) files in packages  #-- emptydirs: Leave empty directories in packages  #-- zipman:    Compress manual (man and info) pages with gzip +#-- purge:     Remove files sepecified below from package  # -OPTIONS=(strip !docs libtool emptydirs zipman) +OPTIONS=(strip !docs libtool emptydirs zipman purge)  #-- File integrity checks to use. Valid: md5, sha1, sha256, sha384, sha512  INTEGRITY_CHECK=(md5) @@ -77,6 +78,8 @@ MAN_DIRS=({usr{,/local}{,/share},opt/*}/{man,info})  DOC_DIRS=(usr/{,share/}{doc,gtk-doc} opt/*/{doc,gtk-doc})  #-- Directories to be searched for the strip option (if option set correctly above)  STRIP_DIRS=(bin lib sbin usr/{bin,lib,sbin,local/{bin,lib,sbin}} opt/*/{bin,lib,sbin}) +#-- Files to be removed from all packages +PURGE_TARGETS=(usr/{,share}/info/dir .packlist *.pod)  #########################################################################  # PACKAGE OUTPUT diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in index ef72dc25..66c68a54 100644 --- a/scripts/makepkg.sh.in +++ b/scripts/makepkg.sh.in @@ -41,7 +41,7 @@ confdir='@sysconfdir@'  startdir="$PWD"  srcdir="$startdir/src"  pkgdir="$startdir/pkg" -packaging_options=('strip' 'docs' 'libtool' 'emptydirs' 'zipman') +packaging_options=('strip' 'docs' 'libtool' 'emptydirs' 'zipman' 'purge')  other_options=('ccache' 'distcc' 'makeflags' 'force')  readonly -a packaging_options other_options @@ -717,6 +717,18 @@ tidy_install() {  		rm -rf ${DOC_DIRS[@]}  	fi +	if [ "$(check_option purge)" = "y" -a -n "PURGE_TARGETS" ]; then +		msg2 "$(gettext "Removing pugre targets...")" +		local pt +		for pt in "${PURGE_TARGETS[@]}"; do +			if [ "${pt}" == "${pt//\/}" ]; then +				find . -type f -name "${pt}" -exec rm -f -- '{}' \; +			else +				rm -f ${pt} +			fi +		done +	fi +  	if [ "$(check_option zipman)" = "y" ]; then  		msg2 "$(gettext "Compressing man and info pages...")"  		local manpage ext file link hardlinks hl @@ -756,7 +768,6 @@ tidy_install() {  		done  	fi -  	if [ "$(check_option strip)" = "y" ]; then  		msg2 "$(gettext "Stripping debugging symbols from binaries and libraries...")"  		local binary | 
