commit
40c692c82f
127
0001-Backport-fix-for-CVE-2017-5645.patch
Normal file
127
0001-Backport-fix-for-CVE-2017-5645.patch
Normal file
@ -0,0 +1,127 @@
|
|||||||
|
From ea4609eca531916ac347686c048bebdb7b4b6e0d Mon Sep 17 00:00:00 2001
|
||||||
|
From: Michael Simacek <msimacek@redhat.com>
|
||||||
|
Date: Fri, 2 Jun 2017 14:37:35 +0200
|
||||||
|
Subject: [PATCH] Backport fix for CVE-2017-5645
|
||||||
|
|
||||||
|
---
|
||||||
|
.../apache/log4j/FilteredObjectInputStream.java | 65 ++++++++++++++++++++++
|
||||||
|
src/main/java/org/apache/log4j/net/SocketNode.java | 17 +++++-
|
||||||
|
2 files changed, 80 insertions(+), 2 deletions(-)
|
||||||
|
create mode 100644 src/main/java/org/apache/log4j/FilteredObjectInputStream.java
|
||||||
|
|
||||||
|
diff --git a/src/main/java/org/apache/log4j/FilteredObjectInputStream.java b/src/main/java/org/apache/log4j/FilteredObjectInputStream.java
|
||||||
|
new file mode 100644
|
||||||
|
index 0000000..b9ef20c
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/src/main/java/org/apache/log4j/FilteredObjectInputStream.java
|
||||||
|
@@ -0,0 +1,65 @@
|
||||||
|
+/*
|
||||||
|
+ * Licensed to the Apache Software Foundation (ASF) under one or more
|
||||||
|
+ * contributor license agreements. See the NOTICE file distributed with
|
||||||
|
+ * this work for additional information regarding copyright ownership.
|
||||||
|
+ * The ASF licenses this file to You under the Apache license, Version 2.0
|
||||||
|
+ * (the "License"); you may not use this file except in compliance with
|
||||||
|
+ * the License. You may obtain a copy of the License at
|
||||||
|
+ *
|
||||||
|
+ * http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
+ *
|
||||||
|
+ * Unless required by applicable law or agreed to in writing, software
|
||||||
|
+ * distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
+ * See the license for the specific language governing permissions and
|
||||||
|
+ * limitations under the license.
|
||||||
|
+ */
|
||||||
|
+package org.apache.log4j;
|
||||||
|
+
|
||||||
|
+import java.io.FileOutputStream;
|
||||||
|
+import java.io.IOException;
|
||||||
|
+import java.io.InputStream;
|
||||||
|
+import java.io.InvalidObjectException;
|
||||||
|
+import java.io.ObjectInputStream;
|
||||||
|
+import java.io.ObjectStreamClass;
|
||||||
|
+import java.util.Arrays;
|
||||||
|
+import java.util.Collection;
|
||||||
|
+import java.util.List;
|
||||||
|
+
|
||||||
|
+/**
|
||||||
|
+ * Extended ObjectInputStream that only allows certain classes to be deserialized.
|
||||||
|
+ *
|
||||||
|
+ * Backported from 2.8.2
|
||||||
|
+ */
|
||||||
|
+public class FilteredObjectInputStream extends ObjectInputStream {
|
||||||
|
+
|
||||||
|
+ private static final List REQUIRED_JAVA_CLASSES = Arrays.asList(new String[] {
|
||||||
|
+ // Types of non-trainsient fields of LoggingEvent
|
||||||
|
+ "java.lang.String",
|
||||||
|
+ "java.util.Hashtable",
|
||||||
|
+ // ThrowableInformation
|
||||||
|
+ "[Ljava.lang.String;"
|
||||||
|
+ });
|
||||||
|
+
|
||||||
|
+ private final Collection allowedClasses;
|
||||||
|
+
|
||||||
|
+ public FilteredObjectInputStream(final InputStream in, final Collection allowedClasses) throws IOException {
|
||||||
|
+ super(in);
|
||||||
|
+ this.allowedClasses = allowedClasses;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ protected Class resolveClass(final ObjectStreamClass desc) throws IOException, ClassNotFoundException {
|
||||||
|
+ String name = desc.getName();
|
||||||
|
+ if (!(isAllowedByDefault(name) || allowedClasses.contains(name))) {
|
||||||
|
+ throw new InvalidObjectException("Class is not allowed for deserialization: " + name);
|
||||||
|
+ }
|
||||||
|
+ return super.resolveClass(desc);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ private static boolean isAllowedByDefault(final String name) {
|
||||||
|
+ return name.startsWith("org.apache.log4j.") ||
|
||||||
|
+ name.startsWith("[Lorg.apache.log4j.") ||
|
||||||
|
+ REQUIRED_JAVA_CLASSES.contains(name);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+}
|
||||||
|
diff --git a/src/main/java/org/apache/log4j/net/SocketNode.java b/src/main/java/org/apache/log4j/net/SocketNode.java
|
||||||
|
index e977f13..f95bb10 100644
|
||||||
|
--- a/src/main/java/org/apache/log4j/net/SocketNode.java
|
||||||
|
+++ b/src/main/java/org/apache/log4j/net/SocketNode.java
|
||||||
|
@@ -22,6 +22,10 @@ import java.io.IOException;
|
||||||
|
import java.io.InterruptedIOException;
|
||||||
|
import java.io.ObjectInputStream;
|
||||||
|
import java.net.Socket;
|
||||||
|
+import java.util.ArrayList;
|
||||||
|
+import java.util.Arrays;
|
||||||
|
+import java.util.Collection;
|
||||||
|
+import org.apache.log4j.FilteredObjectInputStream;
|
||||||
|
|
||||||
|
import org.apache.log4j.Logger;
|
||||||
|
import org.apache.log4j.spi.LoggerRepository;
|
||||||
|
@@ -53,8 +57,9 @@ public class SocketNode implements Runnable {
|
||||||
|
this.socket = socket;
|
||||||
|
this.hierarchy = hierarchy;
|
||||||
|
try {
|
||||||
|
- ois = new ObjectInputStream(
|
||||||
|
- new BufferedInputStream(socket.getInputStream()));
|
||||||
|
+ ois = new FilteredObjectInputStream(
|
||||||
|
+ new BufferedInputStream(socket.getInputStream()),
|
||||||
|
+ getAllowedClasses());
|
||||||
|
} catch(InterruptedIOException e) {
|
||||||
|
Thread.currentThread().interrupt();
|
||||||
|
logger.error("Could not open ObjectInputStream to "+socket, e);
|
||||||
|
@@ -65,6 +70,14 @@ public class SocketNode implements Runnable {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
+ private Collection getAllowedClasses() {
|
||||||
|
+ Collection allowedClasses = new ArrayList();
|
||||||
|
+ String property = System.getProperty("org.apache.log4j.net.allowedClasses");
|
||||||
|
+ if (property != null)
|
||||||
|
+ allowedClasses.addAll(Arrays.asList(property.split(",")));
|
||||||
|
+ return allowedClasses;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
//public
|
||||||
|
//void finalize() {
|
||||||
|
//System.err.println("-------------------------Finalize called");
|
||||||
|
--
|
||||||
|
2.9.4
|
||||||
|
|
||||||
56
0001-logfactor5-changed-userdir.patch
Normal file
56
0001-logfactor5-changed-userdir.patch
Normal file
@ -0,0 +1,56 @@
|
|||||||
|
From bf8f55bbc9baddcb67d0b89edd859f93ce3c949f Mon Sep 17 00:00:00 2001
|
||||||
|
From: Stanislav Ochotnicky <sochotnicky@redhat.com>
|
||||||
|
Date: Mon, 17 May 2010 12:57:36 +0200
|
||||||
|
Subject: [PATCH 01/10] logfactor5 changed userdir
|
||||||
|
|
||||||
|
---
|
||||||
|
.../lf5/viewer/configure/ConfigurationManager.java | 2 +-
|
||||||
|
.../log4j/lf5/viewer/configure/MRUFileManager.java | 6 +++---
|
||||||
|
2 files changed, 4 insertions(+), 4 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/src/main/java/org/apache/log4j/lf5/viewer/configure/ConfigurationManager.java b/src/main/java/org/apache/log4j/lf5/viewer/configure/ConfigurationManager.java
|
||||||
|
index a94ffab..81191f2 100644
|
||||||
|
--- a/src/main/java/org/apache/log4j/lf5/viewer/configure/ConfigurationManager.java
|
||||||
|
+++ b/src/main/java/org/apache/log4j/lf5/viewer/configure/ConfigurationManager.java
|
||||||
|
@@ -344,7 +344,7 @@ public class ConfigurationManager extends Object {
|
||||||
|
String home = System.getProperty("user.home");
|
||||||
|
String sep = System.getProperty("file.separator");
|
||||||
|
|
||||||
|
- return home + sep + "lf5" + sep + CONFIG_FILE_NAME;
|
||||||
|
+ return home + sep + ".logfactor5" + sep + CONFIG_FILE_NAME;
|
||||||
|
}
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------------
|
||||||
|
diff --git a/src/main/java/org/apache/log4j/lf5/viewer/configure/MRUFileManager.java b/src/main/java/org/apache/log4j/lf5/viewer/configure/MRUFileManager.java
|
||||||
|
index 6ff275d..ca40d5a 100644
|
||||||
|
--- a/src/main/java/org/apache/log4j/lf5/viewer/configure/MRUFileManager.java
|
||||||
|
+++ b/src/main/java/org/apache/log4j/lf5/viewer/configure/MRUFileManager.java
|
||||||
|
@@ -175,14 +175,14 @@ public class MRUFileManager {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates the directory where the MRU file list will be written.
|
||||||
|
- * The "lf5" directory is created in the Documents and Settings
|
||||||
|
+ * The ".logfactor5" directory is created in the Documents and Settings
|
||||||
|
* directory on Windows 2000 machines and where ever the user.home
|
||||||
|
* variable points on all other platforms.
|
||||||
|
*/
|
||||||
|
public static void createConfigurationDirectory() {
|
||||||
|
String home = System.getProperty("user.home");
|
||||||
|
String sep = System.getProperty("file.separator");
|
||||||
|
- File f = new File(home + sep + "lf5");
|
||||||
|
+ File f = new File(home + sep + ".logfactor5");
|
||||||
|
if (!f.exists()) {
|
||||||
|
try {
|
||||||
|
f.mkdir();
|
||||||
|
@@ -268,7 +268,7 @@ public class MRUFileManager {
|
||||||
|
String home = System.getProperty("user.home");
|
||||||
|
String sep = System.getProperty("file.separator");
|
||||||
|
|
||||||
|
- return home + sep + "lf5" + sep + CONFIG_FILE_NAME;
|
||||||
|
+ return home + sep + ".logfactor5" + sep + CONFIG_FILE_NAME;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
--
|
||||||
|
1.6.6.1
|
||||||
|
|
||||||
34
0009-Fix-tests.patch
Normal file
34
0009-Fix-tests.patch
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
From 91349164c1d44eec50ac1b09ef3e2ff41b4aa468 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Michal Srb <msrb@redhat.com>
|
||||||
|
Date: Thu, 11 Jul 2013 11:13:45 +0200
|
||||||
|
Subject: [PATCH] Fix tests
|
||||||
|
|
||||||
|
---
|
||||||
|
tests/build.xml | 8 ++++----
|
||||||
|
1 file changed, 4 insertions(+), 4 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/tests/build.xml b/tests/build.xml
|
||||||
|
index 74a7139..9149da2 100644
|
||||||
|
--- a/tests/build.xml
|
||||||
|
+++ b/tests/build.xml
|
||||||
|
@@ -31,13 +31,13 @@
|
||||||
|
the Maven repository can provide all the dependencies. -->
|
||||||
|
<property name="m2_repo" location="${user.home}/.m2/repository"/>
|
||||||
|
<property name="oro.version" value="2.0.8"/>
|
||||||
|
- <property name="jakarta.oro.jar" location="${m2_repo}/oro/oro/${oro.version}/oro-${oro.version}.jar"/>
|
||||||
|
+ <property name="jakarta.oro.jar" location="lib/jakarta-oro.jar"/>
|
||||||
|
<property name="checkstyle.version" value="4.1"/>
|
||||||
|
<property name="checkstyle.jar" location="${m2_repo}/checkstyle/checkstyle/${checkstyle.version}/checkstyle-${checkstyle.version}.jar"/>
|
||||||
|
- <property name="javamail.jar" location="${m2_repo}/javax/mail/mail/1.4.3/mail-1.4.3.jar"/>
|
||||||
|
- <property name="activation.jar" location="${m2_repo}/javax/activation/activation/1.1/activation-1.1.jar"/>
|
||||||
|
+ <property name="javamail.jar" location="lib/mail.jar"/>
|
||||||
|
+ <property name="activation.jar" location="lib/mail.jar"/>
|
||||||
|
<property name="junit.version" value="3.8.1"/>
|
||||||
|
- <property name="junit.jar" location="${m2_repo}/junit/junit/${junit.version}/junit-${junit.version}.jar"/>
|
||||||
|
+ <property name="junit.jar" location="lib/junit.jar"/>
|
||||||
|
|
||||||
|
|
||||||
|
<!-- Read the system environment variables and stores them in properties, -->
|
||||||
|
--
|
||||||
|
1.8.1.4
|
||||||
|
|
||||||
25
0010-Fix-javadoc-link.patch
Normal file
25
0010-Fix-javadoc-link.patch
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
From 4753784d3e8ed5ec9973f67e9017bcb7ef41b4b1 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Stanislav Ochotnicky <sochotnicky@redhat.com>
|
||||||
|
Date: Tue, 18 May 2010 15:07:00 +0200
|
||||||
|
Subject: [PATCH 10/10] Fix javadoc link
|
||||||
|
|
||||||
|
---
|
||||||
|
build.xml | 3 +--
|
||||||
|
1 files changed, 1 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/build.xml b/build.xml
|
||||||
|
index 54bad8f..c775a68 100644
|
||||||
|
--- a/build.xml
|
||||||
|
+++ b/build.xml
|
||||||
|
@@ -517,8 +517,7 @@
|
||||||
|
-->'
|
||||||
|
bottom="Copyright 2000-2007 Apache Software Foundation.">
|
||||||
|
|
||||||
|
- <link href="http://java.sun.com/j2se/1.3/docs/api/"/>
|
||||||
|
- <link href="http://java.sun.com/j2ee/sdk_1.3/techdocs/api/"/>
|
||||||
|
+ <link href="${jdk.javadoc}"/>
|
||||||
|
<classpath refid="compile.classpath"/>
|
||||||
|
</javadoc>
|
||||||
|
|
||||||
|
--
|
||||||
|
1.6.6.1
|
||||||
36
README.en.md
36
README.en.md
@ -1,36 +0,0 @@
|
|||||||
# log4j12
|
|
||||||
|
|
||||||
#### Description
|
|
||||||
{**When you're done, you can delete the content in this README and update the file with details for others getting started with your repository**}
|
|
||||||
|
|
||||||
#### Software Architecture
|
|
||||||
Software architecture description
|
|
||||||
|
|
||||||
#### Installation
|
|
||||||
|
|
||||||
1. xxxx
|
|
||||||
2. xxxx
|
|
||||||
3. xxxx
|
|
||||||
|
|
||||||
#### Instructions
|
|
||||||
|
|
||||||
1. xxxx
|
|
||||||
2. xxxx
|
|
||||||
3. xxxx
|
|
||||||
|
|
||||||
#### Contribution
|
|
||||||
|
|
||||||
1. Fork the repository
|
|
||||||
2. Create Feat_xxx branch
|
|
||||||
3. Commit your code
|
|
||||||
4. Create Pull Request
|
|
||||||
|
|
||||||
|
|
||||||
#### Gitee Feature
|
|
||||||
|
|
||||||
1. You can use Readme\_XXX.md to support different languages, such as Readme\_en.md, Readme\_zh.md
|
|
||||||
2. Gitee blog [blog.gitee.com](https://blog.gitee.com)
|
|
||||||
3. Explore open source project [https://gitee.com/explore](https://gitee.com/explore)
|
|
||||||
4. The most valuable open source project [GVP](https://gitee.com/gvp)
|
|
||||||
5. The manual of Gitee [https://gitee.com/help](https://gitee.com/help)
|
|
||||||
6. The most popular members [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)
|
|
||||||
39
README.md
39
README.md
@ -1,39 +0,0 @@
|
|||||||
# log4j12
|
|
||||||
|
|
||||||
#### 介绍
|
|
||||||
{**以下是码云平台说明,您可以替换此简介**
|
|
||||||
码云是 OSCHINA 推出的基于 Git 的代码托管平台(同时支持 SVN)。专为开发者提供稳定、高效、安全的云端软件开发协作平台
|
|
||||||
无论是个人、团队、或是企业,都能够用码云实现代码托管、项目管理、协作开发。企业项目请看 [https://gitee.com/enterprises](https://gitee.com/enterprises)}
|
|
||||||
|
|
||||||
#### 软件架构
|
|
||||||
软件架构说明
|
|
||||||
|
|
||||||
|
|
||||||
#### 安装教程
|
|
||||||
|
|
||||||
1. xxxx
|
|
||||||
2. xxxx
|
|
||||||
3. xxxx
|
|
||||||
|
|
||||||
#### 使用说明
|
|
||||||
|
|
||||||
1. xxxx
|
|
||||||
2. xxxx
|
|
||||||
3. xxxx
|
|
||||||
|
|
||||||
#### 参与贡献
|
|
||||||
|
|
||||||
1. Fork 本仓库
|
|
||||||
2. 新建 Feat_xxx 分支
|
|
||||||
3. 提交代码
|
|
||||||
4. 新建 Pull Request
|
|
||||||
|
|
||||||
|
|
||||||
#### 码云特技
|
|
||||||
|
|
||||||
1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md
|
|
||||||
2. 码云官方博客 [blog.gitee.com](https://blog.gitee.com)
|
|
||||||
3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解码云上的优秀开源项目
|
|
||||||
4. [GVP](https://gitee.com/gvp) 全称是码云最有价值开源项目,是码云综合评定出的优秀开源项目
|
|
||||||
5. 码云官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help)
|
|
||||||
6. 码云封面人物是一档用来展示码云会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)
|
|
||||||
5
log4j.catalog
Normal file
5
log4j.catalog
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
-- log4j DTD catalog --
|
||||||
|
-- JPackage Project <http://www.jpackage.org/> --
|
||||||
|
|
||||||
|
DOCTYPE log4j:configuration log4j.dtd
|
||||||
|
PUBLIC "-//APACHE//DTD LOG4J 1.2//EN" log4j.dtd
|
||||||
123
log4j12.spec
Normal file
123
log4j12.spec
Normal file
@ -0,0 +1,123 @@
|
|||||||
|
Name: log4j12
|
||||||
|
Version: 1.2.17
|
||||||
|
Release: 24
|
||||||
|
Summary: A logging library for Java
|
||||||
|
License: ASL 2.0
|
||||||
|
URL: http://logging.apache.org/log4j/1.2/
|
||||||
|
BuildArch: noarch
|
||||||
|
Source0: https://github.com/apache/log4j/archive/v1_2_17.tar.gz
|
||||||
|
Source1: log4j.catalog
|
||||||
|
|
||||||
|
Patch0000: 0001-logfactor5-changed-userdir.patch
|
||||||
|
Patch0001: 0009-Fix-tests.patch
|
||||||
|
Patch0002: 0010-Fix-javadoc-link.patch
|
||||||
|
Patch0003: 0001-Backport-fix-for-CVE-2017-5645.patch
|
||||||
|
|
||||||
|
BuildRequires: maven-local mvn(ant-contrib:ant-contrib) mvn(javax.mail:mail)
|
||||||
|
BuildRequires: mvn(junit:junit) mvn(org.apache.ant:ant-junit)
|
||||||
|
BuildRequires: mvn(org.apache.felix:maven-bundle-plugin)
|
||||||
|
BuildRequires: mvn(org.apache.geronimo.specs:geronimo-jms_1.1_spec)
|
||||||
|
BuildRequires: mvn(org.apache.maven.plugins:maven-antrun-plugin)
|
||||||
|
BuildRequires: mvn(org.apache.maven.plugins:maven-assembly-plugin)
|
||||||
|
BuildRequires: mvn(oro:oro) mvn(org.apache.ant:ant-nodeps)
|
||||||
|
|
||||||
|
Obsoletes: log4j <= 0:1.2.17-14
|
||||||
|
|
||||||
|
%description
|
||||||
|
With log4j it is possible to enable logging at runtime
|
||||||
|
without modifying the application binary.
|
||||||
|
|
||||||
|
%package help
|
||||||
|
Summary: Help for log4j12
|
||||||
|
Provides: log4j12-doc = %{version}-%{release}
|
||||||
|
Obsoletes: log4j12-doc < %{version}-%{release}
|
||||||
|
|
||||||
|
%description help
|
||||||
|
This package contains help for log4j12.
|
||||||
|
|
||||||
|
%prep
|
||||||
|
%autosetup -n log4j-1_2_17 -p1
|
||||||
|
|
||||||
|
find . \( -name "*.jar" -o -name "*.class" -o -name "*.dll" \) -exec rm -f {} \;
|
||||||
|
rm -rf docs/api
|
||||||
|
|
||||||
|
%pom_remove_plugin :clirr-maven-plugin
|
||||||
|
%pom_remove_plugin :maven-site-plugin
|
||||||
|
%pom_remove_plugin :maven-source-plugin
|
||||||
|
%pom_remove_plugin :rat-maven-plugin
|
||||||
|
%pom_xpath_remove "pom:build/pom:plugins/pom:plugin[pom:artifactId = 'maven-javadoc-plugin']/pom:executions"
|
||||||
|
|
||||||
|
%pom_remove_dep org.apache.openejb:javaee-api
|
||||||
|
|
||||||
|
sed -i.ant "s|groupId>ant<|groupId>org.apache.ant<|g" pom.xml
|
||||||
|
|
||||||
|
sed -i.javac "s|1.4|1.6|g" pom.xml build.xml
|
||||||
|
sed -i.javac "s|1.1|1.6|g" tests/build.xml
|
||||||
|
|
||||||
|
sed -i.javax.jmdns "s|javax.jmdns.*;resolution:=optional,|!javax.jmdns.*,|g" pom.xml
|
||||||
|
%pom_xpath_inject "pom:build/pom:plugins/pom:plugin[pom:artifactId = 'maven-bundle-plugin']/pom:configuration/pom:instructions" "
|
||||||
|
<Bundle-SymbolicName>org.apache.log4j</Bundle-SymbolicName>
|
||||||
|
<_nouses>true</_nouses>"
|
||||||
|
|
||||||
|
%pom_xpath_remove "pom:build/pom:plugins/pom:plugin[pom:artifactId = 'maven-antrun-plugin']/pom:executions/pom:execution[pom:phase = 'process-classes' ]"
|
||||||
|
|
||||||
|
%pom_xpath_set "pom:plugin[pom:artifactId='maven-assembly-plugin']/pom:executions/pom:execution/pom:goals/pom:goal[text()='assembly']" single
|
||||||
|
|
||||||
|
install -d tests/lib/
|
||||||
|
|
||||||
|
cd tests/lib/
|
||||||
|
ln -s `build-classpath jakarta-oro`
|
||||||
|
ln -s `build-classpath javamail/mail`
|
||||||
|
ln -s `build-classpath junit`
|
||||||
|
cd -
|
||||||
|
|
||||||
|
%mvn_compat_version log4j:log4j 1.2.17 1.2.16 1.2.15 1.2.14 1.2.13 1.2.12 12
|
||||||
|
rm -r src/main/java/org/apache/log4j/nt/NTEventLogAppender.java tests/src/java/org/apache/log4j/nt/NTEventLogAppenderTest.java
|
||||||
|
|
||||||
|
find tests/src/java/org/apache/log4j/net/TelnetAppenderTest.java -delete
|
||||||
|
sed -i '/TelnetAppenderTest/d' tests/src/java/org/apache/log4j/CoreTestSuite.java
|
||||||
|
|
||||||
|
%mvn_file log4j:log4j log4j %{name}
|
||||||
|
|
||||||
|
%build
|
||||||
|
%mvn_build
|
||||||
|
|
||||||
|
%install
|
||||||
|
%mvn_install -X
|
||||||
|
|
||||||
|
ln -s log4j-%{version}.jar %{buildroot}%{_javadir}/log4j-1.jar
|
||||||
|
|
||||||
|
install -pD -T -m 644 src/main/javadoc/org/apache/log4j/xml/doc-files/log4j.dtd %{buildroot}%{_datadir}/sgml/log4j/log4j.dtd
|
||||||
|
install -pD -T -m 644 %{SOURCE1} %{buildroot}%{_datadir}/sgml/log4j/catalog
|
||||||
|
|
||||||
|
%post
|
||||||
|
if [ -x %{_bindir}/install-catalog -a -d %{_sysconfdir}/sgml ]; then
|
||||||
|
%{_bindir}/install-catalog --add %{_sysconfdir}/sgml/log4j-%{version}-%{release}.cat %{_datadir}/sgml/log4j/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/log4j/log4j.dtd %{_sysconfdir}/xml/catalog > /dev/null
|
||||||
|
%{_bindir}/xmlcatalog --noout --add system log4j.dtd file://%{_datadir}/sgml/log4j/log4j.dtd %{_sysconfdir}/xml/catalog > /dev/null || :
|
||||||
|
fi
|
||||||
|
|
||||||
|
%preun
|
||||||
|
if [ $1 -eq 0 ]; then
|
||||||
|
if [ -x %{_bindir}/xmlcatalog -a -w %{_sysconfdir}/xml/catalog ]; then
|
||||||
|
%{_bindir}/xmlcatalog --noout --del file://%{_datadir}/sgml/log4j/log4j.dtd %{_sysconfdir}/xml/catalog > /dev/null || :
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
%postun
|
||||||
|
if [ -x %{_bindir}/install-catalog -a -d %{_sysconfdir}/sgml ]; then
|
||||||
|
%{_bindir}/install-catalog --remove %{_sysconfdir}/sgml/log4j-%{version}-%{release}.cat %{_datadir}/sgml/log4j/catalog > /dev/null || :
|
||||||
|
fi
|
||||||
|
|
||||||
|
%files -f .mfiles
|
||||||
|
%{_javadir}/log4j-1.jar
|
||||||
|
%{_datadir}/sgml/log4j
|
||||||
|
%license LICENSE NOTICE
|
||||||
|
|
||||||
|
%files help -f .mfiles-javadoc
|
||||||
|
|
||||||
|
%changelog
|
||||||
|
* Fri Dec 13 2019 openEuler Buildteam <buildteam@openeuler.org> - 1.2.17-24
|
||||||
|
- Package init
|
||||||
BIN
v1_2_17.tar.gz
Normal file
BIN
v1_2_17.tar.gz
Normal file
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user