Please do not reply directly to this email. All additional comments should be made in the comments box of this bug.
Summary: Tycho bundles parts of eclipse
https://bugzilla.redhat.com/show_bug.cgi?id=789272
Summary: Tycho bundles parts of eclipse Product: Fedora Version: rawhide Platform: Unspecified OS/Version: Unspecified Status: NEW Severity: unspecified Priority: unspecified Component: tycho AssignedTo: sochotni@redhat.com ReportedBy: akurtako@redhat.com QAContact: extras-qa@fedoraproject.org CC: sochotni@redhat.com, java-sig-commits@lists.fedoraproject.org Classification: Fedora Story Points: --- Type: --- Regression: --- Mount Type: --- Documentation: ---
Tycho ships /usr/share/java/tycho/tycho-p2-runtime.zip . This zip contains equinox, sat4j, ecf and other parts of regular eclipse . Ideally it shouldn't be needed but if this is too hard to achieve the zip should be replaced by regular directory with symlinks in it or even zip with symlinks or tar.gz if zip doesn't support symlinks.
Please do not reply directly to this email. All additional comments should be made in the comments box of this bug.
https://bugzilla.redhat.com/show_bug.cgi?id=789272
Fedora Admin XMLRPC Client fedora-admin-xmlrpc@redhat.com changed:
What |Removed |Added ---------------------------------------------------------------------------- AssignedTo|sochotni@redhat.com |rgrunber@redhat.com
--- Comment #1 from Fedora Admin XMLRPC Client fedora-admin-xmlrpc@redhat.com 2012-02-22 11:24:12 EST --- This package has changed ownership in the Fedora Package Database. Reassigning to the new owner of this component.
https://bugzilla.redhat.com/show_bug.cgi?id=789272
--- Comment #2 from Roland Grunberg rgrunber@redhat.com --- Just as an update, dependency issues are preventing further work on this for the time being. Currently Eclipse depends on Tycho (f18,rawhide) to perform the CBI build. Tycho also depends on having some Eclipse bundles so we need to have these bundled in the zips so as to avoid the cycle.
https://bugzilla.redhat.com/show_bug.cgi?id=789272
Mikolaj Izdebski mizdebsk@redhat.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |mizdebsk@redhat.com Version|19 |rawhide
--- Comment #4 from Mikolaj Izdebski mizdebsk@redhat.com --- Still not fixed. Moving to rawhide to prevent auto-closing it too soon.
https://bugzilla.redhat.com/show_bug.cgi?id=789272
Roland Grunberg rgrunber@redhat.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Blocks| |1098424
Referenced Bugs:
https://bugzilla.redhat.com/show_bug.cgi?id=1098424 [Bug 1098424] tycho: Java class bundling/"static linking"
https://bugzilla.redhat.com/show_bug.cgi?id=789272
--- Comment #5 from Roland Grunberg rgrunber@redhat.com --- After looking at the possibility of extending Tycho's OSGi runtime locator to find the the bundles at runtime using fedoraproject-p2, I realized that I'd need an OSGi runtime, but this is exactly what Tycho is doing within that class, so it seems like we might as well just replace the jars with symlinks at build time in the %install section.
The problem I'm currently running into is that plexus-archiver's zip unarchiver (What Tycho uses for extraction) doesn't seem to support extracting zips containing symlinks (https://jira.codehaus.org/browse/PLXCOMP-113).
https://bugzilla.redhat.com/show_bug.cgi?id=789272
--- Comment #6 from Roland Grunberg rgrunber@redhat.com --- With http://pkgs.fedoraproject.org/cgit/plexus-archiver.git/commit/?id=06ee4bbd46... , I've been able to build Tycho with symlinks in place of the bundled libraries for zip files. I'll be testing this out and committing the changes in the near future.
https://bugzilla.redhat.com/show_bug.cgi?id=789272
Roland Grunberg rgrunber@redhat.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED
https://bugzilla.redhat.com/show_bug.cgi?id=789272
Roland Grunberg rgrunber@redhat.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|ASSIGNED |MODIFIED
--- Comment #7 from Roland Grunberg rgrunber@redhat.com --- http://pkgs.fedoraproject.org/cgit/tycho.git/commit/?id=793ac795c5202b40886f... (tycho-0.21.0-7) will resolve this issue.
We could also backport this to f21 but it would require plexus-archiver-2.4.4-4. In addition, this makes Tycho's runtime much more susceptible to changes in Eclipse. One way around this would be to discover the necessary bundles at runtime as well, but we wouldn't be able to use p2 API from within an OSGi runtime.
https://bugzilla.redhat.com/show_bug.cgi?id=789272
Roland Grunberg rgrunber@redhat.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|MODIFIED |ASSIGNED
--- Comment #8 from Roland Grunberg rgrunber@redhat.com --- There are some issues with this change so I've temporarily untagged tycho-0.21.0-7.
https://bugzilla.redhat.com/show_bug.cgi?id=789272
--- Comment #9 from Mikolaj Izdebski mizdebsk@redhat.com --- I saw two problems:
1. To extract ZIP files XMvn uses OpenJDK, which doesn't support symlinks. This is fixed in https://github.com/rgrunber/fedoraproject-p2/commit/51d2ab4
2. Symlinks inside ZIPs were poining to some eclipse JARs which can be either under /usr/lib or /usr/lib64. This means that tycho wouldn't work on 32-bit machine if it was built on 64-bit one (and vice versa). Possible solutions are: A) make tycho arch-specific, or B) expose eclipse JARs under constant path (for example via symlink in javadir). I definitely prefer the second solution.
https://bugzilla.redhat.com/show_bug.cgi?id=789272
Fedora Java SIG java-sig-commits@lists.fedoraproject.org changed:
What |Removed |Added ---------------------------------------------------------------------------- CC|java-sig-commits@lists.fedo | |raproject.org |
--- Comment #10 from Roland Grunberg rgrunber@redhat.com ---
- Symlinks inside ZIPs were poining to some eclipse JARs which can be either
under /usr/lib or /usr/lib64. This means that tycho wouldn't work on 32-bit machine if it was built on 64-bit one (and vice versa). Possible solutions are: A) make tycho arch-specific, or B) expose eclipse JARs under constant path (for example via symlink in javadir). I definitely prefer the second solution.
As discussed with Alex, (A) would be a pain for secondary archs as they wouldn't be able to import by default. (B) is exactly what we hope to do. Mat has committed http://pkgs.fedoraproject.org/cgit/eclipse.git/commit/?id=6a3b1d5b09d6dc6fd5... which will provide all the required core/equinox jars in javadir without the version_qualifier so there's less chance for breakage.
From here Tycho can simply symlink from those locations (which it checks first
by default). There is one additional patch I see needs to be made in Tycho's Equinox runtime to permit jars that aren't of the form "name_version", but I think once this is done debundling should work.
java-sig-commits@lists.stg.fedoraproject.org