Accepting request 503381 from openSUSE:Leap:15.0:Rings:1-MinimalX

- Create curl-mini for bootstrapping (boo#1042919)

OBS-URL: https://build.opensuse.org/request/show/503381
OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/curl?expand=0&rev=192
This commit is contained in:
Pedro Monreal Gonzalez 2017-06-14 09:42:26 +00:00 committed by Git OBS Bridge
parent cb94451b5b
commit 9587b7daf9
9 changed files with 2286 additions and 57 deletions

3
curl-7.54.0.tar.lzma Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:cd6aa6039f13e0b06e0a93e1b93754f6dc07f444812bb6c32be75a8f28c4070a
size 2084912

11
curl-7.54.0.tar.lzma.asc Normal file
View File

@ -0,0 +1,11 @@
-----BEGIN PGP SIGNATURE-----
iQEzBAABCgAdFiEEJ+3q8i86vOtQ25oSXMkI/bceEsIFAlj2+VgACgkQXMkI/bce
EsL64ggArqbQBdEOW1mDk2+89N7cvUH3D464INWi+E8ub3UZagOy0819VaHw7Zkn
1ijkK5FS/FU97Ep8PHOpgAQgjMBFlolzTgRuv7rQEJLTiD77c85o/c4wMJ5rheXJ
I3hReQUUEO7B+g+aC+qca/pelRdvKw84h9YI1me0yL5+M6rqKuY8kvFhISnTm2q8
wqGbhTIoeil2nPvTXpKmcNu+3Uvv38luEGxFn+NpiiT1hGWLc82n4aLXISV3sjUu
kBwCop+H3I2/KVIMtJ/BjlDEkgqveHfClIVAaw7J89PhuVXgLQhPhTrNhY6xrs65
JW0avsaMq7vEkTwY4K4+wfbl07QVJg==
=EHd1
-----END PGP SIGNATURE-----

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:2b7af34d4900887e0b4e0a9f545b9511ff774d07151ae4976485060d3e1bdb6e
size 2101798

View File

@ -1,11 +0,0 @@
-----BEGIN PGP SIGNATURE-----
iQEzBAABCgAdFiEEJ+3q8i86vOtQ25oSXMkI/bceEsIFAllA1CcACgkQXMkI/bce
EsIvtQf8CSC7sFHaJzQY0JqrGQwbtO6DT5OShv1lEHlzg/2KC8/yp94n/U9eBkdt
7/EPnFJ6hY+CVCMSv+LvpEyNTbkqBjwtshlDQTgDiPkSt265Z3qxayITN8fdDZnJ
ylnDb9c1InprXuqLlhbtWILC25ZcC39dQFWIJcsmfd3ylml4VK7Z9tEhEN8W71MR
OaQyqSu9jjO5nTof7dVu2aAhG50EoqjuCKUuYfWIJcEM2Lo4RDnicZNrZaOyxuu2
EKeE9lmnNejgUzPN1WZ2ySocDdZzdA5CTjAbaRwAXBT840OZSUEqktrR4C2ECrTq
rbhBlEwUKuPNvGpkGymaHf6vQFAqGQ==
=gmuC
-----END PGP SIGNATURE-----

1986
curl-mini.changes Normal file

File diff suppressed because it is too large Load Diff

224
curl-mini.spec Normal file
View File

@ -0,0 +1,224 @@
#
# spec file for package curl-mini
#
# Copyright (c) 2017 SUSE LINUX 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/
#
##### WARNING: please do not edit this auto generated spec file. Use the curl.spec! #####
%define bootstrap 1
##### WARNING: please do not edit this auto generated spec file. Use the curl.spec! #####
%define mini -mini
%bcond_with mozilla_nss
# need ssl always for python-pycurl
%bcond_without openssl
%if 0%{?bootstrap}
%bcond_with testsuite
%else
%bcond_without testsuite
%endif
Name: curl-mini
Version: 7.54.0
Release: 0
Summary: A Tool for Transferring Data from URLs
License: BSD-3-Clause and MIT
Group: Productivity/Networking/Web/Utilities
Url: https://curl.haxx.se/
Source: https://curl.haxx.se/download/curl-%{version}.tar.lzma
Source2: https://curl.haxx.se/download/curl-%{version}.tar.lzma.asc
Source3: baselibs.conf
Source4: https://daniel.haxx.se/mykey.asc#/curl.keyring
Patch0: libcurl-ocloexec.patch
Patch1: dont-mess-with-rpmoptflags.diff
Patch2: curl-secure-getenv.patch
BuildRequires: libtool
BuildRequires: pkgconfig
%if !0%{?bootstrap}
BuildRequires: groff
BuildRequires: krb5-mini-devel
BuildRequires: libidn2-devel
BuildRequires: lzma
BuildRequires: openldap2-devel
BuildRequires: pkgconfig(libmetalink)
BuildRequires: pkgconfig(libnghttp2)
BuildRequires: pkgconfig(libpsl)
BuildRequires: pkgconfig(libssh2)
BuildRequires: pkgconfig(zlib)
%else
Requires: this-is-only-for-build-envs
# The -mini package is sufficient for the build hosts
Provides: curl = %{version}
%endif
Requires: libcurl4%{?mini} = %{version}
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%if %{with openssl}
BuildRequires: pkgconfig(libssl)
%endif
%if %{with mozilla_nss}
BuildRequires: mozilla-nss-devel
%endif
#BuildRequires: openssh
%if 0%{?_with_stunnel:1}
# used by the testsuite
BuildRequires: stunnel
%endif
# bug437293
%ifarch ppc64
Obsoletes: curl-64bit
%endif
%description
Curl is a client to get documents and files from or send documents to a
server using any of the supported protocols (HTTP, HTTPS, FTP, FTPS,
TFTP, DICT, TELNET, LDAP, or FILE). The command is designed to work
without user interaction or any kind of interactivity.
%package -n libcurl4%{?mini}
Summary: Version 4 of cURL shared library
Group: Productivity/Networking/Web/Utilities
%if 0%{?bootstrap}
Requires: this-is-only-for-build-envs
%endif
%description -n libcurl4%{?mini}
The cURL shared library version 4 for accessing data using different
network protocols.
%package -n libcurl%{?mini}-devel
Summary: A Tool for Transferring Data from URLs
Group: Development/Libraries/C and C++
Requires: glibc-devel
Requires: libcurl4%{?mini} = %{version}
# curl-devel (v 7.15.5) was last used in 10.2
Provides: curl-devel <= 7.15.5
Obsoletes: curl-devel < 7.16.2
%if 0%{?bootstrap}
Requires: this-is-only-for-build-envs
Provides: libcurl-devel = %{version}-%{release}
%endif
%description -n libcurl%{?mini}-devel
Curl is a client to get documents and files from or send documents to a
server using any of the supported protocols (HTTP, HTTPS, FTP, GOPHER,
DICT, TELNET, LDAP, or FILE). The command is designed to work without
user interaction or any kind of interactivity.
%prep
%setup -q -n curl-%version
%patch0
%patch1
%patch2
%build
# curl complains if macro definition is contained in CFLAGS
# see m4/xc-val-flgs.m4
CPPFLAGS="-D_FORTIFY_SOURCE=2"
CFLAGS=$(echo "%{optflags}" | sed -e 's/-D_FORTIFY_SOURCE=2//')
export CPPFLAGS CFLAGS
export CFLAGS="$CFLAGS -fPIE"
export LDFLAGS="$LDFLAGS -pie"
autoreconf -fiv
# local hack to make curl-config --libs stop printing libraries it depends on
# (currently, libtool sets link_all_deplibs=(yes|unknown) everywhere,
# will hopefully change in the future)
sed -i 's/\(link_all_deplibs=\)unknown/\1no/' configure
%configure \
--enable-ipv6 \
%if %{with openssl}
--with-ssl \
--with-ca-fallback \
--without-ca-path \
--without-ca-bundle \
%else
--without-ssl \
%if %{with mozilla_nss}
--with-nss \
%endif
%endif
%if !0%{?bootstrap}
--with-gssapi=%{_libexecdir}/mit \
--with-libidn2 \
--with-libssh2 \
--with-libmetalink \
%endif
--enable-hidden-symbols \
--disable-static \
--enable-threaded-resolver
# if this fails, the above sed hack did not work
./libtool --config | grep -q link_all_deplibs=no
# enable-hidden-symbols needs gcc4 and causes that curl exports only its API
make %{?_smp_mflags} V=1
%if %{with testsuite}
%check
pushd tests
make %{?_smp_mflags}
# make sure the testsuite runs don't race on MP machines in autobuild
if test -z "$BUILD_INCARNATION" -a -r /.buildenv; then
. /.buildenv
fi
if test -z "$BUILD_INCARNATION"; then
BUILD_INCARNATION=0
fi
base=$((8990 + $BUILD_INCARNATION * 20))
# bug940009 do not run flaky tests for any architecture
# at least test 1510 do fail for i586 and ppc64le
perl ./runtests.pl -a -b$base '!flaky' || exit
popd
%endif
%install
%make_install
rm -f %{buildroot}%{_libdir}/libcurl.la
install -Dm 0644 docs/libcurl/libcurl.m4 %{buildroot}%{_datadir}/aclocal/libcurl.m4
pushd scripts
make %{?_smp_mflags} DESTDIR=%{buildroot} install
popd
%post -n libcurl4%{?mini} -p /sbin/ldconfig
%postun -n libcurl4%{?mini} -p /sbin/ldconfig
%files
%defattr(-,root,root)
%doc README RELEASE-NOTES
%doc docs/{BUGS,FAQ,FEATURES,MANUAL,RESOURCES,TODO,TheArtOfHttpScripting}
%{_bindir}/curl
%{_datadir}/zsh/site-functions/_curl
%{_mandir}/man1/curl.1%{ext_man}
%dir %{_datadir}/zsh
%dir %{_datadir}/zsh/site-functions
%files -n libcurl4%{?mini}
%defattr(-,root,root)
%{_libdir}/libcurl.so.4*
%files -n libcurl%{?mini}-devel
%defattr(-,root,root)
%{_bindir}/curl-config
%{_includedir}/curl
%dir %{_datadir}/aclocal/
%{_datadir}/aclocal/libcurl.m4
%{_libdir}/libcurl.so
%{_libdir}/pkgconfig/libcurl.pc
%{_mandir}/man1/curl-config.1%{ext_man}
%{_mandir}/man3/*
%doc docs/libcurl/symbols-in-versions
%changelog

View File

@ -1,28 +1,7 @@
-------------------------------------------------------------------
Wed Jun 14 08:36:07 UTC 2017 - idonmez@suse.com
Tue Jun 13 13:08:21 UTC 2017 - lnussel@suse.de
- Update to 7.54.1
Changes:
* curl now shows release date in --version output
Bugfixes:
* Fixes CVE-2017-9502: default protocol drive letter buffer overflow
* openssl: fix memory leak in servercert
* curl: set a 100K buffer size by default
* nss: do not leak PKCS #11 slot while loading a key
* nss: load libnssckbi.so if no other trust is specified
* curl: use utimes instead of obsolescent utime when available
* url: fixed a memory leak on OOM while setting CURLOPT_BUFFERSIZE
* CURLOPT_BUFFERSIZE: 1024 bytes is now the minimum size
* curl: non-boolean command line args reject --no- prefixes
* telnet: Write full buffer instead of byte-by-byte
* curl: remove --environment and tool_writeenv.c
* curl: generate the --help output
* curl.1: clarify --config
* curl.1: mention --oauth2-bearer's argument
* ssh: fix memory leak in disconnect due to timeout
* redirect: store the "would redirect to" URL when max redirs is reached
* file: make speedcheck use current time for checks
* urlglob: fix division by zero
- Create curl-mini for bootstrapping (boo#1042919)
-------------------------------------------------------------------
Wed Apr 19 08:17:17 UTC 2017 - idonmez@suse.com

View File

@ -16,36 +16,52 @@
#
%bcond_without openssl
%define bootstrap 0
%define mini %nil
%bcond_with mozilla_nss
# need ssl always for python-pycurl
%bcond_without openssl
%if 0%{?bootstrap}
%bcond_with testsuite
%else
%bcond_without testsuite
%endif
Name: curl
Version: 7.54.1
Version: 7.54.0
Release: 0
Summary: A Tool for Transferring Data from URLs
License: BSD-3-Clause and MIT
Group: Productivity/Networking/Web/Utilities
Url: https://curl.haxx.se/
Source: https://curl.haxx.se/download/%{name}-%{version}.tar.lzma
Source2: https://curl.haxx.se/download/%{name}-%{version}.tar.lzma.asc
Source: https://curl.haxx.se/download/curl-%{version}.tar.lzma
Source2: https://curl.haxx.se/download/curl-%{version}.tar.lzma.asc
Source3: baselibs.conf
Source4: https://daniel.haxx.se/mykey.asc#/%{name}.keyring
Source4: https://daniel.haxx.se/mykey.asc#/curl.keyring
Patch0: libcurl-ocloexec.patch
Patch1: dont-mess-with-rpmoptflags.diff
Patch2: curl-secure-getenv.patch
BuildRequires: libtool
BuildRequires: pkgconfig
%if !0%{?bootstrap}
BuildRequires: groff
BuildRequires: krb5-mini-devel
BuildRequires: libidn2-devel
BuildRequires: libtool
BuildRequires: lzma
BuildRequires: openldap2-devel
BuildRequires: pkgconfig
BuildRequires: pkgconfig(libmetalink)
BuildRequires: pkgconfig(libnghttp2)
BuildRequires: pkgconfig(libpsl)
BuildRequires: pkgconfig(libssh2)
BuildRequires: pkgconfig(zlib)
Requires: libcurl4 = %{version}
%else
Requires: this-is-only-for-build-envs
# The -mini package is sufficient for the build hosts
Provides: curl = %{version}
%endif
Requires: libcurl4%{?mini} = %{version}
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%if %{with openssl}
BuildRequires: pkgconfig(libssl)
@ -69,31 +85,38 @@ server using any of the supported protocols (HTTP, HTTPS, FTP, FTPS,
TFTP, DICT, TELNET, LDAP, or FILE). The command is designed to work
without user interaction or any kind of interactivity.
%package -n libcurl4
%package -n libcurl4%{?mini}
Summary: Version 4 of cURL shared library
Group: Productivity/Networking/Web/Utilities
%if 0%{?bootstrap}
Requires: this-is-only-for-build-envs
%endif
%description -n libcurl4
%description -n libcurl4%{?mini}
The cURL shared library version 4 for accessing data using different
network protocols.
%package -n libcurl-devel
%package -n libcurl%{?mini}-devel
Summary: A Tool for Transferring Data from URLs
Group: Development/Libraries/C and C++
Requires: glibc-devel
Requires: libcurl4 = %{version}
Requires: libcurl4%{?mini} = %{version}
# curl-devel (v 7.15.5) was last used in 10.2
Provides: curl-devel <= 7.15.5
Obsoletes: curl-devel < 7.16.2
%if 0%{?bootstrap}
Requires: this-is-only-for-build-envs
Provides: libcurl-devel = %{version}-%{release}
%endif
%description -n libcurl-devel
%description -n libcurl%{?mini}-devel
Curl is a client to get documents and files from or send documents to a
server using any of the supported protocols (HTTP, HTTPS, FTP, GOPHER,
DICT, TELNET, LDAP, or FILE). The command is designed to work without
user interaction or any kind of interactivity.
%prep
%setup -q
%setup -q -n curl-%version
%patch0
%patch1
%patch2
@ -124,13 +147,15 @@ sed -i 's/\(link_all_deplibs=\)unknown/\1no/' configure
--with-nss \
%endif
%endif
%if !0%{?bootstrap}
--with-gssapi=%{_libexecdir}/mit \
--with-libidn2 \
--with-libssh2 \
--with-libmetalink \
%endif
--enable-hidden-symbols \
--disable-static \
--enable-threaded-resolver \
--with-libmetalink
--enable-threaded-resolver
# if this fails, the above sed hack did not work
./libtool --config | grep -q link_all_deplibs=no
@ -165,8 +190,8 @@ pushd scripts
make %{?_smp_mflags} DESTDIR=%{buildroot} install
popd
%post -n libcurl4 -p /sbin/ldconfig
%postun -n libcurl4 -p /sbin/ldconfig
%post -n libcurl4%{?mini} -p /sbin/ldconfig
%postun -n libcurl4%{?mini} -p /sbin/ldconfig
%files
%defattr(-,root,root)
@ -178,11 +203,11 @@ popd
%dir %{_datadir}/zsh
%dir %{_datadir}/zsh/site-functions
%files -n libcurl4
%files -n libcurl4%{?mini}
%defattr(-,root,root)
%{_libdir}/libcurl.so.4*
%files -n libcurl-devel
%files -n libcurl%{?mini}-devel
%defattr(-,root,root)
%{_bindir}/curl-config
%{_includedir}/curl

15
pre_checkin.sh Normal file
View File

@ -0,0 +1,15 @@
#!/bin/sh
# This script is based on libcdio_spec-prepare.sh (thanks to sbrabec@suse.cz)
# create a -mini spec for systemd for bootstrapping
ORIG_SPEC=curl
EDIT_WARNING="##### WARNING: please do not edit this auto generated spec file. Use the ${ORIG_SPEC}.spec! #####\n"
sed "s/^%define bootstrap .*$/${EDIT_WARNING}%define bootstrap 1/;
s/^%define mini .*$/${EDIT_WARNING}%define mini -mini/;
s/^Name:.*/&-mini/
" < ${ORIG_SPEC}.spec > ${ORIG_SPEC}-mini.spec
cp ${ORIG_SPEC}.changes ${ORIG_SPEC}-mini.changes
#cp ${ORIG_SPEC}-rpmlintrc ${ORIG_SPEC}-mini-rpmlintrc
osc service localrun format_spec_file