X-Git-Url: http://git.annexia.org/?a=blobdiff_plain;f=Makefile;h=c3f227084080f4bb8a1af0aef1ac7b814f25e160;hb=73f18e249d542d8c2d406565b0690d7c47194100;hp=01242507749f858bb7e3b6f5502a1d5842576e8d;hpb=1835c920726e5ce4f012ba1fc4cba0d33c9b316a;p=virt-p2v.git diff --git a/Makefile b/Makefile index 0124250..c3f2270 100644 --- a/Makefile +++ b/Makefile @@ -3,7 +3,8 @@ #---------------------------------------------------------------------- # General configuration -VERSION := 0.1 +PACKAGE := virt-p2v +VERSION := 0.3 # i386 images also work on x86-64, so best to stick with i386. ARCH := i386 @@ -19,25 +20,24 @@ BASEREPO := http://download.fedora.redhat.com/pub/fedora/linux/releases/7/Fedora export http_proxy := http://127.0.0.1:3128/ export ftp_proxy := http://127.0.0.1:3128/ -LABEL := virt-p2v-$(VERSION) +LABEL := $(PACKAGE)-$(VERSION) #---------------------------------------------------------------------- all: - @echo "make build Build the live CD ISO" - @echo "make boot [ISO=foo.iso] Boot built/named ISO (uses qemu)" + @echo "make build Build the live CD ISO" + @echo "make boot [HDA=hda.img] [HDB=hdb.img] [ISO=livecd.iso]" + @echo " Boot built/named ISO (uses qemu)" -build: livecd.ks +# Build live CD. + +build: checkroot livecd.ks rm -f $(LABEL).iso - livecd-creator --config=$< --fslabel=$(LABEL) + livecd-creator --config=livecd.ks --fslabel=$(LABEL) ls -lhtr *.iso -ISO = $(LABEL).iso - -boot: - qemu -m 512 -cdrom $(ISO) - livecd.ks: livecd.ks.in livecd-post.sh Makefile + rm -f $@ sed \ -e 's|@BASEREPO@|$(BASEREPO)|g' \ -e 's|@LANG@|$(LANG)|g' \ @@ -45,7 +45,8 @@ livecd.ks: livecd.ks.in livecd-post.sh Makefile -e 's|@TIMEZONE@|$(TIMEZONE)|g' \ < $< | cat - livecd-post.sh > $@ -livecd-post.sh: livecd-post.sh.in p2v.init virt-p2v.sh inittab Makefile +livecd-post.sh: livecd-post.sh.in p2v.init virt-p2v.sh inittab lvm.conf Makefile + rm -f $@ sed \ -e '/@P2V.INIT@/ r p2v.init' \ -e '/@P2V.INIT@/ d' \ @@ -53,7 +54,61 @@ livecd-post.sh: livecd-post.sh.in p2v.init virt-p2v.sh inittab Makefile -e '/@VIRT-P2V.SH@/ d' \ -e '/@INITTAB@/ r inittab' \ -e '/@INITTAB@/ d' \ + -e '/@LVM.CONF@/ r lvm.conf' \ + -e '/@LVM.CONF@/ d' \ < $< > $@ +# Run live CD under qemu. + +QEMU := qemu +ISO := $(LABEL).iso +HDA := +HDB := + +QEMU_ARGS := -m 512 -cdrom $(ISO) -boot d +ifneq ($(HDA),) +QEMU_ARGS += -hda $(HDA) +endif +ifneq ($(HDB),) +QEMU_ARGS += -hdb $(HDB) +endif + +boot: + $(QEMU) $(QEMU_ARGS) + +# Standard rules. + +checkroot: + @if [ `id -u` -ne 0 ]; then \ + echo "You must be root to perform this operation."; \ + exit 1; \ + fi + clean: rm -f *~ core livecd.ks livecd-post.sh + +# Manifest. + +dist: + $(MAKE) check-manifest + rm -rf $(PACKAGE)-$(VERSION) + mkdir $(PACKAGE)-$(VERSION) + tar -cf - -T MANIFEST | tar -C $(PACKAGE)-$(VERSION) -xf - + $(INSTALL) -m 0755 configure $(PACKAGE)-$(VERSION)/ + tar zcf $(PACKAGE)-$(VERSION).tar.gz $(PACKAGE)-$(VERSION) + rm -rf $(PACKAGE)-$(VERSION) + ls -l $(PACKAGE)-$(VERSION).tar.gz + +check-manifest: + @for d in `find -type d -name CVS | grep -v '^\./debian/'`; \ + do \ + b=`dirname $$d`/; \ + awk -F/ '$$1 != "D" {print $$2}' $$d/Entries | \ + sed -e "s|^|$$b|" -e "s|^\./||"; \ + done | sort > .check-manifest; \ + sort MANIFEST > .orig-manifest; \ + diff -u .orig-manifest .check-manifest; rv=$$?; \ + rm -f .orig-manifest .check-manifest; \ + exit $$rv + +.PHONY: build boot checkroot \ No newline at end of file