aboutsummaryrefslogtreecommitdiff
blob: c34fcae74999bd2ae8f96c831e5bab41745ae115 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#!/bin/bash
# Copyright 1999-2012 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 ! ___eapi_has_prefix_variables; then
	ED=${D}
fi

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

TMP=$(mktemp -d "${T}/.doexe_tmp_XXXXXX")

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" "$ED$_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