Summary: | Portage 2.3.49: @system set scheduling constraints leak from BROOT to SYSROOT | ||
---|---|---|---|
Product: | Portage Development | Reporter: | Chris McDonald <cjmcdonald> |
Component: | Core - Dependencies | Assignee: | Portage team <dev-portage> |
Status: | CONFIRMED --- | ||
Severity: | normal | CC: | esigra |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
See Also: |
https://bugs.gentoo.org/show_bug.cgi?id=256616 https://bugs.gentoo.org/show_bug.cgi?id=681312 https://bugs.gentoo.org/show_bug.cgi?id=259954 |
||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | |||
Bug Blocks: | 184128 |
Description
Chris McDonald
2019-10-23 16:33:38 UTC
This constraint is intended to protect against issues similar to bug 256616. We can add an option to make it less paranoid, and then it naturally will not account for cases like bug 256616. The option suggested in bug 681312 would work, but that might not be paranoid enough, depending on your needs. The --implicit-system-deps <y|n> option is now implemented (bug 681312): https://gitweb.gentoo.org/proj/portage.git/commit/?id=ba871d9232b1dc1e0a8090f7664e05e23818b1b4 (In reply to Chris McDonald from comment #0) > Actual Results: > Adding packages to the @system set of the BROOT profile causes the build for > a distinct SYSROOT to massively reduce parallelism and schedule packages > sequentially as if they were part of the @system set for the target. This minimizes the impact of fragile states like the "/bin/sh: Command not found" reported in bug 256616, and states like that would affect SYSROOT builds just as much as BROOT builds. > Expected Results: > Packages in the @system set in the BROOT should not impose ordering > constraints on packages to be installed to a separate SYSROOT. Since these > packages are (potentially) being cross-compiled, they are not executed as > part of the build process and should not be subjected to the scheduling > constraints imposed by @system. If we assume that fragile states like the "/bin/sh: Command not found" reported in bug 256616 are practically negligible, the benefits of applying special @system scheduling constraints to BROOT becomes less obvious. Ideally, explicit dependencies would make it unnecessary to apply special @system scheduling constraints, and --implicit-system-deps=n would produce the desired behavior. That said, it's obvious that SYSROOT @system packages should not affect scheduling constraints for BROOT. The fact that they currently do is an obvious bug that's worth fixing. While we're at it, we may as well add an option to prevent BROOT @system scheduling constraints from affecting SYSROOT (the benefit relative to --implicit-system-deps=n could be negligible but who knows?). Note that the trigger for bug 259954, sys-libs/pam having PDEPEND="sys-auth/pambase", is another example (similar to bug 256616) of how it might be useful to have @system set scheduling constraints leak from BROOT to SYSROOT (but not vice versa). |