[pkg] CurveDNS - review

Lukas Schwaighofer lukas at schwaighofer.name
Sat Jun 24 18:05:18 UTC 2017


Hi Stéphane,

On Sat, 24 Jun 2017 16:50:49 +0200
Stéphane Neveu <stefneveu at gmail.com> wrote:
> > You have some strange entries in debian/rules:
> >
> > clean:
> >         debconf-updatepo
> >
> > binary-indep:
> >         dh_installdebconf
> >
> > both of these need to be deleted!  (...)
> 
> Removing the binary-indep is ok but when I remove the clean target,
> the build fails :/

Debugging these kinds of problems is a skill you will have to
develop :) .  One good way to start debugging is to set
  export DH_VERBOSE=1
in debian/rules and carefully check the output.  In this case the
problem is:
* you create the Makefile using a patch
* dh_auto_clean calls `make distclean`
* the distclean target in your Makefile executes `rm -f Makefile`
* the Makefile is missing, thus the binary can no longer build

One way to overcome this is to change the Makefile you are adding with
a patch to not call `rm -f Makefile` (simply remove that line from the
Makefile). Another way to fix this would be to override the
dh_auto_clean target and call `make clean` instead of `make distclean`,
see man page for details.

Once you have implemented one of these two ways you can remove the
clean target from debian/rules and everything should work.


In debian/rules also remove those two lines, you don't need them when
you use dh:

    DPKG_EXPORT_BUILDFLAGS = 1
    include /usr/share/dpkg/buildflags.mk

Lastly, please make sure your debian/rules are always semantically
correct. For example:

override_dh_auto_build:
        dh_auto_build
        ronn -r $(CURDIR)/debian/curvedns.8.ronn
        ronn -r $(CURDIR)/debian/curvedns-keygen.1.ronn

While this does work in most cases, running ronn should not be part of
dh_auto_build; instead it should be part of dh_installman.  So you
should remove that block and instead use this:

override_dh_installman:
        ronn -r $(CURDIR)/debian/curvedns.8.ronn
        ronn -r $(CURDIR)/debian/curvedns-keygen.1.ronn
        dh_installman

Now everything required to install the man pages is contained in one
target.

> I also completly removed daemontools.

Fantastic.

Two more comments, as I just tried building:
* the curvedns-0.87 tag is not pushed to git; without that the build
  fails
* I would prefer it if you do not set the `export-dir` in the checked
  in gbp.conf.  I have a setting on my computer in my own ~/.gbp.conf
  and you override that (I would like all my builds to end up in the
  same directory)

Regards
Lukas

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 833 bytes
Desc: OpenPGP digital signature
URL: <http://lists.alioth.debian.org/pipermail/pkg-security-team/attachments/20170624/de2ed2ff/attachment.sig>


More information about the Pkg-security-team mailing list