# # spec file for package subscription-matcher # # Copyright (c) 2023 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via https://bugs.opensuse.org/ # Name: subscription-matcher Version: 0.32 Release: 220400.1.1.uyuni2 Summary: Expert system to match SUSE subscriptions License: BSD-3-Clause Group: Development/Libraries/Java URL: https://github.com/uyuni-project/subscription-matcher Source0: subscription-matcher.tar.gz Source1: build.sh BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: xmvn-tools BuildRequires: xmvn-minimal BuildRequires: asciidoc BuildRequires: java-devel >= 11 BuildRequires: xz %if 0%{?rhel} BuildRequires: libxslt-devel %else BuildRequires: libxslt-tools %endif BuildArch: noarch Provides: mvn(com.suse:subscription-matcher) == %{version} Requires: apache-commons-cli Requires: apache-commons-io Requires: apache-commons-lang Requires: ecj Requires: google-gson Requires: java >= 11 Requires: javapackages-tools Requires: protobuf-java Requires: slf4j Requires: xmlpull-api Requires: xpp3 Requires: (mvn(com.thoughtworks.xstream:xstream) >= 1.4.15 with mvn(com.thoughtworks.xstream:xstream) <= 1.5) Requires: mvn(com.google.guava:guava) >= 27.0.1 Requires: mvn(org.antlr:antlr-runtime) >= 3.5.2 Requires: mvn(org.apache.commons:commons-csv) >= 1.2 Requires: mvn(org.apache.commons:commons-lang3) >= 3.4 Requires: mvn(org.apache.commons:commons-math3) >= 3.2 Requires: mvn(org.apache.logging.log4j:log4j-api) >= 2.17.1 Requires: mvn(org.apache.logging.log4j:log4j-core) >= 2.17.1 Requires: mvn(org.apache.logging.log4j:log4j-slf4j-impl) >= 2.17.1 Requires: mvn(org.drools:drools-compiler) == 7.17.0 Requires: mvn(org.drools:drools-core) == 7.17.0 Requires: mvn(org.kie.soup:kie-soup-commons) == 7.17.0.Final Requires: mvn(org.kie.soup:kie-soup-maven-utils) == 7.17.0.Final Requires: mvn(org.kie.soup:kie-soup-project-datamodel) == 7.17.0.Final Requires: mvn(org.kie:kie-api) == 7.17.0 Requires: mvn(org.kie:kie-internal) == 7.17.0 Requires: mvn(org.mvel:mvel2) == 2.2.6.Final Requires: mvn(org.optaplanner:optaplanner-core) == 7.17.0 Requires: mvn(org.reflections:reflections) == 0.9.10 %description Expert system to match SUSE subscriptions to a set of systems. %prep %setup -q -c -n src cp -f %{SOURCE1} . %build cd .. sh src/build.sh %install export NO_BRP_CHECK_BYTECODE_VERSION=true mkdir -p %{buildroot}%{_javadir} cp -a subscription-matcher/target/subscription-matcher-%{version}.jar %{buildroot}%{_javadir}/subscription-matcher-%{version}.jar ln -sf subscription-matcher-%{version}.jar %{buildroot}%{_javadir}/subscription-matcher.jar mkdir -p %{buildroot}%{_bindir} cp -a subscription-matcher/utils/subscription-matcher %{buildroot}%{_bindir}/subscription-matcher a2x -v -d manpage -f manpage subscription-matcher/doc/%{name}.1.asciidoc mkdir -p %{buildroot}%{_mandir}/man1 install -m 0644 subscription-matcher/doc/%{name}.1 $RPM_BUILD_ROOT%{_mandir}/man1/ %files %defattr(-,root,root) %license subscription-matcher/LICENSE %doc %{_mandir}/man1/%{name}.1* %{_javadir}/* %{_bindir}/subscription-matcher %attr(0755,root,root) %{_bindir}/subscription-matcher %changelog * Thu Aug 3 2023 Thomas Florio - Version 0.32 * Fixed issue in Log4j configuration that lead to missing log entries * Cleaned up runtime dependencies declaration * Tue Mar 21 2023 Thomas Florio - Relax antlr version requirement * Mon Mar 20 2023 Thomas Florio - Relax maven dependencies version requirements - Version 0.31 * Update the bash script to handle multiple alternative names for each dependency * Fail on startup if a dependency is missing * Updated the version of commons-lang3 * Wed Aug 24 2022 Thomas Florio - Version 0.30 * Migrated to Java 11 * Removed usage of guava beta API * Removed commons-io in favor of java.nio API * Updated the dependencies versions * Mon Jun 6 2022 Julio González Gil - Declare the LICENSE file as license and not doc * Fri Mar 25 2022 Thomas Florio - Version 0.29 * Migration to log4j 2 * Wed Mar 9 2022 Thomas Florio - Version 0.28 * Support both antlr3-java and antlr3-runtime as dependencies * Make it obvious that log4j12 is used * Fri Sep 17 2021 Michael Calmer - Version 0.27 * update subscription rules for new SKUs (bsc#1189818) * Tue May 4 2021 Frantisek Kobzik - Relax xstream version * Fri Mar 5 2021 Julio González Gil - Use xstream from SLE/openSUSE * Tue Dec 15 2020 Stefan Bluhm - Adapted for RHEL build. - Made Guava a minimum requirement (instead of a specific one). * Tue Sep 8 2020 Frantisek Kobzik - Version 0.26 - Allow matching any guest products for Unlimited Virtualization subscriptions (bsc#1165287) - Only report confirmed matches in the output.json - Expose the log level setting to the command line - In the subscriptions CSV output, print the active subscriptions first * Fri Feb 14 2020 Frantisek Kobzik - Add missing library for SLE15 SP2 (slf4j-log4j12) - Version 0.25 - Make the code usable with Math3 on SLES * Fri Jan 17 2020 Michael Calmer - use log4j12 package on newer SLE versions * Thu Dec 12 2019 Frantisek Kobzik - Version 0.24 - Aggregate stackable subscriptions with same parameters - Implement new "swap move" used in optaplanner (bsc#1140332) * Fri Nov 15 2019 Julio González Gil - Enable aarch64 builds, except for SLE < 15 * Wed Mar 6 2019 Frantisek Kobzik - Version 0.23 - Update dependencies (Drools, Optaplanner, Guava, Xstream) - Added new Required deps: * kie-soup-commons * kie-soup-project-datamodel * kie-soup-maven-utils - Removed: * 0001-Enforce-apache-commons-lang3-3.4.patch * Mon Feb 25 2019 fkobzik@suse.com - Make the java and java-devel requirements variable - Relax the requirement condition on apache-commons-lang3 - Add: * 0001-Enforce-apache-commons-lang3-3.4.patch * Tue Jan 22 2019 jgonzalez@suse.com - Explicitly require JDK11 * Wed Jan 16 2019 jgonzalez@suse.com - Updated to version 0.22 - Old style hard bundle merging fix (bsc#1114059) * Fri Sep 14 2018 jgonzalez@suse.com - Updated to version 0.21 - Set core dumps location for IBM java (bsc#1107302) - Fix OutOfMemoryError crashes (bsc#1094524) * Fri Sep 7 2018 mc@suse.com - Updated to version 0.20 - update partnumbers rule file (bsc#1095972) - Use intermediate object to store confirmed matches within a penalty group and prevent infinite reactivation of Inherited virtualization rule (bsc#1094524) * Mon Apr 9 2018 jgonzalez@suse.com - Updated to version 0.19 - Add 2 new partnumbers to rules file (bsc#1081977) - Improve subscription-matcher reporting accuracy via SCC (bsc#1031716) - small bugfixes * Mon Mar 6 2017 moio@suse.com - Updated to version 0.18 - set -Xmx launch parameter based on customer data (bsc#1024863) - small bugfixes and logging improvements * Tue Apr 5 2016 moio@suse.com - Updated to version 0.17 - logging improvements * Tue Apr 5 2016 moio@suse.com - Kit version corrected * Tue Apr 5 2016 moio@suse.com - Updated to version 0.16 - xstream dependency updated - new logging option - JVM and OptaPlanner defaults tweaked for production use * Mon Mar 21 2016 moio@suse.com - Updated to version 0.15 - added support to hard bundled subscriptions * Tue Mar 8 2016 moio@suse.com - Updated to version 0.14 - added support to match SLES HA - performance speedups implemented * Tue Feb 23 2016 moio@suse.com - Updated to version 0.13 - change output format to include possible matches - change unmatched system report to unmatched products report * Mon Jan 25 2016 moio@suse.com - Updated to version 0.12 - change input format to include free products * Fri Jan 22 2016 moio@suse.com - Updated to version 0.11 - report bugfixes - add policies to output data * Fri Jan 15 2016 moio@suse.com - Updated to version 0.10 - disable output on stdin, output is only sent to file now - normalize output and don't replicate input data in output - internal refactorings * Thu Dec 31 2015 moio@suse.com - Updated to version 0.9 - logging improvements - bugfix: handle free products and systems with no products correctly - man page updated - handle systems without hosts or CPU information gracefully * Sat Dec 19 2015 moio@suse.com - Updated to version 0.8 - bugfix: product names not correct in the CSV report - bugfix: return correct matches when many systems are involved * Wed Dec 16 2015 moio@suse.com - Updated to version 0.7 * Tue Dec 15 2015 moio@suse.com - add saving of input.json * Tue Dec 15 2015 moio@suse.com - Updated to version 0.6 * Wed Nov 11 2015 moio@suse.com - Initial version