Modestas Vainius wrote: > This has a potential to go very deep with make (binary) -> perl (dh) -> make > (install) -> perl (dh) -> make (build) -> perl (dh). We have already seen > what negative effect this has on e.g. make -jN. IMHO, bugs will be hard to > understand and fix with such level of recursion.
Well it certianly makes for a noisy startup:
joey@gnu:~/src/wmbattery>fakeroot debian/rules binary
dh binary
debian/rules install
make[1]: Entering directory `/home/joey/src/wmbattery'
dh install
debian/rules build
make[2]: Entering directory `/home/joey/src/wmbattery'
autoconf
dh build
dh_testdir
dh_auto_configure
I'd hope this would not screw up make -jN
> Personally I don't understand what's the issue here. If debian/rules has no
> explicit build,install,binary etc. targets (which will continue to be >= 90%
> of cases), current dh implementation works just fine. If debian/rules has
> them, it should be up to maintainer to make sure they work as supposed to
> (with respect to policy). E.g. if maintainer re-implements binary, (s)he
> should define needed dependencies in the rules file directly.
The motivation, besides making it easy for split build-indep/arch is
that expanding a short rules file to add normal targets can be tricky.
Remembering the semicolon here to avoid running the implicit dh build
target:
build: build-arch build-indep ;
And it's unintuitive that all the binary targets need to be made real
when only the build target is being changed too. I just found I'd forgotten
to do that in wmbattery above.
> From my experience, it is much better not to touch top targets at all and to
> implement all customizations via override_% targets.
I somewhat agree, but something will need to be done for split
build-indep/arch and install-indep/arch. One thing I suggested before is:
override_dh_auto_install:
dh_do -a -- $(MAKE) -C debian/build install
DESTDIR=$(CURDIR)/debian/install
dh_do -i -- $(MAKE) -C debian/build/po install
DESTDIR=$(CURDIR)/debian/install
But it would be nice to have the full flexability to easily use the
standard targets. After all, they're standard.
--
see shy jo
signature.asc
Description: Digital signature

