Adding User License Agreement in Solaris package

走远了吗. 提交于 2019-12-01 14:55:29
Adil

I have found a way to solve it.

The self-extracting binary is the way to do it.

Create a shell script which will first dipslay the end user license and take user input whether user agrees or not.

Once user agrees, extract the binary (solaris package file) embed in the shell script and install it.

To embed installer pacakge, first add a marker lets say PKG_DATA:

shell script contents
exit 0   
PKG_DATA   

Append the package file:
cat pkg_file_name >> your_shell_script

Extract the package and install it:

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>   
jlliagre

I would implement that using the checkinstall script.

"exit 3" in that script gracefully ends the package installation.

That's not trivial as you need to create a request script and reference it in the checkinstall one.

http://docs.oracle.com/cd/E18752_01/html/817-0406/ch1designpkg-24309.html#ch1designpkg-4

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!