From db3f3501151c012751012659e149a7f80e4efd54 Mon Sep 17 00:00:00 2001 From: Zach van Rijn Date: Fri, 7 Apr 2023 10:44:57 -0700 Subject: system/diffutils: add patch for 'diff -D' regression. fixes #983, #984. --- system/diffutils/APKBUILD | 6 +- .../diff-fix-bug-where-D-does-not-work.patch | 72 ++++++++++++++++++++++ 2 files changed, 76 insertions(+), 2 deletions(-) create mode 100644 system/diffutils/diff-fix-bug-where-D-does-not-work.patch diff --git a/system/diffutils/APKBUILD b/system/diffutils/APKBUILD index f7fd123c4..5dc4fd585 100644 --- a/system/diffutils/APKBUILD +++ b/system/diffutils/APKBUILD @@ -1,7 +1,7 @@ # Maintainer: Zach van Rijn pkgname=diffutils pkgver=3.9 -pkgrel=0 +pkgrel=1 pkgdesc="Utility programs used for creating patch files" url="https://www.gnu.org/software/diffutils/" arch="all" @@ -12,6 +12,7 @@ subpackages="$pkgname-doc $pkgname-lang" source="https://ftp.gnu.org/pub/gnu/$pkgname/$pkgname-$pkgver.tar.xz disable-mbrtowc-test.patch gnulib-tests-dont-require-gpg-passphrase.patch + diff-fix-bug-where-D-does-not-work.patch " build() { @@ -37,4 +38,5 @@ package() { sha512sums="d43280cb1cb2615a8867d971467eb9a3fa037fe9a411028068036f733dab42b10d42767093cea4de71e62b2659a3ec73bd7d1a8f251befd49587e32802682d0f diffutils-3.9.tar.xz 079d04f48fa5f5fd57eca8ba9ddefcdbb9e42a26dba7ca9b0a6f3f391112aa5ce34f0a32a931432f0ef0cc3345cc97de8310660cd05df9b30c38609440a729ee disable-mbrtowc-test.patch -bf78ccb22f9bcc7bb69414e19075233369c4373210a3f686b459ba37a0167ed130bd03b2d18440e04b773e5131a19006482a0ed8a1e2344ed4e869778c843f95 gnulib-tests-dont-require-gpg-passphrase.patch" +bf78ccb22f9bcc7bb69414e19075233369c4373210a3f686b459ba37a0167ed130bd03b2d18440e04b773e5131a19006482a0ed8a1e2344ed4e869778c843f95 gnulib-tests-dont-require-gpg-passphrase.patch +9d495b74f9bd5eb7fbfcc487f22e0202406eb1db47c6624fc3bcc2a9971587fcd43a9d2b2ff73950863501e1aa1846abc41bb0fba53069e01fa96bddb2c7db72 diff-fix-bug-where-D-does-not-work.patch" diff --git a/system/diffutils/diff-fix-bug-where-D-does-not-work.patch b/system/diffutils/diff-fix-bug-where-D-does-not-work.patch new file mode 100644 index 000000000..fa547efd8 --- /dev/null +++ b/system/diffutils/diff-fix-bug-where-D-does-not-work.patch @@ -0,0 +1,72 @@ +This patch differs from upstream in the following way: + + * It does not add the 'ifdef' regression test. + +Justification: + + * Adding unnecessary dependencies (autotools) is undesirable; + + * Attempting to 'autoreconf -i' (due to touched 'Makefile.am') + does not work in the current environment, failing with: + + configure:7925: error: possibly undefined macro: gl_ANYTHREADLIB_EARLY + ... + configure:13623: error: possibly undefined macro: gl_PTHREADLIB + configure:13708: error: possibly undefined macro: gl_WEAK_SYMBOLS + autoreconf: error: /usr/bin/autoconf failed with exit status: 1 + + * The next diffutils release tarball should be usable. + +From ba08fbbb0ca5da455bf695236c57bc50e7faed50 Mon Sep 17 00:00:00 2001 +From: Paul Eggert +Date: Fri, 10 Feb 2023 15:33:40 -0800 +Subject: diff: fix bug where -D does not work +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Problem reported by Robert Webb (bug#61193). +* NEWS: Mention this. +* src/diff.c (main): Omit stray ‘sizeof’. +* tests/ifdef: New test. +* tests/Makefile.am (TESTS): Add it. +--- + NEWS | 5 +++++ + src/diff.c | 2 +- + tests/Makefile.am | 1 + + tests/ifdef | 37 +++++++++++++++++++++++++++++++++++++ + 4 files changed, 44 insertions(+), 1 deletion(-) + create mode 100755 tests/ifdef + +diff --git a/NEWS b/NEWS +index ad9c6cc..f146730 100644 +--- a/NEWS ++++ b/NEWS +@@ -2,6 +2,11 @@ GNU diffutils NEWS -*- outline -*- + + * Noteworthy changes in release ?.? (????-??-??) [?] + ++** Bug fixes ++ ++ diff -D no longer fails to output #ifndef lines. ++ [bug#61193 introduced in 3.9] ++ + + * Noteworthy changes in release 3.9 (2023-01-15) [stable] + +diff --git a/src/diff.c b/src/diff.c +index dd6f63b..2b4834f 100644 +--- a/src/diff.c ++++ b/src/diff.c +@@ -416,7 +416,7 @@ main (int argc, char **argv) + char *base = b; + int changes = 0; + +- for (i = 0; i < sizeof sizeof C_ifdef_group_formats; i++) ++ for (i = 0; i < sizeof C_ifdef_group_formats; i++) + { + char ch = C_ifdef_group_formats[i]; + switch (ch) +-- +cgit v1.1 + -- cgit v1.2.3-60-g2f50