From a7d9b7fc1c13aa2c6d1dc48063d1af956326dc0c Mon Sep 17 00:00:00 2001 From: Ian Leonard Date: Sun, 8 Sep 2024 14:57:31 -0400 Subject: [PATCH 1/4] checkdeps: replace wget with curl Signed-off-by: Ian Leonard --- scripts/checkdeps | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/checkdeps b/scripts/checkdeps index fbf4e058e5..5c1275fea6 100755 --- a/scripts/checkdeps +++ b/scripts/checkdeps @@ -58,6 +58,7 @@ dep_map=( [bash]=bash [bc]=bc [bzip2]=bzip2 + [curl]=curl [diff]=diffutils [gawk]=gawk [gcc]=gcc @@ -73,7 +74,6 @@ dep_map=( [sed]=sed [tar]=tar [unzip]=unzip - [wget]=wget [xz]=xz-utils [zip]=zip [zstd]=zstd From 95e2a94898c5335d58d5ed95776b3cab05f67cd5 Mon Sep 17 00:00:00 2001 From: Ian Leonard Date: Sun, 8 Sep 2024 06:38:25 -0400 Subject: [PATCH 2/4] build: replace wget with curl for fetching archives Signed-off-by: Ian Leonard --- scripts/get_archive | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/scripts/get_archive b/scripts/get_archive index 9f5b768e47..b53cf596e3 100755 --- a/scripts/get_archive +++ b/scripts/get_archive @@ -21,21 +21,21 @@ build_msg "CLR_GET" "GET" "${1} (archive)" "indent" pkg_lock_status "GETPKG" "${PKG_NAME}" "unpack" "downloading package..." PACKAGE_MIRROR="${DISTRO_MIRROR}/${PKG_NAME}/${PKG_SOURCE_NAME}" -[ "${VERBOSE}" != "yes" ] && WGET_OPT=-q -WGET_CMD="wget --output-file=- --timeout=30 --tries=3 --no-check-certificate -c ${WGET_OPT} --progress=bar:force --show-progress -O ${PACKAGE}" + +[ "${VERBOSE}" != "yes" ] && GET_OPT="--silent --show-error" +GET_CMD="curl ${GET_OPT} --connect-timeout 30 --retry 3 --continue-at - --location --max-redirs 5 --output ${PACKAGE}" # unset LD_LIBRARY_PATH to stop wget from using toolchain/lib and loading libssl.so/libcrypto.so instead of host libraries unset LD_LIBRARY_PATH rm -f "${STAMP_URL}" "${STAMP_SHA}" -NBWGET=10 +NBGET=10 NBCHKS=2 -while [ ${NBWGET} -gt 0 -a ${NBCHKS} -gt 0 ]; do +while [ ${NBGET} -gt 0 -a ${NBCHKS} -gt 0 ]; do for url in "${PKG_URL}" "${PACKAGE_MIRROR}"; do rm -f "${PACKAGE}" - [[ "${url}" =~ ^[fF][tT][pP]:* ]] && WGET_FTP=--passive-ftp || WGET_FTP= - if ${WGET_CMD} ${WGET_FTP} "${url}"; then + if ${GET_CMD} "${url}"; then CALC_SHA256=$(sha256sum "${PACKAGE}" | cut -d" " -f1) [ -z "${PKG_SHA256}" -o "${PKG_SHA256}" = "${CALC_SHA256}" ] && break 2 @@ -49,10 +49,10 @@ while [ ${NBWGET} -gt 0 -a ${NBCHKS} -gt 0 ]; do fi fi done - NBWGET=$((NBWGET - 1)) + NBGET=$((NBGET - 1)) done -if [ ${NBWGET} -eq 0 -o ${NBCHKS} -eq 0 ]; then +if [ ${NBGET} -eq 0 -o ${NBCHKS} -eq 0 ]; then die "\nCannot get ${1} sources : ${PKG_URL}\nTry later!" else build_msg "CLR_INFO" "INFO" "Calculated checksum: ${CALC_SHA256}" From 670a5101c1bf38239eb0142573552c96e79874d7 Mon Sep 17 00:00:00 2001 From: Ian Leonard Date: Sun, 8 Sep 2024 14:58:55 -0400 Subject: [PATCH 3/4] tools/docker: replace wget with curl Signed-off-by: Ian Leonard --- tools/docker/bookworm/Dockerfile | 2 +- tools/docker/focal/Dockerfile | 2 +- tools/docker/jammy/Dockerfile | 2 +- tools/docker/noble/Dockerfile | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/tools/docker/bookworm/Dockerfile b/tools/docker/bookworm/Dockerfile index 988d795778..e89301c3c2 100644 --- a/tools/docker/bookworm/Dockerfile +++ b/tools/docker/bookworm/Dockerfile @@ -21,7 +21,7 @@ RUN echo "deb http://deb.debian.org/debian bookworm-backports main" > /etc/apt/s RUN apt-get update RUN apt-get install -y \ - wget bash bc gcc sed patch patchutils tar bzip2 gzip xz-utils zstd perl gawk gperf zip \ + curl bash bc gcc sed patch patchutils tar bzip2 gzip xz-utils zstd perl gawk gperf zip \ unzip diffutils lzop make file g++ xfonts-utils xsltproc default-jre-headless python3 \ libc6-dev libncurses5-dev libjson-perl libxml-parser-perl libparse-yapp-perl rdfind \ golang-1.21-go/bookworm-backports git openssh-client \ diff --git a/tools/docker/focal/Dockerfile b/tools/docker/focal/Dockerfile index 6c1fdd2871..4b85ebab4a 100644 --- a/tools/docker/focal/Dockerfile +++ b/tools/docker/focal/Dockerfile @@ -18,7 +18,7 @@ RUN adduser --disabled-password --gecos '' docker \ && echo '%sudo ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers RUN apt-get update && apt-get install -y \ - wget bash bc gcc-10 sed patch patchutils tar bzip2 gzip xz-utils zstd perl gawk gperf zip \ + curl bash bc gcc-10 sed patch patchutils tar bzip2 gzip xz-utils zstd perl gawk gperf zip \ unzip diffutils lzop make file g++-10 xfonts-utils xsltproc default-jre-headless python3 \ libc6-dev libncurses5-dev libjson-perl libxml-parser-perl libparse-yapp-perl \ golang-1.18-go git openssh-client \ diff --git a/tools/docker/jammy/Dockerfile b/tools/docker/jammy/Dockerfile index 111c85a803..75284a28ad 100644 --- a/tools/docker/jammy/Dockerfile +++ b/tools/docker/jammy/Dockerfile @@ -19,7 +19,7 @@ RUN adduser --disabled-password --gecos '' docker \ RUN apt-get update RUN apt-get install -y \ - wget bash bc gcc-12 sed patch patchutils tar bzip2 gzip xz-utils zstd perl gawk gperf zip \ + curl bash bc gcc-12 sed patch patchutils tar bzip2 gzip xz-utils zstd perl gawk gperf zip \ unzip diffutils lzop make file g++-12 xfonts-utils xsltproc default-jre-headless python3 \ libc6-dev libncurses5-dev libjson-perl libxml-parser-perl libparse-yapp-perl rdfind \ golang-1.21-go git openssh-client \ diff --git a/tools/docker/noble/Dockerfile b/tools/docker/noble/Dockerfile index 110e6cb026..6e298d878a 100644 --- a/tools/docker/noble/Dockerfile +++ b/tools/docker/noble/Dockerfile @@ -18,7 +18,7 @@ RUN useradd docker -U -G sudo -m -s /bin/bash \ RUN apt-get update RUN apt-get install -y \ - wget bash bc gcc-14 cpp-14 sed patch patchutils tar bzip2 gzip xz-utils zstd perl gawk gperf zip \ + curl bash bc gcc-14 cpp-14 sed patch patchutils tar bzip2 gzip xz-utils zstd perl gawk gperf zip \ unzip diffutils lzop make file g++-14 xfonts-utils xsltproc default-jre-headless python3 \ libc6-dev libncurses5-dev libjson-perl libxml-parser-perl libparse-yapp-perl rdfind \ golang-go git openssh-client \ From 87ba5fdb4d3b24c232e2a949540557687c53f48d Mon Sep 17 00:00:00 2001 From: Ian Leonard Date: Sun, 8 Sep 2024 15:08:05 -0400 Subject: [PATCH 4/4] tools/distro-tool: replace wget with curl Signed-off-by: Ian Leonard --- tools/distro-tool | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/tools/distro-tool b/tools/distro-tool index c7ccd13fc5..150eaf5f32 100755 --- a/tools/distro-tool +++ b/tools/distro-tool @@ -348,7 +348,7 @@ class MyUtility(object): raise return "" - # Use wget with same parameters as scripts/get is using + # Use same get command as scripts/get_archive is using @staticmethod def download_file(msgs, filename_data, filename_log, url): retries=10 @@ -357,10 +357,7 @@ class MyUtility(object): while attempts < retries: if stopped.is_set(): break attempts += 1 - if url.startswith("ftp:"): - (result, output) = MyUtility.runcommand(msgs, "wget --output-file=- --timeout=30 --tries=3 --no-check-certificate -O %s %s" % (filename_data, url), logfile=filename_log) - else - (result, output) = MyUtility.runcommand(msgs, "wget --output-file=- --timeout=30 --tries=3 --passive-ftp --no-check-certificate -O %s %s" % (filename_data, url), logfile=filename_log) + (result, output) = MyUtility.runcommand(msgs, f"curl --silent --show-error --connect-timeout 30 --retry 3 --continue-at - --location --max-redirs 5 --output {filename_data} {url}", logfile=filename_log) if result == 0: return True