--- doins.orig 2008-02-18 16:28:27.610453995 +0000 +++ doins 2008-02-18 16:27:15.880396865 +0000 @@ -33,23 +33,28 @@ [[ ! -d ${D}${INSDESTTREE} ]] && dodir "${INSDESTTREE}" for x in "$@" ; do - if [ -L "$x" ] ; then - cp "$x" "${T}" - mysrc="${T}/$(/usr/bin/basename "${x}")" - elif [ -d "$x" ] ; then + if [ -d "$x" ] ; then if [ "${DOINSRECUR}" == "n" ] ; then continue fi - mydir="${INSDESTTREE}/$(basename "${x}")" - find "${x}" -mindepth 1 -maxdepth 1 -exec \ - env \ - INSDESTTREE="${mydir}" \ - INSDEPTH=$((INSDEPTH+1)) \ - doins -r {} \; + pushd "${x}" >/dev/null + find -type d -exec dodir "${INSDESTTREE}/{}" \; + for f in $(find -type f); do + install ${INSOPTIONS} "${f}" \ + "${D}${INSDESTTREE}/$(dirname ${f})" + done + popd >/dev/null + continue + fi + + if [ -L "$x" ] ; then + cp "$x" "${T}" + mysrc="${T}/$(/usr/bin/basename "${x}")" else mysrc="${x}" fi + install ${INSOPTIONS} "${mysrc}" "${D}${INSDESTTREE}" done