First Last Prev Next    No search results available      Search page      Enter new bug
Bug#: 4698
Alias:
Product:
Component:
Status: RESOLVED
Resolution: FIXED
Assigned To: Portage team <dev-portage@gentoo.org>
Hardware:
OS:
Version:
Priority:
Severity:
Reporter: Phil Bordelon (sunflare) <phil@thenexusproject.org>
Add CC:
CC:
Remove selected CCs
URL:
Summary:
Status Whiteboard:
Keywords:

Filename Description Type Creator Created Size Actions
bugs.4698.patch the patch for emerge/portage.py patch Masatomo Nakano (RETIRED) 2003-08-03 15:30 0000 4.47 KB Details | Diff
bugs.4698.patch patch for portage.py/emerge patch Masatomo Nakano (RETIRED) 2003-08-07 22:15 0000 8.37 KB Details | Diff
bugs.4698.patch patch for portage.py/emerge patch Masatomo Nakano (RETIRED) 2003-08-10 14:11 0000 9.13 KB Details | Diff
emerge.output output of emerge -upvD world text/plain Marius Mauch (RETIRED) 2003-08-15 00:05 0000 3.78 KB Details
Create a New Attachment (proposed patch, testcase, etc.) View All

Bug 4698 depends on: 93469 Show dependency tree
Bug 4698 blocks: 19409 28423 28471 48719 147007 155723
Votes: 0    Show votes for this bug    Vote for this bug

Additional Comments: (this is where you put emerge --info)


Not eligible to see or edit group visibility for this bug.






View Bug Activity   |   Format For Printing   |   XML   |   Clone This Bug


Description:   Opened: 2002-07-08 09:45 0000
Me and drobbins were talking about this earlier this morning.  When you do an
'emerge --update foo-pkg' and foo-pkg has a number of different versions, all
slotted, it only updates the 'latest' slot--i.e. 2 instead of 1.2.  This is a
problem, since the existence of a SLOTted 1.2 version on the machine implies
that it is being used and should be updated regularly.  You can still explicitly
state the updated version, of course, but 'emerge --update' should catch all of
the updates of all of the SLOTs.

I also tentatively suggest that 'emerge --update' NOT work on packages with
SLOT="" if other SLOTs are present.  This is to enforce the current standard of
making sure that SLOT has a value other than NULL, and is another quick check
that can get rid of some developer error.  If other SLOTs are not present,
however, it should do an update as normal, since it's assumed that we simply
haven't gotten around to SLOTting those ebuilds yet.

------- Comment #1 From Phil Bordelon (sunflare) 2002-07-08 09:46:14 0000 -------
cc'ing drobbins per our conversation.

------- Comment #2 From Klaus Kusche 2002-11-02 12:47:28 0000 -------
Me, too, suffered from it today.
If one relies on "update world" only, it is very hard to find out which packages
are really affected and need manual updating to keep the system current (there
were four of them on my system, among them glib and gtk+).

Please make "emerge world" work on all slots!

------- Comment #3 From Martin Schlemmer (RETIRED) 2002-12-03 04:29:56 0000 -------
Nick, not sure if this is still an issue.

------- Comment #4 From Martin Schlemmer (RETIRED) 2002-12-25 14:45:46 0000 -------
Seems fine to me with portage-2.0.46, although it does have a small cosmetic
error ...

-----------
nosferatu env.d # emerge -up --deep world

These are the packages that I would merge, in order:

Calculating world dependencies ...done!

[ebuild    UD] x11-libs/gtk+-1.2.10-r10 [2.2.0-r0]
[ebuild    U ] x11-libs/gtk+-2.2.0-r1 [2.2.0-r0]

nosferatu env.d # 

------- Comment #5 From Klaus Kusche 2002-12-25 14:58:29 0000 -------
What's --deep?

I've 2.0.46, but it is neither in the man page nor in the usage message of emerge.

------- Comment #6 From Martin Schlemmer (RETIRED) 2002-12-26 13:26:12 0000 -------
Nick, I thought you added the '--deep' switch to the docs?

------- Comment #7 From Phil Bordelon (sunflare) 2002-12-26 14:34:28 0000 -------
I just added --deep to the man page; someone can gladly add it to the actual
internal executable documentation.

------- Comment #8 From SpanKY 2003-02-25 15:15:54 0000 -------
*** Bug 13968 has been marked as a duplicate of this bug. ***

