Skip to content

Implement support of binNMU for package builds

This ticket should be turned into a user-story describing how to build bin-NMUs. Right now the PackageBuild ontology doesn't cover this possibility and the Sbuild task doesn't implement it.

A bin-NMU is when the version of the binary packages doesn't fully match the version of the source package, yet it's still built from the same source package. In Debian, a binNMU typically adds a +bX suffix: for example 1.2-3+b2 is the second binNMU made with source package 1.2-3. sbuild provides the --append-to-version and/or --make-binNMU and --binNMU=version parameters to control this.

For Debian's use-case, a release team member should be able to schedule a binNMU for a set of packages on a set of architectures, with a debian changelog entry. Docs for the current process.

For Debusine, this probably looks like:

  1. Support for building binNMUs in Sbuild and PackageBuild generic tasks.
  2. Support for building binNMUs in the sbuild workflow.
  3. Later: A new workflow that looks up the current version of packages in a collection, and binNMUs them with an incremented version.

Support for binnmus in the sbuild task and workflow could be configured with a binnmu dict in task_data:

binnmu:
    changelog: Rebuild for 64bit time_t
    suffix: +b1
    timestamp: 2024-05-01T12:00:00Z
    maintainer: Foo Bar <foo@debian.org>

timestamp and maintainer would be optional, suffix and changelog would be mandatory.

Edited by Sylvain Beucler
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information