From 68732620993249b78a0cd6f73a05f71acc9befeb Mon Sep 17 00:00:00 2001 From: James Antill Date: Mon, 8 Aug 2022 12:33:07 -0400 Subject: [PATCH] Import rpm: d483ad7ac68d3cc9493fcdd362bc3ed12031f32e --- .gitignore | 1 + ...stem-copy-of-effective_tld_names.dat.patch | 31 ++ 0002-Port-to-mockito-2.patch | 104 +++++ gating.yaml | 8 + httpcomponents-client.spec | 390 ++++++++++++++++++ sources | 1 + 6 files changed, 535 insertions(+) create mode 100644 .gitignore create mode 100644 0001-Use-system-copy-of-effective_tld_names.dat.patch create mode 100644 0002-Port-to-mockito-2.patch create mode 100644 gating.yaml create mode 100644 httpcomponents-client.spec create mode 100644 sources diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..b060cd8 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +SOURCES/httpcomponents-client-4.5.5-src.tar.gz diff --git a/0001-Use-system-copy-of-effective_tld_names.dat.patch b/0001-Use-system-copy-of-effective_tld_names.dat.patch new file mode 100644 index 0000000..938cbc6 --- /dev/null +++ b/0001-Use-system-copy-of-effective_tld_names.dat.patch @@ -0,0 +1,31 @@ +From 3514ce0f38dddafd052d76e6a0da9bbb862ff8a4 Mon Sep 17 00:00:00 2001 +From: Mikolaj Izdebski +Date: Tue, 20 Jan 2015 16:04:31 +0100 +Subject: [PATCH] Use system copy of effective_tld_names.dat + +--- + .../java/org/apache/http/conn/util/PublicSuffixMatcherLoader.java | 7 +++---- + 1 file changed, 3 insertions(+), 4 deletions(-) + +diff --git a/httpclient/src/main/java/org/apache/http/conn/util/PublicSuffixMatcherLoader.java b/httpclient/src/main/java/org/apache/http/conn/util/PublicSuffixMatcherLoader.java +index 8783c5b..c858220 100644 +--- a/httpclient/src/main/java/org/apache/http/conn/util/PublicSuffixMatcherLoader.java ++++ b/httpclient/src/main/java/org/apache/http/conn/util/PublicSuffixMatcherLoader.java +@@ -82,11 +82,10 @@ public final class PublicSuffixMatcherLoader { + if (DEFAULT_INSTANCE == null) { + synchronized (PublicSuffixMatcherLoader.class) { + if (DEFAULT_INSTANCE == null){ +- final URL url = PublicSuffixMatcherLoader.class.getResource( +- "/mozilla/public-suffix-list.txt"); +- if (url != null) { ++ final File file = new File("/usr/share/publicsuffix/effective_tld_names.dat"); ++ if (file.exists()) { + try { +- DEFAULT_INSTANCE = load(url); ++ DEFAULT_INSTANCE = load(file); + } catch (final IOException ex) { + // Should never happen + final Log log = LogFactory.getLog(PublicSuffixMatcherLoader.class); +-- +2.9.3 + diff --git a/0002-Port-to-mockito-2.patch b/0002-Port-to-mockito-2.patch new file mode 100644 index 0000000..606c615 --- /dev/null +++ b/0002-Port-to-mockito-2.patch @@ -0,0 +1,104 @@ +From 852a31061e2d46cc4bc1b5cfa388ed023de5095d Mon Sep 17 00:00:00 2001 +From: Mat Booth +Date: Fri, 7 Dec 2018 18:01:27 +0000 +Subject: [PATCH 2/2] Port to mockito 2 + +Gets it building, but disables tests that are caused by change in +behaviour of mockito that I didn't know how to fix +--- + .../http/impl/client/integration/TestAbortHandling.java | 1 + + .../http/impl/client/integration/TestSPNegoScheme.java | 2 ++ + .../org/apache/http/impl/execchain/TestMainClientExec.java | 3 ++- + .../apache/http/impl/execchain/TestMinimalClientExec.java | 1 + + .../org/apache/http/impl/execchain/TestRedirectExec.java | 5 ++--- + 5 files changed, 8 insertions(+), 4 deletions(-) + +diff --git a/httpclient/src/test/java/org/apache/http/impl/client/integration/TestAbortHandling.java b/httpclient/src/test/java/org/apache/http/impl/client/integration/TestAbortHandling.java +index 282e11b..0411caf 100644 +--- a/httpclient/src/test/java/org/apache/http/impl/client/integration/TestAbortHandling.java ++++ b/httpclient/src/test/java/org/apache/http/impl/client/integration/TestAbortHandling.java +@@ -288,6 +288,7 @@ public class TestAbortHandling extends LocalServerTestBase { + * properly released back to the connection manager. + */ + @Test ++ @org.junit.Ignore + public void testSocketConnectFailureReleasesConnection() throws Exception { + final HttpClientConnection conn = Mockito.mock(HttpClientConnection.class); + final ConnectionRequest connrequest = Mockito.mock(ConnectionRequest.class); +diff --git a/httpclient/src/test/java/org/apache/http/impl/client/integration/TestSPNegoScheme.java b/httpclient/src/test/java/org/apache/http/impl/client/integration/TestSPNegoScheme.java +index f638031..31799cb 100644 +--- a/httpclient/src/test/java/org/apache/http/impl/client/integration/TestSPNegoScheme.java ++++ b/httpclient/src/test/java/org/apache/http/impl/client/integration/TestSPNegoScheme.java +@@ -150,6 +150,7 @@ public class TestSPNegoScheme extends LocalServerTestBase { + * the server still keep asking for a valid ticket. + */ + @Test ++ @org.junit.Ignore + public void testDontTryToAuthenticateEndlessly() throws Exception { + this.serverBootstrap.registerHandler("*", new PleaseNegotiateService()); + final HttpHost target = start(); +@@ -180,6 +181,7 @@ public class TestSPNegoScheme extends LocalServerTestBase { + * if no token is generated. Client should be able to deal with this response. + */ + @Test ++ @org.junit.Ignore + public void testNoTokenGeneratedError() throws Exception { + this.serverBootstrap.registerHandler("*", new PleaseNegotiateService()); + final HttpHost target = start(); +diff --git a/httpclient/src/test/java/org/apache/http/impl/execchain/TestMainClientExec.java b/httpclient/src/test/java/org/apache/http/impl/execchain/TestMainClientExec.java +index 2261da8..e922155 100644 +--- a/httpclient/src/test/java/org/apache/http/impl/execchain/TestMainClientExec.java ++++ b/httpclient/src/test/java/org/apache/http/impl/execchain/TestMainClientExec.java +@@ -402,6 +402,7 @@ public class TestMainClientExec { + } + + @Test(expected=RequestAbortedException.class) ++ @org.junit.Ignore + public void testExecConnectionRequestFailed() throws Exception { + final HttpRoute route = new HttpRoute(target); + final HttpClientContext context = new HttpClientContext(); +@@ -808,4 +809,4 @@ public class TestMainClientExec { + mainClientExec.establishRoute(authState, managedConn, route, request, context); + } + +-} +\ No newline at end of file ++} +diff --git a/httpclient/src/test/java/org/apache/http/impl/execchain/TestMinimalClientExec.java b/httpclient/src/test/java/org/apache/http/impl/execchain/TestMinimalClientExec.java +index 9a96ba6..41eb023 100644 +--- a/httpclient/src/test/java/org/apache/http/impl/execchain/TestMinimalClientExec.java ++++ b/httpclient/src/test/java/org/apache/http/impl/execchain/TestMinimalClientExec.java +@@ -256,6 +256,7 @@ public class TestMinimalClientExec { + } + + @Test(expected=RequestAbortedException.class) ++ @org.junit.Ignore + public void testExecConnectionRequestFailed() throws Exception { + final HttpRoute route = new HttpRoute(target); + final HttpClientContext context = new HttpClientContext(); +diff --git a/httpclient/src/test/java/org/apache/http/impl/execchain/TestRedirectExec.java b/httpclient/src/test/java/org/apache/http/impl/execchain/TestRedirectExec.java +index 5621a3f..23506dc 100644 +--- a/httpclient/src/test/java/org/apache/http/impl/execchain/TestRedirectExec.java ++++ b/httpclient/src/test/java/org/apache/http/impl/execchain/TestRedirectExec.java +@@ -349,7 +349,7 @@ public class TestRedirectExec { + } + } + +- static class HttpRequestWrapperMatcher extends ArgumentMatcher { ++ static class HttpRequestWrapperMatcher implements ArgumentMatcher { + + private final HttpRequest original; + +@@ -358,8 +358,7 @@ public class TestRedirectExec { + this.original = original; + } + @Override +- public boolean matches(final Object obj) { +- final HttpRequestWrapper wrapper = (HttpRequestWrapper) obj; ++ public boolean matches(final HttpRequestWrapper wrapper) { + return original == wrapper.getOriginal(); + } + +-- +2.19.1 + diff --git a/gating.yaml b/gating.yaml new file mode 100644 index 0000000..d6b7694 --- /dev/null +++ b/gating.yaml @@ -0,0 +1,8 @@ +--- !Policy +product_versions: + - rhel-9 +decision_contexts: + - osci_compose_gate +rules: + # https://docs.engineering.redhat.com/display/RHELPLAN/Maven+Bootstrap+manual+gating+test + - !PassingTestCaseRule {test_case_name: manual.sst_cs_apps.maven.bootstrap} diff --git a/httpcomponents-client.spec b/httpcomponents-client.spec new file mode 100644 index 0000000..6824b7b --- /dev/null +++ b/httpcomponents-client.spec @@ -0,0 +1,390 @@ +%bcond_without memcached +%bcond_without ehcache + +Name: httpcomponents-client +Summary: HTTP agent implementation based on httpcomponents HttpCore +Version: 4.5.5 +Release: 4%{?dist} +License: ASL 2.0 +URL: http://hc.apache.org/ +Source0: http://www.apache.org/dist/httpcomponents/httpclient/source/%{name}-%{version}-src.tar.gz + +Patch0: 0001-Use-system-copy-of-effective_tld_names.dat.patch + +BuildArch: noarch + +BuildRequires: maven-local +BuildRequires: mvn(commons-codec:commons-codec) +BuildRequires: mvn(commons-logging:commons-logging) +BuildRequires: mvn(junit:junit) +%if %{with ehcache} +BuildRequires: mvn(net.sf.ehcache:ehcache-core) +%endif +%if %{with memcached} +BuildRequires: mvn(net.spy:spymemcached) +%endif +BuildRequires: mvn(org.apache.felix:maven-bundle-plugin) +BuildRequires: mvn(org.apache.httpcomponents:httpcore) +BuildRequires: mvn(org.apache.httpcomponents:project:pom:) +BuildRequires: mvn(org.codehaus.mojo:build-helper-maven-plugin) +BuildRequires: mvn(org.easymock:easymock) +BuildRequires: mvn(org.mockito:mockito-core) + +BuildRequires: publicsuffix-list +Requires: publicsuffix-list + +Obsoletes: %{name}-tests < 4.4 + +%description +HttpClient is a HTTP/1.1 compliant HTTP agent implementation based on +httpcomponents HttpCore. It also provides reusable components for +client-side authentication, HTTP state management, and HTTP connection +management. HttpComponents Client is a successor of and replacement +for Commons HttpClient 3.x. Users of Commons HttpClient are strongly +encouraged to upgrade. + +%package cache +Summary: Cache module for %{name} + +%description cache +This package provides client side caching for %{name}. + +%package javadoc +Summary: API documentation for %{name} + +%description javadoc +%{summary}. + +%prep +%setup -q -n %{name}-%{version} +%patch0 -p1 + +%mvn_package :httpclient-cache cache + +# Remove optional build deps not available in Fedora +%pom_disable_module httpclient-osgi +%pom_disable_module httpclient-win +%pom_remove_plugin :docbkx-maven-plugin +%pom_remove_plugin :clirr-maven-plugin +%pom_remove_plugin :maven-checkstyle-plugin +%pom_remove_plugin :apache-rat-plugin +%pom_remove_plugin :maven-source-plugin +%pom_remove_plugin :maven-javadoc-plugin + +# Fails due to strict crypto policy - uses DSA in test data +rm httpclient/src/test/java/org/apache/http/conn/ssl/TestSSLSocketFactory.java + +# Don't compile/run httpclient-cache tests - they are incompatible with EasyMock 3.3 +%pom_remove_plugin org.apache.maven.plugins:maven-jar-plugin httpclient-cache +%pom_remove_dep org.easymock:easymockclassextension +for dep in org.easymock:easymockclassextension org.slf4j:slf4j-jcl; do + %pom_remove_dep $dep httpclient-cache +done +rm -rf httpclient-cache/src/test + +%pom_remove_plugin :download-maven-plugin httpclient + +# Add proper Apache felix bundle plugin instructions +# so that we get a reasonable OSGi manifest. +for module in httpclient httpmime httpclient-cache fluent-hc; do + %pom_xpath_remove "pom:project/pom:packaging" $module + %pom_xpath_inject "pom:project" "bundle" $module +done + +# Make fluent-hc into bundle +%pom_xpath_inject pom:build " + + + org.apache.felix + maven-bundle-plugin + true + +" fluent-hc + +# Make httpmime into bundle +%pom_xpath_inject pom:build/pom:plugins " + + org.apache.felix + maven-bundle-plugin + true + " httpmime + +# Make httpclient into bundle +%pom_xpath_inject pom:reporting/pom:plugins " + + org.apache.felix + maven-bundle-plugin + + + * + + !org.apache.avalon.framework.logger,!org.apache.log,!org.apache.log4j,* + + + " httpclient +%pom_xpath_inject pom:build/pom:plugins " + + org.apache.felix + maven-bundle-plugin + true + + + org.apache.http.*,!org.apache.http.param + + <_nouses>true + !org.apache.avalon.framework.logger,!org.apache.log,!org.apache.log4j,* + + true + + " httpclient + +# Make httpclient-cache into bundle +%pom_xpath_inject pom:build/pom:plugins " + + org.apache.felix + maven-bundle-plugin + true + + + * + net.sf.ehcache;resolution:=optional,net.spy.memcached;resolution:=optional,* + + <_nouses>true + + true + + " httpclient-cache + +# requires network +rm httpclient/src/test/java/org/apache/http/client/config/TestRequestConfig.java + +%if %{without memcached} +rm -r httpclient-cache/src/*/java/org/apache/http/impl/client/cache/memcached +%pom_remove_dep :spymemcached httpclient-cache +%endif +%if %{without ehcache} +rm -r httpclient-cache/src/*/java/org/apache/http/impl/client/cache/ehcache +%pom_remove_dep :ehcache-core httpclient-cache +%endif + +%build +%mvn_file ":{*}" httpcomponents/@1 + +%mvn_build + +%install +%mvn_install + + +%files -f .mfiles +%doc LICENSE.txt NOTICE.txt README.txt RELEASE_NOTES.txt + +%files cache -f .mfiles-cache + +%files javadoc -f .mfiles-javadoc +%doc LICENSE.txt NOTICE.txt + +%changelog +* Mon Mar 19 2018 Michael Simacek - 4.5.5-4 +- Fix FTBFS (weak crypto in test data) + +* Fri Feb 09 2018 Igor Gnatenko - 4.5.5-3 +- Escape macros in %%changelog + +* Wed Feb 07 2018 Fedora Release Engineering - 4.5.5-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Mon Jan 22 2018 Michael Simacek - 4.5.5-1 +- Update to upstream version 4.5.5 + +* Wed Jul 26 2017 Fedora Release Engineering - 4.5.3-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Fri Feb 10 2017 Fedora Release Engineering - 4.5.3-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Thu Feb 02 2017 Michael Simacek - 4.5.3-2 +- Add conditionals for memcached and ehcache + +* Thu Jan 26 2017 Michael Simacek - 4.5.3-1 +- Update to upstream version 4.5.3 + +* Fri Jun 24 2016 Michael Simacek - 4.5.2-4 +- Fix build with httpcomponents-core-4.4.5 + +* Wed Jun 15 2016 Mikolaj Izdebski - 4.5.2-3 +- Add missing build-requires + +* Wed Mar 16 2016 Sopot Cela - 4.5.2-2 +- Make the fluent API into a bundle + +* Mon Feb 29 2016 Mikolaj Izdebski - 4.5.2-1 +- Update to upstream version 4.5.2 + +* Wed Feb 10 2016 Mat Booth - 4.5.1-4 +- Enable the fluent API module + +* Wed Feb 03 2016 Fedora Release Engineering - 4.5.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Mon Jan 25 2016 Mat Booth - 4.5.1-2 +- Make client cache jar into a OSGi bundle + +* Wed Sep 16 2015 Mikolaj Izdebski - 4.5.1-1 +- Update to upstream version 4.5.1 + +* Wed Jun 17 2015 Fedora Release Engineering - 4.5-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Thu Jun 04 2015 Michael Simacek - 4.5-1 +- Update to upstream version 4.5 + +* Tue Mar 31 2015 Mikolaj Izdebski - 4.4.1-1 +- Update to upstream version 4.4.1 + +* Wed Feb 18 2015 Mikolaj Izdebski - 4.4-1 +- Update to upstream version 4.4 + +* Thu Jan 22 2015 Mikolaj Izdebski - 4.4-0.3.beta1 +- Split httpclient-cache into subpackage + +* Tue Jan 20 2015 Mikolaj Izdebski - 4.4-0.2.beta1 +- Unbundle publicsuffix-list +- Resolves: rhbz#1183782 + +* Mon Jan 19 2015 Mikolaj Izdebski - 4.4-0.1.beta1 +- Update to upstream version 4.4 beta1 +- Remove tests subpackage + +* Fri Jan 9 2015 Richard Fearn - 4.3.5-3 +- Also build HttpClient Cache (bug #1180696) + +* Tue Dec 02 2014 Michael Simacek - 4.3.5-2 +- Build and install tests artifact (needed by copr-java) + +* Tue Aug 5 2014 Mikolaj Izdebski - 4.3.5-1 +- Update to upstream version 4.3.5 + +* Mon Aug 4 2014 Mikolaj Izdebski - 4.3.4-2 +- Fix build-requires on httpcomponents-project + +* Fri Jun 6 2014 Mikolaj Izdebski - 4.3.4-1 +- Update to upstream version 4.3.4 + +* Fri Feb 28 2014 Michael Simacek - 4.3.3-1 +- Update to upstream version 4.3.3 + +* Mon Jan 20 2014 Mikolaj Izdebski - 4.3.2-1 +- Update to upstream version 4.3.2 + +* Mon Jan 06 2014 Michael Simacek - 4.3.1-1 +- Update to upstream version 4.3.1 +- Temporarily disable tests due to bug in mockito + +* Thu Oct 3 2013 Mikolaj Izdebski - 4.3-2 +- Don't try to remove maven-notice-plugin from POM + +* Fri Sep 13 2013 Michal Srb - 4.3-1 +- Update to upstream version 4.3 +- Drop group tag + +* Sat Aug 03 2013 Fedora Release Engineering - 4.2.5-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Mon Jun 10 2013 Michal Srb - 4.2.5-2 +- Enable tests on Fedora + +* Thu Apr 25 2013 Michal Srb - 4.2.5-1 +- Update to upstream version 4.2.5 + +* Thu Apr 11 2013 Michal Srb - 4.2.4-1 +- Update to upstream version 4.2.4 + +* Wed Feb 06 2013 Java SIG - 4.2.3-3 +- Update for https://fedoraproject.org/wiki/Fedora_19_Maven_Rebuild +- Replace maven BuildRequires with maven-local + +* Fri Jan 25 2013 Michal Srb - 4.2.3-2 +- Build with xmvn +- Disable fluent-hc module + +* Thu Jan 24 2013 Mikolaj Izdebski - 4.2.3-1 +- Update to upstream version 4.2.3 + +* Thu Oct 25 2012 Mikolaj Izdebski - 4.2.2-1 +- Update to upstream version 4.2.2 + +* Wed Aug 1 2012 Mikolaj Izdebski - 4.2.1-3 +- Fix OSGi manifest in httpmime + +* Fri Jul 27 2012 Mikolaj Izdebski - 4.2.1-2 +- Install NOTICE.txt file +- Fix javadir directory ownership +- Fix directory permissions +- Preserve timestamps +- Replace add_to_maven_depmap with add_maven_depmap + +* Fri Jul 27 2012 Mikolaj Izdebski - 4.2.1-1 +- Update to upstream version 4.2.1 +- Convert patches to POM macros + +* Thu Jul 19 2012 Fedora Release Engineering - 4.1.3-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Wed May 2 2012 Alexander Kurtakov 4.1.3-3 +- Do not export org.apache.http.param in osgi. + +* Mon Mar 26 2012 Alexander Kurtakov 4.1.3-2 +- Do not export * but only org.apache.http.* . +- Do not generate uses clauses in the manifest. + +* Thu Mar 1 2012 Stanislav Ochotnicky 4.1.3-1 +- Update to latest upstream bugfix + +* Fri Jan 13 2012 Fedora Release Engineering - 4.1.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Tue Aug 16 2011 Stanislav Ochotnicky - 4.1.2-1 +- Update to latest upstream (4.1.2) +- Minor tweaks according to guidelines + +* Fri Jul 15 2011 Severin Gehwolf 4.1.1-3 +- Fix for RH Bz#718830. Add instructions so as to not + Import-Package optional dependencies. + +* Thu Apr 7 2011 Severin Gehwolf 4.1.1-2 +- Add BR/R apache-commons-codec, since httpcomponents-client's + MANIFEST.MF has an Import-Package: org.apache.commons.codec + header. + +* Tue Mar 29 2011 Stanislav Ochotnicky - 4.1.1-1 +- New upstream bugfix version (4.1.1) + +* Tue Mar 15 2011 Severin Gehwolf 4.1-6 +- Explicitly set PrivatePackage to the empty set, so as to + export all packages. + +* Thu Mar 10 2011 Alexander Kurtakov 4.1-5 +- OSGi export more packages. + +* Fri Feb 25 2011 Alexander Kurtakov 4.1-4 +- Build httpmime module. + +* Fri Feb 18 2011 Alexander Kurtakov 4.1-3 +- Don't use basename as an identifier. + +* Fri Feb 18 2011 Alexander Kurtakov 4.1-2 +- OSGify properly. +- Install into %%{_javadir}/%%{basename}. + +* Thu Feb 17 2011 Alexander Kurtakov 4.1-1 +- Update to latest upstream version. + +* Wed Feb 09 2011 Fedora Release Engineering - 4.0.3-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Wed Dec 22 2010 Stanislav Ochotnicky - 4.0.3-2 +- Added license to javadoc subpackage + +* Mon Dec 20 2010 Stanislav Ochotnicky - 4.0.3-1 +- Initial version diff --git a/sources b/sources new file mode 100644 index 0000000..128081f --- /dev/null +++ b/sources @@ -0,0 +1 @@ +SHA1 (httpcomponents-client-4.5.5-src.tar.gz) = f0e5b113ca4326046a482adee447daee4f688b96