Summary: | emerge --pretend does not honor the --emptytree flag | ||
---|---|---|---|
Product: | Portage Development | Reporter: | nednguyen |
Component: | Unclassified | Assignee: | Portage team <dev-portage> |
Status: | UNCONFIRMED --- | ||
Severity: | normal | CC: | grknight |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- |
Description
nednguyen
2019-03-22 16:47:08 UTC
(In reply to nednguyen from comment #0) > In ChromeOS project, we uses "emerge --pretend --emptytree --sysroot=<path> > <package X>" to query the dependency graph of the packages. > > I recently found out that this command does include the obsolete packages > (built, but no longer exist in the portage tree) in its output. > > For example, in ChromeOS chroot, I run: > > $ emerge --pretend --emptytree sys-devel/lld > > These are the packages that would be merged, in order: > > Calculating dependencies... done! ... > [ebuild U ] sys-devel/llvm-8.0_pre349610_p20190109-r13 > [8.0_pre349610_p20190109-r12] > [ebuild U ] sys-devel/lld-8.0_pre349610-r6 [8.0_pre349610-r5] > [blocks b ] <=sys-devel/lld-8.0_pre349610-r5 > ("<=sys-devel/lld-8.0_pre349610-r5" is blocking > sys-devel/llvm-8.0_pre349610_p20190109-r13) > > > So even though with the "--emptytree" flag, the output still include > "sys-devel/lld-8.0_pre349610-r5" package, whose ebuild has been deleted from > ChromeOS source. > $ ls sys-devel/lld/ > lld-8.0_pre349610.ebuild lld-8.0_pre349610-r6.ebuild metadata.xml > This looks to be normal and expected. The line '[blocks b ] <=sys-devel/lld-8.0_pre349610-r5 ("<=sys-devel/lld-8.0_pre349610-r5" is blocking' is saying a version less than or equal to -r5 is blocking, but the little 'b' means it is auto-resolved via the previous line (aka the upgrade). It is *not* referring to wanting to install -r5 Hi Brian, Thanks for your quick response. Though with the "--emptytree" flag, I expect emerge to ignore the current status of the build root, so the line "[blocks b ] <=sys-devel/lld-8.0_pre349610-r5 ("<=sys-devel/lld-8.0_pre349610-r5" is blocking sys-devel/llvm-8.0_pre349610_p20190109-r13)" shouldn't exist to begin with. Lemme know if I misinterpret the meaning of "--emptytree" flag |