「DeveloperWiki:再現可能ビルド」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(セクション見出しの訳出、言語間リンクの追加)
 
(同じ利用者による、間の14版が非表示)
1行目: 1行目:
 
[[Category:DeveloperWiki]]
 
[[Category:DeveloperWiki]]
 
[[en:DeveloperWiki:ReproducibleBuilds]]
 
[[en:DeveloperWiki:ReproducibleBuilds]]
  +
再現可能ビルドのミーティングと作業中のドキュメントのリストです。
A list of reproducible build meetings and work in progress documentation.
 
   
[https://tests.reproducible-builds.org/archlinux/archlinux.html Reproducible build results]
+
[https://tests.reproducible-builds.org/archlinux/archlinux.html 再現可能ビルドの結果]
   
[[DeveloperWiki:ReproduciblePackages|Packages that reproduce]]
+
[[DeveloperWiki:再現可能パッケージ|再現可能なパッケージ]]
   
 
==貢献==
 
==貢献==
   
  +
Arch Linux は現在 100% 再現可能になるように作業しています。厳密な再現可能ビルドの定義とその利益は [https://reproducible-builds.org/ プロジェクトのウェブサイト] を参照してください。
Arch Linux is currently in the process of having it 100% reproducible, for the exact definition of reproducible builds and it's benefits take a look at the [https://reproducible-builds.org/ project website].
 
   
Arch users can help contribute to Reproducible Build issues by looking at the [https://tests.reproducible-builds.org/archlinux/archlinux.html continuous reproducing environment]. There are various issues which can be sorted out:
+
Arch のユーザーは、[https://tests.reproducible-builds.org/archlinux/archlinux.html 継続的再現環境] を見ることで再現可能ビルドの問題に対して貢献することができます。以下に整理したような様々な問題があります。
   
* FTBS (failed to build from source): reproduce the build failure locally and create a bug report if the package cannot be [[DeveloperWiki:Building_in_a_clean_chroot|built from a clean chroot]] (extra-x86_64-build or multilib-build).
+
* FTBS (ソースからのビルドに失敗): ビルドの失敗を手元で再現して、[[DeveloperWiki:クリーンな chroot 内でビルドする|クリーンな chroot 内でビルド]] (extra-x86_64-build multilib-build) できない場合はバグレポートを作成する。
  +
* ソースのダウンロードの失敗、問題 (makepkg -o -d) を再現して Arch バグトラッカーにバグレポートを作成する。
* Failed to download sources, reproduce the issue (makepkg -o -d) and create a bug report on the Arch bugtracker.
 
  +
* 再現に失敗する。手元で {{pkg|reprotest}} を使ってパッケージを再現できます。全てのバリエーションが使用可能ではないことに注意してください。シンプルな時間に関連するテストには:
* Failed to reproduce. Locally you can reproduce packages using {{pkg|reprotest}}. Note that not all variations can be used. For simple time related testing:
 
 
reprotest --variations '+time' 'sudo extra-x86_64-build' '*.pkg.tar.xz'
 
reprotest --variations '+time' 'sudo extra-x86_64-build' '*.pkg.tar.xz'
There might be various reasons for a package to not be reproducible, but before digging in take a look at the upstream repository or the reproducible status in [https://tests.reproducible-builds.org/debian/reproducible.html Debian]
+
パッケージが再現可能ではないことにはいくつかの理由がありますが、掘り下げる前にアップストリームのリポジトリか、[https://tests.reproducible-builds.org/debian/reproducible.html Debian] の再現ステータスを確認してください。
  +
* テストの実行に失敗、それらの失敗はテスト環境に大きく依存しています。ほとんどの場合 LANG=C にすることで、Arch は LANG=C.UTF-8 をサポートしていません
* Failed to run tests, these failures are heavily on the testing env. Most likely due to to LANG=C being set and Arch not supporting LANG=C.UTF-8
 
   
If you are interested in the code which runs the continuous reproducing environment, the first build code starts here on [https://salsa.debian.org/qa/jenkins.debian.net/blob/master/bin/reproducible_build_archlinux_pkg.sh#L115 salsa]
+
継続的再現環境で実行されているコードに興味があれば、始めのビルドコードは [https://salsa.debian.org/qa/jenkins.debian.net/blob/master/bin/reproducible_build_archlinux_pkg.sh#L115 salsa] から始まります。
   
 
==やることリスト==
 
==やることリスト==
   
* Arch Linux Archive cleanup script
+
* Arch Linux Archive のクリーンアップスクリプト
* Arch Linux Reproducible script
+
* Arch Linux 再現可能スクリプト
  +
:* インストールしたパッケージを手元で再現するスクリプト
:* A script to locally reproduce an installed package
 
  +
* 再現可能ビルドの問題を解決する
* Resolve reproducible build issues
 
  +
* ビルドを再現する方法のドキュメント
* Documentation about reproducing a build
 
   
==Arch の再現可能ビルドのアップデート 09-12-2018 ==
+
==Arch の再現可能ビルドのアップデート 2018/12/09 ==
   
Posted to the [https://www.mail-archive.com/rb-general@lists.reproducible-builds.org/msg00104.html ''rb-general''] mailing list.
+
[https://www.mail-archive.com/rb-general@lists.reproducible-builds.org/msg00104.html ''rb-general''] メーリングリストに投稿されました。
   
==10-01-2018 のミーティングのアジェンダ==
+
==2018/01/10 のミーティングのアジェンダ==
   
  +
* Python での UTF-8 の問題。
* UTF-8 failures with Python.
 
  +
*: LANG=$lang-UTF-8 にしないことによる、たくさんの再現可能ビルドの問題があります。PKGBUILD で明示的に LANG をセットする必要があります。
*: 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
+
*: この例を参照してください。 https://tests.reproducible-builds.org/archlinux/community/python-cssselect2/build1.log
 
* Package disorderfs
 
* 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
+
* Pacman リリース
  +
*: 新しいリリースを作成するように Pacman チームをどのように説得するか、また何か待たなければいけない妨害はありますか?
*: How do we convince the Pacman team to create a new release, are there any known blockers they waiting on?
 
  +
* 再現可能ビルドスクリプトの進捗
* Reproducible build script progress
 
  +
*: スクリプトが厳密に何をしなければいけないかを議論し、RFC?を作成して機能を説明する。
*: Discuss what the script exactly should do, create an RFC? To describe it's functionality.
 
*: FIXME: add issues I encountered.
+
*: FIXME: 遭遇した問題を追加する。
* Arch Linux Archive: Do not remove packages mentioned in BUILDINFO file
+
* Arch Linux Archive: BUILDINFO ファイルで言及されたパッケージを削除しない
  +
*: 現在アーカイブから古いパッケージを削除するスクリプトはありません、古いパッケージをどのくらい保持したいか明確ではありません。
*: 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? [https://github.com/SantiagoTorres/reproarch-dependency-crawler poc script]
+
*: 記憶が正しければ Sangy がこの問題に取り組んでいました、状態はどうなっていますか? [https://github.com/SantiagoTorres/reproarch-dependency-crawler 概念実証スクリプト]
   
  +
*: このスクリプトが何をするべきなのかのドキュメントを書く。(仕様)
*: Write documentation what this script should do. (Specification)
 
  +
* 終了させられたビルド
* Killed builds
 
  +
*: これを誰かが調査する必要がありますが、どのように手元で再現しますか?ヒント?
*: Someone should investigate this, how do we reproduce this locally? Hints?
 
* SSL verification issues
+
* SSL 検証の問題
  +
*: SSL 証明書が有効なとき、先にビルドしたパッケージの手元での再現からどのように SSL 問題を回避しますか? HG と SVN はまだ修正されていません。
*: 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.
 
 
The meeting minute can be seen [https://arch.nyu.wtf/logs/archlinux-reproducible/2018/archlinux-reproducible.2018-01-10-19.04.html here]{{Dead link|2018|11|04}}.
 

2020年8月19日 (水) 21:35時点における最新版

再現可能ビルドのミーティングと作業中のドキュメントのリストです。

再現可能ビルドの結果

再現可能なパッケージ

貢献

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 のミーティングのアジェンダ

  • Python での UTF-8 の問題。
    LANG=$lang-UTF-8 にしないことによる、たくさんの再現可能ビルドの問題があります。PKGBUILD で明示的に LANG をセットする必要があります。
    この例を参照してください。 https://tests.reproducible-builds.org/archlinux/community/python-cssselect2/build1.log
  • Package disorderfs
    今のところそこまで重要ではありませんが、私のやることリストに追加しました。再現可能スクリプトとの組み合わせで後で使われるかもしれません。
  • Pacman リリース
    新しいリリースを作成するように Pacman チームをどのように説得するか、また何か待たなければいけない妨害はありますか?
  • 再現可能ビルドスクリプトの進捗
    スクリプトが厳密に何をしなければいけないかを議論し、RFC?を作成して機能を説明する。
    FIXME: 遭遇した問題を追加する。
  • Arch Linux Archive: BUILDINFO ファイルで言及されたパッケージを削除しない
    現在アーカイブから古いパッケージを削除するスクリプトはありません、古いパッケージをどのくらい保持したいか明確ではありません。
    記憶が正しければ Sangy がこの問題に取り組んでいました、状態はどうなっていますか? 概念実証スクリプト
  • このスクリプトが何をするべきなのかのドキュメントを書く。(仕様)
  • 終了させられたビルド
    これを誰かが調査する必要がありますが、どのように手元で再現しますか?ヒント?
  • SSL 検証の問題
    SSL 証明書が有効なとき、先にビルドしたパッケージの手元での再現からどのように SSL 問題を回避しますか? HG と SVN はまだ修正されていません。
  • 公開やる事リストを作成する
    再現可能ビルドの作業する人をより増やす必要があります。どのように彼らをガイドするか、どこで進捗と注意が必要な問題を管理するか。