View previous topic :: View next topic |
Author |
Message |
clattuc n00b
Joined: 19 Apr 2002 Posts: 57
|
Posted: Fri May 03, 2002 5:05 pm Post subject: Portage version management breaks down for JDKs? |
|
|
Strictly speaking it doesn't - but in this situation it's very inconvenient, and probably not limited to Java development either.
I'll explain:
I'm a Java developer, and usually have a few different versions of the JDK installed. Not a very unusual situation on a development station.
For example, at the moment I have Blackdown's JDK 1.3, IBM's 1.1.8, IBM's 1.3.1, Sun's 1.3.1_03 and Sun's 1.4.0 installed. (And Sun's J2EE 1.3.1 as well)
Now, when I do a "emerge clean world", it tries to uninstall Sun's 1.3.1_03. Although 1.4.0 supersedes 1.3.1_03, it doesn't replace it, and portage shouldn't try to uninstall it.
Interestingly, it doesn't do this for some other ebuilds - still have to work out if that's by design, or a bug in portage.
Is there something wrong with the Sun-jdk ebuilds, or is this a more general problem in portage? |
|
Back to top |
|
|
leifbrown n00b
Joined: 25 Apr 2002 Posts: 36
|
Posted: Sat May 04, 2002 3:58 pm Post subject: Couple of questions |
|
|
When you check your /var/cache/edb/world file, does it just list "dev-java/sun-jdk"? If so, you're describing the expected behavior. clean is assumed.
What you *want* it to say is
"=dev-java/sun-jdk-1.4.0-r2"
"=dev-java/sun-jdk-1.3.1.2"
...
which pins the version numbers.
This is detailed in the portage manual:
http://www.gentoo.org/doc/portage-manual.html
Look for the section "World Update", or "code listing 19".
I haven't tried it, but I suspect that you might be able to use >= and < to pin "the most recent 1.3.x", or "the highest revision of 1.3.1".
Whatever you find please suggest an addition to the manual, or to the requested features list. |
|
Back to top |
|
|
clattuc n00b
Joined: 19 Apr 2002 Posts: 57
|
Posted: Sun May 05, 2002 10:25 pm Post subject: Re: Couple of questions |
|
|
leifbrown wrote: |
"=dev-java/sun-jdk-1.4.0-r2"
"=dev-java/sun-jdk-1.3.1.2"
...
which pins the version numbers.
I haven't tried it, but I suspect that you might be able to use >= and < to pin "the most recent 1.3.x", or "the highest revision of 1.3.1".
|
Unfortunately, this doesn't work. Even if I pin both versions, clean wants to unmerge the 'older' 1.3.1.03 jdk. - I suppose because portage considers them to be versions of the same package - generally true, just not in this case.
For the same reason I don't think you can specify both "the most recent version of 1.3.1" and "the most recent version of "1.4.0" - at least, I can't get it to work |
|
Back to top |
|
|
Guest
|
Posted: Tue May 07, 2002 2:44 am Post subject: Re: Couple of questions |
|
|
Quote: | Unfortunately, this doesn't work. Even if I pin both versions, clean wants to unmerge the 'older' 1.3.1.03 jdk. - I suppose because portage considers them to be versions of the same package - generally true, just not in this case.
|
Huh. That's odd.
I'd expect the same behavior to be mirrored in the X11-libs/qt libraries, and it's not. I've got 2.3.2 and 3.0.4 running side by side without any trouble.
In fact, portage has reported as many as 5-6 different versions of the same package for me (libpng, for instance).
I wonder if there's something unique to the sun-jdk ebuilds, or to sun java itself?
I'm trying this myself. Let you know if I get things working. |
|
Back to top |
|
|
clattuc n00b
Joined: 19 Apr 2002 Posts: 57
|
Posted: Tue May 07, 2002 5:00 am Post subject: Re: Couple of questions |
|
|
Anonymous wrote: | Quote: | Unfortunately, this doesn't work. Even if I pin both versions, clean wants to unmerge the 'older' 1.3.1.03 jdk. - I suppose because portage considers them to be versions of the same package - generally true, just not in this case.
|
I'd expect the same behavior to be mirrored in the X11-libs/qt libraries, and it's not. I've got 2.3.2 and 3.0.4 running side by side without any trouble.
|
Heh! Exactly! I have several duplicate libraries (libpng, qt, kdlibs, ...) and they seem to live alongside each other quite happily...
I'd be interested in any extra info you might find... |
|
Back to top |
|
|
leifbrown n00b
Joined: 25 Apr 2002 Posts: 36
|
Posted: Thu May 09, 2002 2:24 am Post subject: works for me |
|
|
last two lines in my world file are
=dev-java/sun-jdk-1.3.1.03
=dev-java/sun-jdk-1.4.0-r2
If I unmerge sun-jdk, they both come out. If I merge one, then the other, they both stay. (even with "clean")
Pinning at >= doesn't work, nor does specifying the .ebuild, nor does specifying partial version numbers.
I did see some spooky behavior when I had only one installed and had added both to the world file -- I tried
emerge update clean world
and emerge knew to install the other.
Note I'm running portage 1.9.10, so that may make a difference... |
|
Back to top |
|
|
clattuc n00b
Joined: 19 Apr 2002 Posts: 57
|
Posted: Sun May 12, 2002 8:38 pm Post subject: Re: works for me |
|
|
leifbrown wrote: | l
=dev-java/sun-jdk-1.3.1.03
=dev-java/sun-jdk-1.4.0-r2
If I unmerge sun-jdk, they both come out. If I merge one, then the
|
Yes - this works. (Now running portage 1.9.10 too)
Actually, I did some reading in the documentation (You did WHAT! Are you sick or something ), and I think this is what the "SLOT" system is in portage for. So the 1.3.1 and 1.4.0 jdks should be assigned slots, and all would work as expected... I think |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|