[ports] 溫息 make new port
久沒做 C 寫的 ports,下個月剛好 osdc.tw 舉行,先來溫習一下。
首先,看到 CPAN Serach Site 上有新貨上門了,看到有個叫 Tree-Suffix 的 perl module,手就癢了,因為 p5- 系列的 ports 做太多了,有點懶,加上它支援的 library 似乎還沒放在 ports 裡(這年頭要找到廖長輩沒動過的 software 還真難)。就選了 libstree 來做功課。大部份的方法請看下列的 reference 就可以了。
重要的步驟:
- 強烈建議一定要有(安裝) porttools
不是很重要的步驟:
- 先看看應該放在哪一個目錄下: suffix tree 是文字處理的,所以放在 ports/textproc 下
- 新建目錄,一般來說都是同名的,所以
% mkdir -p textproc/libstree
。
不過 new port 送出去之後是由 committer 負責把關(或是依令行事 :p ),所以有沒有放在該有的目錄(如 ports/textproc)下不是很重要,不過名稱(如 libstree )一定要正確就是了。
接著基本上要做四個檔案:Makefile、pkg-descr、pkg-plist、distinfo。其他的有必要再做就好了。
Makefile 的撰寫一般來說還是建議從相近的 ports 裡挖來改,然後 pkg-descr 就隨便寫寫就好了….,pkg-plist 生成方法很多種,有的用 find 加上 -newer 選項、或是再加上 comm 來過濾。我自己是喜歡用 port test 來幫忙生,因為順便可以做檢查:
…
===> Extra files and directories check
include/libstree.h
include/stree/lst_macros.h
include/stree/lst_stree.h
include/stree/lst_string.h
include/stree/lst_structs.h
include/stree/lst_algorithms.h
include/stree/lst_timestamp.h
lib/libstree.so.0
lib/libstree.so
lib/libstree.la
lib/libstree.a
懶人法就是把上面 “Extra” 的貼到 pkg-plist 去就好了。
distinfo 的生成更簡單了:
就搞定了。















三月 6th, 2006 at 1:35 pm
由于平时都是使用win32系统,所以不了解linux,
最近因perl关系,需使用linux,
但不知为何升级到perl5.8.8会出错,
能帮帮忙吗。
三月 6th, 2006 at 4:41 pm
1. FreeBSD != Linux
2. 沒有 error msg 我怎麼知道是錯在哪?