pkginfo 项目可以选择性地包含 installcheck_script。安装检查脚本提供了一种方法来确定是否需要安装软件项(当提供安装/回执并不足够或不实用时)。

通常通过端口 (MacPorts) 安装的命令行工具或者使用 easy_install 或 pip 安装的 Python 模块是主要示例,因为它们没有提供简单方法来确定安装的版本。

应编写一个 install check_script,如果退出代码为 0,则表明当前未安装该项目,因此应进行安装。所有非零退出代码则表明已安装该项目。

下面的 installcheck_script 示例说明了如何执行检查来确定是否已安装 argparse Python 模块的最新版本。

#!/bin/sh# Grab current version of installed python moduleversion="$(python -c 'import argparse;print argparse.__version__' 2>/dev/null)"# Compare with the version we want to installif [ ${version:-0} < 1.2.1 ]; thenexit 0elseexit 1fi

卸载检查脚本

(可选)可以提供显式 uninstallcheck_script 来确定是否应移除某个软件项。在这种情况下,退出代码为 0 的脚本表明当前已安装该项目,应将其移除。所有非零退出代码则表明未安装该项目。