Hi, Following example : firefox-3.0.4-r1 defined in package.keywords, updating world does nothing about it. If a security bug is discovered in 3.0.4-r1, firefox will not be updated until a later stable version will not be available. I know that I'm playing with ~arch, but I think that a warning should be enough to force the user to make a choice : update the package.keywords to upgrade to next version or downgrade the package. Thanks. # grep firefox /etc/portage/package.keywords =www-client/mozilla-firefox-3.0.4-r1 ~x86 # emerge -pvuDN world These are the packages that would be merged, in order: Calculating dependencies... done! Total: 0 packages, Size of downloads: 0 kB # short-eix -e mozilla-firefox mozilla-firefox 2.0.0.18 ~3.0.4-r2 Same example with sys-apps/portage : # grep portage /etc/portage/package.keywords =sys-apps/portage-2.1.6_rc2 ~x86 # emerge -pvuDN world These are the packages that would be merged, in order: Calculating dependencies... done! Total: 0 packages, Size of downloads: 0 kB # short-eix -e portage portage [P]2.1.1-r2 2.1.4.5 ~2.1.6 [M]~2.2_rc17 Reproducible: Always
It's possible to use portage without a portage tree containing ebuilds, by using exclusively binary packages. Because of this, the warning that you suggest will not make sense for some users and therefore it should not be enabled by default.
(In reply to comment #1) > It's possible to use portage without a portage tree containing ebuilds, by > using exclusively binary packages. But in this case, is the following file exists ? /var/db/pkg/www-client/mozilla-firefox-3.0.4-r1/mozilla-firefox-3.0.4-r1.ebuild Is there a difference between emerged-built-packages and emerged-binary-packages in /var/db/pkg ?
Binary packages do install an ebuild in /var/db/pkg, just like a normal ebuild does. However, you want a warning about ebuilds that don't exist in $PORTDIR (/usr/portage), so the ebuilds that exist in /var/db/pkg are irrelevant.
Ok, I didn't know that the metadata were integrated to tbz2 files. That's why I thought to /var/db/pkg. After reading the following forum thread, I think I see the problem. http://forums.gentoo.org/viewtopic-t-708730.html
Correct me if I'm wrong : if PORTAGE_BINHOST is unset, emerge need a tree to update world. In this case you should be able to display a warning for missing ebuilds ?
A PORTAGE_BINHOST setting isn't really a reliable indicator, since it's also possible to get similar results by sharing $PKGDIR over nfs. We'll have to give the user control over it by adding a configuration setting for the specific purpose of enabling/disabling the warning messages. For example, it could be an emerge option that the user configures via EMERGE_DEFAULT_OPTS, or a value that's specified in FEATURES. However, I'd prefer to add support for a new configuration file which we can use to control options such as this.
I'm planning enable the warning whenever --usepkgonly is not enabled. Also bug #252167 is related to this bug. Whenever --usepkgonly is not enabled, I'm planning to trigger automatic downgrades for ebuilds that no longer exist or have had keywords removed.
*** Bug 383323 has been marked as a duplicate of this bug. ***