mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-09-24 04:59:14 -07:00
app-portage/eclass-manpages: pass up exit codes to the caller
This will let us make errors in the docs fatal in the ebuild if we want.
This commit is contained in:
@@ -79,6 +79,10 @@ function fail(text) {
|
||||
_stderr_msg(text, "error")
|
||||
exit(1)
|
||||
}
|
||||
function xfail(text) {
|
||||
_stderr_msg(text, "error (ignoring)")
|
||||
exit(77)
|
||||
}
|
||||
|
||||
function eat_line() {
|
||||
ret = $0
|
||||
@@ -392,8 +396,12 @@ BEGIN {
|
||||
state = "funcvar"
|
||||
} else if ($0 == "# @DEAD") {
|
||||
eclass = "dead"
|
||||
exit(10)
|
||||
exit(77)
|
||||
} else if ($0 == "# @eclass-begin") {
|
||||
# White list old eclasses that haven't been updated so we can block
|
||||
# new ones from being added to the tree.
|
||||
if (eclass == "")
|
||||
xfail("java documentation not supported")
|
||||
fail("java documentation not supported")
|
||||
} else if ($0 ~ /^# @/)
|
||||
warn("Unexpected tag in \"" state "\" state: " $0)
|
||||
@@ -414,7 +422,7 @@ BEGIN {
|
||||
#
|
||||
END {
|
||||
if (eclass == "")
|
||||
fail("eclass not documented yet (no @ECLASS found)")
|
||||
xfail("eclass not documented yet (no @ECLASS found)")
|
||||
else if (eclass != "dead")
|
||||
handle_footer()
|
||||
}
|
||||
|
||||
@@ -22,6 +22,7 @@ fi
|
||||
|
||||
[[ $# -eq 0 ]] && set -- "${ECLASSDIR}"/*.eclass
|
||||
|
||||
ret=0
|
||||
for e in "$@" ; do
|
||||
set -- \
|
||||
${AWK} \
|
||||
@@ -29,8 +30,17 @@ for e in "$@" ; do
|
||||
-f "${FILESDIR}"/eclass-to-manpage.awk \
|
||||
${e}
|
||||
if [[ ${AWK} == "gawk" ]] ; then
|
||||
"$@" > ${e##*/}.5 || rm -f ${e##*/}.5
|
||||
"$@" > ${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}
|
||||
|
||||
Reference in New Issue
Block a user