[log4j] Update to upstream version 2.0

Michael Šimáček msimacek at fedoraproject.org
Thu May 15 14:28:55 UTC 2014


commit 92f0a5277d65a43aaf3d67f11046d9985b62db8e
Author: Michael Simacek <msimacek at redhat.com>
Date:   Thu May 15 16:17:08 2014 +0200

    Update to upstream version 2.0

 .gitignore                                |    1 +
 0001-logfactor5-changed-userdir.patch     |   56 ------
 0006-Remove-mvn-clirr-plugin.patch        |   40 -----
 0009-Fix-tests.patch                      |   34 ----
 0010-Fix-javadoc-link.patch               |   26 ---
 0011-Remove-openejb.patch                 |   30 ----
 0012-Add-proper-bundle-symbolicname.patch |   31 ----
 Makefile                                  |   21 ---
 log4j-chainsaw.1                          |   15 --
 log4j-chainsaw.desktop                    |    8 -
 log4j-chainsaw.png                        |  Bin 2954 -> 0 bytes
 log4j-chainsaw.sh                         |   37 ----
 log4j-logfactor5.1                        |   17 --
 log4j-logfactor5.desktop                  |    8 -
 log4j-logfactor5.png                      |  Bin 856 -> 0 bytes
 log4j-logfactor5.sh                       |   27 ---
 log4j.catalog                             |    5 -
 log4j.spec                                |  269 +++++++++++++++--------------
 sources                                   |    2 +-
 19 files changed, 143 insertions(+), 484 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index 7984c02..6372117 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,3 @@
 apache-log4j-1.2.16.tar.gz
 /log4j-1.2.17.tar.gz
+/apache-log4j-2.0-rc1-src.tar.gz
diff --git a/log4j.spec b/log4j.spec
index 8b23eda..fd6851e 100644
--- a/log4j.spec
+++ b/log4j.spec
@@ -1,159 +1,168 @@
 
 %global bootstrap %{?_with_bootstrap:1}%{!?_with_bootstrap:%{?_without_bootstrap:0}%{!?_without_bootstrap:%{?_bootstrap:%{_bootstrap}}%{!?_bootstrap:0}}}
+%global reltag rc1
 
 Name:           log4j
-Version:        1.2.17
-Release:        16%{?dist}
+Version:        2.0
+Release:        0.1.%{reltag}%{?dist}
 Epoch:          0
 Summary:        Java logging package
 BuildArch:      noarch
 License:        ASL 2.0
 URL:            http://logging.apache.org/%{name}
-Source0:        http://www.apache.org/dist/logging/%{name}/%{version}/%{name}-%{version}.tar.gz
-# Converted from src/java/org/apache/log4j/lf5/viewer/images/lf5_small_icon.gif
-Source101:      %{name}-logfactor5.png
-Source102:      %{name}-logfactor5.sh
-Source103:      %{name}-logfactor5.desktop
-Source104:      %{name}-logfactor5.1
-# Converted from docs/images/logo.jpg
-Source111:      %{name}-chainsaw.png
-Source112:      %{name}-chainsaw.sh
-Source113:      %{name}-chainsaw.desktop
-Source114:      %{name}-chainsaw.1
-Source200:      %{name}.catalog
-Patch0:         0001-logfactor5-changed-userdir.patch
-Patch1:         0006-Remove-mvn-clirr-plugin.patch
-Patch2:         0009-Fix-tests.patch
-Patch3:         0010-Fix-javadoc-link.patch
-Patch4:         0011-Remove-openejb.patch
-Patch5:         0012-Add-proper-bundle-symbolicname.patch
-
-BuildRequires:  %{__perl}
-BuildRequires:  desktop-file-utils
+Source0:        http://www.apache.org/dist/logging/%{name}/%{version}-%{reltag}/apache-%{name}-%{version}-%{reltag}-src.tar.gz
+
 BuildRequires:  maven-local
