用 FastCGI 跑 Trac,遇到 Trac 常常出現 MySQL server has gone away
的問題,官方看起來非常的 open source style:我沒遇到,不太想要處理這個問題... XD
Anyway,這個問題可以透過「#3645 (MySQL connections don't reconnect after idle timeout) – The Trac Project」的 comment:8 給 workaround 掉,但我不希望在升級後問題又跑出來,所以就用「Apache 2.2 worker MPM 與 mod_fastcgi 的問題」這邊的解法來解了:
www/trac: NO_CHECKSUM=yes | PATCH_SITES=http://freebsd-patches.s3.amazonaws.com/trac/ | PATCHFILES=patch-trac__db__mysql_backend.py
不過 NO_CHECKSUM=yes 有點討厭,來找看看有沒有辦法「增加 checksum」而非「忽略 checksum」...
你說的「升級後」是指什麼? update ports tree & rebuild ports 嗎?我自己有個簡單的 script 跟一堆 patch file,每次執行 script 就 cleanup patches, make update & apply patches,例如 make update 後丟個 patch-* 到 /usr/ports///files/ 底下去,應該還算方便。
實際上 script 可以再多做一點,包括把 update log 拿去 grep 一下挑出有用到的 ports :P
我的 ports.conf 是進 git 管的,會透過 deploy 推到各機器上,所以我希望只改 ports.conf 就可以塞我要裝的 patch...