应用程序包开发者指南

postinstall 安装脚本

在此示例中,该脚本所需要做的只是运行 add_drv 命令。

# Postinstallation script for SUNWsst
# This does not apply to a client.
if [$PKG_INSTALL_ROOT = "/" -o -z $PKG_INSTALL_ROOT]; then
   SAVEBASE=$BASEDIR
   BASEDIR=””; export BASEDIR
   /usr/sbin/add_drv sst
   STATUS=$?
   BASEDIR=$SAVEBASE; export BASEDIR
   if [ $STATUS -eq 0 ]
   then
	     exit 20
   else
	     exit 2
   fi
else
   echo "This cannot be installed onto a client."
   exit 2
fi

add_drv 命令使用 BASEDIR 参数,因此该脚本必须在运行此命令之前取消设置 BASEDIR,并在以后恢复它。

add_drv 命令的操作之一是运行 devlinks,它使用由 sed 类脚本放置在 /etc/devlink.tab 中的条目为驱动程序创建 /dev 条目。

postinstall 脚本的退出代码作用很重要。退出代码 20 告诉 pkgadd 命令告知用户重新引导系统(安装驱动程序后必须这样做),而退出代码 2 则告诉 pkgadd 命令告知用户安装部分失败。