Re: flow of things rules/debhelper (still confused)
On Wed, Apr 07, 2010 at 06:48:26PM +0200, Jan Hauke Rahm wrote:
> Well, this is just wrong. As you can find in Debian Policy, the binary
> target has to depend on binary-arch and -indep which is not provided
> here. There isn't much to document. It's standard Makefile behavior.
Excuse me. I can not find this assertion. Could you elabarate where
you find this? I find following in 4.9 Main building script: debian/rules:
> binary, binary-arch, binary-indep
> The binary target must be all that is necessary for the user to build the
> binary package(s) produced from this source package. It is split into two
> parts: binary-arch builds the binary packages which are specific to a
> particular architecture, and binary-indep builds those which are not.
Although pedantic, "It is split into" is not "It depends on". dh synatx
realize this without using make rule dependency, as I understand.
How this binary target functionality is split is not dictated by the Policy.
> As a matter of fact, I find the dh7 syntax very confusing for beginners
> (espacially for those unfamiliar with Makefiles). The NMG should cover a
> more detailed debian/rules to explain how it works. The dh7 stuff is
> just sugar code on top of it *after* understanding how the build process
> really works. But I admit I never really cared about that guide.
Actually, Polycy has been improved but still confusing too.
In this: 7.7 Relationships between source ...
> The dependencies and conflicts they define must be satisfied (as defined
> earlier for binary packages) in order to invoke the targets in debian/rules, as
> Build-Depends, Build-Conflicts
> The Build-Depends and Build-Conflicts fields must be satisfied when any of
> the following targets is invoked: build, clean, binary, binary-arch,
> build-arch, build-indep and binary-indep.
> Build-Depends-Indep, Build-Conflicts-Indep
> The Build-Depends-Indep and Build-Conflicts-Indep fields must be satisfied
> when any of the following targets is invoked: build, build-indep, binary and
It does not tell us Build-Depends-Indep does not need to list ones listed in
Build-Depends (although this is waht we expects and seems to be true by reading
dpkg-buildpackage and dpkg-checkbuilddeps, without this exclusion rule,
Build-Depends-Indep becomes very long one.)
We really need to read dpkg-buildpackage and dpkg-checkbuilddepsto understand
what exactly is going on. Anyway, these are De Facto standard which we can
rely better than Policy.
Any improvement suggestion on maint-guide are welcome. Please file bugs :-)