From 17359b8462137909c57b3b9241c33e4c7f1235e4 Mon Sep 17 00:00:00 2001 From: Johnny Hughes Date: Wed, 15 Jan 2025 13:02:09 -0600 Subject: [PATCH] Import from Fedora --- .fmf/version | 1 + .gitignore | 21 ++ ...rseValues-NullPointerException-patch.patch | 61 +++++ beust-jcommander.spec | 243 ++++++++++++++++++ ci.fmf | 1 + gating.yaml | 7 + generate-tarball.sh | 26 ++ plans/javapackages.fmf | 7 + sources | 2 + 9 files changed, 369 insertions(+) create mode 100644 .fmf/version create mode 100644 .gitignore create mode 100644 0001-ParseValues-NullPointerException-patch.patch create mode 100644 beust-jcommander.spec create mode 100644 ci.fmf create mode 100644 gating.yaml create mode 100755 generate-tarball.sh create mode 100644 plans/javapackages.fmf create mode 100644 sources diff --git a/.fmf/version b/.fmf/version new file mode 100644 index 0000000..d00491f --- /dev/null +++ b/.fmf/version @@ -0,0 +1 @@ +1 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..bb5fe93 --- /dev/null +++ b/.gitignore @@ -0,0 +1,21 @@ +/results_* +/*.src.rpm + +/beust-jcommander-1.17.tar.xz +/jcommander-1.30.tar.gz +/jcommander-1.35.tar.gz +/jcommander-1.45.tar.gz +/jcommander-1.47.tar.gz +/jcommander-1.56.tar.gz +/1.57.tar.gz +/1.58.tar.gz +/1.60.tar.gz +/1.62.tar.gz +/1.65.tar.gz +/1.66.tar.gz +/1.71.tar.gz +/beust-jcommander-1.71.tar.gz +/beust-jcommander-1.75.tar.gz +/beust-jcommander-1.78.tar.gz +/beust-jcommander-1.82.tar.gz +/jcommander-1.82.pom diff --git a/0001-ParseValues-NullPointerException-patch.patch b/0001-ParseValues-NullPointerException-patch.patch new file mode 100644 index 0000000..4ce87b8 --- /dev/null +++ b/0001-ParseValues-NullPointerException-patch.patch @@ -0,0 +1,61 @@ +From 2b813829d02b89206493520eb86075a43b145db9 Mon Sep 17 00:00:00 2001 +From: Roman Vais +Date: Tue, 13 Jun 2017 13:24:24 +0200 +Subject: [PATCH] ParseValues-NullPointerException-patch + +--- + .../java/com/beust/jcommander/Parameterized.java | 27 ++++++++++++++++++++-- + 1 file changed, 25 insertions(+), 2 deletions(-) + +diff --git a/src/main/java/com/beust/jcommander/Parameterized.java b/src/main/java/com/beust/jcommander/Parameterized.java +index 3264008..e937a66 100644 +--- a/src/main/java/com/beust/jcommander/Parameterized.java ++++ b/src/main/java/com/beust/jcommander/Parameterized.java +@@ -13,6 +13,8 @@ import java.lang.reflect.Type; + import java.util.Collections; + import java.util.List; + import java.util.Set; ++import java.util.logging.Level; ++import java.util.logging.Logger; + + /** + * Encapsulate a field or a method annotated with @Parameter or @DynamicParameter +@@ -180,12 +182,33 @@ public class Parameterized { + String fieldName = Character.toLowerCase(name.charAt(3)) + name.substring(4); + Object result = null; + try { +- Field field = method.getDeclaringClass().getDeclaredField(fieldName); ++ Field field = object.getClass().getDeclaredField(fieldName); + if (field != null) { + setFieldAccessible(field); + result = field.get(object); + } +- } catch(NoSuchFieldException | IllegalAccessException ex) { ++ } catch(NoSuchFieldException ex) { ++ Class clazz = object.getClass(); ++ Field found = null; ++ while (clazz != null && method.getDeclaringClass().isAssignableFrom(clazz)) { ++ try { ++ found = clazz.getDeclaredField(fieldName); ++ } catch (NoSuchFieldException nfex) { ++ // ignore ++ } ++ if (found != null) break; ++ clazz = clazz.getSuperclass(); ++ } ++ if (found != null) { ++ setFieldAccessible(found); ++ try { ++ result = found.get(object); ++ } catch (IllegalAccessException iex) { ++ // ignore ++ } ++ } ++ ++ } catch(IllegalAccessException ex) { + // ignore + } + return result; +-- +2.7.4 + diff --git a/beust-jcommander.spec b/beust-jcommander.spec new file mode 100644 index 0000000..bbee018 --- /dev/null +++ b/beust-jcommander.spec @@ -0,0 +1,243 @@ +%bcond_with bootstrap + +Name: beust-jcommander +Version: 1.82 +Release: 19%{?dist} +Summary: Java framework for parsing command line parameters +License: Apache-2.0 +URL: http://jcommander.org/ +BuildArch: noarch +ExclusiveArch: %{java_arches} noarch + +# ./generate-tarball.sh +Source0: %{name}-%{version}.tar.gz +Source1: https://repo1.maven.org/maven2/com/beust/jcommander/%{version}/jcommander-%{version}.pom +# Cleaned up bundled jars whose licensing cannot be easily verified +Source2: generate-tarball.sh + +Patch: 0001-ParseValues-NullPointerException-patch.patch + +%if %{with bootstrap} +BuildRequires: javapackages-bootstrap +%else +BuildRequires: maven-local +BuildRequires: mvn(org.apache.felix:maven-bundle-plugin) +BuildRequires: mvn(org.testng:testng) +%endif + +%description +JCommander is a very small Java framework that makes it trivial to +parse command line parameters (with annotations). + +%package javadoc +Summary: API documentation for %{name} + +%description javadoc +API documentation for %{name}. + +%prep +%autosetup -p1 +chmod -x license.txt + +cp -p %SOURCE1 pom.xml +%pom_xpath_set "pom:project/pom:version" "%{version}" + +# maven-surefire-plugin requires explicit version >= 4.7 +%pom_add_dep org.testng:testng:4.7:test + +%mvn_file : %{name} + +%build +%mvn_build + +%install +%mvn_install + +%files -f .mfiles +%license license.txt notice.md +%doc README.markdown + +%files javadoc -f .mfiles-javadoc +%license license.txt notice.md + +%changelog +* Fri Nov 29 2024 Mikolaj Izdebski - 1.82-18 +- Update javapackages test plan to f42 + +* Wed Jul 17 2024 Fedora Release Engineering - 1.82-11 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Fri May 31 2024 Mikolaj Izdebski - 1.82-10 +- Switch to a newer patch macro syntax + +* Tue Feb 27 2024 Jiri Vanek - 1.82-9 +- Rebuilt for java-21-openjdk as system jdk + +* Fri Feb 23 2024 Jiri Vanek - 1.82-8 +- bump of release for for java-21-openjdk as system jdk + +* Tue Jan 23 2024 Fedora Release Engineering - 1.82-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Fri Jan 19 2024 Fedora Release Engineering - 1.82-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Tue Oct 31 2023 Mikolaj Izdebski - 1.82-5 +- Fix license directory permissions +- Resolves: rhbz#2144648 + +* Fri Sep 01 2023 Mikolaj Izdebski - 1.82-4 +- Convert License tag to SPDX format + +* Wed Jul 19 2023 Fedora Release Engineering - 1.82-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Wed Jan 18 2023 Fedora Release Engineering - 1.82-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Wed Sep 07 2022 Marian Koncek - 1.82-1 +- Update to upstream version 1.82 + +* Wed Jul 20 2022 Fedora Release Engineering - 1.78-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Sat Feb 05 2022 Jiri Vanek - 1.78-9 +- Rebuilt for java-17-openjdk as system jdk + +* Wed Jan 19 2022 Fedora Release Engineering - 1.78-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Wed Jul 21 2021 Fedora Release Engineering - 1.78-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Mon May 17 2021 Mikolaj Izdebski - 1.78-6 +- Bootstrap build +- Non-bootstrap build + +* Tue Jan 26 2021 Fedora Release Engineering - 1.78-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Mon Jul 27 2020 Fedora Release Engineering - 1.78-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Fri Jul 10 2020 Jiri Vanek - 1.78-3 +- Rebuilt for JDK-11, see https://fedoraproject.org/wiki/Changes/Java11 + +* Tue Jun 09 2020 Fedora Release Engineering - 1.78-3 +- skipped tests as they require user input with jdk11, changed way of javadoc generation + +* Tue Jan 28 2020 Fedora Release Engineering - 1.78-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Sat Nov 09 2019 Fabio Valentini - 1.78-1 +- Update to version 1.78. +- Remove unnecessary parent from POM file. + +* Tue Nov 05 2019 Mikolaj Izdebski - 1.78-2 +- Mass rebuild for javapackages-tools 201902 + +* Mon Sep 02 2019 Marian Koncek - 1.78-1 +- Update to upstream version 1.78 + +* Thu Aug 15 2019 Marian Koncek - 1.75-1 +- Update to upstream version 1.75 + +* Wed Jul 24 2019 Fedora Release Engineering - 1.71-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Fri May 24 2019 Mikolaj Izdebski - 1.71-6 +- Mass rebuild for javapackages-tools 201901 + +* Thu Jan 31 2019 Fedora Release Engineering - 1.71-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Mon Jul 30 2018 Michael Simacek - 1.71-5 +- Repack the tarball without binaries + +* Thu Jul 12 2018 Fedora Release Engineering - 1.71-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Wed Feb 07 2018 Fedora Release Engineering - 1.71-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Wed Jul 26 2017 Fedora Release Engineering - 1.71-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Tue Jun 13 2017 Roman Vais - 1.71-1 +- Update to upstream version 1.71 +- Add patch for issue https://github.com/cbeust/jcommander/issues/367 + +* Fri Mar 10 2017 Roman Vais - 1.66-1 +- Update to upstream version 1.66 + +* Fri Feb 17 2017 Roman Vais - 1.65-1 +- Update to upstream version 1.65 + +* Thu Jan 26 2017 Roman Vais - 1.62-1 +- Update to upstream version 1.62 + +* Wed Dec 14 2016 Michael Simacek - 1.60-1 +- Update to upstream version 1.60 + +* Tue Nov 01 2016 Roman Vais - 1.58-1 +- Update to upstream version 1.58 + +* Fri Sep 30 2016 Roman Vais - 1.57-1 +- Update to upstream version 1.57 +- Correct directory setup in prep section +- Change of tarball name in source url to correspond to upstream + +* Tue Sep 27 2016 Roman Vais - 1.56-1 +- New version release. + +* Wed Feb 03 2016 Fedora Release Engineering - 1.47-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Wed Jun 17 2015 Fedora Release Engineering - 1.47-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Wed Jan 28 2015 Michael Simacek - 1.47-1 +- Update to upstream version 1.47 +- Enable tests + +* Mon Oct 13 2014 Mikolaj Izdebski - 1.45-1 +- Update to upstream version 1.45 + +* Sat Jun 07 2014 Fedora Release Engineering - 1.35-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Wed Feb 26 2014 Mikolaj Izdebski - 1.35-1 +- Update to upstream version 1.35 + +* Sat Aug 03 2013 Fedora Release Engineering - 1.30-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Wed Feb 06 2013 Java SIG - 1.30-3 +- Update for https://fedoraproject.org/wiki/Fedora_19_Maven_Rebuild +- Replace maven BuildRequires with maven-local + +* Wed Feb 6 2013 Mikolaj Izdebski - 1.30-2 +- Replace BR: xmvn with maven-local + +* Thu Jan 10 2013 Mikolaj Izdebski - 1.30-1 +- Update to upstream version 1.30 +- Build with xmvn + +* Thu Aug 16 2012 Mikolaj Izdebski - 1.17-6 +- Install NOTICE files + +* Wed Jul 18 2012 Fedora Release Engineering - 1.17-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Thu Jan 12 2012 Fedora Release Engineering - 1.17-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Wed Nov 30 2011 Alexander Kurtakov 1.17-3 +- Use the new maven macro. + +* Mon May 16 2011 Jaromir Capik - 1.17-2 +- Unwanted comment removal +- Target javadoc:jar replaced with javadoc:aggregate + +* Fri May 13 2011 Jaromir Capik - 1.17-1 +- Initial version of the package diff --git a/ci.fmf b/ci.fmf new file mode 100644 index 0000000..c5aa0e0 --- /dev/null +++ b/ci.fmf @@ -0,0 +1 @@ +resultsdb-testcase: separate diff --git a/gating.yaml b/gating.yaml new file mode 100644 index 0000000..df26947 --- /dev/null +++ b/gating.yaml @@ -0,0 +1,7 @@ +--- !Policy +product_versions: + - rhel-9 +decision_contexts: + - osci_compose_gate +rules: + - !PassingTestCaseRule {test_case_name: osci.brew-build./plans/javapackages.functional} diff --git a/generate-tarball.sh b/generate-tarball.sh new file mode 100755 index 0000000..034b6b3 --- /dev/null +++ b/generate-tarball.sh @@ -0,0 +1,26 @@ +#!/bin/bash + +set -e + +# This commit refers to the state of the sources when they were published to +# Maven Central +git_tag='dcf154b6d40dd3865e317de7250b7019044543a9' +version="$(sed -n 's/Version:\s*//p' *.spec)" + +# Retrieve and set version +git clone https://github.com/cbeust/jcommander.git + +pushd jcommander +git reset --hard "${git_tag}" + +# Clean +find -name '*.jar' -delete +find -name '*.class' -delete +rm -rf gradle* kobalt* lib +rm -rf .git +popd + +# Pack into tarball +mv jcommander beust-jcommander-"${version}" +tar -cvf beust-jcommander-"${version}".tar.gz beust-jcommander-"${version}"/ +rm -rf beust-jcommander-"${version}" diff --git a/plans/javapackages.fmf b/plans/javapackages.fmf new file mode 100644 index 0000000..8ba3510 --- /dev/null +++ b/plans/javapackages.fmf @@ -0,0 +1,7 @@ +summary: Run javapackages-specific tests +discover: + how: fmf + url: https://src.fedoraproject.org/tests/javapackages + ref: c9s +execute: + how: tmt diff --git a/sources b/sources new file mode 100644 index 0000000..82431ad --- /dev/null +++ b/sources @@ -0,0 +1,2 @@ +SHA512 (beust-jcommander-1.82.tar.gz) = f0d13c021429476120ece6a252695dc7b05af41e7bf2535afed6e0e1cadedaea5300a90e0b7f77b413d1f3a049cbd57f96f322ab5d9dcb022ad2ad4c46bc235a +SHA512 (jcommander-1.82.pom) = bf24086ad1466ca1c2c9ad4a5a1dc8e8161a1831117b2a8c91c417101252d4526c83e0a7ab5878ff6e8163901127e9e6cf3457a0d1f7746de4bd6d5fea1d0e8e