[FreeBSD] send-pr porter committer 需要注意事項

logo-red (by appleboy46) 來紀錄一下最近使用 send-pr 的心得,send-pr 就是提交問題 problem report (PR) 到 FreeBSD Support 中心,您也可以透過 send-pr 發送新的 ports 給 FreeBSD 中心,最近 CodeIgniter V1.7.2 的 Release,所以把 CI 的 patch 送給中心並且 CC 給 maintainer,/usr/bin/send-pr 這支 shell script 在 FreeBSD 用處可多了,不單只是 ports 的問題,也有 www, i386, ia64 的問題,都可以透過它回報給總部喔。 要瞭解 ports 怎麼產生,或者是怎麼製作 patch 都可以參考 FreeBSD Porter’s Handbook,文件是英文的,請大家多多包含,不過還是有中文的文件,通常 patch 是還蠻簡單的,底下紀錄我做的步驟,以及如何測試 ports 正確性。其實步驟不難啦。

首先您要先把 ports 複製到別的地方 # 複製到自己的目錄

cp -R /usr/ports/www/codeigniter .
# 切換目錄 cd codeigniter # 改版本資訊,或者是修正 Makefile
PORTVERSION=    1.7.1 -> 1.7.2 
# 修正 checksum file,自動改變 distinfo,

參考這裡

make makesum
# 修正 pkg-plist 這還蠻重要的,可以

參考這裡,過程還蠻複雜的,產生目錄檔案結構。如何測試 port 正確性 先裝 ports-mgmt/portlint,用來檢查 Makefile 正確性

cd /usr/ports/ports-mgmt/portlint; make install clean
裝好之後,就可以使用下面指令:
portlint -a
cd  .. ; diff -ruN xxx.orig xxx > ~/xxx.diff
send-pr -a ~/xxx.diff -c 長輩的e-mail
測試變數的方法,可以在終端機打入
make -V XXXXX
來觀看變數是不是有定義,或者是寫錯
port diff # 用來看跟原來 ports 檔案,您修改了多少東西
還有一篇必看的,就是 committer 怎麼處理送來的 problem:

Problem Report Handling Guidelines,還有一篇:Writing FreeBSD Problem Reports


See also