Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 62344 - problem with -bin renamed packages
Summary: problem with -bin renamed packages
Status: RESOLVED CANTFIX
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Unspecified (show other bugs)
Hardware: All All
: High normal (vote)
Assignee: Java team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 62420
  Show dependency tree
 
Reported: 2004-08-30 23:23 UTC by Thomas Matthijs (RETIRED)
Modified: 2005-06-29 10:56 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 Thomas Matthijs (RETIRED) gentoo-dev 2004-08-30 23:23:08 UTC
for example regexp -> regexp-bin
in regards to
if you had regexp merged, and it moved it to regexp-bin
java-config -p regexp-bin (like used in ant-tasks)
won't work

options?
1) make java-config ignore -bin
2) remove -bin from path when installing
3) remove the move, and force updating
4) ?
Comment 1 Thomas Matthijs (RETIRED) gentoo-dev 2004-08-31 11:01:34 UTC
4) just -p regexp,regexp-bin
(probbaly best solultion?)
Comment 2 Karl Trygve Kalleberg (RETIRED) gentoo-dev 2004-08-31 13:48:18 UTC
What would happen when we later on install regexp, then? Both classpaths are concatenated, with preference given to the source one?

Let's take a step back for a moment and consider regexp.

1) Initial situation: dev-java/regexp is a binary-only package, but it's
open-sourced. 
2) We move it to dev-java/regexp-bin, since building from source will take 
a lot of work.
3) We later rewrite the ebuild to compile form source, and want to retire regexp-bin.

No matter where in this process a user comes into the game, regexp must work. Also, he should not be required to upgrade manually at any stage. It should Just Work.

If we follow zx's advice and just rewrite the "hidden" -bin packages, we can
stop here. If we want to be consistent, we have to start thinking:)

Let's break it down:
2) After the move, a user may or may not upgrade regexp afterwards. If he
doesn't, the jar files stay in /usr/share/regexp/. If he does, they are now
installed in /usr/share/regexp-bin.
3) When we write a new from-source ebuild, we have the same problem in
reverse.

AFAICT there are five cases from the above situation:

1) User never upgrades
2) User upgrades after move to -bin
3) User installs after move to -bin
4) User upgrades after move back to src
5) User keeps -bin

In either case, having an ebuild depending on regexp do 
java-config -p regexp, regexp-bin will work because:
1) Either regexp or regexp-bin will be installed
2) Both cannot be installed at the same time. Since we do moves,
   there can only exist _ONE_ installable regexp candidate for the 
   user at any one time:
 a) If the user has the "old" regexp and tries to install regexp-bin,
    portage will move regexp to regexp-bin before installing the -bin.
 b) If the user has regexp-bin, trying to install regexp (new), same
    story as (a).

So, yes, I think your suggestion will work. However, it does print errors
about the one alternative that is missing. We can probably just ignore that,
CLASSPATH=$(java-config -p regexp,regexp-bin) will work regardless.

Comment 3 Thomas Matthijs (RETIRED) gentoo-dev 2004-09-03 11:17:58 UTC
we could aways redirect stderr

we talked on irc, to have -bin install to /opt/share and src to /usr/share, and have java-config search /usr/share first then /opt/share
and use the name without -bin everywhere

i think we should (i will if you think its a good idea)
1) update java-config to support this
2) adjust the java-pkg eclass to support this
3) bump all -bin packages, make them depend on java-config with ^
3) adjust all ebuilds to use java-config -p package (without -bin)

and the mess is gone?
or did i miss something

if we then move a pkg from -bin to src it shouldn't give any problems?
Comment 4 Thilo Six 2004-09-05 18:58:45 UTC
same Problme here

but not not only with regexp. There are other packages that were renamed,too,
which i had to mess around.


dev-java/regexp-bin      =>  dev-java/regexp
gnome-base/ORBit         =>  gnome-base/orbit
gnome-base/ORBit2        =>  gnome-base/orbit-2
dev-java/avalon-logkit   =>  dev-java/avalon-logkit-bin
dev-python/PyOpenGL      =>  dev-python/pyopengl

Now the bad thing with is, you can
Comment 5 Thilo Six 2004-09-05 18:58:45 UTC
same Problme here

but not not only with regexp. There are other packages that were renamed,too,
which i had to mess around.