-BuildRequires:  javamail
-BuildRequires:  junit
-BuildRequires:  geronimo-jms
-BuildRequires:  jakarta-oro
-BuildRequires:  ant-contrib
-BuildRequires:  ant-junit
+BuildRequires:  mvn(com.fasterxml.jackson.core:jackson-core)
+BuildRequires:  mvn(com.fasterxml.jackson.core:jackson-databind)
+BuildRequires:  mvn(com.h2database:h2)
+BuildRequires:  mvn(com.lmax:disruptor)
+BuildRequires:  mvn(commons-httpclient:commons-httpclient)
+BuildRequires:  mvn(commons-logging:commons-logging)
+BuildRequires:  mvn(com.sun.mail:javax.mail)
+BuildRequires:  mvn(javax.jmdns:jmdns)
+BuildRequires:  mvn(javax.servlet:javax.servlet-api)
+BuildRequires:  mvn(javax.servlet.jsp:jsp-api)
+BuildRequires:  mvn(javax.servlet:servlet-api)
+BuildRequires:  mvn(junit:junit)
+BuildRequires:  mvn(org.apache:apache:pom:)
+BuildRequires:  mvn(org.apache.commons:commons-lang3)
+BuildRequires:  mvn(org.apache.felix:maven-bundle-plugin)
+BuildRequires:  mvn(org.apache.felix:org.apache.felix.framework)
+BuildRequires:  mvn(org.apache.geronimo.specs:geronimo-jms_1.1_spec)
+BuildRequires:  mvn(org.apache.maven.plugins:maven-antrun-plugin)
+BuildRequires:  mvn(org.apache.velocity:velocity)
+BuildRequires:  mvn(org.codehaus.mojo:exec-maven-plugin)
+BuildRequires:  mvn(org.easymock:easymock)
+BuildRequires:  mvn(org.eclipse.osgi:org.eclipse.osgi)
+BuildRequires:  mvn(org.eclipse.persistence:org.eclipse.persistence.jpa)
+BuildRequires:  mvn(org.fusesource.jansi:jansi)
+BuildRequires:  mvn(org.hibernate.javax.persistence:hibernate-jpa-2.1-api)
+BuildRequires:  mvn(org.hsqldb:hsqldb)
+BuildRequires:  mvn(org.lightcouch:lightcouch)
+BuildRequires:  mvn(org.mongodb:mongo-java-driver)
+BuildRequires:  mvn(org.slf4j:slf4j-api)
+BuildRequires:  mvn(org.slf4j:slf4j-ext)
+BuildRequires:  mvn(org.springframework:spring-core)
+BuildRequires:  mvn(org.springframework:spring-test)
 
 %description
 Log4j is a tool to help the programmer output log statements to a
 variety of output targets.
 
-%package        manual
-Summary:        Developer manual for %{name}
-Requires:       %{name}-javadoc = %{version}-%{release}
+%package osgi
+Summary:        pache Log4J Core OSGi Bundles
+
+%description osgi
+Apache Log4J Core OSGi Bundles.
+
+%package slf4j
+Summary:        Binding between LOG4J 2 API and SLF4J
+
+%description slf4j
+Binding between LOG4J 2 API and SLF4J.
+
+%package taglib
+Summary:        Apache Log4j Tag Library
+
+%description taglib
+Apache Log4j Tag Library for Web Applications.
+
+%package jcl
+Summary:        Apache Log4j Commons Logging Bridge
+
+%description jcl
+Apache Log4j Commons Logging Bridge.
+
+%package jmx-gui
+Summary:        Apache Log4j JMX GUI
+Requires:       java-devel
+
+%description jmx-gui
+Swing-based client for remotely editing the log4j configuration and remotely
+monitoring StatusLogger output. Includes a JConsole plug-in.
 
-%description    manual
-%{summary}.
 
 %package        javadoc
 Summary:        API documentation for %{name}
+Obsoletes:      %{name}-manual < %{version}
+Provides:       %{name}-manual = %{version}
 
 %description    javadoc
 %{summary}.
 
 %prep
-%setup -q -n apache-%{name}-%{version}
-# see patch files themselves for reasons for applying
-%patch0 -p1 -b .logfactor-home
-%patch1 -p1 -b .remove-mvn-clirr
-%patch2 -p1 -b .fix-tests
-%patch3 -p1 -b .xlink-javadoc
-%patch4 -p1 -b .openejb
-%patch5 -p1 -b .bundlename
-%pom_remove_plugin :maven-site-plugin
-
-sed -i "s|groupId>ant<|groupId>org.apache.ant<|g" pom.xml
+%setup -q -n apache-%{name}-%{version}-%{reltag}-src
 
