Open Flowdalic opened 1 year ago
Do you have either set UPGRADE_TO_HIGHEST_SLOT=false
or do you have sys-kernel/gentoo-kernel
in /etc/portage/package.slot_upgrade_forbid
?
There was a typo on the eix manpage UPDATE_TO_HIGHEST_SLOT
(false) instead of UPGRADE_TO_HIGHEST_SLOT
(correct).
Do you have either set
UPGRADE_TO_HIGHEST_SLOT=false
No, also explicitly setting UPGRADE_TO_HIGHEST_SLOT=true
does not change this behavior
$ UPGRADE_TO_HIGHEST_SLOT=true FORMAT='{upgrade}true{else}false{}' eix --exact --pure-packages sys-kernel/gentoo-kernel
false
or do you have
sys-kernel/gentoo-kernel
in/etc/portage/package.slot_upgrade_forbid
I didn't even know that such a file exists. It appears to be eix specific and does not affect portage (at least I could find the string "slot_upgrade_forbid" in portage's source), right?
I tried to reproduce the problem by removing my package.accept_keywords
for gentoo-sources
and lying about the installed version in /var/db/pkg
. However, I get [U?]
as expected (I did not try the manual {upgrade}
check, because this is redundant as being implicitly called when displaying the [U?]
).
In the moment I have no idea what might cause the problem for you.
No, also explicitly setting UPGRADE_TO_HIGHEST_SLOT=true does not change this behavior
Please verify that eix --print UPGRADE_TO_HIGHEST_SLOT
really prints true
. (This is just a desparate attempt, as I really cannot imagine any other cause). Also, please try to regenerate the database with eix-update (perhaps some subtle corruption has happened.)
It appears to be eix specific and does not affect portage
This conjecture is correct. I introduced it as a way to customize UPGRADE_TO_HIGHEST_SLOT
per package. Perhaps not the greatest mechanism, but that's how it is now.
Another possibility (though even more unlikely): Please verify that eix --print SLOT_UPGRADE_FORBID
indeed prints the expected path /etc/portage/package.slot_upgrade_forbid
.
I just remember what may be the missing piece. I have a user set file /etc/portage/sets/kernel-preserved
:
=sys-kernel/gentoo-kernel-6.1.22
=sys-kernel/gentoo-kernel-6.2.13
=sys-kernel/gentoo-kernel-6.1.27-r2
=sys-kernel/gentoo-kernel-6.1.21
maybe this is confusing eix?
No. eix does not do any dependency resolution. These files are only used to check whether a package is in world{,_sets}. I tried nevertheless, and it had no effect.
Shouldn't the output of the following be 'true'
given that
eix sys-kernel/gentoo-kernel
showswhere 6.1.31 is stable and installable? Also note that
[?]
besides the package name. I would have expected[?U]
.