Summary
All repositories that produce Debian packages should have a ./run check-lintian command to verify lintian compliance locally before committing.
Background
While fixing lintian CI failures in halos-mdns-publisher (#13), we went through multiple commit/push/CI cycles to fix issues. Running lintian locally before committing would have caught these issues earlier.
Repos to update
Implementation
Add commands like:
function build-deb {
#@ Build Debian package for arm64
#@ Category: Package
echo "📦 Building Debian package..."
.github/scripts/build-deb-package.sh
}
function check-lintian {
#@ Run lintian on built package
#@ Category: Package
local deb_file
deb_file=$(ls -t *.deb 2>/dev/null | head -1)
if [[ -z "$deb_file" ]]; then
echo "❌ No .deb file found. Run 'build-deb' first."
exit 1
fi
echo "🔍 Running lintian on $deb_file..."
docker run --rm -v "$(pwd):/build" -w /build rust-debtools:latest \
lintian --info --display-info --fail-on error,warning "$deb_file"
echo "✅ Lintian check passed"
}
The exact docker image and commands may vary per repo depending on their build tooling.
Summary
All repositories that produce Debian packages should have a
./run check-lintiancommand to verify lintian compliance locally before committing.Background
While fixing lintian CI failures in halos-mdns-publisher (#13), we went through multiple commit/push/CI cycles to fix issues. Running lintian locally before committing would have caught these issues earlier.
Repos to update
Implementation
Add commands like:
The exact docker image and commands may vary per repo depending on their build tooling.