最近 portconf 升級到 1.4 之後,在 ports.conf 裡面可以指定把變數 .undef 掉。比方說,我希望編 sysutils/fusefs-kmod 的時候不要指定 KERNCONF,那只需要寫
sysutils/fusefs-kmod: !KERNCONF
就可以了。
最近 portconf 升級到 1.4 之後,在 ports.conf 裡面可以指定把變數 .undef 掉。比方說,我希望編 sysutils/fusefs-kmod 的時候不要指定 KERNCONF,那只需要寫
sysutils/fusefs-kmod: !KERNCONF
就可以了。
早上去 COSCUP 2007 講 ports,結果遭到 DK 大指控說我都沒把東西放出來,剛趁吃飽的時候,把東西稍微整理一下,丟到 OpenSVN 上去了。有興趣的人可以去 這裡觀賞使用。
現在 ports tree 已經暫時鎖起來了,一、兩天內升級的辦法應該會公佈,然後等一定數量的 ports committers 測過沒問題後,就會把 X.Org 7.2 倒進 CVS tree 裡面了。之後 ports tree 還會繼續鎖一陣子(看來要數星期),以便解決有的沒的問題。
唔,等了這麼久,終於要 merge 了
剛剛我把 chinese/xcin 從 FreeBSD ports 移除了。理由是 xcin 計畫已經在前年十一月由計畫主持人 thhsien 宣佈卸下主持人,其實 xcin 已經很久沒有什麼新發展了,另外是也有一堆其他可用的輸入法,像是 oxim/gcin/scim 等可以使用。
掰掰 xcin ~
有在玩 ports 的人大概都知道 ports 有一些 knob 可以調整哪些東西要或者不要,而要紀錄這些相當討厭。過去的解法是用 portupgrade 的 MAKE_ARGS 來紀錄,後來 ports 自己有了 OPTIONS 可以幫忙(雖然不是很完美,但是至少有了)。
現實上的問題是,目前的 OPTIONS 還不完全能讓全部的 ports 都來用,於是常常就會需要在 pkgtools.conf 紀錄一堆有的沒的。用 MAKE_ARGS 的方式的缺點是,當更新 A 的時候,他可能裝 B,而 B 我又有調過選項,這時候就大爆炸了。正確的做法式在 make.conf 裡面寫,但是要注意用 .CURDIR 去判斷該加甚麼。這麼做相當麻煩,所以我也就一直懶的去改。
前幾天,ale@ 弄了個 portconf(最早是 flz@ 寫的)。裝了這個之後,他會幫忙改 make.conf,你只需要弄一個 /usr/local/etc/ports.conf 像是:
*: WITH_CJK=yes
devel/subversion*: WITH_APACHE2_APR=yes | WITHOUT_BDB=yes
net/mtr: WITHOUT_X11=yes
就可以快樂的丟掉 MAKE_ARGS。注意到我的例子裡面有用 *,在 portconf 裡面,是用 sh 的 pattern match,所以可以這麼搞 另外還有個問題要特別注意的是,如果你的 /usr/ports 是 link 的話,要去 make.conf 改成真正的路徑,否則會沒有用。
Update: 感謝 b6s 指正錯誤。
前陣子在整理工作站裝的 Ports 跟 patches 的時候,決定自己造造一個 local 的類別,來放這個 patch 過的 ports,好處是很多東西就不用再手動 patch,而且也可以換像是 portsnap(8) 這種好東西。
在做這些東西之前,最好要對 Ports system 有些認識,一些細節的部份我就不多說,可以參考 FreeBSD Porter’s Handbook。首先,要造一個目錄來放 local ports:
mkdir /usr/ports/local
然後,造一個 local/Makefile:
COMMENT = Local ports
SUBDIR += your_port
.include <bsd.port.subdir.mk>
跟 local/Makefile.inc:
PKGNAMEPREFIX?= local-
PKGCATEGORY= local
然後在 ports/Makefile.local 寫:
SUBDIR += local
在 /etc/make.conf 加上:
VALID_CATEGORIES+= local
再來就是你要自己製造你想要的 ports 了,這邊就不多說了。還有一個問題要處理的是 INDEX。如果有用 portupgrade(1) 的話,每次更新過 ports tree 之後,用 portsdb -Uu 來更新一次 INDEX 跟 INDEX.db,這樣子才不會出意外。我知道這個很慢(在 P4-2.8G 的機器大概是 13 分鐘),不高興的話,可以試試看 sysutils/p5-FreeBSD-PortIndex 或者想辦法用 portsanp(8) 的 make_index 弄,這部份可以參考前陣子 -ports@ mailing 上面有過一些討論。
mailgraph 前陣子終於出了新版了,很重要的一點是跟 RRDtool 1.2.x 相容了(現在 ports 的已經是 1.2.x),我剛剛 send-pr 去更新 mailgraph 了。我終於可以 upgrade rrdtool 了 :p
剛看到 ports 多了 thales 這個東西,他是 IRC to MySQL 的 gateway,再加上以前玩的 bitlbee (IRC to MSN/ICQ/…),這年頭 IRC 可以幹的壞事越來越多了 XD
dns/scavenge 是一個檢查正反解有沒有弄好的工具,有點像是 dnsdnswalk,不過他不用 zone transfer 而是自己用 Net::DNS 來跑,然後他裡面還會用 nmap 去看機器在不在… 這太邪惡了