#!/usr/bin/make -f # debian/rules for amanda using debhelper. GNU copyright 2008 by Dan Locks, # based on work by Bdale Garbee. # Warning - do *not* use -j on an SMP machine, or the build gets # confused... some sort of race condition in the makefiles? # Uncomment this to turn on verbose mode. #export DH_VERBOSE=1 AMVER=`cat FULL_VERSION` # These are variables that the user can override. They get used in various # places during configure, build, and install. PREFIX=/usr BINDIR=$(PREFIX)/bin LIBDIR=$(PREFIX)/lib AMLIBDIR=$(LIBDIR)/amanda LIBEXECDIR=$(PREFIX)/libexec AMLIBEXECDIR=$(LIBEXECDIR)/amanda MANDIR=$(PREFIX)/share/man DOCDIR=$(PREFIX)/share/doc SYSCONFDIR=/etc LOCALSTATEDIR=/var AMANDAHOMEDIR=$(LOCALSTATEDIR)/lib/amanda LOGDIR=$(LOCALSTATEDIR)/log/amanda # Extract the perl site_lib directory. This is used to install amanda's perl # libs. If configure finds a different install or you specify a different path using # --with-amperldir= make sure you change this variable as well. PERLSITELIB=$(shell perl -V:installsitelib|sed -e"s:installsitelib='/::;s:'\;::") AMANDAUSER=amandabackup AMANDAGROUP=disk WITHOUT_SERVER="False" WITHOUT_CLIENT="False" r=$(shell pwd)/debian/tmp server=$(shell pwd)/debian/amanda-backup-server client=$(shell pwd)/debian/amanda-backup-client log=$(shell pwd)/debian/dpkg.log # These are used for cross-compiling and for saving the configure script # from having to guess our platform (since we know it already) DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE) DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE) WD=$(shell pwd) build: build-stamp build-stamp: /sbin/dump /usr/bin/smbclient dh_testdir ./configure \ MAKEFLAGS="-j1 " \ CFLAGS="-pipe " \ MAILER=/usr/bin/mail \ --enable-as-needed \ --quiet \ --host=$(DEB_HOST_GNU_TYPE) \ --build=$(DEB_BUILD_GNU_TYPE) \ --prefix=$(PREFIX) \ --bindir=$(BINDIR) \ --mandir=$(MANDIR) \ --libexecdir=$(LIBEXECDIR) \ --enable-shared \ --sysconfdir=$(SYSCONFDIR) \ --localstatedir=$(LOCALSTATEDIR) \ --with-amdatadir=$(AMANDAHOMEDIR) \ --with-gnutar-listdir=$(AMANDAHOMEDIR)/gnutar-lists \ --with-index-server=localhost \ --with-tape-server=localhost \ --with-user=$(AMANDAUSER) \ --with-group=$(AMANDAGROUP) \ --with-fqdn \ --with-bsd-security \ --with-bsdtcp-security \ --with-bsdudp-security \ --with-amandahosts \ --with-smbclient=$(BINDIR)/smbclient \ --with-debugging=$(LOGDIR) \ --with-ssh-security \ --with-assertions \ --enable-s3-device \ --disable-installperms touch missing # Preinst is the same for client and server, but we leave room for # differences by just appending here. cat $(WD)/debian/preinst >> $(WD)/debian/amanda-backup-client.preinst cat $(WD)/debian/preinst >> $(WD)/debian/amanda-backup-server.preinst # Postinst and postrm keep client/server differences to just variables; # the postinst/postrm logic is otherwise the same. cat $(WD)/debian/postinst >> $(WD)/debian/amanda-backup-client.postinst cat $(WD)/debian/postinst >> $(WD)/debian/amanda-backup-server.postinst cat $(WD)/debian/postrm >> $(WD)/debian/amanda-backup-client.postrm cat $(WD)/debian/postrm >> $(WD)/debian/amanda-backup-server.postrm make -s LIBTOOLFLAGS=--silent touch build-stamp clean: dh_testdir >> $(log) 2>&1 dh_testroot >> $(log) 2>&1 -make -s LIBTOOLFLAGS=--silent clean -make -s LIBTOOLFLAGS=--silent distclean -rm -f build-stamp missing config/config.h common-src/genversion -find . -type d -name .deps -exec rm -rf {} \; -test -r /usr/share/misc/config.sub && \ cp -f /usr/share/misc/config.sub config/config.sub -test -r /usr/share/misc/config.guess && \ cp -f /usr/share/misc/config.guess config/config.guess dh_clean >> $(log) 2>&1 # Build architecture-dependent files here. binary-arch: build echo "---->dh_testdir: " >> $(log) dh_testdir >> $(log) 2>&1 echo "---->dh_testroot: " >> $(log) dh_testroot >> $(log) 2>&1 echo "---->dh_clean: " >> $(log) dh_clean -k >> $(log) 2>&1 echo "---->dh_installdirs: " >> $(log) dh_installdirs -v >> $(log) 2>&1 make -s LIBTOOLFLAGS=--silent install DESTDIR=$(r) echo "---->dh_installdocs: " >> $(log) dh_installdocs -v >> $(log) 2>&1 install -d $(r)/$(DOCDIR)/amanda-common/examples cp -a example/* $(r)/$(DOCDIR)/amanda-common/examples cp ChangeLog $(r)/$(DOCDIR)/amanda-common/changelog echo "---->dh_installchangelogs: " >> $(log) dh_installchangelogs -v >> $(log) 2>&1 # Here's how we get the perl modules installed into sitelib echo $(PERLSITELIB)/* >> debian/amanda-backup-server.install echo "---->dh_install -v --fail-missing: " >> $(log) dh_install -v --sourcedir=$(r) >> $(log) 2>&1 echo "---->dh_strip: " >> $(log) dh_strip >> $(log) 2>&1 echo "---->dh_compress: " >> $(log) dh_compress >> $(log) 2>&1 echo "---->dh_fixperms: " >> $(log) dh_fixperms -v >> $(log) 2>&1 # fix perms manually chown -R $(AMANDAUSER):$(AMANDAGROUP) debian/*/var/lib/* #chmod -R u=rwX,g=rwX,o-rwx debian/*/var/lib/* chown -R $(AMANDAUSER):$(AMANDAGROUP) $(client)/$(LOGDIR) $(server)/$(LOGDIR) #chmod -R u=rwX,g=rwX,o-rwx $(server)/$(LOGDIR) chown -R $(AMANDAUSER):$(AMANDAGROUP) $(client)/$(SYSCONFDIR)/amanda $(server)/$(SYSCONFDIR)/amanda chmod -R u=rwX,g=rwX,o-rwx $(client)/$(SYSCONFDIR)/amanda chmod -R u=rwX,g=rwX,o-rwx $(server)/$(SYSCONFDIR)/amanda chown -R $(AMANDAUSER):$(AMANDAGROUP) $(client)/$(AMANDAHOMEDIR)/gnutar-lists $(server)/$(AMANDAHOMEDIR)/gnutar-lists chmod -R u=rwX,g=rwX,o-rwx $(client)/$(AMANDAHOMEDIR)/gnutar-lists $(server)/$(AMANDAHOMEDIR)/gnutar-lists # .. setuid chown root:disk \ $(client)/$(AMLIBEXECDIR)/application/amgtar \ $(client)/$(AMLIBEXECDIR)/application/amstar \ $(client)/$(AMLIBEXECDIR)/killpgrp \ $(client)/$(AMLIBEXECDIR)/rundump \ $(client)/$(AMLIBEXECDIR)/runtar \ $(client)/$(AMLIBEXECDIR)/calcsize \ $(server)/$(AMLIBEXECDIR)/application/amgtar \ $(server)/$(AMLIBEXECDIR)/application/amstar \ $(server)/$(AMLIBEXECDIR)/killpgrp \ $(server)/$(AMLIBEXECDIR)/rundump \ $(server)/$(AMLIBEXECDIR)/runtar \ $(server)/$(AMLIBEXECDIR)/calcsize \ $(server)/$(AMLIBEXECDIR)/dumper \ $(server)/$(AMLIBEXECDIR)/planner \ $(server)/usr/sbin/amcheck \ $(server)/usr/sbin/amservice chmod u=srwx,g=rx,o=r \ $(client)/$(AMLIBEXECDIR)/application/amgtar \ $(client)/$(AMLIBEXECDIR)/application/amstar \ $(client)$(AMLIBEXECDIR)/killpgrp \ $(client)$(AMLIBEXECDIR)/rundump \ $(client)$(AMLIBEXECDIR)/runtar \ $(client)$(AMLIBEXECDIR)/calcsize \ $(server)/$(AMLIBEXECDIR)/application/amgtar \ $(server)/$(AMLIBEXECDIR)/application/amstar \ $(server)$(AMLIBEXECDIR)/killpgrp \ $(server)$(AMLIBEXECDIR)/rundump \ $(server)$(AMLIBEXECDIR)/runtar \ $(server)$(AMLIBEXECDIR)/calcsize \ $(server)$(AMLIBEXECDIR)/dumper \ $(server)$(AMLIBEXECDIR)/planner \ $(server)/usr/sbin/amcheck \ $(server)/usr/sbin/amservice echo "Amanda version $(AMVER)" > $(server)/$(AMANDAHOMEDIR)/amanda-release echo "Amanda version $(AMVER)" > $(client)/$(AMANDAHOMEDIR)/amanda-release install -o root -g root -m 0644 debian/amanda-backup-client.lintian \ $(client)/usr/share/lintian/overrides/amanda-backup-client install -o root -g root -m 0644 debian/amanda-backup-server.lintian \ $(server)/usr/share/lintian/overrides/amanda-backup-server dh_makeshlibs >> $(log) 2>&1 dh_perl >> $(log) 2>&1 dh_shlibdeps -l"$(r)/usr/lib:$(client)/usr/lib:$(server)/usr/lib" >> $(log) 2>&1 dh_installdeb >> $(log) 2>&1 dh_gencontrol >> $(log) 2>&1 dh_md5sums >> $(log) 2>&1 dh_builddeb >> $(log) 2>&1 source diff: @echo >&2 'source and diff are obsolete - use dpkg-source -b'; false binary: binary-arch .PHONY: build clean binary-arch binary