cleanup output and syntax, make sure we exit with non-zero status when something...
authorMike Frysinger <vapier@gentoo.org>
Tue, 14 Feb 2006 00:18:07 +0000 (00:18 -0000)
committerMike Frysinger <vapier@gentoo.org>
Tue, 14 Feb 2006 00:18:07 +0000 (00:18 -0000)
svn path=/main/trunk/; revision=2709

bin/dolib

index c685977f66665355f8f2ef2e7ec8359ad4e02b47..1a6152571e2305b6fd912e36b96e0b9d59907fdb 100755 (executable)
--- a/bin/dolib
+++ b/bin/dolib
@@ -3,39 +3,39 @@
 # Distributed under the terms of the GNU General Public License v2
 # $Id: /var/cvsroot/gentoo-src/portage/bin/dolib,v 1.8.2.2 2005/01/12 02:07:15 carpaski Exp $
 
+# Setup ABI cruft
 LIBDIR_VAR="LIBDIR_${ABI}"
-if [ -n "${ABI}" -a -n "${!LIBDIR_VAR}" ]; then
-       CONF_LIBDIR="${!LIBDIR_VAR}"
+if [[ -n ${ABI} && -n ${!LIBDIR_VAR} ]] ; then
+       CONF_LIBDIR=${!LIBDIR_VAR}
 fi
 unset LIBDIR_VAR
-
-if [ -z "${CONF_LIBDIR}" ]; then
-       # we need this to default to lib so that things dont break
-       CONF_LIBDIR="lib"
-fi
+# we need this to default to lib so that things dont break
+CONF_LIBDIR=${CONF_LIBDIR:-lib}
 libdir="${D}${DESTTREE}/${CONF_LIBDIR}"
-for X in 1 2 3; do
-       # The escaping is weird. It will break if you escape the last one.
-       libdir="${libdir//\/\///}"
-done
 
 
-if [ ${#} -lt 1 ] ; then
-       echo "${0}: at least one argument needed"
+if [[ $# -lt 1 ]] ; then
+       echo "$0: at least one argument needed" 1>&2
        exit 1
 fi
-if [ ! -d "${libdir}" ] ; then
-       install -d "${libdir}"
+if [[ ! -d ${libdir} ]] ; then
+       install -d "${libdir}" || exit 1
 fi
 
+ret=0
+
 for x in "$@" ; do
-       if [ -e "${x}" ] ; then
-               if [ ! -L "${x}" ] ; then
+       if [[ -e ${x} ]] ; then
+               if [[ ! -L ${x} ]] ; then
                        install ${LIBOPTIONS} "${x}" "${libdir}"
                else
-                       ln -s "$(readlink "${x}")" "${libdir}/${x}"
+                       ln -s "$(readlink "${x}")" "${libdir}/${x##*/}"
                fi
        else
-               echo "${0}: ${x} does not exist"
+               echo "!!! ${0##*/}: ${x} does not exist" 1>&2
+               false
        fi
+       ((ret+=$?))
 done
+
+exit ${ret}