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:
- Support for building binNMUs in
SbuildandPackageBuildgeneric tasks. - Support for building binNMUs in the
sbuildworkflow. - 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.