Niels Thykier <ni...@thykier.net> writes:

> I wanted to write a patch for the missing build-arch/build-indep
> targets in kannel.  But on closer examination, it turns out that
> the git repository and the last uploaded packages seems to be
> disagreeing on contents/version.
>
> Below is the diff between the changelog of the source package and
> the git repository.  It appears that the git version has the
> targets I wanted to add as a patch, so kudos if you keep at least
> that part.  :D

The debian/rules git gets the build-arch and build-indep targets from
cdbs, but the build-indep target still compiles the C code too:

* build-indep depends on build/kannel-docs;
  /usr/share/cdbs/1/rules/buildcore.mk defines it like this:
  build-indep: $(patsubst %,build/%,$(DEB_INDEP_PACKAGES))

* build/kannel-docs depends on common-build-indep;
  /usr/share/cdbs/1/rules/buildcore.mk defines it like this:
  $(patsubst %,build/%,$(DEB_INDEP_PACKAGES)) :: build/% : common-build-indep 
configure/%

* common-build-indep depends on $(cdbs_make_build_stamps);
  /usr/share/cdbs/1/class/makefile.mk defines it like this:
  common-build-arch common-build-indep:: $(cdbs_make_build_stamps)

* $(cdbs_make_build_stamps) expands to "debian/stamp-makefile-build"

* $(cdbs_make_build_stamps) has a rule in
  /usr/share/cdbs/1/class/makefile.mk.  It runs:
        +$(DEB_MAKE_INVOKE) $(DEB_MAKE_BUILD_TARGET)
        touch $@

* $(DEB_MAKE_INVOKE) expands to "make  -C . "

* $(DEB_MAKE_BUILD_TARGET) expands to ""

So in the end, "make -C ." is run and builds the whole thing.
The same happens with the build-arch target.

It seems this can be partially fixed by defining "DEB_MAKE_BUILD_TARGET
= dummy" in debian/rules.  There is already a suitable "dummy" target in
Makefile.  The rules for debian/stamp-makefile-build would then just
update .depend, which doesn't take very long.  However, when that
finishes, the build system would build the targets listed in
DEB_MAKE_INSTALL_TARGET, and that includes "install", which depends on
"all", which always builds the C code and also builds the documents
if $(DOCSTARGET) is "docs".

I don't understand how cdbs expects this to be implemented.


-- 
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