diff options
Diffstat (limited to 'bin/ebuild-helpers/doman')
-rwxr-xr-x | bin/ebuild-helpers/doman | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/bin/ebuild-helpers/doman b/bin/ebuild-helpers/doman new file mode 100755 index 000000000..48abc39fd --- /dev/null +++ b/bin/ebuild-helpers/doman @@ -0,0 +1,62 @@ +#!/bin/bash +# Copyright 1999-2006 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +source "${PORTAGE_BIN_PATH:-/usr/lib/portage/bin}"/isolated-functions.sh + +if [[ $# -lt 1 ]] ; then + echo "$0: at least one argument needed" 1>&2 + exit 1 +fi + +i18n="" + +ret=0 + +for x in "$@" ; do + if [[ ${x:0:6} == "-i18n=" ]] ; then + i18n=${x:6}/ + continue + fi + if [[ ${x:0:6} == ".keep_" ]] ; then + continue + fi + + suffix=${x##*.} + + # These will be automatically decompressed by ecompressdir. + if hasq ${suffix} Z gz bz2 ; then + realname=${x%.*} + suffix=${realname##*.} + fi + + if ! hasq "${EAPI:-0}" 0 1 && \ + [[ $x =~ (.*)\.([a-z][a-z](_[A-Z][A-Z])?)\.(.*) ]] ; then + name=${BASH_REMATCH[1]##*/}.${BASH_REMATCH[4]} + mandir=${BASH_REMATCH[2]}/man${suffix:0:1} + else + name=${x##*/} + mandir=${i18n}man${suffix:0:1} + fi + + + if [[ ${mandir} =~ man[0-9n](f|p|pm)?$ ]] ; then + if [[ -s ${x} ]] ; then + if [[ ! -d ${D}/usr/share/man/${mandir} ]] ; then + install -d "${D}/usr/share/man/${mandir}" + fi + + install -m0644 "${x}" "${D}/usr/share/man/${mandir}/${name}" + ((ret+=$?)) + elif [[ ! -e ${x} ]] ; then + echo "!!! ${0##*/}: $x does not exist" 1>&2 + ((++ret)) + fi + else + vecho "doman: '${x}' is probably not a man page; skipping" 1>&2 + ((++ret)) + fi +done + +exit ${ret} |