何を見つけたか
v3.7.0 で入った base イメージの変更(#161 / #160)は、arm64 でしか実測していない。
リリース後テスト(main = fd5fa48、2026-09-23)で確かめた fc-match の 25 行・
poppler-utils / python3-pil の導入・PIL による描画の突き合わせは、すべて
macOS(Apple Silicon)上の devbase-base:latest(arm64)での実測である。
$ docker image inspect devbase-base:latest --format '{{.Architecture}}'
arm64
$ docker run --rm --entrypoint bash devbase-base:latest -lc 'fc-match sans-serif'
NotoSansCJK-Regular.ttc: "Noto Sans CJK JP" "Regular"
amd64 で確かめていないのは、次の 3 つである。
| 未検証の点 |
なぜ arm64 の結果で代えられないか |
| 6 パッケージが amd64 の Ubuntu 26.04 に存在し、同じ版で入るか |
#160 の調査は arm64 の apt-get の依存解決で算出した値である(poppler-utils 26.01.0-2ubuntu0.1 ほか)。amd64 の版・依存数は実測していない |
fc-match の解決先が同じになるか |
containers/base/Dockerfile:51-66 は amd64 のときだけ google-chrome-stable を足す(BROWSER_PKG)。Chrome が引き込むフォント(fonts-liberation など)が amd64 側だけに増えるため、/etc/fonts/conf.d/ の顔ぶれが arm64 と一致する保証が無い |
| イメージの増分が +0.5% 未満に収まるか |
#160 の受け入れ条件 13。arm64 でもビルド前後の docker images の差分は取っていない |
どこで見つけたか
v3.7.0 のリリース後テスト(PR #212 のコメント)。
「未確認のまま残ること」の 1 件目として引き継がれ、この端末(macOS / arm64)では
確かめられないと判定した。
なぜこの変更の範囲外なのか
PLAN63(#161 / #160)の受け入れ条件 15 は「devbase build base --no-cache が arm64 で
成功する」と、アーキテクチャを arm64 に限って書いている。amd64 の実測は受け入れ条件に
含まれていない。
直さないと何が起きるか
確かめ方
WSL2(amd64)の実機で、main から取得した状態で次を実行する。
接続先は wsl-gpu-host-hammer05 の手順で入る。
devbase build base --no-cache
docker run --rm --entrypoint bash devbase-base:latest -lc '
for p in sans-serif "sans-serif:lang=ja" serif monospace "Noto Sans JP" Meiryo \
"Yu Gothic" "MS PGothic" "Zen Kaku Gothic New" Arial "Times New Roman" \
"Courier New" Calibri Cambria "serif:lang=zh-cn" "Arial:lang=zh-cn" \
"sans-serif:lang=ko"; do printf "%-24s -> %s\n" "$p" "$(fc-match "$p")"; done
command -v pdftoppm pdfinfo pdffonts pdftocairo
python3 -c "import PIL, defusedxml, lxml"'
期待する結果は arm64 の実測と同じで、docs/specifications/base-image-rendering.md の表にある。
併せて、リリース後テストで保留にした 2 つの受け入れ条件もここで確かめる。
どちらも「base イメージを建て直さないと確かめられない」という同じ理由で保留になった。
| 課題 |
条件 |
見るもの |
| #161 |
15. devbase build base --no-cache が成功する |
ビルドが通ること(6 パッケージが当該アーキに存在すること) |
| #160 |
13. イメージ増分が base(7.09GB)に対し +0.5% 未満 |
ビルド前後の docker images の差分 |
条件 16(派生イメージ)は arm64 で済ませたため、ここには残っていない。使い捨ての 1 層の
イメージ(FROM devbase-base:latest + RUN true)で fc-match が base と同じ解決先を返すことを
確かめた(2026-09-23、PR #212 のリリース後テスト)。/etc/fonts/local.conf は base の層に
あるため、派生イメージはそれを継承する。amd64 でも base が正しければ派生は従う。
由来
issue #161 / issue #160(v3.7.0 のリリース後テスト、PR #212)
何を見つけたか
v3.7.0 で入った base イメージの変更(#161 / #160)は、arm64 でしか実測していない。
リリース後テスト(
main=fd5fa48、2026-09-23)で確かめたfc-matchの 25 行・poppler-utils/python3-pilの導入・PIL による描画の突き合わせは、すべてmacOS(Apple Silicon)上の
devbase-base:latest(arm64)での実測である。amd64 で確かめていないのは、次の 3 つである。
apt-getの依存解決で算出した値である(poppler-utils26.01.0-2ubuntu0.1 ほか)。amd64 の版・依存数は実測していないfc-matchの解決先が同じになるかcontainers/base/Dockerfile:51-66は amd64 のときだけgoogle-chrome-stableを足す(BROWSER_PKG)。Chrome が引き込むフォント(fonts-liberationなど)が amd64 側だけに増えるため、/etc/fonts/conf.d/の顔ぶれが arm64 と一致する保証が無いdocker imagesの差分は取っていないどこで見つけたか
v3.7.0 のリリース後テスト(PR #212 のコメント)。
「未確認のまま残ること」の 1 件目として引き継がれ、この端末(macOS / arm64)では
確かめられないと判定した。
なぜこの変更の範囲外なのか
PLAN63(#161 / #160)の受け入れ条件 15 は「
devbase build base --no-cacheが arm64 で成功する」と、アーキテクチャを arm64 に限って書いている。amd64 の実測は受け入れ条件に
含まれていない。
直さないと何が起きるか
devbase build baseを打ったときに、パッケージの不在やfc-matchの別の解決先で初めて気づく。v3.7.0 の配布は既に済んでいるため、気づくのは利用者の側になる
症状(字幅の違いによる折り返し)は bug: 日本語が中国語フォントで描画される(sans-serif の解決先が WenQuanYi Zen Hei になる) #161 と同じく「はみ出している」という誤った
QA 判定に化ける
確かめ方
WSL2(amd64)の実機で、
mainから取得した状態で次を実行する。接続先は
wsl-gpu-host-hammer05の手順で入る。期待する結果は arm64 の実測と同じで、
docs/specifications/base-image-rendering.mdの表にある。併せて、リリース後テストで保留にした 2 つの受け入れ条件もここで確かめる。
どちらも「base イメージを建て直さないと確かめられない」という同じ理由で保留になった。
devbase build base --no-cacheが成功するdocker imagesの差分条件 16(派生イメージ)は arm64 で済ませたため、ここには残っていない。使い捨ての 1 層の
イメージ(
FROM devbase-base:latest+RUN true)でfc-matchが base と同じ解決先を返すことを確かめた(2026-09-23、PR #212 のリリース後テスト)。
/etc/fonts/local.confは base の層にあるため、派生イメージはそれを継承する。amd64 でも base が正しければ派生は従う。
由来
issue #161 / issue #160(v3.7.0 のリリース後テスト、PR #212)