X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~mdw/git/disorder/blobdiff_plain/bdd2a99650780a1ef4a9e788eaabbc5e810cc39c..9db4c365d579ae79d0d14fca218d61573d2f7379:/debian/rules diff --git a/debian/rules b/debian/rules index 0c14444..3e75989 100755 --- a/debian/rules +++ b/debian/rules @@ -1,278 +1,52 @@ #! /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)