• Bug#1064950: AW: Bug#1064950: apache2: (Legacy?) "Depends: apache2-data

    From Sebastian Ramacher@21:1/5 to Christof on Mon Mar 4 08:50:01 2024
    On 2024-03-04 06:19:58 +0000, Warlich, Christof wrote:
    Sebastian Ramacher wrote:
    This is wrong. apache2-data is an Architecture: all package,
    but apache2 is Architecture: any. So using ${source:Version}
    here is correct. Note that Debian does not currently support
    binNMUs for Architecture: all packages, so apache2-data will
    never have a +bX version.

    Thanks for that clarification.

    This is somewhat confusing for someone not doing package builds as a daily profession: If just doing a "dpkg-buildpackage -us -uc" on the apache2 sources _with_ the +bX extension, the apache2-data binary package _does_ get the +bX extension as well, at
    least with my build, causing the issue that I described initially.

    For binNMUs you'll need to pass "-B" at least, but see below.

    Thus, as much as I think I've leaned so far, binNMU builds on source packages that also produce Architekture: all binary packages must always be built separately from sources without the +bX extension for the Architecture: all binary packages, whereras
    the architecture-dependent binary packages may be built from a source package with a +bX extension, right?

    Not exactly. The source packages are not changed for binNMUs. This is
    handled via sbuild's --binNMU-* options to set the changelog and the
    version. Specifically, these options imply that Arch: all binaries are
    not built.

    If this assumption is true, then why is the Debian build system (i.e. dpkg-buildpackage) not smart enough to simply ignore an existing +bX extension for Architecture: all binary packages? IMHO, this would simplify matters, as it would have avoided the
    pitfall that I stumbled into altogether.

    binNMUs are handled a layer above. sbuild will pass the correct options
    to dpkg-buildpackage to build binNMUs. If you are interested in having
    binNMU builds for your own infrastructure, you'll probably need to take
    a look at the sbuild source to see how it is implemented.

    Cheers
    --
    Sebastian Ramacher

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)