DeveloperWiki:再現可能ビルド
2020年8月10日 (月) 14:13時点におけるNy-a (トーク | 投稿記録)による版 (→2018/01/10 のミーティングのアジェンダ: リンク切れを削除(Remove dead link))
再現可能ビルドのミーティングと作業中のドキュメントのリストです。
貢献
Arch Linux は現在 100% 再現可能になるように作業しています。厳密な再現可能ビルドの定義とその利益は プロジェクトのウェブサイト を参照してください。
Arch のユーザーは、継続的再現環境 を見ることで再現可能ビルドの問題に対して貢献することができます。以下に整理したような様々な問題があります。
- FTBS (ソースからのビルドに失敗): ビルドの失敗を手元で再現して、クリーンな chroot 内でビルド (extra-x86_64-build や multilib-build) できない場合はバグレポートを作成する。
- ソースのダウンロードの失敗、問題 (makepkg -o -d) を再現して Arch バグトラッカーにバグレポートを作成する。
- 再現に失敗する。手元で reprotest を使ってパッケージを再現できます。全てのバリエーションが使用可能ではないことに注意してください。シンプルな時間に関連するテストには:
reprotest --variations '+time' 'sudo extra-x86_64-build' '*.pkg.tar.xz'
パッケージが再現可能ではないことにはいくつかの理由がありますが、掘り下げる前にアップストリームのリポジトリか、Debian の再現ステータスを確認してください。
- テストの実行に失敗、それらの失敗はテスト環境に大きく依存しています。ほとんどの場合 LANG=C にすることで、Arch は LANG=C.UTF-8 をサポートしていません
継続的再現環境で実行されているコードに興味があれば、始めのビルドコードは salsa から始まります。
やることリスト
- Arch Linux Archive のクリーンアップスクリプト
- Arch Linux 再現可能スクリプト
- インストールしたパッケージを手元で再現するスクリプト
- 再現可能ビルドの問題を解決する
- ビルドを再現する方法のドキュメント
Arch の再現可能ビルドのアップデート 2018/12/09
rb-general メーリングリストに投稿されました。
2018/01/10 のミーティングのアジェンダ
- UTF-8 failures with Python.
- There are a lot of reproducible build issues due to the lack of LANG=$lang-UTF-8. Do we need to explicitly set the LANG in the PKGBUILD
- See for example https://tests.reproducible-builds.org/archlinux/community/python-cssselect2/build1.log
- Package disorderfs
- Not high important right now, I have added it on my todolist. This could be used later in combination with the reproducible build script
- Pacman release
- How do we convince the Pacman team to create a new release, are there any known blockers they waiting on?
- Reproducible build script progress
- Discuss what the script exactly should do, create an RFC? To describe it's functionality.
- FIXME: add issues I encountered.
- Arch Linux Archive: Do not remove packages mentioned in BUILDINFO file
- There is currently no script to remove old packages from the archive, it is not sure how long we want to keep old packges
- Sangy was working on this if I recall correctly, what is the status? poc script
- Write documentation what this script should do. (Specification)
- Killed builds
- Someone should investigate this, how do we reproduce this locally? Hints?
- SSL verification issues
- How do we circumvent SSL issues from reproducing a package locally which was build earlier, when the SSL certificate was valid. HG and SVN are still left to be fixed.
- Create a public to-do list
- We should get more people in to work on reproducible builds, how can we guide them and where do we keep track of the progress made and issues which require attention.