应用程序包开发者指南

使用 BASEDIR 参数

pkginfo 文件都必须以如下所示的条目形式包括一个缺省基目录:


BASEDIR=absolute_path

这只是缺省基目录,可由管理员在安装期间更改。

尽管某些软件包需要多个基目录,但使用此参数定位软件包的好处是,当安装开始的时候,能够保证基目录作为一个有效的目录就位并可写。服务器和客户机的基目录的正确路径以保留环境变量的形式供所有过程脚本使用,并且 pkginfo -r SUNWstuf 命令显示软件包的当前安装基本位置。

checkinstall 脚本中,BASEDIR 即是 pkginfo 文件中定义的该参数(该参数尚未根据条件赋值)。为了检查目标基目录,需要使用 $ {PKG_INSTALL_ROOT} $BASEDIR 构造。这意味着 requestcheckinstall 脚本可以在安装环境下更改 BASEDIR 的值,并且可以获得可预测的结果。当调用 preinstall 脚本时,BASEDIR 参数是指向目标系统上实际基目录的完全根据条件设置的指针,即使该系统是客户机也是如此。


注 –

对于不同的 SunOS 操作系统发行版,request 脚本以不同方式利用 BASEDIR 参数。为了在 request 脚本中测试 BASEDIR 参数,应该使用下面的代码来确定正在使用的实际基目录。

# request script
constructs base directory
if [ ${CLIENT_BASEDIR} ]; then
	  LOCAL_BASE=$BASEDIR
else
	  LOCAL_BASE=${PKG_INSTALL_ROOT}$BASEDIR
fi