[Pkg-xen-changes] r73 - trunk/xen-3.0/debian

Bastian Blank waldi at costa.debian.org
Sat Mar 4 12:30:54 UTC 2006


Author: waldi
Date: 2006-03-04 12:30:48 +0000 (Sat, 04 Mar 2006)
New Revision: 73

Modified:
   trunk/xen-3.0/debian/rules
Log:
debian/rules: Update.


Modified: trunk/xen-3.0/debian/rules
===================================================================
--- trunk/xen-3.0/debian/rules	2006-03-04 12:29:52 UTC (rev 72)
+++ trunk/xen-3.0/debian/rules	2006-03-04 12:30:48 UTC (rev 73)
@@ -1,119 +1,175 @@
 #!/usr/bin/make -f
 
-CC		:= gcc
-CFLAGS		:= -Wall -g
-#DH_VERBOSE	:= -v
+# Uncomment this to turn on verbose mode.
+#export DH_VERBOSE=1
 
-DEB_VERSION	:= $(shell dpkg-parsechangelog | sed -n 's/^Version: //p')
-DEB_REVISION	:= $(shell echo "$(DEB_VERSION)" | sed 's/.*-//')
-UP_VERSION	:= $(shell echo "$(DEB_VERSION)" | sed 's/-[^-]*$$//')
-DEB_BUILD_ARCH  := $(shell dpkg-architecture -qDEB_BUILD_ARCH)
+DEB_HOST_ARCH  := $(shell dpkg-architecture -qDEB_HOST_ARCH)
+DEB_BUILD_ARCH := $(shell dpkg-architecture -qDEB_BUILD_ARCH)
+srcver   := $(shell dpkg-parsechangelog | awk '/^Version:/ {print $$2}')
+VERSION  := $(shell echo $(srcver) | sed -e 's,-[^-]*$$,,')
+MAJOR    := 3.0
+BUILD_DIR = debian/build
+STAMPS_DIR = debian/stamps
 
-ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
-        CFLAGS += -O0
-else
-        CFLAGS += -O2
+setup: $(STAMPS_DIR)/setup
+$(STAMPS_DIR)/setup: $(BUILD_DIR) $(STAMPS_DIR) setup-docs setup-hypervisor setup-tools
+	dh_testdir
+	touch $@
+
+srcfiles := $(filter-out debian, $(wildcard * .[^.]*))
+$(STAMPS_DIR)/setup-patch:
+	@rm -rf $(BUILD_DIR)/source
+	mkdir $(BUILD_DIR)/source
+	cp -a $(srcfiles) $(BUILD_DIR)/source
+	touch $@
+
+$(STAMPS_DIR)/setup-docs: $(STAMPS_DIR)/setup-patch
+	@rm -rf $(BUILD_DIR)/build-docs
+	cp -a $(BUILD_DIR)/source/ $(BUILD_DIR)/build-docs
+	touch $@
+
+$(STAMPS_DIR)/setup-hypervisor-%: $(STAMPS_DIR)/setup-patch
+	@rm -rf $(BUILD_DIR)/build-hypervisor-$*
+	cp -a $(BUILD_DIR)/source/ $(BUILD_DIR)/build-hypervisor-$*
+	touch $@
+
+$(STAMPS_DIR)/setup-tools: $(STAMPS_DIR)/setup-patch
+	@rm -rf $(BUILD_DIR)/build-tools
+	cp -a $(BUILD_DIR)/source/ $(BUILD_DIR)/build-tools
+	touch $@
+
+build: $(STAMPS_DIR)/build
+$(STAMPS_DIR)/build: $(BUILD_DIR) $(STAMPS_DIR) $(STAMPS_DIR)/setup build-hypervisor build-tools
+	dh_testdir
+	touch $@
+
+build-indep:
+
+$(STAMPS_DIR)/build-%: DIR=$(BUILD_DIR)/$(@F)
+
+$(STAMPS_DIR)/build-hypervisor-amd64: $(STAMPS_DIR)/setup-hypervisor-amd64
+	$(MAKE) -C $(DIR)/xen XEN_TARGET_ARCH=x86_64
+	touch $@
+
+$(STAMPS_DIR)/build-hypervisor-i386: $(STAMPS_DIR)/setup-hypervisor-i386
+	$(MAKE) -C $(DIR)/xen XEN_TARGET_ARCH=x86_32
+	touch $@
+
+$(STAMPS_DIR)/build-hypervisor-i386-pae: $(STAMPS_DIR)/setup-hypervisor-i386-pae
+	$(MAKE) -C $(DIR)/xen XEN_TARGET_ARCH=x86_32 XEN_TARGET_X86_PAE=y
+	touch $@
+
+$(STAMPS_DIR)/build-tools: $(STAMPS_DIR)/setup-tools
+	$(MAKE) -C $(DIR)/tools
+	touch $@
+
+setup-docs:: $(STAMPS_DIR)/setup-docs
+ifneq (,$(filter amd64 i386, $(DEB_HOST_ARCH)))
+build-hypervisor:: $(STAMPS_DIR)/build-hypervisor-amd64
+install-hypervisor:: install-hypervisor-amd64
+setup-hypervisor:: $(STAMPS_DIR)/setup-hypervisor-amd64
+ifneq (,$(filter i386, $(DEB_HOST_ARCH)))
+build-hypervisor:: $(STAMPS_DIR)/build-hypervisor-i386
+install-hypervisor:: install-hypervisor-i386
+setup-hypervisor:: $(STAMPS_DIR)/setup-hypervisor-i386
+build-hypervisor:: $(STAMPS_DIR)/build-hypervisor-i386-pae
+install-hypervisor:: install-hypervisor-i386-pae
+setup-hypervisor:: $(STAMPS_DIR)/setup-hypervisor-i386-pae
 endif
