The reason I said in debhelper's changelog that, "This change is mostly useful when using minimal rules files with dh." is because packages with old-style rules files, especially packages that only build on limited architectures, will almost certianly use -a -i -s flags to make debhelper do the right thing.
The only counterexample I can think of would be an old style rules file that did something like this: dh_installdeb -a # act on all packages, even for wrong arches cp debian/foo debian/bar/DEBIAN/ # dir always created by above dh_builddeb -s But, this rules file was not broken by debhelper 7.4.16! No, it was broken 8 months ago, in debhelper 7.4.0, which made the -a flag act the same as the -s flag. And noone has complained about that change. A rules file that left off the "-a" would have kept working until 7.4.16. Both variants of the rules file seem equally (un)likely to exist. So, seems safe enough to assume only packages using dh are impacted. ---- So, let's identify source packages that depend on a new enough debhelper to use dh. In order to be impacted, they must also build more than one binary package, and cannot be arch: all. cat /var/lib/apt/lists/ftp.us.debian.org_debian_dists_unstable_*Sources|grep-dctrl -e -F Build-Depends,Build-Depends-Indep 'debhelper \(>= 7.(0.5[0-9]|[1-9])' | grep-dctrl -F Binary ", " | grep-dctrl -v -F Architecture all -s Package|wc -l 531 That can be weeded down further, by pulling the source to those packages, and finding those where debian/control has multiple, differing Architecture lines (and at least one line must be more complex than "all" or "any"). for d in $(find . -mindepth 1 -maxdepth 1 -type d); do if [ $(grep '^Architecture:' "$d/debian/control" | sed 's/all/any/' | sort | uniq |wc -l) != 1 ]; then echo $d; fi; done ./klibc-1.5.17 ./snd-11.4 ./libvncserver-0.9.7 ./nbd-2.9.15 ./spectemu-0.94a ./nauty-2.4 ./k3b-1.90.0~rc1 ./xmms2-0.7DrNo ./ecore-0.9.9.063 ./libdrm-2.4.18 ./partconf-1.33 ./netcfg-1.52 ./sl-modem-2.9.11~20100303 That's few enough to manually review. I found these problems: - netcfg (of course) - sl-modem (rules file assumes debian/sl-modem-daemon/DEBIAN always exists, which is only true on i386 and amd64. *However*, the only other binary package in that source is i386 only, so there is no real FTBFS with the new debhelper.) - partconf (contains workaround for #572077 that can be removed) - libvncserver (contains workaround for ##572077 that can be removed) On the other hand, several to most of the other packages listed fail for some arches with the *old* debhelper. For example, nbd has binary packages that are only built on linux arches. So dpkg-buildpackage on eg, kfreebsd will fail, unless the -B flag is used. The new version fixes this (almost.. I missed one case involving -N). So, in balance, this change seems very likely to me to not cause anything except netcfg to FTBFS. It also clears up a source of build failures that can easily lurk in packages without anyone likely to notice until a user, on a little-used arch, tries to build the package from source. -- see shy jo
signature.asc
Description: Digital signature