diff --git a/.gitignore b/.gitignore index e7f5183..92dc046 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,9 @@ /xmvn-generator-1.2.0.tar.gz /xmvn-generator-1.2.1.tar.gz /xmvn-generator-1.2.2.tar.gz +/xmvn-generator-1.2.3.tar.gz +/xmvn-generator-2.0.0.tar.gz +/xmvn-generator-2.0.1.tar.gz +/xmvn-generator-2.0.2.tar.gz +/xmvn-generator-2.1.0.tar.gz +/xmvn-generator-2.1.1.tar.zst diff --git a/0001-Add-commons-lang3-to-generator-classpath.patch b/0001-Add-commons-lang3-to-generator-classpath.patch new file mode 100644 index 0000000..ed0c1dc --- /dev/null +++ b/0001-Add-commons-lang3-to-generator-classpath.patch @@ -0,0 +1,24 @@ +From 6cd6f63c9745a2872ec42a55c3b5d96c16a632cb Mon Sep 17 00:00:00 2001 +From: Mikolaj Izdebski +Date: Sat, 11 Oct 2025 07:51:25 +0200 +Subject: [PATCH] Add commons-lang3 to generator classpath + +--- + src/main/conf/xmvn-generator.conf | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/main/conf/xmvn-generator.conf b/src/main/conf/xmvn-generator.conf +index 4e72124..af77f8b 100644 +--- a/src/main/conf/xmvn-generator.conf ++++ b/src/main/conf/xmvn-generator.conf +@@ -3,6 +3,7 @@ import io.kojan.dola.rpm from Realm:bsx-api + load /usr/share/java/objectweb-asm/asm.jar + load /usr/share/java/commons-compress.jar + load /usr/share/java/commons-io.jar ++load /usr/share/java/commons-lang3.jar + load /usr/share/java/xmvn/xmvn-api.jar + load /usr/share/java/xmvn/xmvn-core.jar + load /usr/share/java/maven/maven-model.jar +-- +2.51.0 + diff --git a/0001-Disable-verbose-debug-output-by-default.patch b/0001-Disable-verbose-debug-output-by-default.patch new file mode 100644 index 0000000..f3a3cf1 --- /dev/null +++ b/0001-Disable-verbose-debug-output-by-default.patch @@ -0,0 +1,25 @@ +From 3333e26db4405a4606e2223f74c5b23d9b473c1a Mon Sep 17 00:00:00 2001 +From: Mikolaj Izdebski +Date: Mon, 30 Jun 2025 07:46:58 +0200 +Subject: [PATCH 1/2] Disable verbose debug output by default + +Resolves: rhbz#2375157 +--- + src/main/rpm/macros.xmvngen | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/main/rpm/macros.xmvngen b/src/main/rpm/macros.xmvngen +index 5623fb2..b29156e 100644 +--- a/src/main/rpm/macros.xmvngen ++++ b/src/main/rpm/macros.xmvngen +@@ -1,6 +1,6 @@ + # Debug enable flag. + # Setting this to non-empty value enables debugging output. +-%__xmvngen_debug 1 ++%__xmvngen_debug %nil + + # Path to JVM library (libjvm.so). Java 21 or newer is required. + %__xmvngen_libjvm %{_jvmdir}/jre-21-openjdk/lib/server/libjvm.so +-- +2.49.0 + diff --git a/0001-Enable-JPMS-provides-and-JAR-transformer.patch b/0001-Enable-JPMS-provides-and-JAR-transformer.patch deleted file mode 100644 index 17c840f..0000000 --- a/0001-Enable-JPMS-provides-and-JAR-transformer.patch +++ /dev/null @@ -1,39 +0,0 @@ -From ab348efccc347d192f582bd926ffa048f33d615c Mon Sep 17 00:00:00 2001 -From: Mikolaj Izdebski -Date: Wed, 30 Aug 2023 15:53:26 +0200 -Subject: [PATCH] Enable JPMS provides and JAR transformer - ---- - src/main/rpm/macros.xmvngen | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/src/main/rpm/macros.xmvngen b/src/main/rpm/macros.xmvngen -index 4ff3f22..ca1e3bb 100644 ---- a/src/main/rpm/macros.xmvngen -+++ b/src/main/rpm/macros.xmvngen -@@ -1,6 +1,6 @@ - # Debug enable flag. - # Setting this to non-empty value enables debugging output. --%__xmvngen_debug %{nil} -+%__xmvngen_debug 1 - - # Path to JVM library (libjvm.so). Java 17 or newer is required. - %__xmvngen_libjvm %{_jvmdir}/jre-17-openjdk/lib/server/libjvm.so -@@ -15,7 +15,7 @@ - # generator factories (classes implementing GeneratorFactory interface). - # Available hook factories are: - # * org.fedoraproject.xmvn.generator.jpms.JPMSGeneratorFactory --%__xmvngen_provides_generators %{nil} -+%__xmvngen_provides_generators org.fedoraproject.xmvn.generator.jpms.JPMSGeneratorFactory - %__xmvngen_requires_generators %{nil} - - # Specify which post-install hooks should be ran. -@@ -23,4 +23,4 @@ - # hook factories (classes implementing HookFactory interface). - # Available hook factories are: - # * org.fedoraproject.xmvn.generator.transformer.TransformerHookFactory --%__xmvngen_post_install_hooks %{nil} -+%__xmvngen_post_install_hooks org.fedoraproject.xmvn.generator.transformer.TransformerHookFactory --- -2.41.0 - diff --git a/0002-Suppress-non-fatal-stack-traces-unless-debugging-is-.patch b/0002-Suppress-non-fatal-stack-traces-unless-debugging-is-.patch new file mode 100644 index 0000000..379ca67 --- /dev/null +++ b/0002-Suppress-non-fatal-stack-traces-unless-debugging-is-.patch @@ -0,0 +1,111 @@ +From 35624a1e5972e4ddb8fefbcaa82ee6921ddd89b3 Mon Sep 17 00:00:00 2001 +From: Mikolaj Izdebski +Date: Mon, 30 Jun 2025 08:13:20 +0200 +Subject: [PATCH 2/2] Suppress non-fatal stack traces unless debugging is + enabled + +Resolves: rhbz#2375157 +--- + .../fedoraproject/xmvn/generator/jpms/JPMSGenerator.java | 4 +++- + .../xmvn/generator/jpscript/JPackageScriptGenerator.java | 3 ++- + .../org/fedoraproject/xmvn/generator/logging/Logger.java | 6 ++++++ + .../fedoraproject/xmvn/generator/maven/MavenGenerator.java | 2 +- + .../xmvn/generator/transformer/TransformerHook.java | 6 ++++-- + 5 files changed, 16 insertions(+), 5 deletions(-) + +diff --git a/src/main/java/org/fedoraproject/xmvn/generator/jpms/JPMSGenerator.java b/src/main/java/org/fedoraproject/xmvn/generator/jpms/JPMSGenerator.java +index 6e5ec53..5808273 100644 +--- a/src/main/java/org/fedoraproject/xmvn/generator/jpms/JPMSGenerator.java ++++ b/src/main/java/org/fedoraproject/xmvn/generator/jpms/JPMSGenerator.java +@@ -29,6 +29,7 @@ import java.util.stream.Stream; + import org.fedoraproject.xmvn.generator.BuildContext; + import org.fedoraproject.xmvn.generator.Collector; + import org.fedoraproject.xmvn.generator.Generator; ++import org.fedoraproject.xmvn.generator.logging.Logger; + + class JPMSGenerator implements Generator { + private final BuildContext context; +@@ -75,7 +76,8 @@ class JPMSGenerator implements Generator { + } + } + } catch (IOException e) { +- e.printStackTrace(); ++ // Continue despite exception ++ Logger.debug(e); + } + } + } catch (IOException e) { +diff --git a/src/main/java/org/fedoraproject/xmvn/generator/jpscript/JPackageScriptGenerator.java b/src/main/java/org/fedoraproject/xmvn/generator/jpscript/JPackageScriptGenerator.java +index dbcb537..cf81e43 100644 +--- a/src/main/java/org/fedoraproject/xmvn/generator/jpscript/JPackageScriptGenerator.java ++++ b/src/main/java/org/fedoraproject/xmvn/generator/jpscript/JPackageScriptGenerator.java +@@ -24,6 +24,7 @@ import java.util.stream.Stream; + import org.fedoraproject.xmvn.generator.BuildContext; + import org.fedoraproject.xmvn.generator.Collector; + import org.fedoraproject.xmvn.generator.Generator; ++import org.fedoraproject.xmvn.generator.logging.Logger; + + class JPackageScriptGenerator implements Generator { + private final BuildContext context; +@@ -51,7 +52,7 @@ class JPackageScriptGenerator implements Generator { + } + } catch (MalformedInputException e) { + // Continue despite exception +- e.printStackTrace(); ++ Logger.debug(e); + } catch (IOException e) { + throw new UncheckedIOException(e); + } +diff --git a/src/main/java/org/fedoraproject/xmvn/generator/logging/Logger.java b/src/main/java/org/fedoraproject/xmvn/generator/logging/Logger.java +index 3aee1aa..55d189c 100644 +--- a/src/main/java/org/fedoraproject/xmvn/generator/logging/Logger.java ++++ b/src/main/java/org/fedoraproject/xmvn/generator/logging/Logger.java +@@ -71,4 +71,10 @@ public class Logger { + BOX_BOTTOM_LEFT + repeat(BOX_BORDER_HORIZONTAL, BOX_WIDTH - 2) + BOX_BOTTOM_RIGHT); + flush(); + } ++ ++ public static void debug(Throwable t) { ++ if (debugEnabled) { ++ t.printStackTrace(); ++ } ++ } + } +diff --git a/src/main/java/org/fedoraproject/xmvn/generator/maven/MavenGenerator.java b/src/main/java/org/fedoraproject/xmvn/generator/maven/MavenGenerator.java +index 69c5a46..ae63d1b 100644 +--- a/src/main/java/org/fedoraproject/xmvn/generator/maven/MavenGenerator.java ++++ b/src/main/java/org/fedoraproject/xmvn/generator/maven/MavenGenerator.java +@@ -295,8 +295,8 @@ class MavenGenerator implements Generator { + try (StringWriter sw = new StringWriter(); + PrintWriter pw = new PrintWriter(sw)) { + sw.append("Unable to generate POM dependencies: "); +- e.printStackTrace(pw); + Logger.debug(sw.toString()); ++ Logger.debug(e); + } catch (IOException e1) { + throw new UncheckedIOException(e1); + } +diff --git a/src/main/java/org/fedoraproject/xmvn/generator/transformer/TransformerHook.java b/src/main/java/org/fedoraproject/xmvn/generator/transformer/TransformerHook.java +index 5914be4..436c59c 100644 +--- a/src/main/java/org/fedoraproject/xmvn/generator/transformer/TransformerHook.java ++++ b/src/main/java/org/fedoraproject/xmvn/generator/transformer/TransformerHook.java +@@ -64,12 +64,14 @@ class TransformerHook implements Hook { + try { + jarTransformer.transformJar(filePath); + } catch (IOException e) { +- e.printStackTrace(); ++ // Continue despite exception ++ Logger.debug(e); + } + } + } + } catch (IOException e) { +- e.printStackTrace(); ++ // Continue despite exception ++ Logger.debug(e); + } + } + +-- +2.49.0 + diff --git a/changelog b/changelog new file mode 100644 index 0000000..73e5466 --- /dev/null +++ b/changelog @@ -0,0 +1,35 @@ +* Sat Jul 20 2024 Fedora Release Engineering - 1.2.2-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Fri May 31 2024 Mikolaj Izdebski - 1.2.2-4 +- Switch to a newer patch macro syntax + +* Thu Feb 22 2024 Mikolaj Izdebski - 1.2.2-3 +- Switch to Java 21 for runtime + +* Sat Jan 27 2024 Fedora Release Engineering - 1.2.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Mon Dec 11 2023 Mikolaj Izdebski - 1.2.2-1 +- Update to upstream version 1.2.2 + +* Wed Aug 30 2023 Mikolaj Izdebski - 1.2.1-4 +- Enable JPMS provides and JAR transformation in ELN + +* Sat Jul 22 2023 Fedora Release Engineering - 1.2.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Fri Mar 17 2023 Mikolaj Izdebski - 1.2.1-2 +- Enable javadoc package + +* Mon Mar 13 2023 Mikolaj Izdebski - 1.2.1-1 +- Update to upstream version 1.2.1 + +* Fri Mar 10 2023 Mikolaj Izdebski - 1.2.0-1 +- Update to upstream version 1.2.0 + +* Mon Mar 06 2023 Mikolaj Izdebski - 1.1.0-1 +- Update to upstream version 1.1.0 + +* Mon Mar 06 2023 Mikolaj Izdebski - 1.0.0-1 +- Initial packaging diff --git a/plans/javapackages.fmf b/plans/javapackages.fmf index a2cdaba..ae17c0c 100644 --- a/plans/javapackages.fmf +++ b/plans/javapackages.fmf @@ -1,7 +1,7 @@ summary: Run javapackages-specific tests discover: how: fmf - url: https://src.fedoraproject.org/tests/javapackages - ref: f40 + url: https://gitlab.com/redhat/centos-stream/tests/javapackages.git + ref: f43 execute: how: tmt diff --git a/plans/smoke.fmf b/plans/smoke.fmf index c979bd9..a1e7bfd 100644 --- a/plans/smoke.fmf +++ b/plans/smoke.fmf @@ -1,4 +1,4 @@ -summary: Run smoke tests +summary: Basic smoke test discover: how: fmf execute: diff --git a/sources b/sources index e44fb62..6a8a083 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (xmvn-generator-1.2.2.tar.gz) = 7d4a71ed8847456d70df6357864ffd877bf36ffb843138f3ba0e932ee24957dcefe35c0f1bf2f2b7693ec927a58d0dc55e66edbcd15f6741d1149bf1799d4de1 +SHA512 (xmvn-generator-2.1.1.tar.zst) = b3d0950fddd25bd9bc998c6b62b4a4784d36a00e06f2c2764cfb8a04ecd7397e771c925b7b0b0cb116664aeeae250e8fb9049a14b564392ae7d861cc4b40e0bd diff --git a/tests/smoke/main.fmf b/tests/smoke/main.fmf index d35e96d..3071e5f 100644 --- a/tests/smoke/main.fmf +++ b/tests/smoke/main.fmf @@ -4,4 +4,4 @@ description: | require: - rpm-build - javapackages-local - - java-17-openjdk-devel + - java-21-openjdk-devel diff --git a/tests/smoke/runtest.sh b/tests/smoke/runtest.sh index 735ebd6..ac74c31 100755 --- a/tests/smoke/runtest.sh +++ b/tests/smoke/runtest.sh @@ -6,9 +6,6 @@ rlJournalStart rlPhaseStartSetup rlAssertRpm xmvn-generator - rlAssertRpm javapackages-local - rlAssertRpm rpm-build - rlAssertRpm java-17-openjdk-devel rlPhaseEnd rlPhaseStartTest diff --git a/xmvn-generator.spec b/xmvn-generator.spec index 9b12c09..c842dcb 100644 --- a/xmvn-generator.spec +++ b/xmvn-generator.spec @@ -1,51 +1,43 @@ -%global debug_package %{nil} -%bcond_with bootstrap +%bcond bootstrap 0 Name: xmvn-generator -Version: 1.2.2 -Release: 2%{?dist} +Version: 2.1.1 +Release: %autorelease Summary: RPM dependency generator for Java License: Apache-2.0 URL: https://github.com/fedora-java/xmvn-generator -ExclusiveArch: %{java_arches} +BuildArch: noarch +ExclusiveArch: %{java_arches} noarch -Source0: https://github.com/fedora-java/xmvn-generator/archive/refs/tags/%{version}.tar.gz#/%{name}-%{version}.tar.gz +Source: https://github.com/fedora-java/xmvn-generator/releases/download/%{version}/xmvn-generator-%{version}.tar.zst -Patch0: 0001-Enable-JPMS-provides-and-JAR-transformer.patch +# https://github.com/fedora-java/xmvn-generator/pull/37 +Patch: 0001-Add-commons-lang3-to-generator-classpath.patch -BuildRequires: gcc -BuildRequires: rpm-devel %if %{with bootstrap} BuildRequires: javapackages-bootstrap %else -BuildRequires: maven-local +BuildRequires: maven-local-openjdk25 +BuildRequires: mvn(io.kojan:dola-bsx-api) BuildRequires: mvn(org.apache.commons:commons-compress) -BuildRequires: mvn(org.apache.maven.plugins:maven-antrun-plugin) BuildRequires: mvn(org.easymock:easymock) BuildRequires: mvn(org.junit.jupiter:junit-jupiter) BuildRequires: mvn(org.ow2.asm:asm) %endif - -Requires: rpm-build -Requires: lujavrite -Requires: java-17-openjdk-headless +Requires: dola-bsx +# TODO Remove in Fedora 46 +Obsoletes: %{name}-javadoc < 2.0.2-9 %description XMvn Generator is a dependency generator for RPM Package Manager -written in Java and Lua, that uses LuJavRite library to call Java code -from Lua. - -%{?javadoc_package} +written in Java and Lua. %prep -%setup -q -%if !0%{?fedora} -%patch0 -p1 -%endif +%autosetup -p1 -C %mvn_file : %{name} %build -%mvn_build +%mvn_build -j -- -P\!quality %install %mvn_install @@ -53,39 +45,16 @@ install -D -p -m 644 src/main/lua/xmvn-generator.lua %{buildroot}%{_rpmluadir}/x install -D -p -m 644 src/main/rpm/macros.xmvngen %{buildroot}%{_rpmmacrodir}/macros.xmvngen install -D -p -m 644 src/main/rpm/macros.xmvngenhook %{buildroot}%{_sysconfdir}/rpm/macros.xmvngenhook install -D -p -m 644 src/main/rpm/xmvngen.attr %{buildroot}%{_fileattrsdir}/xmvngen.attr +install -D -p -m 644 src/main/conf/xmvn-generator.conf %{buildroot}%{_javaconfdir}/dola/classworlds/90-xmvn-generator.conf %files -f .mfiles %{_rpmluadir}/* %{_rpmmacrodir}/* %{_fileattrsdir}/* %{_sysconfdir}/rpm/* +%{_javaconfdir}/dola/classworlds/90-xmvn-generator.conf %license LICENSE NOTICE %doc README.md %changelog -* Sat Jan 27 2024 Fedora Release Engineering - 1.2.2-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Mon Dec 11 2023 Mikolaj Izdebski - 1.2.2-1 -- Update to upstream version 1.2.2 - -* Wed Aug 30 2023 Mikolaj Izdebski - 1.2.1-4 -- Enable JPMS provides and JAR transformation in ELN - -* Sat Jul 22 2023 Fedora Release Engineering - 1.2.1-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild - -* Fri Mar 17 2023 Mikolaj Izdebski - 1.2.1-2 -- Enable javadoc package - -* Mon Mar 13 2023 Mikolaj Izdebski - 1.2.1-1 -- Update to upstream version 1.2.1 - -* Fri Mar 10 2023 Mikolaj Izdebski - 1.2.0-1 -- Update to upstream version 1.2.0 - -* Mon Mar 06 2023 Mikolaj Izdebski - 1.1.0-1 -- Update to upstream version 1.1.0 - -* Mon Mar 06 2023 Mikolaj Izdebski - 1.0.0-1 -- Initial packaging +%autochangelog