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