Summary: | skip masked dependencies on --update | ||
---|---|---|---|
Product: | Portage Development | Reporter: | Mark Guertin <mguertin> |
Component: | Unclassified | Assignee: | Portage team <dev-portage> |
Status: | RESOLVED CANTFIX | ||
Severity: | enhancement | CC: | jrray, radek |
Priority: | High | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: | emerge.diff |
Description
Mark Guertin
2003-01-02 11:23:55 UTC
This comes from specifing --update. 'emerge xpdf' would acknowledge that lesstif is installed and would merge okay. 'emerge -u xpdf' wants to try to update lesstif, and at this point the masked version you have installed becomes "invisible" (because it is masked). Portage wants to install an unmasked version but finds none. This is the same mechanism that tries to downgrade your installed masked packages to the latest non-masked version during 'emerge -u world'. My patch from bug 14078 would allow the '-u world' to continue, although it still would not upgrade xpdf. I believe Portage is working as designed. Since your ACCEPT_KEYWORDS does not allow for masked packages and you've asked it to upgrade, it can't find a way to give you a non-masked lesstif and errors out. The erroring out part is not entirely helpful. I think the design could be extended to allow an installed package to meet a dependency when no suitable upgrade can be found, allowing xpdf to be upgraded. Created attachment 7428 [details, diff]
emerge.diff
This patch changes emerge so that when checking dependencies if no installable
(unmasked) candidates exist, but a matching masked version is on disk, the
dependency is considered satisfied.
geep root # emerge -up xpdf
These are the packages that I would merge, in order:
Calculating dependencies ...done!
[ebuild U ] app-text/xpdf-2.01-r1 [2.01]
geep root # emerge -up lesstif
These are the packages that I would merge, in order:
Calculating dependencies
!!! all ebuilds that could satisfy "lesstif" have been masked.
!!! Error calculating dependancies. Please correct.
geep root # emerge -up world
These are the packages that I would merge, in order:
Calculating world dependencies ...done!
[ebuild U ] app-text/xpdf-2.01-r1 [2.01]
I should mention that in my example I edited xpdf-2.01-r1 to depend on lesstif. I was concerned about this because I was sure the previous behaviour was that if something that met or beat the dependancy was already install (masked or not) it wouldn't complain... but I could be wrong. old bug, putting it to bed |