Bug#848045: proftpd-dfsg: Improvements for debian/rules file

Mattia Rizzolo mattia at debian.org
Tue Dec 13 14:52:10 UTC 2016


Source: proftpd-dfsg
Version: 1.3.5b-1
Severity: normal

during work for #836759 Mattia Rizzolo requested some useful changes for
debian/rules. Some were implemented in 1.3.5b-1 a few not.

1) both Vcs-Git and Vcs-Browser canonicalized to (it works for both)
        https://anonscm.debian.org/git/pkg-proftpd/proftpd-dfsg.git
-> in 1.3.5b-1

2) build done by dh_auto_build, instead of manual `make all`
-> in 1.3.5b-1

3) configure done by dh_auto_configure
-> open

4) compat level bumped to at least 9, so that buildflags from
   dpkg-buidflags are exported by dh_* tools (read debhelper(7))
-> in 1.3.5b-1

5) config.{sub,guess} updated by dh_update_autotools_config (just call
   it instead of that `test -r / mv / cp` + cleanup; the cleanup is done
   by dh_clean)
-> 1.3.5b-1

6) run dh_autoreconf
-> non-trivial, separate bug: #842293

7) there are so many trailing whitespaces in that d/rules...
-> 1.3.5b-1

8) install done with dh_auto_install.  That nostrip facility is not
   needed, the strip is done by dh_strip anyway, also stripping the
   binaries at install time like that makes the -dbgsym binaries
   produced by dh_strip useless
-> 1.3.5b-1

9) now that you're like this you can reinstate hardening, that you
   removed but not replaced, so just put
       export DEB_BUILD_MAINT_OPTIONS = hardening=+all
   on top, it should just work after the changs above
-> open

10) moving to dh_* tools makes you posible to drop:
  + thing for supporting cross build (the
     `ifeq ($(DEB_BUILD_GNU_TYPE),$(DEB_HOST_GNU_TYPE))`
    )
  + that `CC := gcc`, that it's also breaking cross compiling, I think
    (haven't tried)
-> open

11) the rules' clean target doesn't call dh_auto_clean.  I think that
    with it you can save a lot of manual `rm -rf` and also revert
    adf6a7e88b051ed2fa7e7638d41d9105aa3c603c
-> 1.3.5b-1 to large extend

12) I wouldn't mind seeing those `install ...` moved to the already
    existing d/*.install files
-> 1.3.5b-1

13) the -l option of dh_shlibdeps is really unneeded nowadays
-> 1.3.5b-1

14) you have a `CFLAGS := ..` on the top, but it's not exported, hence
    it's just about useless
-> open

15) after all of this you will see how most of d/rules turned into "just
    call calling dh_*", and eventually rewriting the whole thing to use
    the dh(1) sequencer with just a couple of overrides will be very
    easy....
-> won't be that easy. I'd ignore this for now.

Hilmar
-- System Information:
Debian Release: stretch/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (1, 'experimental')
Architecture: i386 (i686)

Kernel: Linux 4.8.0-2-686-pae (SMP w/1 CPU core)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) (ignored: LC_ALL set to en_GB.UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: sysvinit (via /sbin/init)



More information about the Pkg-proftpd-maintainers mailing list