diff --git a/logback-1.1.7-jetty.patch b/logback-1.1.7-jetty.patch
new file mode 100644
index 0000000..801dcbd
--- /dev/null
+++ b/logback-1.1.7-jetty.patch
@@ -0,0 +1,80 @@
+diff -Nru logback-1.1.7/logback-access/pom.xml logback-1.1.7.jetty/logback-access/pom.xml
+--- logback-1.1.7/logback-access/pom.xml 2016-03-29 22:09:38.000000000 +0200
++++ logback-1.1.7.jetty/logback-access/pom.xml 2016-06-23 17:18:59.640249538 +0200
+@@ -46,6 +46,12 @@
+ true
+
+
++ org.eclipse.jetty
++ jetty-util
++ compile
++ true
++
++
+ org.codehaus.janino
+ janino
+ compile
+@@ -173,4 +179,4 @@
+
+
+
+-
+\ Manca newline alla fine del file
++
+diff -Nru logback-1.1.7/logback-access/src/main/java/ch/qos/logback/access/jetty/RequestLogImpl.java logback-1.1.7.jetty/logback-access/src/main/java/ch/qos/logback/access/jetty/RequestLogImpl.java
+--- logback-1.1.7/logback-access/src/main/java/ch/qos/logback/access/jetty/RequestLogImpl.java 2016-02-25 22:15:50.000000000 +0100
++++ logback-1.1.7.jetty/logback-access/src/main/java/ch/qos/logback/access/jetty/RequestLogImpl.java 2016-06-23 17:04:46.410310065 +0200
+@@ -210,11 +210,6 @@
+ started = false;
+ }
+
+- @Override
+- public boolean isRunning() {
+- return started;
+- }
+-
+ public void setFileName(String fileName) {
+ this.fileName = fileName;
+ }
+@@ -228,26 +223,6 @@
+ return started;
+ }
+
+- @Override
+- public boolean isStarting() {
+- return false;
+- }
+-
+- @Override
+- public boolean isStopping() {
+- return false;
+- }
+-
+- @Override
+- public boolean isStopped() {
+- return !started;
+- }
+-
+- @Override
+- public boolean isFailed() {
+- return false;
+- }
+-
+ public boolean isQuiet() {
+ return quiet;
+ }
+@@ -311,13 +286,7 @@
+ return fai.getFilterChainDecision(event);
+ }
+
+- @Override
+- public void addLifeCycleListener(Listener listener) {
+- // we'll implement this when asked
+- }
+-
+- @Override
+- public void removeLifeCycleListener(Listener listener) {
++ public void log(Request request, int status, long written) {
+ // we'll implement this when asked
+ }
+
diff --git a/logback-1.1.7-servlet.patch b/logback-1.1.7-servlet.patch
new file mode 100644
index 0000000..7d227bd
--- /dev/null
+++ b/logback-1.1.7-servlet.patch
@@ -0,0 +1,57 @@
+diff -Nru logback-1.1.7/logback-access/src/main/java/ch/qos/logback/access/servlet/TeeServletInputStream.java logback-1.1.7.servlet/logback-access/src/main/java/ch/qos/logback/access/servlet/TeeServletInputStream.java
+--- logback-1.1.7/logback-access/src/main/java/ch/qos/logback/access/servlet/TeeServletInputStream.java 2016-02-25 22:15:50.000000000 +0100
++++ logback-1.1.7.servlet/logback-access/src/main/java/ch/qos/logback/access/servlet/TeeServletInputStream.java 2016-06-23 17:00:02.886622532 +0200
+@@ -18,6 +18,7 @@ import java.io.ByteArrayOutputStream;
+ import java.io.IOException;
+ import java.io.InputStream;
+
++import javax.servlet.ReadListener;
+ import javax.servlet.ServletInputStream;
+ import javax.servlet.http.HttpServletRequest;
+
+@@ -71,4 +71,19 @@
+ byte[] getInputBuffer() {
+ return inputBuffer;
+ }
++
++ @Override
++ public boolean isReady() {
++ return false;
++ }
++
++ @Override
++ public boolean isFinished() {
++ return false;
++ }
++
++ @Override
++ public void setReadListener(ReadListener listener) {
++ throw new UnsupportedOperationException("Not implemented yet.");
++ }
+ }
+diff -Nru logback-1.1.7/logback-access/src/main/java/ch/qos/logback/access/servlet/TeeServletOutputStream.java logback-1.1.7.servlet/logback-access/src/main/java/ch/qos/logback/access/servlet/TeeServletOutputStream.java
+--- logback-1.1.7/logback-access/src/main/java/ch/qos/logback/access/servlet/TeeServletOutputStream.java 2016-02-25 22:15:50.000000000 +0100
++++ logback-1.1.7.servlet/logback-access/src/main/java/ch/qos/logback/access/servlet/TeeServletOutputStream.java 2016-06-23 16:56:24.056883117 +0200
+@@ -18,6 +18,7 @@ import java.io.IOException;
+
+ import javax.servlet.ServletOutputStream;
+ import javax.servlet.ServletResponse;
++import javax.servlet.WriteListener;
+
+ public class TeeServletOutputStream extends ServletOutputStream {
+
+@@ -82,4 +82,14 @@
+ underlyingStream.flush();
+ baosCopy.flush();
+ }
++
++ @Override
++ public boolean isReady() {
++ return false;
++ }
++
++ @Override
++ public void setWriteListener(WriteListener listener) {
++ throw new UnsupportedOperationException("Not implemented yet.");
++ }
+ }
diff --git a/logback-1.1.7-tomcat.patch b/logback-1.1.7-tomcat.patch
new file mode 100644
index 0000000..cc51913
--- /dev/null
+++ b/logback-1.1.7-tomcat.patch
@@ -0,0 +1,15 @@
+diff -Nru logback-1.1.7/logback-access/src/main/java/ch/qos/logback/access/tomcat/LogbackValve.java logback-1.1.7.tomcat/logback-access/src/main/java/ch/qos/logback/access/tomcat/LogbackValve.java
+--- logback-1.1.7/logback-access/src/main/java/ch/qos/logback/access/tomcat/LogbackValve.java 2016-03-11 09:16:10.000000000 +0100
++++ logback-1.1.7.tomcat/logback-access/src/main/java/ch/qos/logback/access/tomcat/LogbackValve.java 2016-06-23 17:21:04.765375897 +0200
+@@ -328,11 +328,6 @@
+ return aai.detachAppender(name);
+ }
+
+- @Override
+- public String getInfo() {
+- return "Logback's implementation of ValveBase";
+- }
+-
+ // Methods from ContextBase:
+ @Override
+ public StatusManager getStatusManager() {
diff --git a/logback.spec b/logback.spec
new file mode 100644
index 0000000..33edb28
--- /dev/null
+++ b/logback.spec
@@ -0,0 +1,143 @@
+Name: logback
+Version: 1.1.7
+Release: 6
+Summary: A Java logging library
+License: LGPLv2 or EPL
+URL: http://logback.qos.ch/
+Source0: https://github.com/qos-ch/logback/archive/v_%{version}.tar.gz
+
+# servlet 3.1 support
+Patch0001: %{name}-1.1.7-servlet.patch
+# Remove deprecate methods,otherwise it will cause compilation to fail
+Patch0002: %{name}-1.1.7-jetty.patch
+Patch0003: %{name}-1.1.7-tomcat.patch
+
+BuildRequires: java-devel >= 1:1.6.0 maven-local mvn(javax.mail:mail)
+BuildRequires: mvn(javax.servlet:javax.servlet-api) mvn(junit:junit) mvn(log4j:log4j:1.2.17)
+BuildRequires: mvn(org.apache.ant:ant-junit) mvn(org.apache.felix:maven-bundle-plugin)
+BuildRequires: mvn(org.apache.felix:org.apache.felix.main)
+BuildRequires: mvn(org.apache.geronimo.specs:geronimo-jms_1.1_spec)
+BuildRequires: mvn(org.apache.maven.plugins:maven-antrun-plugin)
+BuildRequires: mvn(org.apache.tomcat:tomcat-catalina) mvn(org.apache.tomcat:tomcat-coyote)
+BuildRequires: mvn(org.codehaus.gmavenplus:gmavenplus-plugin) mvn(org.codehaus.groovy:groovy-all)
+BuildRequires: mvn(org.codehaus.janino:janino) mvn(org.eclipse.jetty:jetty-server)
+BuildRequires: mvn(org.eclipse.jetty:jetty-util) mvn(org.fusesource:fusesource-pom:pom:)
+BuildRequires: mvn(org.fusesource.jansi:jansi) mvn(org.slf4j:slf4j-api) mvn(org.slf4j:slf4j-ext)
+BuildRequires: mvn(antlr:antlr) mvn(commons-cli:commons-cli) mvn(org.ow2.asm:asm-all)
+BuildRequires: mvn(org.slf4j:slf4j-nop)
+
+BuildArch: noarch
+
+%description
+Logback is intended as a successor to the popular log4j project.
+
+Logback's architecture is sufficiently generic so as to apply under
+different circumstances. At present time, logback is divided into
+three modules, logback-core, logback-classic and logback-access.
+
+The logback-core module lays the groundwork for the other two modules. The
+logback-classic module can be assimilated to a significantly improved
+version of log4j. Moreover, logback-classic natively implements the SLF4J
+API so that you can readily switch back and forth between logback and other
+logging frameworks such as log4j or java.util.logging (JUL).
+
+The logback-access module integrates with Servlet containers, such as
+Tomcat and Jetty, to provide HTTP-access log functionality. Note that you
+could easily build your own module on top of logback-core.
+
+%package help
+Summary: Javadoc for %{name}
+Provides: %{name}-javadoc = %{version}-%{release}
+Obsoletes: %{name}-javadoc < %{version}-%{release}
+
+%description help
+API documentation for the Logback library
+
+%package access
+Summary: Logback-access module for Servlet integration
+
+%description access
+The logback-access module is integrated with servlet containers
+(such as Tomcat and Jetty) to provide HTTP-access logging capabilities.
+Note that you can easily build your own modules on top of logback-core.
+
+%package examples
+Summary: Logback Examples Module
+
+%description examples
+logback-examples module.
+
+%prep
+%autosetup -p1 -n %{name}-v_%{version}
+find . -name "*.class" -delete
+find . -name "*.cmd" -delete
+find . -name "*.jar" -delete
+
+%pom_remove_plugin :maven-source-plugin
+%pom_remove_plugin :findbugs-maven-plugin
+%pom_remove_plugin -r :maven-dependency-plugin
+%pom_remove_plugin -r :cobertura-maven-plugin
+
+sed -i 's/\r//' LICENSE.txt README.txt
+
+%pom_change_dep -r :servlet-api javax.servlet:javax.servlet-api:3.1.0
+sed -i 's#javax.servlet.*;version="2.5"#javax.servlet.*;version="3.1"#' %{name}-access/pom.xml
+
+rm -r %{name}-*/src/test/java/*
+%pom_xpath_remove -r "pom:dependency[pom:type = 'test-jar']"
+%pom_xpath_remove -r "pom:dependency[pom:scope = 'test']"
+
+%pom_xpath_remove -r "pom:plugin[pom:artifactId = 'maven-jar-plugin']/pom:executions"
+
+%pom_xpath_remove "pom:project/pom:profiles/pom:profile[pom:id = 'host-orion']" %{name}-access
+%pom_xpath_remove "pom:project/pom:profiles" %{name}-classic
+
+%pom_xpath_remove "pom:project/pom:profiles/pom:profile[pom:id = 'javadocjar']"
+
+%pom_disable_module logback-site
+
+%pom_xpath_remove "pom:build/pom:extensions"
+
+%pom_remove_plugin :maven-compiler-plugin logback-classic
+%pom_add_plugin org.codehaus.gmavenplus:gmavenplus-plugin:1.5 logback-classic "
+
+
+
+ generateStubs
+ testGenerateStubs
+
+
+
+ "
+
+%mvn_package ":%{name}-access" access
+%mvn_package ":%{name}-examples" examples
+
+%build
+
+%mvn_build -f -- -Dorg.slf4j:slf4j-api:jar=$(build-classpath slf4j/api) \
+ -Dorg.apache.felix:org.apache.felix.main:jar=$(build-classpath felix/org.apache.felix.main)
+
+%install
+%mvn_install
+
+install -d -m 755 %{buildroot}%{_datadir}/%{name}/examples
+cp -r %{name}-examples/pom.xml %{name}-examples/src %{buildroot}%{_datadir}/%{name}/examples
+
+%files -f .mfiles
+%doc README.txt
+%license LICENSE.txt
+
+%files access -f .mfiles-access
+%license LICENSE.txt
+
+%files examples -f .mfiles-examples
+%license LICENSE.txt
+%{_datadir}/%{name}
+
+%files help -f .mfiles-javadoc
+
+%changelog
+* Wed Mar 4 2020 dingyiming - 1.1.7-6
+- Package init
diff --git a/v_1.1.7.tar.gz b/v_1.1.7.tar.gz
new file mode 100644
index 0000000..7162846
Binary files /dev/null and b/v_1.1.7.tar.gz differ