From: Mike Frysinger Date: Tue, 14 Feb 2006 00:18:07 +0000 (-0000) Subject: cleanup output and syntax, make sure we exit with non-zero status when something... X-Git-Tag: v2.1_pre5_2760~46 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=986573ad4547703262aa4df04356461747d0583a;p=portage.git cleanup output and syntax, make sure we exit with non-zero status when something goes wrong #121317 by Simon Stelling, and fix installing of relative symlinks svn path=/main/trunk/; revision=2709 --- diff --git a/bin/dolib b/bin/dolib index c685977f6..1a6152571 100755 --- 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}