diff --git a/.gitignore b/.gitignore index e3bb629..70ccca6 100644 --- a/.gitignore +++ b/.gitignore @@ -3,5 +3,3 @@ /wget2-2.1.0.tar.gz.sig /wget2-2.2.0.tar.gz /wget2-2.2.0.tar.gz.sig -/wget2-2.2.1.tar.gz -/wget2-2.2.1.tar.gz.sig diff --git a/0001-use-signed-char-ascii.patch b/0001-use-signed-char-ascii.patch new file mode 100644 index 0000000..5f49f3e --- /dev/null +++ b/0001-use-signed-char-ascii.patch @@ -0,0 +1,24 @@ +From e4a04807d77d4eb1dfe63442ef1ad2ba749e86cc Mon Sep 17 00:00:00 2001 +From: Michal Ruprich +Date: Sat, 30 Nov 2024 19:52:23 +0100 +Subject: [PATCH] * src/utils.c (wget_restrict_file_name): Explicitly use + signed char + +Fix test--restrict-ascii failures on aarch64, s390x and ppc64le. +--- + src/utils.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/utils.c b/src/utils.c +index fa2104f60..54a03f76c 100644 +--- a/src/utils.c ++++ b/src/utils.c +@@ -151,7 +151,7 @@ char *wget_restrict_file_name(const char *fname, char *esc, int mode) + bool ascii = mode & WGET_RESTRICT_NAMES_ASCII; + + for (dst = esc, s = fname; *s; s++) { +- char c = *s; ++ signed char c = *s; + + if (lowercase && c >= 'A' && c <= 'Z') { // isupper() also returns true for chars > 0x7f, the test is not EBCDIC compatible ;-) + c |= 0x20; diff --git a/0002-dont-truncate-no-clobber.patch b/0002-dont-truncate-no-clobber.patch new file mode 100644 index 0000000..ee13135 --- /dev/null +++ b/0002-dont-truncate-no-clobber.patch @@ -0,0 +1,23 @@ +From ad80bf39ce6b2bc39a9b286d3f3fc6b67142e7e7 Mon Sep 17 00:00:00 2001 +From: Michal Ruprich +Date: Tue, 26 Nov 2024 13:26:06 +0100 +Subject: [PATCH] Prevent file truncation with --no-clobber + +* src/options.c (init): Check config.clobber. +--- + src/options.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/options.c b/src/options.c +index 36cd3bb4..2132bfd1 100644 +--- a/src/options.c ++++ b/src/options.c +@@ -3492,7 +3492,7 @@ int init(int argc, const char **argv) + if (config.output_document && strcmp(config.output_document, "-") && !config.dont_write) { + if (config.unlink) { + unlink(config.output_document); +- } else if (!config.continue_download) { ++ } else if (!config.continue_download && config.clobber) { + int fd = open(config.output_document, O_WRONLY | O_TRUNC | O_BINARY); + + if (fd != -1) diff --git a/0003-Add-show-progress.patch b/0003-Add-show-progress.patch new file mode 100644 index 0000000..25701a7 --- /dev/null +++ b/0003-Add-show-progress.patch @@ -0,0 +1,32 @@ +From bc77fe1c8a3ebefa07eff7ec1088fb58876a03d3 Mon Sep 17 00:00:00 2001 +From: CaitCatDev +Date: Mon, 27 Jan 2025 23:38:32 +0000 +Subject: [PATCH] Add --show-progress + +* src/options.c (struct optionw options): Add show-progress item. + +Copyright-paperwork-exempt: Yes +--- + src/options.c | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/src/options.c b/src/options.c +index 2132bfd1..83fab8f7 100644 +--- a/src/options.c ++++ b/src/options.c +@@ -2265,6 +2265,12 @@ static const struct optionw options[] = { + { "Print the server response headers. (default: off)\n" + } + }, ++ { "show-progress", &config.force_progress, parse_bool, -1, 0, ++ SECTION_DOWNLOAD, ++ { "Show Progress Bar (Deprecated alias for --force-progress)\n", ++ "(default: off)\n" ++ } ++ }, + #ifdef WITH_GPGME + { "signature-extensions", &config.sig_ext, parse_stringlist, 1, 0, + SECTION_GPG, +-- +2.48.1 + diff --git a/sources b/sources index 6b0b36d..ce583cb 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (wget2-2.2.1.tar.gz) = ce458c31eda12b12120dd39d43751d7ac3c9b46ea994ae383cc5a68be2ee776840126e5251a9479b8e3b350f093c6b3dc1dc8fca48a159e4117a73b328a91021 -SHA512 (wget2-2.2.1.tar.gz.sig) = ae79112fad4eaf7d12d8d6da86a735851b63433ed2c48300937f2e70ed52fe552a49e64e9c597580c91009cda7e2c5e129d6f9978e8312f8430438c723cbc16b +SHA512 (wget2-2.2.0.tar.gz) = b39fb6f65b3be39c0f8f33a337c0417c8b31bf993cddbab1ef5e3dba66c6651ff8ec25d3a01ab5aa632072b14adab06adc4941bdb8e9cbf3b60bdd6f3f059cf1 +SHA512 (wget2-2.2.0.tar.gz.sig) = 217060bd7b6064c020f7d18ee1cf15b8e644de7da6d86c973c215f2a49bc0fbba16cab98db9f9f7058fb20bfa6561fba84f3c4ec230be07614f65de9a8e905e1 diff --git a/wget2.spec b/wget2.spec index a1f6380..a3d128f 100644 --- a/wget2.spec +++ b/wget2.spec @@ -1,14 +1,14 @@ -%if (0%{?fedora} && 0%{?fedora} < 40) || (0%{?rhel} && 0%{?rhel} < 11) +%if (0%{?fedora} && 0%{?fedora} < 40) || (0%{?rhel} && 0%{?rhel} < 10) %bcond as_wget 0 %else %bcond as_wget 1 %endif -%global somajor 4 +%global somajor 3 Name: wget2 -Version: 2.2.1 -Release: 3%{?dist} +Version: 2.2.0 +Release: 2%{?dist} Summary: An advanced file and recursive website downloader # Documentation is GFDL @@ -19,6 +19,16 @@ Source1: https://ftp.gnu.org/gnu/wget/%{name}-%{version}.tar.gz.sig # key 08302DB6A2670428 Source2: tim.ruehsen-keyring.asc +# Backports from upstream +# Patch0001 needed for proper build on other than x86 arches +Patch0001: 0001-use-signed-char-ascii.patch +# -O and -nc together truncate existing file and cause data loss +# rhbz#2298879 +Patch0002: 0002-dont-truncate-no-clobber.patch +# Add --show-progress as alias for --force-progress for wget1 compat +# rhbz#2348997 +Patch0003: 0003-Add-show-progress.patch + # Buildsystem build requirements BuildRequires: autoconf BuildRequires: automake @@ -101,8 +111,9 @@ use functionality from GNU Wget2. %package wget Summary: %{name} shim to provide wget Requires: wget2%{?_isa} = %{version}-%{release} -# Replace wget1 +# Replace wget Conflicts: wget < 2 +Obsoletes: wget < 2 Provides: wget = %{version}-%{release} Provides: wget%{?_isa} = %{version}-%{release} # From original wget package @@ -179,28 +190,10 @@ echo ".so man1/%{name}.1" > %{buildroot}%{_mandir}/man1/wget.1 %changelog -* Fri Jul 17 2026 Fedora Release Engineering - 2.2.1-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild - -* Sat Jan 17 2026 Fedora Release Engineering - 2.2.1-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild - -* Thu Jan 01 2026 LuK1337 - 2.2.1-1 -- New version 2.2.1 - -* Fri Jul 25 2025 Fedora Release Engineering - 2.2.0-6 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild - -* Wed May 14 2025 Michal Ruprich - 2.2.0-5 -- Removing Obsoletes so that wget2 can be replaced by wget1 - -* Fri Feb 28 2025 Neal Gompa - 2.2.0-3 +* Fri Feb 28 2025 Neal Gompa - 2.2.0-2 - Backport support for --show-progress flag Resolves: rhbz#2348997 -* Sun Jan 19 2025 Fedora Release Engineering - 2.2.0-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild - * Mon Dec 02 2024 Michal Ruprich - 2.2.0-1 - New version 2.2.0 - Resolves: rhbz#2298879 - Using options -nc and -O simultaneously causes existing files to be clobbered/truncated @@ -208,12 +201,6 @@ echo ".so man1/%{name}.1" > %{buildroot}%{_mandir}/man1/wget.1 - Resolves: rhbz#2327728 - Crash: "free(): double free detected in tcache 2" when using --load-cookies - Resolves: rhbz#2280151 - wget2 always re-downdloads when using custom output filename -* Fri Aug 09 2024 Jonathan Wright - 2.1.0-13 -- do not replace wget on el10 - -* Sat Jul 20 2024 Fedora Release Engineering - 2.1.0-12 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild - * Tue Jul 02 2024 Romain Geissler - 2.1.0-11 - Disable TCP Fast Open by default