应用程序包开发者指南

使用相对参数化路径

如果您的软件产品可能安装在 SunOS 操作系统的早期版本上,则 request 脚本需要完成所有必要的工作。还可以使用此方法处理多个目录。如果需要使用额外的目录,仍然需要将这些包括在单个基目录下,以便提供易于管理的产品。尽管 BASEDIR 参数没有提供最新 Solaris 发行版中的粒度级别,您的软件包仍然可以使用 request 脚本来处理参数化路径,从而遍历基目录。pkginfopkgmap 文件可能如下所示。

pkginfo 文件

# pkginfo file
PKG=SUNWstuf
NAME=software stuff 
ARCH=sparc
VERSION=1.0.0,REV=1.0.5
CATEGORY=application
DESC=a set of utilities that do stuff
BASEDIR=/opt
SUBBASE=SUNWstuf
VENDOR=Sun Microsystems, Inc.
HOTLINE=Please contact your local service provider
EMAIL=
MAXINST=1000
CLASSES=none daemon
PSTAMP=hubert990707141632

pkgmap 文件

: 1 1758
1 d none $SUBBASE/EZstuf 0775 root bin
1 f none $SUBBASE/EZstuf/dirdel 0555 bin bin 40 773 751310229
1 f none $SUBBASE/EZstuf/usrdel 0555 bin bin 40 773 751310229
1 f none $SUBBASE/EZstuf/filedel 0555 bin bin 40 773 751310229
1 d none $SUBBASE/HRDstuf 0775 root bin
1 f none $SUBBASE/HRDstuf/mksmart 0555 bin bin 40 773 751310229
1 f none $SUBBASE/HRDstuf/mktall 0555 bin bin 40 773 751310229
1 f none $SUBBASE/HRDstuf/mkcute 0555 bin bin 40 773 751310229
1 f none $SUBBASE/HRDstuf/mkeasy 0555 bin bin 40 773 751310229
1 d none /etc	? ? ?
1 d none /etc/rc2.d ? ? ?
1 f daemon /etc/rc2.d/S70dostuf 0744 root sys 450 223443
1 i pkginfo 348 28411 760740163
1 i postinstall 323 26475 751309908
1 i postremove 402 33179 751309945
1 i preinstall 321 26254 751310019
1 i preremove 320 26114 751309865
1 i i.daemon 509 39560 752978103
1 i r.daemon 320 24573 742152591

此示例并不完善。pkginfo -r 命令为安装基本位置返回 /opt,其含义相当模糊。许多软件包位于 /opt 中,但起码它是一个有意义的目录。就像上一个示例一样,接下来的这个示例完全支持多个体系结构和版本。request 脚本可根据特定软件包的需要进行调整,并可解析任何适用的相关性。