1
0
mirror of synced 2026-01-16 16:17:54 +00:00
steve 7389276ab9 2006-06-10 17:11:32 by steve
Install the role.d subdirectory, and remove xen-tools from /usr/lib on uninstall.
2006-06-10 17:11:32 +00:00

163 lines
5.4 KiB
Makefile

#
# Utility makefile for people working with xen-tools
#
# Steve
# --
# http://www.steve.org.uk/
#
# $Id: Makefile,v 1.57 2006-06-10 17:11:32 steve Exp $
#
# Only used to build distribution tarballs.
#
DIST_PREFIX = /tmp
VERSION = 2.0
BASE = xen-tools
#
# Installation prefix
#
prefix=
nop:
@echo "Valid targets are (alphabetically) :"
@echo " "
@echo " clean = Remove bogus files."
@echo " commit = Commit changes, after running check."
@echo " diff = Run a 'cvs diff'."
@echo " install = Install the software"
@echo " manpages = Make manpages beneath man/"
@echo " manpages-html = Make HTML manpages beneath man/"
@echo " release = Make a release tarball"
@echo " uninstall = Remove the software"
@echo " update = Update from the CVS repository."
@echo " "
changelog:
-if [ -x /usr/bin/cvs2cl ] ; then cvs2cl; fi
-rm ChangeLog.bak
clean:
@find . -name '.*~' -exec rm \{\} \;
@find . -name '.#*' -exec rm \{\} \;
@find . -name '*~' -exec rm \{\} \;
@find . -name '*.bak' -exec rm \{\} \;
@find . -name '*.tmp' -exec rm \{\} \;
@find . -name 'tags' -exec rm \{\} \;
@find . -name '*.8.gz' -exec rm \{\} \;
@find man -name '*.html' -exec rm \{\} \;
@if [ -e build-stamp ]; then rm -f build-stamp ; fi
@if [ -e configure-stamp ]; then rm -f configure-stamp ; fi
@if [ -d debian/xen-tools ]; then rm -rf ./debian/xen-tools; fi
commit: test
cvs -z3 commit
diff:
cvs diff --unified 2>/dev/null
install: manpages
mkdir -p ${prefix}/usr/bin
cp bin/xen-create-image ${prefix}/usr/bin
cp bin/xt-customize-image ${prefix}/usr/bin
cp bin/xt-install-image ${prefix}/usr/bin
cp bin/xt-create-xen-config ${prefix}/usr/bin
cp bin/xen-delete-image ${prefix}/usr/bin
cp bin/xen-duplicate-image ${prefix}/usr/bin
cp bin/xen-list-images ${prefix}/usr/bin
cp bin/xen-update-image ${prefix}/usr/bin
chmod 755 ${prefix}/usr/bin/xen-create-image
chmod 755 ${prefix}/usr/bin/xt-customize-image
chmod 755 ${prefix}/usr/bin/xt-install-image
chmod 755 ${prefix}/usr/bin/xt-create-xen-config
chmod 755 ${prefix}/usr/bin/xen-delete-image
chmod 755 ${prefix}/usr/bin/xen-duplicate-image
chmod 755 ${prefix}/usr/bin/xen-list-images
chmod 755 ${prefix}/usr/bin/xen-update-image
-mkdir -p ${prefix}/etc/xen-tools
-if [ -d ${prefix}/etc/xen-tools/hook.d ]; then mv ${prefix}/etc/xen-tools/hook.d/ ${prefix}/etc/xen-tools/hook.d.obsolete ; fi
-if [ -d ${prefix}/etc/xen-tools/role.d ]; then mv ${prefix}/etc/xen-tools/role.d/ ${prefix}/etc/xen-tools/role.d.obsolete ; fi
-mkdir -p ${prefix}/etc/xen-tools/skel/
mkdir -p ${prefix}/usr/lib/xen-tools
mkdir -p ${prefix}/usr/lib/xen-tools/debian.d/role.d
-cd ${prefix}/usr/lib/xen-tools/ && ln -s debian.d sarge.d
-cd ${prefix}/usr/lib/xen-tools/ && ln -s debian.d etch.d
-cd ${prefix}/usr/lib/xen-tools/ && ln -s debian.d sid.d
mkdir -p ${prefix}/usr/lib/xen-tools/centos4.d/role.d
cp hooks/common.sh ${prefix}/usr/lib/xen-tools
cp -R hooks/debian/*-* ${prefix}/usr/lib/xen-tools/debian.d
cp -R hooks/debian/role.d/* ${prefix}/usr/lib/xen-tools/debian.d/role.d/
-rm -rf ${prefix}/usr/lib/xen-tools/debian.d/role.d/CVS
cp -R hooks/centos4/*-* ${prefix}/usr/lib/xen-tools/centos4.d
cp -R hooks/centos4/role.d/* ${prefix}/usr/lib/xen-tools/centos4.d/role.d
-rm -rf ${prefix}/usr/lib/xen-tools/centos4.d/role.d/CVS
-mkdir -p ${prefix}/usr/share/man/man8/
cp man/*.8.gz ${prefix}/usr/share/man/man8/
cp etc/xen-tools.conf ${prefix}/etc/xen-tools/
-mkdir -p ${prefix}/etc/bash_completion.d
cp misc/xen-tools ${prefix}/etc/bash_completion.d/
cp misc/xm ${prefix}/etc/bash_completion.d/
manpages:
cd bin; for i in *-*; do pod2man --release=${VERSION} --official --section=8 $$i ../man/$$i.8; done
for i in man/*.8; do gzip --force -9 $$i; done
manpages-html:
for i in xen-*; do pod2html $$i > man/$$i.html; done
release: update-version clean changelog
rm -rf $(DIST_PREFIX)/$(BASE)-$(VERSION)
rm -f $(DIST_PREFIX)/$(BASE)-$(VERSION).tar.gz
cp -R . $(DIST_PREFIX)/$(BASE)-$(VERSION)
find $(DIST_PREFIX)/$(BASE)-$(VERSION) -name "CVS" -print | xargs rm -rf
cd $(DIST_PREFIX) && tar --exclude=bin --exclude=debian --exclude=.cvsignore -cvf $(DIST_PREFIX)/$(BASE)-$(VERSION).tar $(BASE)-$(VERSION)/
gzip $(DIST_PREFIX)/$(BASE)-$(VERSION).tar
mv $(DIST_PREFIX)/$(BASE)-$(VERSION).tar.gz .
rm -rf $(DIST_PREFIX)/$(BASE)-$(VERSION)
gpg --armour --detach-sign $(BASE)-$(VERSION).tar.gz
test:
@perl -MTest::Harness -e '$$Test::Harness::verbose=0; runtests @ARGV;' tests/*.t
test-verbose:
@perl -MTest::Harness -e '$$Test::Harness::verbose=1; runtests @ARGV;' tests/*.t
uninstall:
rm -f ${prefix}/usr/bin/xen-create-image
rm -f ${prefix}/usr/bin/xen-delete-image
rm -f ${prefix}/usr/bin/xen-duplicate-image
rm -f ${prefix}/usr/bin/xen-list-images
rm -f ${prefix}/usr/bin/xen-update-image
rm -f ${prefix}/etc/xen-tools/xen-tools.conf
-rmdir ${prefix}/etc/xen-tools/
-rm -f ${prefix}/etc/bash_completion.d/xen-tools
-rm -f ${prefix}/etc/bash_completion.d/xm
rm -rf ${prefix}/usr/lib/xen-tools
rm -f ${prefix}/usr/share/man/man8/xen-create-image.8.gz
rm -f ${prefix}/usr/share/man/man8/xen-delete-image.8.gz
rm -f ${prefix}/usr/share/man/man8/xen-duplicate-image.8.gz
rm -f ${prefix}/usr/share/man/man8/xen-list-images.8.gz
rm -f ${prefix}/usr/share/man/man8/xen-update-image.8.gz
update:
cvs -z3 update -A -P -d 2>/dev/null
update-version:
perl -pi.bak -e "s/RELEASE = '[0-9]\.[0-9]';/RELEASE = '${VERSION}';/g" bin/*-*