Я нашел способ решить эту проблему.
Самораспаковывающийся двоичный файл - это способ сделать это.
Создайте сценарий оболочки, который сначала озвучит лицензию конечного пользователя и примет ввод пользователя независимо от того, согласен он или нет.
Как только пользователь согласится, извлеките двоичный файл (файл пакета Solaris), встроенный в скрипт оболочки, и установите его.
Чтобы вставить pacakge установщика, сначала добавьте маркер, скажем, PKG_DATA:
shell script contents
exit 0
PKG_DATA
Добавьте файл пакета:
cat pkg_file_name >> your_shell_script
Извлеките пакети установите его:
ARCHIVE=awk '/^__PKG_DATA__/ {print NR + 1; exit 0; }' $0
outname=install.$$
tail -n+$ARCHIVE $0 > $outname
echo "Extracting..."
pkgadd -d $outname
rm -f $outname #we dont need it anymore
exit 0
PKG_DATA
<pkg file data here>