Skip to content

Add check-lintian run subcommand to all Debian-producing repos #66

@mairas

Description

@mairas

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

  • halos-cockpit-branding
  • cockpit-apt
  • homarr-container-adapter
  • halos-metapackages
  • halos-core-containers
  • halos-imported-containers
  • halos-marine-containers
  • halos-mdns-publisher (already done)

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions