Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 452618

Summary: [seden overlay] dev-util/eclipse-sdk-3.7.1-r10 - Bug fixes regarding incorrectly slotted virtual/jdk dependency and failing install phase with multiple libswt's.
Product: Gentoo Linux Reporter: Michal Janke <m.yankee>
Component: [OLD] DevelopmentAssignee: Sven Eden <sven.eden>
Status: RESOLVED FIXED    
Severity: normal CC: asturm
Priority: Normal Keywords: PATCH
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Attachments: patch for ebuild version 3.7.1-r10

Description Michal Janke 2013-01-16 22:46:20 UTC
Created attachment 335874 [details]
patch for ebuild version 3.7.1-r10

The original ebuild from seden contained two bugs:

 - incorrect declaration of slotted virtual/jdk dependency
 - install phase would fail in case of multiple versions of libswt installed


The latter problem is related to bug #452578, but my approach to fix this is slightly different.
Comment 1 Sven Eden 2013-01-17 09:22:10 UTC
I have added the patch from bug 452578. Do you think it is really necessary to inform users that they have different versions of SWT installed? Normally they know, and obsolete versions should have been removed by --depclean, shouldn't they?

As for the virtual/jdk dependency, I have substituted it with an explicit package list. No matter what I tried, the virtual/jdk always broke with 

-----
!!! ERROR: Couldn't find suitable VM. Possible invalid dependency string.
           Due to jetty-server-6 requiring a target of 1.6 but the virtual machines constrained by >=virtual/jdk-1.7  and/or
           this package requiring virtual(s) jetty-server-6
-----

I *think* I tried a simple "virtual/jdk:1.7", too, and it failed. (The above was my last attempt.)
Comment 2 Michal Janke 2013-01-17 17:45:18 UTC
(In reply to comment #1)
> I have added the patch from bug 452578. Do you think it is really necessary
> to inform users that they have different versions of SWT installed? Normally
> they know, and obsolete versions should have been removed by --depclean,
> shouldn't they?

I made my modifications before finding the mentioned bug report and that is the main reason why my approach is different. The second, more technical reason is that the original ebuild used *ls* program for determining filename, which is generally considered a poor (risky) scripting practise.
But since you ask about the ewarn messages... Yes, I think it is a better idea to inform the user that a newly installed eclipse is being linked against a specific version of a slotted library. Depclean would remove the obsolete versions *if* they were not used by any other stuff - and that can vary across systems - which I believe is the main reason to have slotted versions of packages in the first place.


> As for the virtual/jdk dependency, I have substituted it with an explicit
> package list. No matter what I tried, the virtual/jdk always broke with 
> 
> -----
> !!! ERROR: Couldn't find suitable VM. Possible invalid dependency string.
>            Due to jetty-server-6 requiring a target of 1.6 but the virtual
> machines constrained by >=virtual/jdk-1.7  and/or
>            this package requiring virtual(s) jetty-server-6
> -----
> 
> I *think* I tried a simple "virtual/jdk:1.7", too, and it failed. (The above
> was my last attempt.)

That is a bit strange, because 1) that is what has worked fine for me and 2) it seems to be a typical way to declare slot dependency, as can be seen by running "qgrep jdk:1" command.
Comment 3 Andreas Sturmlechner gentoo-dev 2013-05-05 12:29:49 UTC
True, a simple

        || ( virtual/jdk:1.6
                virtual/jdk:1.7
        )

works here instead.
Comment 4 Sven Eden 2013-09-20 08:38:43 UTC
The current ebuild from my overlay *should* work fine regarding this bug.

However, I have given up on eclipse-3.7, because dev-util/eclipse-sdk-bin-4.2.1* works without problems on all my systems now.