Your message dated Sat, 11 Oct 2025 07:34:04 +0000
with message-id <[email protected]>
and subject line Bug#1111477: fixed in debcraft 0.6.0
has caused the Debian Bug report #1111477,
regarding debcraft-validator.sh can be improved
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.)
--
1111477: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1111477
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: debcraft
Version: 0.5.0
Severity: minor
Tags: patch
Dear Otto,
Salsa Debcraft Issue #18 "Is shellcheck meant to be run on debian/rules?":
https://salsa.debian.org/debian/debcraft/-/issues/18
It turns out that ShellCheck is **not** run on debian/rules.
Investigating this inspired me to make the following improvements to
debcraft-validator.sh:
* Change misleading "debian/rules" to "debian/"
* Capitalize as ShellCheck
* Simplify grep commands
* Specify dash dialect for #!/bin/sh scripts
* Use shellcheck quiet format
* Indicate which script(s) have validation errors
* Fix grammar
Tested patch below.
Thank you!
Daniel Lewart
Urbana, Illinois
diff -ru a/source/src/container/debcraft-validator.sh
b/source/src/container/debcraft-validator.sh
--- a/source/src/container/debcraft-validator.sh 2025-05-03
20:16:25.000000000 -0500
+++ b/source/src/container/debcraft-validator.sh 2025-08-18
00:00:00.000000000 -0500
@@ -74,23 +74,32 @@
VALIDATION_ERRORS+=('deputy-reformat-black')
fi
-log_info "Validating that all shell scripts in debian/rules pass Shellcheck..."
+log_info "Validating that all shell scripts in debian/ pass ShellCheck..."
# End with '|| true' to avoid emitting error codes in case no files were found
-SH_SCRIPTS="$(grep -Irnw debian/ -e '^#!.*/sh' | sort -u | cut -d ':' -f 1 ||
true)"
-BASH_SCRIPTS="$(grep -Irnw debian/ -e '^#!.*/bash' | sort -u | cut -d ':' -f 1
|| true)"
-if [ -n "$SH_SCRIPTS" ] || [ -n "$BASH_SCRIPTS" ]
-then
- # shellcheck disable=SC2086 # intentional expansion of arguments
- if ! shellcheck -x --shell=sh $SH_SCRIPTS > /dev/null || ! shellcheck -x
--shell=bash $BASH_SCRIPTS > /dev/null
+SH_SCRIPTS="$( grep -Ilrw '^#!.*/sh' debian/ | sort || true)"
+BASH_SCRIPTS="$(grep -Ilrw '^#!.*/bash' debian/ | sort || true)"
+
+for FILE in $SH_SCRIPTS
+do
+ if ! shellcheck -f quiet -s dash -x "$FILE"
then
- log_error "Shellcheck reported issues, please run it manually"
- VALIDATION_ERRORS+=('shellcheck')
+ log_error "ShellCheck reported issues, please run it manually on $FILE"
+ [[ "${VALIDATION_ERRORS[*]}" =~ shellcheck ]] ||
VALIDATION_ERRORS+=(shellcheck)
+ # @TODO: Automatically fix by applying diff from `shellcheck -x
--enable=all --format=diff`
+ fi
+done
+for FILE in $BASH_SCRIPTS
+do
+ if ! shellcheck -f quiet -s bash -x "$FILE"
+ then
+ log_error "ShellCheck reported issues, please run it manually on $FILE"
+ [[ "${VALIDATION_ERRORS[*]}" =~ shellcheck ]] ||
VALIDATION_ERRORS+=(shellcheck)
# @TODO: Automatically fix by applying diff from `shellcheck -x
--enable=all --format=diff`
fi
-fi
+done
-# Emit non-zero exit code if there was errors
+# Emit non-zero exit code if there were errors
if [ -n "${VALIDATION_ERRORS[*]}" ]
then
log_error "Failed on errors: ${VALIDATION_ERRORS[*]}"
--- End Message ---
--- Begin Message ---
Source: debcraft
Source-Version: 0.6.0
Done: Otto Kekäläinen <[email protected]>
We believe that the bug you reported is fixed in the latest version of
debcraft, which is due to be installed in the Debian FTP archive.
A summary of the changes between this version and the previous one is
attached.
Thank you for reporting the bug, which will now be closed. If you
have further comments please address them to [email protected],
and the maintainer will reopen the bug report if appropriate.
Debian distribution maintenance software
pp.
Otto Kekäläinen <[email protected]> (supplier of updated debcraft package)
(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing [email protected])
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512
Format: 1.8
Date: Fri, 10 Oct 2025 22:23:45 -0700
Source: debcraft
Architecture: source
Version: 0.6.0
Distribution: unstable
Urgency: medium
Maintainer: Otto Kekäläinen <[email protected]>
Changed-By: Otto Kekäläinen <[email protected]>
Closes: 1111477 1116727
Changes:
debcraft (0.6.0) unstable; urgency=medium
.
[ Otto Kekäläinen ]
* Rename `debcraft validate` to `debcraft improve` and extend features
(Closes: #1111477)
* Support enabling local repo with DEBCRAFT_EXTRA_REPOSITORY
* If package has no autopkgtests, use autodep8 to run some
* Fall back to commit id when building a detached HEAD
* Make upstream tarball (if exists) available for builds
* Improve notification about cleaning and resetting git repository
* Add Debian to Ubuntu release mapping: Trixie is like Plucky
* Strip debug symbols from GCC to keep container image size reasonable
* Update copyright years and format debian/copyright properly
* Separate test depends from build depends (Closes: #1116727)
* Pin Debian experimental to enable packages getting installed from there
* Add support for sccache and Rust builds caching
* Replace `dpkg-parsechangelog` with plain shell commands
* Store all build artefacts in ~/.cache/debcraft
* When checking for release tags, only consider name space debian|ubuntu/*
* Strip `-proposed-updates` from container name, similar to `-security`
* On every build run './debian/rules clean' to ensure sources are clean
* Run `apt-get update` in background so dropping to `debcraft shell` is
faster
.
[ TheJayMann ]
* Ignore quilt exit code 2
.
[ Dominik Stadler ]
* Add section about using debcraft in GitHub Actions
.
[ Nicola Chiapolini ]
* Explicitly use `Containerfile` to fix container builds with Docker
.
[ Aquila Macedo ]
* Implement proper CI with Docker-in-Docker setup for Debcraft development,
but temporarily skip failing tests in GitLab CI until everything has been
made fully compatible with DinD CI runs
Checksums-Sha1:
25913ca3c15ed3431563f74caf40440e462a822e 1698 debcraft_0.6.0.dsc
29bb9e7c4766e314913d19160d0c4631c0bf75f0 54872 debcraft_0.6.0.tar.xz
5748d5f904fbe5709308bf9dd62ad93840e6508e 9073 debcraft_0.6.0_source.buildinfo
Checksums-Sha256:
5313b4f6a41c9414f8a9624f88d247ec37c2bb4c2ae44bc52d54078a10673f65 1698
debcraft_0.6.0.dsc
410b74b120564064600b6a65c00417d5b9d6f06f876384a2a0f770ad70a239e1 54872
debcraft_0.6.0.tar.xz
98ba009bb51c7b85f3fe65e9363dcc34659d3a29150616d5d23fcff88fde1292 9073
debcraft_0.6.0_source.buildinfo
Files:
01ddda787a5281b5fa53efda2dd9d091 1698 misc optional debcraft_0.6.0.dsc
fb00002d1868946cdb36d25a19db58fc 54872 misc optional debcraft_0.6.0.tar.xz
b2ca9950c92d923bba9aae0b006ef0a8 9073 misc optional
debcraft_0.6.0_source.buildinfo
-----BEGIN PGP SIGNATURE-----
iQIzBAEBCgAdFiEEmbRSsR88dMO0U+RvvthEn87o2ogFAmjqAtIACgkQvthEn87o
2ogtlQ//f//hVklKB5W0QueMMRYLZ7l5I7QaOJXjS1kvbzoD2wEPwP+xdB7QrRvy
DmcysJ9mDgJeFjYcNk067vlBJZFE/kwPBcmEj3I5u5X2rHUB21E7rBxru5nUxik+
zj7RGPH15Rka31QyGyAjnXh60Yw09oC4tAG2DBpLsg+YGIKJMg/mLwm5E5QO7QUY
nK4Z9+Js0ywGX0rxG21L4HcFwzwCzJ+JLCI4ivmal9IVeUi82/xdxFL8AYQlBEtZ
jj857acqxL8FtoMoX4esHryIBY3q6OAomrgGrX1nrkid/5BYJZjNEhg+9sH7zMWj
9+vhjg6vUCltH5ai0JtOTMHByonn16urpeEN3HRJNqFCekee9P/5kwmFwnw+MJvm
FYqZAiKdYugsR2b+HKq2Y4hs8GGoZyiL+YqNEopxnQk8cMeeuBYXnJVh6o4fOOdG
2Y/Kr4QOi6x7H+fGgGXV+Hjzb2792kbClwNoo+NZ9eyxPIW2J39TWYKJgZcyMGmu
Xg7/0eULAyI/mlaqaSI28WfIbe7IZyr+LAW/Sw363qOqbaOoMK+TmoxVMhrK5Vy1
umjU7Ucv15YQaZI+5qTzv5P1em20lprDHhx5/bc/uv+f1kA0xrRaJ/Ri+Bxpqj/1
lph75q/hv78FpDwEX2WuEIIXCXHz/cIzDkL4CcUGsVFkhaIDtAo=
=Dlwa
-----END PGP SIGNATURE-----
pgpp3fLYgf7VG.pgp
Description: PGP signature
--- End Message ---