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