summaryrefslogtreecommitdiffstats
path: root/meta/recipes-support/curl
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2025-11-07 13:31:53 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2025-11-07 13:31:53 +0000
commit8c22ff0d8b70d9b12f0487ef696a7e915b9e3173 (patch)
treeefdc32587159d0050a69009bdf2330a531727d95 /meta/recipes-support/curl
parentd412d2747595c1cc4a5e3ca975e3adc31b2f7891 (diff)
downloadpoky-8c22ff0d8b70d9b12f0487ef696a7e915b9e3173.tar.gz
The poky repository master branch is no longer being updated.
You can either: a) switch to individual clones of bitbake, openembedded-core, meta-yocto and yocto-docs b) use the new bitbake-setup You can find information about either approach in our documentation: https://docs.yoctoproject.org/ Note that "poky" the distro setting is still available in meta-yocto as before and we continue to use and maintain that. Long live Poky! Some further information on the background of this change can be found in: https://lists.openembedded.org/g/openembedded-architecture/message/2179 Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-support/curl')
-rw-r--r--meta/recipes-support/curl/curl/disable-tests0
-rw-r--r--meta/recipes-support/curl/curl/environment.d-curl.sh19
-rw-r--r--meta/recipes-support/curl/curl/no-test-timeout.patch25
-rw-r--r--meta/recipes-support/curl/curl/run-ptest19
-rw-r--r--meta/recipes-support/curl/curl_8.16.0.bb171
5 files changed, 0 insertions, 234 deletions
diff --git a/meta/recipes-support/curl/curl/disable-tests b/meta/recipes-support/curl/curl/disable-tests
deleted file mode 100644
index e69de29bb2..0000000000
--- a/meta/recipes-support/curl/curl/disable-tests
+++ /dev/null
diff --git a/meta/recipes-support/curl/curl/environment.d-curl.sh b/meta/recipes-support/curl/curl/environment.d-curl.sh
deleted file mode 100644
index 581108ef35..0000000000
--- a/meta/recipes-support/curl/curl/environment.d-curl.sh
+++ /dev/null
@@ -1,19 +0,0 @@
1# Respect host env CURL_CA_BUNDLE/CURL_CA_PATH first, then auto-detected host cert, then cert in buildtools
2# CAFILE/CAPATH is auto-deteced when source buildtools
3if [ -z "${CURL_CA_PATH:-}" ]; then
4 if [ -n "${CAFILE:-}" ];then
5 export CURL_CA_BUNDLE="$CAFILE"
6 elif [ -e "${OECORE_NATIVE_SYSROOT}/etc/ssl/certs/ca-certificates.crt" ];then
7 export CURL_CA_BUNDLE="${OECORE_NATIVE_SYSROOT}/etc/ssl/certs/ca-certificates.crt"
8 fi
9fi
10
11if [ -z "${CURL_CA_PATH:-}" ]; then
12 if [ -n "${CAPATH:-}" ];then
13 export CURL_CA_PATH="$CAPATH"
14 elif [ -e "${OECORE_NATIVE_SYSROOT}/etc/ssl/certs/ca-certificates.crt" ];then
15 export CURL_CA_PATH="${OECORE_NATIVE_SYSROOT}/etc/ssl/certs"
16 fi
17fi
18
19export BB_ENV_PASSTHROUGH_ADDITIONS="${BB_ENV_PASSTHROUGH_ADDITIONS:-} CURL_CA_BUNDLE CURL_CA_PATH"
diff --git a/meta/recipes-support/curl/curl/no-test-timeout.patch b/meta/recipes-support/curl/curl/no-test-timeout.patch
deleted file mode 100644
index 5b901a6fe9..0000000000
--- a/meta/recipes-support/curl/curl/no-test-timeout.patch
+++ /dev/null
@@ -1,25 +0,0 @@
1From 42cddb52e821cfc2f09f1974742714e5f2f1856e Mon Sep 17 00:00:00 2001
2From: Ross Burton <ross.burton@arm.com>
3Date: Fri, 15 Mar 2024 14:37:37 +0000
4Subject: [PATCH] Set the max-time timeout to 600 so the timeout is 10 minutes
5 instead of 13 seconds.
6
7Upstream-Status: Inappropriate
8Signed-off-by: Ross Burton <ross.burton@arm.com>
9---
10 tests/servers.pm | 2 +-
11 1 file changed, 1 insertion(+), 1 deletion(-)
12
13diff --git a/tests/servers.pm b/tests/servers.pm
14index d4472d5..9999938 100644
15--- a/tests/servers.pm
16+++ b/tests/servers.pm
17@@ -124,7 +124,7 @@ my $sshdverstr; # for socks server, ssh daemon version string
18 my $sshderror; # for socks server, ssh daemon version error
19 my %doesntrun; # servers that don't work, identified by pidfile
20 my %PORT = (nolisten => 47); # port we use for a local non-listening service
21-my $server_response_maxtime=13;
22+my $server_response_maxtime=600;
23 my $httptlssrv = find_httptlssrv();
24 my %run; # running server
25 my %runcert; # cert file currently in use by an ssl running server
diff --git a/meta/recipes-support/curl/curl/run-ptest b/meta/recipes-support/curl/curl/run-ptest
deleted file mode 100644
index 597cf92dbb..0000000000
--- a/meta/recipes-support/curl/curl/run-ptest
+++ /dev/null
@@ -1,19 +0,0 @@
1#!/bin/sh
2
3cd tests
4
5# Run all tests, don't stop on first failure
6# Don't use valgrind if it is found
7# Use automake-style output
8# Run four tests in parallel
9# Print log output on failure
10
11# Don't run the flaky or timing dependent tests
12# Until https://github.com/curl/curl/issues/13350 is resolved, don't run FTP tests
13# We don't enable --libcurl
14# Don't assume curl-config exists
15# We don't have the source tree
16./runtests.pl \
17 -a -c curl -vc curl -n -am -j4 -p \
18 !flaky !timing-dependent !FTP \
19 !--libcurl !curl-config !source\ analysis !checksrc !documentation
diff --git a/meta/recipes-support/curl/curl_8.16.0.bb b/meta/recipes-support/curl/curl_8.16.0.bb
deleted file mode 100644
index c226670357..0000000000
--- a/meta/recipes-support/curl/curl_8.16.0.bb
+++ /dev/null
@@ -1,171 +0,0 @@
1SUMMARY = "Command line tool and library for client-side URL transfers"
2DESCRIPTION = "It uses URL syntax to transfer data to and from servers. \
3curl is a widely used because of its ability to be flexible and complete \
4complex tasks. For example, you can use curl for things like user authentication, \
5HTTP post, SSL connections, proxy support, FTP uploads, and more!"
6HOMEPAGE = "https://curl.se/"
7BUGTRACKER = "https://github.com/curl/curl/issues"
8SECTION = "console/network"
9LICENSE = "curl"
10LIC_FILES_CHKSUM = "file://COPYING;md5=72f4e9890e99e68d77b7e40703d789b8"
11
12SRC_URI = " \
13 https://curl.se/download/${BP}.tar.xz \
14 file://run-ptest \
15 file://disable-tests \
16 file://no-test-timeout.patch \
17"
18
19SRC_URI:append:class-nativesdk = " \
20 file://environment.d-curl.sh \
21"
22
23SRC_URI[sha256sum] = "40c8cddbcb6cc6251c03dea423a472a6cea4037be654ba5cf5dec6eb2d22ff1d"
24
25# Curl has used many names over the years...
26CVE_PRODUCT = "haxx:curl haxx:libcurl curl:curl curl:libcurl libcurl:libcurl daniel_stenberg:curl"
27CVE_STATUS[CVE-2024-32928] = "ignored: CURLOPT_SSL_VERIFYPEER was disabled on google cloud services causing a potential man in the middle attack"
28
29inherit autotools pkgconfig binconfig multilib_header ptest
30
31COMMON_PACKAGECONFIG = "basic-auth bearer-auth digest-auth ipfs negotiate-auth openssl proxy threaded-resolver verbose zlib"
32PACKAGECONFIG ??= "${COMMON_PACKAGECONFIG} ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)} aws libidn"
33PACKAGECONFIG:class-native = "${COMMON_PACKAGECONFIG} ipv6"
34PACKAGECONFIG:class-nativesdk = "${COMMON_PACKAGECONFIG} ipv6"
35
36# 'ares' and 'threaded-resolver' are mutually exclusive
37PACKAGECONFIG[ares] = "--enable-ares,--disable-ares,c-ares,,,threaded-resolver"
38PACKAGECONFIG[aws] = "--enable-aws,--disable-aws"
39PACKAGECONFIG[basic-auth] = "--enable-basic-auth,--disable-basic-auth"
40PACKAGECONFIG[bearer-auth] = "--enable-bearer-auth,--disable-bearer-auth"
41PACKAGECONFIG[brotli] = "--with-brotli,--without-brotli,brotli"
42PACKAGECONFIG[builtinmanual] = "--enable-manual,--disable-manual"
43# Don't use this in production
44PACKAGECONFIG[debug] = "--enable-debug,--disable-debug"
45PACKAGECONFIG[dict] = "--enable-dict,--disable-dict,"
46PACKAGECONFIG[digest-auth] = "--enable-digest-auth,--disable-digest-auth"
47PACKAGECONFIG[gnutls] = "--with-gnutls,--without-gnutls,gnutls"
48PACKAGECONFIG[gopher] = "--enable-gopher,--disable-gopher,"
49PACKAGECONFIG[imap] = "--enable-imap,--disable-imap,"
50PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
51PACKAGECONFIG[ipfs] = "--enable-ipfs,--disable-ipfs,"
52PACKAGECONFIG[kerberos-auth] = "--enable-kerberos-auth,--disable-kerberos-auth"
53PACKAGECONFIG[krb5] = "--with-gssapi,--without-gssapi,krb5"
54PACKAGECONFIG[ldap] = "--enable-ldap,--disable-ldap,openldap"
55PACKAGECONFIG[ldaps] = "--enable-ldaps,--disable-ldaps,openldap"
56PACKAGECONFIG[libgsasl] = "--with-libgsasl,--without-libgsasl,libgsasl"
57PACKAGECONFIG[libidn] = "--with-libidn2,--without-libidn2,libidn2"
58PACKAGECONFIG[libssh2] = "--with-libssh2,--without-libssh2,libssh2"
59PACKAGECONFIG[mbedtls] = "--with-mbedtls=${STAGING_DIR_TARGET},--without-mbedtls,mbedtls"
60PACKAGECONFIG[mqtt] = "--enable-mqtt,--disable-mqtt,"
61PACKAGECONFIG[negotiate-auth] = "--enable-negotiate-auth,--disable-negotiate-auth"
62PACKAGECONFIG[nghttp2] = "--with-nghttp2,--without-nghttp2,nghttp2"
63PACKAGECONFIG[openssl] = "--with-openssl,--without-openssl,openssl"
64PACKAGECONFIG[pop3] = "--enable-pop3,--disable-pop3,"
65PACKAGECONFIG[proxy] = "--enable-proxy,--disable-proxy,"
66PACKAGECONFIG[rtmpdump] = "--with-librtmp,--without-librtmp,rtmpdump"
67PACKAGECONFIG[rtsp] = "--enable-rtsp,--disable-rtsp,"
68PACKAGECONFIG[smb] = "--enable-smb,--disable-smb,"
69PACKAGECONFIG[smtp] = "--enable-smtp,--disable-smtp,"
70PACKAGECONFIG[telnet] = "--enable-telnet,--disable-telnet,"
71PACKAGECONFIG[tftp] = "--enable-tftp,--disable-tftp,"
72PACKAGECONFIG[threaded-resolver] = "--enable-threaded-resolver,--disable-threaded-resolver,,,,ares"
73PACKAGECONFIG[verbose] = "--enable-verbose,--disable-verbose"
74PACKAGECONFIG[websockets] = "--enable-websockets,--disable-websockets"
75PACKAGECONFIG[zlib] = "--with-zlib=${STAGING_LIBDIR}/../,--without-zlib,zlib"
76PACKAGECONFIG[zstd] = "--with-zstd,--without-zstd,zstd"
77
78EXTRA_OECONF = " \
79 --disable-libcurl-option \
80 --without-libpsl \
81 --enable-optimize \
82 ${@'--without-ssl' if (bb.utils.filter('PACKAGECONFIG', 'gnutls mbedtls openssl', d) == '') else ''} \
83 WATT_ROOT=${STAGING_DIR_TARGET}${prefix} \
84"
85EXTRA_OECONF:append:class-target = " \
86 --with-ca-bundle=${sysconfdir}/ssl/certs/ca-certificates.crt \
87"
88
89fix_absolute_paths () {
90 # cleanup buildpaths from curl-config
91 sed -i \
92 -e 's,--sysroot=${STAGING_DIR_TARGET},,g' \
93 -e 's,--with-libtool-sysroot=${STAGING_DIR_TARGET},,g' \
94 -e 's|${DEBUG_PREFIX_MAP}||g' \
95 -e 's|${@" ".join(d.getVar("DEBUG_PREFIX_MAP").split())}||g' \
96 ${D}${bindir}/curl-config
97}
98
99do_install:append:class-target() {
100 fix_absolute_paths
101}
102
103do_install:append:class-nativesdk() {
104 fix_absolute_paths
105
106 mkdir -p ${D}${SDKPATHNATIVE}/environment-setup.d
107 install -m 644 ${UNPACKDIR}/environment.d-curl.sh ${D}${SDKPATHNATIVE}/environment-setup.d/curl.sh
108}
109
110do_compile_ptest() {
111 oe_runmake -C ${B}/tests
112}
113
114do_install_ptest() {
115 install -d ${D}${PTEST_PATH}/tests
116 cp ${S}/tests/*.p[lmy] ${D}${PTEST_PATH}/tests/
117
118 install -d ${D}${PTEST_PATH}/tests/libtest
119 for name in $(makefile-getvar ${B}/tests/libtest/Makefile noinst_PROGRAMS noinst_LTLIBRARIES); do
120 ${B}/libtool --mode=install install ${B}/tests/libtest/$name ${D}${PTEST_PATH}/tests/libtest
121 done
122 rm -f ${D}${PTEST_PATH}/tests/libtest/libhostname.la
123
124 install -d ${D}${PTEST_PATH}/tests/server
125 for name in $(makefile-getvar ${B}/tests/server/Makefile noinst_PROGRAMS); do
126 ${B}/libtool --mode=install install ${B}/tests/server/$name ${D}${PTEST_PATH}/tests/server
127 done
128
129 install -d ${D}${PTEST_PATH}/src
130 install -m 755 ${B}/src/curlinfo ${D}${PTEST_PATH}/src
131
132 cp -r ${S}/tests/data ${D}${PTEST_PATH}/tests/
133
134 # More tests that we disable for automated QA as they're not reliable
135 cat ${UNPACKDIR}/disable-tests >>${D}${PTEST_PATH}/tests/data/DISABLED
136}
137
138DEPENDS:append:class-target = "${@bb.utils.contains('PTEST_ENABLED', '1', ' openssl-native', '', d)}"
139
140RDEPENDS:${PN}-ptest += " \
141 locale-base-en-us \
142 perl-module-b \
143 perl-module-base \
144 perl-module-cwd \
145 perl-module-digest \
146 perl-module-digest-md5 \
147 perl-module-digest-sha \
148 perl-module-file-basename \
149 perl-module-file-spec \
150 perl-module-file-temp \
151 perl-module-i18n-langinfo \
152 perl-module-io-socket \
153 perl-module-ipc-open2 \
154 perl-module-list-util \
155 perl-module-memoize \
156 perl-module-storable \
157 perl-module-time-hires \
158"
159
160PACKAGES =+ "lib${BPN}"
161
162FILES:lib${BPN} = "${libdir}/lib*.so.*"
163RRECOMMENDS:lib${BPN} += "ca-certificates"
164
165FILES:${PN} += "${datadir}/zsh"
166FILES:${PN}:append:class-nativesdk = " ${SDKPATHNATIVE}/environment-setup.d/curl.sh"
167
168inherit multilib_script
169MULTILIB_SCRIPTS = "${PN}-dev:${bindir}/curl-config"
170
171BBCLASSEXTEND = "native nativesdk"