pkginfo アイテムには、[installcheck_script] をオプションで含めることができます。インストール検査用スクリプトを使用することで、[インストール/レシート] の指定が不適切であるか現実的でない場合に、ソフトウェア アイテムのインストールが必要かどうかを判断できます。

主要な例としては、ポート (MacPorts) を通じてインストールされることが多いコマンドライン ツールや、easy_install またはパイプを使用してインストールされる Python モジュールがあります。これらには、インストール済みのバージョンを特定する簡単な方法がありません。

installcheck_script は、アイテムが現在インストールされていないためにインストールする必要があることを、終了コード 0 で示すように作成されている必要があります。ゼロ以外のすべての終了コードは、アイテムがインストールされていることを示します。

argparse Python モジュールの現在のバージョンがインストールされているかどうかを検査する installcheck_script の例。

#!/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 が返されれば、アイテムが現在インストールされているために削除する必要があることを示します。ゼロ以外のすべての終了コードは、アイテムがインストールされていないことを示します。