diff --git a/.gitignore b/.gitignore index 8df1d29..fd18ed8 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -SOURCES/log4j-2.17.2.tar.gz +SOURCES/log4j-2.20.0.tar.gz diff --git a/.log4j.metadata b/.log4j.metadata index df14c28..e0f2fbe 100644 --- a/.log4j.metadata +++ b/.log4j.metadata @@ -1 +1 @@ -9e778b8991a3719661d5660a1964c0ec5c5eeace SOURCES/log4j-2.17.2.tar.gz +b3129f6364af53a3da2b533475f9eeb66ddf29b7 SOURCES/log4j-2.20.0.tar.gz diff --git a/SOURCES/0002-Remove-usage-of-toolchains.patch b/SOURCES/0002-Remove-usage-of-toolchains.patch new file mode 100644 index 0000000..5d340c2 --- /dev/null +++ b/SOURCES/0002-Remove-usage-of-toolchains.patch @@ -0,0 +1,46 @@ +From 22d40a2e43583647f3337489ac9e286883586bcd Mon Sep 17 00:00:00 2001 +From: Marian Koncek +Date: Tue, 6 Jun 2023 15:06:14 +0200 +Subject: [PATCH] Remove usage of toolchains + +--- + log4j-api-java9/pom.xml | 9 --------- + 1 file changed, 9 deletions(-) + +diff --git a/log4j-api-java9/pom.xml b/log4j-api-java9/pom.xml +index e78fe4a..4a669e1 100644 +--- a/log4j-api-java9/pom.xml ++++ b/log4j-api-java9/pom.xml +@@ -76,9 +76,6 @@ + compile + + +- +- [9, ) +- + 9 + + +@@ -98,9 +95,6 @@ + testCompile + + +- +- [9, ) +- + 9 + + ${project.basedir}/src/test/java9 +@@ -128,9 +122,6 @@ + + true + +- +- [9, ) +- + + + +-- +2.40.1 + diff --git a/SOURCES/logging-log4j-Remove-unsupported-EventDataConverter.patch b/SOURCES/logging-log4j-Remove-unsupported-EventDataConverter.patch index 01e5cb7..6dcc056 100644 --- a/SOURCES/logging-log4j-Remove-unsupported-EventDataConverter.patch +++ b/SOURCES/logging-log4j-Remove-unsupported-EventDataConverter.patch @@ -55,7 +55,7 @@ index 620232a..0000000 - } -} diff --git a/log4j-slf4j-impl/src/main/java/org/apache/logging/slf4j/Log4jLogger.java b/log4j-slf4j-impl/src/main/java/org/apache/logging/slf4j/Log4jLogger.java -index 1fa8080..90cfe4e 100644 +index 39cb2e7..1d654f8 100644 --- a/log4j-slf4j-impl/src/main/java/org/apache/logging/slf4j/Log4jLogger.java +++ b/log4j-slf4j-impl/src/main/java/org/apache/logging/slf4j/Log4jLogger.java @@ -27,9 +27,7 @@ import org.apache.logging.log4j.message.Message; @@ -65,14 +65,12 @@ index 1fa8080..90cfe4e 100644 -import org.apache.logging.log4j.util.LoaderUtil; import org.slf4j.Marker; -import org.slf4j.MarkerFactory; - import org.slf4j.impl.StaticMarkerBinder; import org.slf4j.spi.LocationAwareLogger; -@@ -39,18 +37,13 @@ import org.slf4j.spi.LocationAwareLogger; - public class Log4jLogger implements LocationAwareLogger, Serializable { - + /** +@@ -40,10 +38,7 @@ public class Log4jLogger implements LocationAwareLogger, Serializable { public static final String FQCN = Log4jLogger.class.getName(); -- + private static final long serialVersionUID = 7869000638091304316L; - private static final Marker EVENT_MARKER = MarkerFactory.getMarker("EVENT"); - private static final EventDataConverter CONVERTER = createConverter(); @@ -80,25 +78,28 @@ index 1fa8080..90cfe4e 100644 - private final boolean eventLogger; private transient ExtendedLogger logger; private final String name; - - public Log4jLogger(final ExtendedLogger logger, final String name) { + private transient Log4jMarkerFactory markerFactory; +@@ -51,7 +46,6 @@ public class Log4jLogger implements LocationAwareLogger, Serializable { + public Log4jLogger(final Log4jMarkerFactory markerFactory, final ExtendedLogger logger, final String name) { + this.markerFactory = markerFactory; this.logger = logger; - this.eventLogger = "EventLogger".equals(name); this.name = name; } -@@ -363,9 +356,7 @@ public class Log4jLogger implements LocationAwareLogger, Serializable { - return; +@@ -365,10 +359,7 @@ public class Log4jLogger implements LocationAwareLogger, Serializable { } final Message msg; + final Throwable actualThrowable; - if (CONVERTER != null && eventLogger && marker != null && marker.contains(EVENT_MARKER)) { - msg = CONVERTER.convertEvent(message, params, throwable); +- actualThrowable = throwable != null ? throwable : msg.getThrowable(); - } else if (params == null) { + if (params == null) { msg = new SimpleMessage(message); + actualThrowable = throwable; } else { - msg = new ParameterizedMessage(message, params, throwable); -@@ -410,15 +401,6 @@ public class Log4jLogger implements LocationAwareLogger, Serializable { +@@ -402,15 +393,6 @@ public class Log4jLogger implements LocationAwareLogger, Serializable { aOutputStream.defaultWriteObject(); } @@ -115,7 +116,7 @@ index 1fa8080..90cfe4e 100644 switch (i) { case TRACE_INT: diff --git a/log4j-slf4j-impl/src/test/java/org/apache/logging/slf4j/LoggerTest.java b/log4j-slf4j-impl/src/test/java/org/apache/logging/slf4j/LoggerTest.java -index 0524074..c60f1ad 100644 +index 2239dc0..c09be84 100644 --- a/log4j-slf4j-impl/src/test/java/org/apache/logging/slf4j/LoggerTest.java +++ b/log4j-slf4j-impl/src/test/java/org/apache/logging/slf4j/LoggerTest.java @@ -21,7 +21,6 @@ import static org.junit.Assert.assertNotNull; @@ -124,9 +125,9 @@ index 0524074..c60f1ad 100644 import java.util.List; -import java.util.Locale; - import org.apache.logging.log4j.junit.LoggerContextRule; - import org.apache.logging.log4j.test.appender.ListAppender; -@@ -34,8 +33,6 @@ import org.slf4j.Logger; + import org.apache.logging.log4j.core.LogEvent; + import org.apache.logging.log4j.core.test.appender.ListAppender; +@@ -35,8 +34,6 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.slf4j.MDC; import org.slf4j.Marker; @@ -135,7 +136,7 @@ index 0524074..c60f1ad 100644 import org.slf4j.ext.XLogger; import org.slf4j.ext.XLoggerFactory; import org.slf4j.spi.LocationAwareLogger; -@@ -145,23 +142,6 @@ public class LoggerTest { +@@ -146,23 +143,6 @@ public class LoggerTest { verify("List", "o.a.l.s.LoggerTest Hello, Log4j Log4j {} MDC{}" + Strings.LINE_SEPARATOR); } @@ -156,19 +157,19 @@ index 0524074..c60f1ad 100644 - verify("EventLogger", "o.a.l.s.LoggerTest Transfer [Audit@18060 Amount=\"200.00\" FromAccount=\"123457\" ToAccount=\"123456\"] Transfer Complete" + Strings.LINE_SEPARATOR); - } - - private void verify(final String name, final String expected) { - final ListAppender listApp = ctx.getListAppender(name); - assertNotNull("Missing Appender", listApp); -@@ -177,6 +157,5 @@ public class LoggerTest { - public void cleanup() { + @Test + public void testThrowable() { + final Throwable expected = new RuntimeException(); +@@ -217,6 +197,5 @@ public class LoggerTest { MDC.clear(); ctx.getListAppender("List").clear(); + ctx.getListAppender("UnformattedList").clear(); - ctx.getListAppender("EventLogger").clear(); } } diff --git a/log4j-slf4j-impl/src/test/java/org/apache/logging/slf4j/OptionalTest.java b/log4j-slf4j-impl/src/test/java/org/apache/logging/slf4j/OptionalTest.java deleted file mode 100644 -index a6e9fd5..0000000 +index 746eb61..0000000 --- a/log4j-slf4j-impl/src/test/java/org/apache/logging/slf4j/OptionalTest.java +++ /dev/null @@ -1,69 +0,0 @@ @@ -192,8 +193,8 @@ index a6e9fd5..0000000 - -import java.util.List; - --import org.apache.logging.log4j.junit.LoggerContextRule; --import org.apache.logging.log4j.test.appender.ListAppender; +-import org.apache.logging.log4j.core.test.appender.ListAppender; +-import org.apache.logging.log4j.core.test.junit.LoggerContextRule; -import org.apache.logging.log4j.util.Strings; -import org.junit.Before; -import org.junit.ClassRule; @@ -242,7 +243,7 @@ index a6e9fd5..0000000 - } -} diff --git a/log4j-slf4j-impl/src/test/resources/log4j-test1.xml b/log4j-slf4j-impl/src/test/resources/log4j-test1.xml -index a64bdfa..07a2be6 100644 +index 1ba09ca..2dee2c1 100644 --- a/log4j-slf4j-impl/src/test/resources/log4j-test1.xml +++ b/log4j-slf4j-impl/src/test/resources/log4j-test1.xml @@ -6,9 +6,6 @@ @@ -255,7 +256,7 @@ index a64bdfa..07a2be6 100644 -@@ -24,10 +21,6 @@ +@@ -25,10 +22,6 @@ diff --git a/SPECS/log4j.spec b/SPECS/log4j.spec index 9e7c320..1796a26 100644 --- a/SPECS/log4j.spec +++ b/SPECS/log4j.spec @@ -1,24 +1,30 @@ -%bcond_without jp_minimal +%bcond_with bootstrap +%bcond_without jp_minimal Name: log4j -Version: 2.17.2 -Release: 1%{?dist} +Version: 2.20.0 +Release: 16%{?dist} Summary: Java logging package BuildArch: noarch -License: ASL 2.0 +ExclusiveArch: %{java_arches} noarch +License: Apache-2.0 URL: https://logging.apache.org/%{name} # ./generate-tarball.sh Source0: %{name}-%{version}.tar.gz -Patch2: logging-log4j-Remove-unsupported-EventDataConverter.patch +Patch: logging-log4j-Remove-unsupported-EventDataConverter.patch +Patch: 0002-Remove-usage-of-toolchains.patch +%if %{with bootstrap} +BuildRequires: javapackages-bootstrap +%else BuildRequires: maven-local BuildRequires: mvn(com.lmax:disruptor) -BuildRequires: mvn(com.sun.activation:jakarta.activation) -BuildRequires: mvn(com.sun.mail:javax.mail) BuildRequires: mvn(commons-logging:commons-logging) +BuildRequires: mvn(jakarta.activation:jakarta.activation-api) +BuildRequires: mvn(jakarta.mail:jakarta.mail-api) BuildRequires: mvn(javax.servlet:javax.servlet-api) BuildRequires: mvn(org.apache.commons:commons-compress) BuildRequires: mvn(org.apache.felix:maven-bundle-plugin) @@ -29,6 +35,7 @@ BuildRequires: mvn(org.fusesource.jansi:jansi) BuildRequires: mvn(org.jctools:jctools-core) BuildRequires: mvn(org.osgi:osgi.core) BuildRequires: mvn(org.slf4j:slf4j-api) +%endif %if %{without jp_minimal} BuildRequires: mvn(com.datastax.cassandra:cassandra-driver-core) @@ -39,7 +46,7 @@ BuildRequires: mvn(com.fasterxml.jackson.dataformat:jackson-dataformat-xml) BuildRequires: mvn(com.fasterxml.jackson.dataformat:jackson-dataformat-yaml) BuildRequires: mvn(com.fasterxml.woodstox:woodstox-core) BuildRequires: mvn(com.lmax:disruptor) -BuildRequires: mvn(com.sun.mail:javax.mail) +BuildRequires: mvn(jakarta.mail:jakarta.mail-api) BuildRequires: mvn(jakarta.servlet:jakarta.servlet-api) BuildRequires: mvn(javax.servlet.jsp:jsp-api) BuildRequires: mvn(org.apache.commons:commons-csv) @@ -57,9 +64,6 @@ BuildRequires: mvn(org.slf4j:slf4j-api) BuildRequires: mvn(org.slf4j:slf4j-ext) BuildRequires: mvn(org.zeromq:jeromq) BuildRequires: mvn(sun.jdk:jconsole) -# Explicit requires for javapackages-tools since log4j-jmx script -# uses /usr/share/java-utils/java-functions -Requires: javapackages-tools # Also needs: # - Various Spring dependencies @@ -67,9 +71,6 @@ Requires: javapackages-tools # - io.fabric8.kubernetes-client %endif -Obsoletes: %{name}-osgi < 2.9.1-4 -Obsoletes: %{name}-liquibase < 2.9.1-4 - %description Log4j is a tool to help the programmer output log statements to a variety of output targets. @@ -92,6 +93,12 @@ Summary: Apache Log4j Web %description web Support for Log4j in a web servlet container. +%package bom +Summary: Apache Log4j BOM + +%description bom +Apache Log4j 2 Bill of Material + %if %{without jp_minimal} %package osgi Summary: Apache Log4J Core OSGi Bundles @@ -113,41 +120,33 @@ Requires: java-devel Swing-based client for remotely editing the log4j configuration and remotely monitoring StatusLogger output. Includes a JConsole plug-in. -%package bom -Summary: Apache Log4j BOM - -%description bom -Apache Log4j 2 Bill of Material - - %package nosql Summary: Apache Log4j NoSql %description nosql Use NoSQL databases such as MongoDB and CouchDB to append log messages. - %endif %package javadoc Summary: API documentation for %{name} -Obsoletes: %{name}-manual < %{version} %description javadoc %{summary}. %prep -%setup -q -n apache-%{name}-%{version}-src -%autopatch -p1 +%autosetup -p1 -n apache-%{name}-%{version}-src +%pom_remove_plugin -r :apache-rat-plugin %pom_remove_plugin -r :maven-site-plugin -%pom_remove_plugin -r :maven-remote-resources-plugin -%pom_remove_plugin -r :maven-doap-plugin %pom_remove_plugin -r :maven-source-plugin %pom_remove_plugin -r :maven-toolchains-plugin -%pom_remove_plugin -r :revapi-maven-plugin +%pom_remove_plugin -r :maven-enforcer-plugin +%pom_remove_plugin -r com.diffplug.spotless:spotless-maven-plugin +%pom_remove_plugin -r org.apache.logging.log4j:log4j-changelog-maven-plugin +%pom_remove_plugin -r org.codehaus.mojo:xml-maven-plugin # remove all the stuff we'll build ourselves -find -name "*.jar" -o -name "*.class" -delete +find -name '*.jar' -o -name '*.class' -delete rm -rf docs/api %pom_disable_module %{name}-distribution @@ -159,8 +158,14 @@ rm -rf docs/api # artifact for upstream testing of log4j itself, shouldn't be distributed %pom_disable_module %{name}-perf -# add dependency for javax.activation package (no longer part of OpenJDK) -%pom_add_dep com.sun.activation:jakarta.activation::provided +%pom_remove_dep -r org.codehaus.groovy:groovy-bom +%pom_remove_dep -r com.fasterxml.jackson:jackson-bom +%pom_remove_dep -r jakarta.platform:jakarta.jakartaee-bom +%pom_remove_dep -r org.eclipse.jetty:jetty-bom +%pom_remove_dep -r org.junit:junit-bom +%pom_remove_dep -r io.fabric8:kubernetes-client-bom +%pom_remove_dep -r io.netty:netty-bom +%pom_remove_dep -r org.springframework:spring-framework-bom # unavailable com.conversantmedia:disruptor rm log4j-core/src/main/java/org/apache/logging/log4j/core/async/DisruptorBlockingQueueFactory.java @@ -170,11 +175,7 @@ rm log4j-core/src/main/java/org/apache/logging/log4j/core/async/DisruptorBlockin rm -r log4j-core/src/main/java/org/apache/logging/log4j/core/appender/mom/kafka %pom_remove_dep -r :kafka-clients -# not compatible with fedora's version -%pom_disable_module %{name}-liquibase - -# we don't have slf4j 1.8 yet -%pom_disable_module %{name}-slf4j18-impl +%pom_remove_dep -r javax.jms:javax.jms-api # we don't have commons-dbcp2 %pom_disable_module %{name}-jdbc-dbcp2 @@ -190,23 +191,25 @@ rm -r log4j-core/src/main/java/org/apache/logging/log4j/core/appender/mom/kafka # old AID is provided by felix, we want osgi-core %pom_change_dep -r org.osgi:org.osgi.core org.osgi:osgi.core -# BOM package shouldn't require Apache RAT -%pom_remove_plugin :apache-rat-plugin %{name}-bom - # tests are disabled %pom_remove_plugin :maven-failsafe-plugin # Remove deps on slf4j-ext, it is no longer available in Fedora 35 %pom_remove_dep -r :slf4j-ext %pom_remove_parent +%pom_remove_parent log4j-bom # Make compiled code compatible with OpenJDK 8 %pom_xpath_inject 'pom:plugin[pom:artifactId="maven-compiler-plugin"]/pom:configuration' "8" +%pom_disable_module %{name}-api-test +%pom_disable_module %{name}-core-test +%pom_disable_module %{name}-layout-template-json-test +%pom_disable_module %{name}-slf4j2-impl + %if %{with jp_minimal} %pom_disable_module %{name}-taglib %pom_disable_module %{name}-jmx-gui -%pom_disable_module %{name}-bom %pom_disable_module %{name}-jakarta-web %pom_disable_module %{name}-iostreams %pom_disable_module %{name}-jul @@ -221,14 +224,11 @@ rm -r log4j-core/src/main/java/org/apache/logging/log4j/core/appender/mom/kafka %pom_disable_module %{name}-kubernetes %pom_disable_module %{name}-layout-template-json -%pom_remove_dep -r :jackson-annotations %pom_remove_dep -r :jackson-core %pom_remove_dep -r :jackson-databind %pom_remove_dep -r :jackson-dataformat-yaml %pom_remove_dep -r :jackson-dataformat-xml %pom_remove_dep -r :woodstox-core -%pom_remove_dep -r :javax.persistence -%pom_remove_dep -r :jboss-jms-api_1.1_spec %pom_remove_dep -r :jeromq %pom_remove_dep -r :commons-csv @@ -259,9 +259,25 @@ rm -r log4j-1.2-api/src/main/java/org/apache/log4j/or/jms %mvn_package :log4j-core-its __noinstall +%mvn_package ::zip: __noinstall + +%pom_remove_dep com.sun.mail:javax.mail log4j-core +%pom_remove_dep javax.mail:javax.mail-api log4j-core +%pom_remove_dep javax.activation:javax.activation-api log4j-core +rm log4j-core/src/main/java/org/apache/logging/log4j/core/net/MimeMessageBuilder.java +rm log4j-core/src/main/java/org/apache/logging/log4j/core/net/SmtpManager.java +rm log4j-core/src/main/java/org/apache/logging/log4j/core/appender/SmtpAppender.java +rm log4j-core/src/main/java/org/apache/logging/log4j/core/filter/MutableThreadContextMapFilter.java + +%pom_remove_dep org.eclipse.angus:angus-activation log4j-jakarta-smtp +%pom_remove_dep org.eclipse.angus:jakarta.mail log4j-jakarta-smtp + +%pom_remove_plugin -r org.apache.maven.plugins:maven-failsafe-plugin +%pom_remove_plugin -r org.ops4j.pax.exam:exam-maven-plugin + %build # missing test deps (mockejb) -%mvn_build -f -j +%mvn_build -f %install %mvn_install @@ -271,39 +287,91 @@ rm -r log4j-1.2-api/src/main/java/org/apache/log4j/or/jms %endif %files -f .mfiles -%doc LICENSE.txt NOTICE.txt +%license LICENSE.txt NOTICE.txt %files slf4j -f .mfiles-slf4j %files jcl -f .mfiles-jcl %files web -f .mfiles-web +%files bom -f .mfiles-bom %if %{without jp_minimal} %files taglib -f .mfiles-taglib -%files bom -f .mfiles-bom %files nosql -f .mfiles-nosql %files jmx-gui -f .mfiles-jmx-gui %{_bindir}/%{name}-jmx %endif -#%%files javadoc -f .mfiles-javadoc -#%%doc LICENSE.txt NOTICE.txt - +%files javadoc -f .mfiles-javadoc +%license LICENSE.txt NOTICE.txt %changelog -* Thu Oct 20 2022 Marián Konček - 2.17.2-1 -- Update to upstream version 2.17.2 +* Fri Nov 29 2024 Mikolaj Izdebski - 2.20.0-16 +- Drop explicit requires on javapackages-tools + +* Wed Jul 24 2024 Mikolaj Izdebski - 2.20.0-9 +- Install license files in licensedir instead of docdir + +* Thu Jul 18 2024 Fedora Release Engineering - 2.20.0-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Tue Feb 27 2024 Jiri Vanek - 2.20.0-7 +- Rebuilt for java-21-openjdk as system jdk + +* Fri Feb 23 2024 Jiri Vanek - 2.20.0-6 +- bump of release for for java-21-openjdk as system jdk + +* Thu Jan 25 2024 Fedora Release Engineering - 2.20.0-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Sun Jan 21 2024 Fedora Release Engineering - 2.20.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Fri Sep 01 2023 Mikolaj Izdebski - 2.20.0-3 +- Rebuild + +* Tue Aug 22 2023 Marian Koncek - 2.20.0-2 +- Do not install zip files + +* Mon Aug 21 2023 Marian Koncek - 2.20.0-1 +- Update to upstream version 2.20.0 + +* Thu Jul 20 2023 Fedora Release Engineering - 2.17.2-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Fri Mar 17 2023 Mikolaj Izdebski - 2.17.2-9 +- Re-enable javadoc package + +* Fri Feb 24 2023 Mikolaj Izdebski - 2.17.2-8 +- Remove dependency on jackson in jp_minimal mode + +* Thu Jan 19 2023 Fedora Release Engineering - 2.17.2-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Mon Oct 24 2022 Marian Koncek - 2.17.2-6 - Re-add log4j-web subpackage -* Thu Oct 20 2022 Marián Konček - 2.17.1-5 -- Remove glyphicons resources from source package +* Thu Oct 13 2022 Marian Koncek - 2.17.2-5 +- Remove the rest of glyphicons files -* Tue Mar 29 2022 Mikolaj Izdebski - 2.17.1-4 -- Fix dependency scope of jakarta-activation +* Thu Oct 13 2022 Marian Koncek - 2.17.2-4 +- Remove glyphicons zip archive from source package -* Wed Feb 23 2022 Mikolaj Izdebski - 2.17.1-3 -- Fix compatibility with OpenJDK 8 +* Thu Jul 21 2022 Fedora Release Engineering - 2.17.2-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild -* Mon Feb 21 2022 Mikolaj Izdebski - 2.17.1-2 -- Remove dependency on jackson +* Tue Apr 26 2022 Mikolaj Izdebski - 2.17.2-2 +- Fix compatibility with Java 8 + +* Sun Feb 27 2022 Paul Wouters - 2.17.2-1 +- Resolves: rhbz#2058949 log4j-2.17.2 is available (1.2 bridge bugfixes) + +* Sat Feb 05 2022 Jiri Vanek - 2.17.1-4 +- Rebuilt for java-17-openjdk as system jdk + +* Thu Jan 20 2022 Fedora Release Engineering - 2.17.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Thu Jan 06 2022 Malcolm Inglis - 2.17.1-2 +- Enable GPG signature verification of sources * Tue Dec 28 2021 Paul Wouters - 2.17.1-1 - Update log4j to 2.17.1 for CVE-2021-44832 RCE via JDBC Appender (when attacker controls config)