Niels Thykier:
Package: release.debian.org Severity: normal X-Debbugs-Cc: debianutils@packages.debian.org, niels@thykier.net Control: affects -1 + src:debianutils User: release.debian.org@packages.debian.org Usertags: unblockPlease permit the upload of and provide an unblock for the package debianutils.
Correction to this unblock request. At request of Bastian Blank (who requested the change originally for the Linux team), I have removed the message entirely.
In his view, the standard error message would only have been fine if none of the directories existed and we emitted for each missing directory. Removing the message entirely was the simpler of the two options, so I went with that. Updated diff attached.
[ 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..ba141c6 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,12 @@ +debianutils (5.23.2) unstable; urgency=medium + + * run-parts: Remove warning on non-existing + directory with `--list`. It was emitted + to `stdout` and even on `stderr` it would + cause issues. (Closes: #1109705) + + -- Niels Thykier <niels@thykier.net> 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..294c492 100644 --- a/run-parts.c +++ b/run-parts.c @@ -506,7 +506,6 @@ 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)); continue; } struct dirent *dp;
Attachment:
OpenPGP_signature.asc
Description: OpenPGP digital signature