1*aec0cbfbSToomas Soome#!/usr/bin/ksh
2*aec0cbfbSToomas Soome#
3*aec0cbfbSToomas Soome#
4*aec0cbfbSToomas Soome# This file and its contents are supplied under the terms of the
5*aec0cbfbSToomas Soome# Common Development and Distribution License ("CDDL"), version 1.0.
6*aec0cbfbSToomas Soome# You may only use this file in accordance with the terms of version
7*aec0cbfbSToomas Soome# 1.0 of the CDDL.
8*aec0cbfbSToomas Soome#
9*aec0cbfbSToomas Soome# A full copy of the text of the CDDL should have accompanied this
10*aec0cbfbSToomas Soome# source.  A copy of the CDDL is also available via the Internet at
11*aec0cbfbSToomas Soome# http://www.illumos.org/license/CDDL.
12*aec0cbfbSToomas Soome#
13*aec0cbfbSToomas Soome
14*aec0cbfbSToomas Soome#
15*aec0cbfbSToomas Soome# Copyright 2021 Toomas Soome <tsoome@me.com>
16*aec0cbfbSToomas Soome#
17*aec0cbfbSToomas Soome
18*aec0cbfbSToomas Soome: "${FILEDIR:=/opt/util-tests/tests/files}"
19*aec0cbfbSToomas Soome
20*aec0cbfbSToomas Soome[[ -d "$FILEDIR" ]] || fail "no files directory $FILEDIR"
21*aec0cbfbSToomas Soome
22*aec0cbfbSToomas Soometypeset -i fail=0
23*aec0cbfbSToomas Soome
24*aec0cbfbSToomas Soomefunction fail {
25*aec0cbfbSToomas Soome	echo "FAIL $@"
26*aec0cbfbSToomas Soome	((fail++))
27*aec0cbfbSToomas Soome}
28*aec0cbfbSToomas Soome
29*aec0cbfbSToomas Soomefunction pass {
30*aec0cbfbSToomas Soome	echo "PASS $@"
31*aec0cbfbSToomas Soome}
32*aec0cbfbSToomas Soome
33*aec0cbfbSToomas Soomefunction pkg_test {
34*aec0cbfbSToomas Soome	TD=$(mktemp -d -t)
35*aec0cbfbSToomas Soome
36*aec0cbfbSToomas Soome	if [[ ! -d "$TD" ]]; then
37*aec0cbfbSToomas Soome		fail "couldn't create test directory $TD"
38*aec0cbfbSToomas Soome		return
39*aec0cbfbSToomas Soome	fi
40*aec0cbfbSToomas Soome
41*aec0cbfbSToomas Soome	echo "PKG=svr4pkg" > $TD/pkginfo
42*aec0cbfbSToomas Soome	echo "NAME=\"svr4pkg test package\"" >> $TD/pkginfo
43*aec0cbfbSToomas Soome	echo "ARCH=sparc,i386" >> $TD/pkginfo
44*aec0cbfbSToomas Soome	echo "VERSION=1.0" >> $TD/pkginfo
45*aec0cbfbSToomas Soome	echo "CATEGORY=application" >> $TD/pkginfo
46*aec0cbfbSToomas Soome	echo "BASEDIR=/opt" >> $TD/pkginfo
47*aec0cbfbSToomas Soome
48*aec0cbfbSToomas Soome	(cd $FILEDIR; /usr/bin/pkgproto svr4pkg) > $TD/prototype || \
49*aec0cbfbSToomas Soome	fail "pkgproto svr4pkg"
50*aec0cbfbSToomas Soome	echo "i pkginfo=$TD/pkginfo" >> $TD/prototype
51*aec0cbfbSToomas Soome	/usr/bin/pkgmk -f $TD/prototype -r $FILEDIR -d $TD || \
52*aec0cbfbSToomas Soome	fail "pkgmk svr4pkg"
53*aec0cbfbSToomas Soome	/usr/bin/pkgtrans -s $TD $TD/svr4pkg.pkg svr4pkg || \
54*aec0cbfbSToomas Soome	fail "pkgtrans to stream format"
55*aec0cbfbSToomas Soome
56*aec0cbfbSToomas Soome	mkdir -p $TD/root/opt
57*aec0cbfbSToomas Soome	/usr/sbin/pkgadd -d $TD -R $TD/root svr4pkg || fail "pkgadd svr4pkg"
58*aec0cbfbSToomas Soome	/usr/bin/pkginfo -R $TD/root svr4pkg || fail "pkginfo svr4pkg"
59*aec0cbfbSToomas Soome	/usr/sbin/pkgrm -n -R $TD/root svr4pkg || fail "pkgrm svr4pkg"
60*aec0cbfbSToomas Soome
61*aec0cbfbSToomas Soome	rm -rf "$TD"
62*aec0cbfbSToomas Soome}
63*aec0cbfbSToomas Soome
64*aec0cbfbSToomas Soomepkg_test
65*aec0cbfbSToomas Soome
66*aec0cbfbSToomas Soome(( fail > 0 )) && exit -1
67*aec0cbfbSToomas Soomeexit 0
68