dev-java/regexp-bin      =>  dev-java/regexp
gnome-base/ORBit         =>  gnome-base/orbit
gnome-base/ORBit2        =>  gnome-base/orbit-2
dev-java/avalon-logkit   =>  dev-java/avalon-logkit-bin
dev-python/PyOpenGL      =>  dev-python/pyopengl

Now the bad thing with is, you can´t even ugprage|remerge|unmerge these 
packages, because e.g.:

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

Calculating dependencies -
emerge: there are no masked or unmasked ebuilds to satisfy "dev-java/avalon-logkit".

!!! Error calculating dependencies. Please correct.

The only way that to get around this was to force emerge by doing:
# emerge -Ca var/db/pkg/dev-java/avalon-logkit-bin-1.2.2/avalon-logkit-1.2.2.ebuild

and then :

emerge -a --noconfmem --oneshot avalon-logkit


1. is this the right bug report for that, or should I open an other one ?

2. The Problem here is, that the Ebuild from the Portage Tree had an other Name
   and Portage could it find anymore.
   Maybe it woult be better then to make s.th. like a version bump instead ?
   e.g. instead of just renaming the Ebuild ( what will lead to problems with 
   allready installed Packages ) just "upgrade to an other Name":

   dev-java/regexp-bin-1.3  => dev-java/regexp-1.3-r1

   !!! but without deleting to old one from portage !!!
Comment 6 Thomas Matthijs (RETIRED) gentoo-dev 2004-09-06 00:55:49 UTC
you should be unable to unmerge dev-java/avalon-logkit
since that no longer exist
when you unmerge dev-java/avalon-logkit-bin, it should remove the previous dev-java/avalon-logkit install, that is the whole point too the 'move'

i do not see any problems in your comment, and this isn't the right bug for it
Comment 7 Thilo Six 2004-09-06 04:35:46 UTC
You wrote:
you should be unable to unmerge dev-java/avalon-logkit
since that no longer exist

...and I wrote:

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

Calculating dependencies -
emerge: there are no masked or unmasked ebuilds to satisfy "dev-java/avalon-logkit".

!!! Error calculating dependencies. Please correct.

The only way that to get around this was to force emerge by doing:
# emerge -Ca var/db/pkg/dev-java/avalon-logkit-bin-1.2.2/avalon-logkit-1.2.2.ebuild

!!!!!!

Since Portage couldn
Comment 8 Thilo Six 2004-09-06 04:35:46 UTC
You wrote:
you should be unable to unmerge dev-java/avalon-logkit
since that no longer exist

...and I wrote:

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

Calculating dependencies -
emerge: there are no masked or unmasked ebuilds to satisfy "dev-java/avalon-logkit".

!!! Error calculating dependencies. Please correct.

The only way that to get around this was to force emerge by doing:
# emerge -Ca var/db/pkg/dev-java/avalon-logkit-bin-1.2.2/avalon-logkit-1.2.2.ebuild

!!!!!!

Since Portage couldn´t find dev-java/avalon-logkit anymore, it couldn´t unmerge it !!!!!!!!!!!!!!

Yes I was able to "unmerge it" but _only_ with:

emerge -Ca var/db/pkg/dev-java/avalon-logkit-bin-1.2.2/-1.2.2.ebuild

and _not_ with:

emerge -Ca avalon-logkit >> this produces the Errors Message above !!
Comment 9 Thilo Six 2004-09-06 05:18:48 UTC
sorry for my last comment. I was angry.

because I know the difference between when portage behaves normal and when it
does not.
In particular when this is followed by an error message.
I
Comment 10 Thilo Six 2004-09-06 05:18:48 UTC
sorry for my last comment. I was angry.

because I know the difference between when portage behaves normal and when it
does not.
In particular when this is followed by an error message.
I´m not a "hacker" but I´m also not stupid at all.

so anyway here the bugreport.

#62998 - Ebuild renaming caused Error Messages
http://bugs.gentoo.org/show_bug.cgi?id=62998

have look there, it is what I really did
Comment 11 Thomas Matthijs (RETIRED) gentoo-dev 2004-09-06 05:32:44 UTC
you would have been able to unmerge it with
emerge -C avalon-logkit-bin

This IS CORRECT portage behaviar (afaik)

and this bug is about java renamed packages cauzing issues with java-config -p
Comment 12 Thomas Matthijs (RETIRED) gentoo-dev 2005-06-29 10:56:53 UTC
closing