Accepting request 177876 from devel:libraries:c_c++

- drop test_tls_options if build is in OBS
  libmicrohttpd-drop-test_tls_options.patch

- More robust make install call
- Remove redundant %clean section
- Requires(pre) is useless without a %pre script

- Update to 0.9.27
  + performance improvements for POST processing
  + new API call to reduce the number of select calls (if in "external"
    select mode)
  + new function to allow applications to stop MHD from processing new
    incoming connections while finishing ongoing requests
  + fixes an initialization problem on some platforms
  + fixes bug in the postprocessor's URL parser.
  + SSL connections are no longer dropped if the system uptime is less
    than the connection timeout
  + allows creating responses with zero bytes using
    MHD_create_response_from_callback.
  + few "const" statements have been added to allow keeping more static
    strings in ROM.
  + post processor now tolerates uploads which don't contain "\r\n" and
    also returns keys which don't have a matching value
  + fixes the loss of a parameter in processing POST data from IE8 and
    Chrome. It automatically sets a "Connection: close" header if the
    client requests the connection to be closed. Finally, given both
    'chunked' encoding and 'content-length', MHD now ignores the
    'content-length' header as per the RFC
  + adds support for building libmicrohttpd for Android
  + fixes an issue with data in TLS buffers sometimes not being completely

OBS-URL: https://build.opensuse.org/request/show/177876
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/libmicrohttpd?expand=0&rev=3
This commit is contained in:
Stephan Kulow 2013-06-11 04:34:55 +00:00 committed by Git OBS Bridge
commit 402541fdbc
7 changed files with 166 additions and 28 deletions

View File

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

View File

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

Binary file not shown.

View File

