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/eclipse/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/eclipse/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/eclipse/ty cho/p2/resolver/WrappedArtifact.java:28: error: package aQute.bnd.version does not exist import aQute.bnd.version.Version;
On Mon, 23 Aug 2021 at 02:32, Sérgio Basto sergio@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/eclipse/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/eclipse/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/eclipse/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.
But on F35+ eclipse is retired, you will not be able to build tycho there. Is it your intention to resurrect it?
-- Mat Booth http://fedoraproject.org/get-fedora
On Mon, 2021-08-23 at 09:47 +0100, Mat Booth wrote:
On Mon, 23 Aug 2021 at 02:32, Sérgio Basto sergio@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/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
On Mon, 23 Aug 2021 at 10:31, Sérgio Basto sergio@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@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/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/be3860f37b8eb2c52079fac0deeac94ba...
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
On Mon, 2021-08-23 at 15:16 +0100, Mat Booth wrote:
On Mon, 23 Aug 2021 at 10:31, Sérgio Basto sergio@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@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/be3860f37b8eb2c52079fac0deeac94ba...
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:
- Build tycho -- (bootstrap)
- 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.
On Tue, 24 Aug 2021 at 15:25, Sérgio Basto sergio@serjux.com wrote:
On Mon, 2021-08-23 at 15:16 +0100, Mat Booth wrote:
On Mon, 23 Aug 2021 at 10:31, Sérgio Basto sergio@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@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
This is probably a question for Mikolaj (CC'd).
Mikolaj, in this case tycho is trying to install a text file. Is it possible to do it with %mvn_artifact?
For example, to start you off, I fixed the tycho bootstrap issue in this change:
https://src.fedoraproject.org/rpms/tycho/c/be3860f37b8eb2c52079fac0deeac94ba...
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:
- Build tycho -- (bootstrap)
- 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.
On Tue, Aug 24, 2021 at 4:46 PM Mat Booth fedora@matbooth.co.uk wrote:
On Tue, 24 Aug 2021 at 15:25, Sérgio Basto sergio@serjux.com wrote:
[1] %add_maven_depmap org.eclipse.tycho:tycho-bundles- external:txt:manifest:%{version} tycho/tycho-bundles-external- manifest.txt
This is probably a question for Mikolaj (CC'd).
Mikolaj, in this case tycho is trying to install a text file. Is it possible to do it with %mvn_artifact?
Yes, sure it is possible. Everything that can be done with %add_maven_depmap can also be achieved with %mvn_artifact and %mvn_install.
-- Mikolaj
For example, to start you off, I fixed the tycho bootstrap issue in this change:
https://src.fedoraproject.org/rpms/tycho/c/be3860f37b8eb2c52079fac0deeac94ba...
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:
- Build tycho -- (bootstrap)
- 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.
-- Mat Booth http://fedoraproject.org/get-fedora
On Mon, Aug 23, 2021 at 4:17 PM Mat Booth fedora@matbooth.co.uk wrote:
On Mon, 23 Aug 2021 at 10:31, Sérgio Basto sergio@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@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/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/be3860f37b8eb2c52079fac0deeac94ba...
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
Re missing OSGi metadata, you can open bugs in Bugzilla and I will fix packages which I maintain.
Justification: Downstream changes adding OSGi manifests were removed from some packages in modular branches, where they were simply not needed. I didn't bother re-adding them when merging modular branches to rawhide as I was told Eclipse was going to be retired anyway, which then happened. But if there is still an interest in having Eclipse or OSGi metadata in Fedora, please open bugs in Bugzilla and for packages which I maintain I will re-add OSGi metadata.
-- Mikolaj Izdebski
- 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:
- Build tycho -- (bootstrap)
- 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@lists.fedoraproject.org To unsubscribe send an email to java-devel-leave@lists.fedoraproject.org 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@lists.fedoraproject... Do not reply to spam on the list, report it: https://pagure.io/fedora-infrastructure
On Thu, 2021-08-26 at 10:42 +0200, Mikolaj Izdebski wrote:
On Tue, Aug 24, 2021 at 4:46 PM Mat Booth fedora@matbooth.co.uk wrote:
On Tue, 24 Aug 2021 at 15:25, Sérgio Basto sergio@serjux.com wrote:
[1] %add_maven_depmap org.eclipse.tycho:tycho-bundles- external:txt:manifest:%{version} tycho/tycho-bundles-external- manifest.txt
This is probably a question for Mikolaj (CC'd).
Mikolaj, in this case tycho is trying to install a text file. Is it possible to do it with %mvn_artifact?
Yes, sure it is possible. Everything that can be done with %add_maven_depmap can also be achieved with %mvn_artifact and %mvn_install.
I believe in you , but how we replace [1] ?
[1] %add_maven_depmap org.eclipse.tycho:tycho-bundles- external:txt:manifest:%{version} tycho/tycho-bundles-external- manifest.txt
-- Mikolaj
For example, to start you off, I fixed the tycho bootstrap issue in this change:
https://src.fedoraproject.org/rpms/tycho/c/be3860f37b8eb2c52079fac0deeac94ba...
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:
- Build tycho -- (bootstrap)
- 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.
-- Mat Booth http://fedoraproject.org/get-fedora
On Thu, Aug 26, 2021 at 11:07 AM Sérgio Basto sergio@serjux.com wrote:
On Thu, 2021-08-26 at 10:42 +0200, Mikolaj Izdebski wrote:
On Tue, Aug 24, 2021 at 4:46 PM Mat Booth fedora@matbooth.co.uk wrote:
On Tue, 24 Aug 2021 at 15:25, Sérgio Basto sergio@serjux.com wrote:
[1] %add_maven_depmap org.eclipse.tycho:tycho-bundles- external:txt:manifest:%{version} tycho/tycho-bundles-external- manifest.txt
This is probably a question for Mikolaj (CC'd).
Mikolaj, in this case tycho is trying to install a text file. Is it possible to do it with %mvn_artifact?
Yes, sure it is possible. Everything that can be done with %add_maven_depmap can also be achieved with %mvn_artifact and %mvn_install.
I believe in you , but how we replace [1] ?
[1] %add_maven_depmap org.eclipse.tycho:tycho-bundles- external:txt:manifest:%{version} tycho/tycho-bundles-external- manifest.txt
Consider the following example. It produces a package with the following contents (text file is installed as Maven artifact, with corresponding metadata):
$ rpm -qlp test-1-1.fc36.noarch.rpm /repo/base/dir/artifact /repo/base/dir/artifact/location-manifest.txt /usr/share/maven-metadata/test.xml
Name: test Version: 1 Release: 1%{?dist} Summary: test License: Public Domain URL: file:/dev/null BuildArch: noarch
BuildRequires: javapackages-local
%description test
%prep %setup -qcT
# Configure XMvn repository for holding custom artifacts .txt artifacts with classifier manifest mkdir -p .xmvn/config.d echo " <configuration> <repositories> <repository> <id>custom-repo-for-text-manifest-installation</id> <type>jpp</type> <properties> <root>repo/base/dir</root> </properties> <filter> <and> <equals> <extension/> <string>txt</string> </equals> <equals> <classifier/> <string>manifest</string> </equals> </and> </filter> </repository> <repository> <id>install</id> <type>compound</type> <configuration> <repositories> <repository>base-install</repository> <repository>custom-repo-for-text-manifest-installation</repository> </repositories> </configuration> </repository> </repositories> </configuration> " >.xmvn/config.d/custom-install-repo.xml
# Create a text file echo test >foo.txt
# Tell XMvn that foo.txt is a Maven artifact %mvn_artifact bar:foo:txt:manifest:%{version} foo.txt
# Tell XMvn to install attached artifacts, by default it doesn't install them %mvn_package bar:foo:txt:manifest:%{version}
# Tell XMvn where should the artifact be installed %mvn_file bar:foo:txt:manifest:%{version} artifact/location
%install # Perform artifact installation. %mvn_install
%files -f .mfiles
%changelog
-- Mikolaj
-- Mikolaj
For example, to start you off, I fixed the tycho bootstrap issue in this change:
https://src.fedoraproject.org/rpms/tycho/c/be3860f37b8eb2c52079fac0deeac94ba...
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:
- Build tycho -- (bootstrap)
- 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.
-- Mat Booth http://fedoraproject.org/get-fedora
-- Sérgio M. B.
On Thu, 2021-08-26 at 12:14 +0200, Mikolaj Izdebski wrote:
On Thu, Aug 26, 2021 at 11:07 AM Sérgio Basto sergio@serjux.com wrote:
On Thu, 2021-08-26 at 10:42 +0200, Mikolaj Izdebski wrote:
On Tue, Aug 24, 2021 at 4:46 PM Mat Booth fedora@matbooth.co.uk wrote:
On Tue, 24 Aug 2021 at 15:25, Sérgio Basto sergio@serjux.com wrote:
[1] %add_maven_depmap org.eclipse.tycho:tycho-bundles- external:txt:manifest:%{version} tycho/tycho-bundles-external- manifest.txt
This is probably a question for Mikolaj (CC'd).
Mikolaj, in this case tycho is trying to install a text file. Is it possible to do it with %mvn_artifact?
Yes, sure it is possible. Everything that can be done with %add_maven_depmap can also be achieved with %mvn_artifact and %mvn_install.
I believe in you , but how we replace [1] ?
[1] %add_maven_depmap org.eclipse.tycho:tycho-bundles- external:txt:manifest:%{version} tycho/tycho-bundles-external- manifest.txt
Consider the following example. It produces a package with the following contents (text file is installed as Maven artifact, with corresponding metadata):
$ rpm -qlp test-1-1.fc36.noarch.rpm /repo/base/dir/artifact /repo/base/dir/artifact/location-manifest.txt /usr/share/maven-metadata/test.xml
Name: test Version: 1 Release: 1%{?dist} Summary: test License: Public Domain URL: file:/dev/null BuildArch: noarch
BuildRequires: javapackages-local
%description test
%prep %setup -qcT
# Configure XMvn repository for holding custom artifacts .txt artifacts with classifier manifest mkdir -p .xmvn/config.d echo "
<configuration> <repositories> <repository> <id>custom-repo-for-text-manifest-installation</id> <type>jpp</type> <properties> <root>repo/base/dir</root> </properties> <filter> <and> <equals> <extension/> <string>txt</string> </equals> <equals> <classifier/> <string>manifest</string> </equals> </and> </filter> </repository> <repository> <id>install</id> <type>compound</type> <configuration> <repositories> <repository>base-install</repository> <repository>custom-repo-for-text-manifest- installation</repository> </repositories> </configuration> </repository> </repositories> </configuration> " >.xmvn/config.d/custom-install-repo.xml
# Create a text file echo test >foo.txt
# Tell XMvn that foo.txt is a Maven artifact %mvn_artifact bar:foo:txt:manifest:%{version} foo.txt
# Tell XMvn to install attached artifacts, by default it doesn't install them %mvn_package bar:foo:txt:manifest:%{version}
# Tell XMvn where should the artifact be installed %mvn_file bar:foo:txt:manifest:%{version} artifact/location
%install # Perform artifact installation. %mvn_install
%files -f .mfiles
%changelog
Can you fix https://src.fedoraproject.org/rpms/tycho/blob/rawhide/f/tycho.spec#_387 ?
Learn how replace add_maven_depmap is not one of my priorities , but if we want bring back tycho, I don't know if add_maven_depmap will break it in some way (on a nonboostrap build)
-- Mikolaj
-- Mikolaj
For example, to start you off, I fixed the tycho bootstrap issue in this change:
https://src.fedoraproject.org/rpms/tycho/c/be3860f37b8eb2c52079fac0deeac94ba...
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:
- Build tycho -- (bootstrap)
- 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.
-- Mat Booth http://fedoraproject.org/get-fedora
-- Sérgio M. B.
On Thu, Aug 26, 2021 at 12:28 PM Sérgio Basto sergio@serjux.com wrote:
On Thu, 2021-08-26 at 12:14 +0200, Mikolaj Izdebski wrote:
On Thu, Aug 26, 2021 at 11:07 AM Sérgio Basto sergio@serjux.com wrote:
On Thu, 2021-08-26 at 10:42 +0200, Mikolaj Izdebski wrote:
On Tue, Aug 24, 2021 at 4:46 PM Mat Booth fedora@matbooth.co.uk wrote:
On Tue, 24 Aug 2021 at 15:25, Sérgio Basto sergio@serjux.com wrote:
[1] %add_maven_depmap org.eclipse.tycho:tycho-bundles- external:txt:manifest:%{version} tycho/tycho-bundles-external- manifest.txt
This is probably a question for Mikolaj (CC'd).
Mikolaj, in this case tycho is trying to install a text file. Is it possible to do it with %mvn_artifact?
Yes, sure it is possible. Everything that can be done with %add_maven_depmap can also be achieved with %mvn_artifact and %mvn_install.
I believe in you , but how we replace [1] ?
[1] %add_maven_depmap org.eclipse.tycho:tycho-bundles- external:txt:manifest:%{version} tycho/tycho-bundles-external- manifest.txt
Consider the following example. It produces a package with the following contents (text file is installed as Maven artifact, with corresponding metadata):
$ rpm -qlp test-1-1.fc36.noarch.rpm /repo/base/dir/artifact /repo/base/dir/artifact/location-manifest.txt /usr/share/maven-metadata/test.xml
Name: test Version: 1 Release: 1%{?dist} Summary: test License: Public Domain URL: file:/dev/null BuildArch: noarch
BuildRequires: javapackages-local
%description test
%prep %setup -qcT
# Configure XMvn repository for holding custom artifacts .txt artifacts with classifier manifest mkdir -p .xmvn/config.d echo "
<configuration> <repositories> <repository> <id>custom-repo-for-text-manifest-installation</id> <type>jpp</type> <properties> <root>repo/base/dir</root> </properties> <filter> <and> <equals> <extension/> <string>txt</string> </equals> <equals> <classifier/> <string>manifest</string> </equals> </and> </filter> </repository> <repository> <id>install</id> <type>compound</type> <configuration> <repositories> <repository>base-install</repository> <repository>custom-repo-for-text-manifest- installation</repository> </repositories> </configuration> </repository> </repositories> </configuration> " >.xmvn/config.d/custom-install-repo.xml
# Create a text file echo test >foo.txt
# Tell XMvn that foo.txt is a Maven artifact %mvn_artifact bar:foo:txt:manifest:%{version} foo.txt
# Tell XMvn to install attached artifacts, by default it doesn't install them %mvn_package bar:foo:txt:manifest:%{version}
# Tell XMvn where should the artifact be installed %mvn_file bar:foo:txt:manifest:%{version} artifact/location
%install # Perform artifact installation. %mvn_install
%files -f .mfiles
%changelog
Can you fix https://src.fedoraproject.org/rpms/tycho/blob/rawhide/f/tycho.spec#_387 ?
Sorry, but I don't have time for this.
Learn how replace add_maven_depmap is not one of my priorities , but if we want bring back tycho, I don't know if add_maven_depmap will break it in some way (on a nonboostrap build)
Likewise, fixing tycho is not my priority.
-- Mikolaj
-- Mikolaj
-- Mikolaj
> For example, to start you off, I fixed the tycho bootstrap > issue > in > this change: > > https://src.fedoraproject.org/rpms/tycho/c/be3860f37b8eb2c52079fac0deeac94ba... > > 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.
-- Mat Booth http://fedoraproject.org/get-fedora
-- Sérgio M. B.
-- Sérgio M. B.
On Thu, 2021-08-26 at 12:32 +0200, Mikolaj Izdebski wrote:
On Thu, Aug 26, 2021 at 12:28 PM Sérgio Basto sergio@serjux.com wrote:
On Thu, 2021-08-26 at 12:14 +0200, Mikolaj Izdebski wrote:
On Thu, Aug 26, 2021 at 11:07 AM Sérgio Basto sergio@serjux.com wrote:
On Thu, 2021-08-26 at 10:42 +0200, Mikolaj Izdebski wrote:
On Tue, Aug 24, 2021 at 4:46 PM Mat Booth < fedora@matbooth.co.uk> wrote:
On Tue, 24 Aug 2021 at 15:25, Sérgio Basto < sergio@serjux.com> wrote: > [1] > %add_maven_depmap org.eclipse.tycho:tycho-bundles- > external:txt:manifest:%{version} tycho/tycho-bundles- > external- > manifest.txt
This is probably a question for Mikolaj (CC'd).
Mikolaj, in this case tycho is trying to install a text file. Is it possible to do it with %mvn_artifact?
Yes, sure it is possible. Everything that can be done with %add_maven_depmap can also be achieved with %mvn_artifact and %mvn_install.
I believe in you , but how we replace [1] ?
[1] %add_maven_depmap org.eclipse.tycho:tycho-bundles- external:txt:manifest:%{version} tycho/tycho-bundles-external- manifest.txt
Consider the following example. It produces a package with the following contents (text file is installed as Maven artifact, with corresponding metadata):
$ rpm -qlp test-1-1.fc36.noarch.rpm /repo/base/dir/artifact /repo/base/dir/artifact/location-manifest.txt /usr/share/maven-metadata/test.xml
Name: test Version: 1 Release: 1%{?dist} Summary: test License: Public Domain URL: file:/dev/null BuildArch: noarch
BuildRequires: javapackages-local
%description test
%prep %setup -qcT
# Configure XMvn repository for holding custom artifacts .txt artifacts with classifier manifest mkdir -p .xmvn/config.d echo "
<configuration> <repositories> <repository> <id>custom-repo-for-text-manifest-installation</id> <type>jpp</type> <properties> <root>repo/base/dir</root> </properties> <filter> <and> <equals> <extension/> <string>txt</string> </equals> <equals> <classifier/> <string>manifest</string> </equals> </and> </filter> </repository> <repository> <id>install</id> <type>compound</type> <configuration> <repositories> <repository>base-install</repository> <repository>custom-repo-for-text-manifest- installation</repository> </repositories> </configuration> </repository> </repositories> </configuration> " >.xmvn/config.d/custom-install-repo.xml
# Create a text file echo test >foo.txt
# Tell XMvn that foo.txt is a Maven artifact %mvn_artifact bar:foo:txt:manifest:%{version} foo.txt
# Tell XMvn to install attached artifacts, by default it doesn't install them %mvn_package bar:foo:txt:manifest:%{version}
# Tell XMvn where should the artifact be installed %mvn_file bar:foo:txt:manifest:%{version} artifact/location
%install # Perform artifact installation. %mvn_install
%files -f .mfiles
%changelog
Can you fix
https://src.fedoraproject.org/rpms/tycho/blob/rawhide/f/tycho.spec#_387 ?
Sorry, but I don't have time for this.
Learn how replace add_maven_depmap is not one of my priorities , but if we want bring back tycho, I don't know if add_maven_depmap will break it in some way (on a nonboostrap build)
Likewise, fixing tycho is not my priority.
Ok, is just to say is nothing personal , I think you (the people that work in redhat) should care more about this situation and get room to care about it , I don't know . With my best regards .
-- Mikolaj
-- Mikolaj
-- Mikolaj
> > > For example, to start you off, I fixed the tycho > > bootstrap > > issue > > in > > this change: > > > > > > https://src.fedoraproject.org/rpms/tycho/c/be3860f37b8eb2c52079fac0deeac94ba... > > > > 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. >
-- Mat Booth http://fedoraproject.org/get-fedora
-- Sérgio M. B.
-- Sérgio M. B.
java-devel@lists.fedoraproject.org