diff --git a/.gitignore b/.gitignore index 950ca5f..115c1db 100644 --- a/.gitignore +++ b/.gitignore @@ -62,3 +62,10 @@ /jetty-9.4.19.v20190610.tar.gz /jetty-9.4.20.v20190813.tar.gz /jetty-9.4.24.v20191120.tar.gz +/jetty-9.4.27.v20200227.tar.gz +/jetty-9.4.30.v20200611.tar.gz +/jetty-9.4.31.v20200723.tar.gz +/jetty-9.4.33.v20201020.tar.gz +/jetty-9.4.36.v20210114.tar.gz +/jetty-9.4.38.v20210224.tar.gz +/jetty-9.4.40.v20210413.tar.gz diff --git a/0001-Distro-jetty.home.patch b/0001-Distro-jetty.home.patch index 7795ae2..269e227 100644 --- a/0001-Distro-jetty.home.patch +++ b/0001-Distro-jetty.home.patch @@ -1,14 +1,14 @@ -From 7e9bed1ca10901a3cf28775d9563570e94e2280b Mon Sep 17 00:00:00 2001 +From 29d160bf916b4ab358a01496029f9aaa5fba66b3 Mon Sep 17 00:00:00 2001 From: Mat Booth Date: Mon, 9 Sep 2019 12:42:10 +0100 -Subject: [PATCH] Distro jetty.home +Subject: [PATCH 1/2] Distro jetty.home --- .../org/eclipse/jetty/start/config/CommandLineConfigSource.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/jetty-start/src/main/java/org/eclipse/jetty/start/config/CommandLineConfigSource.java b/jetty-start/src/main/java/org/eclipse/jetty/start/config/CommandLineConfigSource.java -index 792413e..5e5cab9 100644 +index 30440c4..cb0ed3d 100644 --- a/jetty-start/src/main/java/org/eclipse/jetty/start/config/CommandLineConfigSource.java +++ b/jetty-start/src/main/java/org/eclipse/jetty/start/config/CommandLineConfigSource.java @@ -120,6 +120,8 @@ public class CommandLineConfigSource implements ConfigSource @@ -21,5 +21,5 @@ index 792413e..5e5cab9 100644 return home; } -- -2.20.1 +2.26.2 diff --git a/0002-Port-to-servlet-api-4-5.patch b/0002-Port-to-servlet-api-4-5.patch new file mode 100644 index 0000000..5078549 --- /dev/null +++ b/0002-Port-to-servlet-api-4-5.patch @@ -0,0 +1,76 @@ +From 65b5de2ef9ffc5eacb23c6c4834cc1c513f0eafa Mon Sep 17 00:00:00 2001 +From: Mat Booth +Date: Wed, 19 Aug 2020 13:14:37 +0100 +Subject: [PATCH 2/2] Port to servlet-api 4/5 + +--- + .../jetty/server/handler/ContextHandler.java | 46 +++++++++++++++++++ + 1 file changed, 46 insertions(+) + +diff --git a/jetty-server/src/main/java/org/eclipse/jetty/server/handler/ContextHandler.java b/jetty-server/src/main/java/org/eclipse/jetty/server/handler/ContextHandler.java +index 7960b0f..4981755 100644 +--- a/jetty-server/src/main/java/org/eclipse/jetty/server/handler/ContextHandler.java ++++ b/jetty-server/src/main/java/org/eclipse/jetty/server/handler/ContextHandler.java +@@ -2760,6 +2760,13 @@ public class ContextHandler extends ScopedHandler implements Attributes, Gracefu + return null; + } + ++ public ServletRegistration.Dynamic addJspFile(String servletName, String jspFile) ++ { ++ // TODO new in 4.0 ++ LOG.warn(UNIMPLEMENTED_USE_SERVLET_CONTEXT_HANDLER, "addJspFile(String, String)"); ++ return null; ++ } ++ + @Override + public javax.servlet.ServletRegistration.Dynamic addServlet(String servletName, Class servletClass) + { +@@ -2930,6 +2937,45 @@ public class ContextHandler extends ScopedHandler implements Attributes, Gracefu + { + return null; + } ++ ++ public int getSessionTimeout() ++ { ++ // TODO new in 4.0 ++ LOG.warn(UNIMPLEMENTED_USE_SERVLET_CONTEXT_HANDLER, "getSessionTimeout()"); ++ return 0; ++ } ++ ++ public void setSessionTimeout(int sessionTimeout) ++ { ++ // TODO new in 4.0 ++ LOG.warn(UNIMPLEMENTED_USE_SERVLET_CONTEXT_HANDLER, "setSessionTimeout(int)"); ++ } ++ ++ public String getRequestCharacterEncoding() ++ { ++ // TODO new in 4.0 ++ LOG.warn(UNIMPLEMENTED_USE_SERVLET_CONTEXT_HANDLER, "getRequestCharacterEncoding()"); ++ return null; ++ } ++ ++ public void setRequestCharacterEncoding(String encoding) ++ { ++ // TODO new in 4.0 ++ LOG.warn(UNIMPLEMENTED_USE_SERVLET_CONTEXT_HANDLER, "setRequestCharacterEncoding(String)"); ++ } ++ ++ public String getResponseCharacterEncoding() ++ { ++ // TODO new in 4.0 ++ LOG.warn(UNIMPLEMENTED_USE_SERVLET_CONTEXT_HANDLER, "getResponseCharacterEncoding()"); ++ return null; ++ } ++ ++ public void setResponseCharacterEncoding(String encoding) ++ { ++ // TODO new in 4.0 ++ LOG.warn(UNIMPLEMENTED_USE_SERVLET_CONTEXT_HANDLER, "setResponseCharacterEncoding(String)"); ++ } + } + + /** +-- +2.26.2 + diff --git a/jetty.spec b/jetty.spec index 7f6060a..1306fdf 100644 --- a/jetty.spec +++ b/jetty.spec @@ -40,7 +40,7 @@ %global appdir %{jettylibdir}/webapps -%global addver .v20191120 +%global addver .v20210413 # minimal version required to build eclipse and thermostat # eclipse needs: util, server, http, continuation, io, security, servlet @@ -49,12 +49,13 @@ %bcond_without jp_minimal Name: jetty -Version: 9.4.24 -Release: 2%{addver}%{?dist} +Version: 9.4.40 +Release: 17%{?dist} Summary: Java Webserver and Servlet Container # Jetty is dual licensed under both ASL 2.0 and EPL 1.0, see NOTICE.txt -License: ASL 2.0 or EPL-1.0 +# Automatically converted from old format: ASL 2.0 or EPL-1.0 - review is highly recommended. +License: Apache-2.0 OR EPL-1.0 URL: http://www.eclipse.org/jetty/ Source0: https://github.com/eclipse/%{name}.project/archive/%{name}-%{version}%{addver}.tar.gz Source1: jetty.sh @@ -64,8 +65,9 @@ Source5: %{name}.service Source6: LICENSE-MIT Patch1: 0001-Distro-jetty.home.patch +Patch2: 0002-Port-to-servlet-api-4-5.patch -BuildRequires: maven-local +BuildRequires: maven-local-openjdk25 BuildRequires: mvn(javax.servlet:javax.servlet-api) BuildRequires: mvn(org.apache.felix:maven-bundle-plugin) BuildRequires: mvn(org.apache.maven.plugins:maven-shade-plugin) @@ -73,7 +75,7 @@ BuildRequires: mvn(org.codehaus.mojo:build-helper-maven-plugin) BuildRequires: mvn(org.slf4j:slf4j-api) %if %{without jp_minimal} -BuildRequires: maven-local +BuildRequires: maven-local-openjdk25 BuildRequires: mvn(com.github.jnr:jnr-unixsocket) BuildRequires: mvn(javax.annotation:javax.annotation-api) BuildRequires: mvn(javax.enterprise:cdi-api) @@ -134,6 +136,7 @@ Requires: jboss-websocket-1.0-api %endif BuildArch: noarch +ExclusiveArch: %{java_arches} noarch # jp_minimal doesn't have main package %if %{without jp_minimal} @@ -189,7 +192,6 @@ Requires: %{name}-http2-hpack = %{version}-%{release} Requires: %{name}-http2-http-client-transport = %{version}-%{release} Requires: %{name}-http2-server = %{version}-%{release} -Requires(pre): shadow-utils %{?systemd_ordering} @@ -232,7 +234,6 @@ Obsoletes: %{name}-rewrite < 9.4.20-1 Obsoletes: %{name}-servlets < 9.4.20-1 Obsoletes: %{name}-start < 9.4.20-1 Obsoletes: %{name}-unixsocket < 9.4.20-1 -Obsoletes: %{name}-util-ajax < 9.4.20-1 Obsoletes: %{name}-websocket-api < 9.4.20-1 Obsoletes: %{name}-websocket-client < 9.4.20-1 Obsoletes: %{name}-websocket-common < 9.4.20-1 @@ -333,11 +334,18 @@ Obsoletes: %{name}-httpservice < 9.4.18-1 %package util Summary: util module for Jetty # Utf8Appendable.java is additionally under MIT license -License: (ASL 2.0 or EPL-1.0) and MIT +# Automatically converted from old format: (ASL 2.0 or EPL-1.0) and MIT - review is highly recommended. +License: (Apache-2.0 OR EPL-1.0) AND LicenseRef-Callaway-MIT %description util %{extdesc} %{summary}. +%package util-ajax +Summary: util-ajax module for Jetty + +%description util-ajax +%{extdesc} %{summary}. + %package webapp Summary: webapp module for Jetty @@ -465,12 +473,6 @@ Summary: unixsocket module for Jetty %description unixsocket %{extdesc} %{summary}. -%package util-ajax -Summary: util-ajax module for Jetty - -%description util-ajax -%{extdesc} %{summary}. - %package websocket-api Summary: websocket-api module for Jetty @@ -578,7 +580,8 @@ Summary: jstl module for Jetty %package javadoc Summary: Javadoc for %{name} # some MIT-licensed code (from Utf8Appendable) is used to generate javadoc -License: (ASL 2.0 or EPL-1.0) and MIT +# Automatically converted from old format: (ASL 2.0 or EPL-1.0) and MIT - review is highly recommended. +License: (Apache-2.0 OR EPL-1.0) AND LicenseRef-Callaway-MIT %description javadoc %{summary}. @@ -586,17 +589,17 @@ License: (ASL 2.0 or EPL-1.0) and MIT %prep %setup -q -n %{name}.project-%{name}-%{version}%{addver} -%patch1 -p1 +%patch -P1 -p1 +%patch -P2 -p1 find . -name "*.?ar" -exec rm {} \; find . -name "*.class" -exec rm {} \; # Plugins irrelevant or harmful to building the package -%pom_remove_plugin -r :findbugs-maven-plugin +%pom_remove_plugin -r :maven-checkstyle-plugin +%pom_remove_plugin -r :spotbugs-maven-plugin %pom_remove_plugin -r :maven-enforcer-plugin -%pom_remove_plugin -r :clirr-maven-plugin %pom_remove_plugin -r :maven-eclipse-plugin -%pom_remove_plugin -r :maven-pmd-plugin %pom_remove_plugin -r :license-maven-plugin %pom_remove_plugin -r :maven-site-plugin %pom_remove_plugin -r :maven-source-plugin @@ -611,8 +614,9 @@ find . -name "*.class" -exec rm {} \; %pom_disable_module aggregates/jetty-all -# Use proper groupId for apache ant -%pom_xpath_replace "pom:groupId[text()='ant']" "org.apache.ant" jetty-ant/pom.xml +# Reflective use of classes that might not be present in the JDK should be optional OSGi-wise +%pom_xpath_inject "pom:configuration/pom:instructions" \ +"sun.misc;resolution:=optional,com.sun.nio.file;resolution:=optional,*" %pom_remove_dep "com.sun.net.httpserver:http" jetty-http-spi @@ -708,7 +712,6 @@ sed -i '/jetty.sysusers.conf </dev/null || groupadd -f -g %jtuid -r %username -if ! getent passwd %username >/dev/null ; then - if ! getent passwd %jtuid >/dev/null ; then - useradd -r -u %jtuid -g %username -d %homedir -s /sbin/nologin \ - -c "Jetty web server" %username - else - useradd -r -g %username -d %homedir -s /sbin/nologin \ - -c "Jetty web server" %username - fi -fi -exit 0 +install -m0644 -D jetty.sysusers.conf %{buildroot}%{_sysusersdir}/jetty.conf %post %systemd_post jetty.service @@ -897,6 +893,7 @@ exit 0 %files servlet -f .mfiles-jetty-servlet %files util -f .mfiles-jetty-util %license LICENSE NOTICE.txt LICENSE-MIT +%files util-ajax -f .mfiles-jetty-util-ajax %files webapp -f .mfiles-jetty-webapp %files jmx -f .mfiles-jetty-jmx %files xml -f .mfiles-jetty-xml @@ -922,6 +919,7 @@ exit 0 %ghost %dir %attr(755, jetty, jetty) %{rundir} %{appdir} %{_unitdir}/%{name}.service +%{_sysusersdir}/jetty.conf %files project -f .mfiles-project %doc README.md VERSION.txt @@ -947,7 +945,6 @@ exit 0 %files servlets -f .mfiles-jetty-servlets %files start -f .mfiles-jetty-start %files unixsocket -f .mfiles-jetty-unixsocket -%files util-ajax -f .mfiles-jetty-util-ajax %files websocket-api -f .mfiles-websocket-api %files websocket-client -f .mfiles-websocket-client %files websocket-common -f .mfiles-websocket-common @@ -969,6 +966,95 @@ exit 0 %license LICENSE NOTICE.txt LICENSE-MIT %changelog +* Tue Jul 29 2025 jiri vanek - 9.4.40-17 +- Rebuilt for java-25-openjdk as preffered jdk + +* Thu Jul 24 2025 Fedora Release Engineering - 9.4.40-16 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + +* Thu Jan 23 2025 Zbigniew Jędrzejewski-Szmek - 9.4.40-15 +- Add sysusers.d config file to allow rpm to create users/groups automatically + +* Fri Jan 17 2025 Fedora Release Engineering - 9.4.40-14 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + +* Mon Sep 02 2024 Miroslav Suchý - 9.4.40-13 +- convert license to SPDX + +* Thu Jul 18 2024 Fedora Release Engineering - 9.4.40-12 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Tue Feb 27 2024 Jiri Vanek - 9.4.40-11 +- Rebuilt for java-21-openjdk as system jdk + +* Wed Jan 24 2024 Fedora Release Engineering - 9.4.40-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Sat Jan 20 2024 Fedora Release Engineering - 9.4.40-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Thu Jul 20 2023 Fedora Release Engineering - 9.4.40-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Thu Jan 19 2023 Fedora Release Engineering - 9.4.40-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Thu Jul 21 2022 Fedora Release Engineering - 9.4.40-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Fri Jul 08 2022 Jiri Vanek - 9.4.40-5 +- Rebuilt for Drop i686 JDKs + +* Sat Feb 05 2022 Jiri Vanek - 9.4.40-4 +- Rebuilt for java-17-openjdk as system jdk + +* Thu Jan 20 2022 Fedora Release Engineering - 9.4.40-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Thu Jul 22 2021 Fedora Release Engineering - 9.4.40-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Wed Apr 21 2021 Alexander Kurtakov 9.4.40-1 +- Update to Jetty 9.4.40 (fixes multiple CVEs) + +* Mon Mar 29 2021 Alexander Kurtakov 9.4.38-1 +- Update to Jetty 9.4.38 + +* Tue Jan 26 2021 Fedora Release Engineering - 9.4.36-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Mon Jan 18 2021 Mat Booth - 9.4.36-1 +- Update to latest upstream release + +* Wed Oct 28 2020 Mat Booth - 9.4.33-1 +- Update to latest upstream release + +* Wed Aug 19 2020 Mat Booth - 9.4.31-3 +- Rebuild to regenerate OSGi metadata for dependency on servlet-api +- Add patch to build against new APIs in servlet 4 + +* Thu Aug 13 2020 Mat Booth - 9.4.31-2 +- Reflective use of classes that might not be present in the JDK should be + optional when expressed as OSGi dependencies + +* Wed Aug 12 2020 Mat Booth - 9.4.31-1 +- Update to latest upstream release + +* Tue Jul 28 2020 Fedora Release Engineering - 9.4.30-3.v20200611 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Fri Jul 10 2020 Jiri Vanek - 9.4.30-2.v20200611 +- Rebuilt for JDK-11, see https://fedoraproject.org/wiki/Changes/Java11 + +* Thu Jun 18 2020 Mat Booth - 9.4.30-1.v20200611 +- Update to latest upstream release + +* Fri Mar 20 2020 Mat Booth - 9.4.27-1.v20200227 +- Update to latest upstream release + +* Wed Jan 29 2020 Fedora Release Engineering - 9.4.24-3.v20191120 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + * Thu Dec 12 2019 Mat Booth - 9.4.24-2.v20191120 - Switch to minimal build. There are too many missing deps for a full build diff --git a/sources b/sources index 45229de..d2eb426 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (jetty-9.4.24.v20191120.tar.gz) = 13204ca39a07cba2e4272559a9dc11636443a89e3a36ac4f5e0d49c4b403e20227a16a7ca86e3004ed8e5ba0b163039b32e6c625ba6d68a9911437969c47a6f2 +SHA512 (jetty-9.4.40.v20210413.tar.gz) = ea821c925a05da692d88c614b8ceb440bb82aecd3729adfd3caeb27625d6d1f7e6c85a3503e2bb6da1723264879bd7865ed48421465271cb208f8590b868cfc7