Hi! On Thu, 2014-06-12 at 22:40:40 +0200, Helmut Grohne wrote: > Package: dpkg-dev > Version: dpkg_1.17.10 > Severity: wishlist > Tags: patch > User: helm...@debian.org > Usertags: rebootstrap
> Let us revisit a less intrusive variant of #677474. My request is to > enable interpolation of ${source:Version} in Build-Depends and friends. > Of course this arises from a practical need: > > Quite a few packages use the binaries created in the process of building > the package. A primary example affecting 200 packages is help2man. > Unfortunately those binaries are not always executable. Most notably > they are not executable when cross compiling. Rather than resorting to > ugly hacks it would be nice to just use the build version of those tools > to generate manual pages or facilitate other tasks. In most cases that > would amount to: > > Source: foo > Build-Depends: foo <profile.cross> > > In many cases this would be correct, but ideally we want to ensure that > the manual pages created match the source. So the dependency needs to be > rather stricter: > > Build-Depends: foo (= ${source:Version}) <profile.cross> > > This use of substvars would not pose any problems for regular > build-ability of the package, because the dependency is not evaluated in > the absence of the cross profile. While this is strictly true, it's still problematic. It unconditionally adds the substvars in dpkg-source, which opens for the possibility of accidental misuse, it also can only set correctly the source:Version, not the binary:Version substvar. Also dpkg-checkbuilddeps does not have any kind of knowledge about substvars, so it will then become unusable when cross-compiling those packages. TBH, I've always found the help2man usage dubious, because it usually adds marginal information to something that's already available through just «cmd --help», and seems prone to cause problems. It feels to just be there to satisfy the Debian desire for a man page per binary. I'd rather see this specific problem solved in a way that benefits upstream, so either changing their build system to build for the host and build systems, so that help2man can be used even when cross-building, or by switching away from help2man and providing static man pages. Thanks, Guillem -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org