Package: debmake-doc Version: 1.14-1 Severity: normal Hi
in "5.5.3. binNMU safe" there's: ~~~~ The dependency defined in the debian/control file among binary packages from the same source package should be safe for the binNMU. This needs attention if there are both “Architecture: any” and “Architecture: all” packages involved in it. [...] “Architecture: all” package: depends on “Architecture: any” baz package Depends: baz (>= ${source:Version}), baz (<< ${source:Upstream-Version}.0~) ~~~~ Instead of restricting this by the next upstream version, the next debian revision version should be used: Depends: baz (>= ${source:Version}), baz (<< ${source:Version}.1~) Explanation: Consider an arch:all package foo 1.0-1 which depends on baz as above. The restriction "baz (<< ${source:Upstream-Version}.0~)" would resolve to "baz << 1.0.0~". This correctly includes versions from binNMUs (1.0-1+b1). But it also includes new debian revisions like 1.0-2 or 1.0-1.1 (NMU), which might have changes which require foo and baz to be both updated at the same time (foo 1.0-1 does not work with baz 1.0-1.1). So these versions should be excluded. My proposal would set the restriction to "baz << 1.0-1.1~". I found that suggested in several places a few years ago, when I had a deep look into this topic for packaging wine. Some data: Roughly looking at codesearch for the pattern in debian/control: * (<< ${source:Upstream-Version}.0~) : 19 results https://codesearch.debian.net/search?q=%28%3C%3C+%24%7Bsource%3AUpstream- Version%7D.0%7E%29+path%3Adebian%2Fcontrol&literal=1 * (<< ${source:Version}.1~): 233 results https://codesearch.debian.net/search?q=%28%3C%3C+%24%7Bsource%3AVersion%7D.1%7E%29+path%3Adebian%2Fcontrol&literal=1 * AFAICT you might also use the slightly stricter "${source:Version}.0~", but it seems noone else does because NMUs should start at ".1": 0 results https://codesearch.debian.net/search?q=%28%3C%3C+%24%7Bsource%3AVersion%7D.0%7E%29+path%3Adebian%2Fcontrol&literal=1 Greets and thanks jre -- System Information: Debian Release: bullseye/sid APT prefers testing APT policy: (990, 'testing'), (500, 'unstable-debug'), (500, 'testing-debug'), (500, 'unstable'), (100, 'experimental'), (1, 'experimental-debug') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 4.19.0-5-amd64 (SMP w/12 CPU cores) Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE=en_US.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /usr/bin/dash Init: systemd (via /run/systemd/system) LSM: AppArmor: enabled debmake-doc depends on no packages. Versions of packages debmake-doc recommends: ii debmake 4.3.1-1 Versions of packages debmake-doc suggests: ii debian-policy 4.4.0.1 ii developers-reference 3.4.26 -- no debconf information