------- Comment #9 From Hannes Mehnert (RETIRED) 2003-03-03 18:10:59 0000 -------
*** Bug 16639 has been marked as a duplicate of this bug. ***

------- Comment #10 From SpanKY 2003-04-27 15:47:10 0000 -------
*** Bug 20061 has been marked as a duplicate of this bug. ***

------- Comment #11 From Martin Holzer (RETIRED) 2003-05-22 13:46:27 0000 -------
*** Bug 11888 has been marked as a duplicate of this bug. ***

------- Comment #12 From Stanislav Brabec 2003-06-05 10:54:28 0000 -------
There should be also a way to merge only specific slot - e.g. using
emerge x11-libs/gtk+:1
or
x11-libs/gtk+/1
or something similar.

This is needed for my script revdep-debuild (gentoolkit) (see comment for bug 22161).

------- Comment #13 From Peter Lietz 2003-07-10 11:40:06 0000 -------
I have the following problem with portage 2.0.48-r1:

The output of "emerge -up --deep world" correctly suggests that I update the "slot 1" version of gnome-base/gconf:

...
[ebuild    U ] gnome-base/gconf-1.0.8-r5 [2.2.0]
...

The output of "etcat -v ^gconf$" supports that as well:

*  gnome-base/gconf :
        [  I] gnome-base/gconf-1.0.8-r3 (1)
        [M~ ] gnome-base/gconf-1.0.8-r4 (1)
        [   ] gnome-base/gconf-1.0.8-r5 (1)
        [  I] gnome-base/gconf-2.2.0 (2)
        [M~ ] gnome-base/gconf-2.2.1 (2)

However, if I issue "emerge -up gconf" I get:

These are the packages that I would merge, in order:
 
Calculating dependencies ...done!

So I take it that update world acts correctly while updating a single, slotted version of a package does not.

------- Comment #14 From SpanKY 2003-07-16 15:04:59 0000 -------
*** Bug 24612 has been marked as a duplicate of this bug. ***

------- Comment #15 From Martin Holzer (RETIRED) 2003-07-17 07:58:18 0000 -------
*** Bug 24672 has been marked as a duplicate of this bug. ***

------- Comment #16 From David D. Huff Jr. 2003-07-17 14:22:27 0000 -------
Apache was the last thing I wanted to have this problem.

------- Comment #17 From Michael Stewart (vericgar) (RETIRED) 2003-07-20 23:11:03 0000 -------
This seems related, I'm not sure if it warrents a new bug or not.

The SLOT mechanism seems to be causing confusion in many packages (Apache is an example) where you have one SLOT installed, and portage when doing an emerge -p world is wanting to install another SLOT due to a higher version number (not upgrade, but install beside it). Different SLOTs should be different upgrade paths, and that's what the documentation seems to imply:

http://www.gentoo.org/doc/en/portage-manual.xml
"Most distributions and ports systems tend to have a "freetype" package for freetype 1.x and "freetype2" for 2.x. We consider this approach a sign of a fundamentally broken package management system. We simply assigned the SLOT number 1 to the first and number 2 to the second. With this information Portage can track both versions and upgrade both versions if updates to the respective upstream branches are made."

------- Comment #18 From SpanKY 2003-07-22 20:50:06 0000 -------
*** Bug 25040 has been marked as a duplicate of this bug. ***

------- Comment #19 From SpanKY 2003-07-25 15:17:18 0000 -------
*** Bug 23034 has been marked as a duplicate of this bug. ***

------- Comment #20 From Masatomo Nakano (RETIRED) 2003-08-03 15:29:10 0000 -------
I made a patch for fixing this bug.
But I'm not sure it's correct because SLOT is very complicated ;)

Please test it and do feedback.

------- Comment #21 From Masatomo Nakano (RETIRED) 2003-08-03 15:30:40 0000 -------
Created an attachment (id=15446) [details]
the patch for emerge/portage.py

------- Comment #22 From SpanKY 2003-08-07 16:14:54 0000 -------
*** Bug 26139 has been marked as a duplicate of this bug. ***

------- Comment #23 From Marius Mauch (RETIRED) 2003-08-07 19:54:33 0000 -------
I have some problems with the patch, I'll show you some examples (only the
important parts):

Without patch:

