summaryrefslogtreecommitdiff
path: root/src/toru/toru-utils
diff options
context:
space:
mode:
Diffstat (limited to 'src/toru/toru-utils')
-rwxr-xr-xsrc/toru/toru-utils47
1 files changed, 18 insertions, 29 deletions
diff --git a/src/toru/toru-utils b/src/toru/toru-utils
index bedaf79..edf7fb6 100755
--- a/src/toru/toru-utils
+++ b/src/toru/toru-utils
@@ -21,7 +21,9 @@
. libremessages
. "$(librelib conf.sh)"
load_files libretools
-check_vars libretools TORUPATH || exit 1
+check_vars libretools TORUPATH REPOS || exit 1
+load_files abs
+check_vars abs ABSROOT || exit 1
LASTSYNCFILE=${TORUPATH}/lastsync
FORCE=false
@@ -30,53 +32,40 @@ DEBUG=false
# Stores the lastsync date
lastsync() {
- local lastsyncfile
+ local lastsyncfile="$1"
- lastsyncfile=$1
-
- [ -e ${lastsyncfile} -a ! -w ${lastsyncfile} ] && {
- error "The sync date can't be saved. ${lastsyncfile} isn't writable."
+ if [[ -e "${lastsyncfile}" -a ! -w "${lastsyncfile}" ]]; then
+ error "The sync date can't be saved: file not writable: %q" "${lastsyncfile}"
return 1
- }
+ fi
- date +%s > ${lastsyncfile}
- touch ${lastsyncfile}
+ date +%s > "${lastsyncfile}"
+ touch "${lastsyncfile}"
}
get_dbs() {
local _db
for _db in /var/lib/pacman/sync/*.db; do
- bsdtar tf ${_db} | cut -d'/' -f1 | sort -u
+ bsdtar tf "${_db}" | cut -d/ -f1 | sort -u
done
}
# repo paths
get_pkgbuilds() {
- pkgbuilds=()
+ local lastsyncfile="$1"; shift
+ # Only find newer than lastsyncfile and read
+ # everything else from cache
+ local extra=(-newer "${lastsyncfile}")
- if [[ $FORCE = true || ! -e ${LASTSYNCFILE} ]]; then
+ if [[ $FORCE = true || ! -e ${lastsyncfile} ]]; then
$QUIET || warning "Forcing upgrade"
# Get all PKGBUILDs
- extra=""
- else
- # Only find newer than lastsyncfile and read everything else from cache
- extra=" -newer ${LASTSYNCFILE}"
+ extra=()
fi
# Return all PKGBUILDs found
- find $@ -mindepth 2 -maxdepth 3 -type f -name 'PKGBUILD' ${extra}
-}
-
-# End inmediately but print a useful message
-trap_exit() {
- error "$@"
-
- exit 1
+ find "$@" -mindepth 2 -maxdepth 3 -type f -name 'PKGBUILD' "${extra[@]}"
}
-# Trap signals from makepkg
-set -E
-trap 'trap_exit "TERM signal caught. Exiting..."' TERM HUP QUIT
-trap 'trap_exit "Aborted by user! Exiting..."' INT
-trap 'trap_exit "An unknown error has occurred. Exiting..."' ERR
+setup_traps