+build-tools:: $(STAMPS_DIR)/build-tools
+install-tools-check:: install-tools
+setup-tools:: $(STAMPS_DIR)/setup-tools
+endif
 
-export DH_VERBOSE
-export CC CFLAGS
+$(BUILD_DIR) $(STAMPS_DIR):
+	@[ -d $@ ] || mkdir $@
 
-include /usr/share/dpatch/dpatch.make
+orig: ../orig/xen-$(MAJOR)-$(VERSION)
+	rsync --delete --exclude debian --exclude .svn --link-dest=../orig/xen-$(MAJOR)-$(VERSION)/ -av ../orig/xen-$(MAJOR)-$(VERSION)/ .
 
-clean: really-clean unpatch
+../orig/xen-$(MAJOR)-$(VERSION):
+	if [ -f "../xen-$(MAJOR)_$(VERSION).orig.tar.gz" ]; then \
+	        mkdir -p ../orig; \
+	        tar -C ../orig -xzf ../xen-$(MAJOR)_$(VERSION).orig.tar.gz; \
+	else \
+	        echo "Can't find orig tarball." >&2; \
+	        exit 1; \
+	fi
 
-really-clean:
+maintainerclean:
+	rm -rf $(filter-out .svn debian, $(wildcard * .[^.]*))
+
+clean:
 	dh_testdir
-	dh_testroot
-	$(MAKE) distclean
-	rm -f build-arch-stamp build-indep-stamp
-	rm -rf debian/install
+	rm -rf $(BUILD_DIR) $(STAMPS_DIR)
 	dh_clean
 
-build: patch-stamp build-indep build-arch
+install-arch: install-hypervisor install-tools-check
+	dh_testdir
+	dh_testroot
+	dh_installdirs
 
-build-arch: build-arch-stamp
-build-arch-stamp:
-ifeq ($(DEB_BUILD_ARCH),i386)
-	# This actually installs the PAE hypervisor rather than just building it!
-	# Unfortunately it's the only way to build it without losing it later on, when cleaning for the real thing!
-	$(MAKE) install-xen XEN_TARGET_X86_PAE=y TARGET=$(CURDIR)/xen/xen_pae DESTDIR=$(CURDIR)/dist
-	$(MAKE) -C xen clean
-endif
-	$(MAKE) -C xen build
-	$(MAKE) -C tools all XEN_PYTHON_NATIVE_INSTALL=1
-	$(MAKE) -C docs man-pages # Needed, otherwise dpkg-buildpackage -B fails
-	touch build-arch-stamp
+install-indep: install-docs
 
-build-indep: build-indep-stamp
-build-indep-stamp:
-	$(MAKE) -C docs all
-	touch build-indep-stamp
+install-docs:
+	$(MAKE) -C debian/build/build-docs/docs
 
-install: install-indep install-arch
-install-indep:
+install-hypervisor-%:
 	dh_testdir
 	dh_testroot
-	dh_clean -k -i
-	dh_installdirs -i
-	
-	$(MAKE) install-docs DESTDIR=$(CURDIR)/debian/install
-	
-	dh_install -i --sourcedir=$(CURDIR)/debian/install
+	dh_clean -k -pxen-hypervisor-$(MAJOR)-$*
 
-install-arch:
+	mkdir debian/xen-hypervisor-$(MAJOR)-$*/boot -p
+	cp $(BUILD_DIR)/build-hypervisor-$*/xen/xen.gz debian/xen-hypervisor-$(MAJOR)-$*/boot/xen-$(MAJOR)-$*.gz
+	#cp $(BUILD_DIR)/build-hypervisor-$*/xen/xen-syms debian/xen-hypervisor-$(MAJOR)-$*/boot/xen-$(MAJOR)-$*.gz
+
+install-tools: export DH_OPTIONS = -plibxen3.0 -plibxen3.0-dev -plibxen3.0-python -pxen-utils-3.0
+install-tools:
 	dh_testdir
 	dh_testroot
