Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 264628 - emerge new set for all installed packages request
Summary: emerge new set for all installed packages request
Status: CONFIRMED
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Enhancement/Feature Requests (show other bugs)
Hardware: All Linux
: High enhancement (vote)
Assignee: Portage team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-04-02 14:59 UTC by Kobyakin Alexander
Modified: 2009-04-02 16:51 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Kobyakin Alexander 2009-04-02 14:59:12 UTC
May be it would be good to add a special set (named all for example) for the all packages installed in the system to workaround issues with packages that are not listed in the world set even with all dependences included

Reproducible: Always
Comment 1 Zac Medico gentoo-dev 2009-04-02 16:24:36 UTC
We already have that in portage-2.2. Here's the entry from /usr/share/portage/config/sets.conf:

# A superset of the classic <parameter>world</parameter> target, a set created
# by this class contains SLOT atoms to match all installed packages. Note that
# use of this set makes it impossible for emerge to solve blockers by automatic
# uninstallation of blocked packages.
[installed]
class = portage.sets.dbapi.EverythingSet
world-candidate = False

The thing about blockers is a pretty severe problem though, since automatic blocker is an important feature now and if users blindly use @installed for all updates then they'll hit blockers that would otherwise be solved automatically. If we're going to encourage people to use @installed, then we'll need more advanced blocker handling in order to automatically solve this problem. However, I'm curious why you think that you need this set anyway. Generally, `emerge --update --deep --with-bdeps=y world` is the perfect command for a full update of all packages, as mentioned at the beginning of the faq:

 http://www.gentoo.org/proj/en/portage/doc/faq.xml

Any package that aren't updated by that command should either be added to your world file, or else removed via --depclean.
Comment 2 Kobyakin Alexander 2009-04-02 16:51:42 UTC
Well, there are generally two reasons. 
First, there are some packages that I don't want to upgrade as often as the whole world, but no packages depend on them, so I would like to have a possibility to update system with (full update) or without them (`emerge -vnD world`).
Second, I found an interesting situation myself with two real packages. Consider two  packages, A and B-1.0, A depends on B, both are installed. One day we have a new version of B, say B-2.0, and the maintainer of A decided that it should use only B-2.0, so now A depends on B >=2, it was chainged in ebuild. But A is not reinstalled (A is fine), so we have a system with A and B-1.0 installed, both work fine even with an old version of B, but depclean shows that B-1.0 should be removed as it is not in world and is not used by any packages. And B now cannot be upgraded via `emerge -vnD world`! Having a full set it can be also workarounded.