summaryrefslogtreecommitdiff
blob: d41de426debd1636b29706be1bc384ea1e046b29 (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
#!/bin/bash

: ${PORTDIR:=/usr/portage}
: ${ECLASSDIR:=${0%/*}/../../../eclass}
: ${FILESDIR:=${ECLASSDIR}/../app-portage/eclass-manpages/files}

AWK="gawk"
while [[ $# -gt 0 ]] ; do
	case $1 in
	-e) ECLASSDIR=$2; shift;;
	-f) FILESDIR=$2; shift;;
	-d) AWK="dgawk";;
	*) break;;
	esac
	shift
done

if [[ ! -d ${ECLASSDIR} ]] ; then
	echo "Usage: ${0##*/} [-e eclassdir] [-f eclass-to-manpage.awk FILESDIR] [eclasses]" 1>&2
	exit 1
fi

[[ $# -eq 0 ]] && set -- "${ECLASSDIR}"/*.eclass

ret=0
for e in "$@" ; do
	set -- \
	${AWK} \
		-vPORTDIR="${PORTDIR}" \
		-f "${FILESDIR}"/eclass-to-manpage.awk \
		${e}
	if [[ ${AWK} == "gawk" ]] ; then
		"$@" > ${e##*/}.5
		tret=$?
		if [[ ${tret} -ne 0 ]] ; then
			rm -f ${e##*/}.5
			if [[ ${tret} -ne 77 ]] ; then
				echo "FAIL: ${e}"
				ret=1
			fi
		fi
	else
		"$@"
	fi
done
exit ${ret}