app-portage/eix: eix-test-obsolete incorrectly matches packages with "**" in /etc/portage/package.keywords. $ eix-test-obsolete No non-matching entries in /etc/portage/package.keywords. No non-matching entries in /etc/portage/package.mask. No non-matching entries in /etc/portage/package.unmask. No non-matching or empty entries in /etc/portage/package.use. No non-matching or empty entries in /etc/portage/package.cflags. The names of all installed packages are in the database. Redundant in /etc/portage/package.keywords: [I] sys-devel/binutils (2.18.50.0.3@08.11.2007): Tools necessary to build programs No redundant entries in /etc/portage/package.mask (or test switched off). No redundant entries in /etc/portage/package.unmask (or test switched off). No redundant entries in /etc/portage/package.use (or test switched off). No redundant entries in /etc/portage/package.cflags (or test switched off). No uninstalled entries in /etc/portage/package.keywords (or test switched off). No uninstalled entries in /etc/portage/package.mask (or test switched off). No uninstalled entries in /etc/portage/package.unmask (or test switched off). No uninstalled entries in /etc/portage/package.use (or test switched off). No uninstalled entries in /etc/portage/package.cflags (or test switched off). All installed versions of packages are in the database (or test switched off). $ cat /etc/portage/package.keywords sys-devel/binutils ** $ grep KEYWORDS /usr/portage/sys-devel/binutils/binutils-2.18.50.0.3.ebuild KEYWORDS="" $ If I delete this entry from package.keywords, then Portage will want to downgrade Binutils.
It's not a bug, it's a feature :) What is triggering the match is REDUNDANT_IF_MIXED=some More precisely, the "some" refers to some of the stable versions (which are stabilized by your ACCEPT_KEYWORDS=x86) - for these versions both keywords x86 and ** apply, and so you have some sort of redundancy. Solution: Either set REDUNDANT_IF_MIXED=some-installed or something similar, or let '**' apply only to the versions which you mean, i.e. edit you /etc/portage/package.keywords to contain only e.g. >=sys-devel/binutils-2.18.50
(In reply to comment #1) > It's not a bug, it's a feature :) > > What is triggering the match is > REDUNDANT_IF_MIXED=some > > More precisely, the "some" refers to some of the stable versions (which are > stabilized by your ACCEPT_KEYWORDS=x86) I don't have any stable versions installed. ACCEPT_KEYWORDS="x86 ~x86" doesn't apply to 2.18.50.0.3 which has KEYWORDS="". $ eix ^binutils$ [I] sys-devel/binutils Available versions: [P](~*)2.15 2.16.1-r3 (*)2.16.91.0.6 2.17 2.17-r1 (~)2.17-r2 (*)2.17.50.0.12 (*)2.17.50.0.16 (*)2.17.50.0.17 (~)2.18 2.18-r1 (**)2.18.50.0.1 (**)2.18.50.0.2 (**)2.18.50.0.3 {multislot multitarget nls test vanilla} Installed versions: 2.18.50.0.3(18:36:50 08.11.2007)(nls -multislot -multitarget -test -vanilla) Homepage: http://sources.redhat.com/binutils/ Description: Tools necessary to build programs $
(In reply to comment #2) > (In reply to comment #1) > > REDUNDANT_IF_MIXED=some > > I don't have any stable versions installed. "some" (which is the default) does not only apply to installed versions. If you want that the "mixed" test only applies to installed versions, set REDUNDANT_IF_MIXED=some-installed
(In reply to comment #3) > (In reply to comment #2) > > (In reply to comment #1) > > > REDUNDANT_IF_MIXED=some > > > > I don't have any stable versions installed. > > "some" (which is the default) does not only apply to installed versions. > If you want that the "mixed" test only applies to installed versions, set > REDUNDANT_IF_MIXED=some-installed OK. REDUNDANT_IF_MIXED shouldn't be defaultly set to entirely useless value. It should be defaultly set to "some-installed".
(In reply to comment #4) > REDUNDANT_IF_MIXED shouldn't be defaultly set to entirely useless value. It is not entirely useless, as it really reports some sort of redundancy which you might miss otherwise. (In fact, your "unnecessary" unmasking of a stable version *is* some sort of reduncancy - just think of the case that this stable version might be a different slot...) It is often really a matter of taste what somebody considers as redundant - that's why there are so many customizations made available for this feature (in fact, I even have REDUNDANT_IF_MIXED=false in my personal settings since I like to unmask some packages not officially supported by amd64 yet with "~x86 x86 ~amd64" which would always be matched by REDUNDANT_IF_MIXED). The policy for the REDUNDANT_IF-defaults is to report anything which by some sane way might possibly be considered as some sort of redundancy - at the risk of some "false" alerts. The advantage is that at least this policy is very consistent and easy to remember, so there are no plans to change it...
REDUNDANT_IF_MIXED="false" since r541.
Please don't resolve bugs unfixed in CVS.
*** Bug 211192 has been marked as a duplicate of this bug. ***
$ svn log -r541 https://svn.gentooexperimental.org/eix ------------------------------------------------------------------------ r541 | martin.vaeth | 2008-02-10 21:22:10 +0100 (nie, 10.02.2008) | 6 lines Make REDUNDANT_IF_MIXED=false the default, see http://bugs.gentoo.org/show_bug.cgi?id=203067 Make $((...)) tests more compatible for "bad" shells. Fix some warning of IRIX' compiler. Minor cosmetic changes. ------------------------------------------------------------------------ $ eix-0.10.5 was released on 2008-02-21, so it probably contains the change which was committed on 2008-02-10.
$ svn log -vr558 https://svn.gentooexperimental.org/eix ------------------------------------------------------------------------ r558 | martin.vaeth | 2008-02-21 19:34:04 +0100 (czw, 21.02.2008) | 1 line Zmodyfikowane ścieżki: A /tags/release-0.10.5 (z /trunk:557) Tagging the 0.10.5 release of the eix project ------------------------------------------------------------------------ $
(In reply to comment #9) > eix-0.10.5 was released on 2008-02-21, so it probably contains the change which > was committed on 2008-02-10. Clearly not according to bug 211192
Sorry for my late reply. The change *is* in eix-0.10.4 and 0.10.5. In bug 211192 the change had no effect, because an old /etc/eixrc was used, thus overriding the new defaults by the old ones.