#!/bin/bash # Copyright 1999-2004 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Id: /var/cvsroot/gentoo-src/portage/bin/doins,v 1.7.2.2 2004/12/17 22:25:13 carpaski Exp $ if [ $# -lt 1 ] ; then echo "${0}: at least one argument needed" 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 :(" exit 1 fi if [ "${INSDESTTREE%${D}*}" == "" ]; then echo "-------------------------------------------------------" 1>&2 echo "You should not use \${D} with helpers." 1>&2 echo " --> ${INSDESTTREE}" 1>&2 echo "-------------------------------------------------------" 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