Skip to content

test: base イメージの v3.7.0 の変更(フォントと文書の道具)を amd64 で確かめる #242

Description

@takemi-ohama

何を見つけたか

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)

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions