diff --git a/scripts/checkdeps b/scripts/checkdeps index 2ac7ed65f9..63519b51a4 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 @@ -74,7 +75,6 @@ dep_map=( [sed]=sed [tar]=tar [unzip]=unzip - [wget]=wget [xz]=xz-utils [zip]=zip [zstd]=zstd 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}" 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 diff --git a/tools/docker/bookworm/Dockerfile b/tools/docker/bookworm/Dockerfile index 9554ecba41..79498a4a03 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 rsync \ diff --git a/tools/docker/focal/Dockerfile b/tools/docker/focal/Dockerfile index aca5fbc976..d010a4d34d 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 rsync \ diff --git a/tools/docker/jammy/Dockerfile b/tools/docker/jammy/Dockerfile index 04e041b67c..44cb5e87e4 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 rsync \ diff --git a/tools/docker/noble/Dockerfile b/tools/docker/noble/Dockerfile index 815322051e..a45a671bd8 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 rsync \