]> pd.if.org Git - zpackage/commitdiff
add -f pkgfile option to addtopackage
authorNathan Wagner <nw@hydaspes.if.org>
Sun, 2 Apr 2017 22:40:49 +0000 (17:40 -0500)
committerNathan Wagner <nw@hydaspes.if.org>
Sun, 2 Apr 2017 22:40:49 +0000 (17:40 -0500)
t/addtopackage.t
zpm-addtopackage
zpm-newpackage

index d3fd86fe78b9fd5f5c568b8e4c0e09508c9670ea..3252bec18aa7f9ca7b207747391209b0a7ef4252 100755 (executable)
@@ -7,21 +7,21 @@
 
 PF=test.db
 
-plan 7
+plan 15
 
 td=test.addtopackage
 rm -rf $td
 mkdir $td
 echo foo > $td/foo
+okexit 'making foo'
 
-rm zpmtest-1.0-1.zpm
+rm -f zpmtest-1.0-1.zpm
 
 require zpm addtopackage zpmtest $td/foo
 h=$(zpm hash $td/foo)
 require zpm extract zpmtest-1.0-1.zpm $h $td/foo2
-ls -l $td
 h2=$(zpm hash $td/foo2)
-okstreq "$h" "$h2"
+okstreq "$h" "$h2" "foo and foo2 hash match"
 
 pkglist=$(zpm showpkg zpmtest-1.0-1.zpm)
 set $pkglist
@@ -31,7 +31,24 @@ okstreq "$3" "1" package release
 okstreq "$4" "$td/foo" file foo in package
 diag "$pkglist"
 
+rm zpmtest-1.0-1.zpm
+
+require zpm addtopackage -f $PF zpmtest $td/foo
+rm -f $td/foo2
+require zpm extract $PF $h $td/foo2
+h2=$(zpm hash $td/foo2)
+okstreq "$h" "$h2"
+
+pkglist=$(zpm showpkg $PF)
+set $pkglist
+okstreq "$1" "zpmtest" package name
+okstreq "$2" "1.0" package version
+okstreq "$3" "1" package release
+okstreq "$4" "$td/foo" file foo in package
+diag "$pkglist"
 
 finish
 
 rm -rf $td
+rm -f $PF
+rm -f zpmtest-1.0-1.zpm
index 1964b77589e29f6cf58778cb3b8e24fdc4a57cc0..a3b045b04c8f9330751a89a778c301dfe451bff5 100755 (executable)
@@ -24,19 +24,26 @@ while getopts :f:v:r:d:a:u:l:p:b:P: opt; do
 done
 shift $((OPTIND - 1))
 
+die() {
+       echo $* 1&>2
+       exit 1
+}
+
 package="$1"
 shift
+if [ -z "$package" ]; then
+       die "must specify package"
+fi
 
 set -e
 if [ -z "$pkgfile" ]; then
        pkgfile="$package-$pkgver-$pkgrel.zpm"
 fi
 
-if [ ! -f $pkgfile ]; then
-       zpm newpackage $package || exit 1
-else
-       zpm test -v $pkgfile
-fi
+# make sure package exists
+zpm newpackage -I -f $pkgfile -v $pkgver -r $pkgrel $package || exit 1
+
+zpm test -v $pkgfile
 
 for path in $*; do
        mtime=$(zpm stat -f '%y' $path)
@@ -67,10 +74,12 @@ for path in $*; do
        target='NULL'
        case "$filetype" in
                regular)
-                       filetype=d
+                       filetype=r
                        hash=$(zpm addfile $pkgfile "$path")
+                       if [ $? -ne 0 ]; then
+                               die "zpm addfile failed ($?): $pkgfile $path" 
+                       fi
                        hash="'$hash'"
-                       filetype=r
                        ;;
                directory)
                        filetype=d
index 7ab8aa8e5079f1028e8ef9df364a761f786b7e7c..8cce97db78f323dbb7ead66849cee583d7808e6b 100755 (executable)
@@ -19,9 +19,19 @@ while getopts :f:v:r:d:a:u:l:p:b:I opt; do
                I) idempotent=1
        esac
 done
-shift $(( $OPTIND - 1))
+shift $(( OPTIND - 1))
+
+die() {
+       echo $* 1&>2
+       exit 1
+}
 
 package=$1
+shift
+
+if [ -z "$package" ]; then
+       die "must specify package"
+fi
 
 if [ -z "$pkgfile" ]; then
        pkgfile="$package-$pkgver-$pkgrel.zpm"