[閒聊] Test build pttbbs on Debian Bullseye
因為偷瞄 telnet ptt.cc 22 的版號資訊猜 pttbbs 系統還在 Debian Buster (10)
沒偷跑到 testing (bullseye)
而 bullseye (11) 已經進入 Soft Freeze 了
https://wiki.debian.org/DebianBullseye
於是就讓我們從粗略的方法來看將 pttbbs 程式移植到新系統可能有哪些
細節需要確認處理
目前是將容器的 base image 換成 bullseye 來測試
概略心得記錄如下:
1. openresty 還沒提供給 bullseye 的版本
如果 bbs server 和 websocket server 環境是分開來的可能還好
但我就不會分:p 而且也懶得找他們的套件打包腳本了...
結果發現硬裝 buster repository 的 openresty 也沒什麼問題
( 他自己一堆函式庫像是 openssl 都另外命名自己再裝一次了,
如此疊床架屋還有相依性問題也太慘? )
2021/9/8 更新:已提供預編譯套件給 Bullseye 用了
2. bmake 從 20160220 升級到 20200710 版 (雖然最新已經到 202102XX 了)
然後發現一堆 bsd.*.mk 的 rule 竟然都不能用了?
只好先忍痛 alias bmake="bmake -m /usr/share/bmake/mk-netbsd/" 後
再繼續奮鬥下去了, 本來以爲 bmake install 會跟 Arch 一樣踩到雷但
現在看起來還沒事?
結果發現以下 Bug Report 解釋了來龍去脈:
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=823185
Debian Bug #823185 指出新版 bmake 指令預設不再提供舊版 bsd.*.mk 規則供利用,
若有需求(編譯本專案程式碼者), 請使用傳統 pmake 指令 (套件維護者已協助將指令導
向至 bmake -m /usr/share/bmake/mk-netbsd)
然後 Arch, Fedora 的 bmake 就直接把 bsd.<name>.mk symlink 到 <name>.mk
所以雖然 pttbbs Makefile 引用的 bsd.*.mk 還能動, 但到 bmake install 時
就炸了
2021/9/8 更新:目前建議在 Debian Bullseye 下使用 pmake 指令以便使用傳統
bsd.<name>.mk 檔案
3. multiple definition caught on clang 11
本來想說想辦法加個 -fcommon ? (類似讓 gcc 10 高興一樣的感覺 (
但還是不確定這個有沒有關, 加上只要刪掉三行就可以過了
所以還是生了個 patch 來代替
https://github.com/bbsdocker/imageptt/blob/87c0ec3/multipledef.patch
之後再看怎麼處理
其他需要自行解讀的細節細節見:
https://github.com/bbsdocker/imageptt/actions
如果板友有更好更可信的測試方法,歡迎分享
ps. 待發 PR
--
目前已知現存的 BBS 站台列表:
https://bbslist.github.io (2021-1-25 更新)
https://hackmd.io/s/r1pdt-59b (即時更新,自由編輯)
自己的 ptt 自己架 : https://github.com/ptt/pttbbs/wiki
讓自己的 ptt 有轉信 : https://github.com/clamtestbbs/pttbbs-inndtest
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.116.246.190 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/PttCurrent/M.1613927620.A.42D.html
相關映像檔可透過 docker pull bbsdocker/imageptt:bullseye 取用
※ 編輯: holishing (140.116.246.190 臺灣), 02/22/2021 01:27:10
補充 bmake 行為變更
※ 編輯: holishing (140.116.137.106 臺灣), 02/22/2021 03:46:22
推
02/22 18:34,
3年前
, 1F
02/22 18:34, 1F
用 5 年估是這樣沒錯
但考慮到後 2 年 LTS 化的期間 apply 安全更新的速度會比最新版 stable 慢許多
所以自己會習慣有機會就提早測試新的環境能不能用
※ 編輯: holishing (140.116.246.190 臺灣), 02/24/2021 18:03:35
推
07/08 13:49,
2年前
, 2F
07/08 13:49, 2F
→
07/20 05:54,
2年前
, 3F
07/20 05:54, 3F
2021/9/8 更新:
如果是從 Debian Buster 就地升級到 Bullseye
由於 libevent 的函式庫版號有所變更
請記得將相關程式重新編譯,以確保升級後程式可以順利執行
※ 編輯: holishing (140.116.252.158 臺灣), 09/08/2021 12:40:47
※ 編輯: holishing (140.116.252.158 臺灣), 09/08/2021 12:44:14