From e309cd715850a694a868395617eb7777d4bba0a3 Mon Sep 17 00:00:00 2001 From: zhaoxiaohu Date: Mon, 26 Aug 2024 17:41:48 +0800 Subject: [PATCH] import: use CURLOPT_PROTOCOLS_STR with libcurl >= 7.85.0 Signed-off-by: zhaoxiaohu --- ...PT_PROTOCOLS_STR-with-libcurl-7.85.0.patch | 56 +++++++++++++++++++ systemd.spec | 8 ++- 2 files changed, 62 insertions(+), 2 deletions(-) create mode 100644 backport-import-use-CURLOPT_PROTOCOLS_STR-with-libcurl-7.85.0.patch diff --git a/backport-import-use-CURLOPT_PROTOCOLS_STR-with-libcurl-7.85.0.patch b/backport-import-use-CURLOPT_PROTOCOLS_STR-with-libcurl-7.85.0.patch new file mode 100644 index 0000000..79bfce9 --- /dev/null +++ b/backport-import-use-CURLOPT_PROTOCOLS_STR-with-libcurl-7.85.0.patch @@ -0,0 +1,56 @@ +From bbe1d1e498e62e851d1b93a690a7b80cd7ba4828 Mon Sep 17 00:00:00 2001 +From: zhaoxiaohu +Date: Mon, 26 Aug 2024 16:05:30 +0800 +Subject: [PATCH] import: use CURLOPT_PROTOCOLS_STR with libcurl >= 7.85.0 +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +CURLOPT_PROTOCOLS [0] was deprecated in libcurl 7.85.0 with +CURLOPT_PROTOCOLS_STR [1] as a replacement, causing build warnings/errors: + +../build/src/import/curl-util.c: In function ‘curl_glue_make’: +../build/src/import/curl-util.c:255:9: error: ‘CURLOPT_PROTOCOLS’ is deprecated: since 7.85.0. Use CURLOPT_PROTOCOLS_STR [-Werror=deprecated-declarations] + 255 | if (curl_easy_setopt(c, CURLOPT_PROTOCOLS, CURLPROTO_HTTP|CURLPROTO_HTTPS|CURLPROTO_FILE) != CURLE_OK) + | ^~ +In file included from ../build/src/import/curl-util.h:4, + from ../build/src/import/curl-util.c:6: +/usr/include/curl/curl.h:1749:3: note: declared here + 1749 | CURLOPTDEPRECATED(CURLOPT_PROTOCOLS, CURLOPTTYPE_LONG, 181, + | ^~~~~~~~~~~~~~~~~ +cc1: all warnings being treated as errors + +Since there's no grace period between the two symbols, let's resort +to a light if-def-ery to resolve this. + +[0] https://curl.se/libcurl/c/CURLOPT_PROTOCOLS.html +[1] https://curl.se/libcurl/c/CURLOPT_PROTOCOLS_STR.html + +Reference: https://github.com/systemd/systemd/pull/25982/commits/e61a4c0b7c79eabbe4eb50ff2e663734fde769f0 + +Signed-off-by: Frantisek Sumsal +Signed-off-by: zhaoxiaohu +Signed-off-by: yuwang +--- + src/import/curl-util.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/src/import/curl-util.c b/src/import/curl-util.c +index d6a16b4..24a4fb6 100644 +--- a/src/import/curl-util.c ++++ b/src/import/curl-util.c +@@ -256,7 +256,11 @@ int curl_glue_make(CURL **ret, const char *url, void *userdata) { + if (curl_easy_setopt(c, CURLOPT_LOW_SPEED_LIMIT, 30L) != CURLE_OK) + return -EIO; + ++#if LIBCURL_VERSION_NUM >= 0x075500 /* libcurl 7.85.0 */ ++ if (curl_easy_setopt(c, CURLOPT_PROTOCOLS_STR, "HTTP,HTTPS,FILE") != CURLE_OK) ++#else + if (curl_easy_setopt(c, CURLOPT_PROTOCOLS, CURLPROTO_HTTP|CURLPROTO_HTTPS|CURLPROTO_FILE) != CURLE_OK) ++#endif + return -EIO; + + *ret = TAKE_PTR(c); +-- +2.33.0 + diff --git a/systemd.spec b/systemd.spec index 3784efb..f68241c 100644 --- a/systemd.spec +++ b/systemd.spec @@ -21,7 +21,7 @@ Name: systemd Url: https://systemd.io/ Version: 249 -Release: 83 +Release: 84 License: MIT and LGPLv2+ and GPLv2+ Summary: System and Service Manager @@ -646,6 +646,7 @@ Patch6597: backport-Update-hwdb.patch Patch6598: backport-sd-event-fix-fd-leak-when-fd-is-owned-by-IO-event-so.patch Patch6599: backport-seccomp-util-include-missing_syscall_def.h-to-make-__SNR_foo-mapped.patch Patch6600: backport-fix-cgtop-sscanf-return-code-checks.patch +Patch6601: backport-import-use-CURLOPT_PROTOCOLS_STR-with-libcurl-7.85.0.patch Patch9001: update-rtc-with-system-clock-when-shutdown.patch Patch9002: udev-add-actions-while-rename-netif-failed.patch @@ -2132,6 +2133,9 @@ grep -q -E '^KEYMAP="?fi-latin[19]"?' /etc/vconsole.conf 2>/dev/null && %{_libdir}/security/pam_systemd.so %changelog +* Mon Aug 26 2024 zhaoxiaohu - 249-84 +- add backport-import-use-CURLOPT_PROTOCOLS_STR-with-libcurl-7.85.0.patch + * Thu Aug 22 2024 yanglongkang - 249-83 - backport: fix cgtop sscanf return code checks @@ -2169,7 +2173,7 @@ grep -q -E '^KEYMAP="?fi-latin[19]"?' /etc/vconsole.conf 2>/dev/null && backport-resolved-limit-the-number-of-signature-validations-i.patch backport-resolved-reduce-the-maximum-nsec3-iterations-to-100.patch -* Fri Mar 17 2024 hongjinghao - 249-72 +* Sun Mar 17 2024 hongjinghao - 249-72 - Revert "backport-units-modprobe-.service-don-t-unescape-instance-name.patch" * Sat Mar 16 2024 huyubiao - 249-71 -- Gitee