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
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
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)
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
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"