aboutsummaryrefslogtreecommitdiff
blob: 4561bef1810ba070f45851bb419d9d0888f073a9 (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
#!/bin/bash
# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2

source "${PORTAGE_BIN_PATH:-/usr/lib/portage/bin}"/isolated-functions.sh

if [[ $# -lt 1 ]] ; then
	helpers_die "${0##*/}: at least one argument needed"
	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 has ${suffix} Z gz bz2 ; then
		realname=${x%.*}
		suffix=${realname##*.}
	fi

	if has "${EAPI:-0}" 2 3 || [[ -z ${i18n} ]] \
		&& ! has "${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] ]] ; 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|=1))
		fi
	else
		vecho "doman: '${x}' is probably not a man page; skipping" 1>&2
		((ret|=1))
	fi
done

[[ $ret -ne 0 ]] && helpers_die "${0##*/} failed"
exit ${ret}