Re: tycho-2.3.0

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, 23 Aug 2021 at 10:31, Sérgio Basto <sergio@xxxxxxxxxx> wrote:
>
> On Mon, 2021-08-23 at 09:47 +0100, Mat Booth wrote:
> > On Mon, 23 Aug 2021 at 02:32, Sérgio Basto <sergio@xxxxxxxxxx> wrote:
> > >
> > > Hi,
> > > tycho have a circular dependency with eclipse ,
> > > and tycho-2.3.0 was never built successfully on fedora koji .
> > >
> > > I tried build tycho-2.3.0 with mock for F34 and build with
> > > bootstrap
> > > doesn't work [1], the build without bootstrap works .
> > >
> > > On rawhide can't build tycho-2.2.0-5 with bootstrap [2] the build
> > > error
> > > is similar of build of tycho-2.3.0 ...
> > >
> > >
> > > [1]
> > > [INFO] Resolving class path of MavenProject:
> > > org.eclipse.tycho:org.eclipse.tycho.noopsecurity:2.3.0 @
> > > /builddir/build/BUILD/org.eclipse.tycho-tycho-2.3.0/tycho-
> > > bundles/org.eclipse.tycho.noopsecurity/pom.xml
> > > [ERROR] Internal error: java.lang.RuntimeException:
> > > org.osgi.framework.BundleException: Bundle
> > > org.eclipse.tycho.noopsecurity cannot be
> > > resolved:org.eclipse.tycho.noopsecurity [6]
> > > [ERROR]   Unresolved requirement: Require-Bundle:
> > > org.eclipse.equinox.security; bundle-version="1.0.100"
> > > [ERROR]     -> Bundle-SymbolicName: org.eclipse.equinox.security;
> > > bundle-version="1.3.600.v20210304-1735"; singleton:="true"
> > > [ERROR]        org.eclipse.equinox.security [4]
> > > [ERROR]          Unresolved requirement: Import-Package:
> > > org.eclipse.core.runtime; registry="split"
> > > [ERROR] -> [Help 1]
> > > org.apache.maven.InternalErrorException: Internal error:
> > > java.lang.RuntimeException: org.osgi.framework.BundleException:
> > > Bundle
> > > org.eclipse.tycho.noopsecurity cannot be
> > > resolved:org.eclipse.tycho.noopsecurity [6]
> > > Unresolved requirement: Require-Bundle:
> > > org.eclipse.equinox.security;
> > > bundle-version="1.0.100"
> > > -> Bundle-SymbolicName: org.eclipse.equinox.security; bundle-
> > > version="1.3.600.v20210304-1735"; singleton:="true"
> > > org.eclipse.equinox.security [4]
> > > Unresolved requirement: Import-Package: org.eclipse.core.runtime;
> > > registry="split"
> > >
> > >
> > > [2]
> > > org.eclipse.equinox.frameworkadmin.equinox biz.aQute.bndlib
> > > tycho-
> > > bundles/org.eclipse.tycho.p2.resolver.impl/src/main/java/org/eclips
> > > e/ty
> > > cho/p2/resolver/WrappedArtifact.java:26: error: package
> > > aQute.bnd.osgi
> > > does not exist
> > > import aQute.bnd.osgi.Analyzer;
> > > ^
> > > tycho-
> > > bundles/org.eclipse.tycho.p2.resolver.impl/src/main/java/org/eclips
> > > e/ty
> > > cho/p2/resolver/WrappedArtifact.java:27: error: package
> > > aQute.bnd.osgi
> > > does not exist
> > > import aQute.bnd.osgi.Jar;
> > > ^
> > > tycho-
> > > bundles/org.eclipse.tycho.p2.resolver.impl/src/main/java/org/eclips
> > > e/ty
> > > cho/p2/resolver/WrappedArtifact.java:28: error: package
> > > aQute.bnd.version does not exist
> > > import aQute.bnd.version.Version;
> > >
> >
> > tycho-2.3.0 builds fine on F34 -- no need to bootstrap.
>
> we need a build with bootstrap in F35 but if even in F34 we can't ...
>
> > But on F35+ eclipse is retired, you will not be able to build tycho
> > there. Is it your intention to resurrect it?
>
> yes of course , my intention is find a way to build eclipse on F35+
> and just after resurrect it
>

Okay cool, beware this is a quite big job though. Maintaining eclipse
will also benefit from a good understanding of OSGi and the ability to
interpret p2's output in order to diagnose things like broken OSGi
metadata and bundle resolution.

For example, to start you off, I fixed the tycho bootstrap issue in this change:
https://src.fedoraproject.org/rpms/tycho/c/be3860f37b8eb2c52079fac0deeac94bac2b68eb

It was due to an ambiguous requirement on a package that is split
between multiple bundles -- a "split-package." Adding an explicit
require-bundle directive gives tycho enough information to correctly
resolve the correct bundle.

So bootstrap mode should now work on F34.

For F35+ there are still multiple issues to resolve before you can
begin to bootstrap tycho and eclipse there:

* tycho and eclipse BR maven-install-plugin is retired
* eclipse itself is retired
* aqute-bnd has missing osgi metadata since the upgrade to 5.2 (I
believe this is causing the issue in your original mail)
* hamcrest has missing osgi metadata since the upgrade to 2.2
(therefore junit 4 almost certainly has a unsatisfiable osgi dep and
probably will need rebuild after fixing hamcrest)
* objectweb-asm has missing osgi metadata since the upgrade to 9.1
* atinject has broken osgi metadata since the upgrade to 1.0.3
* felix-scr has broken osgi metadata since the upgrade to 2.1.26
* Various eclipse deps are orphaned and will be retired soon: lucene,
icu4j, jetty, felix-scr, felix-gogo-parent, felix-gogo-runtime,
felix-gogo-shell, felix-gogo-command, takari-polyglot, cbi-plugins,
eclipse-license, eclipse-emf and eclipse-ecf

And that's just the things that I can immediately see without actually
trying to build it on F35. There are probably more problems that I've
missed.

Once all that is all fixed, the general process of bootstrapping
eclipse into a new buildroot is as follows:

1. Build tycho -- (bootstrap)
2. Build cbi-plugins
3a. Build eclipse-license
3b. Build eclipse-emf -- (bootstrap)
3c. Build eclipse-ecf
4. Build eclipse -- (bootstrap)
5. Rebuild tycho -- (full build)
6. Rebuild eclipse -- (full build)
7. Rebuild eclipse-emf -- (full build)

I can answer questions about the process, but I don't have time any
more to do any real maintenance.

Hope this helps.

--
Mat Booth
http://fedoraproject.org/get-fedora
_______________________________________________
java-devel mailing list -- java-devel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to java-devel-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/java-devel@xxxxxxxxxxxxxxxxxxxxxxx
Do not reply to spam on the list, report it: https://pagure.io/fedora-infrastructure




[Index of Archives]     [Red Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]

  Powered by Linux