summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2024-08-05 02:40:58 +0000
committerCoprDistGit <infra@openeuler.org>2024-08-05 02:40:58 +0000
commit6705b4e8fd280d3e11b05086491276c07896693c (patch)
tree23d230cde22f1056d9cdafeab9f2b3884e3c0b51
parentd74ee43fcb3346b708e2c567c0215efb24113733 (diff)
automatic import of httpcomponents-coreopeneuler24.03_LTS
-rw-r--r--.gitignore1
-rw-r--r--0001-Port-to-mockito-2.patch341
-rw-r--r--httpcomponents-core.spec327
-rw-r--r--sources1
4 files changed, 670 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..4517882 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/httpcomponents-core-4.4.13-src.tar.gz
diff --git a/0001-Port-to-mockito-2.patch b/0001-Port-to-mockito-2.patch
new file mode 100644
index 0000000..78aeb3d
--- /dev/null
+++ b/0001-Port-to-mockito-2.patch
@@ -0,0 +1,341 @@
+From 85107ca9057cda2ed4d72ba1fd3c2c09be404af6 Mon Sep 17 00:00:00 2001
+From: Mat Booth <mat.booth@redhat.com>
+Date: Fri, 7 Dec 2018 19:50:08 +0000
+Subject: [PATCH] Port to mockito 2
+
+For details, see:
+https://github.com/mockito/mockito/wiki/What%27s-new-in-Mockito-2#incompatible
+---
+ .../impl/nio/pool/TestBasicNIOConnPool.java | 2 +-
+ .../apache/http/nio/pool/TestNIOConnPool.java | 68 +++++++++----------
+ .../nio/protocol/TestHttpAsyncService.java | 8 +--
+ 3 files changed, 39 insertions(+), 39 deletions(-)
+
+diff --git a/httpcore-nio/src/test/java/org/apache/http/impl/nio/pool/TestBasicNIOConnPool.java b/httpcore-nio/src/test/java/org/apache/http/impl/nio/pool/TestBasicNIOConnPool.java
+index 25e2781cf..ee277c69d 100644
+--- a/httpcore-nio/src/test/java/org/apache/http/impl/nio/pool/TestBasicNIOConnPool.java
++++ b/httpcore-nio/src/test/java/org/apache/http/impl/nio/pool/TestBasicNIOConnPool.java
+@@ -115,7 +115,7 @@ public void testTimeoutOnLeaseRelease() throws Exception {
+ Mockito.when(sessionRequest.getAttachment()).thenReturn(host);
+ Mockito.when(reactor.connect(
+ Matchers.any(SocketAddress.class),
+- Matchers.any(SocketAddress.class),
++ Matchers.<SocketAddress>isNull(),
+ Matchers.eq(host),
+ Matchers.any(SessionRequestCallback.class))).
+ thenReturn(sessionRequest);
+diff --git a/httpcore-nio/src/test/java/org/apache/http/nio/pool/TestNIOConnPool.java b/httpcore-nio/src/test/java/org/apache/http/nio/pool/TestNIOConnPool.java
+index 9672db6db..20f230acb 100644
+--- a/httpcore-nio/src/test/java/org/apache/http/nio/pool/TestNIOConnPool.java
++++ b/httpcore-nio/src/test/java/org/apache/http/nio/pool/TestNIOConnPool.java
+@@ -176,7 +176,7 @@ public void testSuccessfulConnect() throws Exception {
+ final ConnectingIOReactor ioReactor = Mockito.mock(ConnectingIOReactor.class);
+ Mockito.when(ioReactor.connect(
+ Matchers.any(SocketAddress.class),
+- Matchers.any(SocketAddress.class),
++ Matchers.<SocketAddress>isNull(),
+ Matchers.any(), Matchers.any(SessionRequestCallback.class))).
+ thenReturn(sessionRequest);
+ final LocalSessionPool pool = new LocalSessionPool(ioReactor, 2, 10);
+@@ -209,7 +209,7 @@ public void testFailedConnect() throws Exception {
+ final ConnectingIOReactor ioReactor = Mockito.mock(ConnectingIOReactor.class);
+ Mockito.when(ioReactor.connect(
+ Matchers.any(SocketAddress.class),
+- Matchers.any(SocketAddress.class),
++ Matchers.<SocketAddress>isNull(),
+ Matchers.any(), Matchers.any(SessionRequestCallback.class))).
+ thenReturn(sessionRequest);
+ final LocalSessionPool pool = new LocalSessionPool(ioReactor, 2, 10);
+@@ -246,7 +246,7 @@ public void testCencelledConnect() throws Exception {
+ final ConnectingIOReactor ioReactor = Mockito.mock(ConnectingIOReactor.class);
+ Mockito.when(ioReactor.connect(
+ Matchers.any(SocketAddress.class),
+- Matchers.any(SocketAddress.class),
++ Matchers.<SocketAddress>isNull(),
+ Matchers.any(), Matchers.any(SessionRequestCallback.class))).
+ thenReturn(sessionRequest);
+ Mockito.when(ioReactor.getStatus()).thenReturn(IOReactorStatus.ACTIVE);
+@@ -285,7 +285,7 @@ public void testTimeoutConnect() throws Exception {
+ final ConnectingIOReactor ioReactor = Mockito.mock(ConnectingIOReactor.class);
+ Mockito.when(ioReactor.connect(
+ Matchers.any(SocketAddress.class),
+- Matchers.any(SocketAddress.class),
++ Matchers.<SocketAddress>isNull(),
+ Matchers.any(), Matchers.any(SessionRequestCallback.class))).
+ thenReturn(sessionRequest);
+ final LocalSessionPool pool = new LocalSessionPool(ioReactor, 2, 10);
+@@ -350,12 +350,12 @@ public void testLeaseRelease() throws Exception {
+ final ConnectingIOReactor ioReactor = Mockito.mock(ConnectingIOReactor.class);
+ Mockito.when(ioReactor.connect(
+ Matchers.eq(InetSocketAddress.createUnresolved("somehost", 80)),
+- Matchers.any(SocketAddress.class),
++ Matchers.<SocketAddress>isNull(),
+ Matchers.any(), Matchers.any(SessionRequestCallback.class))).
+ thenReturn(sessionRequest1);
+ Mockito.when(ioReactor.connect(
+ Matchers.eq(InetSocketAddress.createUnresolved("otherhost", 80)),
+- Matchers.any(SocketAddress.class),
++ Matchers.<SocketAddress>isNull(),
+ Matchers.any(), Matchers.any(SessionRequestCallback.class))).
+ thenReturn(sessionRequest2);
+
+@@ -424,12 +424,12 @@ public void testMaxLimits() throws Exception {
+ final ConnectingIOReactor ioReactor = Mockito.mock(ConnectingIOReactor.class);
+ Mockito.when(ioReactor.connect(
+ Matchers.eq(InetSocketAddress.createUnresolved("somehost", 80)),
+- Matchers.any(SocketAddress.class),
++ Matchers.<SocketAddress>isNull(),
+ Matchers.any(), Matchers.any(SessionRequestCallback.class))).
+ thenReturn(sessionRequest1);
+ Mockito.when(ioReactor.connect(
+ Matchers.eq(InetSocketAddress.createUnresolved("otherhost", 80)),
+- Matchers.any(SocketAddress.class),
++ Matchers.<SocketAddress>isNull(),
+ Matchers.any(), Matchers.any(SessionRequestCallback.class))).
+ thenReturn(sessionRequest2);
+
+@@ -482,7 +482,7 @@ public void testMaxLimits() throws Exception {
+ Assert.assertFalse(future9.isDone());
+
+ Mockito.verify(ioReactor, Mockito.times(3)).connect(
+- Matchers.any(SocketAddress.class), Matchers.any(SocketAddress.class),
++ Matchers.any(SocketAddress.class), Matchers.<SocketAddress>isNull(),
+ Matchers.any(), Matchers.any(SessionRequestCallback.class));
+
+ pool.release(entry4, true);
+@@ -494,7 +494,7 @@ public void testMaxLimits() throws Exception {
+ Assert.assertTrue(future9.isDone());
+
+ Mockito.verify(ioReactor, Mockito.times(4)).connect(
+- Matchers.any(SocketAddress.class), Matchers.any(SocketAddress.class),
++ Matchers.any(SocketAddress.class), Matchers.<SocketAddress>isNull(),
+ Matchers.any(), Matchers.any(SessionRequestCallback.class));
+ }
+
+@@ -523,12 +523,12 @@ public void testConnectionRedistributionOnTotalMaxLimit() throws Exception {
+ final ConnectingIOReactor ioReactor = Mockito.mock(ConnectingIOReactor.class);
+ Mockito.when(ioReactor.connect(
+ Matchers.eq(InetSocketAddress.createUnresolved("somehost", 80)),
+- Matchers.any(SocketAddress.class),
++ Matchers.<SocketAddress>isNull(),
+ Matchers.any(), Matchers.any(SessionRequestCallback.class))).
+ thenReturn(sessionRequest1, sessionRequest2, sessionRequest1);
+ Mockito.when(ioReactor.connect(
+ Matchers.eq(InetSocketAddress.createUnresolved("otherhost", 80)),
+- Matchers.any(SocketAddress.class),
++ Matchers.<SocketAddress>isNull(),
+ Matchers.any(), Matchers.any(SessionRequestCallback.class))).
+ thenReturn(sessionRequest3, sessionRequest4, sessionRequest3);
+
+@@ -544,12 +544,12 @@ public void testConnectionRedistributionOnTotalMaxLimit() throws Exception {
+
+ Mockito.verify(ioReactor, Mockito.times(2)).connect(
+ Matchers.eq(InetSocketAddress.createUnresolved("somehost", 80)),
+- Matchers.any(SocketAddress.class),
++ Matchers.<SocketAddress>isNull(),
+ Matchers.any(), Matchers.any(SessionRequestCallback.class));
+
+ Mockito.verify(ioReactor, Mockito.never()).connect(
+ Matchers.eq(InetSocketAddress.createUnresolved("otherhost", 80)),
+- Matchers.any(SocketAddress.class),
++ Matchers.<SocketAddress>isNull(),
+ Matchers.any(), Matchers.any(SessionRequestCallback.class));
+
+ pool.requestCompleted(sessionRequest1);
+@@ -575,12 +575,12 @@ public void testConnectionRedistributionOnTotalMaxLimit() throws Exception {
+
+ Mockito.verify(ioReactor, Mockito.times(2)).connect(
+ Matchers.eq(InetSocketAddress.createUnresolved("somehost", 80)),
+- Matchers.any(SocketAddress.class),
++ Matchers.<SocketAddress>isNull(),
+ Matchers.any(), Matchers.any(SessionRequestCallback.class));
+
+ Mockito.verify(ioReactor, Mockito.times(2)).connect(
+ Matchers.eq(InetSocketAddress.createUnresolved("otherhost", 80)),
+- Matchers.any(SocketAddress.class),
++ Matchers.<SocketAddress>isNull(),
+ Matchers.any(), Matchers.any(SessionRequestCallback.class));
+
+ pool.requestCompleted(sessionRequest3);
+@@ -603,12 +603,12 @@ public void testConnectionRedistributionOnTotalMaxLimit() throws Exception {
+
+ Mockito.verify(ioReactor, Mockito.times(2)).connect(
+ Matchers.eq(InetSocketAddress.createUnresolved("somehost", 80)),
+- Matchers.any(SocketAddress.class),
++ Matchers.<SocketAddress>isNull(),
+ Matchers.any(), Matchers.any(SessionRequestCallback.class));
+
+ Mockito.verify(ioReactor, Mockito.times(2)).connect(
+ Matchers.eq(InetSocketAddress.createUnresolved("otherhost", 80)),
+- Matchers.any(SocketAddress.class),
++ Matchers.<SocketAddress>isNull(),
+ Matchers.any(), Matchers.any(SessionRequestCallback.class));
+
+ pool.release(entry3, true);
+@@ -616,12 +616,12 @@ public void testConnectionRedistributionOnTotalMaxLimit() throws Exception {
+
+ Mockito.verify(ioReactor, Mockito.times(3)).connect(
+ Matchers.eq(InetSocketAddress.createUnresolved("somehost", 80)),
+- Matchers.any(SocketAddress.class),
++ Matchers.<SocketAddress>isNull(),
+ Matchers.any(), Matchers.any(SessionRequestCallback.class));
+
+ Mockito.verify(ioReactor, Mockito.times(2)).connect(
+ Matchers.eq(InetSocketAddress.createUnresolved("otherhost", 80)),
+- Matchers.any(SocketAddress.class),
++ Matchers.<SocketAddress>isNull(),
+ Matchers.any(), Matchers.any(SessionRequestCallback.class));
+
+ pool.requestCompleted(sessionRequest1);
+@@ -643,12 +643,12 @@ public void testConnectionRedistributionOnTotalMaxLimit() throws Exception {
+
+ Mockito.verify(ioReactor, Mockito.times(3)).connect(
+ Matchers.eq(InetSocketAddress.createUnresolved("somehost", 80)),
+- Matchers.any(SocketAddress.class),
++ Matchers.<SocketAddress>isNull(),
+ Matchers.any(), Matchers.any(SessionRequestCallback.class));
+
+ Mockito.verify(ioReactor, Mockito.times(2)).connect(
+ Matchers.eq(InetSocketAddress.createUnresolved("otherhost", 80)),
+- Matchers.any(SocketAddress.class),
++ Matchers.<SocketAddress>isNull(),
+ Matchers.any(), Matchers.any(SessionRequestCallback.class));
+
+ totals = pool.getTotalStats();
+@@ -677,7 +677,7 @@ public void testStatefulConnectionRedistributionOnPerRouteMaxLimit() throws Exce
+ final ConnectingIOReactor ioReactor = Mockito.mock(ConnectingIOReactor.class);
+ Mockito.when(ioReactor.connect(
+ Matchers.eq(InetSocketAddress.createUnresolved("somehost", 80)),
+- Matchers.any(SocketAddress.class),
++ Matchers.<SocketAddress>isNull(),
+ Matchers.any(), Matchers.any(SessionRequestCallback.class))).
+ thenReturn(sessionRequest1, sessionRequest2, sessionRequest3);
+
+@@ -690,7 +690,7 @@ public void testStatefulConnectionRedistributionOnPerRouteMaxLimit() throws Exce
+
+ Mockito.verify(ioReactor, Mockito.times(2)).connect(
+ Matchers.eq(InetSocketAddress.createUnresolved("somehost", 80)),
+- Matchers.any(SocketAddress.class),
++ Matchers.<SocketAddress>isNull(),
+ Matchers.any(), Matchers.any(SessionRequestCallback.class));
+
+ pool.requestCompleted(sessionRequest1);
+@@ -725,7 +725,7 @@ public void testStatefulConnectionRedistributionOnPerRouteMaxLimit() throws Exce
+
+ Mockito.verify(ioReactor, Mockito.times(2)).connect(
+ Matchers.eq(InetSocketAddress.createUnresolved("somehost", 80)),
+- Matchers.any(SocketAddress.class),
++ Matchers.<SocketAddress>isNull(),
+ Matchers.any(), Matchers.any(SessionRequestCallback.class));
+
+ pool.release(entry3, true);
+@@ -742,7 +742,7 @@ public void testStatefulConnectionRedistributionOnPerRouteMaxLimit() throws Exce
+
+ Mockito.verify(ioReactor, Mockito.times(3)).connect(
+ Matchers.eq(InetSocketAddress.createUnresolved("somehost", 80)),
+- Matchers.any(SocketAddress.class),
++ Matchers.<SocketAddress>isNull(),
+ Matchers.any(), Matchers.any(SessionRequestCallback.class));
+
+ Mockito.verify(ioSession2).close();
+@@ -765,7 +765,7 @@ public void testCreateNewIfExpired() throws Exception {
+ final ConnectingIOReactor ioReactor = Mockito.mock(ConnectingIOReactor.class);
+ Mockito.when(ioReactor.connect(
+ Matchers.eq(InetSocketAddress.createUnresolved("somehost", 80)),
+- Matchers.any(SocketAddress.class),
++ Matchers.<SocketAddress>isNull(),
+ Matchers.any(), Matchers.any(SessionRequestCallback.class))).
+ thenReturn(sessionRequest1);
+
+@@ -774,7 +774,7 @@ public void testCreateNewIfExpired() throws Exception {
+ final Future<LocalPoolEntry> future1 = pool.lease("somehost", null);
+
+ Mockito.verify(ioReactor, Mockito.times(1)).connect(
+- Matchers.any(SocketAddress.class), Matchers.any(SocketAddress.class),
++ Matchers.any(SocketAddress.class), Matchers.<SocketAddress>isNull(),
+ Matchers.any(), Matchers.any(SessionRequestCallback.class));
+
+ pool.requestCompleted(sessionRequest1);
+@@ -794,7 +794,7 @@ public void testCreateNewIfExpired() throws Exception {
+
+ Mockito.verify(ioSession1).close();
+ Mockito.verify(ioReactor, Mockito.times(2)).connect(
+- Matchers.any(SocketAddress.class), Matchers.any(SocketAddress.class),
++ Matchers.any(SocketAddress.class), Matchers.<SocketAddress>isNull(),
+ Matchers.any(), Matchers.any(SessionRequestCallback.class));
+
+ final PoolStats totals = pool.getTotalStats();
+@@ -823,7 +823,7 @@ public void testCloseExpired() throws Exception {
+
+ final ConnectingIOReactor ioReactor = Mockito.mock(ConnectingIOReactor.class);
+ Mockito.when(ioReactor.connect(
+- Matchers.any(SocketAddress.class), Matchers.any(SocketAddress.class),
++ Matchers.any(SocketAddress.class), Matchers.<SocketAddress>isNull(),
+ Matchers.any(), Matchers.any(SessionRequestCallback.class))).
+ thenReturn(sessionRequest1, sessionRequest2);
+
+@@ -879,7 +879,7 @@ public void testCloseIdle() throws Exception {
+
+ final ConnectingIOReactor ioReactor = Mockito.mock(ConnectingIOReactor.class);
+ Mockito.when(ioReactor.connect(
+- Matchers.any(SocketAddress.class), Matchers.any(SocketAddress.class),
++ Matchers.any(SocketAddress.class), Matchers.<SocketAddress>isNull(),
+ Matchers.any(), Matchers.any(SessionRequestCallback.class))).
+ thenReturn(sessionRequest1, sessionRequest2);
+
+@@ -944,7 +944,7 @@ public void testLeaseRequestTimeout() throws Exception {
+
+ final ConnectingIOReactor ioReactor = Mockito.mock(ConnectingIOReactor.class);
+ Mockito.when(ioReactor.connect(
+- Matchers.any(SocketAddress.class), Matchers.any(SocketAddress.class),
++ Matchers.any(SocketAddress.class), Matchers.<SocketAddress>isNull(),
+ Matchers.any(), Matchers.any(SessionRequestCallback.class))).
+ thenReturn(sessionRequest1);
+
+@@ -1048,7 +1048,7 @@ public void testLeaseRequestCanceled() throws Exception {
+
+ final ConnectingIOReactor ioReactor = Mockito.mock(ConnectingIOReactor.class);
+ Mockito.when(ioReactor.connect(
+- Matchers.any(SocketAddress.class), Matchers.any(SocketAddress.class),
++ Matchers.any(SocketAddress.class), Matchers.<SocketAddress>isNull(),
+ Matchers.any(), Matchers.any(SessionRequestCallback.class))).
+ thenReturn(sessionRequest1);
+ Mockito.when(ioReactor.getStatus()).thenReturn(IOReactorStatus.ACTIVE);
+@@ -1082,7 +1082,7 @@ public void testLeaseRequestCanceledWhileConnecting() throws Exception {
+
+ final ConnectingIOReactor ioReactor = Mockito.mock(ConnectingIOReactor.class);
+ Mockito.when(ioReactor.connect(
+- Matchers.any(SocketAddress.class), Matchers.any(SocketAddress.class),
++ Matchers.any(SocketAddress.class), Matchers.<SocketAddress>isNull(),
+ Matchers.any(), Matchers.any(SessionRequestCallback.class))).
+ thenReturn(sessionRequest1);
+ Mockito.when(ioReactor.getStatus()).thenReturn(IOReactorStatus.ACTIVE);
+diff --git a/httpcore-nio/src/test/java/org/apache/http/nio/protocol/TestHttpAsyncService.java b/httpcore-nio/src/test/java/org/apache/http/nio/protocol/TestHttpAsyncService.java
+index dcb92a629..947b05fa9 100644
+--- a/httpcore-nio/src/test/java/org/apache/http/nio/protocol/TestHttpAsyncService.java
++++ b/httpcore-nio/src/test/java/org/apache/http/nio/protocol/TestHttpAsyncService.java
+@@ -502,8 +502,8 @@ public void testEntityEnclosingRequestContinueWithoutVerification() throws Excep
+ Mockito.verify(this.conn).submitResponse(Matchers.argThat(new ArgumentMatcher<HttpResponse>() {
+
+ @Override
+- public boolean matches(final Object argument) {
+- final int status = ((HttpResponse) argument).getStatusLine().getStatusCode();
++ public boolean matches(final HttpResponse argument) {
++ final int status = argument.getStatusLine().getStatusCode();
+ return status == 100;
+ }
+
+@@ -1019,8 +1019,8 @@ public void testResponseContinue() throws Exception {
+ Mockito.verify(this.conn).submitResponse(Matchers.argThat(new ArgumentMatcher<HttpResponse>() {
+
+ @Override
+- public boolean matches(final Object argument) {
+- final int status = ((HttpResponse) argument).getStatusLine().getStatusCode();
++ public boolean matches(final HttpResponse argument) {
++ final int status = argument.getStatusLine().getStatusCode();
+ return status == 100;
+ }
+
+--
+2.21.0
+
diff --git a/httpcomponents-core.spec b/httpcomponents-core.spec
new file mode 100644
index 0000000..224d75f
--- /dev/null
+++ b/httpcomponents-core.spec
@@ -0,0 +1,327 @@
+%bcond_with bootstrap
+
+Name: httpcomponents-core
+Summary: Set of low level Java HTTP transport components for HTTP services
+Version: 4.4.13
+Release: 8%{?dist}
+License: ASL 2.0
+URL: http://hc.apache.org/
+Source0: https://www.apache.org/dist/httpcomponents/httpcore/source/httpcomponents-core-%{version}-src.tar.gz
+Patch0: 0001-Port-to-mockito-2.patch
+
+BuildArch: noarch
+ExclusiveArch: %{java_arches} noarch
+
+%if %{with bootstrap}
+BuildRequires: javapackages-bootstrap-openjdk8
+%else
+BuildRequires: maven-local-openjdk8
+BuildRequires: mvn(commons-logging:commons-logging)
+BuildRequires: mvn(junit:junit)
+BuildRequires: mvn(org.apache.felix:maven-bundle-plugin)
+BuildRequires: mvn(org.apache.httpcomponents:httpcomponents-parent:pom:)
+BuildRequires: mvn(org.codehaus.mojo:build-helper-maven-plugin)
+BuildRequires: mvn(org.mockito:mockito-core)
+%endif
+
+%description
+HttpCore is a set of low level HTTP transport components that can be
+used to build custom client and server side HTTP services with a
+minimal footprint. HttpCore supports two I/O models: blocking I/O
+model based on the classic Java I/O and non-blocking, event driven I/O
+model based on Java NIO.
+
+The blocking I/O model may be more appropriate for data intensive, low
+latency scenarios, whereas the non-blocking model may be more
+appropriate for high latency scenarios where raw data throughput is
+less important than the ability to handle thousands of simultaneous
+HTTP connections in a resource efficient manner.
+
+%{?javadoc_package}
+
+%prep
+%setup -q
+%patch0 -p1
+
+# Random test failures on ARM -- 100 ms sleep is not eneough on this
+# very performant arch, lets make it 2 s
+sed -i '/Thread.sleep/s/100/2000/' httpcore-nio/src/test/java/org/apache/http/nio/integration/TestHttpAsyncHandlers.java
+
+%pom_remove_plugin :maven-checkstyle-plugin
+%pom_remove_plugin :apache-rat-plugin
+%pom_remove_plugin :maven-source-plugin
+%pom_remove_plugin :maven-javadoc-plugin
+
+# We don't have conscrypt for testing
+%pom_remove_dep :conscrypt-openjdk-uber httpcore-nio
+rm httpcore-nio/src/test/java/org/apache/http/nio/integration/TestJSSEProviderIntegration.java
+
+# we don't need these artifacts right now
+%pom_disable_module httpcore-osgi
+%pom_disable_module httpcore-ab
+
+# OSGify modules
+for module in httpcore httpcore-nio; do
+ %pom_xpath_remove "pom:project/pom:packaging" $module
+ %pom_xpath_inject "pom:project" "<packaging>bundle</packaging>" $module
+ %pom_remove_plugin :maven-jar-plugin $module
+ %pom_xpath_inject "pom:build/pom:plugins" "
+ <plugin>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>maven-bundle-plugin</artifactId>
+ <extensions>true</extensions>
+ <configuration>
+ <instructions>
+ <Export-Package>*</Export-Package>
+ <Private-Package></Private-Package>
+ <Automatic-Module-Name>org.apache.httpcomponents.$module</Automatic-Module-Name>
+ <_nouses>true</_nouses>
+ </instructions>
+ </configuration>
+ </plugin>" $module
+done
+
+# install JARs to httpcomponents/ for compatibility reasons
+# several other packages expect to find the JARs there
+%mvn_file ":{*}" httpcomponents/@1
+
+%build
+%mvn_build
+
+%install
+%mvn_install
+
+%files -f .mfiles
+%license LICENSE.txt NOTICE.txt
+%doc README.txt RELEASE_NOTES.txt
+
+%changelog
+* Mon Feb 05 2024 Mikolaj Izdebski <mizdebsk@redhat.com> - 4.4.13-8
+- Rebuild to regenerate auto-requires
+
+* Thu Jul 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 4.4.13-7
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
+
+* Sat Feb 05 2022 Jiri Vanek <jvanek@redhat.com> - 4.4.13-6
+- Rebuilt for java-17-openjdk as system jdk
+
+* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 4.4.13-5
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
+
+* Thu Jul 22 2021 Fedora Release Engineering <releng@fedoraproject.org> - 4.4.13-4
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
+
+* Mon May 17 2021 Mikolaj Izdebski <mizdebsk@redhat.com> - 4.4.13-3
+- Bootstrap build
+- Non-bootstrap build
+
+* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 4.4.12-5
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
+
+* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 4.4.12-4
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
+
+* Fri Jul 10 2020 Jiri Vanek <jvanek@redhat.com> - 4.4.12-3
+- Rebuilt for JDK-11, see https://fedoraproject.org/wiki/Changes/Java11
+
+* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 4.4.12-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
+
+* Sat Jan 25 2020 Mikolaj Izdebski <mizdebsk@redhat.com> - 4.4.13-2
+- Build with OpenJDK 8
+
+* Wed Jan 22 2020 Marian Koncek <mkoncek@redhat.com> - 4.4.13-1
+- Update to upstream version 4.4.13
+
+* Tue Nov 05 2019 Mikolaj Izdebski <mizdebsk@redhat.com> - 4.4.12-2
+- Mass rebuild for javapackages-tools 201902
+
+* Mon Sep 16 2019 Marian Koncek <mkoncek@redhat.com> - 4.4.12-1
+- Update to upstream version 4.4.12
+
+* Fri May 24 2019 Mikolaj Izdebski <mizdebsk@redhat.com> - 4.4.11-2
+- Mass rebuild for javapackages-tools 201901
+
+* Mon May 13 2019 Mikolaj Izdebski <mizdebsk@redhat.com> - 4.4.11-1
+- Update to upstream version 4.4.11
+
+* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 4.4.10-5
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
+
+* Fri Dec 07 2018 Mat Booth <mat.booth@redhat.com> - 4.4.10-4
+- Add patch to allow building with mockito 2
+
+* Mon Jul 23 2018 Michael Simacek <msimacek@redhat.com> - 4.4.10-3
+- Fix failing tests
+
+* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 4.4.10-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
+
+* Mon Jul 02 2018 Michael Simacek <msimacek@redhat.com> - 4.4.10-1
+- Update to upstream version 4.4.10
+
+* Mon Mar 19 2018 Michael Simacek <msimacek@redhat.com> - 4.4.9-4
+- Fix FTBFS (weak encryption in tests)
+
+* Fri Feb 09 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 4.4.9-3
+- Escape macros in %%changelog
+
+* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 4.4.9-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
+
+* Tue Jan 16 2018 Michael Simacek <msimacek@redhat.com> - 4.4.9-1
+- Update to upstream version 4.4.9
+
+* Sun Oct 22 2017 Michael Simacek <msimacek@redhat.com> - 4.4.8-1
+- Update to upstream version 4.4.8
+
+* Tue Sep 19 2017 Michael Simacek <msimacek@redhat.com> - 4.4.7-1
+- Update to upstream version 4.4.7
+
+* Fri Sep 15 2017 Mikolaj Izdebski <mizdebsk@redhat.com> - 4.4.6-5
+- Try to workaround test failures on ARM
+
+* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 4.4.6-4
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
+
+* Thu Feb 23 2017 Mikolaj Izdebski <mizdebsk@redhat.com> - 4.4.6-3
+- Remove unneeded maven-javadoc-plugin invocation
+
+* Tue Feb 07 2017 Michael Simacek <msimacek@redhat.com> - 4.4.6-2
+- Remove useless plugins
+
+* Thu Jan 12 2017 Michael Simacek <msimacek@redhat.com> - 4.4.6-1
+- Update to upstream version 4.4.6
+
+* Fri Jun 24 2016 Michael Simacek <msimacek@redhat.com> - 4.4.5-2
+- Change license to just ASL 2.0
+
+* Thu Jun 23 2016 Michael Simacek <msimacek@redhat.com> - 4.4.5-1
+- Update to upstream version 4.4.5
+
+* Wed Jun 15 2016 Mikolaj Izdebski <mizdebsk@redhat.com> - 4.4.4-3
+- Regenerate build-requires
+
+* Wed Feb 03 2016 Fedora Release Engineering <releng@fedoraproject.org> - 4.4.4-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
+
+* Mon Nov 2 2015 Mikolaj Izdebski <mizdebsk@redhat.com> - 4.4.4-1
+- Update to upstream version 4.4.4
+
+* Wed Sep 9 2015 Mikolaj Izdebski <mizdebsk@redhat.com> - 4.4.3-1
+- Update to upstream version 4.4.3
+
+* Mon Sep 07 2015 Michael Simacek <msimacek@redhat.com> - 4.4.2-1
+- Update to upstream version 4.4.2
+
+* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 4.4.1-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
+
+* Thu Mar 19 2015 Mikolaj Izdebski <mizdebsk@redhat.com> - 4.4.1-1
+- Update to upstream version 4.4.1
+
+* Mon Jan 19 2015 Mikolaj Izdebski <mizdebsk@redhat.com> - 4.4-1
+- Update to upstream version 4.4
+
+* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 4.3.2-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
+
+* Mon May 26 2014 Mikolaj Izdebski <mizdebsk@redhat.com> - 4.3.2-2
+- Remove BuildRequires on maven-surefire-provider-junit4
+
+* Mon May 12 2014 Mikolaj Izdebski <mizdebsk@redhat.com> - 4.3.2-1
+- Update to upstream version 4.3.2
+
+* Tue Sep 03 2013 Michal Srb <msrb@redhat.com> - 4.3-1
+- Update to upstream version 4.3
+
+* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 4.2.4-5
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
+
+* Mon Jun 10 2013 Michal Srb <msrb@redhat.com> - 4.2.4-4
+- Fix license tag (CC-BY added)
+
+* Fri May 17 2013 Alexander Kurtakov <akurtako@redhat.com> 4.2.4-3
+- Fix bundle plugin configuration to produce sane manifest.
+- Do not duplicate javadoc files list.
+
+* Mon Mar 25 2013 Michal Srb <msrb@redhat.com> - 4.2.4-2
+- Build with xmvn
+
+* Mon Mar 25 2013 Michal Srb <msrb@redhat.com> - 4.2.4-1
+- Update to upstream version 4.2.4
+
+* Mon Feb 25 2013 Mikolaj Izdebski <mizdebsk@redhat.com> - 4.2.3-3
+- Add missing BR: maven-local
+
+* Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 4.2.3-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
+
+* Mon Dec 3 2012 Mikolaj Izdebski <mizdebsk@redhat.com> - 4.2.3-1
+- Update to upstream version 4.2.3
+
+* Fri Oct 5 2012 Mikolaj Izdebski <mizdebsk@redhat.com> - 4.2.2-1
+- Update to upstream version 4.2.2
+
+* Mon Aug 27 2012 Stanislav Ochotnicky <sochotnicky@redhat.com> - 4.2.1-3
+- Remove mockito from Requires (not needed really)
+- BR on mockito is now conditional on Fedora
+
+* Fri Jul 27 2012 Mikolaj Izdebski <mizdebsk@redhat.com> - 4.2.1-2
+- Install NOTICE.txt file
+- Fix javadir directory ownership
+- Preserve timestamps
+
+* Mon Jul 23 2012 Mikolaj Izdebski <mizdebsk@redhat.com> - 4.2.1-1
+- Update to upstream version 4.2.1
+- Convert patches to POM macros
+
+* Thu Jul 19 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 4.1.4-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
+
+* Fri Mar 23 2012 Krzysztof Daniel <kdaniel@redhat.com> 4.1.4-1
+- Update to latest upstream (4.1.4)
+
+* Fri Jan 13 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 4.1.3-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
+
+* Tue Aug 16 2011 Stanislav Ochotnicky <sochotnicky@redhat.com> - 4.1.3-1
+- Update to latest upstream (4.1.3)
+
+* Tue Jul 26 2011 Stanislav Ochotnicky <sochotnicky@redhat.com> - 4.1.2-1
+- Update to latest upstream (4.1.2)
+
+* Mon Jul 4 2011 Stanislav Ochotnicky <sochotnicky@redhat.com> - 4.1.1-2
+- Fix forgotten add_to_maven_depmap
+
+* Fri Jul 1 2011 Stanislav Ochotnicky <sochotnicky@redhat.com> - 4.1.1-1
+- Update to latest upstream (4.1.1)
+- Use new maven macros
+- Tweaks according to new guidelines
+- Enable tests again (seem to work OK even in koji now)
+
+* Tue Mar 15 2011 Severin Gehwolf <sgehwolf@redhat.com> 4.1-6
+- Explicitly set PrivatePackage to the empty set, so as to
+ export all packages.
+
+* Fri Mar 11 2011 Alexander Kurtakov <akurtako@redhat.com> 4.1-5
+- Bump release to fix my mistake with the release.
+
+* Thu Mar 10 2011 Alexander Kurtakov <akurtako@redhat.com> 4.1-3
+- Export all packages.
+
+* Fri Feb 18 2011 Alexander Kurtakov <akurtako@redhat.com> 4.1-2
+- Don't use basename it's part of coreutils.
+
+* Fri Feb 18 2011 Alexander Kurtakov <akurtako@redhat.com> 4.1-4
+- Install into %%{_javadir}/httpcomponents. We will use it for client libs too.
+- Proper osgi info.
+
+* Wed Feb 09 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 4.1-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
+
+* Wed Dec 22 2010 Stanislav Ochotnicky <sochotnicky@redhat.com> - 4.1-2
+- Added license to javadoc subpackage
+
+* Fri Dec 17 2010 Stanislav Ochotnicky <sochotnicky@redhat.com> - 4.1-1
+- Initial package
diff --git a/sources b/sources
new file mode 100644
index 0000000..feb39c8
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+fcff1b5458e0d88616c0378ab0ab5070 httpcomponents-core-4.4.13-src.tar.gz