|| ( =sys-libs/db-5*:=[cxx] =sys-libs/db-4*:=[cxx] ) I can see your point but := can't be used in || (). Sadly, I don't see any sane solution to enforce this constraint with the slotted db mess. Possibilities: 1. drop := and live with lack of rebuilds, 2. use <sys-libs/db-6:= and hope nobody actually has db-1*/3* installed still. I guess you could also try something crazy along the lines of: || ( sys-libs/db-5* sys-libs/db-4* ) <sys-libs/db-6:= i.e. state both constraints separately. In this case, I think explicitly pulling in 4-or-5 will cause <db-6:= to use one of them. @pms-bugs, could you confirm this? @base-system, is there any reason to keep the ancient db versions around?
(In reply to Michał Górny from comment #0) > I can see your point but := can't be used in || (). Sadly, I don't see any > sane solution [...] Ack. We have to wait for ||= for a sane wait to express such dependencies (see bug 489458). > || ( sys-libs/db-5* sys-libs/db-4* ) > <sys-libs/db-6:= I would say, go for this one as a stopgap solution.
(In reply to Ulrich Müller from comment #1) > We have to wait for ||= for a sane wait to express such dependencies for a sane *way*
Is there any compelling reason not to just pick one slot of db and stick to it?
(In reply to Ciaran McCreesh from comment #3) > Is there any compelling reason not to just pick one slot of db and stick to > it? That's a good question. It reminds me of bug 584238, where I've been encouraging the perl team to drop legacy packages from their || ( new legacy ) style dependencies. We can do this as a revision bump with unstable keywords, leaving an older revision with stable keywords, for those users that still need db-4*.
(In reply to Michał Górny from comment #0) > @base-system, is there any reason to keep the ancient db versions around? Yes, so that applications that only use the old interface can keep working, and that newer versions can't always open old databases. Eg #1, for dev-lang/perl: - Any version of sys-libs/db will get you the DB modules. - Also having =sys-libs/db-1* will get you the NDBM modules. Eg #2, for openldap: - You required a dump & reload if you have slapd built against db-4.5 then wanted to rebuild against db-4.6.
How long until a version of 5 goes stable?
commit 8258e69866fe67adb456a8d9ddc8da7bea213533 Author: Michał Górny <mgorny@gentoo.org> AuthorDate: Tue Jun 21 22:00:46 2016 Commit: Michał Górny <mgorny@gentoo.org> CommitDate: Tue Jun 21 22:01:32 2016 app-i18n/poedit: Fix := slot op in || dep, #586310 Fixed as described, should work correctly.