chiark / gitweb /
debian/: Rewrite using Debhelper.
authorMark Wooding <mdw@distorted.org.uk>
Fri, 1 Dec 2017 12:04:10 +0000 (12:04 +0000)
committerMark Wooding <mdw@distorted.org.uk>
Sat, 2 Dec 2017 22:18:21 +0000 (22:18 +0000)
commit026a384f68227a00b2d33ca196d7c498ba643d4a
tree78015aba888905ccef8b219406acb0850459c567
parent34fb8c61ac9d00d64a82facbfc16113cc5b6cfd1
debian/: Rewrite using Debhelper.

The old `debian/rules' was a nightmare.  Modern Debhelper is really
quite pleasant, and makes short work of jobs which the old do-it-all-by-
hand script made a horrible meal out of.  Really, the diffstat summary

29 files changed, 146 insertions(+), 440 deletions(-)

says everything I need to know.

Being fair, though, this is quite an overhaul, but I've tried hard to
minimize the fallout.  These are the user-visible changes that I'm aware
of.  Any other changes are unintentional bugs.

  * The `disorder-server' cron script has changed name from
    `/etc/cron.daily/disorder' to `.../disorder-server'.  I could have
    avoided this, but I decided that it was actually better like this.
    The package scripts include the necessary machinery for renaming the
    configuration file.

  * I'm using `dh_installdocs' now, and it has its own heuristics about
    whether to compress documentation files.  As a result, a number of
    the smaller files in `/usr/share/doc/disorder' are no longer
    compressed.  Maybe some users will have to adjust bookmarks or
    something; if this breaks scripts, then I'm afraid that dealing with
    the wreckage is what you signed up for when you wrote those scripts.

Internally, the differences are more significant.

  * A number of affordances for configuring the Debian build have been
    removed or changed; I'm not going to make a list, mostly because the
    `debian/rules' file is now so trivial.  I'm inclined to say that
    retaining these would have been a bad idea.  I view the Debian
    packaging as a route to a stable, standard binary package, best
    built in a fresh, clean, minimal environment provided by something
    like `sbuild'.  I don't object to nonstandard packages at all: I
    just think they're best made and maintained by actually patching the
    code.

  * I've added `#DEBHELPER#' markers to the package scripts, and deleted
    some of the smaller ones entirely.  Debhelper doesn't make a whole
    lot of difference to the `disorder-server' postinst script, which is
    the big one, but losing the `disobedience' scripts is a clear win.

  * Debhelper wants to run `make check' during the package build.  I
    think this is a good idea, but it involves a little extra work.
    Because `sbuild' by default forces `LC_ALL' to `POSIX', the
    `queue.py' test fails about half the time; overriding `LC_ALL' to
    `C.UTF-8' in `debian/rules' hacks around this.  The `t-addr' library
    test wants to check resolution of service names, which introduces a
    build-dependency on `netbase' to provide `/etc/services'.  I would
    have had to include a dependency on `wget', but I chose to include
    the necessary test files inline instead.
29 files changed:
debian/Makefile.am
debian/compat [new file with mode: 0644]
debian/conffiles.disorder [deleted file]
debian/conffiles.disorder-server [deleted file]
debian/control
debian/disobedience.doc-base [moved from debian/disobedience-manual with 100% similarity]
debian/disobedience.install [new file with mode: 0644]
debian/disobedience.menu [moved from debian/usr.share.menu.disobedience with 100% similarity]
debian/disorder-gstdecode.docs [new file with mode: 0644]
debian/disorder-gstdecode.install [new file with mode: 0644]
debian/disorder-playrtp.docs [new file with mode: 0644]
debian/disorder-playrtp.install [new file with mode: 0755]
debian/disorder-playrtp.lintian-overrides [moved from debian/overrides.disorder-playrtp with 100% similarity]
debian/disorder-server.config [moved from debian/config.disorder-server with 100% similarity]
debian/disorder-server.cron.daily [moved from debian/disorder.daily with 100% similarity]
debian/disorder-server.dirs [new file with mode: 0644]
debian/disorder-server.install [new file with mode: 0755]
debian/disorder-server.lintian-overrides [moved from debian/overrides.disorder-server with 100% similarity]
debian/disorder-server.maintscript [new file with mode: 0644]
debian/disorder-server.postinst [moved from debian/postinst.disorder-server with 99% similarity]
debian/disorder-server.postrm [moved from debian/postrm.disorder-server with 93% similarity]
debian/disorder-server.prerm [moved from debian/prerm.disorder-server with 98% similarity]
debian/disorder.dirs [new file with mode: 0644]
debian/disorder.docs [new file with mode: 0644]
debian/disorder.install [new file with mode: 0755]
debian/disorder.lintian-overrides [moved from debian/overrides.disorder with 100% similarity]
debian/postinst.disobedience [deleted file]
debian/postrm.disobedience [deleted file]
debian/rules