summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--bin/ebuild-helpers/3/dodoc50
1 files changed, 50 insertions, 0 deletions
diff --git a/bin/ebuild-helpers/3/dodoc b/bin/ebuild-helpers/3/dodoc
new file mode 100644
index 00000000..f8aeaf76
--- /dev/null
+++ b/bin/ebuild-helpers/3/dodoc
@@ -0,0 +1,50 @@
+#!/bin/bash
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+source "${PORTAGE_BIN_PATH:-/usr/lib/portage/bin}"/isolated-functions.sh
+
+if [ $# -lt 1 ] ; then
+ vecho "${0##*/}: at least one argument needed" 1>&2
+ exit 1
+fi
+
+dir="${D}usr/share/doc/${PF}/${_E_DOCDESTTREE_}"
+if [ ! -d "${dir}" ] ; then
+ install -d "${dir}"
+fi
+
+ret=0
+
+DOINSRECUR="n"
+
+if [[ "$1" == "-r" ]] ; then
+ DOINSRECUR="y"
+ shift
+fi
+
+for x in "$@" ; do
+
+ if [ -d "${x}" ] ; then
+ if [[ ${DOINSRECUR} == "n" ]] ; then
+ continue
+ fi
+
+ find "${x}" -mindepth 1 -maxdepth 1 -exec \
+ env \
+ _E_DOCDESTTREE_="$(basename "${x}")" \
+ ${0} -r {} \;
+
+ elif [ -s "${x}" ] ; then
+ install -m0644 "${x}" "${dir}"
+ ecompress --queue "${dir}/${x##*/}"
+
+ elif [ ! -e "${x}" ] ; then
+ echo "!!! ${0##*/}: $x does not exist" 1>&2
+ ((++ret))
+ fi
+
+done
+
+exit ${ret}