Bug#1109975: unblock: debianutils/5.23.1 (pre-approval)
Niels Thykier: [...] Thanks for the approval. I uploaded the package a few hours ago and has been built on most architectures, so I am removing the moreinfo tag now. Best regards, Niels All builds + autogpkgtests are now green. As I read the excuses, an unblock + aging is all is left for the migration. Best regards, Niels OpenPGP_signature.asc Description: OpenPGP digital signature
Bug#1109975: unblock: debianutils/5.23.1 (pre-approval)
Control: tags -1 -moreinfo Sebastian Ramacher: Control: tags -1 moreinfo confirmed On 2025-07-27 13:28:27 +0200, Niels Thykier wrote: Niels Thykier: 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. 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. Assuming this can be uploaded very soon, please go ahead and remove the moreinfo tag once the upload is in unstable. Cheers [...] Thanks for the approval. I uploaded the package a few hours ago and has been built on most architectures, so I am removing the moreinfo tag now. Best regards, Niels
Bug#1109975: unblock: debianutils/5.23.1 (pre-approval)
Control: tags -1 moreinfo confirmed On 2025-07-27 13:28:27 +0200, Niels Thykier wrote: > Niels Thykier: > > 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. > > > > 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. Assuming this can be uploaded very soon, please go ahead and remove the moreinfo tag once the upload is in unstable. Cheers > > > [ 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 Sun, 27 Jul 2025 11:01:22 + > + > 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; -- Sebastian Ramacher
Bug#1109975: unblock: debianutils/5.23.1 (pre-approval)
Niels Thykier: 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. 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 Sun, 27 Jul 2025 11:01:22 + + 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; OpenPGP_signature.asc Description: OpenPGP digital signature
Bug#1109975: unblock: debianutils/5.23.1 (pre-approval)
On Sun, Jul 27, 2025 at 01:09:38PM +0200, Niels Thykier wrote: > Please permit the upload of and provide an unblock for the package > debianutils. Neither the original change (which differed from what I proposed), nor the current variant really solve the problem that was intended. So both are unusable for us. A warning might be appropriate if nothing specified exists. Bastian -- Most legends have their basis in facts. -- Kirk, "And The Children Shall Lead", stardate 5029.5
Bug#1109975: unblock: debianutils/5.23.1 (pre-approval)
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 Sun, 27 Jul 2025 11:01:22 + + 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

