svr4_打包指南
SVR4 打包指南
System V Release 4 包是 Solaris 10 使用的软件包。本文介绍 SVR4 包的打包方法。1)
准备
将所有文件编译好,可以考虑使用 chroot 编译安装。拷贝所需所有文件到一个目录下,修改相应的权限。
打包
使用 makesvr4.sh 进行打包。
假设需要创建 OSQDUdummy 包,目录结构应当如下
./OSQDUdefault/usr ./OSQDUdefault/usr/share ./OSQDUdefault/usr/share/man ./OSQDUdefault/usr/share/man/man1/dummy.1 ./OSQDUdefault/usr/bin ./OSQDUdefault/usr/bin/dummy
执行如下命令
$ ./makesvr4.sh OSQDUdefault
得到 datastream/OSQDUdefault
包。
- makesvr4.sh
#!/usr/bin/sh cd `dirname $0` basedir=`pwd` mkdir -p packages mkdir -p datastream for pkg in $*; do cd ${basedir}/${pkg} rm -f prototype > /dev/null svn info . > /dev/null if [ $? -eq 0 ]; then revision=`svn info . | grep 'Last Changed Rev:' | awk '{print $NF}'` else revision=1 fi # Create pkginfo file echo "PKG=${pkg} NAME=${pkg} VENDOR=OSQDU ARCH=all EMAIL=software@osqdu.org CATEGORY=application ISTATES=\"S 1 2 3\" RSTATES=\"S 1 2 3\" BASEDIR=\"/\" VERSION=${revision} PSTAMP=\"`hostname``date +%Y%m%d%H%M%S`\" " > pkginfo for pkgfile in pkginfo postinstall postremove depend request preinstall preremove; do if [ -f $pkgfile ]; then echo "i $pkgfile=./$pkgfile" fi done >> prototype pkgproto . | sed '/f none pkginfo/d' | sed '/f none postinstall/d' | \ sed '/f none postremove/d' | \ sed '/f none depend/d' | sed '/f none request/d' | \ sed '/\.svn/d' | sed '/f none prototype/d' | \ sed '/f none preremove/d' | sed '/f none preinstall/d' | \ sed '/f none install.sh/d' >> prototype || exit 1 pkgmk -r . -b . -o -d ../packages/. || exit 1 # Convert to DataStream pkgtrans -s ../packages ../datastream/${pkg} ${pkg} || exit 1 rm prototype pkginfo done exit 0
参考文献
svr4_打包指南.txt · 最后更改: 2011/11/06 21:11 由 alex