@ -0,0 +1,41 @@
From: Michal Vyskocil <mvyskocil@suse.com>
Subject: Drop test_tls_options
test_tls_options fails in OBS, but not in local build. So lets skip it from OBS
builds.
/usr/bin/make check-TESTS
make[5]: Entering directory `/home/abuild/rpmbuild/BUILD/libmicrohttpd-0.9.27/src/testcurl/https'
curl version: libcurl/7.30.0 OpenSSL/1.0.1e zlib/1.2.8 libidn/1.25 libssh2/1.4.3
The following handshake should fail (and print an error message)...
curl_easy_perform failed: `SSL connect error'
Fatal error in GNU libmicrohttpd daemon.c:2717: Failed to join a thread
/bin/sh: line 5: 15991 Aborted ${dir}$tst
FAIL: test_tls_options
Index: libmicrohttpd-0.9.27/src/testcurl/https/Makefile.am
===================================================================
--- libmicrohttpd-0.9.27.orig/src/testcurl/https/Makefile.am
+++ libmicrohttpd-0.9.27/src/testcurl/https/Makefile.am
@@ -29,7 +29,6 @@ check_PROGRAMS = \
EXTRA_DIST = cert.pem key.pem tls_test_keys.h tls_test_common.h
TESTS = \
- test_tls_options \
test_https_multi_daemon \
test_https_get \
test_https_get_select \
Index: libmicrohttpd-0.9.27/src/testcurl/https/Makefile.in
===================================================================
--- libmicrohttpd-0.9.27.orig/src/testcurl/https/Makefile.in
+++ libmicrohttpd-0.9.27/src/testcurl/https/Makefile.in
@@ -58,7 +58,7 @@ check_PROGRAMS = test_tls_options$(EXEEX
test_https_get_parallel_threads$(EXEEXT) \
test_https_session_info$(EXEEXT) test_https_time_out$(EXEEXT) \
test_empty_response$(EXEEXT)
-TESTS = test_tls_options$(EXEEXT) test_https_multi_daemon$(EXEEXT) \
+TESTS = test_https_multi_daemon$(EXEEXT) \
test_https_get$(EXEEXT) test_https_get_select$(EXEEXT) \
test_https_get_parallel$(EXEEXT) \
test_https_get_parallel_threads$(EXEEXT) \

View File

@ -1,3 +1,46 @@
-------------------------------------------------------------------
Thu Jun 6 08:15:30 UTC 2013 - mvyskocil@suse.com
- drop test_tls_options if build is in OBS
libmicrohttpd-drop-test_tls_options.patch
-------------------------------------------------------------------
Wed Jun 5 16:42:38 UTC 2013 - jengelh@inai.de
- More robust make install call
- Remove redundant %clean section
- Requires(pre) is useless without a %pre script
-------------------------------------------------------------------
Thu May 16 07:42:59 UTC 2013 - mvyskocil@suse.com
- Update to 0.9.27
+ performance improvements for POST processing
+ new API call to reduce the number of select calls (if in "external"
select mode)
+ new function to allow applications to stop MHD from processing new
incoming connections while finishing ongoing requests
+ fixes an initialization problem on some platforms
+ fixes bug in the postprocessor's URL parser.
+ SSL connections are no longer dropped if the system uptime is less
than the connection timeout
+ allows creating responses with zero bytes using
MHD_create_response_from_callback.
+ few "const" statements have been added to allow keeping more static
strings in ROM.
+ post processor now tolerates uploads which don't contain "\r\n" and
also returns keys which don't have a matching value
+ fixes the loss of a parameter in processing POST data from IE8 and
Chrome. It automatically sets a "Connection: close" header if the
client requests the connection to be closed. Finally, given both
'chunked' encoding and 'content-length', MHD now ignores the
'content-length' header as per the RFC
+ adds support for building libmicrohttpd for Android
+ fixes an issue with data in TLS buffers sometimes not being completely
drained if there was no activity on the socket.
- reenabled tests and moved to %check
- add source verification using gpg
------------------------------------------------------------------- -------------------------------------------------------------------
Wed Oct 3 11:33:35 CEST 2012 - fcrozat@suse.com Wed Oct 3 11:33:35 CEST 2012 - fcrozat@suse.com

44
libmicrohttpd.keyring Normal file
View File

@ -0,0 +1,44 @@
pub 1024D/48426C7E 2006-12-18
uid Christian Grothoff <christian@grothoff.org>
sub 4096g/6433E483 2006-12-18
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v2.0.19 (GNU/Linux)
mQGiBEWG8eYRBACEKhMeV+mWFfJM7Gh8zK9fS9Lzny/uKyuTPKkrCXei6VhhzjXJ
ir4WYE93wbkfhV9H6RvjApf11+lY/8wYOclYC4YrKCURAIIQv55cIO4WiZvVv+Wp
pqnOUWOuSMthAXk+LrYeotKkXdDCexyR3Oyp5UBWZS6YdxtwDXEyxIT99wCguP+5
CIGyeqAoCcaC6X5bE6Lv0kUD/1HS2Q2Ojw84LKpzFR04pe2r6ItyKjHvwTL42lZW
AsFKheOS/7wYbwjUacu5YoqFKUwwyPj8t/cG02zUzbRV4DFToPFRDL9uNxrzVQEO
pwcv4NLGad7iKnbXSwqWsDy3zq+YOpNkhRpEWCyBvMN6Rk8lgt51ziWIx7tscG7M
5FnlBACAL9xcGnf0sIyjzW6sb/C27hL5ESpiqWDxMryJgnFChrz3esO9o2r96pmN
Er4P9T+UdzS1FdoaVd3GPucRdnnfJ80w/wax/WLP6DxPNJfOWuYigzVcWRt6b0pc
Ur38bzfgTcOcVYVr7nOBGe4Jq9NERJdoVPyjOSk5lThM32ZtsrQrQ2hyaXN0aWFu
IEdyb3Rob2ZmIDxjaHJpc3RpYW5AZ3JvdGhvZmYub3JnPohgBBMRAgAgBQJFhvHm
AhsDBgsJCAcDAgQVAggDBBYCAwECHgECF4AACgkQv2Bwi0hCbH7+fgCeNvz3W5hn
/gviUXWZa0aADfZTj4IAn0r+E6vn8qw5zvb6LrORjChNUK2buQQNBEWG8m8QEADg
HLsnKPKnZ4ktkrgj/mGq/W57tWQ6NnHGsDDC5QOwUU2c5pfFL+HMt115xI7kpOR6
3hWbG/aYSbmKUp+62+JVrN/FUkzcu3Q3NEOacQCNVYhST/4QDVeS83Rj0ahMxxoI
v31+NV93hEYlivpxznyBdaMX4KH9hH/aRGN/y/qcRylfnPsajmMyYiCCmxIEP5nm
cB4eioBvdGlce3YibfWoziBgEG/QQrtoIy5m8g9AmzqRdOVVqf09tGN3vSKP1uyQ
/WiRlz6NLAITjn9s9hpmNp8dmKMvlGC6RhG0440RywoQ+oqDJsNMOIhA1gfUzfWl
uStTK1cHaNlS49pJxdOhymSL/GTmoWmXuj+6VAKXBtjcR52lqh/dZj3SAklHmpoW
gfLGfwclzjr0LEx9dpVwjD1VXQ8OPXIRR0iaynWNtdLjueTqG1aHcetk782UxFG9
OnI7WgtxCH/vBv5nXvDuT2qRlWB1ZVKA2w3UfExJmgcR4x4T0QRc2qVjx8Xcc8G/
5DfptfNuqPvIWf8gggzRr12Rypl6RL9sYC5GB+4+eSVHiHNwRYW47G+CVtQPirDb
vLAU/2vSb2MyAHXe7lFrRqzlpwdoviBzUcRhyN2wYCNrnqumUdXuE+puevrHY8wj
CQvd9GEzXsrBonQPXbtB1orOVzSOK2WIT+jLAYlJqwADBg/7BU//L5pL6Kx6F4ii
9ys/yyVrEhIXgKcBz6uB6amrjDufAijylEpuTsIA+4uqH4utqpjkSGeQlT0gvwiQ
lhABgSaO12b2W9og8JfpkXXfl0A91lC+bGmpr4KxR1m8tO2LwTvsfQRFhzEjUizc
24abRAyPXCOHHHF/OPAmMSzMB7KYENjKAsSVgBcDstuUJoPgfDQehNI6kfZ5BNOb
qmQHY2v67PtM5ryfSsQvSP/n1cJ2NcPHUpXoerOpLU9Z0eSFV9AbVJo+Z+c2lw46
6n9nZ5X9Rm4m7Ll02nfecFx0KOnoWvoYNphCXTG59ZCE9ZRJMMS55tuySoL/RcQq
dPSpopAuwU/s6rSWORPVeJ+uPCd1ZJ56qF1rjNEBmC7Cs0lzx46gaLacuGUtGG1b
PZDadCoBQT4OjfacYAjzwfJcPORDp253w5/hOrQWZBfDZ7/qVcV8YW/WYZNRhFac
0FPB51wTZewPotb7yXZ4z+ExK/RdF/xd2AeHUtb1+24cQugytWdfNt9r26MEJayI
Nr88h//bkPqHR57XAANR4vrcTJGieVM2FscgYyCLeq89rhZwNvybJIbQGL6dhIsf
C7KU/MA4XVuJ0QRsO+aJsB6OaxyzWlsprzRoTSo3vg0sDcAwvXUgt6e8ZB1D5lTm
EHhrFnXjKdVDUb1nonGkOxzriWCISQQYEQIACQUCRYbybwIbDAAKCRC/YHCLSEJs
fsycAJ9zK2nweFaTxsLD1roEtaMpSt3HyQCfW0j5FnfdS1KuAEVlVauY2kKKQxk=
=b/hy
-----END PGP PUBLIC KEY BLOCK-----

View File

@ -1,7 +1,7 @@
# #
# spec file for package libmicrohttpd # spec file for package libmicrohttpd
# #
# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany. # Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany.
# Copyright (c) 2010,2011,2012 Stephan Kleine # Copyright (c) 2010,2011,2012 Stephan Kleine
# #
# All modifications and additions to the file contributed by third parties # All modifications and additions to the file contributed by third parties
@ -20,27 +20,33 @@
%define soname 10 %define soname 10
Name: libmicrohttpd Name: libmicrohttpd
Version: 0.9.22 Version: 0.9.27
Release: 0 Release: 0
Summary: Small Embeddable HTTP Server Library
License: LGPL-2.1+
Group: Productivity/Networking/Web/Servers
Url: http://gnunet.org/libmicrohttpd/ Url: http://gnunet.org/libmicrohttpd/
Source: http://ftpmirror.gnu.org/libmicrohttpd/%{name}-%{version}.tar.gz
Source0: http://ftpmirror.gnu.org/libmicrohttpd/%{name}-%{version}.tar.gz
Source1: http://ftpmirror.gnu.org/libmicrohttpd/%{name}-%{version}.tar.gz.sig
Source2: libmicrohttpd.keyring
#PATCH-FIX-OPENSUSE: test_tls_options fails when running in OBS, so lets drop that one
Patch0: libmicrohttpd-drop-test_tls_options.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: libcurl-devel BuildRequires: libcurl-devel
BuildRequires: libgcrypt-devel >= 1.2.4 BuildRequires: libgcrypt-devel >= 1.2.4
BuildRequires: libtasn1-devel BuildRequires: libtasn1-devel
%if 0%{?suse_version} %if 0%{?suse_version}
BuildRequires: libgnutls-devel BuildRequires: libgnutls-devel
BuildRequires: pkg-config BuildRequires: pkg-config
%if 0%{?suse_version} >= 1230
BuildRequires: gpg-offline
%endif
%else %else
BuildRequires: gnutls-devel BuildRequires: gnutls-devel
BuildRequires: pkgconfig BuildRequires: pkgconfig
%endif %endif
Summary: Small Embeddable HTTP Server Library
License: LGPL-2.1+
Group: Productivity/Networking/Web/Servers
%description %description
GNU libmicrohttpd is a small C library that is supposed to make it easy to run GNU libmicrohttpd is a small C library that is supposed to make it easy to run
an HTTP server as part of another application. GNU libmicrohttpd is free software an HTTP server as part of another application. GNU libmicrohttpd is free software
@ -100,7 +106,8 @@ application, check it out.
%package devel %package devel
Requires: %{name}%{soname} = %{version} Requires: %{name}%{soname} = %{version}
PreReq: info Requires(post): info
Requires(postun): info
Summary: Small Embeddable HTTP Server Library Summary: Small Embeddable HTTP Server Library
Group: Development/Libraries/C and C++ Group: Development/Libraries/C and C++
@ -132,23 +139,32 @@ application, check it out.
%prep %prep
%if 0%{?suse_version} >= 1230
%gpg_verify %{SOURCE1}
%endif
%setup -q %setup -q
#XXX: test fail inside OBS only
%if 0%{?opensuse_bs}
%patch0 -p1
%endif
%build %build
%configure --disable-static \ %configure --disable-static \
--enable-curl --enable-curl
%__make %{?_smp_mflags} %__make %{?_smp_mflags}
%install %install
%makeinstall make install DESTDIR="%buildroot"
find %{buildroot} -name "*.la" -delete find %{buildroot} -name "*.la" -delete
# Some tests fail due to some issue in gnutls %check
#check %__make %{?_smp_mflags} check
#__make %{?_smp_mflags} check
%post -n %{name}%{soname} -p /sbin/ldconfig %post -n %{name}%{soname} -p /sbin/ldconfig
%postun -n %{name}%{soname} -p /sbin/ldconfig
%post devel %post devel
%if 0%{?fedora_version} %if 0%{?fedora_version}
/sbin/install-info --info-dir=%{_infodir} --info-file=%{_infodir}/microhttpd.info%{ext_info} /sbin/install-info --info-dir=%{_infodir} --info-file=%{_infodir}/microhttpd.info%{ext_info}
@ -165,8 +181,6 @@ find %{buildroot} -name "*.la" -delete
%install_info --info-dir=%{_infodir} %{_infodir}/libmicrohttpd-tutorial.info%{ext_info} %install_info --info-dir=%{_infodir} %{_infodir}/libmicrohttpd-tutorial.info%{ext_info}
%endif %endif
%postun -n %{name}%{soname} -p /sbin/ldconfig
%postun devel %postun devel
%if 0%{?fedora_version} || 0%{?scientificlinux_version} || 0%{?centos_version} %if 0%{?fedora_version} || 0%{?scientificlinux_version} || 0%{?centos_version}
/sbin/install-info --delete --info-dir=%{_infodir} --info-file=%{_infodir}/microhttpd.info%{ext_info} /sbin/install-info --delete --info-dir=%{_infodir} --info-file=%{_infodir}/microhttpd.info%{ext_info}
@ -183,23 +197,19 @@ find %{buildroot} -name "*.la" -delete
%install_info_delete --info-dir=%{_infodir} %{_infodir}/libmicrohttpd-tutorial.info%{ext_info} %install_info_delete --info-dir=%{_infodir} %{_infodir}/libmicrohttpd-tutorial.info%{ext_info}
%endif %endif
%clean
test "%{buildroot}" != "/" && %__rm -rf "%{buildroot}"
%files -n %{name}%{soname} %files -n %{name}%{soname}
%defattr(-,root,root) %defattr(-,root,root)
%{_libdir}/libmicrohttpd.so.%{soname} %{_libdir}/%{name}.so.%{soname}
%{_libdir}/libmicrohttpd.so.%{soname}.* %{_libdir}/%{name}.so.%{soname}.*
%files devel %files devel
%defattr(-,root,root) %defattr(-,root,root)
%doc ChangeLog %doc ChangeLog
%{_includedir}/microhttpd.h %{_includedir}/microhttpd.h
%{_libdir}/libmicrohttpd.so %{_libdir}/%{name}.so
%{_libdir}/pkgconfig/libmicrohttpd.pc %{_libdir}/pkgconfig/%{name}.pc
%{_infodir}/microhttpd.info* %{_infodir}/%{name}*.info*
%{_infodir}/microhttpd-tutorial.info* %{_mandir}/man3/%{name}.3*
%{_mandir}/man3/libmicrohttpd.3*
# Do NOT delete this cause I need it for Fedora & Mandriva too! # Do NOT delete this cause I need it for Fedora & Mandriva too!
%if 0%{?fedora_version} || 0%{?scientificlinux_version} || 0%{?centos_version} %if 0%{?fedora_version} || 0%{?scientificlinux_version} || 0%{?centos_version}