pkgsrc for Mac OS X

[華語, cmn-Hant-TW]

講到 Mac 的套件管理軟體,一般來說會想到的就是 Fink 和 MacPorts,不過其實還有一個套件管理系統也可以用 – pkgsrc,只是說這個不是特別針對 Mac OS X 設計的就是了。 pkgsrc 是 NetBSD 的套件管理系統,而事實上 pkgsrc 的設計是跨平台的,所以不只是支援 NetBSD,他還支援了不少 Unix-Like OS,當然也包括 Mac OS X 了。

就跟其他的套件管理程式一樣,要先把 xcode 裝好這樣才有開發工具可以編譯程式。 接著去把最新的 pkgsrc 抓回來就可以開始安裝了,在這裡可以下載。下載完之後把他解開,應該就可以看到一個 pkgsrc 的目錄。 解開之後看要放在哪都可以,要當個沒主見的中間選民的話就放 /usr/pkgsrc 下即可,然後就要跑 bootstrap 了,

cd pkgsrc/bootstrap
sudo ./bootstrap --ignore-case-check

–ignore-case-check 參數是用來告訴 pkgsrc 不要管大小寫問題。事實上 pkgsrc 是需要區分大小寫的,有一些套件在大小寫不分的情況下會編譯失敗。 只是說 Mac OS X 預設的檔案系統是大小寫不分,所以一般情況下要在 Mac 系統用都需要加這個參數 – 儘管有些套件會因此出問題。

另外要注意的是 pkgsrc 最好是用 root 執行,所以我們要 sudo。如果今天不爽用 root 執行當然也可以,只要加一個 –unprivileged 的參數即可。

跑完之後如果是用 root 權限執行的話應該會安裝到 /usr/pkg,沒有的話就會被丟到你的家目錄下的 pkg。 然後為了可以直接在命令列下指令,可以在你的 .tcshrc (tcsh) 或是 .profile (bash) 中加上相關的路徑設定 (例如說 /usr/pkg/bin 加到 PATH 以及 /usr/pkg/man 加到 MANPATH),這樣就算安裝完成了。

至於使用上就和一般的 pkgsrc 類似(廢話),或者說和 FreeBSD 的 ports 類似,除了 make 指令改成用 bmake 外。


$ cd pkgsrc/misc/figlet
$ bmake install clean

對於熟悉 FreeBSD ports 系統的人要特別注意,pkgsrc 的 bmake clean 並不會清掉相依套件的工作目錄,所以編譯安裝完套件之後想整個清乾淨的話,要用 bmake clean clean-depends,光是 bmake clean 是不夠的。

詳細的設定以及使用方法,可以參考 NetBSD 的說明文件
http://wiki.netbsd.se/How_to_use_pkgsrc_on_Mac_OS_X

Leave a Reply

Your email address will not be published. Required fields are marked *