libmicrohttpd/libmicrohttpd.spec

144 lines
4.9 KiB
RPMSpec
Raw Normal View History

#
# spec file for package libmicrohttpd
#
Accepting request 673177 from home:mnhauke - Update to version 0.9.63: * Extended test_get to test URI logging and query string parsing to avoid regression fixed in previous patch in the future. * Preliminary patch for the raw query string issue, to be tested. * Added minimal example for how to compress HTTP response. * Check for GNUTLS_E_AGAIN instead of GNUTLS_E_INTERRUPTED when giving up on a TLS connection. -LM/CG * Fix connection timeout logic if in thread-per-connection mode the working thread takes longer than the timeout to queue the response. * Add logic to avoid VLA arrays with compilers that do not support them. * Fixed missing WSA_FLAG_OVERLAPPED which can cause W32 to block on socket races when using threadpool. (See very detailed description of the issue in the libmicrohttpd mailinglist post of today.) * Added test for RFC 7616 and documented new API. - Update to version 0.9.62: * Added test for RFC 7616 and documented new API. * Adding support for RFC 7616, experimental, needs testing and documentation still! * Add option to build MHD without any threads and MHD_FEATURE_THREADS to test for it. * Renamed all occurrences from _model(s)_ to _mode(s)_. * Optimized the function MHD_create_response_from_callback() for Windows by increasing its internal buffer size and allowed to customize it via macro MHD_FD_BLOCK_SIZE. * Referenced the gnutls_load_file() function in the HTTPs examples. * Fix regression causing URLs to be unescaped twice. OBS-URL: https://build.opensuse.org/request/show/673177 OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/libmicrohttpd?expand=0&rev=87
2019-02-11 09:16:09 +01:00
# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
# Copyright (c) 2010,2011,2012 Stephan Kleine
#
# 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/
#
%global sover 12
%global libname %{name}%{sover}
Name: libmicrohttpd
Accepting request 673177 from home:mnhauke - Update to version 0.9.63: * Extended test_get to test URI logging and query string parsing to avoid regression fixed in previous patch in the future. * Preliminary patch for the raw query string issue, to be tested. * Added minimal example for how to compress HTTP response. * Check for GNUTLS_E_AGAIN instead of GNUTLS_E_INTERRUPTED when giving up on a TLS connection. -LM/CG * Fix connection timeout logic if in thread-per-connection mode the working thread takes longer than the timeout to queue the response. * Add logic to avoid VLA arrays with compilers that do not support them. * Fixed missing WSA_FLAG_OVERLAPPED which can cause W32 to block on socket races when using threadpool. (See very detailed description of the issue in the libmicrohttpd mailinglist post of today.) * Added test for RFC 7616 and documented new API. - Update to version 0.9.62: * Added test for RFC 7616 and documented new API. * Adding support for RFC 7616, experimental, needs testing and documentation still! * Add option to build MHD without any threads and MHD_FEATURE_THREADS to test for it. * Renamed all occurrences from _model(s)_ to _mode(s)_. * Optimized the function MHD_create_response_from_callback() for Windows by increasing its internal buffer size and allowed to customize it via macro MHD_FD_BLOCK_SIZE. * Referenced the gnutls_load_file() function in the HTTPs examples. * Fix regression causing URLs to be unescaped twice. OBS-URL: https://build.opensuse.org/request/show/673177 OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/libmicrohttpd?expand=0&rev=87
2019-02-11 09:16:09 +01:00
Version: 0.9.63
Release: 0
Summary: Small Embeddable HTTP Server Library
# Some internal tests are licenced as GPL-3.0+ - they are only used in
# check phase and not shipped further
License: LGPL-2.1-or-later AND GPL-3.0-or-later
Group: Productivity/Networking/Web/Servers
Url: https://www.gnu.org/software/libmicrohttpd/
Source0: https://ftp.gnu.org/gnu/libmicrohttpd/%{name}-%{version}.tar.gz
Source1: https://ftp.gnu.org/gnu/libmicrohttpd/%{name}-%{version}.tar.gz.sig
Source2: https://savannah.gnu.org/project/memberlist-gpgkeys.php?group=%{name}&download=1#/%{name}.keyring
BuildRequires: curl
BuildRequires: file-devel
BuildRequires: libgcrypt-devel >= 1.2.4
2014-04-25 12:40:05 +02:00
BuildRequires: libtool
BuildRequires: makeinfo
2014-04-25 12:40:05 +02:00
BuildRequires: openssl-devel
BuildRequires: pkgconfig
BuildRequires: socat
BuildRequires: pkgconfig(gnutls)
BuildRequires: pkgconfig(libcurl)
BuildRequires: pkgconfig(libtasn1)
%description
2014-04-25 12:40:05 +02:00
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
* API is simple, expressive and fully reentrant
* Implementation is http 1.1 compliant
* HTTP server can listen on multiple ports
* Support for IPv6
* Support for incremental processing of POST data
* Creates binary of only 30k (without TLS/SSL support)
* Three different threading models
2014-04-25 12:40:05 +02:00
* Supported platforms include GNU/Linux, FreeBSD, OpenBSD, NetBSD, OS X, W32,
Symbian and z/OS
* Optional support for SSL3 and TLS (requires libgcrypt)
2014-04-25 12:40:05 +02:00
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 %{libname}
Summary: Small embeddable http server library
License: LGPL-2.1-or-later
Group: System/Libraries
%description -n %{libname}
Shared library for %{name} (%{summary}).
%package devel
2014-04-25 12:40:05 +02:00
Summary: Small Embeddable HTTP Server Library
License: LGPL-2.1-or-later
2014-04-25 12:40:05 +02:00
Group: Development/Libraries/C and C++
Requires: %{libname} = %{version}
Requires: pkgconfig
Requires: pkgconfig(gnutls)
Requires(post): info
Accepting request 295678 from home:msmeissn:branches:devel:libraries:c_c++ - updated to 0.9.40 - Fix potential deadlock issue in MHD_USE_THREAD_PER_CONNECTION mode if shutdown is initiated while connections are active. -CG - Fix issue in thread-pool mode where a MHD_stop_daemon() might not reach threads that stopped listening because we hit the maximum number of concurrent connections and the option MHD_USE_PIPE_FOR_SHUTDOWN was also not used. Testcase added as well. -CG - Update HTTPS testcases to avoid SSLv3, as SSLv3 is dead. - Do not enforce FD_SETSIZE-limit on worker control pipe when using MHD_USE_EPOLL_LINUX_ONLY (#3751). -MH/CG - Adding MHD_OPTION_NOTIFY_CONNECTION, MHD_CONNECTION_NOTIFY_STARTED, MHD_CONNECTION_NOTIFY_CLOSED and MHD_CONNECTION_INFO_SOCKET_CONTEXT to allow applications to trigger operations when TCP connections start or end, instead of just exposing HTTP requests starting and ending. -RG/CG - Fixing bug that prevented MHD_OPTION_HTTPS_MEM_DHPARAMS from working within a MHD_OPTION_ARRAY. -DD - Adding MHD_OPTION_HTTPS_KEY_PASSWORD as proposed by Andrew Basile. -CG/AB - Fix issue where for HTTP/1.0-clients that set Connection: Keep-Alive header a response of indefinite size was generated with chunked encoding. -CG - Fix potential infinite loop on shutdown in multi-threaded mode under certain conditions. -CG - fixed info deinstall OBS-URL: https://build.opensuse.org/request/show/295678 OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/libmicrohttpd?expand=0&rev=41
2015-04-13 14:18:25 +02:00
Requires(preun): info
%description devel
Headers, pkg-config files, so link and other development files for %{name}
(%{summary}).
%prep
%setup -q
%build
2014-04-25 12:40:05 +02:00
%configure \
--enable-bauth \
--enable-dauth \
--enable-epoll \
--enable-messages \
--enable-postprocessor \
--enable-https \
--disable-static \
--disable-examples \
--enable-curl
2014-04-25 12:40:05 +02:00
make %{?_smp_mflags}
%install
%make_install
2014-04-25 12:40:05 +02:00
find %{buildroot} -type f -name "*.la" -delete -print
rm -f %{buildroot}%{_infodir}/%{name}_performance_data.png
%check
# Paralel execution of tests fail
# Tests randomly fail so keep them in log for inspection rather than for valid
# verification of anything.
make -j1 check || :
%post -n %{libname} -p /sbin/ldconfig
%postun -n %{libname} -p /sbin/ldconfig
%post devel
%install_info --info-dir=%{_infodir} %{_infodir}/libmicrohttpd.info%{ext_info}
%install_info --info-dir=%{_infodir} %{_infodir}/libmicrohttpd-tutorial.info%{ext_info}
Accepting request 295678 from home:msmeissn:branches:devel:libraries:c_c++ - updated to 0.9.40 - Fix potential deadlock issue in MHD_USE_THREAD_PER_CONNECTION mode if shutdown is initiated while connections are active. -CG - Fix issue in thread-pool mode where a MHD_stop_daemon() might not reach threads that stopped listening because we hit the maximum number of concurrent connections and the option MHD_USE_PIPE_FOR_SHUTDOWN was also not used. Testcase added as well. -CG - Update HTTPS testcases to avoid SSLv3, as SSLv3 is dead. - Do not enforce FD_SETSIZE-limit on worker control pipe when using MHD_USE_EPOLL_LINUX_ONLY (#3751). -MH/CG - Adding MHD_OPTION_NOTIFY_CONNECTION, MHD_CONNECTION_NOTIFY_STARTED, MHD_CONNECTION_NOTIFY_CLOSED and MHD_CONNECTION_INFO_SOCKET_CONTEXT to allow applications to trigger operations when TCP connections start or end, instead of just exposing HTTP requests starting and ending. -RG/CG - Fixing bug that prevented MHD_OPTION_HTTPS_MEM_DHPARAMS from working within a MHD_OPTION_ARRAY. -DD - Adding MHD_OPTION_HTTPS_KEY_PASSWORD as proposed by Andrew Basile. -CG/AB - Fix issue where for HTTP/1.0-clients that set Connection: Keep-Alive header a response of indefinite size was generated with chunked encoding. -CG - Fix potential infinite loop on shutdown in multi-threaded mode under certain conditions. -CG - fixed info deinstall OBS-URL: https://build.opensuse.org/request/show/295678 OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/libmicrohttpd?expand=0&rev=41
2015-04-13 14:18:25 +02:00
%preun devel
%install_info_delete --info-dir=%{_infodir} %{_infodir}/libmicrohttpd.info%{ext_info}
%install_info_delete --info-dir=%{_infodir} %{_infodir}/libmicrohttpd-tutorial.info%{ext_info}
%files -n %{libname}
%doc COPYING
%{_libdir}/%{name}.so.%{sover}*
%files devel
%doc ChangeLog
%{_includedir}/microhttpd.h
%{_libdir}/%{name}.so
%{_libdir}/pkgconfig/%{name}.pc
%{_infodir}/%{name}*.info%{ext_info}
%{_mandir}/man3/%{name}.3%{ext_man}
%changelog