Bootstrap Maven as non-modular packages

Resolves: rhbz#1951482
This commit is contained in:
Mikolaj Izdebski 2021-06-08 20:17:56 +02:00
parent 0ad2db957c
commit 6160164bc2
3 changed files with 55 additions and 44 deletions

2
.gitignore vendored
View File

@ -21,4 +21,6 @@ slf4j-1.6.1.tar.gz
/slf4j-1.7.21.tar.gz
/slf4j-1.7.22.tar.gz
/slf4j-1.7.25.tar.gz
/slf4j-1.7.26.tar.gz
/slf4j-1.7.28.tar.gz
/v_1.7.30.tar.gz

View File

@ -1,3 +1,9 @@
# Workaround for rhbz#1969370: __bootstrap macro is not defined in
# CentOS Stream, See https://bugzilla.redhat.com/1969370
%global __bootstrap ~bootstrap
%bcond_without bootstrap
# Copyright (c) 2000-2009, JPackage Project
# All rights reserved.
#
@ -30,24 +36,25 @@
Name: slf4j
Version: 1.7.30
Release: 9%{?dist}
Epoch: 0
Release: 10%{?dist}
Summary: Simple Logging Facade for Java
# the log4j-over-slf4j and jcl-over-slf4j submodules are ASL 2.0, rest is MIT
License: MIT and ASL 2.0
URL: http://www.slf4j.org/
Source0: https://github.com/qos-ch/%{name}/archive/v_%{version}/v_%{version}.tar.gz
Source1: http://www.apache.org/licenses/LICENSE-2.0.txt
BuildArch: noarch
BuildRequires: maven-local
BuildRequires: mvn(ch.qos.cal10n:cal10n-api)
Source0: https://github.com/qos-ch/slf4j/archive/v_%{version}.tar.gz
Source1: https://www.apache.org/licenses/LICENSE-2.0.txt
BuildRequires: maven-local-openjdk8
%if %{with bootstrap}
BuildRequires: javapackages-bootstrap
%else
BuildRequires: mvn(commons-logging:commons-logging)
BuildRequires: mvn(javassist:javassist)
BuildRequires: mvn(org.apache.commons:commons-lang3)
BuildRequires: mvn(org.apache.maven.plugins:maven-antrun-plugin)
BuildRequires: mvn(org.apache.maven.plugins:maven-source-plugin)
BuildRequires: mvn(org.codehaus.mojo:build-helper-maven-plugin)
%endif
# -log4j12 subpackage removed in fedora 34
Obsoletes: slf4j-log4j12 < 0:1.7.30-7
@ -64,11 +71,7 @@ SLF4J interfaces directly, e.g. NLOG4J or SimpleLogger. Alternatively,
it is possible (and rather easy) to write SLF4J adapters for the given
API implementation, e.g. Log4jLoggerAdapter or JDK14LoggerAdapter..
%package javadoc
Summary: API documentation for %{name}
%description javadoc
This package provides %{summary}.
%{?javadoc_package}
%package manual
Summary: Manual for %{name}
@ -88,24 +91,12 @@ Summary: SLF4J JCL Binding
%description jcl
SLF4J JCL Binding.
%package ext
Summary: SLF4J Extensions Module
%description ext
Extensions to the SLF4J API.
%package -n jcl-over-slf4j
Summary: JCL 1.1.1 implemented over SLF4J
%description -n jcl-over-slf4j
JCL 1.1.1 implemented over SLF4J.
%package -n log4j-over-slf4j
Summary: Log4j implemented over SLF4J
%description -n log4j-over-slf4j
Log4j implemented over SLF4J.
%package -n jul-to-slf4j
Summary: JUL to SLF4J bridge
@ -121,20 +112,23 @@ SLF4J Source JARs.
%prep
%setup -q -n %{name}-v_%{version}
find -name '*.jar' -delete
cp -p %{SOURCE1} APACHE-LICENSE
install -p -m 0644 %{SOURCE1} APACHE-LICENSE
%pom_disable_module integration
%pom_disable_module osgi-over-slf4j
%pom_disable_module log4j-over-slf4j
%pom_disable_module slf4j-android
%pom_disable_module slf4j-ext
%pom_disable_module slf4j-log4j12
%pom_disable_module slf4j-migrator
# Port to maven-antrun-plugin 3.0.0
sed -i s/tasks/target/ slf4j-api/pom.xml
# Because of a non-ASCII comment in slf4j-api/src/main/java/org/slf4j/helpers/MessageFormatter.java
%pom_xpath_inject "pom:project/pom:properties" "
<project.build.sourceEncoding>ISO-8859-1</project.build.sourceEncoding>"
%pom_xpath_set "pom:project/pom:properties/pom:required.jdk.version" "1.6"
# Fix javadoc links
%pom_xpath_remove "pom:links"
%pom_xpath_inject "pom:plugin[pom:artifactId[text()='maven-javadoc-plugin']]/pom:configuration" "
@ -157,12 +151,6 @@ find -name "*.css" -o -name "*.js" -o -name "*.txt" | \
<phase>skip</phase>
</execution>" slf4j-api
# trivial port to commons-lang3
%pom_change_dep :commons-lang org.apache.commons:commons-lang3:3.8.1 slf4j-ext
sed -i "s/org.apache.commons.lang./org.apache.commons.lang3./g" \
slf4j-ext/src/main/java/org/slf4j/ext/MDCStrLookup.java
# The general pattern is that the API package exports API classes and does
# not require impl classes. slf4j was breaking that causing "A cycle was
# detected when generating the classpath slf4j.api, slf4j.nop, slf4j.api."
@ -182,7 +170,7 @@ sed -i '/Import-Package/s/\}$/};resolution:=optional/' slf4j-api/src/main/resour
%mvn_package :%{name}-nop
%build
%mvn_build -f -s -- -Dsource=1.6
%mvn_build -f -s -- -Drequired.jdk.version=1.6
%install
# Compat symlinks
@ -195,29 +183,28 @@ install -d -m 0755 $RPM_BUILD_ROOT%{_defaultdocdir}/%{name}-manual
rm -rf target/site/{.htaccess,apidocs}
cp -pr target/site/* $RPM_BUILD_ROOT%{_defaultdocdir}/%{name}-manual
%files -f .mfiles
%files -n %{?module_prefix}%{name} -f .mfiles
%license LICENSE.txt APACHE-LICENSE
%files jdk14 -f .mfiles-%{name}-jdk14
%files jcl -f .mfiles-%{name}-jcl
%files ext -f .mfiles-%{name}-ext
%files -n jcl-over-slf4j -f .mfiles-jcl-over-slf4j
%files -n log4j-over-slf4j -f .mfiles-log4j-over-slf4j
%files -n jul-to-slf4j -f .mfiles-jul-to-slf4j
%files sources -f .mfiles-sources
%license LICENSE.txt APACHE-LICENSE
%files javadoc -f .mfiles-javadoc
%license LICENSE.txt APACHE-LICENSE
%files manual
%license LICENSE.txt APACHE-LICENSE
%{_defaultdocdir}/%{name}-manual
%changelog
* Fri Apr 16 2021 Mohan Boddu <mboddu@redhat.com> - 0:1.7.30-9
- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937
* Tue Jun 08 2021 Mikolaj Izdebski <mizdebsk@redhat.com> - 1.7.30-10
- Bootstrap Maven for CentOS Stream 9
* Mon May 17 2021 Mikolaj Izdebski <mizdebsk@redhat.com> - 1.7.30-9
- Bootstrap build
- Non-bootstrap build
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0:1.7.30-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
@ -247,12 +234,34 @@ cp -pr target/site/* $RPM_BUILD_ROOT%{_defaultdocdir}/%{name}-manual
* Thu Jan 30 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0:1.7.25-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Sat Jan 25 2020 Mikolaj Izdebski <mizdebsk@redhat.com> - 1.7.30-2
- Build with OpenJDK 8
* Thu Jan 23 2020 Marian Koncek <mkoncek@redhat.com> - 1.7.30-1
- Update to upstream version 1.7.30
* Tue Nov 05 2019 Mikolaj Izdebski <mizdebsk@redhat.com> - 1.7.28-2
- Mass rebuild for javapackages-tools 201902
* Tue Aug 13 2019 Marian Koncek <mkoncek@redhat.com> - 1.7.28-1
- Update to upstream version 1.7.28
* Fri Jul 26 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0:1.7.25-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Fri May 24 2019 Mikolaj Izdebski <mizdebsk@redhat.com> - 1.7.26-3
- Mass rebuild for javapackages-tools 201901
* Fri May 24 2019 Mikolaj Izdebski <mizdebsk@redhat.com> - 1.7.26-2
- Disable slf4j-ext module
* Thu May 09 2019 Dinesh Prasanth M K <dmoluguw@redhat.com> - 0:1.7.25-7
- Rebuilt for Fedora 31
* Wed Feb 27 2019 Marian Koncek <mkoncek@redhat.com> - 0:1.7.26-1
- Update to upstream version 1.7.26
- Fixes: RHBZ #1678877
* Sat Feb 02 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0:1.7.25-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild

View File

@ -1,2 +1,2 @@
SHA512 (LICENSE-2.0.txt) = 98f6b79b778f7b0a15415bd750c3a8a097d650511cb4ec8115188e115c47053fe700f578895c097051c9bc3dfb6197c2b13a15de203273e1a3218884f86e90e8
SHA512 (v_1.7.30.tar.gz) = 4f05c996532560b16f22d78fcd47f8c4ba14691ce218a51ee6d50b283a51f8e40475a3a47f1117c1898a7be922e3f85806c4a7eb526759f0e7ea8426b5c6035f
SHA512 (LICENSE-2.0.txt) = 98f6b79b778f7b0a15415bd750c3a8a097d650511cb4ec8115188e115c47053fe700f578895c097051c9bc3dfb6197c2b13a15de203273e1a3218884f86e90e8