Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
516 changes: 292 additions & 224 deletions mbi/dist/metadata.txt

Large diffs are not rendered by default.

72 changes: 36 additions & 36 deletions mbi/dist/src/org/fedoraproject/mbi/tool/dist/ArtifactDist.java
Original file line number Diff line number Diff line change
Expand Up @@ -25,23 +25,25 @@
import java.util.ArrayList;
import java.util.Collections;
import java.util.LinkedHashMap;
import java.util.LinkedHashSet;
import java.util.List;
import java.util.Map;
import java.util.Properties;
import java.util.Set;
import java.util.spi.ToolProvider;

import org.fedoraproject.mbi.Reactor;
import org.fedoraproject.mbi.dist.DistRequest;
import org.fedoraproject.mbi.model.ModuleDescriptor;
import org.fedoraproject.xmvn.artifact.DefaultArtifact;
import org.fedoraproject.xmvn.config.Artifact;
import org.fedoraproject.xmvn.config.Configurator;
import org.fedoraproject.xmvn.config.PackagingRule;
import org.fedoraproject.xmvn.config.Repository;
import org.fedoraproject.xmvn.deployer.Deployer;
import org.fedoraproject.xmvn.deployer.DeploymentRequest;
import org.fedoraproject.xmvn.locator.ServiceLocator;
import org.fedoraproject.xmvn.locator.ServiceLocatorFactory;
import org.fedoraproject.xmvn.metadata.ArtifactMetadata;
import org.fedoraproject.xmvn.metadata.Dependency;
import org.fedoraproject.xmvn.metadata.PackageMetadata;
import org.fedoraproject.xmvn.resolver.Resolver;
import org.fedoraproject.xmvn.tools.install.InstallationRequest;
import org.fedoraproject.xmvn.tools.install.Installer;
Expand Down Expand Up @@ -94,14 +96,14 @@ class UArt

final List<UDep> deps = new ArrayList<>();

final List<String> versions = new ArrayList<>();
final Set<String> versions = new LinkedHashSet<>();

public UArt( String gid, String aid )
{
super( gid, aid );
}

List<String> getVersions()
Iterable<String> getVersions()
{
return versions.isEmpty() ? List.of( "SYSTEM" ) : versions;
}
Expand Down Expand Up @@ -154,25 +156,21 @@ class Director

private final Path workDir;

private final Path planPath;

private final Configurator configurator;

private final Deployer deployer;

private final Installer installer;

private final PackageMetadata packageMetadata = new PackageMetadata();

public Director( DistRequest dist )
{
this.reactor = dist.getReactor();
this.dist = dist;
this.workDir = dist.getWorkDir();
planPath = workDir.resolve( "plan.xml" );

ServiceLocator locator = new ServiceLocatorFactory().createServiceLocator();
configurator = locator.getService( Configurator.class );
Resolver resolver = locator.getService( Resolver.class );
deployer = locator.getService( Deployer.class );
installer = new DefaultInstaller( configurator, resolver );
}

Expand Down Expand Up @@ -203,7 +201,11 @@ public void deploy( ModuleDescriptor module, String gid, String aid, UArt art )
Files.createDirectories( artifactsDir );
String version = reactor.getProject( module.getProjectName() ).getMBIVersion();

DeploymentRequest pomRequest = new DeploymentRequest();
ArtifactMetadata pom = new ArtifactMetadata();
pom.setGroupId( gid );
pom.setArtifactId( aid );
pom.setExtension( "pom" );
pom.setVersion( version );