# emerge -p =sys-devel/gcc-2.95.3-r7
!!! all ebuilds that could satisfy "=sys-devel/gcc-2.95.3-r7" have been masked.

# emerge -p /usr/portage/sys-devel/gcc/gcc-2.95.3-r7.ebuild
[ebuild     U ] sys-devel/gcc-2.95.3-r7 [3.2.3-r1] 

# emerge -p apache
[ebuild  N    ] net-www/apache-2.0.47  

With patch:
# emerge -p =sys-devel/gcc-2.95.3-r7
(nothing)

# emerge /usr/portage/sys-devel/gcc/gcc-2.95.3-r7.ebuild
[ebuild     U-] sys-devel/gcc-2.95.3-r7  

# emerge -p apache
[ebuild  N    ] net-www/apache-1.3.28  
[ebuild  N    ] net-www/apache-2.0.47  

So the output for the gcc thing is wrong and inconsistent, and I don't like
behavior for apache:
It is nice to show that there are two SLOTs available, but IMO there are few
people actually using both versions parallel and the behavior is not consistent
with dependency handling. I'd prefer portage to abort in such a situation (when
two SLOTs are available with no preference) and print a message that the user
has to choose a specific version. It would also confuse people that don't know
about SLOT as there is no indication in the output.

------- Comment #24 From Masatomo Nakano (RETIRED) 2003-08-07 22:15:04 0000 -------
hi, Marius
Thank you for reply.

I fixed a bug that emerge is normal end when a package doesn't exist.

And I modified as you said about second problem, which i don't think problem.
I'm not sure which is best solution.

