Repository navigation
Predict elog notices from distfiles and check NEEDED against RDEPEND - #1
Merged
Merged
Conversation
Three bumps this week were green locally and red in CI on the same class of notice: netbird's go.mod said 1.26.0 while BDEPEND said 1.26 (ver_test calls that less), euphonica's vendored crates carried rust-version 1.92.0 above RUST_MIN_VER 1.88.0, and pack-cli-bin's upstream binary was already stripped. All three checks live in ::gentoo's install-qa-check.d, so a test box whose tree snapshot lags never runs them; the ebuild had to be fixed after the push each time. `gzh floors <ebuild>` unpacks the archives SRC_URI and the Manifest name and applies the same sed patterns and version comparison as 60go-module-eclass, 60cargo-eclass and estrip, then prints the exact string the ebuild needs. Distfile missing or bsdtar absent is exit 2, not a pass. Verified against the three ebuilds above: the fixed versions pass, the originally pushed versions each produce the one finding CI produced.
Reviewing tsukimi 26.9.2 meant running scanelf on the merged binary, qfile on every soname and reading the providers against RDEPEND by hand; that found libseccomp linked but declared nowhere, present only because mpv happens to drag it in six hops away. `gzh needed-deps <cp> [--ebuild]` does that from the VDB: NEEDED.ELF.2 for the sonames, every installed package's PROVIDES for the owner, then direct RDEPEND versus a one-hop transitive versus anything longer, which counts as missing. needed_deps.py imports only portage so it can be copied to the box where the merge happened.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
因为这周 netbird、euphonica、pack-cli-bin 三次 bump 都是本机绿、CI 红在 install-qa-check.d 的同一类 elog(go 下限字符串、vendored crate 的 rust-version、预 strip),测试机的树快照落后就跑不到这些检查,所以加
gzh floors在推之前从 distfiles 直接算出 CI 会要的那个字符串;又因为审 tsukimi 时 NEEDED 对 RDEPEND 是手工 scanelf + qfile 做的,所以加gzh needed-deps从 VDB 算,单文件只依赖 portage,能拷到测试机跑。三个真实 ebuild 回归验过:修好的版本过,原来推上去的版本各报出 CI 报的那一条。