应用程序包开发者指南

checkinstall 脚本

# checkinstall
script for SUNWstuf to politely suspend
 
grep quitinstall $1
if [ $? -eq 0 ]; then
	exit 3		# politely suspend installation
fi
 
exit 0

如果基目录仅仅是 /opt,则此方法不会非常有效。因为 /opt 难以遍历,所以此软件包必须更加准确地调用 BASEDIR。实际上,根据挂载方案的不同,可能无法实现这一点。此示例通过在 /opt 下创建一个新目录来遍历基目录,这种方法不会导致任何问题。

此示例使用 request 脚本和 checkinstall 脚本,即使 Solaris 2.5 发行版以前的版本无法运行 checkinstall 脚本。此示例中的 checkinstall 脚本用于正常停止安装,以响应一个采用 quitinstall 字符串形式的专用消息。如果此脚本在 Solaris 2.3 发行版中执行,checkinstall 脚本将被忽略,而 request 脚本将停止安装并显示错误消息。

请记住,在 Solaris 2.5 和兼容发行版之前,BASEDIR 参数是一个只读参数,不能通过 request 脚本更改。因此,如果检测到 SunOS 操作系统的早期版本(通过测试 CLIENT_BASEDIR 条件环境变量),request 脚本只有两种选择-继续或退出。