#Build with system provided openssl %define SSL 1 %define name curl %define version 7.56.1 %define release 2 %define _libdir64 %{_prefix}/lib64 %define curlroot %{_builddir}/%{name}-%{version} Summary: get a file from a FTP or HTTP server. Name: %{name} Version: %{version} Release: %{release} License: MIT/X derivate Vendor: Daniel Stenberg Group: Applications/Internet Source: %{name}-%{version}.tar.gz URL: http://curl.haxx.se/ Provides: curl BuildRoot: %{_tmppath}/%{name}-%{version}-root Prefix: %{_prefix} Patch0:curl-7.55.1-aix-poll.patch BuildRequires: ca-certificates >= 2016.10.7 BuildRequires: libssh2-devel >= 1.8.0-1 #BuildRequires: zlib-devel >= 1.2.3-7 Requires: libssh2 >= 1.8.0-1 Requires: ca-certificates >= 2016.10.7 #Requires: zlib >= 1.2.3-7 %description curl is a client to get documents/files from servers, using any of the supported protocols. The command is designed to work without user interaction or any kind of interactivity. curl offers many useful tricks like proxy support, user authentication, ftp upload, HTTP post, file transfer resume and more. %if %{SSL} == 1 Note: this version is compiled with SSL support. %else Note: this version is compiled without SSL support. %endif %package devel Summary: Development files for the curl libary Group: Development/Libraries #Requires: zlib-devel >= 1.2.3-7 Requires: libssh2-devel >= 1.8.0-1 Requires: curl = %{version} Provides: curl-devel %description devel libcurl is the core engine of curl; this packages contains all the libs, headers, and manual pages to develop applications using libcurl. %define DEFCC cc %prep rm -rf %{curlroot} %setup -q %patch0 -p0 rm -rf /tmp/%{name}-%{version}-32bit cp -pr . /tmp/%{name}-%{version}-32bit rm -fr * mv /tmp/%{name}-%{version}-32bit 32bit cp -pr 32bit 64bit %build export AR="/usr/bin/ar -X32_64" # Use the default compiler for this platform - gcc otherwise if [[ -z "$CC" ]] then if test "X`type %{DEFCC} 2>/dev/null`" != 'X'; then export CC=%{DEFCC} else export CC=gcc fi fi # build on 64bit mode cd %{curlroot}/64bit && (if [ -f configure.in ]; then mv -f configure.in configure.in. rpm; fi) export OBJECT_MODE=64 export CFLAGS="-maix64 -I/opt/freeware/include" export LDFLAGS="-L/opt/freeware/lib64 -L/opt/freeware/lib -Wl,-blibpath:/opt/freeware/lib64:/opt/freeware/lib:/usr/lib:/lib" ./configure --prefix=%{prefix} --libdir=%{_libdir64} --mandir=%{_mandir} --enable-shared --enable-static --enable-manual --with-libssh2=%{_libdir64}\ %if %{SSL} == 1 --with-ssl \ --with-ca-path=/var/ssl/certs/ %else --without-ssl %endif make # build on 32bit mode export OBJECT_MODE=32 export CFLAGS="-maix32 -I/opt/freeware/include" export LDFLAGS="-L/opt/freeware/lib -L/opt/freeware/lib -Wl,-blibpath:/opt/freeware/lib:/opt/freeware/lib:/usr/lib:/lib" cd %{curlroot}/32bit && (if [ -f configure.in ]; then mv -f configure.in configure.in. rpm; fi) ./configure --prefix=%{prefix} --libdir=%{_libdir} --mandir=%{_mandir} --enable-shared --enable-static --enable-manual --with-libssh2=%{_libdir} \ %if %{SSL} == 1 --with-ssl \ --with-ca-path=/var/ssl/certs/ %else --without-ssl %endif make %install [ "%{buildroot}" != "/" ] && rm -rf %{buildroot} # install on 64bit mode cd 64bit export OBJECT_MODE=64 make DESTDIR=%{buildroot} install-strip ( cd ${RPM_BUILD_ROOT}/%{prefix}/bin for fic in $(ls -1| grep -v -e _32 -e _64) do mv $fic "$fic"_64 done ) # install on 32bit mode cd ../32bit export OBJECT_MODE=32 make DESTDIR=%{buildroot} install-strip ( cd ${RPM_BUILD_ROOT}/%{prefix}/bin for fic in $(ls -1| grep -v -e _32 -e _64) do mv $fic "$fic"_32 ln -sf "$fic"_64 $fic done ) ( cd $RPM_BUILD_ROOT # same as %{buildroot} for dir in bin include do mkdir -p usr/$dir cd usr/$dir ln -sf ../..%{prefix}/$dir/* . cd - done mkdir -p usr/lib cd usr/lib ln -sf ../..%{prefix}/lib/* . cd - mkdir -p usr/lib64 cd usr/lib64 ln -sf ../..%{prefix}/lib64/* . cd - ) %pre rm -rf /usr/include/curl %clean [ "%{buildroot}" != "/" ] && rm -rf %{buildroot} %files %defattr(-,root,system) %doc 32bit/CHANGES 32bit/README* 32bit/COPYING %doc 32bit/docs/BUGS 32bit/docs/FAQ 32bit/docs/FEATURES %doc 32bit/docs/MANUAL 32bit/docs/RESOURCES %doc 32bit/docs/TheArtOfHttpScripting 32bit/docs/TODO %attr(0755,root,system) %{_bindir}/curl %attr(0755,root,system) %{_bindir}/curl_64 %attr(0755,root,system) %{_bindir}/curl_32 %attr(0644,root,system) %{_mandir}/man1/curl.1* %{_libdir}/libcurl.a %{_libdir64}/libcurl.a %if %{SSL} == 1 %doc 32bit/docs/SSLCERTS %endif /usr/bin/curl /usr/bin/curl_32 /usr/bin/curl_64 /usr/lib/libcurl.a /usr/lib64/libcurl.a %files devel %defattr(-,root,system) %doc 32bit/docs/examples/*.c 32bit/docs/examples/Makefile.example %doc docs/BINDINGS docs/INTERNALS docs/LICENSE-MIXING %attr(0755,root,system) %{_bindir}/curl-config %attr(0755,root,system) %{_bindir}/curl-config_32 %attr(0755,root,system) %{_bindir}/curl-config_64 %attr(0644,root,system) %{_mandir}/man1/curl-config.1* %attr(0644,root,system) %{_mandir}/man3/* %attr(0644,root,system) %{_includedir}/curl/* %{_datadir}/aclocal/libcurl.m4 %{_libdir}/libcurl.la %{_libdir64}/libcurl.la %{_libdir}/pkgconfig/*.pc %{_libdir64}/pkgconfig/*.pc /usr/bin/curl-config /usr/include/ /usr/lib/libcurl.la /usr/lib64/libcurl.la %changelog * Tue Jan 23 2018 Ravi Hirekurabar 7.56.1-2 - Built with ssh2 for sftp support and 64bit version * Fri Nov 03 2017 Ravi Hirekurabar 7.56.1-1 - Updated to 7.56.1 * Fri Sep 15 2017 Ravi Hirekurabar 7.55.1-1 - Updated to 7.55.1 built with patch: curl-7.55.1-aix-poll.patch * Fri Mar 17 2017 Sangamesh Mallayya 7.53.1-1 - Update to 7.53. Includes CVE fix CVE-2017-2629. * Tue Jan 25 2017 Ravi Hirekurabar 7.52.1-1 - Update to 7.52.1 to fix security vulnerability * Tue Jan 24 2017 Ravi Hirekurabar 7.51.0-2 - Rebuilt with ca-certificate package. * Thu Nov 03 2016 Nitish K Mishra 7.51.0-1 - Updated to latest version due to security vulnerability * Tue Jun 28 2016 Ravi Hirekurabar 7.44.0-2 - Built with certificate bundle ca-bundle.crt * Thu Mar 21 2016 Sangamesh Mallayya 7.44.0-1 - Update to 7.44.0-1.