diff --git a/.gitignore b/.gitignore index b6d76ff..5b3ac6d 100644 --- a/.gitignore +++ b/.gitignore @@ -17,3 +17,4 @@ /libsoup-3.4.3.tar.xz /libsoup-3.4.4.tar.xz /libsoup-3.6.1.tar.xz +/libsoup-3.6.3.tar.xz diff --git a/libsoup3.spec b/libsoup3.spec index 0341b72..22b0b5b 100644 --- a/libsoup3.spec +++ b/libsoup3.spec @@ -1,14 +1,18 @@ %global glib2_version 2.69.1 Name: libsoup3 -Version: 3.6.1 +Version: 3.6.3 Release: %autorelease Summary: Soup, an HTTP library implementation License: LGPL-2.0-or-later URL: https://wiki.gnome.org/Projects/libsoup -Source0: https://download.gnome.org/sources/libsoup/3.4/libsoup-%{version}.tar.xz +Source0: https://download.gnome.org/sources/libsoup/3.6/libsoup-%{version}.tar.xz +# https://gitlab.gnome.org/GNOME/libsoup/-/merge_requests/426 +Patch: test-timeouts.patch + +BuildRequires: ca-certificates BuildRequires: gcc BuildRequires: gettext BuildRequires: glib-networking @@ -18,6 +22,7 @@ BuildRequires: meson BuildRequires: vala BuildRequires: pkgconfig(glib-2.0) BuildRequires: pkgconfig(gio-2.0) +BuildRequires: pkgconfig(gnutls) BuildRequires: pkgconfig(gobject-introspection-1.0) BuildRequires: pkgconfig(libbrotlidec) BuildRequires: pkgconfig(libnghttp2) @@ -63,13 +68,16 @@ This package contains developer documentation for %{name}. %autosetup -p1 -n libsoup-%{version} %build -%meson -Ddocs=enabled -Dtests=false -Dautobahn=disabled -Dpkcs11_tests=disabled +%meson -Ddocs=enabled -Dautobahn=disabled %meson_build %install %meson_install install -m 644 -D tests/libsoup.supp %{buildroot}%{_datadir}/libsoup-3.0/libsoup.supp +%check +%meson_test + %find_lang libsoup-3.0 %files -f libsoup-3.0.lang diff --git a/sources b/sources index 5fd5229..9577186 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (libsoup-3.6.1.tar.xz) = 4b9df47f54ab5f661cd5df3a249a78725d63bdd4e48322fd7f2173dc9835109a1cc3136949483e8b908e99f4a608caef829aaf0ac03237240130ca0b2af574c4 +SHA512 (libsoup-3.6.3.tar.xz) = a2b2fec1b440d44f151abfaed6d007ae7a56a303f84ee04674649fb8770121915842e233c82754f3ea0fe44e934bcd292f6d2c8be61cfccadbc50e600ac2e98b diff --git a/test-timeouts.patch b/test-timeouts.patch new file mode 100644 index 0000000..49d9083 --- /dev/null +++ b/test-timeouts.patch @@ -0,0 +1,111 @@ +From b9c73d4eb71a26824f8d5795822d37b0a5487808 Mon Sep 17 00:00:00 2001 +From: Michael Catanzaro +Date: Mon, 13 Jan 2025 11:50:35 -0600 +Subject: [PATCH] Mark several tests as slow + +Let's allow 30 seconds to run most tests, or 5 minutes for tests marked +slow. Most of them are fast on my computer: + + 1/34 cache-test OK 0.08s 7 subtests passed + 2/34 chunk-io-test OK 0.08s 1 subtests passed + 3/34 coding-test OK 0.08s 11 subtests passed + 4/34 continue-test OK 0.08s 12 subtests passed + 5/34 cookies-test OK 0.07s 13 subtests passed + 6/34 date-test OK 0.07s 66 subtests passed + 7/34 header-parsing-test OK 0.07s 8 subtests passed + 8/34 logger-test OK 0.05s 6 subtests passed + 9/34 multipart-test OK 0.05s 4 subtests passed +10/34 multithread-test OK 0.05s 8 subtests passed +11/34 no-ssl-test OK 0.04s 1 subtests passed +12/34 redirect-test OK 0.04s 29 subtests passed +13/34 request-body-test OK 0.04s 18 subtests passed +14/34 samesite-test OK 0.04s 16 subtests passed +15/34 streaming-test OK 0.02s 4 subtests passed +16/34 tld-test OK 0.02s 2 subtests passed +17/34 uri-parsing-test OK 0.02s 4 subtests passed +18/34 sniffing-test OK 0.03s 37 subtests passed +19/34 brotli-decompressor-test OK 0.01s 3 subtests passed +20/34 unix-socket-test OK 0.01s 1 subtests passed +21/34 hsts-db-test OK 0.08s 3 subtests passed +22/34 forms-test OK 0.11s 5 subtests passed +23/34 server-test OK 0.08s 18 subtests passed +24/34 ntlm-test OK 0.10s 21 subtests passed +25/34 ssl-test OK 0.12s 7 subtests passed +26/34 session-test OK 0.16s 6 subtests passed +27/34 misc-test OK 0.22s 18 subtests passed +28/34 context-test OK 0.41s 1 subtests passed +29/34 server-auth-test OK 0.37s 12 subtests passed +30/34 http2-test OK 2.73s 35 subtests passed +31/34 websocket-test OK 3.97s 55 subtests passed +32/34 timeout-test OK 4.08s 4 subtests passed +33/34 http2-body-stream-test OK 8.05s 3 subtests passed +34/34 hsts-test OK 12.12s 25 subtests passed + +A 2 minute timeout is not good enough, so let's use 5 minutes. + +I'm not marking hsts-test as slow because it is fast with the exception +of some hardcoded 2-3 second timeouts that should never cause the total +time to exceed 30s. +--- + tests/meson.build | 16 ++++++++-------- + 1 file changed, 8 insertions(+), 8 deletions(-) + +diff --git a/tests/meson.build b/tests/meson.build +index 01a0c63fd..da2e5f1eb 100644 +--- a/tests/meson.build ++++ b/tests/meson.build +@@ -78,8 +78,8 @@ tests = [ + {'name': 'date'}, + {'name': 'forms'}, + {'name': 'header-parsing'}, +- {'name': 'http2'}, +- {'name': 'http2-body-stream'}, ++ {'name': 'http2', 'slow': true}, ++ {'name': 'http2-body-stream', 'slow': true}, + {'name': 'hsts'}, + {'name': 'hsts-db'}, + {'name': 'logger'}, +@@ -93,7 +93,7 @@ tests = [ + {'name': 'samesite'}, + {'name': 'session'}, + {'name': 'server-auth'}, +- {'name': 'server'}, ++ {'name': 'server', 'slow': true}, + {'name': 'sniffing'}, + {'name': 'ssl', + 'dependencies': [gnutls_dep], +@@ -101,11 +101,12 @@ tests = [ + 'c_args': '-DHAVE_GNUTLS=@0@'.format(gnutls_dep.found() ? 1 : 0), + }, + {'name': 'streaming'}, +- {'name': 'timeout'}, ++ {'name': 'timeout', 'slow': true}, + {'name': 'tld'}, + {'name': 'uri-parsing'}, + {'name': 'websocket', +- 'dependencies': [libz_dep]}, ++ 'dependencies': [libz_dep], ++ 'slow': true}, + ] + + if brotlidec_dep.found() +@@ -205,14 +206,13 @@ foreach test: tests + install_dir : installed_tests_execdir, + install_rpath : abs_installed_tests_execdir, + ) +- # Increase the timeout as on some architectures the tests could be slower +- # than the default 30 seconds. ++ + test(test_name, test_target, + args : ['--debug'], + env : env, + is_parallel : test.get('parallel', true), + depends : test.get('depends', []), +- timeout : 60, ++ timeout : test.get('slow', false) ? 300 : 30, + protocol : 'tap', + ) + endforeach +-- +GitLab +