Mac OS X PKGでコマンドラインスクリプトをパッケージ化する
質問
私は、多くのMacワークステーションに展開する必要があることを示すプログラム(同僚によって作成されたが、Mac上で正常にコンパイルしました)を持っています。現在、PKGファイルを押し出すことで(作成したものではありません)。
私の一般的な質問(他の人が便利な答えを見つけるかもしれない)は、プログラムをインストールするPKGファイルにコマンドラインプログラム/スクリプトをパッケージ化することについてどうすればよいですか。 .appファイルをパッケージする通常のメソッドは十分に文書化されていますが、任意のプログラムを取得してPKGインストーラで包装する方法があります。
PKGBUILD(ETC)のマニュアルページは、Xcodeを使ってアプリを埋めていて、.Appを使用していることをお勧めし、Plistなどを生成できます。 MACサーバーにアプリケーション以外のプログラムをインストールし、PKGSを使用したいです。
解決策がスクリプト可能であれば、プログラムを更新するたびに新しいPKGファイルを簡単に作成できるようにするために最適です。このプロセスをすでに説明しているまともなリソースが、もちろん、もちろん機能することもあります。ここでの質問: Pro - Xcode Developer IDのようなOS Xインストーラパッケージの作成READY PKG は単にインストールする必要性と一致しません。基本CLIプログラム
解決
私はパッケージ。
スクリプト可能なので、ビルドプロセスの一部になることができ、あなたのための素敵なMPKGを生成することができます。
サードパーティライブラリのダウンロードを自動化し、次にコンパイルされたファイルのインストールとコンパイルされたファイルのインストールを自動化しています。
ノートとして、MPKGを生成しますが、ほとんどのディストリビューションはディスクイメージで行われますので、hdiutilを使用してスパースイメージを作成し、それを圧縮読み取り専用のDMGに変換してからそれを分散します。
この手順の例は次のとおりです。
1)スパースRW DMGファイルを作成します。
hdiutil create -size 100M -type SPARSE -volname "MyInstaller" -fs HFS+ MyInstaller.dmg.sparseimage
.
2)画像に接続します。 (注)出力からのディスクとマウントボリューム名(ex. / dev / disk2s1および/ volumes / myinstaller)
hdiutil attach MyInstaller.dmg.sparseimage
.
3)MPKGインストーラ
のコピーcp -R Packages/build/My_Packages.mpkg /Volumes/MyInstaller/
.
4)画像からのDetech。
hdiutil detach -force {mounted disk} (ex. hdiutil detach -force /dev/disk2s1)
.
5)書き込み可能なスパースイメージから圧縮読み取り専用画像を作成します。
hdiutil convert "MyInstaller.dmg.sparseimage" -format UDZO -o "MyInstaller.dmg" -ov -imagekey zlib-level=9
.