diff options
-rwxr-xr-x | fullpkg-find | 16 | ||||
-rwxr-xr-x | lb | 5 | ||||
-rwxr-xr-x | librechroot | 1 | ||||
-rwxr-xr-x | toru | 13 | ||||
-rwxr-xr-x | toru-path | 2 |
5 files changed, 15 insertions, 22 deletions
diff --git a/fullpkg-find b/fullpkg-find index 8c0c063..9ddfa08 100755 --- a/fullpkg-find +++ b/fullpkg-find @@ -80,17 +80,16 @@ find_deps() { local found=false # TODO change for where_is or toru-path - local pkgdir=$(toru -p ${_dep}) + # May fail, e.g. since abslibre-mips64el doesn't include + # arch=any packages. + local pkgdir=$(toru -p ${_dep}) || true if [ -n "$pkgdir" -a -d "${pkgdir}" ]; then found=true pushd "${pkgdir}" > /dev/null # runs itself on dep's PKGBUILD dir - $0 -l ${next_level} ${build_dir} - -# probable circular deps - [ $? -eq 20 ] && return 20 + $0 -l ${next_level} ${build_dir} || return $? popd > /dev/null fi @@ -188,13 +187,8 @@ fi find_deps || { # Probable circular deps - if [ "$?" -eq 20 ]; then - -# Show error only on level 0 - if [ "$LEVEL" -eq 0 ]; then + if [ "$?" -eq 20 -a "$LEVEL" -eq 0 ]; then error "Check for circular deps on $build_dir/BUILDORDER"; - fi - fi # Pass message 20 exit 20 @@ -6,10 +6,11 @@ source /etc/libretools.conf command=$1; shift -[[ ! -f ~/l/libre${command} ]] && { +[[ ! -x ~/l/libre"${command}" ]] && { error "Command not found" + exit 1 } -~/l/libre${command} $@ +~/l/libre${command} "$@" exit $? diff --git a/librechroot b/librechroot index 0398a0f..9e292f5 100755 --- a/librechroot +++ b/librechroot @@ -45,7 +45,6 @@ function usage { function clean_chroot { # Clean packages with pacman msg "Cleaning chroot: ${CHROOTDIR}/${CHROOTNAME}" - update-cleansystem cp "/etc/libretools.d/cleansystem" "${CHROOTDIR}/${CHROOTNAME}/cleansystem" (cat <<EOF #!/bin/bash @@ -12,7 +12,7 @@ # * Possibility to hook up ABS dirs besides ABSROOT (low priority) # * Tell updates and non available binary packages (working on this) -source $(dirname $0)/toru-utils +source $(dirname $(command -v $0))/toru-utils # Saves contents on a named cache # $1 cache name (repo) @@ -137,7 +137,7 @@ update() { fi - package_paths=($(read_cache ${_repo}.paths)) + package_paths=($(read_cache ${_repo}.paths || true)) # Inform how many PKGBUILDS were found and quit immediately if none $quiet || msg "Found $((${#pkgbuilds[*]}-1)) PKGBUILDs to update" @@ -148,7 +148,7 @@ update() { update_sync_file=true # Load PKGBUILD's metadata - source ${_pkgbuild} + source ${_pkgbuild} || continue # Guess pkgbase from PKGBUILD's basedir _pkgpath=$(dirname "${_pkgbuild}") @@ -165,7 +165,7 @@ update() { for _pkg in ${pkgname[@]}; do # Keep removing unneeded stuff - unset package_${_pkg} >/dev/null 2>&1 + unset package_${_pkg} >/dev/null 2>&1 || true # Fill the list of packages to find packages_in_abs+=($_pkg-$(get_full_version ${epoch:-0} $pkgver $pkgrel)) package_paths+=($_pkg:$_pkgpath) @@ -199,7 +199,7 @@ update() { split_pkgname_from_pkgver ${TMPDIR}/packages_in_abs | sort -k1b,1 > ${TMPDIR}/in_abs split_pkgname_from_pkgver ${TMPDIR}/packages_in_sync | sort -k1b,1 > ${TMPDIR}/in_sync - $quiet || msg "This packages are available to update" + $quiet || msg "These packages are available to update" # Join both files by pkgname, the end result is: # pkgname syncver absver join ${TMPDIR}/in_sync ${TMPDIR}/in_abs | \ @@ -297,8 +297,7 @@ while getopts 'haqfpum' arg; do f) force=true ;; u) commands+=(update);; p) shift $(( OPTIND - 1 )) - where_is "$1" - exit $?;; + where_is "$1" || exit 1;; m) commands+=(missing);; esac @@ -1,6 +1,6 @@ #!/bin/bash -source $(dirname $0)/toru-utils +source $(dirname $(command -v $0))/toru-utils LASTSYNCFILE=${TORUPATH}/lastsync.paths |