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.