blob: 9e5e41984698018cb7913ad380783cb893c81b49 [file] [log] [blame]
#!/bin/bash
# Copyright 1999-2006 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id: /var/cvsroot/gentoo-src/portage/bin/prepman,v 1.10.2.3 2005/05/29 12:40:08 jstubbs Exp $
source "${PORTAGE_BIN_PATH:-/usr/lib/portage/bin}"/isolated-functions.sh
if [[ -z $1 ]] ; then
z="${D}usr/share/man"
else
z="${D}$1/man"
fi
if [[ ! -d ${z} ]] ; then
vecho "QA Notice: prepman called with non-existent dir '${z#${D}}'" 2>&1
exit 0
fi
for x in $(find "${z}"/ -type d 2>/dev/null) ; do
for y in $(find "${x}"/ -mindepth 1 -maxdepth 1 \( -type f -or -type l \) ! -name '.keep' 2>/dev/null) ; do
if [[ -L ${y} ]] ; then
# Symlink ...
mylink=${y}
linkto=$(readlink "${y}")
# Do NOT change links to directories
if [[ -d ${z}/${linkto} ]] ; then
continue
fi
if [[ ${linkto##*.} != "gz" ]] && [[ ${linkto##*.} != "bz2" ]] ; then
linkto="${linkto}.gz"
fi
if [[ ${mylink##*.} != "gz" ]] && [[ ${mylink##*.} != "bz2" ]] ; then
mylink="${mylink}.gz"
fi
vecho "fixing man page symlink: ${mylink##*/}"
ln -snf "${linkto}" "${mylink}"
if [[ ${y} != "${mylink}" ]] ; then
vecho "removing old symlink: ${y##*/}"
rm -f "${y}"
fi
else
if [[ ${y##*.} != "gz" ]] && [[ ${y##*.} != "bz2" ]] && [[ ! -d ${y} ]] ; then
vecho "gzipping man page: ${y##*/}"
gzip -f -9 "${y}"
fi
fi
done
done