diff options
Diffstat (limited to 'src/toru')
-rwxr-xr-x | src/toru/toru-path | 42 | ||||
-rwxr-xr-x | src/toru/toru-utils | 71 |
2 files changed, 41 insertions, 72 deletions
diff --git a/src/toru/toru-path b/src/toru/toru-path index 7fc6dfe..888a5e4 100755 --- a/src/toru/toru-path +++ b/src/toru/toru-path @@ -2,6 +2,7 @@ # Copyright (C) 2011-2012 Nicolás Reynolds <fauno@parabola.nu> # Copyright (C) 2012 Michał Masłowski <mtjm@mtjm.eu> +# Copyright (C) 2012 Joshua Ismael Haase Hernández (xihh) <hahj87@gmail.com> # # License: GNU GPLv3+ # @@ -18,10 +19,49 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. -source toru-utils +. libremessages +. "$(librelib conf.sh)" +load_files libretools +check_vars libretools TORUPATH REPOS || exit 1 +load_files abs +check_vars abs ABSROOT || exit 1 + +setup_traps TORUPATH=${T:-${TORUPATH}} VERBOSE=${V:-false} +FORCE=false + +# Stores the lastsync date +lastsync() { + local lastsyncfile="$1" + + 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}" +} + +# repo paths +get_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 + + ${VERBOSE} && warning "Forcing upgrade" + # Get all PKGBUILDs + extra=() + fi + + # Return all PKGBUILDs found + find "$@" -mindepth 2 -maxdepth 3 -type f -name 'PKGBUILD' "${extra[@]}" +} if [ ! -w "$TORUPATH" ]; then error "Toru's path isn't writable. Please check $TORUPATH" diff --git a/src/toru/toru-utils b/src/toru/toru-utils deleted file mode 100755 index edf7fb6..0000000 --- a/src/toru/toru-utils +++ /dev/null @@ -1,71 +0,0 @@ -#!/usr/bin/env bash - -# Copyright (C) 2011-2012 Nicolás Reynolds <fauno@parabola.nu> -# Copyright (C) 2012 Joshua Ismael Haase Hernández (xihh) <hahj87@gmail.com> -# -# License: GNU GPLv3+ -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Affero General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see <http://www.gnu.org/licenses/>. - -. libremessages -. "$(librelib conf.sh)" -load_files libretools -check_vars libretools TORUPATH REPOS || exit 1 -load_files abs -check_vars abs ABSROOT || exit 1 - -LASTSYNCFILE=${TORUPATH}/lastsync -FORCE=false -QUIET=false -DEBUG=false - -# Stores the lastsync date -lastsync() { - local lastsyncfile="$1" - - 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}" -} - -get_dbs() { - local _db - for _db in /var/lib/pacman/sync/*.db; do - bsdtar tf "${_db}" | cut -d/ -f1 | sort -u - done -} - -# repo paths -get_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 - - $QUIET || warning "Forcing upgrade" - # Get all PKGBUILDs - extra=() - fi - - # Return all PKGBUILDs found - find "$@" -mindepth 2 -maxdepth 3 -type f -name 'PKGBUILD' "${extra[@]}" -} - -setup_traps |