[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