[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: flow of things rules/debhelper



Hi,

I'll try to make myself clearer:

the question is: why is e.g. debian/rules binary-indep never called on
a binary independent package, assume a PHP app.

When using

%:
	dh $@

it is clear that if dh doesn't call it, then nobody will, however the
policy manual says:

binary may be (and commonly is) a target with no commands which simply
depends on binary-arch and binary-indep.

So, if I have an architecture independent package it would be logical
to put my commands into binary-indep; why else would it be there.

But it is not called. When I look at my build log, this is more or
less what happens:

 debian/rules build
dh build
 [...]
 fakeroot debian/rules binary
 [...]
dpkg-deb: building package...

No sign of debian/binary-arch and/or debian/binary-indep here.
Probably because I did not write down a specific rule

binary: binary-arch binary-indep
	dh $@

in debian/rules.

Looking at
 /usr/share/doc/debhelper/examples/rules.{tiny,indep}
their behaviors are simply different, as dh from rules.tiny does not
follow the Makefile dependencies as seen in rules.indep.

JM

On 4/5/2010 2:48 PM, Osamu Aoki wrote:
>   Are you suggesting to call "debian/rules binary-arch" 
>      (This is too pedantic and I am not sure it actually do this.)
> 
> Situation is:
> 
> debian/rules binary
>        |
>        +---> "dh binary"
>                    |
>                    +-------+--> dh binary-arch
>                            |
>                            +--> dh binary-indep
> 
> If there is a good way to express following in English:
> 
> "fakeroot debian/rules binary" runs "fakeroot dh binary" which in turn
> runs ( "fakeroot dh binary-arch" and "fakeroot dh binary-indep" )
> 
> By reading folowing text should have made it clear:
> 
>  The commands listed below are run twice, once with the "-a" option (in
>  binary-arch) and once with the "-i" option (in binary-indep):
> 
>> I'm asking because in the first case, the binary-indep target in
>> debian/rules is never called (even for my "Architecture: all"
>> package). 
> 
> Your way of punctuation understaning makes this.  But that was not my or
> Rapael's intent.  I added ";" to make them clearer.  Wait for 4 hours or so.
> 
> "fakeroot debian/rules binary" runs "fakeroot dh binary"; which in turn
> runs "fakeroot dh binary-arch" and "fakeroot dh binary-indep".


Reply to: