aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPádraig Brady <P@draigBrady.com>2025-07-22 20:34:50 +0100
committerPádraig Brady <P@draigBrady.com>2025-07-22 21:15:17 +0100
commit5a106af2d69af9477e614d50cf5c22315ef402ea (patch)
tree57719bac7f96e2dcbf85650fe8c0c06a22854d68
parenttests: date: add tests for the Thai solar calendar (diff)
downloadcoreutils-5a106af2d69af9477e614d50cf5c22315ef402ea.tar.gz
coreutils-5a106af2d69af9477e614d50cf5c22315ef402ea.zip
install: with -d, use more accurate diagnostics
* gnulib: Update to latest to get the fix to propagate the appropriate error message. * tests/install/basic-1.sh: Add a test case. * NEWS: Mention the bug fix. Addresses https://bugs.gnu.org/79072
-rw-r--r--NEWS5
m---------gnulib0
-rwxr-xr-xtests/install/basic-1.sh7
3 files changed, 12 insertions, 0 deletions
diff --git a/NEWS b/NEWS
index f4a4739a8..17a43b064 100644
--- a/NEWS
+++ b/NEWS
@@ -16,6 +16,11 @@ GNU coreutils NEWS -*- outline -*-
copying to non-NFS files from NFSv4 files with trivial ACLs.
[bug introduced in coreutils-9.6]
+ install -d now produces the correct diagnostic upon failure
+ to create a directory. Previously it would have produced
+ a confusing error about changing permissions.
+ [This bug was present in "the beginning".]
+
od --strings with -N now works correctly. Previously od might
write a NUL byte after a heap buffer, or output invalid addresses.
[These bugs were present in "the beginning".]
diff --git a/gnulib b/gnulib
-Subproject 91aacb5536d4e768064c4f4d8d28bef6aa37e53
+Subproject 84ddfc7bd29853ed91cdd65c7ce818072959f97
diff --git a/tests/install/basic-1.sh b/tests/install/basic-1.sh
index e311dbb9e..fd13eb68b 100755
--- a/tests/install/basic-1.sh
+++ b/tests/install/basic-1.sh
@@ -148,4 +148,11 @@ returns_ 1 ginstall . . 2>err || fail=1
printf '%s\n' "ginstall: omitting directory '.'" >exp || framework_failure_
compare exp err || fail=1
+# Ensure correct diagnostic for failing to create dir
+mkdir -m 111 sub-ro || framework_failure_
+if ! mkdir sub-ro/d; then
+ returns_ 1 ginstall -d sub-ro/d 2>err || fail=1
+ grep 'cannot create directory' err || { cat err; fail=1; }
+fi
+
Exit $fail