Closed KAWAHARA-souta closed 5 months ago
調査で分かったこと。
//! 問題が起こるパッケージ
//! 'epoch': 'None' のように文字列が格納されてしまっている。
$ python3 get_nevra.py
{'alma_commit_sbom_hash': 'f0fcd131d0c282f9e9d0ee4a420a7941ab5a86e0ca5aaee5b8f639f15f8c224e', 'arch': 'x86_64', 'build_arch': 'x86_64', 'build_host': 'x64-builder01.almalinux.org', 'build_id': '7326', 'built_by': 'soksanichenko <soksanichenko@almalinux.org>', 'epoch': 'None', 'git_commit': '7172082a33c2fcb221614decb619b45088a6ca1d', 'git_ref': 'changed/a9/kernel-5.14.0-284.30.1.el9_2', 'git_url': 'https://git.almalinux.org/rpms/kernel.git', 'name': 'kernel', 'release': '284.30.1.el9_2', 'sbom_api_ver': '0.2', 'source_type': 'git', 'sourcerpm': 'kernel-5.14.0-284.30.1.el9_2.src.rpm', 'unsigned_hash': '8d3457073e7a3c17013fc6c609a4843ac7902a8c3212d12e81590f7a4f1ed0b6', 'version': '5.14.0'}
//! 問題が起こらないパッケージ //! 'epoch': None $ python3 get_nevra.py {'sbom_api_ver': '0.2', 'unsigned_hash': 'c6e81490023e33eddce7bf6cd6a149f95dff3543be4dc0de7c032c25fdd38e9e', 'build_id': 7408, 'build_host': 'x64-builder02.almalinux.org', 'build_arch': 'x86_64', 'built_by': 'soksanichenko soksanichenko@almalinux.org', 'alma_commit_sbom_hash': 'a35919e2be57c8bdf22cfc3dee574e83ecb1127e', 'source_type': 'git', 'git_url': 'https://git.almalinux.org/rpms/kernel.git', 'git_ref': 'changed/a8/kernel-4.18.0-477.27.1.el8_8', 'git_commit': 'a35919e2be57c8bdf22cfc3dee574e83ecb1127e', 'name': 'kernel', 'epoch': None, 'version': '4.18.0', 'release': '477.27.1.el8_8', 'arch': 'x86_64', 'sourcerpm': 'kernel-4.18.0-477.27.1.el8_8.src.rpm'}
- ビルドシステムがデータをimuudbに格納する際に誤って文字列を格納していた可能性
- 9月の某日を境にして、それ以前のパッケージでは問題が発生し、以後のパッケージでは問題が発生しないようだった
- 2023/9/12にビルドされたパッケージ( https://build.almalinux.org/build/7326 )では発生する
- 2023/9/21にビルドされたパッケージ( https://build.almalinux.org/build/7408 )では発生しない
- この間にビルドシステム側で修正が行われた可能性が大きいが、その事実についてはまだ確認できていない
- ワークアラウンドを追加するのが良いかも
- 過去のバグらしい'api_ver'についてもワークアラウンドが入ったままなので受け入れてくれそう
upstreamですでに修正済み
特定のパッケージとか,あとは特定の時期より前にビルドされたものとかでのみ起こるみたいな状況もありえるかも知れないけど. それからハッシュ値指定でしかチェックしていないのでそこも要確認 そもそも,'None'と表記すべきなのか,なにも表記しないべきなのかもぶっちゃけ微妙.
kernel-5.14.0-162.12.1.el9_1.x86_64.spdx.json
ためしにやった以下のパッケージ(ハッシュ値指定)だと起こらない. osbuild-93-1.el9.alma.1_spdx.json