File subscription-matcher.spec of Package subscription-matcher

#
# spec file for package subscription-matcher
#
# Copyright (c) 2025 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/
#

%{!?java_version: %global java_version 17}

Name:           subscription-matcher
Version:        0.40
Release:        0
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-%{version}.tar.gz
Source1:        build.sh
BuildRoot:      %{_tmppath}/%{name}-%{version}-build
BuildRequires:  asciidoc
BuildRequires:  java-devel >= %{java_version}
BuildRequires:  subscription-matcher-kit == 70583fe1cde7820f2467f749c1e9d6b21c16b356
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:       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.javassist:javassist) >= 3.29.2
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
mv %{name}-%{version} %{name}
cp -f %{SOURCE1} .
cp -Rf %{_datadir}/tetra ../kit

%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
openSUSE Build Service is sponsored by