Bug #222439 - Add doman support for foo.lang.N filenames. Behavior is
authorZac Medico <zmedico@gentoo.org>
Tue, 27 May 2008 23:08:22 +0000 (23:08 -0000)
committerZac Medico <zmedico@gentoo.org>
Tue, 27 May 2008 23:08:22 +0000 (23:08 -0000)
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

bin/doman

index c021f0a444061201fba8312eb444c1090a510ee3..9af326666ec2031ce60a81927ec4786a354447a1 100755 (executable)
--- 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