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

index 4f108a16f54021e22d845b8b174329f3c790a028..f59c94ce73e751cc7008c20b017755e4fada616c 100644 (file)
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #
 
-noinst_SCRIPTS=rules
+noinst_SCRIPTS = rules
 
-EXTRA_DIST=README.Debian config.disorder-server control \
-          copyright README.RTP \
-          etc.disorder.options.user etc.disorder.config \
-          postinst.disorder-server prerm.disorder-server \
-          postrm.disorder-server overrides.disorder-server \
-          templates.disorder-server conffiles.disorder-server \
-          rules changelog usr.share.menu.disobedience \
-          disorder.daily \
-          overrides.disorder overrides.disorder-playrtp \
-          postinst.disobedience disobedience-manual
+EXTRA_DIST = \
+       changelog compat control copyright rules README.Debian
+
+EXTRA_DIST += \
+       disorder.docs disorder.install disorder.dirs \
+       disorder.lintian-overrides
+
+EXTRA_DIST += \
+       disorder-server.config disorder-server.cron.daily \
+       disorder-server.install disorder-server.dirs \
+       disorder-server.lintian-overrides disorder-server.maintscript \
+       disorder-server.postinst disorder-server.postrm \
+       disorder-server.prerm \
+       etc.disorder.config etc.disorder.options.user
+
+EXTRA_DIST += \
+       disorder-playrtp.docs disorder-playrtp.install \
+       disorder-playrtp.lintian-overrides \
+       README.RTP
+
+EXTRA_DIST += \
+       disorder-gstdecode.docs disorder-gstdecode.install
+
+EXTRA_DIST += \
+       disobedience.doc-base disobedience.install disobedience.menu
diff --git a/debian/compat b/debian/compat
new file mode 100644 (file)
index 0000000..ec63514
--- /dev/null
@@ -0,0 +1 @@
+9
diff --git a/debian/conffiles.disorder b/debian/conffiles.disorder
deleted file mode 100644 (file)
index a9d34ea..0000000
+++ /dev/null
@@ -1 +0,0 @@
-/etc/bash_completion.d/disorder
diff --git a/debian/conffiles.disorder-server b/debian/conffiles.disorder-server
deleted file mode 100644 (file)
index 9e1f954..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-/etc/disorder/config
-/etc/disorder/options
-/etc/disorder/options.user
-/etc/init.d/disorder
-/etc/cron.daily/disorder
index 284749d368c268058dcaf4f712aea6ffb86eeaa6..c33056f0801555e3dee1ae6e28da311ecc5f8d8a 100644 (file)
@@ -3,7 +3,7 @@ Maintainer: Richard Kettlewell <rjk@greenend.org.uk>
 Section: sound
 Priority: optional
 Standards-Version: 3.8.1.0
-Build-Depends: libgc6-dev | libgc-dev, libgcrypt-dev, libdb4.3-dev | libdb4.5-dev | libdb4.7-dev | libdb4.8-dev | libdb5.1-dev | libdb5.3-dev, libpcre2-dev | libpcre3-dev, libvorbis-dev, libmad0-dev, libasound2-dev, libpulse-dev, python, libflac-dev, libgtk2.0-dev (>= 2.12.12), pkg-config, libgstreamer1.0-dev | libgstreamer0.10-dev, libgstreamer-plugins-base1.0-dev | libgstreamer-plugins-base0.10-dev, libsamplerate0-dev
+Build-Depends: debhelper (>= 9), dh-exec, netbase, libgc6-dev | libgc-dev, libgcrypt-dev, libdb4.3-dev | libdb4.5-dev | libdb4.7-dev | libdb4.8-dev | libdb5.1-dev | libdb5.3-dev, libpcre2-dev | libpcre3-dev, libvorbis-dev, libmad0-dev, libasound2-dev, libpulse-dev, python, libflac-dev, libgtk2.0-dev (>= 2.12.12), pkg-config, libgstreamer1.0-dev | libgstreamer0.10-dev, libgstreamer-plugins-base1.0-dev | libgstreamer-plugins-base0.10-dev, libsamplerate0-dev
 Vcs-Git: https://code.google.com/p/disorder/
 Homepage: http://www.greenend.org.uk/rjk/disorder/
 
