summaryrefslogtreecommitdiff
path: root/bin/doman
blob: 750fd7f65956e7b41158e90839a158dd36dbbacd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
#!/bin/bash
# Copyright 1999-2005 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /local/data/ulm/cvs/history/var/cvsroot/gentoo-src/portage/bin/doman,v 1.13.2.1 2005/04/30 04:42:44 jstubbs Exp $

if [ ${#} -lt 1 ] ; then
	echo "${0}: at least one argument needed" 1>&2
	exit 1
fi

# /usr/share/man
# /usr/X11R6/man
# /opt/gnome/man
# /opt/kde/man

BASE="/usr/share"
OLDBASE="$BASE"
i18n=""

for x in "$@" ; do
	[ "$x" == "--"     ] && BASE="/usr/share"
	[ "$x" == "-kde"   ] && BASE="/opt/kde"
	[ "$x" == "-gnome" ] && BASE="/opt/gnome"
	[ "$x" == "-x11"   ] && BASE="/usr/X11R6"
	if [ "${x:0:6}" == "-i18n=" ] ; then
		i18n="${x:6}/"
	fi
	if [ "${x:0:1}" == "-" ] ; then
		OLDBASE="$BASE"
		continue
	fi

  if [ "${x}" == ".keep" ]; then
		continue
	fi

	BASE="$OLDBASE"
	suffix="${x##*.}"
		
	if [ "$suffix" == "gz" ] ; then
		compressed="gz"
		realname="${x%.*}"
		suffix="${realname##*.}"
	else
		realname="$x"
		compressed=""
	fi

	if [ "x" == "${suffix:1:1}" ] ; then
		OLDBASE="$BASE"
		BASE="/usr/X11R6"
	fi

	mandir=${i18n}man${suffix:0:1}

	if echo ${mandir} | egrep -q 'man[0-9n](|f|p|pm)$' -; then
		if [ -e "${x}" ] ; then
			if [ ! -d "${D}${BASE}/man/${mandir}" ] ; then
				install -d "${D}${BASE}/man/${mandir}"
			fi

			install -m0644 "${x}" "${D}${BASE}/man/${mandir}"

			if [ -z "${compressed}" ] ; then
				gzip -f -9 "${D}${BASE}/man/${mandir}/${x##*/}"
			fi
		else
			echo "doman: ${x} does not exist" 1>&2
		fi
	else
		echo -e "\adoman: '${x}' is probably not a man page; skipping" 1>&2
	fi
done