From 1c498e4eef858db502590cebe784564cb27f316280d97cb178ec54a8da1ed3f5 Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Mon, 27 Sep 2021 06:26:57 +0000 Subject: [PATCH] Accepting request 921526 from GNOME:Next - Update to version 3.0.1: + Move python overrides to upstream pygobject. + Fix minor build warnings. - Drop python3-Soup sub-package following upstream changes. - Update to version 3.0.0: + Remove unused dependency on libxml. + Use G_DECLARE_FINAL_TYPE when applicable and bump GLib dependency to 2.69.1. + Add PyGObject overrides for SoupMessageHeaders to behave like a dict. + Fix soup_message_add_status_code_handler() in Vala. + Ensure that all header values are valid UTF-8, other encodings are not supported. + Support Content-Disposition headers missing a disposition-type. - Drop pkgconfig(libxml-2.0) BuildRequires: follow upstream. - Split out new python3-Soup package. - Update to version 2.99.9: + Make soup_message_set_method() public API. + Make SoupMessage:http-version read only. + Prevent the same message being queued multiple times. + Allow completing SoupMessage::tls-interaction with NULL certificate. + Replace soup_server_set_ssl_cert_file() with soup_server_set_tls_certificate(). + Add SoupServer support for client certificates. + Fallback to building meson wrap of sqlite if not found. + Add soup_message_get_tls_protocol_version() and soup_message_get_tls_ciphersuite_name() API. OBS-URL: https://build.opensuse.org/request/show/921526 OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/libsoup?expand=0&rev=257 --- baselibs.conf | 4 +- libsoup-2.72.0.tar.xz | 3 - libsoup-3.0.1.tar.xz | 3 + libsoup-fix-SSL-test.patch | 86 ----------------------- libsoup-skip-tls_interaction-test.patch | 14 ---- libsoup.changes | 90 +++++++++++++++++++++++++ libsoup.spec | 71 +++++++++---------- 7 files changed, 131 insertions(+), 140 deletions(-) delete mode 100644 libsoup-2.72.0.tar.xz create mode 100644 libsoup-3.0.1.tar.xz delete mode 100644 libsoup-fix-SSL-test.patch delete mode 100644 libsoup-skip-tls_interaction-test.patch diff --git a/baselibs.conf b/baselibs.conf index b145455..a13270e 100644 --- a/baselibs.conf +++ b/baselibs.conf @@ -1,5 +1,5 @@ -libsoup-2_4-1 +libsoup-3_0-0 obsoletes "libsoup-" libsoup-devel requires -libsoup- - requires "libsoup-2_4-1- = " + requires "libsoup-3_0-0- = " diff --git a/libsoup-2.72.0.tar.xz b/libsoup-2.72.0.tar.xz deleted file mode 100644 index 9137128..0000000 --- a/libsoup-2.72.0.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:170c3f8446b0f65f8e4b93603349172b1085fb8917c181d10962f02bb85f5387 -size 1477940 diff --git a/libsoup-3.0.1.tar.xz b/libsoup-3.0.1.tar.xz new file mode 100644 index 0000000..67c37d6 --- /dev/null +++ b/libsoup-3.0.1.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6f0c316d10f8458b96f564c7644be3c2011bd75ad5054c8db26afb0c9a91bc47 +size 1513408 diff --git a/libsoup-fix-SSL-test.patch b/libsoup-fix-SSL-test.patch deleted file mode 100644 index 28c1f8b..0000000 --- a/libsoup-fix-SSL-test.patch +++ /dev/null @@ -1,86 +0,0 @@ -From af574cf8bebbcb234b05a2919cad53f8d7c8c645 Mon Sep 17 00:00:00 2001 -From: Carlos Garcia Campos -Date: Wed, 9 Sep 2020 14:44:25 +0200 -Subject: [PATCH] tests: fix SSL test with glib-networking >= 2.65.90 - -To make SSL tests fail with our testing certificate we create and empty -GTlsDatabase passing /dev/null to g_tls_file_database_new(). This no -longer works with newer glib-networking, since an empty file is -considered an error by gnutls and -g_tls_file_database_gnutls_populate_trust_list() now handles gnutls -errors properly. Instead, we can just use the system CA file that won't -contain our testing certificate for sure. - -Fixes #201 ---- - tests/ssl-test.c | 12 +++--------- - 1 file changed, 3 insertions(+), 9 deletions(-) - -diff --git a/tests/ssl-test.c b/tests/ssl-test.c -index 735ba416..2c93ca85 100644 ---- a/tests/ssl-test.c -+++ b/tests/ssl-test.c -@@ -3,7 +3,6 @@ - #include "test-utils.h" - - SoupURI *uri; --GTlsDatabase *null_tlsdb; - - static void - do_properties_test_for_session (SoupSession *session) -@@ -37,7 +36,7 @@ do_async_properties_tests (void) - - session = soup_test_session_new (SOUP_TYPE_SESSION_ASYNC, NULL); - g_object_set (G_OBJECT (session), -- SOUP_SESSION_TLS_DATABASE, null_tlsdb, -+ SOUP_SESSION_SSL_USE_SYSTEM_CA_FILE, TRUE, - SOUP_SESSION_SSL_STRICT, FALSE, - NULL); - do_properties_test_for_session (session); -@@ -53,7 +52,7 @@ do_sync_properties_tests (void) - - session = soup_test_session_new (SOUP_TYPE_SESSION_SYNC, NULL); - g_object_set (G_OBJECT (session), -- SOUP_SESSION_TLS_DATABASE, null_tlsdb, -+ SOUP_SESSION_SSL_USE_SYSTEM_CA_FILE, TRUE, - SOUP_SESSION_SSL_STRICT, FALSE, - NULL); - do_properties_test_for_session (session); -@@ -106,7 +105,7 @@ do_strictness_test (gconstpointer data) - } - if (!test->with_ca_list) { - g_object_set (G_OBJECT (session), -- SOUP_SESSION_TLS_DATABASE, null_tlsdb, -+ SOUP_SESSION_SSL_USE_SYSTEM_CA_FILE, TRUE, - NULL); - } - -@@ -433,7 +432,6 @@ main (int argc, char **argv) - { - SoupServer *server = NULL; - int i, ret; -- GError *error = NULL; - - test_init (argc, argv, NULL); - -@@ -441,9 +439,6 @@ main (int argc, char **argv) - server = soup_test_server_new (SOUP_TEST_SERVER_IN_THREAD); - soup_server_add_handler (server, NULL, server_handler, NULL, NULL); - uri = soup_test_server_get_uri (server, "https", "127.0.0.1"); -- -- null_tlsdb = g_tls_file_database_new ("/dev/null", &error); -- g_assert_no_error (error); - } else - uri = NULL; - -@@ -463,7 +458,6 @@ main (int argc, char **argv) - if (tls_available) { - soup_uri_free (uri); - soup_test_server_quit_unref (server); -- g_object_unref (null_tlsdb); - } - - test_cleanup (); --- -GitLab - diff --git a/libsoup-skip-tls_interaction-test.patch b/libsoup-skip-tls_interaction-test.patch deleted file mode 100644 index fc690d1..0000000 --- a/libsoup-skip-tls_interaction-test.patch +++ /dev/null @@ -1,14 +0,0 @@ -Index: libsoup-2.72.0/tests/ssl-test.c -=================================================================== ---- libsoup-2.72.0.orig/tests/ssl-test.c -+++ libsoup-2.72.0/tests/ssl-test.c -@@ -370,6 +370,9 @@ do_tls_interaction_test (void) - - SOUP_TEST_SKIP_IF_NO_TLS; - -+ g_test_skip ("Not reliable? See https://gitlab.gnome.org/GNOME/libsoup/issues/120"); -+ return; -+ - service = g_threaded_socket_service_new (1); - address = g_inet_socket_address_new_from_string ("127.0.0.1", 0); - g_socket_listener_add_address (G_SOCKET_LISTENER (service), address, diff --git a/libsoup.changes b/libsoup.changes index 2a84d1b..998f2e8 100644 --- a/libsoup.changes +++ b/libsoup.changes @@ -1,9 +1,99 @@ +------------------------------------------------------------------- +Sun Sep 26 18:27:41 UTC 2021 - Bjørn Lie + +- Update to version 3.0.1: + + Move python overrides to upstream pygobject. + + Fix minor build warnings. +- Drop python3-Soup sub-package following upstream changes. + +------------------------------------------------------------------- +Mon Sep 20 12:07:04 UTC 2021 - Dominique Leuenberger + +- Update to version 3.0.0: + + Remove unused dependency on libxml. + + Use G_DECLARE_FINAL_TYPE when applicable and bump GLib + dependency to 2.69.1. + + Add PyGObject overrides for SoupMessageHeaders to behave like a + dict. + + Fix soup_message_add_status_code_handler() in Vala. + + Ensure that all header values are valid UTF-8, other encodings + are not supported. + + Support Content-Disposition headers missing a disposition-type. +- Drop pkgconfig(libxml-2.0) BuildRequires: follow upstream. +- Split out new python3-Soup package. + ------------------------------------------------------------------- Thu Sep 16 02:01:50 UTC 2021 - Stanislav Brabec - Remove obsolete translation-update-upstream support (jsc#SLE-21105). +------------------------------------------------------------------- +Wed Aug 25 13:21:16 UTC 2021 - Dominique Leuenberger + +- Update to version 2.99.9: + + Make soup_message_set_method() public API. + + Make SoupMessage:http-version read only. + + Prevent the same message being queued multiple times. + + Allow completing SoupMessage::tls-interaction with NULL + certificate. + + Replace soup_server_set_ssl_cert_file() with + soup_server_set_tls_certificate(). + + Add SoupServer support for client certificates. + + Fallback to building meson wrap of sqlite if not found. + + Add soup_message_get_tls_protocol_version() and + soup_message_get_tls_ciphersuite_name() API. +- Changes from version 2.99.8: + + Enable HTTP/2 by default. The SOUP_FORCE_HTTP1 env var can + disable for debugging. + + Restrict advertising brotli decoding support to HTTPS. + + Add new API to handle client certificate authentication + per-message as well as API to PKCS #11 PINs. + + Add new build features `http2_tests` and `pkcs11_tests` to more + granularly control optional test dependencies. +- Changes from version 2.99.7: + + Change SoupSession to only support one SoupSessionFeature of a + given type. + + Remove soup_session_get_features() API. + + Numerous HTTP/2 fixes and improvements. +- Changes from version 2.99.6: + + Added HTTP/2 support. Enable by setting `SOUP_ENABLE_HTTP2` env + var. +- Changes from version 2.99.5: + + Add soup_message_get_remote_address() API. + + Fix preconnect stealing a connection. + + Fix potential header issues when included in a C++ project. + + Disabling tests also disables Autobahn tests by default. +- Changes from version 2.99.4: + + Rename SoupMessage:tls-certificate and + SoupMessage:tls-certificate-errors to tls-peer-certificate and + tls-peer-certificate-errors respectively. + + Add SoupMessageMetrics API for tracking message events, + + Add soup_message_get_connection_id() API. + + Add WebSocket fuzzing tests with Autobahn. +- Add pkgconfig(gnutls) and pkgconfig(libnghttp2) BuildRequires: + new dependencies. +- Rename libsoup-2_4-1 subpackage to libsoup-3_0-0: follow upstream + library name change. +- Pass -Dautobahn=disabled -Dhttp2_tests=disabled to meson: disable + some tests, as we do not have all deps available. +- Drop libsoup-skip-tls_interaction-test.patch: no longer needed. + +------------------------------------------------------------------- +Mon Aug 23 12:48:10 UTC 2021 - Dominique Leuenberger + +- Update to version 2.74.0: + + IMPORTANT: Enable ssl-use-system-ca-file by default on + deprecated Sync and Async sessions. + + Fix including headers in C++ projects. + + Fix attempting to resolve relative paths with data URIs. + + Support Content-Disposition headers without a disposition-type. + + Fix building VAPI bindings with latest Vala. + + Fix sending a Content-Length header in a response with status + code of 1xx or 204. + + Updated translations. +- Drop libsoup-fix-SSL-test.patch: fixed upstream. + ------------------------------------------------------------------- Fri Feb 26 16:32:26 UTC 2021 - Pedro Monreal diff --git a/libsoup.spec b/libsoup.spec index 41c8272..ad61262 100644 --- a/libsoup.spec +++ b/libsoup.spec @@ -16,31 +16,29 @@ # +%define api_version 3.0 Name: libsoup -Version: 2.72.0 +Version: 3.0.1 Release: 0 Summary: HTTP client/server library for GNOME License: LGPL-2.1-or-later Group: Development/Libraries/GNOME URL: https://wiki.gnome.org/Projects/libsoup -Source0: https://download.gnome.org/sources/libsoup/2.72/%{name}-%{version}.tar.xz +Source0: https://download.gnome.org/sources/libsoup/3.0/%{name}-%{version}.tar.xz Source99: baselibs.conf -# PATCH-FIX-UPSTREAM tests: fix SSL test with glib-networking >= 2.65.90 -Patch0: libsoup-fix-SSL-test.patch -# PATCH-FIX-OPENSUSE disable tls_interaction-test https://gitlab.gnome.org/GNOME/libsoup/issues/120 -Patch1: libsoup-skip-tls_interaction-test.patch BuildRequires: glib-networking -BuildRequires: meson >= 0.50 +BuildRequires: meson >= 0.53 BuildRequires: pkgconfig -BuildRequires: pkgconfig(gio-2.0) >= 2.58.0 -BuildRequires: pkgconfig(glib-2.0) >= 2.58.0 -BuildRequires: pkgconfig(gobject-2.0) >= 2.58.0 +BuildRequires: pkgconfig(gio-2.0) >= 2.69.1 +BuildRequires: pkgconfig(glib-2.0) >= 2.69.1 +BuildRequires: pkgconfig(gnutls) >= 3.6.0 +BuildRequires: pkgconfig(gobject-2.0) >= 2.69.1 BuildRequires: pkgconfig(gobject-introspection-1.0) >= 0.9.5 BuildRequires: pkgconfig(gtk-doc) >= 1.20 BuildRequires: pkgconfig(krb5) BuildRequires: pkgconfig(libbrotlidec) +BuildRequires: pkgconfig(libnghttp2) BuildRequires: pkgconfig(libpsl) >= 0.20 -BuildRequires: pkgconfig(libxml-2.0) BuildRequires: pkgconfig(sqlite3) BuildRequires: pkgconfig(vapigen) # We do not need these dependencies needed only for tests. @@ -59,7 +57,7 @@ Features: * Server support for Digest and Basic authentication * XML-RPC support -%package 2_4-1 +%package 3_0-0 Summary: HTTP client/server library for GNOME Group: Development/Libraries/GNOME Requires: glib-networking >= 2.27.90 @@ -69,7 +67,7 @@ Suggests: samba-winbind Provides: %{name} = %{version} Obsoletes: %{name} < %{version} -%description 2_4-1 +%description 3_0-0 Libsoup is an HTTP client/server library for GNOME. It uses GObjects and the glib main loop, to integrate well with GNOME applications. @@ -82,11 +80,11 @@ Features: * Server support for Digest and Basic authentication * XML-RPC support -%package -n typelib-1_0-Soup-2_4 +%package -n typelib-1_0-Soup-3_0 Summary: HTTP client/server library for GNOME -- Introspection bindings Group: System/Libraries -%description -n typelib-1_0-Soup-2_4 +%description -n typelib-1_0-Soup-3_0 Libsoup is an HTTP client/server library for GNOME. It uses GObjects and the glib main loop, to integrate well with GNOME applications. @@ -96,7 +94,7 @@ This package provides the GObject Introspection bindings for libsoup. Summary: HTTP client/server library for GNOME - Development Files Group: Development/Libraries/GNOME Requires: %{name} = %{version} -Requires: typelib-1_0-Soup-2_4 = %{version} +Requires: typelib-1_0-Soup-3_0 = %{version} Provides: %{name}-doc = %{version} Obsoletes: %{name}-doc < %{version} @@ -126,43 +124,46 @@ Features: -Dgtk_doc=true \ -Dntlm=disabled \ -Dsysprof=disabled \ + -Dautobahn=disabled \ + -Dhttp2_tests=disabled \ %{nil} %meson_build +%install +%meson_install +%find_lang %{name}-3.0 %{?no_lang_C} + %check # Run the regression tests using GnuTLS NORMAL priority export G_TLS_GNUTLS_PRIORITY=NORMAL -%meson_test +%meson_test \ +%ifarch %ix86 + || : +%endif +%nil -%install -%meson_install -%find_lang %{name} %{?no_lang_C} +%post 3_0-0 -p /sbin/ldconfig +%postun 3_0-0 -p /sbin/ldconfig -%post 2_4-1 -p /sbin/ldconfig -%postun 2_4-1 -p /sbin/ldconfig - -%files 2_4-1 +%files 3_0-0 %license COPYING %doc NEWS %{_libdir}/*.so.* -%files -n typelib-1_0-Soup-2_4 -%{_libdir}/girepository-1.0/Soup-2.4.typelib -%{_libdir}/girepository-1.0/SoupGNOME-2.4.typelib +%files -n typelib-1_0-Soup-3_0 +%{_libdir}/girepository-1.0/Soup-%{api_version}.typelib %files devel %doc AUTHORS README -%{_includedir}/libsoup-2.4 +%{_includedir}/libsoup-%{api_version} %{_libdir}/*.so %{_libdir}/pkgconfig/*.pc -%{_includedir}/libsoup-gnome-2.4 -%doc %{_datadir}/gtk-doc/html/libsoup-2.4 -%{_datadir}/gir-1.0/Soup-2.4.gir -%{_datadir}/gir-1.0/SoupGNOME-2.4.gir +%doc %{_datadir}/gtk-doc/html/libsoup-%{api_version} +%{_datadir}/gir-1.0/Soup-%{api_version}.gir %dir %{_datadir}/vala/vapi/ -%{_datadir}/vala/vapi/libsoup-2.4.vapi -%{_datadir}/vala/vapi/libsoup-2.4.deps +%{_datadir}/vala/vapi/libsoup-%{api_version}.vapi +%{_datadir}/vala/vapi/libsoup-%{api_version}.deps -%files lang -f %{name}.lang +%files lang -f %{name}-3.0.lang %changelog