|
|
|
|
|
|
|
|
|
|
xen-devel
[Xen-devel] [PATCH] Build target to wrap dist/install in a .deb archive
# HG changeset patch
# User Tim Deegan <Tim.Deegan@xxxxxxxxxx>
# Date 1305126869 -3600
# Node ID dfa8cb07239d49bcf3fa0e5e892f32e3f646cc3f
# Parent 19452acd23045f40c4e18437f0a60f016757e5bd
Build target to wrap dist/install in a .deb archive.
Adds "make deb", which does a "make dist" build and wraps the resulting
dist/install files in dist/xen-<version>.deb
This is _not_ a "packaged" version of Xen for Debian users, nor is it
intended to compete with anyone else's packaging efforts. In particular
it doesn't do any of the boot-time or fstab fixups needed to actually
start the xen tools. It's just a quick hack for developers to be able
to quickly install and uninstall a Xen build on a test box.
Signed-off-by: Tim Deegan <Tim.Deegan@xxxxxxxxxx>
diff -r 19452acd2304 -r dfa8cb07239d Makefile
--- a/Makefile Fri May 06 11:15:35 2011 +0100
+++ b/Makefile Wed May 11 16:14:29 2011 +0100
@@ -49,6 +49,34 @@ dist-%: DESTDIR=$(DISTDIR)/install
dist-%: install-%
@: # do nothing
+# Package a build as a Debian .deb archive.
+DEBVER = $(shell $(MAKE) -C xen xenversion | grep -v :)
+DEBNAME = xen-upstream-$(DEBVER)
+DEB = dist/debian
+dist/$(DEBNAME).deb: dist
+ rm -rf $(DEB)
+ mkdir -p $(DEB)
+ cp -a dist/install $(DEB)/tmp
+ # Debian doesn't use /usr/lib64 for 64-bit libraries
+ cp -a $(DEB)/tmp/usr/lib64/* $(DEB)/tmp/usr/lib/
+ rm -rf $(DEB)/tmp/usr/lib64
+ sed 's/VERSION/$(DEBVER)/' tools/deb/copyright >$(DEB)/copyright
+ sed '/====/q' COPYING >> $(DEB)/copyright
+ sed 's/VERSION/$(DEBVER)/' tools/deb/changelog >$(DEB)/changelog
+ echo " -- $$(id -nu) <$$(id -nu)@$$(hostname -f)> $$(date -R)"
>>$(DEB)/changelog
+ sed 's/VERSION/$(DEBVER)/' tools/deb/control >$(DEB)/control
+ mkdir -p $(DEB)/tmp/usr/share/doc/$(DEBNAME)
+ cp $(DEB)/control $(DEB)/copyright $(DEB)/tmp/usr/share/doc/$(DEBNAME)/
+ gzip -c9 $(DEB)/changelog
>$(DEB)/tmp/usr/share/doc/$(DEBNAME)/changelog.Debian.gz
+ mkdir -p $(DEB)/tmp/DEBIAN
+ chown -R root:root $(DEB)
+ cd dist && dpkg-gencontrol -p$(DEBNAME)
+ dpkg --build $(DEB)/tmp $@
+
+.PHONY: deb
+deb:
+ fakeroot $(MAKE) dist/$(DEBNAME).deb
+
# Legacy dist targets
.PHONY: xen tools stubdom kernels docs
xen: dist-xen
diff -r 19452acd2304 -r dfa8cb07239d tools/deb/changelog
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tools/deb/changelog Wed May 11 16:14:29 2011 +0100
@@ -0,0 +1,3 @@
+xen-upstream (VERSION) unstable; urgency=low
+
+ * Custom-built Xen hypervisor and tools.
diff -r 19452acd2304 -r dfa8cb07239d tools/deb/control
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tools/deb/control Wed May 11 16:14:29 2011 +0100
@@ -0,0 +1,12 @@
+Source: xen-upstream
+Section: admin
+Priority: optional
+Maintainer: Unmaintained snapshot
+
+Package: xen-upstream-VERSION
+Architecture: any
+Description: Xen hypervisor and tools, version VERSION
+ This package contains the Xen hypervisor and associated tools, built
+ from a source tree. It is not a fully packaged and supported Xen, just
+ the output of a xen "make dist" wrapped in a .deb to make it easy to
+ uninstall.
diff -r 19452acd2304 -r dfa8cb07239d tools/deb/copyright
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tools/deb/copyright Wed May 11 16:14:29 2011 +0100
@@ -0,0 +1,5 @@
+Xen hypervisor and tools, packaged from a private build.
+Sources are available from http://xenbits.xen.org/hg/
+
+Copyright (c) 2002-2011 Keir Fraser and others.
+
diff -r 19452acd2304 -r dfa8cb07239d xen/Makefile
--- a/xen/Makefile Fri May 06 11:15:35 2011 +0100
+++ b/xen/Makefile Wed May 11 16:14:29 2011 +0100
@@ -129,6 +129,10 @@ define set_exuberant_flags
--extra=+f --c-kinds=+px") || true`
endef
+.PHONY: xenversion
+xenversion:
+ @echo $(XEN_FULLVERSION)
+
.PHONY: _TAGS
_TAGS:
set -e; rm -f TAGS; \
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|
|
|
|
|