Examples, (English message is just sample. I'm not native English, as you know)
# emerge -p apache

These are the packages that I would merge, in order:

Calculating dependencies ...done!
[multi B     ] net-www/apache-1.3.28 [1]
[multi B     ] net-www/apache-2.0.47 [2]

You need to select one version
Example, "emerge =net-www/apache-2.0.47"
You can install both of them, if you emerge twice.

------- Comment #25 From Masatomo Nakano (RETIRED) 2003-08-07 22:15:35 0000 -------
Created an attachment (id=15727) [details]
patch for portage.py/emerge

------- Comment #26 From Marius Mauch (RETIRED) 2003-08-09 17:55:06 0000 -------
hmm, the blocking stuff is nice, but there are still several problems:
- all kernel versions are slotted, so we get the blocking message for every kernel emerge
- the gcc problem in my last post still exists
- when I want to emerge a SLOTed without -p, the error message uses tha lowest available version
- I get a traceback on emerge -ep world:
\Traceback (most recent call last):
  File "/usr/bin/emerge", line 2065, in ?
    if not mydepgraph.xcreate(myaction):
  File "/usr/bin/emerge", line 989, in xcreate
    if not self.create(myk):
  File "/usr/bin/emerge", line 682, in create
    if not self.select_dep("/",mydep["/"],myparent=mp):
  File "/usr/bin/emerge", line 885, in select_dep
    if not self.create(myk,myparent):
  File "/usr/bin/emerge", line 682, in create
    if not self.select_dep("/",mydep["/"],myparent=mp):
  File "/usr/bin/emerge", line 885, in select_dep
    if not self.create(myk,myparent):
  File "/usr/bin/emerge", line 695, in create
    if not self.select_dep(myroot,edepend["PDEPEND"]):
  File "/usr/bin/emerge", line 805, in select_dep
    print "\nemerge: there are no masked or unmasked ebuilds to satisfy "+arg+"."
TypeError: cannot concatenate 'str' and 'NoneType' objects

------- Comment #27 From Stanislav Brabec 2003-08-10 05:42:29 0000 -------
Please make also possible to update specific slot only, for example by:
emerge -n -u net-www/apache:1

This feature will be very useful for revdep-rebuild.

------- Comment #28 From Martin Holzer (RETIRED) 2003-08-10 06:30:59 0000 -------
*** Bug 26210 has been marked as a duplicate of this bug. ***

------- Comment #29 From SpanKY 2003-08-10 12:27:35 0000 -------
i dont see how doing :1 and -1* is any easier ... 
plus, i dont really see how revdep-rebuild would benefit from the change ... 

------- Comment #30 From Masatomo Nakano (RETIRED) 2003-08-10 14:11:11 0000 -------
Created an attachment (id=15866) [details]
patch for portage.py/emerge

>- all kernel versions are slotted, so we get the blocking message for every
kernel emerge

Is this a problem?

>- the gcc problem in my last post still exists
Fixed

>- when I want to emerge a SLOTed without -p, the error message uses tha lowest
available version

Which package is it?

>- I get a traceback on emerge -ep world:
Fixed

------- Comment #31 From Masatomo Nakano (RETIRED) 2003-08-11 23:47:35 0000 -------
hi, Stanislav

I thought a way to specify SLOT by emerge before.
example
# emerge apache:1
DEPEND="net-www/apache:1"
etc...

But if we discuss it here, this bug will be complicated.
I think we should discuss about this in another new bug.

------- Comment #32 From Stanislav Brabec 2003-08-14 13:52:51 0000 -------
emerge apache:1 does not work for me:
Calculating dependencies
emerge: there are no masked or unmasked ebuilds to satisfy "apache:1".
 
!!! Error calculating dependencies. Please correct.

Separate bug, which explains, why revdep-rebuild needs SLOTted emerge command: see bug 22161. I have added new comment.

------- Comment #33 From Marius Mauch (RETIRED) 2003-08-15 00:03:46 0000 -------
>>- all kernel versions are slotted, so we get the blocking message for every
>>  kernel emerge
> Is this a problem?

It is a problem as either world updates would not include kernel updates anymore or world updates will break unless you update your kernel before. Both cases would be very irritating and annoying for users. The main issue is that EVERY single version is in its own SLOT.
Ok, that's the theory, the actual results are even more confusing. See the attachment of the output of emerge -upvD world with patched and unpatched portage. Why is it upgrading ac-sources to a different SLOT, downgrading nautilus and gdm and upgrading gdm later?

>>- when I want to emerge a SLOTed package without -p, the error message uses
>>  the lowest available version
> Which package is it?

Tested with mm-sources and other packages (don't remember all of them).

------- Comment #34 From Marius Mauch (RETIRED) 2003-08-15 00:05:38 0000 -------
Created an attachment (id=16126) [details]
output of emerge -upvD world

------- Comment #35 From Masatomo Nakano (RETIRED) 2003-08-30 15:01:59 0000 -------
I think it's this story.

1. You already installed gnome-1.4.
2. There is gnome-1.4-r3 in Portage tree.
3. emerge will install gnome-1.4-r3 even if gnome-2.* is installed.
4. gnome-base/gnome-1.4-r3 depends on "<gnome-base/gdm-2.4"
5. you already installed gdm-2.4.1.4
6. gdm has no SLOT(all SLOT="0")
7. then emerge will merge gdm-2.2.5.4 and unmerge gdm-2.4.1.4

The patched emerge is correct, I think. The unpatched ebuild will not do No3-7.

And I think it's also gnome ebuilds bug because gnome-base/gnome
has SLOT but gnome-base/{gdm,nautilus} have no SLOT.

What do you think?

------- Comment #36 From Marius Mauch (RETIRED) 2003-09-11 13:53:55 0000 -------
I think you're right about the gnome/gdm stuff, a lot of the gnome/gtk stuff
doesn't use SLOTs where it should. The kernel thing is still confusing me
though, why does it upgrade to a different SLOT ?

------- Comment #37 From Daniel Robbins (RETIRED) 2003-09-11 16:10:56 0000 -------
kernel sources? because kernel sources can co-exist on disk. Slots are for
packages that can co-exist with other versions of the same package on disk (and
still function correctly.)

------- Comment #38 From Marius Mauch (RETIRED) 2003-09-11 16:31:51 0000 -------
Sure they can, I'm wondering how the patch affects kernels or other things were
each version is in a different SLOT. As I understand it packages should only be
upgraded in their own slot. But I've found a possible explanation for this:
Maybe the kernel ws an exception because it was in the world file. But on the
contrary mm-sources was upgraded without the patch, but not with the patch :-/
So I have one kernel package upgraded and one not upgraded which is clearly
incorrect.

------- Comment #39 From Dirk Heinrichs 2004-06-17 01:32:54 0000 -------
While you're at it: IMHO emerge -update also should _not_ install packages from
currently not installed slots. i.e. I use ~x86 and "emerge -DUu world" wants to
upgrade KDE 3.2.2 -> 3.2.3 in slot 3.2 and install new kde 3.3.0_alpha1
packages in slot 3.3. The latter shouldn't only happen if the version from the
new slot is a dependency of a new version of an allready installed package.

------- Comment #40 From Jason Stubbs (RETIRED) 2005-04-11 07:02:21 0000 -------
*** Bug 88495 has been marked as a duplicate of this bug. ***

------- Comment #41 From Carsten Lohrke 2005-07-14 05:26:56 0000 -------
Please take into account that there can be slot issues with one and the same
package and it's slotted (second level) dependencies, too. >> Bug 98425

------- Comment #42 From Jason Stubbs (RETIRED) 2005-10-07 08:10:44 0000 -------
*** Bug 28380 has been marked as a duplicate of this bug. ***

------- Comment #43 From Jason Stubbs (RETIRED) 2005-10-07 09:10:07 0000 -------
*** Bug 47345 has been marked as a duplicate of this bug. ***

------- Comment #44 From Jason Stubbs (RETIRED) 2005-10-23 04:05:55 0000 -------
*** Bug 97886 has been marked as a duplicate of this bug. ***

------- Comment #45 From Jakub Moc (RETIRED) 2005-11-18 10:04:05 0000 -------
*** Bug 112933 has been marked as a duplicate of this bug. ***

------- Comment #46 From Joe Wells 2006-01-05 15:15:55 0000 -------
What is the status of this bug?  Is there any plan to ever fix it?

Because "emerge --update --deep world" doesn't seem to update older slots,
is there any alternative command that will find all such older slots that
need updating and update them?  (Or maybe also determine that some older
slots are no longer needed and recommend their removal?)

------- Comment #47 From Alec Warner 2006-01-05 19:47:32 0000 -------
(In reply to comment #46)
> What is the status of this bug?  Is there any plan to ever fix it?
> 
> Because "emerge --update --deep world" doesn't seem to update older slots,
> is there any alternative command that will find all such older slots that
> need updating and update them?  (Or maybe also determine that some older
> slots are no longer needed and recommend their removal?)
> 

There is no alternative and it depends on a new resolver.  We have plans for a
new resolver, but no code yet.

------- Comment #48 From Marius Mauch (RETIRED) 2006-01-16 09:38:22 0000 -------
*** Bug 119210 has been marked as a duplicate of this bug. ***

------- Comment #49 From Phil Richards 2006-01-17 11:25:00 0000 -------
Just got tripped up with this with gcc (slots 3.4 and 4.0).  Sigh.  That'll
teach me to not read up on known slot problems.

I only realised there was a problem when I did "equery l gcc" and found that my
3.4 gcc installation was actually masked (or, more precisely, didn't exist in
portage any more).

------- Comment #50 From Jakub Moc (RETIRED) 2006-03-30 09:07:23 0000 -------
*** Bug 128118 has been marked as a duplicate of this bug. ***

------- Comment #51 From Oldrich Jedlicka 2006-03-30 09:10:48 0000 -------
Is there some new status of this item in new portage? I cannot see any
difference - for example sun-jdk 1.4 is still ignored in updates, if you have
1.5 installed. Some plans to have it?

------- Comment #52 From Jakub Moc (RETIRED) 2006-04-03 08:43:57 0000 -------
*** Bug 128644 has been marked as a duplicate of this bug. ***

------- Comment #53 From Jakub Moc (RETIRED) 2006-04-11 09:15:02 0000 -------
*** Bug 129600 has been marked as a duplicate of this bug. ***

------- Comment #54 From Ian P. Christian 2006-06-17 15:07:25 0000 -------
I've just had this problem - I have a KDE installed in slot 7, and found that
slot 3.5 hasn't been updated for sometime. attempting to move to GCC 4.1.1
resulting in revdep-rebuilt trying to emerge --oneshot a whole load of KDE-3.5
packages that are no longer in portage, despite the fact I've been regular with
my emerge --update's.

The fact that this problem with slots not being upgraded isn't mentioned at all
in the emerge man page worries me a little - this issue could result in
outdated packages on your system, and this in turn surely could result in
security issues being present. (take for example in my case, the various
security issues in KDM -  the KDE login manager).

Anyway, I solved my problem doing this (i'm sure htis command could be improved
upon, effeciency wans't in mind here, I just wanted to get it done ;) )

# equery list --duplicates | grep "\(3.5\)" | grep kde-base | sed
"s/\(.*-3.5\).*/\1/" | sed "s/\(.*\)/=\1*/" | xargs emerge --update -pv 


------- Comment #55 From Vlastimil Babka (Caster) 2006-07-13 15:59:11 0000 -------
Missed the bug's fourth birthday :(

------- Comment #56 From Richard Garand 2006-07-13 16:44:54 0000 -------
(In reply to comment #55)
> Missed the bug's fourth birthday :(

Fear not, there will be many more to come... it's still a "new" bug.

------- Comment #57 From Jakub Moc (RETIRED) 2006-07-14 02:53:58 0000 -------
*** Bug 140293 has been marked as a duplicate of this bug. ***

------- Comment #58 From Phil Bordelon (sunflare) 2006-07-14 15:36:30 0000 -------
Surely one of the portage developers would love to take on this delightful
task?  If only in honour of its fourth birthday?  I really /did/ have a
conversation with drobbins back then about how it was incorrect behaviour ...
:)

------- Comment #59 From Marius Mauch (RETIRED) 2006-07-14 19:07:02 0000 -------
dep resolver donations are welcome.

------- Comment #60 From Zac Medico 2006-07-15 00:39:19 0000 -------
In the case of `emerge -uD world`, it seems like we'd need support for slot
deps in the world set. The alternative would be to simply use an "all" package
set (bug 96088) to pull in the lower slots.

The case of `emerge -u <atom>` is relatively easy to support since it only
needs to see which slots are matched by the command (depending on which slots
are installed) and pull in the appropriate updates.

------- Comment #61 From Jakub Moc (RETIRED) 2006-07-16 00:21:48 0000 -------
*** Bug 140591 has been marked as a duplicate of this bug. ***

------- Comment #62 From Jakub Moc (RETIRED) 2006-08-21 04:17:10 0000 -------
*** Bug 144622 has been marked as a duplicate of this bug. ***

------- Comment #63 From Jakub Moc (RETIRED) 2006-08-29 10:19:18 0000 -------
*** Bug 145497 has been marked as a duplicate of this bug. ***

------- Comment #64 From Jakub Moc (RETIRED) 2006-09-10 12:31:33 0000 -------
*** Bug 147093 has been marked as a duplicate of this bug. ***

------- Comment #65 From Doug Goldstein 2006-09-18 08:40:20 0000 -------
According to Brian Harring, it's not the highest SLOT it's the highest package
version.

------- Comment #66 From Doug Goldstein 2006-09-18 08:44:11 0000 -------
Enjoy your bug spam. (Sorry)

------- Comment #67 From Horst Schirmeier 2006-09-19 11:39:25 0000 -------
Just curious, when is this going to be fixed? This "feature" is a PITA on my
current revdep-rebuild run (due to libssl/libcrypto ABI breakage), _many_

emerge: there are no ebuilds to satisfy "=foo/bar-1.2.3-r4".

to be resolved manually by emerging the newest ebuild in that slot (and having
to re-run revdep-rebuild each time, or manually edit the .revdep-rebuild tmp
files).

This bug is really annoying, and as it is in bugzilla for more than four
years(!) now, I wonder whether it will be adressed some day (there were already
patches for earlier Portage versions, see attachment list!) or whether the
Portage team's efforts continue going into groundbreaking features like
configurable colouring (see current GWN).

------- Comment #68 From Zac Medico 2006-09-19 11:54:56 0000 -------
For those wondering when this bug will be fixed, please note that bug 93469 is
a dependency that is blocking progress on this bug.

------- Comment #69 From Phil Richards 2006-09-19 12:18:20 0000 -------
Hmm, wrt Comment #68: I can see that the two are related, but I can't see that
SLOT dependencies *have* to be done first.

If I have SLOT a and SLOT b of a package installed (b > a), then this bug is
(as far as my understanding, and also fitting in with the new exciting summary
line) all about the fact that updates to SLOT a do not get picked up properly. 
That has got nothing to do with SLOT dependencies (although having SLOT
dependencies may make this problem go away).

------- Comment #70 From Zac Medico 2006-09-19 12:52:30 0000 -------
(In reply to comment #69)
> Hmm, wrt Comment #68: I can see that the two are related, but I can't see that
> SLOT dependencies *have* to be done first.

The problem is that packages are pulled into the dependency graph as dependency
atoms.  Without slot support in the dependency atoms, it's impossible to
restrict an upgrade to a specific slot.  This results in the highest slot being
pulled in when the highest version within a lower slot would have been the
desired behavior.

------- Comment #71 From Zac Medico 2006-10-04 23:51:16 0000 -------
This is fixed in svn r4595.

------- Comment #72 From Zac Medico 2006-10-05 16:18:32 0000 -------
This has been released in 2.1.2_pre2-r4.

------- Comment #73 From Phil Bordelon (sunflare) 2006-10-05 16:22:46 0000 -------
And it only took a little over four years!  Yeah!  Thanks, guys.  You rock. 
(I'm not being sarcastic with that; this has been a personal pet peeve of mine
since I was a dev, hence the bug.)

------- Comment #74 From Vlastimil Babka (Caster) 2006-10-06 11:36:59 0000 -------
Sorry to spoil the fun, but doesn't seem 100% fixed to me.
World looks fine:
# emerge -up world
Calculating world dependencies... done!
[ebuild     U ] dev-java/sun-jdk-1.6.0.0_beta101 [1.6.0.0_beta100]

But package directly...

# emerge -p sun-jdk
Calculating dependencies... done!
[ebuild   Rf  ] dev-java/sun-jdk-1.7.0.0_alpha01

# emerge -up sun-jdk
Calculating dependencies... done!
(nothing to merge)

Tested with 2.1.2_pre2-r4 and -r5.

------- Comment #75 From Zac Medico 2006-10-06 11:50:03 0000 -------
(In reply to comment #74)
> # emerge -up sun-jdk
> Calculating dependencies... done!
> (nothing to merge)

I think that behavior is fine.  Otherwise we'd be treating sun-jdk as a
"greedy" atom (matching all slots instead of the highest version).  If you're
not using the world or system set, then you should run a command like `emerge
-up sun-jdk:1.6`.

------- Comment #76 From Zac Medico 2006-10-06 12:35:43 0000 -------
We could add a --greedy option to enable greedy matches on atoms, but that
would be a separate bug.  The world and system sets are greedy by nature.

------- Comment #77 From Vlastimil Babka (Caster) 2006-10-06 12:47:32 0000 -------
Well, I don't see why not make it greedy by default? Original comment 0 talks
about 'emerge --update foo-pkg' and you in comment 60 say it's easy :)

------- Comment #78 From Zac Medico 2006-10-06 13:04:30 0000 -------
(In reply to comment #77)
> Well, I don't see why not make it greedy by default? Original comment 0 talks
> about 'emerge --update foo-pkg' and you in comment 60 say it's easy :)

So, --update should imply --greedy?  It's never been greedy like that before,
so it will probably catch lots of people by surprise.  We'll have to provide a
way for them to disable the greedy behavior, as well.  We could make it an
option similar to --with-bdeps, having y and n choices.

------- Comment #79 From Vlastimil Babka (Caster) 2006-10-06 14:46:46 0000 -------
(In reply to comment #78)
> So, --update should imply --greedy?  It's never been greedy like that before,
> so it will probably catch lots of people by surprise.

So? World update also wasn't greedy before, and now it is. So why not make
package update consistent. I honestly don't believe anybody would mind or be
badly surprised that package updates properly when he asks it to update.

------- Comment #80 From Zac Medico 2006-10-06 15:01:37 0000 -------
The meaning of this bug has become too overloaded over the years.  I'm closing
this as fixed via the greedy behavior of system and world sets.  Any additional
greedy behavior should be treated as a separate feature request (a different
bug).

------- Comment #81 From Michiel de Bruijne 2006-10-07 02:34:47 0000 -------
(In reply to comment #80)
> Any additional greedy behavior should be treated as a separate feature request (a different bug).

Your wish is my command ;-) bug #150361

------- Comment #82 From Jakub Moc (RETIRED) 2007-01-01 11:08:32 0000 -------
*** Bug 159626 has been marked as a duplicate of this bug. ***

------- Comment #83 From Jakub Moc (RETIRED) 2007-01-31 08:43:12 0000 -------
*** Bug 164634 has been marked as a duplicate of this bug. ***

First Last Prev Next    No search results available      Search page      Enter new bug