initial commit
This commit is contained in:
@@ -0,0 +1,54 @@
|
||||
# 修正版PDFiumの配置とビルド
|
||||
|
||||
現在の候補は `v2` です。ICC変換指定、パターンの初期状態、未着色タイルの線色を修正しています。[検証記録](../tests/results/pdfium-intent-context/README.md)に、元ソース・パッチ・バイナリーと試験結果の対応を保存しています。
|
||||
|
||||
## この作業環境での起動
|
||||
|
||||
配置済みの `.deps/pdfium-context` を選択した `build-context` を使用します。
|
||||
|
||||
```sh
|
||||
./build-context/docview "/path/to/book.pdf"
|
||||
```
|
||||
|
||||
新しいprefixを作る場合は、まだ存在しないパスを指定します。既存prefixを上書きすることはできません。
|
||||
|
||||
```sh
|
||||
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には配置ツールと配布対応の試験を含めています。個別にも実行できます。
|
||||
|
||||
```sh
|
||||
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、物理表示・基準機、人による正解画像承認、公開配布の最終判断は別の未完了条件です。
|
||||
Reference in New Issue
Block a user