3.7 KiB
修正版PDFiumの配置とビルド
現在の候補は v2 です。ICC変換指定、パターンの初期状態、未着色タイルの線色を修正しています。検証記録に、元ソース・パッチ・バイナリーと試験結果の対応を保存しています。
この作業環境での起動
配置済みの .deps/pdfium-context を選択した build-context を使用します。
./build-context/docview "/path/to/book.pdf"
新しいprefixを作る場合は、まだ存在しないパスを指定します。既存prefixを上書きすることはできません。
python3 tools/stage_pdfium_candidate.py --candidate v2 --verify-only
python3 tools/stage_pdfium_candidate.py --candidate v2 --output "$PWD/pdfium-context-prefix"
cmake -S . -B build-context-new -G Ninja -DCMAKE_BUILD_TYPE=Release \
-DDOCVIEW_PDFIUM_ROOT="$PWD/pdfium-context-prefix"
cmake --build build-context-new -j 6
この配置ツールは、検証済みソース・ツール・結果が保存された本作業環境を入力にします。ネットワーク取得やPDFiumの再ビルドは行いません。CMakeには新しいビルドディレクトリーを使い、別版のライブラリーが残るキャッシュを避けます。
固定値と照合
| 項目 | 値 |
|---|---|
| upstream revision | a5a7089234f121990b336b3841008009dca143bf |
| 候補library SHA-256 | cb049fe434f4c911b5eb047c0aca572d4dd9f5e405dde329b76c05a6aa771403 |
| 固定ビルド記録 | tests/results/pdfium-intent-context/record.json |
| 記録SHA-256 | 80af72b06d5c9a6a3ab8b9311373e6a23e8df28668ce575e1124350e69aa160b |
| 配置検証の固定値 | cmake/pdfium-candidate-v2.lock.json |
配置時は固定記録、パッチ、変更ソース60件、ツールアーカイブ、実際のGN引数、公開ヘッダー24件、告知17件を照合します。ヘッダーはproviderパッチを逆適用して元Git inventoryとの一致も確認します。告知は元ソースとの対応記録に結び付けます。
include/、lib/、告知、VERSION、args.gn、provenance/、BUILDINFO.jsonを配置します。入力のリンクや特殊ファイルを拒否し、検証したバイト列から一時prefixを作成して、既存出力を置換しないrenameで公開します。
CMakeは候補libraryとヘッダーの選択先を確認し、BUILDINFO・原記録・パッチ・告知を固定lockに照合します。配置先へコピーする前に再検証します。配置後とUbuntu deb検証でも同じ対応を確認します。配置済みの告知・由来記録は share/doc/docview/pdfium/ に含まれます。
回帰試験
LinuxのCTestには配置ツールと配布対応の試験を含めています。個別にも実行できます。
python3 -m unittest discover -s tests -p test_stage_pdfium_candidate.py -v
python3 -m unittest discover -s tests -p test_pdfium_candidate_integration.py -v
合成入力の改変、ヘッダーと原本の同時改変、既存出力・リンク・特殊ファイル、書込み途中の失敗、公開時の競合、配置前の改変、自己整合だけを装ったdebを検査します。実debの境界試験には dpkg-deb が必要です。
第1候補は --candidate v1 で履歴再現用に保持しています。パターン状態の問題があり、現在のCMake配置先としては受理しません。CLIの既定値は以前の再現手順を保つv1なので、現在の候補には --candidate v2 を指定してください。
この成果物はLinux x64の検証用です。Windows、物理表示・基準機、人による正解画像承認、公開配布の最終判断は別の未完了条件です。