svr4_打包指南
差别
这里会显示出您选择的修订版和当前版本之间的差别。
| svr4_打包指南 [2011/11/06 21:05] – 创建 alex | svr4_打包指南 [2011/11/06 21:11] (当前版本) – cite alex | ||
|---|---|---|---|
| 行 1: | 行 1: | ||
| + | ====== SVR4 打包指南 ====== | ||
| + | System V Release 4 包是 Solaris 10 使用的软件包。本文介绍 SVR4 包的打包方法。(([[log: | ||
| + | |||
| + | ===== 准备 ===== | ||
| + | 将所有文件编译好,可以考虑使用 chroot 编译安装。拷贝所需所有文件到一个目录下,修改相应的权限。 | ||
| + | |||
| + | ===== 打包 ===== | ||
| + | 使用 makesvr4.sh 进行打包。 | ||
| + | |||
| + | 假设需要创建 OSQDUdummy 包,目录结构应当如下 | ||
| + | <code bash> | ||
| + | ./ | ||
| + | ./ | ||
| + | ./ | ||
| + | ./ | ||
| + | ./ | ||
| + | ./ | ||
| + | </ | ||
| + | |||
| + | 执行如下命令 | ||
| + | |||
| + | <code bash> | ||
| + | $ ./ | ||
| + | </ | ||
| + | |||
| + | 得到 '' | ||
| + | |||
| + | <file bash makesvr4.sh> | ||
| + | # | ||
| + | |||
| + | cd `dirname $0` | ||
| + | basedir=`pwd` | ||
| + | |||
| + | mkdir -p packages | ||
| + | mkdir -p datastream | ||
| + | |||
| + | for pkg in $*; do | ||
| + | cd ${basedir}/ | ||
| + | |||
| + | rm -f prototype > /dev/null | ||
| + | svn info . > /dev/null | ||
| + | if [ $? -eq 0 ]; then | ||
| + | revision=`svn info . | grep 'Last Changed Rev:' | awk ' | ||
| + | else | ||
| + | revision=1 | ||
| + | fi | ||
| + | |||
| + | # Create pkginfo file | ||
| + | echo " | ||
| + | NAME=${pkg} | ||
| + | VENDOR=OSQDU | ||
| + | ARCH=all | ||
| + | EMAIL=software@osqdu.org | ||
| + | CATEGORY=application | ||
| + | ISTATES=\" | ||
| + | RSTATES=\" | ||
| + | BASEDIR=\"/ | ||
| + | VERSION=${revision} | ||
| + | PSTAMP=\" | ||
| + | " > pkginfo | ||
| + | |||
| + | for pkgfile in pkginfo postinstall postremove depend request preinstall preremove; do | ||
| + | if [ -f $pkgfile ]; then | ||
| + | echo "i $pkgfile=./ | ||
| + | fi | ||
| + | done >> prototype | ||
| + | pkgproto . | sed '/f none pkginfo/ | ||
| + | sed '/f none postremove/ | ||
| + | sed '/f none depend/ | ||
| + | sed '/ | ||
| + | sed '/f none preremove/ | ||
| + | sed '/f none install.sh/ | ||
| + | pkgmk -r . -b . -o -d ../ | ||
| + | |||
| + | # Convert to DataStream | ||
| + | pkgtrans -s ../packages ../ | ||
| + | |||
| + | rm prototype pkginfo | ||
| + | done | ||
| + | |||
| + | exit 0 | ||
| + | </ | ||
| + | |||
| + | ===== 参考文献 ===== | ||
| + | |||
| + | [[http:// | ||
