. tap.sh
-plan 46
+plan 62
+
+owner=$(id -un)
+group=$(id -gn)
newpkg() {
pkgid=$1
tryrun zpm newpackage -f $pkgid.zpm $pkgid
if [ $? -eq 0 ]; then
shift
- tryrun zpm add -f $pkgid.zpm $pkgid "$@"
+ tryrun zpm add -u $owner -g $group -f $pkgid.zpm $pkgid "$@"
return $?
else
skip 1 not adding files init failed
#require zpm add -f $PF $pkgid /bin/true
#
-# install via pkgfiles
+# install via syncfs
#
require zpm pkg -f $PF $pkgid status=installing
-zpm pkgfiles -d $PF -R. $pkgid 2>&1
-okexit ran pkgfiles
+zpm syncfs -d $PF -R. $pkgid 2>&1
+okexit ran syncfs
test -f bin/true
okexit bin/true installed
okstreq "$newver" "2.0" "have updated version"
rm -f test.out
-tryrun zpm add -v -f $PF itest /bin/false
+tryrun zpm add -f $PF itest /bin/false
if [ $? -ne 0 ]; then
diag h2
cat test.out | diagstdin
okexit setup package $pkgid
require rm bin/sh
PF=$pkgid.zpm
-zpm install -v -R. -d local.db -f $PF $pkgid | diagstdin
+zpm install -R. -d local.db -f $PF $pkgid | diagstdin
okexit installed $pkgid
oktest -f bin/sh
+#
+# update a file
+#
+ohash=$(zpm hash bin/true)
+require mv bin/true bin/save
+require sh -c 'echo false > bin/true'
+nhash=$(zpm hash bin/true)
+pkgid=itest-4.0-1
+newpkg $pkgid bin/true
+okexit setup package $pkgid
+require mv bin/save bin/true
+PF=$pkgid.zpm
+zpm install -R. -d local.db -f $PF $pkgid | diagstdin
+okexit installed $pkgid
+rhash=$(zpm hash bin/true)
+okstreq "$rhash" "$nhash" "updated bin/true"
+
skiponfail() {
rv=$?
if [ $rv -ne 0 ]; then
PF=$pkgid.zpm
newpkg $pkgid /bin/echo
skiponfail 3 "can't create $pkgid" || {
- zpm setscript -f $PF $pkgid pre-install /bin/true
+ zpm script -s -f $PF -p pre-install $pkgid /bin/true
okexit "add true pre-install script to $pkgid"
skiponfail 2 "can't set $pkgid pre-install script" || {
tryrun zpm install -v -R. -d local.db -f $PF $pkgid
}
}
+#
+# package with failing pre-script
+#
+pkgid=fourth-1.0-1
+PF=$pkgid.zpm
+newpkg $pkgid /bin/head
+skiponfail 3 "can't create $pkgid" || {
+ zpm script -s -f $PF -p pre-install $pkgid /bin/false
+ okexit "add false pre-install script to $pkgid"
+ skiponfail 1 "can't set $pkgid pre-install script" || {
+ zpm install -R. -d local.db -f $PF $pkgid 2>/dev/null
+ failsok failed to install $pkgid
+ }
+}
+
+tryrun zpm uninstall -R. -d local.db third-1.0-1
+test -f bin/echo
+failsok bin/echo removed
+
cd .. || bailout
require rm -rf tmp