Summary: | world/system discrepencies | ||
---|---|---|---|
Product: | Portage Development | Reporter: | Phil Richards <news> |
Component: | Core - Dependencies | Assignee: | Portage team <dev-portage> |
Status: | RESOLVED INVALID | ||
Severity: | normal | ||
Priority: | High | ||
Version: | 2.1 | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: |
Output of "emerge -edp system"
Output of "emerge -edp world" |
Description
Phil Richards
2006-03-30 09:04:01 UTC
(In reply to comment #0) > Both the 0.8.12 and 0.10.4 versions *are* installed (the 0.8 because it is > dragged in as a dependency, the 0.10.4 because it is the latest version). > > I don't understand why the 0.10.4 version isn't shown by emerge -pe world. Am > I just being dumb? (If I am, this current behaviour is rather inconvenient.) Known issue w/ slots. > Second symptom (and sorry if this is a completely different problem): > I don't use nano. I vaguelly remember talk of nano no longer being a > requirement. Today there was an update for nano - and because I'm playing > around with this cleanup, I noticed this: > ~ # emerge -pe world | grep nano > ~ # emerge -pe system | grep nano > [ebuild N ] app-editors/nano-1.3.11 > > Rebuild "world" - no nano. Rebuild "system" - nano. world != system, no bug there. *** This bug has been marked as a duplicate of 4698 *** Ok, fair enough, but then this part of the emerge man page is somewhat misleading... set Package sets are a convenient shorthand for large groups of packages. Two sets are currently supported: system and world. system refers to a set of packages deemed necessary for your system to run properly. world contains all of the packages in system, along with any other packages listed in /var/lib/portage/world. [See FILES below for more information.] Note that these commands are generally used in conjunction with --update. Phil That's possibly an issue. Can you attach the output of `emerge -edp system` and `emerge -edp world` please? Created attachment 83484 [details]
Output of "emerge -edp system"
Created attachment 83485 [details]
Output of "emerge -edp world"
Ok, I've added the output for system and world. The obvious difference is that "virtual/editor" bit. Having hunted around, the only places that mention virtual/editor (outside of /usr/portage) are in /var/db/pkg (hardly surprising), /var/cache/edb/dep (again, not exactly surprising), and the place that I suspect is the culprit: /var/cache/edb/virtuals (which shows it as nano). That doesn't, of course, explain why system and world behave differently :-) phil Is vim installed? Sorry, meant to add that to the comment previous time round - both vim and gvim are installed, so in total there are 3 PROVIDEs for virtual/editor (including nano). I can't reproduce this but the virtuals-on-demand changes might be causing it for you. What does 'emerge -vp virtual/editor' give you? ~ # emerge -vp virtual/editor [ebuild R ] app-editors/nano-1.3.11 USE="ncurses nls slang spell -build -debug -justify -minimal -unicode" 0 kB nano used to be in the "world" file (once upon a time), so that might have something to do with it - I removed the entry by hand (didn't emerge -C nano). I can't remember whether this was pre-auto virtual or not. In fact, I can't remember whether it was pre-"nano is in system" (if my memory serves me right). As I said in Comment #1, I wouldn't be surprised if this problem is a result of the various upgrades etc that I've done, and bits of cruft left behind as a result that I never got round to cleaning up properly. I suspect that if I clean out nano then the problem will go away forever, but I'm happy to keep it around until you're happy this bug can be closed. Last test: python -c 'import portage; print portage.settings.getvirtuals("/")["virtual/editor"]' ~ # python -c 'import portage; print portage.settings.getvirtuals("/")["virtual/editor"]' ['app-editors/nano', 'app-editors/vim', 'app-editors/gvim'] Ok. As you're probably aware, "system" depends on virtual/editor. The result you just posted shows that portage's arbitrary preference for it is nano. However, when processing world vim appears to be processed first. After a package is processed, the preferences of any virtuals it provides are updated to prefer that package. Since vim is processed first, virtual/editor then gets resolved to vim and nano is ignored. |