From: Zac Medico Date: Tue, 27 May 2008 23:08:22 +0000 (-0000) Subject: Bug #222439 - Add doman support for foo.lang.N filenames. Behavior is X-Git-Tag: v2.2_pre8~87 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=716e10013af503e82f72987a8b59f0114140a62c;p=portage.git Bug #222439 - Add doman support for foo.lang.N filenames. Behavior is as follows: foo.1 -> man/man1/foo.1 foo.lang.1 -> man/lang/man1/foo.1 Thanks to Yuri Vasilevski for the initial patch. I've modified it to use bash's =~ operator and corresponding $BASH_REMATCH array. svn path=/main/trunk/; revision=10459 --- diff --git a/bin/doman b/bin/doman index c021f0a44..9af326666 100755 --- a/bin/doman +++ b/bin/doman @@ -31,7 +31,14 @@ for x in "$@" ; do suffix=${realname##*.} fi - mandir=${i18n}man${suffix:0:1} + if [[ $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 echo ${mandir} | egrep -q 'man[0-9n](|f|p|pm)$' -; then if [[ -s ${x} ]] ; then @@ -39,7 +46,7 @@ for x in "$@" ; do install -d "${D}/usr/share/man/${mandir}" fi - install -m0644 "${x}" "${D}/usr/share/man/${mandir}" + install -m0644 "${x}" "${D}/usr/share/man/${mandir}/${name}" ((ret+=$?)) elif [[ ! -e ${x} ]] ; then vecho "doman: ${x} does not exist" 1>&2