0ba503
%global archiversion %(echo %{version} | tr . _ )
0ba503
0ba503
%bcond_without dtd
0ba503
0ba503
Name:          log4j12
0ba503
Version:       1.2.17
0ba503
Release:       22%{?dist}
0ba503
Summary:       Java logging package
0ba503
License:       ASL 2.0
0ba503
URL:           http://logging.apache.org/log4j/1.2/
0ba503
BuildArch:     noarch
0ba503
0ba503
Source0:       https://github.com/apache/log4j/archive/v%{archiversion}.tar.gz
0ba503
Source1:       log4j.catalog
0ba503
0ba503
Patch0:        0001-logfactor5-changed-userdir.patch
0ba503
Patch1:        0009-Fix-tests.patch
0ba503
Patch2:        0010-Fix-javadoc-link.patch
0ba503
Patch3:        0001-Backport-fix-for-CVE-2017-5645.patch
0ba503
0ba503
BuildRequires: maven-local
0ba503
BuildRequires: mvn(ant-contrib:ant-contrib)
0ba503
BuildRequires: mvn(javax.mail:mail)
0ba503
BuildRequires: mvn(junit:junit)
0ba503
BuildRequires: mvn(org.apache.ant:ant-junit)
0ba503
BuildRequires: mvn(org.apache.ant:ant-nodeps)
0ba503
BuildRequires: mvn(org.apache.felix:maven-bundle-plugin)
0ba503
BuildRequires: mvn(org.apache.geronimo.specs:geronimo-jms_1.1_spec)
0ba503
BuildRequires: mvn(org.apache.maven.plugins:maven-antrun-plugin)
0ba503
BuildRequires: mvn(org.apache.maven.plugins:maven-assembly-plugin)
0ba503
BuildRequires: mvn(oro:oro)
0ba503
0ba503
Obsoletes:     log4j <= 0:1.2.17-14
0ba503
0ba503
%description
0ba503
Log4j is a tool to help the programmer output log statements to a
0ba503
variety of output targets.
0ba503
0ba503
%package javadoc
0ba503
Summary:       Javadoc for %{name}
0ba503
0ba503
%description javadoc
0ba503
This package contains javadoc for %{name}.
0ba503
0ba503
%prep
0ba503
%setup -q -n log4j-%{archiversion}
0ba503
# Cleanup
0ba503
find . -name "*.jar" -print -delete
0ba503
find . -name "*.class" -print -delete
0ba503
find . -name "*.dll" -print -delete
0ba503
rm -rf docs/api
0ba503
0ba503
%patch0 -p1 -b .logfactor-home
0ba503
%patch1 -p1 -b .fix-tests
0ba503
%patch2 -p1 -b .xlink-javadoc
0ba503
%patch3 -p1
0ba503
0ba503
# Remove unavailable plugin
0ba503
%pom_remove_plugin :clirr-maven-plugin
0ba503
# Remove unwanted plugin
0ba503
%pom_remove_plugin :maven-site-plugin
0ba503
%pom_remove_plugin :maven-source-plugin
0ba503
%pom_remove_plugin :rat-maven-plugin
0ba503
# Disable javadoc jar
0ba503
%pom_xpath_remove "pom:build/pom:plugins/pom:plugin[pom:artifactId = 'maven-javadoc-plugin']/pom:executions"
0ba503
0ba503
# Remove openejb from dependencies
0ba503
%pom_remove_dep org.apache.openejb:javaee-api
0ba503
0ba503
# Fix ant gId
0ba503
sed -i.ant "s|groupId>ant<|groupId>org.apache.ant<|g" pom.xml
0ba503
0ba503
sed -i.javac "s|1.4|1.6|g" pom.xml build.xml
0ba503
sed -i.javac "s|1.4|1.6|g" pom.xml build.xml
0ba503
sed -i.javac "s|1.1|1.6|g" tests/build.xml
0ba503
sed -i.javac "s|1.1|1.6|g" tests/build.xml
0ba503
0ba503
# Fix OSGi manifest
0ba503
sed -i.javax.jmdns "s|javax.jmdns.*;resolution:=optional,|!javax.jmdns.*,|g" pom.xml
0ba503
# Add proper bundle symbolicname
0ba503
%pom_xpath_inject "pom:build/pom:plugins/pom:plugin[pom:artifactId = 'maven-bundle-plugin']/pom:configuration/pom:instructions" "
0ba503
  <Bundle-SymbolicName>org.apache.log4j</Bundle-SymbolicName>
