paludis -ip mit-krb5 These packages will be installed: * sys-libs/com_err [N 1.40.11] Reasons: *app-crypt/mit-krb5-1.6.3-r2:0::gentoo, *sys-libs/ss-1.40.11:0::gentoo "common error display library" nls * sys-libs/ss [N 1.40.11] Reasons: *app-crypt/mit-krb5-1.6.3-r2:0::gentoo "Subsystem command parsing library" nls * app-crypt/mit-krb5 [R 1.6.3-r2] <target> Reasons: dev-libs/openssl-0.9.8h-r1:0::installed -doc -krb4 The RDEPEND reads: RDEPEND="!virtual/krb5 || ( ( sys-libs/com_err sys-libs/ss ) ( >sys-libs/e2fsprogs-libs-1.40.11 ) )" e2fsprogs-libs-1.41.0 is installed so com_err and ss are blocked. Either the ebuild is in error or there is a bug in paludis Reproducible: Always Steps to Reproduce: 1.paludis -ip mit-krb5 2. 3.
Should be: || ( sys-libs/com_err sys-libs/ss ) ( >sys-libs/e2fsprogs-libs-1.40.11 ) without the outside parens around it
one person herd, assigning just in case anyone else watches this alias.
Thx for the indication -> already fixed and commited. Sry for the inconvinience ...
Ok - what do we have learned today? Never fix bugs too early and never trust anyone. Portage needs the parenthesis - cite from the devmanual: To depend on either foo or bar: DEPEND="|| ( app-misc/foo app-misc/bar )" I've tested the ebuild in a clean environment with Portage 2.1.4.4 and it simply does what I expect it to do. g, mueli p.S.: I am not using paludis and I don't want to support it directly but if you can provide a workaround I am willing to give it a try on portage and commit it if it works. Therefore I reopen the bug.
The correct depencency is off course: || ( sys-libs/e2fsprogs-libs ( sys-libs/com_err sys-libs/ss ) ) sys-libs/e2fsprogs-libs should be preferred over sys-libs/{com_err,ss}. sys-libs/e2fsprogs-libs-1.40.11 doesn't exist.
(In reply to comment #5) > sys-libs/e2fsprogs-libs should be preferred over sys-libs/{com_err,ss}. Why? sys-libs/e2fsprogs-libs is unstable - sys-libs/{com_err,ss} is stable - I can't agree on that. > sys-libs/e2fsprogs-libs-1.40.11 doesn't exist. You're right with that of couse - it should be >=sys-libs/e2fsprogs-libs-1.41.0 I am going to change it in the next commit - it doen't change anything for the world out there ...
(In reply to comment #4) > To depend on either foo or bar: > DEPEND="|| ( app-misc/foo app-misc/bar )" Yes, That is what I meant to type ;) Sorry for the confusion. Too many parens confuse me...I guess. /me blushes. Have a good day.
|| ( ( sys-libs/com_err sys-libs/ss ) ( >=sys-libs/e2fsprogs-libs-1.41.0 ) ) does not fix the problem in paludis. Perhaps this is a problem with paludis handling of ||() construct. It looks like it is finding the installable ( sys-libs/com_err sys-libs/ss ) true and short circuiting the already installed second param.
that can't be the case, because if it would be like that the "or" statement is useless ... it doesn't give you the freedom to choose -> it makes no sense that the first of the two opportunities wins all the time ;)
This is not a question of whether on not the "or" statement work but rather a question on the definition of "true" when a package is installable. I have tried the changes shown in #6 with no effect. What other explanation is there?
Also, If I put e2fsprogs-libs first in the ||() it fixes the problem.
(In reply to comment #10) > [...] rather a question on the definition of "true" when a package is > installable. [...] And here we fully disagree - it's not only a question if a package is installable -> it's also a question which package _is_ already installed! that means if you have ss and com_err _not_ installed and e2fsprogs-libs installed than the package manager should be satisfied as all dependencies are fulfilled! ... am I understanding something wrong? ...
I am not questioning how things should work. I am only trying to figure out if there is a problem with the ebuild or a bug in paludis. As my system stands now: 1. e2fsprogs-libs-1.41.0 is installed 2. ss and com_err have been uninstalled 3. paludis -ip mit-krb5 trys to pull in com_err and ss 4. If I switch the order of the ||() in the RDEPEND so e2fsprogs-libs is first then paludis does not try to pull in com_err and ss. Should this be reported as a paludis bug or not?
IMHO -> yes. g, mueli
I've removed the old libs and depend direct on e2fsprogs-libs in >=mit-krb5-1.6.3-r4