if ( art != null )
{
Expand All @@ -226,22 +228,24 @@ public void deploy( ModuleDescriptor module, String gid, String aid, UArt art )
{
throw new Exception( "jar tool failed with exit code " + ret );
}
DeploymentRequest jarRequest = new DeploymentRequest();
jarRequest.setPlanPath( planPath );
jarRequest.setArtifact( new DefaultArtifact( gid, aid, version ).setPath( jarPath ) );
Exception exception = deployer.deploy( jarRequest ).getException();
if ( exception != null )
{
throw exception;
}
ArtifactMetadata jar = new ArtifactMetadata();
jar.setGroupId( gid );
jar.setArtifactId( aid );
jar.setVersion( version );
jar.setPath( jarPath.toString() );
packageMetadata.addArtifact( jar );
for ( var dep : art.deps )
{
pomRequest.addDependency( new DefaultArtifact( dep.gid, dep.aid, dep.ver ) );
Dependency dependency = new Dependency();
dependency.setGroupId( dep.gid );
dependency.setArtifactId( dep.aid );
dependency.setRequestedVersion( dep.ver );
pom.addDependency( dependency );
}
}
else
{
pomRequest.addProperty( "type", "pom" );
pom.addProperty( "type", "pom" );
}

Path pomPath = reactor.getPomPath( module );
Expand All @@ -253,13 +257,8 @@ public void deploy( ModuleDescriptor module, String gid, String aid, UArt art )
writer.write( "Dummy POM file for " + module.getName() + " module" );
}
}
pomRequest.setPlanPath( planPath );
pomRequest.setArtifact( new DefaultArtifact( gid, aid, "pom", version ).setPath( pomPath ) );
Exception exception = deployer.deploy( pomRequest ).getException();
if ( exception != null )
{
throw exception;
}
pom.setPath( pomPath.toString() );
packageMetadata.addArtifact( pom );

if ( art != null )
{
Expand All @@ -277,14 +276,17 @@ public void deploy( ModuleDescriptor module, String gid, String aid, UArt art )
aa.setClassifier( alias.classifier );
rule.addAlias( aa );
}
rule.setVersions( art.versions );
rule.setVersions( new ArrayList<>( art.versions ) );
configurator.getConfiguration().addArtifactManagement( rule );
}
}

public void install()
throws Exception
{
Path planPath = workDir.resolve( "plan.xml" );
packageMetadata.writeToXML( planPath );

Repository installRepo = new Repository();
installRepo.setId( "javapackages-bootstrap-install" );
installRepo.setType( "jpp" );
Expand Down Expand Up @@ -382,7 +384,8 @@ private void resolveDeps( List<UMod> mods )
UMod depMod = depmap.get( dep.toString() );
if ( depMod == null )
{
throw new Error( "Unsatisfied dep: " + art + ":" + art.getVersions().get( 0 ) + " -> " + dep );
throw new Error( "Unsatisfied dep: " + art + ":" + art.getVersions().iterator().next() + " -> "
+ dep );
}
}
}
Expand All @@ -401,10 +404,7 @@ private void dumpUMD( List<UMod> mods )
pw.printf( " ART %s %s%n", umd.gid, umd.aid );
for ( String ver : umd.versions )
{
if ( !ver.equals( "SYSTEM" ) )
{
pw.printf( " CVER %s%n", ver );
}
pw.printf( " CVER %s%n", ver );
}
for ( var ua : umd.aliases )
{
Expand Down Expand Up @@ -437,7 +437,7 @@ public Map<String, String> doDist()
{
director.deployJar( mod.md, art );
mod2art.put( mod.md.getName(),
art.aid + ( art.versions.isEmpty() ? "" : "-" + art.versions.get( 0 ) ) );
art.aid + ( art.versions.isEmpty() ? "" : "-" + art.versions.iterator().next() ) );
}
}
for ( var mod : reactor.getModules() )
Expand Down
27 changes: 27 additions & 0 deletions patches/jline3/0001-Load-native-library-form-usr-lib-jline.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
From 519aa218831e6ebf30a7d6985f5a9bef2e291a4f Mon Sep 17 00:00:00 2001
From: Mikolaj Izdebski <mizdebsk@redhat.com>
Date: Wed, 26 Feb 2025 07:26:26 +0100
Subject: [PATCH 1/2] Load native library form /usr/lib/jline

Forwarded: not-needed
---
native/src/main/java/org/jline/nativ/JLineNativeLoader.java | 3 +++
1 file changed, 3 insertions(+)

