1 |
%define major 4 |
2 |
%define libname %mklibname %{name} %{major} |
3 |
%define develname %mklibname %{name} -d |
4 |
|
5 |
Summary: Gets a file from a FTP, GOPHER or HTTP server |
6 |
Name: curl |
7 |
Version: 7.28.1 |
8 |
%define subrel 6 |
9 |
Release: %mkrel 6 |
10 |
Epoch: 1 |
11 |
License: BSD-like |
12 |
Group: Networking/Other |
13 |
URL: http://curl.haxx.se |
14 |
Source0: http://curl.haxx.se/download/%{name}-%{version}.tar.lzma |
15 |
Source1: http://curl.haxx.se/download/%{name}-%{version}.tar.lzma.asc |
16 |
Patch3: %{name}-7.27.0-privlibs.patch |
17 |
Patch4: %{name}-7.26.0-multilib.patch |
18 |
Patch6: %{name}-7.26.0-do-not-build-examples.patch |
19 |
# http://curl.haxx.se/mail/lib-2012-12/0247.html |
20 |
Patch7: curl-7.28.1-automake-1.13.patch |
21 |
# http://curl.haxx.se/docs/adv_20130206.html |
22 |
Patch8: curl-7.28.1-CVE-2013-0249.patch |
23 |
# http://curl.haxx.se/docs/adv_20130412.html |
24 |
Patch9: curl-7.29.0-CVE-2013-1944.patch |
25 |
# http://curl.haxx.se/docs/adv_20130622.html |
26 |
Patch10: curl-7.30.0-CVE-2013-2174.patch |
27 |
# http://curl.haxx.se/docs/adv_20131115.html |
28 |
Patch11: curl-7.32.0-CVE-2013-4545.patch |
29 |
# http://curl.haxx.se/docs/adv_20140129.html |
30 |
Patch12: curl-7.35.0-CVE-2014-0015.patch |
31 |
# http://curl.haxx.se/docs/adv_20140326A.html |
32 |
Patch13: libcurl-bad-reuse.patch |
33 |
# http://curl.haxx.se/docs/adv_20140326B.html |
34 |
Patch14: libcurl-reject-cert-ip-wildcards.patch |
35 |
# http://curl.haxx.se/docs/adv_20140910A.html |
36 |
Patch15: curl-7.28.1-CVE-2014-3613.patch |
37 |
# http://curl.haxx.se/docs/adv_20141105.html |
38 |
Patch16: curl-7.28.1-CVE-2014-3707.patch |
39 |
BuildRequires: groff-for-man |
40 |
BuildRequires: openssl-devel |
41 |
BuildRequires: zlib-devel |
42 |
BuildRequires: libidn-devel |
43 |
BuildRequires: libssh2-devel |
44 |
BuildRequires: openldap-devel |
45 |
BuildRequires: krb5-devel |
46 |
#BuildRequires: c-ares-devel |
47 |
# (misc) required for testing |
48 |
BuildRequires: stunnel |
49 |
Provides: webfetch |
50 |
Requires: %{libname} = %{epoch}:%{version}-%{release} |
51 |
|
52 |
%description |
53 |
curl is a client to get documents/files from servers, using any of the |
54 |
supported protocols. The command is designed to work without user |
55 |
interaction or any kind of interactivity. |
56 |
|
57 |
curl offers a busload of useful tricks like proxy support, user |
58 |
authentication, ftp upload, HTTP post, file transfer resume and more. |
59 |
|
60 |
This version is compiled with SSL (https) support. |
61 |
|
62 |
%package -n %{libname} |
63 |
Summary: A library of functions for file transfer |
64 |
Group: Networking/Other |
65 |
Requires: rootcerts >= 1:20070713.00 |
66 |
|
67 |
%description -n %{libname} |
68 |
libcurl is a library of functions for sending and receiving files through |
69 |
various protocols, including http and ftp. |
70 |
|
71 |
You should install this package if you plan to use any applications that |
72 |
use libcurl. |
73 |
|
74 |
%package -n %{develname} |
75 |
Summary: Header files and static libraries for libcurl |
76 |
Group: Development/C |
77 |
Requires: %{libname} = %{epoch}:%{version}-%{release} |
78 |
Provides: %{name}-devel = %{epoch}:%{version}-%{release} |
79 |
Provides: lib%{name}-devel = %{epoch}:%{version}-%{release} |
80 |
Provides: libcurl%{major}-devel = %{epoch}:%{version}-%{release} |
81 |
Obsoletes: %mklibname %{name} 4 -d |
82 |
Provides: %mklibname %{name} 4 -d |
83 |
|
84 |
%description -n %{develname} |
85 |
libcurl is a library of functions for sending and receiving files through |
86 |
various protocols, including http and ftp. |
87 |
|
88 |
You should install this package if you wish to develop applications that |
89 |
use libcurl. |
90 |
|
91 |
%package examples |
92 |
Summary: Example files for %{name} development |
93 |
Group: Development/C |
94 |
BuildArch: noarch |
95 |
Requires: %{name}-devel = %{epoch}:%{version}-%{release} |
96 |
|
97 |
%description examples |
98 |
Example files for %{name} development. |
99 |
|
100 |
%prep |
101 |
%setup -q |
102 |
%apply_patches |
103 |
|
104 |
%build |
105 |
autoreconf -fiv |
106 |
|
107 |
%configure2_5x \ |
108 |
--disable-static \ |
109 |
--with-ssl \ |
110 |
--without-gnutls \ |
111 |
--with-zlib \ |
112 |
--with-lber-lib=lber \ |
113 |
--with-libidn \ |
114 |
--with-ssh2 \ |
115 |
--with-random \ |
116 |
--enable-hidden-symbols \ |
117 |
--enable-optimize \ |
118 |
--enable-nonblocking \ |
119 |
--enable-thread \ |
120 |
--enable-crypto-auth \ |
121 |
--enable-libgcc \ |
122 |
--enable-ldaps \ |
123 |
--enable-ipv6 \ |
124 |
--with-ca-bundle=%{_sysconfdir}/pki/tls/certs/ca-bundle.crt \ |
125 |
--with-gssapi=%{_prefix} \ |
126 |
--disable-ares |
127 |
|
128 |
# we don't want them in curl-examples: |
129 |
rm -r docs/examples/.deps |
130 |
|
131 |
%make |
132 |
|
133 |
# disable tests that want to connect/run sshd, which is quite impossible |
134 |
%check |
135 |
make test TEST_Q='-a -p -v !SCP !SFTP !SOCKS4 !SOCKS5 !TFTP !198 !172' |
136 |
|
137 |
%install |
138 |
rm -rf %{buildroot} |
139 |
%makeinstall_std |
140 |
|
141 |
# [july 2008] HACK. to be replaced by a real fix |
142 |
sed -i -e 's!-Wl,--as-needed!!' -e 's!-Wl,--no-undefined!!' %{buildroot}%{_bindir}/%{name}-config |
143 |
sed -i -e 's!-Wl,--as-needed!!' -e 's!-Wl,--no-undefined!!' %{buildroot}%{_libdir}/pkgconfig/*.pc |
144 |
|
145 |
%multiarch_binaries %{buildroot}%{_bindir}/%{name}-config |
146 |
|
147 |
# (tpg) use rootcerts's certificates #35917 |
148 |
find %{buildroot} -name ca-bundle.crt -exec rm -f '{}' \; |
149 |
|
150 |
find %{buildroot} -name *.la -delete |
151 |
|
152 |
%files |
153 |
%defattr(-,root,root) |
154 |
%{_bindir}/curl |
155 |
%{_mandir}/man1/curl.1* |
156 |
%{_mandir}/man1/mk-ca-bundle.1* |
157 |
|
158 |
%files -n %{libname} |
159 |
%defattr(-,root,root) |
160 |
%{_libdir}/*.so.%{major}* |
161 |
|
162 |
%files -n %{develname} |
163 |
%defattr(-,root,root) |
164 |
%doc docs/BUGS docs/KNOWN_BUGS docs/CONTRIBUTE docs/FAQ CHANGES |
165 |
%doc docs/FEATURES docs/RESOURCES docs/TODO docs/THANKS docs/INTERNALS |
166 |
%{_bindir}/curl-config |
167 |
%{multiarch_bindir}/curl-config |
168 |
%{_libdir}/libcurl.so |
169 |
%{_includedir}/curl |
170 |
%{_libdir}/pkgconfig/*.pc |
171 |
%{_mandir}/man1/curl-config.1* |
172 |
%{_mandir}/man3/* |
173 |
|
174 |
%files examples |
175 |
%defattr(-,root,root,644) |
176 |
%doc docs/examples |