Yann Dirson wrote:
> Following the last example from the dh manpage, I am trying the
> following rules file (compat=8).  However, it seems to completely
> ignore the build-* overrides (install fails on manpage install):
> 
> $ dh build-arch --no-act
>    dh_testdir -a
>    debian/rules override_dh_auto_configure
>    dh_auto_build -a
>    dh_auto_test -a

So, looking at this again, I now see that you've misunderstood what
dh does with explicit debian/rules targets.

If debian/rules has a build-arch target and uses dh, then 
"debian/rules build" will run dh, which will ensure that the
explicit build-arch target is called, instead of performing its normal
build-arch sequence.

However, this does not change the actual sequence performed by calling
"dh build-arch". Normally, one would not run "dh build-arch" to build
a package; one would run debian/rules build-arch, and as that is
a normal makefile target, it runs normally; dh need not be involved at
all.

I can see how you could be confused and expect "dh build-arch" to
notice there was an explicit build-arch target and run it instead of
its normal sequence, but I do not think that is a useful behavior.
And it would break in an example like this one:

build-arch:
        ./pre-build
        # now the normal dh sequence can do the building
        dh build-arch

The dh man page explains it this way -- I think this explaination is
clear.

       Finally, remember that you are not limited to using
       override targets in the rules file when using dh. You can
       also explicitly define any of the regular rules file
       targets when it makes sense to do so. A common reason to
       do this is when your package needs different build-arch
       and build-indep targets.  For example, a package with a
       long document build process can put it in build-indep.

               #!/usr/bin/make -f
               %:
                       dh $@

               build-indep:
                       $(MAKE) docs
               build-arch:
                       $(MAKE) bins

       Note that in the example above, dh will arrange for
       "debian/rules build" to call your build-indep and build-
       arch targets. You do not need to explicitly define those
       dependencies in the rules file when using dh with
       compatibility level v9.

With that said, if your package still doesn't build, perhaps there's
still a bug somewhere..

-- 
see shy jo

Attachment: signature.asc
Description: Digital signature

Reply via email to