#!/bin/bash
# Copyright 1999-2007 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id: doins 6405 2007-04-14 19:22:49Z zmedico $

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
