On Mon, 2021-08-23 at 15:16 +0100, Mat Booth wrote:
On Mon, 23 Aug 2021 at 10:31, Sérgio Basto <sergio(a)serjux.com>
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(a)serjux.com>
> > 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/ecli
> > > ps
> > > 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/ecli
> > > ps
> > > 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/ecli
> > > ps
> > > 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.
Hi,
I haven't learned much about that yet , but I add learn a lot with
packaging biglybt
https://bugzilla.redhat.com/show_bug.cgi?id=1981982
https://sergiomb.fedorapeople.org/biglybt/biglybt.spec
BTW in tycho.spec. how we replace %add_maven_depmap [1] with
"%mvn_artifact and %mvn_install"
[1]
%add_maven_depmap org.eclipse.tycho:tycho-bundles-
external:txt:manifest:%{version} tycho/tycho-bundles-external-
manifest.txt
For example, to start you off, I fixed the tycho bootstrap issue in
this change:
https://src.fedoraproject.org/rpms/tycho/c/be3860f37b8eb2c52079fac0deeac9...
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
I opened some bug reports:
https://bugzilla.redhat.com/show_bug.cgi?id=1996621
https://bugzilla.redhat.com/show_bug.cgi?id=1996787
aqute-bnd is fixed .
atinject seems is also fixed .
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.
yes it helps , as you wrote many updates on rawhide missing osgi
metadata etc , it will be a long way . I will not rush myself .
Thank you.
--
Sérgio M. B.