From 49a5985fd5ea8b77b7196c06b9d407805abe03d8 Mon Sep 17 00:00:00 2001 From: Nathan Wagner Date: Sat, 13 Oct 2018 02:29:09 +0000 Subject: [PATCH] add option to zpm-add to complete package --- t/add.t | 30 +++++++++++++++++++++++++++--- zpm-add | 11 ++++++++++- zpm-pkg | 1 - 3 files changed, 37 insertions(+), 5 deletions(-) diff --git a/t/add.t b/t/add.t index 2fd9bb5..bcfce85 100755 --- a/t/add.t +++ b/t/add.t @@ -7,7 +7,7 @@ PF=test.db -plan 22 +plan 32 require rm -rf tmp require mkdir tmp @@ -17,6 +17,7 @@ echo foo > foo okexit 'making foo' pkgid=zpmtest-1.0-1 +PF=zpmtest-1.0-1.zpm require zpm newpackage -C $pkgid require zpm add $pkgid foo @@ -33,8 +34,6 @@ okstreq "$3" "1" package release okstreq "$4" "foo" file foo in package diag "$pkglist" -rm -f zpmtest-1.0-1.zpm - rm -f $PF require zpm newpackage -f $PF -C $pkgid require zpm add -f $PF zpmtest foo @@ -60,6 +59,31 @@ fn=$(zpm showpkg $PF | awk '{print $4}') okstreq "$fn" "foo" file foo in package prefix striped rm -f $PF +require zpm newpackage -f $PF -C $pkgid +require zpm add -f $PF zpmtest foo +ph=$(zpm pkg -f $PF zpmtest hash) +okstreq "$ph" "" package hash empty +mtime=$(zpm pkg -f $PF zpmtest build_time) +okstreq "$ph" "" package mtime empty + +zpm add -C -f $PF zpmtest subdir/foo +okexit added file and completed package +ph=$(zpm pkg -f $PF zpmtest hash) +test -n "$ph" +okexit package hash not empty +diag "hash: $ph" +mtime=$(zpm pkg -f $PF zpmtest build_time) +test -n "$mtime" +okexit package mtime not empty + +touch subdir/bar +require zpm add -f $PF zpmtest subdir/bar +ph=$(zpm pkg -f $PF zpmtest hash) +okstreq "$ph" "" package hash cleared +mtime=$(zpm pkg -f $PF zpmtest build_time) +okstreq "$ph" "" package mtime cleared + + finish cd .. diff --git a/zpm-add b/zpm-add index 91c7b18..6c753cf 100755 --- a/zpm-add +++ b/zpm-add @@ -33,11 +33,12 @@ verbose=0 tags= isconfig=0 addcontent=1 +complete=0 # option for "multipackage" just to let the system know that's what you meant # option to take filenames from stdin # parse package, version, release from file if not given # TODO -l follow symlinks, -L follow symlinks, adding all, links and targets -while getopts :f:vr:l:P:S:cu:g:N opt; do +while getopts :f:vr:l:P:S:cu:g:NC opt; do case $opt in N) addcontent=0 ;; f) pkgfile="$OPTARG" ;; @@ -48,6 +49,7 @@ while getopts :f:vr:l:P:S:cu:g:N opt; do u) username="$OPTARG" ;; g) groupname="$OPTARG" ;; v) verbose=1 ;; + C) complete=1 ;; *) echo 'unknown option' $OPTARG; exit 1 ;; esac done @@ -187,3 +189,10 @@ if [ $verbose -gt 0 ]; then fi done + +if [ $complete -eq 1 ]; then + zpm pkg -f $pkgfile $pkgid build_time=$(date +'%s') + zpm packagehash -f $pkgfile -s -q $pkgid +else + zpm pkg -f $pkgfile $pkgid hash= +fi diff --git a/zpm-pkg b/zpm-pkg index 7a0fc77..a2ac9b9 100755 --- a/zpm-pkg +++ b/zpm-pkg @@ -5,7 +5,6 @@ #zpm pkg -s packager=foo zpm # zpm pkg -f zpm packager=xyz -# zpm pkg zpm packager zyz # zpm pkg zpm packager warn() { -- 2.40.0