13 tryrun zpm init $pkgid.zpm
15 tryrun zpm newpackage -f $pkgid.zpm $pkgid
18 tryrun zpm add -f $pkgid.zpm $pkgid "$@"
21 skip 1 not adding files init failed
25 skip 2 "unable to init $pkgid.zpm"
37 failsok test $1 $2 fails
44 # set up a new package
47 newpkg $pkgid /bin/true
48 okexit setup package $pkgid
52 #require zpm newpackage -f $PF $pkgid
53 #require zpm add -f $PF $pkgid /bin/true
56 # install via pkgfiles
58 require zpm pkg -f $PF $pkgid status=installing
59 zpm pkgfiles -d $PF -R. $pkgid 2>&1
63 okexit bin/true installed
65 require zpm pkg -f $PF $pkgid status=packaged
66 ns=$(zpm pkg -f $PF $pkgid status)
67 okstreq "$ns" "packaged" set package status
75 # TODO should probably have merge set the status to merged by default
77 require zpm init local.db
78 zpm install -R. -d local.db -f $PF $pkgid
79 #zpm list -f local.db -v | diagstdin
81 ns=$(zpm pkg -f local.db $pkgid status)
82 okstreq "$ns" "installed" "install set package status"
85 okexit bin/true installed via zpm-install
91 # update the package version
92 require zpm pkg -f $PF $pkgid version=2.0
93 newver=$(zpm pkg -f $PF itest version)
94 okstreq "$newver" "2.0" "have updated version"
97 tryrun zpm add -v -f $PF itest /bin/false
100 cat test.out | diagstdin
101 zpm list -f $PF | diagstdin
105 zpm install -R. -d local.db -f $PF itest-2.0-1
107 if [ $? -ne 0 ]; then
108 cat test.out | diagstdin
109 zpm list -f $PF | diagstdin
113 okexit bin/false installed via zpm-install
115 ns=$(zpm pkg -f local.db $pkgid status)
116 okstreq "$ns" "updated" "install set $pkgid status"
117 ns=$(zpm pkg -f local.db itest-2.0-1 status)
118 okstreq "$ns" "installed" "install set itest-2.0-1 status"
121 # upgrade package removing a file
124 newpkg $pkgid /bin/true
125 okexit setup package $pkgid
127 zpm install -R. -d local.db -f $PF $pkgid | diagstdin
128 okexit upgraded to $pkgid
130 ns=$(zpm pkg -f local.db $pkgid status)
131 okstreq "$ns" "installed" "install set $pkgid status"
134 failsok removed bin/false
137 # install second package
139 require ln bin/true bin/sh
142 okexit setup package $pkgid
145 zpm install -v -R. -d local.db -f $PF $pkgid | diagstdin
146 okexit installed $pkgid
151 if [ $rv -ne 0 ]; then
159 # package with passing pre-script
163 newpkg $pkgid /bin/echo
164 skiponfail 3 "can't create $pkgid" || {
165 zpm setscript -f $PF $pkgid pre-install /bin/true
166 okexit "add true pre-install script to $pkgid"
167 skiponfail 2 "can't set $pkgid pre-install script" || {
168 tryrun zpm install -v -R. -d local.db -f $PF $pkgid
169 okexit installed $pkgid
175 # package with failing pre-script
179 newpkg $pkgid /bin/printf
180 skiponfail 3 "can't create $pkgid" || {
181 zpm setscript -f $PF $pkgid pre-install /bin/false
182 okexit "add false pre-install script to $pkgid"
183 skiponfail 1 "can't set $pkgid pre-install script" || {
184 zpm install -R. -d local.db -f $PF $pkgid 2>/dev/null
185 failsok failed to install $pkgid