#!/bin/bash
# Copyright 1999-2010 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2

source "${PORTAGE_BIN_PATH:-/usr/lib/portage/bin}"/isolated-functions.sh

if [[ $# -lt 1 ]] ; then
	helpers_die "${0##*/}: at least one argument needed"
	exit 1
fi

if [[ ! -d ${D}${_E_EXEDESTTREE_} ]] ; then
	install -d "${D}${_E_EXEDESTTREE_}"
fi

TMP=$T/.doexe_tmp
mkdir "$TMP"

ret=0

for x in "$@" ; do
	if [ -L "${x}" ] ; then
		cp "$x" "$TMP"
		mysrc=$TMP/${x##*/}
	elif [ -d "${x}" ] ; then
		vecho "doexe: warning, skipping directory ${x}"
		continue
	else
		mysrc="${x}"
	fi
	if [ -e "$mysrc" ] ; then
		install $EXEOPTIONS "$mysrc" "$D$_E_EXEDESTTREE_"
	else
		echo "!!! ${0##*/}: $mysrc does not exist" 1>&2
		false
	fi
	((ret|=$?))
done

rm -rf "$TMP"

[[ $ret -ne 0 ]] && helpers_die "${0##*/} failed"
exit $ret