diff --git a/debian/disobedience.install b/debian/disobedience.install
new file mode 100644 (file)
index 0000000..2dec2d5
--- /dev/null
@@ -0,0 +1,6 @@
+usr/bin/disobedience
+usr/share/applications/disobedience.desktop
+usr/share/doc/disorder/html
+usr/share/icons
+images/disobedience*.xpm               /usr/share/pixmaps
+usr/share/man/man1/disobedience.1
diff --git a/debian/disorder-gstdecode.docs b/debian/disorder-gstdecode.docs
new file mode 100644 (file)
index 0000000..d6e58a1
--- /dev/null
@@ -0,0 +1 @@
+CHANGES.html
diff --git a/debian/disorder-gstdecode.install b/debian/disorder-gstdecode.install
new file mode 100644 (file)
index 0000000..d7a5b8d
--- /dev/null
@@ -0,0 +1,2 @@
+usr/sbin/disorder-gstdecode
+usr/share/man/man8/disorder-gstdecode.8
diff --git a/debian/disorder-playrtp.docs b/debian/disorder-playrtp.docs
new file mode 100644 (file)
index 0000000..d6e58a1
--- /dev/null
@@ -0,0 +1 @@
+CHANGES.html
diff --git a/debian/disorder-playrtp.install b/debian/disorder-playrtp.install
new file mode 100755 (executable)
index 0000000..d1623cd
--- /dev/null
@@ -0,0 +1,5 @@
+#! /usr/bin/dh-exec
+
+usr/bin/disorder-playrtp
+debian/README.RTP                   => /usr/share/doc/disorder-playrtp/README
+usr/share/man/man1/disorder-playrtp.1
diff --git a/debian/disorder-server.dirs b/debian/disorder-server.dirs
new file mode 100644 (file)
index 0000000..e372c87
--- /dev/null
@@ -0,0 +1 @@
+/var/lib/disorder
diff --git a/debian/disorder-server.install b/debian/disorder-server.install
new file mode 100755 (executable)
index 0000000..fa91c6a
--- /dev/null
@@ -0,0 +1,42 @@
+#! /usr/bin/dh-exec
+
+debian/etc.disorder.config          => /etc/disorder/config
+templates/options                      /etc/disorder
+debian/etc.disorder.options.user     => /etc/disorder/options.user
+debian/build/examples/disorder.init  => /etc/init.d/disorder
+usr/lib/cgi-bin/disorder
+usr/lib/disorder/disorder-tracklength.so.0.0.0 => /usr/lib/disorder/disorder-tracklength.so
+usr/lib/disorder/exec.so.0.0.0      => /usr/lib/disorder/exec.so
+usr/lib/disorder/execraw.so.0.0.0    => /usr/lib/disorder/execraw.so
+usr/lib/disorder/fs.so.0.0.0        => /usr/lib/disorder/fs.so
+usr/lib/disorder/notify.so.0.0.0     => /usr/lib/disorder/notify.so
+usr/lib/disorder/shell.so.0.0.0             => /usr/lib/disorder/shell.so
+usr/sbin/disorder-choose
+usr/sbin/disorder-dbupgrade
+usr/sbin/disorder-deadlock
+usr/sbin/disorder-decode
+usr/sbin/disorder-dump
+usr/sbin/disorder-normalize
+usr/sbin/disorder-rescan
+usr/sbin/disorder-speaker
+usr/sbin/disorder-stats
+usr/sbin/disorderd
+usr/share/disorder/options
+usr/share/disorder/options.labels
+usr/share/disorder/*.ogg
+usr/share/disorder/*.tmpl
+usr/share/man/man5/disorder_actions.5
+usr/share/man/man5/disorder_options.5
+usr/share/man/man5/disorder_templates.5
+usr/share/man/man8/disorder-choose.8
+usr/share/man/man8/disorder-dbupgrade.8
+usr/share/man/man8/disorder-deadlock.8
+usr/share/man/man8/disorder-decode.8
+usr/share/man/man8/disorder-dump.8
+usr/share/man/man8/disorder-normalize.8
+usr/share/man/man8/disorder-rescan.8
+usr/share/man/man8/disorder-speaker.8
+usr/share/man/man8/disorder-stats.8
+usr/share/man/man8/disorder.cgi.8
+usr/share/man/man8/disorderd.8
+var/www/disorder
diff --git a/debian/disorder-server.maintscript b/debian/disorder-server.maintscript
new file mode 100644 (file)
index 0000000..187a5a2
--- /dev/null
@@ -0,0 +1 @@
+mv_conffile /etc/cron.daily/disorder /etc/cron.daily/disorder-server 5.1.1+103~
similarity index 99%
rename from debian/postinst.disorder-server
rename to debian/disorder-server.postinst
index 316f1e99566b2d20d7799fc17d134810a00efdb6..0ce5654e2561a11738aa057e4185be009c2930ee 100755 (executable)
@@ -195,3 +195,4 @@ reconfigure )
 esac
 
 db_stop
+#DEBHELPER#
similarity index 93%
rename from debian/postrm.disorder-server
rename to debian/disorder-server.postrm
index 5aa1df67236e3f4cc16ea3479fe87bb13a867302..2b328df0afd45cef32644db9817a40971910f619 100755 (executable)
@@ -52,12 +52,9 @@ remove )
   cleanup_remove
   ;;
 purge )
-  if [ -e /usr/share/debconf/confmodule ]; then
-    . /usr/share/debconf/confmodule
-    db_purge
-  fi
   update-rc.d disorder remove > /dev/null
   cleanup_remove
   cleanup_purge
   ;;
 esac
+#DEBHELPER#
similarity index 98%
rename from debian/prerm.disorder-server
rename to debian/disorder-server.prerm
index 93b7e237ae946ef0206b485fad66c10bec1fba63..8e121f3336a9d1960a55720ea52a562bbf5b0483 100755 (executable)
@@ -29,3 +29,4 @@ failed-upgrade )
   start-stop-daemon -K -q -n disorderd
   ;;
 esac
+#DEBHELPER#
diff --git a/debian/disorder.dirs b/debian/disorder.dirs
new file mode 100644 (file)
index 0000000..c7c5601
--- /dev/null
@@ -0,0 +1 @@
+/etc/disorder
diff --git a/debian/disorder.docs b/debian/disorder.docs
new file mode 100644 (file)
index 0000000..9ca9e36
--- /dev/null
@@ -0,0 +1,9 @@
+BUGS
+CHANGES.html
+README
+README.client
+README.developers
+README.streams
+README.upgrades.html
+README.vhost
+docs.css
diff --git a/debian/disorder.install b/debian/disorder.install
new file mode 100755 (executable)
index 0000000..ccb8220
--- /dev/null
@@ -0,0 +1,12 @@
+#! /usr/bin/dh-exec
+
+scripts/completion.bash                     => /etc/bash_completion.d/disorder
+usr/bin/disorder
+usr/bin/disorderfm
+usr/include/disorder.h
+usr/share/man/man1/disorder.1
+usr/share/man/man1/disorderfm.1
+usr/share/man/man3/disorder.3
+usr/share/man/man5/disorder_config.5
+usr/share/man/man5/disorder_preferences.5
+usr/share/man/man5/disorder_protocol.5
diff --git a/debian/postinst.disobedience b/debian/postinst.disobedience
deleted file mode 100644 (file)
index fc26afa..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-#! /bin/sh
-#
-# This file is part of DisOrder
-# Copyright (C) 2007 Richard Kettlewell
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
-#
-
-set -e
-
-case "$1" in
-configure )
-  if command -v update-menus >/dev/null 2>&1; then
-    update-menus
-  fi
-  ;;
-esac
diff --git a/debian/postrm.disobedience b/debian/postrm.disobedience
deleted file mode 100755 (executable)
index 0742696..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-#! /bin/sh
-#
-# This file is part of DisOrder
-# Copyright (C) 2007 Richard Kettlewell
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
-#
-
-set -e
-
-case "$1" in
-remove )
-  if command -v update-menus >/dev/null 2>&1; then
-    update-menus
-  fi
-  ;;
-esac
index 7009a2b171068d24685e16c3c96f8779fb1f7cc4..cdb6991ee5dc025fb13b5b7af98727961cd2c7b0 100755 (executable)
 #! /usr/bin/make -f
-#
-# Copyright (C) 2004-2008, 2015 Richard Kettlewell
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
-#
 
-cgiexecdir=/usr/lib/cgi-bin
-httpdir=/var/www
-browser=x-www-browser
+DH_OPTIONS              = --parallel -Bdebian/build
+export LC_ALL           = C.UTF-8
 
-CPPFLAGS:=$(shell dpkg-buildflags --get CPPFLAGS)
-CFLAGS:=$(shell dpkg-buildflags --get CFLAGS)
-CXXFLAGS:=$(shell dpkg-buildflags --get CXXFLAGS)
-LDFLAGS:=$(shell dpkg-buildflags --get LDFLAGS)
-export CFLAGS CPPFLAGS CXXFLAGS LDFLAGS
+###--------------------------------------------------------------------------
+### Configuration.
 
-# Options to configure.  This can be overridden by the caller if necessary.
-CONFIGURE=--prefix=/usr --sysconfdir=/etc --localstatedir=/var/lib --mandir=/usr/share/man --with-browser=${browser} cgiexecdir="${cgiexecdir}" httpdir="${httpdir}"
+cgiexecdir              = /usr/lib/cgi-bin
+httpdir                         = /var/www
+browser                         = x-www-browser
 
-# Install commands.  You wouldn't normally override these.
-INSTALL=install
-INSTALL_DATA=$(INSTALL) -p -o root -g root -m 644
-INSTALL_PROGRAM=$(INSTALL) -p -o root -g root -m 755
-INSTALL_SCRIPT=$(INSTALL) -p -o root -g root -m 755
-MKDIR=mkdir -p -m 755
+override_dh_auto_configure:
+       [ -f configure ] || ./autogen.sh
+       dh_auto_configure -- \
+               --libdir="/usr/lib" \
+               --localstatedir="/var/lib" \
+               --with-browser="$(browser)" \
+               cgiexecdir="$(cgiexecdir)" \
+               httpdir="$(httpdir)"
 
-# Set DEB_BUILD_OPTIONS=nostrip to install debuggable executables.
-ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS)))
-INSTALL_PROGRAM += -s
-endif
+###--------------------------------------------------------------------------
+### Building.
 
-# Set DEB_BUILD_OPTIONS=parallel=N to do make -jN
-ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
-NUMJOBS = $(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
-PARALLEL = -j$(NUMJOBS)
-endif
+## We override sendmail to the value defined in policy, in case configure
+## picks up some other sendmail.
+SENDMAIL                = /usr/sbin/sendmail
 
-export INSTALL_DATA
-export INSTALL_SCRIPT
-export INSTALL_PROGRAM
+override-dh_auto_build:
+       dh_auto_build -- \
+               SENDMAIL="$(SENDMAIL)"
 
-# We override sendmail to the value defined in policy, in case configure picks
-# up some other sendmail.
-SENDMAIL=/usr/sbin/sendmail
+###--------------------------------------------------------------------------
+### Installation.
 
-LIBTOOL=./libtool
-FAKEROOT=fakeroot
+## Arrange for some packages to have /usr/share/doc/PKG be a symlink to
+## `disorder'.  The others have proper docs directories, for now.
+DOCLINK_PKGS            = disorder-server disobedience
+override_dh_installdocs:
+       dh_installdocs $(addprefix -p, $(DOCLINK_PKGS)) --link-doc=disorder
+       dh_installdocs $(addprefix -N, $(DOCLINK_PKGS))
 
-SHELL=bash
+###--------------------------------------------------------------------------
+### And just let Debhelper do the rest of the work.
 
-# ./autogen.sh is the script that generates configure etc.  It only needs to be
-# run if building from a checkout rather than a tarball.
-build:
-       @set -e;if test ! -f configure; then \
-         echo ./autogen.sh;\
-         ./autogen.sh;\
-       fi
-       ./configure ${CONFIGURE} ${CONFIGURE_EXTRA}
-       $(MAKE) SENDMAIL=${SENDMAIL} ${PARALLEL}
-
-pkg-disorder: build
-       rm -rf debian/disorder
-       $(MKDIR) debian/disorder
-       $(MKDIR) debian/disorder/DEBIAN
-       $(MKDIR) debian/disorder/usr/share/doc/disorder
-       $(MKDIR) debian/disorder/usr/share/lintian/overrides
-       $(MKDIR) debian/disorder/etc/bash_completion.d
-       $(INSTALL_DATA) debian/copyright \
-               debian/disorder/usr/share/doc/disorder/copyright
-       $(INSTALL_DATA) debian/changelog \
-               debian/disorder/usr/share/doc/disorder/changelog
-       gzip -9n debian/disorder/usr/share/doc/disorder/changelog*
-       @for f in conffiles templates; do\
-         if test -e debian/$$f.disorder; then\
-           echo $(INSTALL_DATA) debian/$$f.disorder debian/disorder/DEBIAN/$$f; \
-           $(INSTALL_DATA) debian/$$f.disorder debian/disorder/DEBIAN/$$f; \
-         fi;\
-       done
-       @for f in preinst postinst prerm postrm config; do\
-         if test -e debian/$$f.disorder; then\
-           echo $(INSTALL_SCRIPT) debian/$$f.disorder debian/disorder/DEBIAN/$$f; \
-           $(INSTALL_SCRIPT) debian/$$f.disorder debian/disorder/DEBIAN/$$f; \
-         fi;\
-       done
-       $(INSTALL_DATA) debian/overrides.disorder \
-               debian/disorder/usr/share/lintian/overrides/disorder
-       $(MAKE) DESTDIR=`pwd`/debian/disorder installdirs install -C doc
-       $(MAKE) DESTDIR=`pwd`/debian/disorder installdirs install -C clients
-       strip --remove-section=.comment debian/disorder/usr/bin/disorder
-       strip --remove-section=.comment debian/disorder/usr/bin/disorderfm
-       $(MAKE) DESTDIR=`pwd`/debian/disorder installdirs install -C lib
-       $(INSTALL_DATA) scripts/completion.bash \
-               debian/disorder/etc/bash_completion.d/disorder
-       rm -rf debian/disorder/usr/share/man/man8
-       rm -rf debian/disorder/usr/share/disorder/*.html
-       rm -rf debian/disorder/usr/share/disorder/*.tmpl
-       rmdir debian/disorder/usr/share/disorder
-       rm -f debian/disorder/usr/bin/disorder-playrtp
-       rm -f debian/disorder/usr/bin/disobedience
-       rm -f debian/disorder/usr/share/man/man1/disorder-playrtp.1
-       rm -f debian/disorder/usr/share/man/man1/disobedience.1
-       rm -f debian/disorder/usr/share/man/man5/disorder_templates.5
-       rm -f debian/disorder/usr/share/man/man5/disorder_actions.5
-       rm -f debian/disorder/usr/share/man/man5/disorder_options.5
-       $(MKDIR) debian/disorder/etc/disorder
-       dpkg-shlibdeps -Tdebian/substvars.disorder \
-               debian/disorder/usr/bin/*
-       $(INSTALL_DATA) CHANGES.html README debian/README.Debian \
-               BUGS README.* docs.css \
-               debian/disorder/usr/share/doc/disorder/.
-       gzip -9nf debian/disorder/usr/share/doc/disorder/README \
-                debian/disorder/usr/share/doc/disorder/README.* \
-                debian/disorder/usr/share/doc/disorder/BUGS \
-                debian/disorder/usr/share/man/man*/*
-       cd debian/disorder && \
-               find -name DEBIAN -prune -o -type f -print \
-                       | sed 's/^\.\///' \
-                       | xargs md5sum > DEBIAN/md5sums
-       dpkg-gencontrol -isp -pdisorder -Pdebian/disorder -Tdebian/substvars.disorder
-       chown -R root:root debian/disorder
-       chmod -R g-ws debian/disorder
-       dpkg --build debian/disorder ..
-
-pkg-disorder-server: build
-       rm -rf debian/disorder-server
-       $(MKDIR) debian/disorder-server
-       $(MKDIR) debian/disorder-server/DEBIAN
-       $(MKDIR) debian/disorder-server/usr/share/doc/disorder-server
-       $(MKDIR) debian/disorder-server/usr/share/lintian/overrides
-       $(INSTALL_DATA) debian/overrides.disorder-server \
-           debian/disorder-server/usr/share/lintian/overrides/disorder-server
-       $(INSTALL_DATA) debian/copyright \
-               debian/disorder-server/usr/share/doc/disorder-server/copyright
-       $(INSTALL_DATA) debian/changelog \
-               debian/disorder-server/usr/share/doc/disorder-server/changelog
-       gzip -9n debian/disorder-server/usr/share/doc/disorder-server/changelog*
-       @for f in preinst postinst prerm postrm config; do\
-         if test -e debian/$$f.disorder-server; then\
-           echo $(INSTALL_SCRIPT) debian/$$f.disorder-server debian/disorder-server/DEBIAN/$$f; \
-           $(INSTALL_SCRIPT) debian/$$f.disorder-server debian/disorder-server/DEBIAN/$$f; \
-         fi;\
-       done
-       @for f in conffiles templates; do\
-         if test -e debian/$$f.disorder-server; then\
-           echo $(INSTALL_DATA) debian/$$f.disorder-server debian/disorder-server/DEBIAN/$$f; \
-           $(INSTALL_DATA) debian/$$f.disorder-server debian/disorder-server/DEBIAN/$$f; \
-         fi;\
-       done
-       $(MAKE) DESTDIR=`pwd`/debian/disorder-server installdirs install -C images
-       $(MAKE) DESTDIR=`pwd`/debian/disorder-server installdirs install -C server
-       $(MAKE) DESTDIR=`pwd`/debian/disorder-server installdirs install -C templates
-       $(MAKE) DESTDIR=`pwd`/debian/disorder-server installdirs install -C plugins
-       $(MAKE) DESTDIR=`pwd`/debian/disorder-server installdirs install -C sounds
-       $(MAKE) DESTDIR=`pwd`/debian/disorder-server installdirs install -C doc
-       rm -rf debian/disorder-server/usr/share/man/man1
-       rm -rf debian/disorder-server/usr/share/man/man3
-       rm -f debian/disorder-server/usr/share/man/man5/disorder_config.5
-       rm -f debian/disorder-server/usr/share/man/man5/disorder_preferences.5
-       rm -f debian/disorder-server/usr/share/man/man5/disorder_protocol.5
-       rm -f debian/disorder-server/usr/share/man/man8/disorder-gstdecode.8
-       rm -f debian/disorder-server/usr/sbin/disorder-gstdecode
-       find debian/disorder-server -name '*.la' -print0 | xargs -r0 rm -f
-       find debian/disorder-server -name '*.so.0' -print0 | xargs -r0 rm -f
-       @for f in debian/disorder-server/usr/lib/disorder/*.so.0.0.0; do \
-         echo mv $$f $${f/.0.0.0};\
-         mv $$f $${f/.0.0.0};\
-       done
-       find debian/disorder-server -name '*.so' -print0 | xargs -r0 strip --strip-unneeded
-       find debian/disorder-server -name '*.so' -print0 | xargs -r0 chmod -x
-       $(MKDIR) debian/disorder-server/etc/disorder
-       $(MKDIR) debian/disorder-server/etc/init.d
-       $(MKDIR) debian/disorder-server${cgiexecdir}
-       $(MKDIR) debian/disorder-server/var/lib/disorder
-       $(MKDIR) debian/disorder-server/etc/cron.daily
-       $(INSTALL_SCRIPT) examples/disorder.init \
-               debian/disorder-server/etc/init.d/disorder
-       $(INSTALL_DATA) debian/etc.disorder.config \
-               debian/disorder-server/etc/disorder/config
-       $(INSTALL_DATA) templates/options \
-               debian/disorder-server/etc/disorder/options
-       $(INSTALL_DATA) debian/etc.disorder.options.user \
-               debian/disorder-server/etc/disorder/options.user
-       $(INSTALL_SCRIPT) debian/disorder.daily debian/disorder-server/etc/cron.daily/disorder
-       $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) cgi/disorder \
-               $(shell pwd)/debian/disorder-server${cgiexecdir}/disorder
-       gzip -9nf debian/disorder-server/usr/share/man/man*/*
-       dpkg-shlibdeps -Tdebian/substvars.disorder-server \
-               debian/disorder-server${cgiexecdir}/disorder \
-               debian/disorder-server/usr/sbin/* \
-               debian/disorder-server/usr/lib/disorder/*.so
-       rm -rf debian/disorder-server/usr/share/doc/disorder-server
-       ln -s disorder debian/disorder-server/usr/share/doc/disorder-server
-       strip --remove-section=.comment \
-               debian/disorder-server/usr/sbin/* \
-               debian/disorder-server${cgiexecdir}/* \
-               debian/disorder-server/usr/lib/disorder/*.so
-       cd debian/disorder-server && \
-               find -name DEBIAN -prune -o -type f -print \
-                       | sed 's/^\.\///' \
-                       | xargs md5sum > DEBIAN/md5sums
-       dpkg-gencontrol -isp -pdisorder-server -Pdebian/disorder-server -Tdebian/substvars.disorder-server
-       chown -R root:root debian/disorder-server
-       chmod -R g-ws debian/disorder-server
-       dpkg --build debian/disorder-server ..
-
-pkg-disorder-playrtp: build
-       rm -rf debian/disorder-playrtp
-       $(MKDIR) debian/disorder-playrtp
-       $(MKDIR) debian/disorder-playrtp/DEBIAN
-       $(MKDIR) debian/disorder-playrtp/usr/share/doc/disorder-playrtp
-       $(MKDIR) debian/disorder-playrtp/usr/share/lintian/overrides
-       $(INSTALL_DATA) debian/copyright \
-               debian/disorder-playrtp/usr/share/doc/disorder-playrtp/copyright
-       $(INSTALL_DATA) debian/changelog \
-               debian/disorder-playrtp/usr/share/doc/disorder-playrtp/changelog
-       gzip -9n debian/disorder-playrtp/usr/share/doc/disorder-playrtp/changelog*
-       @for f in preinst postinst prerm postrm conffiles templates config; do\
-         if test -e debian/$$f.disorder-playrtp; then\
-           echo $(INSTALL_SCRIPT) debian/$$f.disorder-playrtp debian/disorder-playrtp/DEBIAN/$$f; \
-           $(INSTALL_SCRIPT) debian/$$f.disorder-playrtp debian/disorder-playrtp/DEBIAN/$$f; \
-         fi;\
-       done
-       $(INSTALL_DATA) debian/overrides.disorder-playrtp \
-               debian/disorder-playrtp/usr/share/lintian/overrides/disorder-playrtp
-       $(MKDIR) debian/disorder-playrtp/usr/bin
-       $(MKDIR) debian/disorder-playrtp/usr/share/man/man1
-       $(INSTALL_PROGRAM) clients/disorder-playrtp \
-               debian/disorder-playrtp/usr/bin/disorder-playrtp
-       strip --remove-section=.comment debian/disorder-playrtp/usr/bin/disorder-playrtp
-       $(INSTALL_DATA) doc/disorder-playrtp.1 \
-               debian/disorder-playrtp/usr/share/man/man1/disorder-playrtp.1
-       dpkg-shlibdeps -Tdebian/substvars.disorder-playrtp \
-               debian/disorder-playrtp/usr/bin/*
-       $(INSTALL_DATA) debian/README.RTP \
-               debian/disorder-playrtp/usr/share/doc/disorder-playrtp/README
-       $(INSTALL_DATA) CHANGES.html debian/disorder-playrtp/usr/share/doc/disorder-playrtp/CHANGES.html
-       gzip -9nf debian/disorder-playrtp/usr/share/man/man*/*
-       cd debian/disorder-playrtp && \
-               find -name DEBIAN -prune -o -type f -print \
-                       | sed 's/^\.\///' \
-                       | xargs md5sum > DEBIAN/md5sums
-       dpkg-gencontrol -isp -pdisorder-playrtp -Pdebian/disorder-playrtp -Tdebian/substvars.disorder-playrtp
-       chown -R root:root debian/disorder-playrtp
-       chmod -R g-ws debian/disorder-playrtp
-       dpkg --build debian/disorder-playrtp ..
-
-pkg-disorder-gstdecode: build
-       rm -rf debian/disorder-gstdecode
-       $(MKDIR) debian/disorder-gstdecode
-       $(MKDIR) debian/disorder-gstdecode/DEBIAN
-       $(MKDIR) debian/disorder-gstdecode/usr/share/doc/disorder-gstdecode
-       $(INSTALL_DATA) debian/copyright \
-               debian/disorder-gstdecode/usr/share/doc/disorder-gstdecode/copyright
-       $(INSTALL_DATA) debian/changelog \
-               debian/disorder-gstdecode/usr/share/doc/disorder-gstdecode/changelog
-       gzip -9 debian/disorder-gstdecode/usr/share/doc/disorder-gstdecode/changelog*
-       @for f in preinst postinst prerm postrm conffiles templates config; do\
-         if test -e debian/$$f.disorder-gstdecode; then\
-           echo $(INSTALL_SCRIPT) debian/$$f.disorder-gstdecode debian/disorder-gstdecode/DEBIAN/$$f; \
-           $(INSTALL_SCRIPT) debian/$$f.disorder-gstdecode debian/disorder-gstdecode/DEBIAN/$$f; \
-         fi;\
-       done
-       $(MKDIR) debian/disorder-gstdecode/usr/sbin
-       $(MKDIR) debian/disorder-gstdecode/usr/share/man/man8
-       $(INSTALL_PROGRAM) server/disorder-gstdecode \
-               debian/disorder-gstdecode/usr/sbin/disorder-gstdecode
-       strip --remove-section=.comment debian/disorder-gstdecode/usr/sbin/disorder-gstdecode
-       $(INSTALL_DATA) doc/disorder-gstdecode.8 \
-               debian/disorder-gstdecode/usr/share/man/man8/disorder-gstdecode.8
-       dpkg-shlibdeps -Tdebian/substvars.disorder-gstdecode \
-               debian/disorder-gstdecode/usr/sbin/*
-       $(INSTALL_DATA) CHANGES.html debian/disorder-gstdecode/usr/share/doc/disorder-gstdecode/CHANGES.html
-       gzip -9f debian/disorder-gstdecode/usr/share/man/man*/*
-       cd debian/disorder-gstdecode && \
-               find -name DEBIAN -prune -o -type f -print \
-                       | sed 's/^\.\///' \
-                       | xargs md5sum > DEBIAN/md5sums
-       dpkg-gencontrol -isp -pdisorder-gstdecode -Pdebian/disorder-gstdecode -Tdebian/substvars.disorder-gstdecode
-       chown -R root:root debian/disorder-gstdecode
-       chmod -R g-ws debian/disorder-gstdecode
-       dpkg --build debian/disorder-gstdecode ..
-
-pkg-disobedience: build
-       rm -rf debian/disobedience
-       $(MKDIR) debian/disobedience
-       $(MKDIR) debian/disobedience/DEBIAN
-       $(MKDIR) debian/disobedience/usr/share/doc/disobedience
-       $(INSTALL_DATA) debian/copyright \
-               debian/disobedience/usr/share/doc/disobedience/copyright
-       $(INSTALL_DATA) debian/changelog \
-               debian/disobedience/usr/share/doc/disobedience/changelog
-       gzip -9n debian/disobedience/usr/share/doc/disobedience/changelog*
-       @for f in preinst postinst prerm postrm conffiles templates config; do\
-         if test -e debian/$$f.disobedience; then\
-           echo $(INSTALL_SCRIPT) debian/$$f.disobedience debian/disobedience/DEBIAN/$$f; \
-           $(INSTALL_SCRIPT) debian/$$f.disobedience debian/disobedience/DEBIAN/$$f; \
-         fi;\
-       done
-       $(MKDIR) debian/disobedience/usr/bin
-       $(MKDIR) debian/disobedience/usr/share/man/man1
-       $(MKDIR) debian/disobedience/usr/share/pixmaps
-       $(MKDIR) debian/disobedience/usr/share/menu
-       $(MKDIR) debian/disobedience/usr/share/doc-base
-       $(MAKE) -C disobedience install DESTDIR=`pwd`/debian/disobedience
-       strip --remove-section=.comment debian/disobedience/usr/bin/disobedience
-       $(INSTALL_DATA) doc/disobedience.1 \
-               debian/disobedience/usr/share/man/man1/disobedience.1
-       $(INSTALL_DATA) images/disobedience16x16.xpm \
-                       images/disobedience32x32.xpm \
-                       debian/disobedience/usr/share/pixmaps
-       $(INSTALL_DATA) debian/usr.share.menu.disobedience \
-               debian/disobedience/usr/share/menu/disobedience
-       $(INSTALL_DATA) debian/disobedience-manual \
-               debian/disobedience/usr/share/doc-base/disobedience-manual
-       gzip -9nf debian/disobedience/usr/share/man/man*/*
-       dpkg-shlibdeps -Tdebian/substvars.disobedience \
-               debian/disobedience/usr/bin/*
-       rm -rf debian/disobedience/usr/share/doc/disobedience
-       ln -s disorder debian/disobedience/usr/share/doc/disobedience
-       cd debian/disobedience && \
-               find -name DEBIAN -prune -o -type f -print \
-                       | sed 's/^\.\///' \
-                       | xargs md5sum > DEBIAN/md5sums
-       dpkg-gencontrol -isp -pdisobedience -Pdebian/disobedience -Tdebian/substvars.disobedience
-       chown -R root:root debian/disobedience
-       chmod -R g-ws debian/disobedience
-       dpkg --build debian/disobedience ..
-
-DEBVERSION:=$(shell dpkg-parsechangelog|awk '/Version:/ {print $$2}')
-DSC=disorder_$(DEBVERSION).dsc
-DEBSRC=disorder_$(DEBVERSION).tar.gz
-VERSION=$(shell $(MAKE) echo-version)
-
-source:
-       $(MAKE) dist
-       rm -rf disorder-$(VERSION)
-       tar xfz disorder-$(VERSION).tar.gz
-       dpkg-source -b disorder-$(VERSION)
-       rm -rf disorder-$(VERSION) disorder-$(VERSION).tar.gz
-
-source-check: source
-       rm -rf disorder-$(DEBVERSION)
-       dpkg-source -x $(DSC)
-       cd disorder-$(DEBVERSION) && dpkg-buildpackage -r$(FAKEROOT)
-
-binary: binary-arch binary-indep
-binary-arch: pkg-disorder pkg-disorder-server pkg-disorder-playrtp \
-            pkg-disorder-gstdecode pkg-disobedience
-binary-indep: 
-
-clean:
-       if test -f Makefile; then $(MAKE) distclean; fi
-       rm -f config.cache
-       rm -f debian/files
-       rm -f debian/substvars.*
-       rm -rf debian/disorder
-       rm -rf debian/disorder-server
-       rm -rf debian/disorder-playrtp
-       rm -rf debian/disobedience
-
-.PHONY: clean build pkg-disorder pkg-disorder-server pkg-disorder-playrtp \
-       pkg-disobedience source source-check binary binary-arch binary-indep
+%:; dh $@ $(DH_OPTIONS)