Signed-off-by: Tiago Pierezan Camargo <tcamargo@gmail.com> --- doc/makepkg.conf.5.txt | 7 +++++++ etc/makepkg.conf.in | 2 ++ scripts/makepkg.sh.in | 9 ++++----- 3 files changed, 13 insertions(+), 5 deletions(-) diff --git a/doc/makepkg.conf.5.txt b/doc/makepkg.conf.5.txt index ca9df02..d6dd7dd 100644 --- a/doc/makepkg.conf.5.txt +++ b/doc/makepkg.conf.5.txt @@ -136,6 +136,13 @@ Options that are located in opt/, you may need to add the directory to this array. *NOTE:* Do not add the leading slash to the directory name. +**MAN_DIRS=(**{usr{,/local}{,/share},opt/*}/{man,info} ...**)**:: + If "zipman" is specified in the OPTIONS array, this variable will + instruct makepkg where to look to compress manpages and docs. If you + build packages that are located in opt/, you may need to add the + directory to this array. *NOTE:* Do not add the leading slash to + the directory name. + **STRIP_DIRS=(**bin lib sbin usr/{bin,lib} ...**)**:: If "strip" is specified in the OPTIONS array, this variable will instruct makepkg where to look to for files to strip. If you build diff --git a/etc/makepkg.conf.in b/etc/makepkg.conf.in index 7eb647b..43f03b4 100644 --- a/etc/makepkg.conf.in +++ b/etc/makepkg.conf.in @@ -73,6 +73,8 @@ OPTIONS=(strip !docs libtool emptydirs zipman) INTEGRITY_CHECK=(md5) #-- Doc directories to remove (if option set correctly above) DOC_DIRS=(usr/{,share/}{doc,gtk-doc} opt/*/{doc,gtk-doc}) +#-- Manpage directories to compress (if option set correctly above) +MAN_DIRS=({usr{,/local}{,/share},opt/*}/{man,info}) #-- 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}) diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in index c15d91f..2fa64ea 100644 --- a/scripts/makepkg.sh.in +++ b/scripts/makepkg.sh.in @@ -714,9 +714,8 @@ tidy_install() { if [ "$(check_option zipman)" = "y" ]; then msg2 "$(gettext "Compressing man and info pages...")" - local manpage mandirs ext file link hardlinks hl - mandirs=({usr{,/local}{,/share},opt/*}/{man,info}) - find ${mandirs[@]} -type f 2>/dev/null | + local manpage ext file link hardlinks hl + find ${MAN_DIRS[@]} -type f 2>/dev/null | while read manpage ; do # check file still exists (potentially compressed with hard link) if [ -f ${manpage} ]; then @@ -724,7 +723,7 @@ tidy_install() { file="${manpage##*/}" if [ "$ext" != "gz" -a "$ext" != "bz2" ]; then # update symlinks to this manpage - find ${mandirs[@]} -lname "$file" 2>/dev/null | + find ${MAN_DIRS[@]} -lname "$file" 2>/dev/null | while read link ; do rm -f "$link" ln -sf "${file}.gz" "${link}.gz" @@ -732,7 +731,7 @@ tidy_install() { # find hard links and remove them # the '|| true' part keeps the script from bailing if find returned an # error, such as when one of the man directories doesn't exist - hardlinks="$(find ${mandirs[@]} \! -name "$file" -samefile "$manpage" 2>/dev/null)" || true + hardlinks="$(find ${MAN_DIRS[@]} \! -name "$file" -samefile "$manpage" 2>/dev/null)" || true for hl in ${hardlinks}; do rm -f "${hl}"; done -- 1.6.0.2