[pacman-dev] [PATCH] Compress manpages only after checking for $srcdir and $pkgdir
Chirantan Ekbote
chirantan.ekbote at gmail.com
Thu Jan 10 22:00:56 EST 2013
Move the manpage compression code from tidy_install to create_package. Since
tidy_install could remove a backup file, it should go before check_package.
Alternatively, we could move all the code from tidy_install into create_package
since those two are always called together.
Fixes FS#33318.
Signed-off-by: Chirantan Ekbote <chirantan.ekbote at gmail.com>
---
scripts/makepkg.sh.in | 58 ++++++++++++++++++++++++++-------------------------
1 file changed, 30 insertions(+), 28 deletions(-)
diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in
index ebc24f7..be433ad 100644
--- a/scripts/makepkg.sh.in
+++ b/scripts/makepkg.sh.in
@@ -1497,34 +1497,6 @@ tidy_install() {
done
fi
- if check_option "zipman" "y" && [[ -n ${MAN_DIRS[*]} ]]; then
- msg2 "$(gettext "Compressing man and info pages...")"
- local file files inode link
- while read -rd ' ' inode; do
- read file
- find ${MAN_DIRS[@]} -type l 2>/dev/null |
- while read link ; do
- if [[ "${file}" -ef "${link}" ]] ; then
- rm -f "$link" "${link}.gz"
- if [[ ${file%/*} = ${link%/*} ]]; then
- ln -s -- "${file##*/}.gz" "${link}.gz"
- else
- ln -s -- "/${file}.gz" "${link}.gz"
- fi
- fi
- done
- if [[ -z ${files[$inode]} ]]; then
- files[$inode]=$file
- gzip -9 -n -f "$file"
- else
- rm -f "$file"
- ln "${files[$inode]}.gz" "${file}.gz"
- chmod 644 "${file}.gz"
- fi
- done < <(find ${MAN_DIRS[@]} -type f \! -name "*.gz" \! -name "*.bz2" \
- -exec @INODECMD@ '{}' + 2>/dev/null)
- fi
-
if check_option "strip" "y"; then
msg2 "$(gettext "Stripping unneeded symbols from binaries and libraries...")"
# make sure library stripping variables are defined to prevent excess stripping
@@ -1786,6 +1758,36 @@ create_package() {
check_package
cd_safe "$pkgdir"
+
+ # compress manpages
+ if check_option "zipman" "y" && [[ -n ${MAN_DIRS[*]} ]]; then
+ msg2 "$(gettext "Compressing man and info pages...")"
+ local file files inode link
+ while read -rd ' ' inode; do
+ read file
+ find ${MAN_DIRS[@]} -type l 2>/dev/null |
+ while read link ; do
+ if [[ "${file}" -ef "${link}" ]] ; then
+ rm -f "$link" "${link}.gz"
+ if [[ ${file%/*} = ${link%/*} ]]; then
+ ln -s -- "${file##*/}.gz" "${link}.gz"
+ else
+ ln -s -- "/${file}.gz" "${link}.gz"
+ fi
+ fi
+ done
+ if [[ -z ${files[$inode]} ]]; then
+ files[$inode]=$file
+ gzip -9 -n -f "$file"
+ else
+ rm -f "$file"
+ ln "${files[$inode]}.gz" "${file}.gz"
+ chmod 644 "${file}.gz"
+ fi
+ done < <(find ${MAN_DIRS[@]} -type f \! -name "*.gz" \! -name "*.bz2" \
+ -exec @INODECMD@ '{}' + 2>/dev/null)
+ fi
+
msg "$(gettext "Creating package \"%s\"...")" "$pkgname"
pkgarch=$(get_pkg_arch)
--
1.8.1
More information about the pacman-dev
mailing list