--- dodoc.orig 2003-02-04 11:23:25.000000000 -0800 +++ dodoc 2003-02-05 19:29:05.000000000 -0800 @@ -3,19 +3,42 @@ # Distributed under the terms of the GNU General Public License v2 # $Header: /home/cvsroot/gentoo-src/portage/bin/dodoc,v 1.3 2002/11/23 19:21:58 vapier Exp $ -for x in "$@" ; do - if [ -e "${x}" ] ; then - if [ ! -d "${D}usr/share/doc/${PF}" ] ; then - install -d "${D}usr/share/doc/${PF}" +docinto() { + if [ $1 = "/" ]; then + DOCDESTTREE="" + else + DOCDESTTREE=$1 + if [ ! -d ${D}usr/share/doc/${PF}/${DOCDESTTREE} ]; then + install -d ${D}usr/share/doc/${PF}/${DOCDESTTREE} fi - if [ -z "${DOCDESTTREE}" ] ; then - install -m0644 "${x}" "${D}usr/share/doc/${PF}" - gzip -f -9 "${D}usr/share/doc/${PF}/${x##*/}" + fi +} + +installdoc() { + desttree="${DOCDESTTREE:+${DOCDESTTREE}/}" + if [ -e "${1}" ] ; then + if [ ! -d "${D}usr/share/doc/${PF}/${desttree}" ] ; then + install -d "${D}usr/share/doc/${PF}/${desttree}" + fi + if [ -d "${1}" ]; then + savetree="${desttree}" + docinto "${origdesttree}${1}" + find "${1}" -mindepth 1 -maxdepth 1 | while read y; do + installdoc "${y}" + done + docinto "${savetree}" else - install -m0644 "${x}" "${D}usr/share/doc/${PF}/${DOCDESTTREE}" - gzip -f -9 "${D}usr/share/doc/${PF}/${DOCDESTTREE}/${x##*/}" + install -m0644 "${1}" "${D}usr/share/doc/${PF}/${desttree}" + if [ -z "$DOCNOCOMPRESS" ]; then + gzip -f -9 "${D}usr/share/doc/${PF}/${desttree}${1##*/}" + fi fi else - echo "${0}: ${x} does not exist." + echo "${0}: ${1} does not exist." fi +} + +for x in "$@" ; do + origdesttree="${DOCDESTTREE:+${DOCDESTTREE}/}" + installdoc "${x}" done