From e885d2dcccb49b45bd83e62f590ded1e6783ccd7 Mon Sep 17 00:00:00 2001 From: jc_gargma Date: Fri, 12 Jan 2024 13:00:23 -0800 Subject: Updated to 1.44.2 Also fixed systemd services being placed at /usr/false --- ...y-Make-curl-timeout-callback-non-repeatin.patch | 34 ++++++++++++++++++++++ PKGBUILD | 24 ++++++++++----- 2 files changed, 51 insertions(+), 7 deletions(-) create mode 100644 0001-connectivity-Make-curl-timeout-callback-non-repeatin.patch diff --git a/0001-connectivity-Make-curl-timeout-callback-non-repeatin.patch b/0001-connectivity-Make-curl-timeout-callback-non-repeatin.patch new file mode 100644 index 0000000..f3f547c --- /dev/null +++ b/0001-connectivity-Make-curl-timeout-callback-non-repeatin.patch @@ -0,0 +1,34 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Tatsuyuki Ishi +Date: Fri, 13 Oct 2023 16:46:09 +0000 +Subject: [PATCH] connectivity: Make curl timeout callback non-repeating. + +The CURLMOPT_TIMERFUNCTION manual says: + Your callback function timer_callback should install a *non-repeating* + timer with an expire time of timeout_ms milliseconds. + +The previous callback returned G_SOURCE_CONTINUE, resulting in a repeating +firing callback. curl tweaked some internals in v8.4.0 and started giving +0 timeouts, which caused this to wreak havoc. + +Fix it by making the callback non-repeating as specified by the API contract. +--- + src/core/nm-connectivity.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/src/core/nm-connectivity.c b/src/core/nm-connectivity.c +index 92de44f17d99..d8b0004c381f 100644 +--- a/src/core/nm-connectivity.c ++++ b/src/core/nm-connectivity.c +@@ -406,9 +406,10 @@ _con_curl_timeout_cb(gpointer user_data) + { + NMConnectivityCheckHandle *cb_data = user_data; + ++ cb_data->concheck.curl_timer = 0; + _con_curl_check_connectivity(cb_data->concheck.curl_mhandle, CURL_SOCKET_TIMEOUT, 0); + _complete_queued(cb_data->self); +- return G_SOURCE_CONTINUE; ++ return G_SOURCE_REMOVE; + } + + static int diff --git a/PKGBUILD b/PKGBUILD index 3994bcd..5067ff9 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -21,8 +21,8 @@ pkgname=( nm-cloud-setup ) _basever=1.44 -pkgver=${_basever}.0 -pkgrel=1.2 +pkgver=${_basever}.2 +pkgrel=3.2 pkgdesc="Network connection manager and user applications" pkgdesc+=", modified for openrc" url="https://networkmanager.dev/" @@ -65,10 +65,20 @@ checkdepends=( libx11 python-dbus ) -source=(https://download.gnome.org/sources/${_altname}/${_basever}/${_altname}-${pkgver}.tar.xz) -# https://download.gnome.org/sources/NetworkManager/1.42/NetworkManager-1.42.4.sha256sum -sha256sums=('edca09637d182f806b3b12d8c5623d7badbd73ccca1ae63be20d2f298779fb9f') -b2sums=('f916620e74c0d5b8581b8c1eeb8f58c1cbac2d6c18bc72a25679cf5d36975df6c37b130f97e8d2078d9ab7aeeb4371ed6f9e830c5e6dce19feb41f26277be734') +source=(https://download.gnome.org/sources/${_altname}/${_basever}/${_altname}-${pkgver}.tar.xz + 0001-connectivity-Make-curl-timeout-callback-non-repeatin.patch) +# https://download.gnome.org/sources/NetworkManager/1.44/NetworkManager-1.44.2.sha256sum +sha256sums=('4b58bf3ac57e2cefb5652efd0945eb0b4bc36a63d92a61ab471d8bb2c9a420e1' + 'd396d1d3aec56a5e1aeb2b4d92e6c38cda82eeed87c1526688528aa9d52df587') +b2sums=('2bb5ac06018d45d55623d742fba49c3b485116091992ad56a4680ce00946c96bd0c1b3b5d34f2c36c6347ff51182e00158351c0c6989cdc7db4a49b52564a1b7' + '51674577e4a2786b6491fdf90cc90734da3792e0a7e224f0eecc9c485a5f81b68a71bb559b23d294d52dc9065ee82c997c31f9272504c3d753e0ffe1321367e9') + +prepare() { + cd $_altname-$pkgver + + # https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/1756 + patch -Np1 -i "$srcdir"/0001-connectivity-Make-curl-timeout-callback-non-repeatin.patch +} build() { @@ -81,7 +91,7 @@ build() { -D session_tracking_consolekit=false -D session_tracking=elogind -D suspend_resume=elogind - -D systemdsystemunitdir=false + -D systemdsystemunitdir=no # This field requires a path or the special value no, the latter of which disables packaging systemd service files. -D systemd_journal=false -D config_logging_backend_default=syslog -D modify_system=true -- cgit v1.2.1