#!/usr/bin/make -f
# debian/rules file - for wanna-build.
# Based on sample debian/rules file - for GNU Hello (1.3).
# Copyright 1994,1995 by Ian Jackson.
# Copyright 1998,1999 by James Troup.
# Copyright 2004,2005 by Ryan Murray.
# I hereby give you perpetual unlimited permission to copy,
# modify and relicense this file, provided that you do not remove
# my name from the file itself.  (I assert my moral right of
# paternity under the Copyright, Designs and Patents Act 1988.)
#
# $Id$

STRIP=strip --remove-section=.comment --remove-section=.note

build:
	$(checkdir)
	$(MAKE)
	touch build

clean:
	$(checkdir)
	$(MAKE) clean
	-rm -f build buildd-mail-wrapper wanna-build-mail *~
	-rm -rf debian/tmp/ debian/*~ debian/files debian/substvars

binary-arch: binary-buildd binary-wanna-build

binary-buildd: checkroot build
	$(checkdir)
	-rm -rf debian/tmp
	install -d debian/tmp/DEBIAN
	install -m 755 debian/buildd.postinst debian/tmp/DEBIAN/postinst

	install -d debian/tmp/usr/bin
	install -m 755 buildd buildd-mail buildd-mail-wrapper buildd-uploader \
		buildd-watcher debian/tmp/usr/bin
	$(STRIP) debian/tmp/usr/bin/buildd-mail-wrapper
	install -m 755 buildd-vlog debian/tmp/usr/bin/buildd-vlog
	install -m 755 buildd-abort debian/tmp/usr/bin/buildd-abort
	install -m 755 buildd-update-chroots debian/tmp/usr/bin/buildd-update-chroots

	install -d debian/tmp/etc/cron.d
	install -m 644 buildd.conf.global debian/tmp/etc

	install -d debian/tmp/usr/share/perl5/
	install -m 644 Buildd.pm debian/tmp/usr/share/perl5/

	install -d debian/tmp/usr/share/emacs/site-lisp
	install -m 644 buildd-reply.el debian/tmp/usr/share/emacs/site-lisp/
	# XXX: still need /usr/lib/emacsen-common/packages/{install,remove} !

	install -d debian/tmp/usr/share/man/man1/
	install -m 644 buildd.1 buildd-mail-wrapper.1 buildd-uploader.1 \
		debian/tmp/usr/share/man/man1
	gzip -9v debian/tmp/usr/share/man/man1/*

	install -d debian/tmp/usr/share/doc/buildd/examples
	install -m 644 README.buildd-admin debian/tmp/usr/share/doc/buildd/README.admin
	install -m 644 crontab debian/tmp/usr/share/doc/buildd/examples/crontab
	install -m 644 NEWS debian/tmp/usr/share/doc/buildd/changelog
	install -m 644 buildd.conf debian/tmp/usr/share/doc/buildd/examples
	install -m 644 setup_system debian/tmp/usr/share/doc/buildd/examples/buildd-setup-system
	install -m 644 debian/changelog debian/tmp/usr/share/doc/buildd/changelog.Debian
	find debian/tmp/usr/share/doc/buildd/ -type f | xargs gzip -9v
	install -m 644 debian/copyright debian/tmp/usr/share/doc/buildd/

	dpkg-shlibdeps buildd-mail-wrapper
	dpkg-gencontrol -pbuildd -isp
	chown -R root.root debian/tmp
	chmod -R go=rX debian/tmp
	dpkg --build debian/tmp ..

binary-wanna-build: checkroot
	$(checkdir)
	-rm -rf debian/tmp
	install -d debian/tmp/DEBIAN

	install -d debian/tmp/usr/bin/wb-short
	install -m 755 wanna-build wanna-build-mail wanna-build-mail.pl \
		wanna-build-statistics check-old-builds do-merge-packages \
		do-merge-quinn debian/tmp/usr/bin
	$(STRIP) debian/tmp/usr/bin/wanna-build-mail
	install -m 755 wanna-build-catdb debian/tmp/usr/bin/wanna-build-catdb
	ln -s wanna-build-catdb debian/tmp/usr/bin/wanna-build-catgdbm
	set -e; for link in dep-wait-build failed-build forget-build \
	                    give-back-build merge-packages merge-quinn \
	                    no-build uploaded-build list-all list-building \
	                    list-dep-wait list-failed list-installed \
	                    list-needs-build list-not-for-us list-uploaded; do \
		ln -s ../wanna-build debian/tmp/usr/bin/wb-short/$$link; \
	done
	ln -s ../wanna-build-catdb debian/tmp/usr/bin/wb-short/catdb
	ln -s ../wanna-build-catgdbm debian/tmp/usr/bin/wb-short/catgdbm

	install -d debian/tmp/etc/buildd
	install -m 644 wanna-build.conf debian/tmp/etc/buildd

	install -d debian/tmp/usr/share/perl5/WannaBuild
	install -m 644 WannaBuild.pm debian/tmp/usr/share/perl5/
	install -m 644 WannaBuild/Conf.pm debian/tmp/usr/share/perl5/WannaBuild

	install -d debian/tmp/usr/share/doc/wanna-build/
	install -m 644 README README.mail README.failcat debian/tmp/usr/share/doc/wanna-build/
	install -m 644 NEWS debian/tmp/usr/share/doc/wanna-build/changelog
	install -m 644 debian/changelog debian/tmp/usr/share/doc/wanna-build/changelog.Debian
	find debian/tmp/usr/share/doc/wanna-build/ -type f | xargs gzip -9v
	install -m 644 debian/copyright debian/tmp/usr/share/doc/wanna-build/

	dpkg-shlibdeps wanna-build-mail
	dpkg-gencontrol -pwanna-build -isp
	chown -R root.root debian/tmp
	chmod -R go=rX debian/tmp
	dpkg --build debian/tmp ..

define checkdir
	test -f buildd-mail-wrapper.c -a -f debian/rules
endef

# Below here is fairly generic really

binary:		binary-indep binary-arch

source diff:
	@echo >&2 'source and diff are obsolete - use dpkg-source -b'; false

checkroot:
	$(checkdir)
	test root = "`whoami`"

.PHONY: binary binary-arch binary-indep clean checkroot
