#!/bin/bash # Copyright 1999-2007 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 echo "${0##*/}: at least one argument needed" 1>&2 exit 1 fi if [[ "$1" == "-r" ]] ; then DOINSRECUR=y shift else DOINSRECUR=n fi [[ -z ${INSDEPTH} ]] && declare -i INSDEPTH=0 if [[ ${INSDEPTH} -gt 30 ]] ; then echo "${0##*/}: sanity check ... 30 directories is too much :(" 2>&1 exit 1 fi if [[ ${INSDESTTREE#${D}} != "${INSDESTTREE}" ]]; then vecho "-------------------------------------------------------" 1>&2 vecho "You should not use \${D} with helpers." 1>&2 vecho " --> ${INSDESTTREE}" 1>&2 vecho "-------------------------------------------------------" 1>&2 exit 1 fi [[ ! -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 [ "${DOINSRECUR}" == "n" ] ; then continue fi mydir="${INSDESTTREE}/$(basename "${x}")" find "${x}" -mindepth 1 -maxdepth 1 -exec \ env \ INSDESTTREE="${mydir}" \ INSDEPTH=$((INSDEPTH+1)) \ doins -r {} \; continue else mysrc="${x}" fi install ${INSOPTIONS} "${mysrc}" "${D}${INSDESTTREE}" done