0ba503
  <_nouses>true</_nouses>"
0ba503
0ba503
# Disable build unwanted dll library 
0ba503
%pom_xpath_remove "pom:build/pom:plugins/pom:plugin[pom:artifactId = 'maven-antrun-plugin']/pom:executions/pom:execution[pom:phase = 'process-classes' ]"
0ba503
0ba503
# Don't use deprecated "assembly" goal of Maven Assembly Plugin, which
0ba503
# was removed in version 3.0.0.
0ba503
%pom_xpath_set "pom:plugin[pom:artifactId='maven-assembly-plugin']/pom:executions/pom:execution/pom:goals/pom:goal[text()='assembly']" single
0ba503
0ba503
sed -i 's/\r//g' LICENSE NOTICE src/site/resources/css/*.css
0ba503
0ba503
# fix encoding of mailbox files
0ba503
for i in contribs/JimMoore/mail*;do
0ba503
    iconv --from=ISO-8859-1 --to=UTF-8 "$i" > new
0ba503
    mv new "$i"
0ba503
done
0ba503
0ba503
# Needed by tests
0ba503
mkdir -p tests/lib/
0ba503
(cd tests/lib/
0ba503
  ln -s `build-classpath jakarta-oro`
0ba503
  ln -s `build-classpath javamail/mail`
0ba503
  ln -s `build-classpath junit`
0ba503
)
0ba503
0ba503
%mvn_compat_version log4j:log4j 1.2.17 1.2.16 1.2.15 1.2.14 1.2.13 1.2.12 12
0ba503
# Remove Microsoft Windows platform specific files
0ba503
rm -r src/main/java/org/apache/log4j/nt/NTEventLogAppender.java \
0ba503
 tests/src/java/org/apache/log4j/nt/NTEventLogAppenderTest.java
0ba503
0ba503
# AssertionFailedError
0ba503
rm tests/src/java/org/apache/log4j/net/TelnetAppenderTest.java
0ba503
sed -i '/TelnetAppenderTest/d' tests/src/java/org/apache/log4j/CoreTestSuite.java
0ba503
0ba503
%mvn_file log4j:log4j log4j %{name}
0ba503
0ba503
%build
0ba503
0ba503
%mvn_build
0ba503
0ba503
%install
0ba503
%mvn_install -X
0ba503
0ba503
# log4j-1 symlink for use with build-classpath et al.
0ba503
ln -s log4j-%{version}.jar %{buildroot}%{_javadir}/log4j-1.jar
0ba503
0ba503
%if %{with dtd}
0ba503
# DTD and the SGML catalog (XML catalog handled in scriptlets)
0ba503
install -pD -T -m 644 src/main/javadoc/org/apache/log4j/xml/doc-files/log4j.dtd \
0ba503
  %{buildroot}%{_datadir}/sgml/log4j/log4j.dtd
0ba503
install -pD -T -m 644 %{SOURCE1} \
0ba503
  %{buildroot}%{_datadir}/sgml/log4j/catalog
0ba503
0ba503
%post
0ba503
# Note that we're using versioned catalog, so this is always ok.
0ba503
if [ -x %{_bindir}/install-catalog -a -d %{_sysconfdir}/sgml ]; then
0ba503
  %{_bindir}/install-catalog --add \
0ba503
    %{_sysconfdir}/sgml/log4j-%{version}-%{release}.cat \
0ba503
    %{_datadir}/sgml/log4j/catalog > /dev/null || :
0ba503
fi
0ba503
if [ -x %{_bindir}/xmlcatalog -a -w %{_sysconfdir}/xml/catalog ]; then
0ba503
  %{_bindir}/xmlcatalog --noout --add public "-//APACHE//DTD LOG4J 1.2//EN" \
0ba503
    file://%{_datadir}/sgml/log4j/log4j.dtd %{_sysconfdir}/xml/catalog \
0ba503
    > /dev/null
0ba503
  %{_bindir}/xmlcatalog --noout --add system log4j.dtd \
0ba503
    file://%{_datadir}/sgml/log4j/log4j.dtd %{_sysconfdir}/xml/catalog \
0ba503
    > /dev/null || :
0ba503
fi
0ba503
0ba503
%preun
0ba503
if [ $1 -eq 0 ]; then
0ba503
  if [ -x %{_bindir}/xmlcatalog -a -w %{_sysconfdir}/xml/catalog ]; then
0ba503
    %{_bindir}/xmlcatalog --noout --del \
0ba503
      file://%{_datadir}/sgml/log4j/log4j.dtd \
0ba503
      %{_sysconfdir}/xml/catalog > /dev/null || :
0ba503
  fi
0ba503
fi
0ba503
0ba503
%postun
0ba503
# Note that we're using versioned catalog, so this is always ok.
0ba503
if [ -x %{_bindir}/install-catalog -a -d %{_sysconfdir}/sgml ]; then
0ba503
  %{_bindir}/install-catalog --remove \
0ba503
    %{_sysconfdir}/sgml/log4j-%{version}-%{release}.cat \
0ba503
    %{_datadir}/sgml/log4j/catalog > /dev/null || :
0ba503
fi
0ba503
0ba503
%endif # with dtd
0ba503
0ba503
%files -f .mfiles
0ba503
%{_javadir}/log4j-1.jar
0ba503
%if %{with dtd}
0ba503
%{_datadir}/sgml/log4j
0ba503
%endif
0ba503
%license LICENSE NOTICE
0ba503
0ba503
%files javadoc -f .mfiles-javadoc
0ba503
%license LICENSE NOTICE
0ba503
0ba503
%changelog
0ba503
* Thu Feb 08 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.2.17-22
0ba503
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
0ba503
0ba503
* Tue Jan  9 2018 Mikolaj Izdebski <mizdebsk@redhat.com> - 1.2.17-21
0ba503
- Remove unneeded BR on xmvn
0ba503
0ba503
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.2.17-20
0ba503
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
0ba503
0ba503
* Fri Jun 02 2017 Michael Simacek <msimacek@redhat.com> - 1.2.17-19
0ba503
- Backport fix for CVE-2017-5645
0ba503
0ba503
* Wed Mar 15 2017 Michael Simacek <msimacek@redhat.com> - 1.2.17-18
0ba503
- Add dtd conditional
0ba503
0ba503
* Mon Feb 13 2017 Michael Simacek <msimacek@redhat.com> - 1.2.17-17
0ba503
- Add more compat versions
0ba503
0ba503
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.2.17-16
0ba503
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
0ba503
0ba503
* Thu Nov 17 2016 Mikolaj Izdebski <mizdebsk@redhat.com> - 1.2.17-15
0ba503
- Don't use deprecated goal of maven-assembly-plugin
0ba503
0ba503
* Wed Aug 10 2016 gil cattaneo <puntogil@libero.it> 1.2.17-14
0ba503
- add missing build requires: xmvn
0ba503
- remove test failure
0ba503
- increase to 1.6 javac source/target
0ba503
0ba503
* Wed Jun 15 2016 Mikolaj Izdebski <mizdebsk@redhat.com> - 1.2.17-13
0ba503
- Add missing build-requires
0ba503
0ba503
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 1.2.17-12
0ba503
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
0ba503
0ba503
* Sat Jan 30 2016 gil cattaneo <puntogil@libero.it> 1.2.17-11
0ba503
- rebuilt
0ba503
0ba503
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.2.17-10
0ba503
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
0ba503
0ba503
* Tue Feb 10 2015 gil cattaneo <puntogil@libero.it> 1.2.17-9
0ba503
- introduce license macro
0ba503
0ba503
* Fri Jan 23 2015 Mikolaj Izdebski <mizdebsk@redhat.com> - 1.2.17-8
0ba503
- Add symlink log4j-1
0ba503
0ba503
* Fri Sep 05 2014 gil cattaneo <puntogil@libero.it> 1.2.17-7
0ba503
- fix rhbz#1120854
0ba503
0ba503
* Fri Jul 18 2014 gil cattaneo <puntogil@libero.it> 1.2.17-6
0ba503
- enabling XMvn debugging output rhbz#1120854
0ba503
0ba503
* Thu Jul 10 2014 gil cattaneo <puntogil@libero.it> 1.2.17-5
0ba503
- fix conflict rhbz#1114135
0ba503
0ba503
* Wed Jun 18 2014 Mikolaj Izdebski <mizdebsk@redhat.com> - 1.2.17-4
0ba503
- Add compat version 1.2.12 (used by velocity and xbean)
0ba503
0ba503
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.2.17-3
0ba503
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
0ba503
0ba503
* Thu May 22 2014 gil cattaneo <puntogil@libero.it> 1.2.17-2
0ba503
- fix compat version
0ba503
0ba503
* Thu May 22 2014 gil cattaneo <puntogil@libero.it> 1.2.17-1
0ba503
- initial rpm