Your message dated Thu, 31 Jul 2025 17:47:04 +0000
with message-id <[email protected]>
and subject line unblock debianutils
has caused the Debian Bug report #1109975,
regarding unblock: debianutils/5.23.1 (pre-approval)
to be marked as done.
This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.
(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)
--
1109975: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1109975
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: release.debian.org
Severity: normal
X-Debbugs-Cc: [email protected], [email protected]
Control: affects -1 + src:debianutils
User: [email protected]
Usertags: unblock
Please permit the upload of and provide an unblock for the package
debianutils.
[ Reason ]
In 5.22 (April), `run-parts --list` was changed to no longer fail when
given non-existing directories per #1102512 to support the UAPI
Configuration Files Spec.
The code replaced a hard error with a warning for this case.
Unfortunately, the warning is emitted to `stdout` interleaved with the
directories making scripting usage hard.
[ Impact ]
For script consumers of `run-parts --list`, then #1102512 might as well
not be fixed since it will be difficult to use the change in practice.
However, existing stable users will not be relying on this feature yet
anyhow (the change is making `run-parts` more permissive).
For other consumers of `debianutils`, there will be no impact.
[ Tests ]
A test case was added to ensure non-existing directories with `run-parts
--list` does not emit any output. See `debian/tests/run-parts.test`.
[ Risks ]
We believe the risks to be low but it is a change to an `Essential: yes`
package. The code change itself is trivial and tested.
[ Checklist ]
[X] all changes are documented in the d/changelog
[X] I reviewed all changes and I approve them
[X] attach debdiff against the package in testing. Note the diff is a
`git diff`, but I will be using `tag2upload`.
[ Other info ]
(Anything else the release team should know.)
unblock debianutils/5.23.1
diff --git a/debian/changelog b/debian/changelog
index 9587aeb..33cbe6b 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,10 @@
+debianutils (5.23.2) unstable; urgency=medium
+
+ * run-parts: Use `stderr` for error message on non-existing
+ directory with `--list`. (Closes: #1109705)
+
+ -- Niels Thykier <[email protected]> Sun, 27 Jul 2025 11:01:22 +0000
+
debianutils (5.23.1) unstable; urgency=medium
* Re-release to fix a few mistakes in 5.23.
diff --git a/debian/tests/run-parts.test b/debian/tests/run-parts.test
index 5574526..87d962c 100755
--- a/debian/tests/run-parts.test
+++ b/debian/tests/run-parts.test
@@ -29,6 +29,12 @@ END
chmod 755 "${AUTOPKGTEST_TMP}/Run-parts/executable1"
cp --archive "${AUTOPKGTEST_TMP}/Run-parts/executable1"
"${AUTOPKGTEST_TMP}/Run-parts/executable2"
+list_missing_path=$("$RUN_PARTS" --list "${AUTOPKGTEST_TMP}/nonexisting"
2>/dev/null)
+if [ -n "${list_missing_path}" ]; then
+ echo "Failure! 'run-parts --list .../nonexisting' should return no
matches, got: ${list_missing_path}" >&2
+ exit 1
+fi
+
list=$("$RUN_PARTS" --list "${AUTOPKGTEST_TMP}/Run-parts")
echo "$list"
test=$("$RUN_PARTS" --test "${AUTOPKGTEST_TMP}/Run-parts")
@@ -74,4 +80,4 @@ chmod 755 "${AUTOPKGTEST_TMP}/Run-parts2/executable1"
"$RUN_PARTS" -v --exit-on-error "${AUTOPKGTEST_TMP}/Run-parts2"
"${AUTOPKGTEST_TMP}/Run-parts" 2>&1
# Run-parts3 does not exist, so it is skipped and processing continues
-"$RUN_PARTS" -v --exit-on-error "${AUTOPKGTEST_TMP}/Run-parts3"
"${AUTOPKGTEST_TMP}/Run-parts2" 2>&1
\ No newline at end of file
+"$RUN_PARTS" -v --exit-on-error "${AUTOPKGTEST_TMP}/Run-parts3"
"${AUTOPKGTEST_TMP}/Run-parts2" 2>&1
diff --git a/run-parts.c b/run-parts.c
index 9fce509..f96b3c8 100644
--- a/run-parts.c
+++ b/run-parts.c
@@ -506,7 +506,7 @@ void run_parts(char **dirnames)
for (int i = 0; dirnames[i] != NULL; i++) {
DIR *dirfd = opendir(dirnames[i]);
if (!dirfd) {
- printf("run-parts: Skipping \"%s\"; failed to opendir: %s\n",
dirnames[i], strerror(errno));
+ fprintf(stderr, "run-parts: Skipping \"%s\"; failed to opendir: %s\n",
dirnames[i], strerror(errno));
continue;
}
struct dirent *dp;
OpenPGP_signature.asc
Description: OpenPGP digital signature
--- End Message ---
--- Begin Message ---
Unblocked debianutils.
--- End Message ---