Lines 16-26
Link Here
|
16 |
else |
16 |
else |
17 |
DOINSRECUR=n |
17 |
DOINSRECUR=n |
18 |
fi |
18 |
fi |
19 |
[[ -z ${INSDEPTH} ]] && declare -i INSDEPTH=0 |
|
|
20 |
if [[ ${INSDEPTH} -gt 30 ]] ; then |
21 |
echo "${0##*/}: sanity check ... 30 directories is too much :(" 2>&1 |
22 |
exit 1 |
23 |
fi |
24 |
|
19 |
|
25 |
if [[ ${INSDESTTREE#${D}} != "${INSDESTTREE}" ]]; then |
20 |
if [[ ${INSDESTTREE#${D}} != "${INSDESTTREE}" ]]; then |
26 |
vecho "-------------------------------------------------------" 1>&2 |
21 |
vecho "-------------------------------------------------------" 1>&2 |
Lines 32-55
Link Here
|
32 |
|
27 |
|
33 |
[[ ! -d ${D}${INSDESTTREE} ]] && dodir "${INSDESTTREE}" |
28 |
[[ ! -d ${D}${INSDESTTREE} ]] && dodir "${INSDESTTREE}" |
34 |
|
29 |
|
|
|
30 |
_doins() { |
31 |
local mysrc="$1" mydir="$2" |
32 |
|
33 |
if [ -L "$1" ] ; then |
34 |
cp "$1" "${T}" |
35 |
mysrc="${T}/$(/usr/bin/basename "${1}")" |
36 |
fi |
37 |
|
38 |
install ${INSOPTIONS} "${mysrc}" "${D}${INSDESTTREE}/${mydir}" |
39 |
} |
40 |
|
41 |
_xdoins() { |
42 |
while read line; do |
43 |
_doins "${line}" "$(dirname "${line}")" |
44 |
done |
45 |
} |
46 |
|
35 |
for x in "$@" ; do |
47 |
for x in "$@" ; do |
36 |
if [ -L "$x" ] ; then |
48 |
if [ -d "$x" ] ; then |
37 |
cp "$x" "${T}" |
|
|
38 |
mysrc="${T}/$(/usr/bin/basename "${x}")" |
39 |
elif [ -d "$x" ] ; then |
40 |
if [ "${DOINSRECUR}" == "n" ] ; then |
49 |
if [ "${DOINSRECUR}" == "n" ] ; then |
41 |
continue |
50 |
continue |
42 |
fi |
51 |
fi |
43 |
|
52 |
|
44 |
mydir="${INSDESTTREE}/$(basename "${x}")" |
53 |
pushd "${x}" >/dev/null |
45 |
find "${x}" -mindepth 1 -maxdepth 1 -exec \ |
54 |
find -type d -exec dodir "${INSDESTTREE}/{}" \; |
46 |
env \ |
55 |
find \( -type f -or -type l \) | _xdoins |
47 |
INSDESTTREE="${mydir}" \ |
56 |
popd >/dev/null |
48 |
INSDEPTH=$((INSDEPTH+1)) \ |
|
|
49 |
doins -r {} \; |
50 |
continue |
51 |
else |
57 |
else |
52 |
mysrc="${x}" |
58 |
_doins "${x}" |
53 |
fi |
59 |
fi |
54 |
install ${INSOPTIONS} "${mysrc}" "${D}${INSDESTTREE}" |
|
|
55 |
done |
60 |
done |