[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[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


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.