# # spec file for package apache-commons-httpclient # # Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany. # # 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 http://bugs.opensuse.org/ # # icecream 0 %define short_name commons-httpclient Name: apache-commons-httpclient Version: 3.1 Release: 0 Summary: Feature rich package for accessing resources via HTTP License: Apache-2.0 Group: Development/Libraries/Java Url: http://hc.apache.org/httpclient-3.x/ #Source0: http://www.apache.org/dist/httpcomponents/commons-httpclient/source/commons-httpclient-3.1-src.tar.gz Source0: commons-httpclient-%{version}-src.tar.gz Patch0: %{name}-disablecryptotests.patch # Add OSGi MANIFEST.MF bits Patch1: %{name}-addosgimanifest.patch Patch2: %{name}-encoding.patch #PATCH-FIX-UPSTREAM: bnc#803332 #https://issues.apache.org/jira/secure/attachment/12560251/CVE-2012-5783-2.patch Patch3: commons-httpclient-CVE-2012-5783-2.patch BuildArch: noarch BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: ant BuildRequires: commons-codec BuildRequires: commons-logging >= 1.0.3 #BuildRequires: java-javadoc #BuildRequires: apache-commons-logging-javadoc BuildRequires: java-devel BuildRequires: junit Requires: commons-codec Requires: commons-logging >= 1.0.3 Provides: %{short_name} = %{version}-%{release} Provides: jakarta-%{short_name} = %{version}-%{release} Obsoletes: jakarta-%{short_name} <= %{version}-%{release} Provides: jakarta-%{short_name}3 = %{version}-%{release} Obsoletes: jakarta-%{short_name}3 <= %{version}-%{release} %description Although the java.net package provides basic functionality for accessing resources via HTTP, it doesn't provide the full flexibility or functionality needed by many applications. The Apache Commons HttpClient component seeks to fill this void by providing an efficient, up-to-date, and feature-rich package implementing the client side of the most recent HTTP standards and recommendations. Designed for extension while providing robust support for the base HTTP protocol, the HttpClient component may be of interest to anyone building HTTP-aware client applications such as web browsers, web service clients, or systems that leverage or extend the HTTP protocol for distributed communication. %package javadoc PreReq: coreutils Summary: Developer documentation for apache-commons-httpclient Group: Development/Libraries/Java %description javadoc Developer documentation for apache-commons-httpclient in JavaDoc format. %{summary}. %package demo Summary: Demonstration files for apache-commons-httpclient Group: Development/Libraries/Java Requires: %{name} = %{version}-%{release} %description demo Demonstration files for apache-commons-httpclient. NOTE: It is possible that some demonstration files are specially prepared for SUN Java runtime environment. If they fail with IBM or BEA Java, the package itself does not need to be broken. %{summary}. %package manual Summary: Manual for apache-commons-httpclient Group: Development/Libraries/Java %description manual Manual for apache-commons-httpclient %{summary}. %prep %setup -q -n commons-httpclient-%{version} mkdir lib # duh rm -rf docs/apidocs docs/*.patch docs/*.orig docs/*.rej %patch0 pushd src/conf %{__sed} -i 's/\r//' MANIFEST.MF %patch1 popd %patch2 # Use javax classes, not com.sun ones # assume no filename contains spaces pushd src for j in $(find . -name "*.java" -exec grep -l 'com\.sun\.net\.ssl' {} \;); do sed -e 's|com\.sun\.net\.ssl|javax.net.ssl|' $j > tempf cp tempf $j done rm tempf popd %{__sed} -i 's/\r//' RELEASE_NOTES.txt %{__sed} -i 's/\r//' README.txt %{__sed} -i 's/\r//' LICENSE.txt %build ant \ -Dbuild.sysclasspath=first \ -Djavadoc.j2sdk.link=%{_javadocdir}/java \ -Djavadoc.logging.link=%{_javadocdir}/apache-commons-logging \ -Dtest.failonerror=false \ -Dlib.dir=%{_javadir} \ -Djavac.encoding=UTF-8 \ dist test %install # jars mkdir -p $RPM_BUILD_ROOT%{_javadir} cp -p dist/commons-httpclient.jar \ $RPM_BUILD_ROOT%{_javadir}/%{name}.jar # compat symlink pushd $RPM_BUILD_ROOT%{_javadir} ln -s apache-commons-httpclient.jar apache-commons-httpclient3.jar ln -s apache-commons-httpclient.jar commons-httpclient3.jar ln -s apache-commons-httpclient.jar commons-httpclient.jar ln -s apache-commons-httpclient.jar jakarta-commons-httpclient.jar ln -s apache-commons-httpclient.jar jakarta-commons-httpclient3.jar popd # javadoc mkdir -p $RPM_BUILD_ROOT%{_javadocdir} mv dist/docs/api $RPM_BUILD_ROOT%{_javadocdir}/%{name} # demo mkdir -p $RPM_BUILD_ROOT%{_datadir}/%{name} cp -pr src/examples src/contrib $RPM_BUILD_ROOT%{_datadir}/%{name} # manual and docs rm -f dist/docs/{BUILDING,TESTING}.txt ln -s %{_javadocdir}/%{name} dist/docs/apidocs %clean rm -rf $RPM_BUILD_ROOT %files %defattr(0644,root,root,0755) %doc LICENSE.txt README.txt RELEASE_NOTES.txt %{_javadir}/%{name}.jar %{_javadir}/apache-commons-httpclient3.jar %{_javadir}/commons-httpclient3.jar %{_javadir}/commons-httpclient.jar %files javadoc %defattr(0644,root,root,0755) %doc %{_javadocdir}/%{name} %files demo %defattr(0644,root,root,0755) %{_datadir}/%{name} %files manual %defattr(0644,root,root,0755) %doc dist/docs/* %changelog