From 5b9c3611b8dd07c731abf4cb1665163bf627df03 Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Sun, 30 Mar 2008 19:51:32 +0000 Subject: [PATCH] * Fix broken return value for doins. * Make newins cleanup temp files after itself. svn path=/main/trunk/; revision=9634 --- bin/doins | 11 +++++++++-- bin/newins | 9 ++++++--- 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/bin/doins b/bin/doins index 945938c8b..57a21c4bb 100755 --- a/bin/doins +++ b/bin/doins @@ -28,7 +28,7 @@ fi [[ ! -d ${D}${INSDESTTREE} ]] && dodir "${INSDESTTREE}" _doins() { - local mysrc="$1" mydir="$2" cleanup="" + local mysrc="$1" mydir="$2" cleanup="" rval if [ -L "$mysrc" ] ; then cp "$mysrc" "${T}" @@ -37,7 +37,9 @@ _doins() { fi install ${INSOPTIONS} "${mysrc}" "${D}${INSDESTTREE}/${mydir}" + rval=$? [[ -n ${cleanup} ]] && rm -f "${cleanup}" + return $rval } _xdoins() { @@ -46,6 +48,8 @@ _xdoins() { done } +success=0 + for x in "$@" ; do if [ -d "$x" ] ; then if [ "${DOINSRECUR}" == "n" ] ; then @@ -63,7 +67,10 @@ for x in "$@" ; do find "${x##*/}" -type d -exec dodir "${INSDESTTREE}/{}" \; find "${x##*/}" \( -type f -or -type l \) -print0 | _xdoins popd >/dev/null + ((++success)) else - _doins "${x}" + _doins "${x}" && ((++success)) fi done + +[ $success -gt 0 ] && exit 0 || exit 1 diff --git a/bin/newins b/bin/newins index c64e06600..7735fc33c 100755 --- a/bin/newins +++ b/bin/newins @@ -8,6 +8,9 @@ if [[ -z ${T} ]] || [[ -z ${2} ]] ; then exit 1 fi -rm -rf "${T}/${2}" && \ -cp -f "${1}" "${T}/${2}" && \ -exec doins "${T}/${2}" +rm -rf "${T}/${2}" || exit $? +cp -f "${1}" "${T}/${2}" || exit $? +doins "${T}/${2}" +ret=$? +rm -rf "${T}/${2}" +exit $ret -- 2.26.2