「再現性のあるビルド/ステータス」の版間の差分
(→[core]: 翻訳) |
(微修正) |
||
| 3行目: | 3行目: | ||
[[en:Reproducible builds/Status]] |
[[en:Reproducible builds/Status]] |
||
[[pt:Reproducible builds (Português)/Status]] |
[[pt:Reproducible builds (Português)/Status]] |
||
| − | Arch Linux は [[core]] および [[extra]] パッケージを常に再構築しており、[https://reproducible.archlinux.org ステータス |
+ | Arch Linux は [[core]] および [[extra]] パッケージを常に再構築しており、[https://reproducible.archlinux.org ステータスページ] があります。このページには、不良パッケージのステータスと修正が必要なものが含まれています。 |
== 問題 == |
== 問題 == |
||
2023年6月24日 (土) 22:01時点における版
Arch Linux は core および extra パッケージを常に再構築しており、ステータスページ があります。このページには、不良パッケージのステータスと修正が必要なものが含まれています。
目次
問題
全般的
- ファイル順序の問題と btrfs サイズのバグを解決するには、pacman 5.2 未満でビルドされたすべてのパッケージでリビルドが必要です。ファイルの順序の問題については、影響を受ける extra パッケージがミラーディレクトリで次の 1 つのライナーを実行していることがわかります。
for i in /srv/ftp/extra/os/x86_64/*.pkg.tar.??; do
bsdtar -tf $i | grep "^\." > pkg-order
sort pkg-order > sort-order
if ! diff pkg-order sort-order &>/dev/null; then
echo $i;
fi
rm pkg-order sort-order
done
ファイル順序再構築 FTBFS
accounts-qml-module-0.7-2-x86_64.pkg.tar.xz archboot-2019.03-1-any.pkg.tar.xz cmark-0.29.0-1-x86_64.pkg.tar.xz gtk-sharp-2-2.12.45-2-x86_64.pkg.tar.xz guile1.8-1.8.8-7-x86_64.pkg.tar.xz java11-openjfx-11.0.3.u1-1-x86_64.pkg.tar.xz java11-openjfx-doc-11.0.3.u1-1-x86_64.pkg.tar.xz java11-openjfx-src-11.0.3.u1-1-x86_64.pkg.tar.xz java8-openjfx-8.u202-3-x86_64.pkg.tar.xz java8-openjfx-doc-8.u202-3-x86_64.pkg.tar.xz java8-openjfx-src-8.u202-3-x86_64.pkg.tar.xz java-openjfx-13.u14-1-x86_64.pkg.tar.xz java-openjfx-doc-13.u14-1-x86_64.pkg.tar.xz java-openjfx-src-13.u14-1-x86_64.pkg.tar.xz jdk10-openjdk-10.0.2.u13-2-x86_64.pkg.tar.xz jre10-openjdk-10.0.2.u13-2-x86_64.pkg.tar.xz jre10-openjdk-headless-10.0.2.u13-2-x86_64.pkg.tar.xz jsonrpc-glib-3.34.0-1-x86_64.pkg.tar.xz libva-vdpau-driver-0.7.4-4-x86_64.pkg.tar.xz liferea-1.12.7-1-x86_64.pkg.tar.xz linux-atm-2.5.2-6-x86_64.pkg.tar.xz mono-tools-4.2-2-x86_64.pkg.tar.xz npapi-sdk-0.27.2-2-any.pkg.tar.xz nss_ldap-265-7-x86_64.pkg.tar.xz openjdk10-doc-10.0.2.u13-2-x86_64.pkg.tar.xz openjdk10-src-10.0.2.u13-2-x86_64.pkg.tar.xz pam_ldap-186-6-x86_64.pkg.tar.xz portaudio-1:19.6.0-6-x86_64.pkg.tar.xz qtav-1.13.0-1-x86_64.pkg.tar.xz
JAR ファイルを含むパッケージ
JAR には各ファイルの変更タイムスタンプが含まれるため、再現できなくなります。ビルドシステムに応じて、これに使用できるさまざまなソリューションがあります。
Ant
現在、再現可能なビルドはサポートされていません。アップストリーム機能リクエスト を参照してください。
Gradle
再現性のあるビルドをサポートする必要があります すぐに使用できます
Maven
固定タイムスタンプに設定できる project.build.outputTimestamp プロパティをサポートします。Maven プラグインの最近のバージョンは、このプロパティを尊重して再現可能なアーティファクトを作成します。 このプロパティはプロジェクトの pom.xml ファイルに設定する必要があります。アップストリームでこれがまだ行われていない場合は、
mvn -Dproject.build.outputTimestamp="$SOURCE_DATE_EPOCH" clean package
プラグインを再現可能なビルドをサポートする最新バージョンに更新するには、プロジェクトの pom.xml にパッチを適用する必要がある場合があります。「apache.org/guides/mini/guide-reproducible-builds.html 再現性のあるビルドへの Maven ガイド で、最低限必要なバージョンや追加の必要な構成オプションなどの詳細情報を確認できます。
パッケージの例 (Maven プラグインのバージョン更新用のパッチを含む): junit-system-rules
OpenJDK jar コマンド
組み込みの OpenJDK jar プログラムは、SOURCE_DATE_EPOCH OpenJDK バージョン 15 以降 をサポートします。
strip-nondeterminism
最後の手段として、Debian の [1] を使用すると、JAR を含むさまざまなファイルタイプからファイルタイムスタンプなどの再現不可能なメタデータを削除できます。これは万能薬ではなく (たとえば、ビルドシステムには JAR マニフェストに追加の再現不可能なメタデータが含まれる可能性があり、ストリップ非決定性によりこれらの一部が削除されますが、すべてが削除されるわけではありません)、再現可能なビルドのネイティブサポートがない場合の最後の手段としてのみ使用する必要があります。利用可能:
strip-nondeterminism --timestamp "$SOURCE_DATE_EPOCH"
パッケージ例: pdftk
KDE Kdeveloper プロジェクトファイル
KDE はパッケージアプリテンプレート .tar.bz2 ファイルを作成しますが、再現時に tar ファイルとユーザー ID が異なります。これは再現時のバグである可能性があります。 https://gist.githubusercontent.com/jelly/570313f56ee59be7674ad4cc002232e7/raw/b85536690c48b23ce97650e8db8f0ca18c2dbf1a/gistfile1.txt
The cmake file which generates the issue
Doxygen ドキュメントは、graphviz-2.44.0-2 でビルドされています
graphviz には libpng への依存関係がなかったため、libpng が利用可能になる前にgraphviz がインストールされていたため、dlopen としてマークされていなかったため、ドットで PNG 生成を利用できませんでした。生成ドキュメントとして doxygen に依存し、次の差分を含むすべてのパッケージは再構築が必要です。
│ │ --rw-r--r-- 0 root (0) root (0) 20234 2020-05-16 12:32:36.000000 usr/share/doc/grantlee/classGrantlee_1_1Parser.html │ │ --rw-r--r-- 0 root (0) root (0) 265 2020-05-16 12:32:36.000000 usr/share/doc/grantlee/classGrantlee_1_1Parser__inherit__graph.map │ │ --rw-r--r-- 0 root (0) root (0) 32 2020-05-16 12:32:36.000000 usr/share/doc/grantlee/classGrantlee_1_1Parser__inherit__graph.md5 │ │ --rw-r--r-- 0 root (0) root (0) 3136 2020-05-16 12:32:36.000000 usr/share/doc/grantlee/classGrantlee_1_1Parser__inherit__graph.png │ │ +-rw-r--r-- 0 root (0) root (0) 19961 2020-05-16 12:32:36.000000 usr/share/doc/grantlee/classGrantlee_1_1Parser.html │ │ +-rw-r--r-- 0 root (0) root (0) 598 2020-05-16 12:32:36.000000 usr/share/doc/grantlee/classGrantlee_1_1Parser__inherit__graph.dot
[core]
| パッケージ | 問題 | 解決策/パッチ | 譲受人 | 解決済み |
|---|---|---|---|---|
| audit | FTBFS with linux-headers 5.17+ | proposed | none | No |
| dmraid | FTBFS による -Werror=format-security |
proposed upstream on 2022-10-06 | none | No |
| gcc-ada | 一部の .ads ファイル内のファイル時間 | none | none | No |
| ldns | ソースファイル名を含むバイナリはメイクフラグによって異なります | proposed upstream | none | No |
| libverto | /bin/sh = Dash を使用してビルドするときにファイルが見つからない | マージ済み ですがリリースされていません (2021-03 の最新リリース 0.3.2) | none | No |
| linux | 署名付きモジュール | none | none | No |
| linux-docs | 多くの問題 - 注文、リンク, ... | none | none | No |
| linux-headers | /usr/lib/modules/*/build/vmlinux diff[リンク切れ 2021-11-15] |
none | none | No |
| linux-lts | linux の場合 | none | none | No |
| linux-lts-docs | linux-docs について | none | none | No |
| linux-lts-headers | linux-headers について | none | none | No |
| nss | shlibsign の /usr/lib/lib{freebl3,freeblpriv3,softokn3}.chk のバイナリの違い |
none | none | No |
| perl | タイムスタンプ、ビルド時にエンコードされた uname | none | none | No |
| syslinux | FTBFS | proposed in issue | none | No |
[extra]
| Package | Issue | Solution/Patch | Assignee | Solved |
|---|---|---|---|---|
| abiword | usr/lib/python2.7/site-packages/gi/overrides/Abi.pyc and .pyo |
none | none | No |
| accounts-qml-module | .BUILDINFO size issue - FTBFS during rebuild |
none | none | No |
| amdvlk | many differences in usr/lib/amdvlk64.so |
none | none | No |
| ant | .jar file differences | none | none | No |
| ant-doc | lots of timestamps (javadoc), and .zip file difference | none | none | No |
| antlr2AUR | usr/share/java/antlr2.jar |
none | none | No |
| apparmor | Adding files to backup array needs sorting, usr/lib/python3.8/site-packages/LibAppArmor/__pycache__/LibAppArmor.cpython-38.pyc |
none | none | No |
| asymptote | Dates in html and info. PDF document differences (dates?) | none | none | No |
| autogen | Timestamp in man pages, sr/share/autogen/libopts-42.1.17.tar.gz with different file ownership, and a small binary change in usr/bin/autogen |
need export MAN_PAGE_DATE=... and configure --enable-timeout=70 | none | No |
| bigloo | uname and timestamps all over the place | none | none | No |
| breezy | 3.0.2.3-3 reproducible with both repro and makechrootpkg | tooling issue? | none | No |
| brltty | usr/share/java/brlapi.jar |
none | none | No |
| check-docs | lots of texi2html timestamps | none | none | No |
| chromaprint | binary difference in usr/bin/fpcalc |
none | none | No |
| clisp | ip address; timestamps in ps docs, likely much more | none | none | No |
| colord | Profile ID differs in usr/share/color/icc/colord/{Crayons,x11-colors}.icc and binary differences in usr/lib/colord |
none | none | No |
| conky | timestamp (from toluapp) and uname (at minimum) | none | none | No |
| deluge | .pyc file, .egg files | none | none | No |
| doxygen-docs | lots of pdfs with differences | none | none | No |
| ecl | uname, timestamp, gzip, lots of other binary differences | none | none | No |
| eclipse-ecj | .jar file | none | none | No |
| efitools | /usr/share/efitools/efi/LockDown.efi has binary differences |
none | none | No |
| efl | lots of binary differences | none | none | No |
| efl-docs | pdf differences, including dates | none | none | No |
| emacs | binary differences in usr/bin/emacs |
none | none | No |
| extra-cmake-modules | Small ordering diff in /usr/share/doc/ECM/ExtraCMakeModules.qch |
none | none | No |
| firefox | It is firefox ; PGO? | bug + patch[リンク切れ 2023-05-20] | none | No |
| fontconfig | FTBFS with repro. Timestamp inside man pages | none | none | No |
| fontforge | Binary differences in fontforge and some libraries | none | none | No |
| libakonadi | user/group names of files in usr/share/kdevappwizard/templates/akonadi{resource,serializer}.tar.bz2 |
none | none | No |
| libbluray | file attribute(?) differences in usr/share/java/{libbluray{,-awt}-j2se-1.2.0.jar |
none | none | No |
| libgee | Binary differences in usr/lib/libgee-0.8.so.2.6.1 |
none | none | No |
| libgtop | uname in /usr/bin/libgtop_server2 |
none | none | No |
| libibus | /usr/lib/python2.7/site-packages/gi/overrides/IBus.pyc and .pyo have differences |
none | none | No |
| libjpeg-turbo | FTBFS under repro. makerepropkg - many differences everywhere... | none | none | No |
| liblangtag | /usr/share/gir-1.0/LangTag-0.6.gir |
none | none | No |
| libmp4v2 | timestamp in usr/include/mp4v2/project.h & usr/lib/libmp4v2.so.2.0.0 |
none | none | No |
| libquvi | timestamp in libquvi-0.9-0.9.4.so |
none | none | No |
| lirc | timestamp in yaml files, usr/share/lirc/lirc-0.10.1.tar.gz has lots of timestamp differences, repro causes poll() detection issue not found in makerepropkg |
patch | none | No |
| meson | .pyc files, also some test .pyc files missing | none | none | No |
| r | Lots of timestamps in files, gzip timestamps, randomly(?) generated paths in /tmp/, binary differences... |
none | none | No |
| transmission-gtk | uname in usr/bin/transmission-gtk, build with vendored dependencies (miniupncpc which contains uname -r) |
none | none | No |
| zabbix-agent2 | Timestamp in /usr/bin/zabbix_agent2 |
none | none | No |
| zeitgeist | diff[リンク切れ 2021-11-15] Weird text differences in /usr/lib/libzeitgeist-2.0.so.0.0.0 |
none | none | No |
[multilib]
| Package | Issue | Solution/Patch | Assignee | Solved |
|---|---|---|---|---|
| lib32-keyutils | Binary includes build date | proposed | none | No |