chiark / gitweb /
configure.ac, debian/rules: Use `sensible-browser' by default.
[disorder] / debian / rules
index 0c14444f4670b20317517f82eecf223848a2f589..3e75989edb09d58d9986e1ed9e91195c5f1ab0f5 100755 (executable)
 #! /usr/bin/make -f
-#
-# Copyright (C) 2004-2008 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 2 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, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
-# USA
-#
 
-cgiexecdir=/usr/lib/cgi-bin
-httpdir=/var/www
-browser=x-www-browser
+DH_OPTIONS              = --parallel -Bdebian/build
+export LC_ALL           = C.UTF-8
 
-# 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}"
+###--------------------------------------------------------------------------
+### Configuration.
 
-# Set DEB_BUILD_OPTIONS=noopt to produce a non-optimized build.
-ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
-CFLAGS=-O0 -g
-else
-CFLAGS=-O2 -g
-endif
-export CFLAGS
+cgiexecdir              = /usr/lib/cgi-bin
+httpdir                         = /var/www
+browser                         = sensible-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.
 
-export INSTALL_DATA
-export INSTALL_SCRIPT
-export INSTALL_PROGRAM
+## We override sendmail to the value defined in policy, in case configure
+## picks up some other sendmail.
+SENDMAIL                = /usr/sbin/sendmail
 
-# We override sendmail to the value defined in policy, in case configure picks
-# up some other sendmail.
-SENDMAIL=/usr/sbin/sendmail
+override-dh_auto_build:
+       dh_auto_build -- \
+               SENDMAIL="$(SENDMAIL)"
 
-LIBTOOL=./libtool
-FAKEROOT=fakeroot
+###--------------------------------------------------------------------------
+### Installation.
 
-# ./prepare 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 ./prepare;\
-         ./prepare;\
-       fi
-       @set -e;if test ! -f config.status; then \
-         echo ./configure ${CONFIGURE} ${CONFIGURE_EXTRA};\
-         ./configure ${CONFIGURE} ${CONFIGURE_EXTRA};\
-       else\
-         echo ./config.status;\
-         ./config.status;\
-       fi
-       $(MAKE) SENDMAIL=${SENDMAIL}
+## 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))
 
-pkg-disorder: build
-       rm -rf debian/disorder
-       $(MKDIR) debian/disorder
-       $(MKDIR) debian/disorder/DEBIAN
-       $(MKDIR) debian/disorder/usr/share/doc/disorder
-       $(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.Debian
-       gzip -9 debian/disorder/usr/share/doc/disorder/changelog.Debian
-       @for f in preinst postinst prerm postrm conffiles templates 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
-       $(MAKE) DESTDIR=`pwd`/debian/disorder installdirs install -C doc
-       $(MAKE) DESTDIR=`pwd`/debian/disorder installdirs install -C clients
-       $(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.* \
-               debian/disorder/usr/share/doc/disorder/.
-       gzip -9f 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*/*
-       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 ..
+###--------------------------------------------------------------------------
+### Set up the proper dependencies for `disorder-gstreamer'.
 
-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
-       $(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.Debian
-       gzip -9 debian/disorder-server/usr/share/doc/disorder-server/changelog.Debian
-       @for f in preinst postinst prerm postrm conffiles templates 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
-       $(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 driver
-       $(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_protocol.5
-       $(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
-       $(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
-       $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) cgi/disorder \
-               $(shell pwd)/debian/disorder-server${cgiexecdir}/disorder
-       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
-       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 ..
+override_dh_gencontrol:
+       dh_gencontrol -- -Tdebian/build/debian/substvars.auto
 
-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
-       $(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.Debian
-       gzip -9 debian/disorder-playrtp/usr/share/doc/disorder-playrtp/changelog.Debian
-       @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
-       $(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
-       $(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 -9f debian/disorder-playrtp/usr/share/man/man*/*
-       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 ..
+###--------------------------------------------------------------------------
+### And just let Debhelper do the rest of the work.
 
-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.Debian
-       gzip -9 debian/disobedience/usr/share/doc/disobedience/changelog.Debian
-       @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
-       $(MAKE) -C disobedience install DESTDIR=`pwd`/debian/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
-       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
-       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-disobedience
-binary-indep: 
-
-clean:
-       -$(MAKE) distclean
-       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)