From 6c6f6883321c1d9ad06745f2f272619dc7e40272 Mon Sep 17 00:00:00 2001 From: Dylan Araps Date: Fri, 10 May 2019 20:21:41 +0300 Subject: [PATCH] puke: Added update checking --- puke | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/puke b/puke index ec2e2045..9b55717e 100755 --- a/puke +++ b/puke @@ -175,6 +175,18 @@ pkg_remove() { return 0 } +pkg_updates() { + cd "$sys_dir/var/db/puke" + + for pkg in *; do + read -r db_version db_release < "$pkg/version" + read -r re_version re_release < "$old_pwd/repo/$pkg/version" + + [ "$db_version-$db_release" != "$re_version-$re_release" ] && + log "NEW $pkg $re_version-$re_release" + done +} + pkg_list() { [ "$1" ] && { [ -d "$sys_dir/var/db/puke/$1" ] || return 1 && return 0 @@ -188,7 +200,7 @@ pkg_list() { } args() { - [ -n "${1##l*}" ] && { + [ -n "${1##l*}" ] && [ -n "${1##u*}" ] && { mkdir -p sources build pkg/var/db/puke sys bin || die "Couldn't create directories at '$PWD'". @@ -219,8 +231,9 @@ args() { i*) pkg_install ;; l*) pkg_list "$2" ;; r*) pkg_remove || die "Package '$name' not installed" ;; + u*) pkg_updates ;; - *) log "$0 [build|checksum|depends|install|list|remove] [pkg]" ;; + *) log "$0 [build|checksum|depends|install|list|remove|update] [pkg]" esac }