-sed -i 's/\r//g' LICENSE NOTICE site/css/*.css site/xref/*.css \
-    site/xref-test/*.css
-
-# fix encoding of mailbox files
-for i in contribs/JimMoore/mail*;do
-    iconv --from=ISO-8859-1 --to=UTF-8 "$i" > new
-    mv new "$i"
-done
+%pom_remove_plugin :maven-site-plugin
 
 # remove all the stuff we'll build ourselves
 find -name "*.jar" -o -name "*.class" -delete
 rm -rf docs/api
 
-# Needed by tests
-mkdir -p tests/lib/
-(cd tests/lib/
-  ln -s `build-classpath jakarta-oro`
-  ln -s `build-classpath javamail/mail`
-  ln -s `build-classpath junit`
-)
+%pom_disable_module %{name}-samples
+%pom_disable_module %{name}-distribution
 
-%pom_xpath_inject "pom:dependency[pom:groupId='javax.mail']" '<scope>provided</scope>'
-%pom_xpath_inject "pom:dependency[pom:groupId='org.apache.geronimo.specs']" '<scope>provided</scope>'
+# Apache Flume is not in Fedora yet
+%pom_disable_module %{name}-flume-ng
 
+# System scoped dep provided by JDK
+%pom_remove_dep :jconsole %{name}-jmx-gui
+%pom_add_dep sun.jdk:jconsole %{name}-jmx-gui
 
-%build
-%mvn_file : %{name}
-%mvn_build
+# Different AID, provided by felix/equinox
+%pom_remove_dep org.osgi:core
+%pom_remove_dep org.osgi:core %{name}-core
 
-%install
-%mvn_install
-
-# scripts
-install -pD -T -m 755 %{SOURCE102} %{buildroot}%{_bindir}/logfactor5
-install -pD -T -m 755 %{SOURCE112} %{buildroot}%{_bindir}/chainsaw
-
-# freedesktop.org menu entries and icons
-install -pD -T -m 644 %{SOURCE101} \
-        %{buildroot}%{_datadir}/pixmaps/logfactor5.png
-desktop-file-install \
-     --dir=${RPM_BUILD_ROOT}%{_datadir}/applications \
-     %{SOURCE103}
+# Classpath hell, equinox must come before felix
+%pom_remove_dep org.eclipse.osgi:org.eclipse.osgi %{name}-api
+%pom_add_dep org.eclipse.osgi:org.eclipse.osgi:3.6.0.v20100517:provided %{name}-api
 
-install -pD -T -m 644 %{SOURCE111} \
-        %{buildroot}%{_datadir}/pixmaps/chainsaw.png
-desktop-file-install \
-     --dir=${RPM_BUILD_ROOT}%{_datadir}/applications \
-     %{SOURCE113}
+# Old version of specification
+%pom_remove_dep :javax.persistence %{name}-core
+%pom_add_dep org.hibernate.javax.persistence:hibernate-jpa-2.1-api:any:provided %{name}-core
 
-# Manual pages
-install -d -m 755 ${RPM_BUILD_ROOT}%{_mandir}/man1
-install -p -m 644 %{SOURCE104} ${RPM_BUILD_ROOT}%{_mandir}/man1/logfactor5.1
-install -p -m 644 %{SOURCE114} ${RPM_BUILD_ROOT}%{_mandir}/man1/chainsaw.1
-
-# DTD and the SGML catalog (XML catalog handled in scriptlets)
-install -pD -T -m 644 src/main/javadoc/org/apache/log4j/xml/doc-files/log4j.dtd \
-  %{buildroot}%{_datadir}/sgml/%{name}/log4j.dtd
-install -pD -T -m 644 %{SOURCE200} \
-  %{buildroot}%{_datadir}/sgml/%{name}/catalog
-
-# fix perl location
-%__perl -p -i -e 's|/opt/perl5/bin/perl|%{__perl}|' \
-contribs/KitchingSimon/udpserver.pl
+# Do not generate requires on optional dependencies
+%pom_xpath_inject "pom:dependency[pom:artifactId='javax.mail']" '<scope>provided</scope>'
+%pom_xpath_inject "pom:dependency[pom:groupId='org.apache.geronimo.specs']" '<scope>provided</scope>'
+%pom_xpath_inject "pom:dependency[pom:artifactId='disruptor']" '<scope>provided</scope>' %{name}-core
+%pom_xpath_inject "pom:dependency[pom:groupId='com.fasterxml.jackson.core']" '<scope>provided</scope>' %{name}-core
+%pom_xpath_inject "pom:dependency[pom:artifactId='jansi']" '<scope>provided</scope>' %{name}-core
+%pom_xpath_set    "pom:dependency[pom:artifactId='lightcouch']/pom:scope" provided %{name}-core
+%pom_xpath_set    "pom:dependency[pom:artifactId='mongo-java-driver']/pom:scope" provided %{name}-core
+
+# Required at compile-time not just test, but we don't want requires
+%pom_xpath_set "pom:dependency[pom:groupId='org.eclipse.persistence']/pom:scope" provided %{name}-core
+%pom_xpath_set "pom:dependency[pom:groupId='org.eclipse.osgi']/pom:scope" provided %{name}-core
+
+%mvn_alias :%{name}-1.2-api %{name}:%{name}
+
+# Note that packages using the compatibility layer still need to have log4j-core
+# on the classpath to run. This is there to prevent build-classpath from putting
+# whole dir on the classpath which results in loading incorrect provider
+%mvn_file ':{%{name}-1.2-api}' %{name}/@1 %{name}
+
+%mvn_package ':%{name}-osgi' osgi
+%mvn_package 'org.apache.logging.%{name}.osgi:' osgi
+%mvn_package ':%{name}-slf4j-impl' slf4j
+%mvn_package ':%{name}-to-slf4j' slf4j
+%mvn_package ':%{name}-taglib' taglib
+%mvn_package ':%{name}-jcl' jcl
+%mvn_package ':%{name}-jmx-gui' jmx-gui
 
+%build
+# missing test deps (mockejb)
+%mvn_build -f
 
-%post
-# Note that we're using versioned catalog, so this is always ok.
-if [ -x %{_bindir}/install-catalog -a -d %{_sysconfdir}/sgml ]; then
-  %{_bindir}/install-catalog --add \
-    %{_sysconfdir}/sgml/%{name}-%{version}-%{release}.cat \
-    %{_datadir}/sgml/%{name}/catalog > /dev/null || :
-fi
-if [ -x %{_bindir}/xmlcatalog -a -w %{_sysconfdir}/xml/catalog ]; then
-  %{_bindir}/xmlcatalog --noout --add public "-//APACHE//DTD LOG4J 1.2//EN" \
-    file://%{_datadir}/sgml/%{name}/log4j.dtd %{_sysconfdir}/xml/catalog \
-    > /dev/null
-  %{_bindir}/xmlcatalog --noout --add system log4j.dtd \
-    file://%{_datadir}/sgml/%{name}/log4j.dtd %{_sysconfdir}/xml/catalog \
-    > /dev/null || :
-fi
+%install
+%mvn_install
 
+%jpackage_script org.apache.logging.log4j.jmx.gui.ClientGUI '' '' %{name}/%{name}-jmx-gui:%{name}/%{name}-core %{name}-jmx false
 
 %preun
 if [ $1 -eq 0 ]; then
-  if [ -x %{_bindir}/xmlcatalog -a -w %{_sysconfdir}/xml/catalog ]; then
-    %{_bindir}/xmlcatalog --noout --del \
+  if [ -x xmlcatalog -a -w %{_sysconfdir}/xml/catalog ]; then
+    xmlcatalog --noout --del \
       file://%{_datadir}/sgml/%{name}/log4j.dtd \
       %{_sysconfdir}/xml/catalog > /dev/null || :
   fi
@@ -162,30 +171,34 @@ fi
 
 %postun
 # Note that we're using versioned catalog, so this is always ok.
-if [ -x %{_bindir}/install-catalog -a -d %{_sysconfdir}/sgml ]; then
-  %{_bindir}/install-catalog --remove \
+if [ -x install-catalog -a -d %{_sysconfdir}/sgml ]; then
+  install-catalog --remove \
     %{_sysconfdir}/sgml/%{name}-%{version}-%{release}.cat \
     %{_datadir}/sgml/%{name}/catalog > /dev/null || :
 fi
 
 %files -f .mfiles
-%doc LICENSE NOTICE
-%{_bindir}/*
-%{_mandir}/*/*
-%{_datadir}/applications/*
-%{_datadir}/pixmaps/*
-%{_datadir}/sgml/%{name}
+%dir %{_javadir}/%{name}
+%doc LICENSE.txt NOTICE.txt
 
-%files manual
-%doc LICENSE NOTICE
-%doc site/*.html site/css site/images/ site/xref site/xref-test contribs
+%files osgi -f .mfiles-osgi
+%files slf4j -f .mfiles-slf4j
+%files taglib -f .mfiles-taglib
+%files jcl -f .mfiles-jcl
+%files jmx-gui -f .mfiles-jmx-gui
+%{_bindir}/%{name}-jmx
 
-%files javadoc
-%doc LICENSE NOTICE
-%doc %{_javadocdir}/%{name}
+%files javadoc -f .mfiles-javadoc
+%doc LICENSE.txt NOTICE.txt
 
 
 %changelog
+* Fri May 09 2014 Michael Simacek <msimacek at redhat.com> - 0:2.0-0.1.rc1
+- Update to upstream version 2.0-rc1
+- Split into subpackages
+- Remove logfactor and chainsaw scripts which are no longer shipped
+- Remove XML catalogs which are no longer shipped
+
 * Tue Mar 04 2014 Stanislav Ochotnicky <sochotnicky at redhat.com> - 0:1.2.17-16
 - Use Requires: java-headless rebuild (#1067528)
 
diff --git a/sources b/sources
index ab7a384..2acad80 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-8218714e41ee0c6509dcfeafa2e1f53f  log4j-1.2.17.tar.gz
+fe28bcdfc547c497611d1f0142f681db  apache-log4j-2.0-rc1-src.tar.gz


More information about the scm-commits mailing list