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

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)
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
=b/hy
-----END PGP PUBLIC KEY BLOCK-----

View File

@ -1,7 +1,7 @@
#
# 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
#
# All modifications and additions to the file contributed by third parties
@ -20,27 +20,33 @@
%define soname 10
Name: libmicrohttpd
Version: 0.9.22
Version: 0.9.27
Release: 0
Summary: Small Embeddable HTTP Server Library
License: LGPL-2.1+
Group: Productivity/Networking/Web/Servers
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
BuildRequires: libcurl-devel
BuildRequires: libgcrypt-devel >= 1.2.4
BuildRequires: libtasn1-devel
%if 0%{?suse_version}
BuildRequires: libgnutls-devel
BuildRequires: pkg-config
%if 0%{?suse_version} >= 1230
BuildRequires: gpg-offline
%endif
%else
BuildRequires: gnutls-devel
BuildRequires: pkgconfig
%endif
Summary: Small Embeddable HTTP Server Library
License: LGPL-2.1+
Group: Productivity/Networking/Web/Servers
%description
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
@ -100,7 +106,8 @@ application, check it out.
%package devel
Requires: %{name}%{soname} = %{version}
PreReq: info
Requires(post): info
Requires(postun): info
Summary: Small Embeddable HTTP Server Library
Group: Development/Libraries/C and C++
@ -132,23 +139,32 @@ application, check it out.
%prep
%if 0%{?suse_version} >= 1230
%gpg_verify %{SOURCE1}
%endif
%setup -q
#XXX: test fail inside OBS only
%if 0%{?opensuse_bs}
%patch0 -p1
%endif
%build
%configure --disable-static \
--enable-curl
%__make %{?_smp_mflags}
%install
%makeinstall
make install DESTDIR="%buildroot"
find %{buildroot} -name "*.la" -delete
# Some tests fail due to some issue in gnutls
#check
#__make %{?_smp_mflags} check
%check
%__make %{?_smp_mflags} check
%post -n %{name}%{soname} -p /sbin/ldconfig
%postun -n %{name}%{soname} -p /sbin/ldconfig
%post devel
%if 0%{?fedora_version}
/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}
%endif
%postun -n %{name}%{soname} -p /sbin/ldconfig
%postun devel
%if 0%{?fedora_version} || 0%{?scientificlinux_version} || 0%{?centos_version}
/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}
%endif
%clean
test "%{buildroot}" != "/" && %__rm -rf "%{buildroot}"
%files -n %{name}%{soname}
%defattr(-,root,root)
%{_libdir}/libmicrohttpd.so.%{soname}
%{_libdir}/libmicrohttpd.so.%{soname}.*
%{_libdir}/%{name}.so.%{soname}
%{_libdir}/%{name}.so.%{soname}.*
%files devel
%defattr(-,root,root)
%doc ChangeLog
%{_includedir}/microhttpd.h
%{_libdir}/libmicrohttpd.so
%{_libdir}/pkgconfig/libmicrohttpd.pc
%{_infodir}/microhttpd.info*
%{_infodir}/microhttpd-tutorial.info*
%{_mandir}/man3/libmicrohttpd.3*
%{_libdir}/%{name}.so
%{_libdir}/pkgconfig/%{name}.pc
%{_infodir}/%{name}*.info*
%{_mandir}/man3/%{name}.3*
# Do NOT delete this cause I need it for Fedora & Mandriva too!
%if 0%{?fedora_version} || 0%{?scientificlinux_version} || 0%{?centos_version}