diff --git a/native/src/main/java/org/jline/nativ/JLineNativeLoader.java b/native/src/main/java/org/jline/nativ/JLineNativeLoader.java
index 47a053df..98c84d28 100644
--- a/native/src/main/java/org/jline/nativ/JLineNativeLoader.java
+++ b/native/src/main/java/org/jline/nativ/JLineNativeLoader.java
@@ -328,6 +328,9 @@ public class JLineNativeLoader {

// As a last resort try from java.library.path
String javaLibraryPath = System.getProperty("java.library.path", "");
+ // Fedora/RHEL specific: JNI shared objects MUST be placed in %{_libdir}/%{name}
+ // See https://docs.fedoraproject.org/en-US/packaging-guidelines/Java/#JNI
+ javaLibraryPath = "/usr/lib/jline" + File.pathSeparator + javaLibraryPath;
for (String ldPath : javaLibraryPath.split(File.pathSeparator)) {
if (ldPath.isEmpty()) {
continue;
--
2.48.1

Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
From be3495103741d920d5118a8db1aef5ade09e8080 Mon Sep 17 00:00:00 2001
From: Mikolaj Izdebski <mizdebsk@redhat.com>
Date: Wed, 26 Feb 2025 16:26:49 +0100
Subject: [PATCH 2/2] Remove optional dependency on universalchardet

Forwarded: not-needed
---
builtins/src/main/java/org/jline/builtins/Nano.java | 12 ------------
1 file changed, 12 deletions(-)

diff --git a/builtins/src/main/java/org/jline/builtins/Nano.java b/builtins/src/main/java/org/jline/builtins/Nano.java
index 765cea7c..47501ee1 100644
--- a/builtins/src/main/java/org/jline/builtins/Nano.java
+++ b/builtins/src/main/java/org/jline/builtins/Nano.java
@@ -47,7 +47,6 @@ import org.jline.terminal.Terminal.Signal;
import org.jline.terminal.Terminal.SignalHandler;
import org.jline.utils.*;
import org.jline.utils.InfoCmp.Capability;
-import org.mozilla.universalchardet.UniversalDetector;

import static org.jline.builtins.SyntaxHighlighter.*;
import static org.jline.keymap.KeyMap.KEYMAP_LENGTH;
@@ -249,17 +248,6 @@ public class Nano implements Editor {
}
byte[] bytes = bos.toByteArray();

- try {
- UniversalDetector detector = new UniversalDetector(null);
- detector.handleData(bytes, 0, bytes.length);
- detector.dataEnd();
- if (detector.getDetectedCharset() != null) {
- charset = Charset.forName(detector.getDetectedCharset());
- }
- } catch (Throwable t) {
- // Ignore
- }
-
// TODO: detect format, do not eat last newline
try (BufferedReader reader =
new BufferedReader(new InputStreamReader(new ByteArrayInputStream(bytes), charset))) {
--
2.48.1

8 changes: 4 additions & 4 deletions patches/maven4/0001-Fix-compliation-with-ECJ.patch
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
From c2006c5d2ee650038179f0586fb383fd90c48e3d Mon Sep 17 00:00:00 2001
From e6d665399ecd75c17d3e7a28f7b290fb2e3fe0d6 Mon Sep 17 00:00:00 2001
From: Mikolaj Izdebski <mizdebsk@redhat.com>
Date: Mon, 3 Feb 2025 10:11:57 +0100
Subject: [PATCH 1/2] Fix compliation with ECJ
Expand All @@ -17,10 +17,10 @@ Forwarded: no
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/impl/maven-di/src/main/java/org/apache/maven/di/impl/ReflectionUtils.java b/impl/maven-di/src/main/java/org/apache/maven/di/impl/ReflectionUtils.java
index 3d49a28ed6..e2903e5697 100644
index 809e39e955..f632070de6 100644
--- a/impl/maven-di/src/main/java/org/apache/maven/di/impl/ReflectionUtils.java
+++ b/impl/maven-di/src/main/java/org/apache/maven/di/impl/ReflectionUtils.java
@@ -152,7 +152,7 @@ public static <T extends AnnotatedElement & Member> List<T> getAnnotatedElements
@@ -137,7 +137,7 @@ public static <T extends AnnotatedElement & Member> List<T> getAnnotatedElements
return result;
}

Expand All @@ -29,7 +29,7 @@ index 3d49a28ed6..e2903e5697 100644
Binding<T> binding = generateConstructorBinding(key);
if (binding != null) {
Annotation scope = scopeOf(key.getRawType());
@@ -165,7 +165,7 @@ public static <T extends AnnotatedElement & Member> List<T> getAnnotatedElements
@@ -150,7 +150,7 @@ public static <T extends AnnotatedElement & Member> List<T> getAnnotatedElements
}

@SuppressWarnings("unchecked")
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
From 766e7ba81507ebcc6ab1302e0d2401e30b37f6f5 Mon Sep 17 00:00:00 2001
From 442facf978df22aaadc4ed043b55f05f26443439 Mon Sep 17 00:00:00 2001
From: Mikolaj Izdebski <mizdebsk@redhat.com>
Date: Mon, 3 Feb 2025 23:01:32 +0100
Subject: [PATCH 2/2] Add build.properties and pom.properties
Expand All @@ -12,13 +12,13 @@ Forwarded: not-needed

diff --git a/impl/maven-core/src/main/resources/META-INF/maven/org.apache.maven/maven-core/pom.properties b/impl/maven-core/src/main/resources/META-INF/maven/org.apache.maven/maven-core/pom.properties
new file mode 100644
index 0000000000..5dc7a222c1
index 0000000000..805d4c0ef2
--- /dev/null
+++ b/impl/maven-core/src/main/resources/META-INF/maven/org.apache.maven/maven-core/pom.properties
@@ -0,0 +1 @@
+version=4.0.0-rc-2
+version=4.0.0-rc-3
diff --git a/impl/maven-core/src/main/resources/org/apache/maven/messages/build.properties b/impl/maven-core/src/main/resources/org/apache/maven/messages/build.properties
index 20f386ba0e..383ba21648 100644
index 20f386ba0e..c90770f3e0 100644
--- a/impl/maven-core/src/main/resources/org/apache/maven/messages/build.properties
+++ b/impl/maven-core/src/main/resources/org/apache/maven/messages/build.properties
@@ -15,8 +15,8 @@
Expand All @@ -32,7 +32,7 @@ index 20f386ba0e..383ba21648 100644
-distributionName=${distributionName}
\ No newline at end of file
+buildNumber=javapackages-bootstrap
+version=4.0.0-rc-2
+version=4.0.0-rc-3
+distributionId=xmvn
+distributionShortName=XMvn
+distributionName=Red Hat XMvn
Expand Down
4 changes: 1 addition & 3 deletions project/jline3.xml
Original file line number Diff line number Diff line change
Expand Up @@ -15,15 +15,13 @@
<addSourceRoot>style/src/main/java</addSourceRoot>
<addSourceRoot>terminal-jni/src/main/java</addSourceRoot>
<addSourceRoot>terminal/src/main/java</addSourceRoot>
<addSourceRoot>console/src/main/java</addSourceRoot>
<addResource>builtins/src/main/resources</addResource>
<addResource>console-ui/src/main/resources</addResource>
<addResource>jansi-core/src/main/resources</addResource>
<addResource>native/src/main/resources</addResource>
<addResource>terminal-jni/src/main/resources</addResource>
<addResource>terminal/src/main/resources</addResource>
<excludeSourceClass>org/jline/builtins/Commands</excludeSourceClass>
<excludeSourceClass>org/jline/builtins/Less</excludeSourceClass>
<excludeSourceClass>org/jline/builtins/Nano</excludeSourceClass>
</compiler>
<!--
<ant>
Expand Down
2 changes: 1 addition & 1 deletion project/maven-resolver2.properties
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
url=https://github.com/apache/maven-resolver.git
ref=maven-resolver-@.@.@
version=2.0.5
version=2.0.7
4 changes: 2 additions & 2 deletions project/maven4.properties
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
url=https://github.com/apache/maven
ref=maven-4.0.0-rc-2
version=4.0.0-rc-2
ref=maven-4.0.0-rc-3
version=4.0.0-rc-3
Loading