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

Reply via email to