From e2edacbe3e82fb530cf6b2c317b3fef288efd041964783cfde4d5e390c04a753 Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Wed, 5 Mar 2014 08:30:52 +0000 Subject: [PATCH 1/3] Accepting request 224602 from home:coolo:branches:openSUSE:Factory - do not run checks in parallel - they deadlock from time to time - enable make debug to debug the problem on OBS in case it reappears OBS-URL: https://build.opensuse.org/request/show/224602 OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/libmicrohttpd?expand=0&rev=30 --- libmicrohttpd.changes | 6 ++++++ libmicrohttpd.spec | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/libmicrohttpd.changes b/libmicrohttpd.changes index 3725560..6d66c5d 100644 --- a/libmicrohttpd.changes +++ b/libmicrohttpd.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Tue Mar 4 12:42:30 UTC 2014 - coolo@suse.com + +- do not run checks in parallel - they deadlock from time to time +- enable make debug to debug the problem on OBS in case it reappears + ------------------------------------------------------------------- Mon Jan 27 19:52:38 UTC 2014 - sleep_walker@suse.cz diff --git a/libmicrohttpd.spec b/libmicrohttpd.spec index ec424a5..60848bf 100644 --- a/libmicrohttpd.spec +++ b/libmicrohttpd.spec @@ -146,7 +146,7 @@ make install DESTDIR="%buildroot" find %{buildroot} -name "*.la" -delete %check -%__make %{?_smp_mflags} check +%__make -d -j1 check %post -n %{libmicrohttpd} -p /sbin/ldconfig From 9a0ab82a97d480be7946073c2941ff2388160ce28934d7e7ccc7727f1257c03b Mon Sep 17 00:00:00 2001 From: Dirk Mueller Date: Fri, 25 Apr 2014 10:07:51 +0000 Subject: [PATCH 2/3] - remove dependency on gpg-offline, source validator already does that OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/libmicrohttpd?expand=0&rev=31 --- libmicrohttpd.changes | 6 ++++++ libmicrohttpd.spec | 6 ------ 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/libmicrohttpd.changes b/libmicrohttpd.changes index 6d66c5d..b9e2835 100644 --- a/libmicrohttpd.changes +++ b/libmicrohttpd.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Thu Apr 24 07:32:10 UTC 2014 - dmueller@suse.com + +- remove dependency on gpg-offline, source validator already + does that + ------------------------------------------------------------------- Tue Mar 4 12:42:30 UTC 2014 - coolo@suse.com diff --git a/libmicrohttpd.spec b/libmicrohttpd.spec index 60848bf..e34ec3f 100644 --- a/libmicrohttpd.spec +++ b/libmicrohttpd.spec @@ -41,9 +41,6 @@ BuildRequires: libtasn1-devel BuildRequires: libgnutls-devel BuildRequires: libopenssl-devel BuildRequires: pkg-config -%if 0%{?suse_version} >= 1230 -BuildRequires: gpg-offline -%endif %else BuildRequires: gnutls-devel BuildRequires: pkgconfig @@ -126,9 +123,6 @@ localhost. * No error handling for curl requests. %prep -%if 0%{?suse_version} >= 1230 -%gpg_verify %{SOURCE1} -%endif %setup -q #XXX: test fail inside OBS only From 5248edd6e66eb83113f036a6c3852d1e60eaf72881545afc8a42c31ad3bb491e Mon Sep 17 00:00:00 2001 From: Dirk Mueller Date: Fri, 25 Apr 2014 10:40:05 +0000 Subject: [PATCH 3/3] - Version bump to 0.9.34: * Drop tls patch seems to build fine * Remove code for other distros we build against 13.1+ anywhere within obs and it just clutters the spec. * Explicitely name switches in configure to make sure things go the desired way. * Fix install of libmicrohttpspdy pc file. + Added support for TCP FASTOPEN. + Removed dependency on plibc for simpler compilation for W32. + Added configure option "--disable-pipes" to use socketpairs instead of pipes for signalling to child threads. Pipes are always disabled on W32. + Corrected some uses of 'int' vs. 'size_t'. + MHD_USE_DUAL_STACK in libmicrohttpd currently just *inhibits setting* the IPV6_V6ONLY socket option, but per Microsoft's documentation the default on Windows is that this is enabled, thus MHD_USE_DUAL_STACK will not work (since it leaves the default). libmicrohttpd should probably just unconditionally set IPV6_V6ONLY to the desired value when the option is available. + Allow Keep-Alive with HTTP 1.0 (if explicitly requested), and automatically set "Connection: Keep-Alive" in response in this case as well. + Adding explicit annotations to hide symbols that are not for export in the C code (gcc 4.0 or higher only). + Adding a few lines to avoid warnings from picky compilers. - Added patches: * libmicrohttpd-0.9.34-spdy-pc.patch - Dropped patches: * libmicrohttpd-drop-test_tls_options.patch OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/libmicrohttpd?expand=0&rev=32 --- libmicrohttpd-0.9.33.tar.gz | 3 - libmicrohttpd-0.9.33.tar.gz.sig | Bin 72 -> 0 bytes libmicrohttpd-0.9.34-spdy-pc.patch | 21 +++++ libmicrohttpd-0.9.34.tar.gz | 3 + libmicrohttpd-0.9.34.tar.gz.sig | Bin 0 -> 72 bytes libmicrohttpd-drop-test_tls_options.patch | 46 ---------- libmicrohttpd.changes | 34 +++++++ libmicrohttpd.spec | 103 ++++++++-------------- 8 files changed, 95 insertions(+), 115 deletions(-) delete mode 100644 libmicrohttpd-0.9.33.tar.gz delete mode 100644 libmicrohttpd-0.9.33.tar.gz.sig create mode 100644 libmicrohttpd-0.9.34-spdy-pc.patch create mode 100644 libmicrohttpd-0.9.34.tar.gz create mode 100644 libmicrohttpd-0.9.34.tar.gz.sig delete mode 100644 libmicrohttpd-drop-test_tls_options.patch diff --git a/libmicrohttpd-0.9.33.tar.gz b/libmicrohttpd-0.9.33.tar.gz deleted file mode 100644 index aa9b4dd..0000000 --- a/libmicrohttpd-0.9.33.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:d9587e8497548f820650cd607daf3615ea3272435779378983032c570f1cd559 -size 1104292 diff --git a/libmicrohttpd-0.9.33.tar.gz.sig b/libmicrohttpd-0.9.33.tar.gz.sig deleted file mode 100644 index a910a0232d5b42275089e77652b917cd0d507459891c733c6275184a26abe47a..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 72 zcmV-O0Jr~$Mg#y60ssaD0#dcYNB{~65Wiq>i%3Fje!NQnpJ8_moUX!*nasx#qx-oB el6z;w-2k6JVSfVjn7GYg#6EldrR{GJ@j>sV{2yij diff --git a/libmicrohttpd-0.9.34-spdy-pc.patch b/libmicrohttpd-0.9.34-spdy-pc.patch new file mode 100644 index 0000000..f02f66c --- /dev/null +++ b/libmicrohttpd-0.9.34-spdy-pc.patch @@ -0,0 +1,21 @@ +diff -urN libmicrohttpd-0.9.34/configure.ac libmicrohttpd-0.9.34-spdy-pc/configure.ac +--- libmicrohttpd-0.9.34/configure.ac 2014-02-24 23:13:03.000000000 +0100 ++++ libmicrohttpd-0.9.34-spdy-pc/configure.ac 2014-03-13 16:47:58.733989222 +0100 +@@ -640,6 +640,7 @@ + + AC_CONFIG_FILES([ + libmicrohttpd.pc ++libmicrospdy.pc + Makefile + contrib/Makefile + doc/Makefile +diff -urN libmicrohttpd-0.9.34/Makefile.am libmicrohttpd-0.9.34-spdy-pc/Makefile.am +--- libmicrohttpd-0.9.34/Makefile.am 2013-05-05 20:48:18.000000000 +0200 ++++ libmicrohttpd-0.9.34-spdy-pc/Makefile.am 2014-03-13 16:35:04.883473986 +0100 +@@ -3,5 +3,5 @@ + EXTRA_DIST = acinclude.m4 libmicrohttpd.pc.in libmicrospdy.pc.in + + pkgconfigdir = $(libdir)/pkgconfig +-pkgconfig_DATA = libmicrohttpd.pc ++pkgconfig_DATA = libmicrohttpd.pc libmicrospdy.pc + diff --git a/libmicrohttpd-0.9.34.tar.gz b/libmicrohttpd-0.9.34.tar.gz new file mode 100644 index 0000000..ca27637 --- /dev/null +++ b/libmicrohttpd-0.9.34.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:29a2bfd4fd2ddf60c756b8c283291a134898e3cc143843be421a040be1b25a88 +size 1141536 diff --git a/libmicrohttpd-0.9.34.tar.gz.sig b/libmicrohttpd-0.9.34.tar.gz.sig new file mode 100644 index 0000000000000000000000000000000000000000000000000000000000000000..e6f4bf3c38ac8b435b6fbd742e001f8336f6d6b09df5c49d6e6f2410179bf73a GIT binary patch literal 72 zcmV-O0Jr~$Mg#y60ssaD0#ggg(*Ozy5Wiq>i%3Fjez_$8o-)hJ95a*e&C#AjQv^P6 eAoGMB -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.33/src/testcurl/https/Makefile.am -=================================================================== ---- libmicrohttpd-0.9.33.orig/src/testcurl/https/Makefile.am -+++ libmicrohttpd-0.9.33/src/testcurl/https/Makefile.am -@@ -30,10 +30,8 @@ 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_sni \ - test_https_get_select \ - test_https_get_parallel \ - test_https_get_parallel_threads \ -Index: libmicrohttpd-0.9.33/src/testcurl/https/Makefile.in -=================================================================== ---- libmicrohttpd-0.9.33.orig/src/testcurl/https/Makefile.in -+++ libmicrohttpd-0.9.33/src/testcurl/https/Makefile.in -@@ -58,8 +58,8 @@ 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) \ -- test_https_get$(EXEEXT) test_https_sni$(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) \ diff --git a/libmicrohttpd.changes b/libmicrohttpd.changes index b9e2835..26d36c5 100644 --- a/libmicrohttpd.changes +++ b/libmicrohttpd.changes @@ -4,6 +4,40 @@ Thu Apr 24 07:32:10 UTC 2014 - dmueller@suse.com - remove dependency on gpg-offline, source validator already does that +------------------------------------------------------------------- +Mon Apr 21 06:44:06 UTC 2014 - tchvatal@suse.com + +- Version bump to 0.9.34: + * Drop tls patch seems to build fine + * Remove code for other distros we build against 13.1+ anywhere + within obs and it just clutters the spec. + * Explicitely name switches in configure to make sure things go + the desired way. + * Fix install of libmicrohttpspdy pc file. + + Added support for TCP FASTOPEN. + + Removed dependency on plibc for simpler compilation for W32. + + Added configure option "--disable-pipes" to use socketpairs + instead of pipes for signalling to child threads. Pipes are + always disabled on W32. + + Corrected some uses of 'int' vs. 'size_t'. + + MHD_USE_DUAL_STACK in libmicrohttpd currently just *inhibits + setting* the IPV6_V6ONLY socket option, but per Microsoft's + documentation the default on Windows is that this is enabled, thus + MHD_USE_DUAL_STACK will not work (since it leaves the + default). libmicrohttpd should probably just unconditionally set + IPV6_V6ONLY to the desired value when the option is available. + + Allow Keep-Alive with HTTP 1.0 (if explicitly requested), + and automatically set "Connection: Keep-Alive" in response + in this case as well. + + Adding explicit annotations to hide symbols that are not for + export in the C code (gcc 4.0 or higher only). + + Adding a few lines to avoid warnings from picky compilers. + +- Added patches: + * libmicrohttpd-0.9.34-spdy-pc.patch +- Dropped patches: + * libmicrohttpd-drop-test_tls_options.patch + ------------------------------------------------------------------- Tue Mar 4 12:42:30 UTC 2014 - coolo@suse.com diff --git a/libmicrohttpd.spec b/libmicrohttpd.spec index e34ec3f..5b6e27b 100644 --- a/libmicrohttpd.spec +++ b/libmicrohttpd.spec @@ -19,37 +19,34 @@ %global libmicrohttpd libmicrohttpd10 %global libmicrospdy libmicrospdy0 - Name: libmicrohttpd -Version: 0.9.33 +Version: 0.9.34 Release: 0 Summary: Small Embeddable HTTP Server Library License: LGPL-2.1+ Group: Productivity/Networking/Web/Servers Url: http://gnunet.org/libmicrohttpd/ - 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 +# PATCH-FIX-UPSTREAM: install spdy pc file, from Fedora and already upstream applied +Patch0: libmicrohttpd-0.9.34-spdy-pc.patch +# Autotools only due to above patch +BuildRequires: autoconf +BuildRequires: automake BuildRequires: libcurl-devel BuildRequires: libgcrypt-devel >= 1.2.4 -BuildRequires: libtasn1-devel -%if 0%{?suse_version} BuildRequires: libgnutls-devel -BuildRequires: libopenssl-devel +BuildRequires: libtasn1-devel +BuildRequires: libtool +BuildRequires: openssl-devel BuildRequires: pkg-config -%else -BuildRequires: gnutls-devel -BuildRequires: pkgconfig -%endif +BuildRoot: %{_tmppath}/%{name}-%{version}-build %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 -and part of the GNU project. Key features that distinguish libmicrohttpd from +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 +and part of the GNU project. Key features that distinguish libmicrohttpd from other projects are: * C library: fast and small @@ -60,20 +57,19 @@ other projects are: * Support for incremental processing of POST data * Creates binary of only 30k (without TLS/SSL support) * Three different threading models - * Supported platforms include GNU/Linux, FreeBSD, OpenBSD, NetBSD, OS X, W32, + * Supported platforms include GNU/Linux, FreeBSD, OpenBSD, NetBSD, OS X, W32, Symbian and z/OS * Optional support for SSL3 and TLS (requires libgcrypt) -libmicrohttpd was started because the author needed an easy way to add a concurrent -HTTP server to other projects. Existing alternatives were either non-free, not -reentrant, standalone, of terrible code quality or a combination thereof. Do not -use libmicrohttpd if you are looking for a standalone http server, there are many -other projects out there that provide that kind of functionality already. However, -if you want to be able to serve simple WWW pages from within your C or C++ +libmicrohttpd was started because the author needed an easy way to add a concurrent +HTTP server to other projects. Existing alternatives were either non-free, not +reentrant, standalone, of terrible code quality or a combination thereof. Do not +use libmicrohttpd if you are looking for a standalone http server, there are many +other projects out there that provide that kind of functionality already. However, +if you want to be able to serve simple WWW pages from within your C or C++ application, check it out. %package -n %{libmicrohttpd} - Summary: Small embeddable http server library Group: System/libraries @@ -81,7 +77,6 @@ Group: System/libraries Shared library for %{name} (%{summary}). %package -n %{libmicrospdy} - Summary: Small embeddable http server library Group: System/libraries @@ -94,20 +89,20 @@ and implementation of SPDY server. libmicrospdy currently only implements partially version 3 of SPDY. %package devel +Summary: Small Embeddable HTTP Server Library +Group: Development/Libraries/C and C++ Requires: %{libmicrohttpd} = %{version} Requires(post): info Requires(postun): info -Summary: Small Embeddable HTTP Server Library -Group: Development/Libraries/C and C++ %description devel Headers, pkg-config files, so link and other development files for %{name} (%{summary}). %package -n libmicrospdy-devel -Requires: %{libmicrospdy} = %{version} Summary: Small Embeddable HTTP Server Library Group: Development/Libraries/C and C++ +Requires: %{libmicrospdy} = %{version} %description -n libmicrospdy-devel Headers for libmicrospdy (%{summary}). @@ -124,23 +119,26 @@ localhost. %prep %setup -q - -#XXX: test fail inside OBS only -%if 0%{?opensuse_bs} %patch0 -p1 -%endif +autoreconf -vi %build -%configure --disable-static \ - --enable-curl -%__make %{?_smp_mflags} +%configure \ + --enable-bauth --enable-dauth \ + --enable-epoll \ + --enable-messages --enable-postprocessor \ + --enable-https --enable-gnutls \ + --disable-static \ + --enable-curl \ + --enable-spdy +make %{?_smp_mflags} %install -make install DESTDIR="%buildroot" -find %{buildroot} -name "*.la" -delete +make DESTDIR=%{buildroot} install %{?_smp_mflags} +find %{buildroot} -type f -name "*.la" -delete -print %check -%__make -d -j1 check +make -d -j1 check %post -n %{libmicrohttpd} -p /sbin/ldconfig @@ -151,36 +149,13 @@ find %{buildroot} -name "*.la" -delete %postun -n %{libmicrospdy} -p /sbin/ldconfig %post devel -%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-tutorial.info%{ext_info} -%endif -%if 0%{?mandriva_version} -%_install_info libmicrohttpd.info -%_install_info libmicrohttpd-tutorial.info -%endif - -%if 0%{?suse_version} %install_info --info-dir=%{_infodir} %{_infodir}/libmicrohttpd.info%{ext_info} %install_info --info-dir=%{_infodir} %{_infodir}/libmicrohttpd-tutorial.info%{ext_info} -%endif %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} -/sbin/install-info --delete --info-dir=%{_infodir} --info-file=%{_infodir}/microhttpd-tutorial.info%{ext_info} -%endif - -%if 0%{?mandriva_version} -%_remove_install_info libmicrohttpd.info -%_remove_install_info libmicrohttpd-tutorial.info -%endif - -%if 0%{?suse_version} %install_info_delete --info-dir=%{_infodir} %{_infodir}/libmicrohttpd.info%{ext_info} %install_info_delete --info-dir=%{_infodir} %{_infodir}/libmicrohttpd-tutorial.info%{ext_info} -%endif %files -n %{libmicrohttpd} %defattr(-,root,root) @@ -203,14 +178,10 @@ find %{buildroot} -name "*.la" -delete %defattr(-,root,root) %{_includedir}/microspdy.h %{_libdir}/libmicrospdy.so +%{_libdir}/pkgconfig/libmicrospdy.pc %files -n microspdy2http %defattr(-,root,root) %attr(0755,root,root) %{_bindir}/microspdy2http -# Do NOT delete this cause I need it for Fedora & Mandriva too! -%if 0%{?fedora_version} || 0%{?scientificlinux_version} || 0%{?centos_version} -%exclude %{_infodir}/dir -%endif - %changelog