-	dh_clean -k -s
-	dh_installdirs -s
-	$(MAKE) install-tools XEN_PYTHON_NATIVE_INSTALL=1 DESTDIR=$(CURDIR)/debian/install
-	$(MAKE) install-xen DESTDIR=$(CURDIR)/debian/install
-ifeq ($(DEB_BUILD_ARCH),i386)
-	cp -dR $(CURDIR)/dist/boot/* $(CURDIR)/debian/install/boot/
-endif	
-	$(MAKE) -C tools/examples install-udev DESTDIR=$(CURDIR)/debian/install
-	$(MAKE) -C tools/examples install-hotplug DESTDIR=$(CURDIR)/debian/install
-	cp -dR $(CURDIR)/docs/man1 $(CURDIR)/debian/install/usr/share/man # Needed, otherwise dpkg-buildpackage -B fails
-	cp -dR $(CURDIR)/docs/man5 $(CURDIR)/debian/install/usr/share/man # Needed, otherwise dpkg-buildpackage -B fails
-	find $(CURDIR)/debian/install -name '*.pyc' | xargs rm
-	mkdir -p debian/install/etc/xen/xend/server
-	mv debian/install/usr/lib/python2.3/site-packages/xen/xend/server/params.py debian/install/etc/xen/xend/params.py
-	ln -s /etc/xen/xend/params.py debian/install/usr/lib/python2.3/site-packages/xen/xend/server/params.py
-	mkdir -p debian/install/usr/share/doc/xen/examples
-	mv debian/install/etc/xen/xmexample* debian/install/usr/share/doc/xen/examples
-	chmod +x \
-		debian/install/usr/lib/python2.3/site-packages/xen/xend/XendClient.py \
-		debian/install/usr/lib/python2.3/site-packages/xen/util/bugtool.py \
-		debian/install/usr/lib/python2.3/site-packages/xen/xend/sxp.py
-	
-	dh_install -s --sourcedir=$(CURDIR)/debian/install
+	dh_clean
 
-binary-common:
-	@echo "DEB_VERSION='$(DEB_VERSION)' DEB_REVISION='$(DEB_REVISION)' UP_VERSION='$(UP_VERSION)' DEB_BUILD_ARCH='$(DEB_BUILD_ARCH)'"
+	$(MAKE) -C $(BUILD_DIR)/build-tools/tools install XEN_PYTHON_NATIVE_INSTALL=1 DESTDIR=$(CURDIR)/debian/tmp LIBDIR=lib
+	dh_install --sourcedir=debian/tmp
+
+# Build architecture-independent files here.
+binary-indep: install-indep
 	dh_testdir
 	dh_testroot
-	dh_installdocs
-	dh_installchangelogs
-	dh_installman
-	dh_python
-	dh_strip
-	dh_compress
-	dh_makeshlibs -V 'libxen3.0 (>= $(UP_VERSION))'
-	dh_shlibdeps -l$(CURDIR)/debian/install/usr/lib -Llibxen3.0 ; \
-	dh_fixperms
-	dh_md5sums
-	dh_installdeb
-	dh_gencontrol
-	dh_builddeb
+	dh_installchangelogs -i
+	dh_installdocs -i
+	dh_installexamples -i
+	dh_link -i
+	dh_strip -i
+	dh_compress -i
+	dh_fixperms -i
+	dh_installdeb -i
+	dh_shlibdeps -i
+	dh_gencontrol -i
+	dh_md5sums -i
+	dh_builddeb -i
 
-# Build architecture independant packages using the common target.
-binary-indep: build-indep install-indep
-	$(MAKE) -f debian/rules DH_OPTIONS=-i binary-common
+# Build architecture-dependent files here.
+binary-arch: install-arch
+	dh_testdir
+	dh_testroot
+	dh_installchangelogs -s
+	dh_installdocs -s
+	dh_installexamples -s
+	dh_installinit -p xen-utils-$(MAJOR) --name xend -- 21 20
+	dh_installinit -p xen-utils-$(MAJOR) --name xendomains -- 20 21
+	dh_installman -s
+	dh_link -s
+	dh_strip -s
+	dh_compress -s
+	dh_fixperms -s
+	dh_python -s
+	dh_makeshlibs -s
+	dh_installdeb -s
+	dh_shlibdeps -s -L libxen$(MAJOR)
+	dh_gencontrol -s
+	dh_md5sums -s
+	dh_builddeb -s
 
-# Build architecture dependant packages using the common target.
-binary-arch: build-arch install-arch
-	$(MAKE) -f debian/rules DH_OPTIONS=-a binary-common
-
 binary: binary-indep binary-arch
-.PHONY: build clean binary-indep binary-arch binary install install-indep install-arch configure
-
+.PHONY: build clean binary-indep binary-arch binary install




More information about the Pkg-xen-changes mailing list