diff --git a/.gitignore b/.gitignore index 92dc046..e7f5183 100644 --- a/.gitignore +++ b/.gitignore @@ -3,9 +3,3 @@ /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 deleted file mode 100644 index ed0c1dc..0000000 --- a/0001-Add-commons-lang3-to-generator-classpath.patch +++ /dev/null @@ -1,24 +0,0 @@ -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 deleted file mode 100644 index f3a3cf1..0000000 --- a/0001-Disable-verbose-debug-output-by-default.patch +++ /dev/null @@ -1,25 +0,0 @@ -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-Use-OpenJDK-21.patch b/0001-Use-OpenJDK-21.patch new file mode 100644 index 0000000..a33b9b8 --- /dev/null +++ b/0001-Use-OpenJDK-21.patch @@ -0,0 +1,25 @@ +From 089eacff83657ad118c1348ef521e46dc18645df Mon Sep 17 00:00:00 2001 +From: Mikolaj Izdebski +Date: Thu, 22 Feb 2024 05:30:33 +0100 +Subject: [PATCH 1/2] Use OpenJDK 21 + +--- + 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 4ff3f22..0b124f4 100644 +--- a/src/main/rpm/macros.xmvngen ++++ b/src/main/rpm/macros.xmvngen +@@ -3,7 +3,7 @@ + %__xmvngen_debug %{nil} + + # Path to JVM library (libjvm.so). Java 17 or newer is required. +-%__xmvngen_libjvm %{_jvmdir}/jre-17-openjdk/lib/server/libjvm.so ++%__xmvngen_libjvm %{_jvmdir}/jre-21-openjdk/lib/server/libjvm.so + + # Class path of nested JVM. This should be a colon-separated list of + # JARs that contains xmvn-generator.jar, JARs with third-party +-- +2.41.0 + diff --git a/0002-Enable-JPMS-provides-and-JAR-transformer.patch b/0002-Enable-JPMS-provides-and-JAR-transformer.patch new file mode 100644 index 0000000..48ddd04 --- /dev/null +++ b/0002-Enable-JPMS-provides-and-JAR-transformer.patch @@ -0,0 +1,39 @@ +From 1f80a6d816dc3dde83dc3df0d94d97b8a7f62937 Mon Sep 17 00:00:00 2001 +From: Mikolaj Izdebski +Date: Wed, 30 Aug 2023 15:53:26 +0200 +Subject: [PATCH 2/2] 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 0b124f4..b1ef101 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-21-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 deleted file mode 100644 index 379ca67..0000000 --- a/0002-Suppress-non-fatal-stack-traces-unless-debugging-is-.patch +++ /dev/null @@ -1,111 +0,0 @@ -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 deleted file mode 100644 index 73e5466..0000000 --- a/changelog +++ /dev/null @@ -1,35 +0,0 @@ -* 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 ae17c0c..a2cdaba 100644 --- a/plans/javapackages.fmf +++ b/plans/javapackages.fmf @@ -1,7 +1,7 @@ summary: Run javapackages-specific tests discover: how: fmf - url: https://gitlab.com/redhat/centos-stream/tests/javapackages.git - ref: f43 + url: https://src.fedoraproject.org/tests/javapackages + ref: f40 execute: how: tmt diff --git a/plans/smoke.fmf b/plans/smoke.fmf index a1e7bfd..c979bd9 100644 --- a/plans/smoke.fmf +++ b/plans/smoke.fmf @@ -1,4 +1,4 @@ -summary: Basic smoke test +summary: Run smoke tests discover: how: fmf execute: diff --git a/sources b/sources index 6a8a083..e44fb62 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (xmvn-generator-2.1.1.tar.zst) = b3d0950fddd25bd9bc998c6b62b4a4784d36a00e06f2c2764cfb8a04ecd7397e771c925b7b0b0cb116664aeeae250e8fb9049a14b564392ae7d861cc4b40e0bd +SHA512 (xmvn-generator-1.2.2.tar.gz) = 7d4a71ed8847456d70df6357864ffd877bf36ffb843138f3ba0e932ee24957dcefe35c0f1bf2f2b7693ec927a58d0dc55e66edbcd15f6741d1149bf1799d4de1 diff --git a/tests/smoke/runtest.sh b/tests/smoke/runtest.sh index ac74c31..2805b54 100755 --- a/tests/smoke/runtest.sh +++ b/tests/smoke/runtest.sh @@ -6,6 +6,9 @@ rlJournalStart rlPhaseStartSetup rlAssertRpm xmvn-generator + rlAssertRpm javapackages-local + rlAssertRpm rpm-build + rlAssertRpm java-21-openjdk-devel rlPhaseEnd rlPhaseStartTest diff --git a/xmvn-generator.spec b/xmvn-generator.spec index c842dcb..692bcc1 100644 --- a/xmvn-generator.spec +++ b/xmvn-generator.spec @@ -1,43 +1,53 @@ -%bcond bootstrap 0 +%global debug_package %{nil} +%bcond_with bootstrap Name: xmvn-generator -Version: 2.1.1 -Release: %autorelease +Version: 1.2.2 +Release: 3%{?dist} Summary: RPM dependency generator for Java License: Apache-2.0 URL: https://github.com/fedora-java/xmvn-generator -BuildArch: noarch -ExclusiveArch: %{java_arches} noarch +ExclusiveArch: %{java_arches} -Source: https://github.com/fedora-java/xmvn-generator/releases/download/%{version}/xmvn-generator-%{version}.tar.zst +Source0: https://github.com/fedora-java/xmvn-generator/archive/refs/tags/%{version}.tar.gz#/%{name}-%{version}.tar.gz -# https://github.com/fedora-java/xmvn-generator/pull/37 -Patch: 0001-Add-commons-lang3-to-generator-classpath.patch +Patch0: 0001-Use-OpenJDK-21.patch +Patch1: 0002-Enable-JPMS-provides-and-JAR-transformer.patch +BuildRequires: gcc +BuildRequires: rpm-devel %if %{with bootstrap} BuildRequires: javapackages-bootstrap %else -BuildRequires: maven-local-openjdk25 -BuildRequires: mvn(io.kojan:dola-bsx-api) +BuildRequires: maven-local 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: dola-bsx -# TODO Remove in Fedora 46 -Obsoletes: %{name}-javadoc < 2.0.2-9 + +Requires: rpm-build +Requires: lujavrite +Requires: java-21-openjdk-headless %description XMvn Generator is a dependency generator for RPM Package Manager -written in Java and Lua. +written in Java and Lua, that uses LuJavRite library to call Java code +from Lua. + +%{?javadoc_package} %prep -%autosetup -p1 -C +%setup -q +%patch0 -p1 +%if !0%{?fedora} +%patch1 -p1 +%endif %mvn_file : %{name} %build -%mvn_build -j -- -P\!quality +%mvn_build %install %mvn_install @@ -45,16 +55,42 @@ 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 -%autochangelog +* 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