From f7cf342d732593aac9eb6253b421d514d831088eec0c89f49c429c47849cb263 Mon Sep 17 00:00:00 2001 From: Fridrich Strba Date: Fri, 11 Oct 2024 17:38:12 +0000 Subject: [PATCH] OBS-URL: https://build.opensuse.org/package/show/Java:packages/jetty-minimal?expand=0&rev=80 --- _multibuild | 1 + jetty-http2.changes | 4 + jetty-http2.spec | 312 ++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 317 insertions(+) create mode 100644 jetty-http2.changes create mode 100644 jetty-http2.spec diff --git a/_multibuild b/_multibuild index f105296..26929f9 100644 --- a/_multibuild +++ b/_multibuild @@ -2,5 +2,6 @@ jetty-unixsocket jetty-websocket jetty-alpn + jetty-http2 diff --git a/jetty-http2.changes b/jetty-http2.changes new file mode 100644 index 0000000..ec4b71e --- /dev/null +++ b/jetty-http2.changes @@ -0,0 +1,4 @@ +------------------------------------------------------------------- +Fri Oct 11 17:30:25 UTC 2024 - Fridrich Strba + +- Initial packaging diff --git a/jetty-http2.spec b/jetty-http2.spec new file mode 100644 index 0000000..9f8b620 --- /dev/null +++ b/jetty-http2.spec @@ -0,0 +1,312 @@ +# +# spec file for package jetty-http2 +# +# Copyright (c) 2024 SUSE LLC +# Copyright (c) 2000-2007, JPackage Project +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + + +%global base_name jetty +%global addver .v20240208 +%define src_name %{base_name}.project-%{base_name}-%{version}%{addver} +Name: %{base_name}-http2 +Version: 9.4.54 +Release: 0 +Summary: The http2 modules for Jetty +License: Apache-2.0 OR EPL-1.0 +URL: https://www.eclipse.org/jetty/ +Source0: https://github.com/eclipse/%{base_name}.project/archive/%{base_name}-%{version}%{addver}.tar.gz#/%{src_name}.tar.gz +BuildRequires: fdupes +BuildRequires: java-devel >= 1.8 +BuildRequires: maven-local +BuildRequires: mvn(org.apache.felix:maven-bundle-plugin) +BuildRequires: mvn(org.codehaus.mojo:build-helper-maven-plugin) +BuildRequires: mvn(org.eclipse.jetty.alpn:alpn-api) +BuildRequires: mvn(org.eclipse.jetty:jetty-alpn-client) >= %{version} +BuildRequires: mvn(org.eclipse.jetty:jetty-alpn-java-client) >= %{version} +BuildRequires: mvn(org.eclipse.jetty:jetty-client) >= %{version} +BuildRequires: mvn(org.eclipse.jetty:jetty-http) >= %{version} +BuildRequires: mvn(org.eclipse.jetty:jetty-io) >= %{version} +BuildRequires: mvn(org.eclipse.jetty:jetty-jmx) >= %{version} +BuildRequires: mvn(org.eclipse.jetty:jetty-server) >= %{version} +BuildRequires: mvn(org.eclipse.jetty:jetty-util) >= %{version} +BuildArch: noarch +# missing gcc13 to build conscrypt's (for jetty-alpn) dependencies +%if 0%{?sle_version} && 0%{?sle_version} < 150400 +ExclusiveArch: do-not-build +%endif + +%description + +%global desc \ +Jetty is a 100% Java HTTP Server and Servlet Container. This means that you\ +do not need to configure and run a separate web server (like Apache) in order\ +to use Java, servlets and JSPs to generate dynamic content. Jetty is a fully\ +featured web server for static and dynamic content. Unlike separate\ +server/container solutions, this means that your web server and web\ +application run in the same process, without interconnection overheads\ +and complications. Furthermore, as a pure java component, Jetty can be simply\ +included in your application for demonstration, distribution or deployment.\ +Jetty is available on all Java supported platforms. +%global extdesc %{desc}\ +\ +This package contains +%{extdesc} %{summary} + +%package client +Summary: http2-client module for Jetty + +%description client +%{extdesc} %{summary}. + +%package common +Summary: http2-common module for Jetty + +%description common +%{extdesc} %{summary}. + +%package hpack +Summary: http2-hpack module for Jetty + +%description hpack +%{extdesc} %{summary}. + +%package http-client-transport +Summary: http2-http-client-transport module for Jetty + +%description http-client-transport +%{extdesc} %{summary}. + +%package server +Summary: http2-server module for Jetty + +%description server +%{extdesc} %{summary}. + +%package javadoc +Summary: Javadoc for %{name} + +%description javadoc +%{summary}. + +%prep +%setup -q -n %{src_name} + +find . -name "*.?ar" -exec rm {} \; +find . -name "*.class" -exec rm {} \; + +%pom_remove_dep :::import + +# Plugins irrelevant or harmful to building the package +%pom_remove_plugin -r :maven-checkstyle-plugin +%pom_remove_plugin -r :maven-enforcer-plugin +%pom_remove_plugin -r :maven-eclipse-plugin +%pom_remove_plugin -r :license-maven-plugin +%pom_remove_plugin -r :maven-site-plugin +%pom_remove_plugin -r :maven-source-plugin +%pom_remove_plugin -r :maven-deploy-plugin +%pom_remove_plugin -r :jacoco-maven-plugin +%pom_remove_plugin -r :maven-release-plugin +%pom_remove_plugin -r :buildnumber-maven-plugin +%pom_remove_plugin -r :h2spec-maven-plugin + +# Unnecessary pom flattening can be skipped +%pom_remove_plugin -r :flatten-maven-plugin jetty-bom + +%pom_disable_module aggregates/jetty-all + +%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 + +%pom_change_dep -r org.mortbay.jasper:apache-jsp org.apache.tomcat:tomcat-jasper + +%pom_add_dep 'org.junit.jupiter:junit-jupiter-engine:${junit.version}' tests/test-sessions/test-sessions-common + +# provided by glassfish-jsp-api that has newer version +%pom_change_dep -r javax.servlet.jsp:jsp-api javax.servlet.jsp:javax.servlet.jsp-api + +# txt artifact - not installable +%pom_remove_plugin ":jetty-version-maven-plugin" +%pom_xpath_remove "pom:artifactItem[pom:classifier='version']" jetty-home + +# Disable building source release +%pom_xpath_remove 'pom:execution[pom:id="sources"]' jetty-home + +# Unwanted JS in javadoc +sed -i '/^\s*\*.*