xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
From: Keir Fraser <keir.xen@gmail.com>
To: Tim Deegan <Tim.Deegan@citrix.com>, xen-devel@lists.xensource.com
Subject: Re: [PATCH] Build target to wrap dist/install in a .deb archive
Date: Wed, 11 May 2011 17:56:00 +0100	[thread overview]
Message-ID: <C9F07E30.1A299%keir.xen@gmail.com> (raw)
In-Reply-To: <3e557227ab5055024ca8.1305127944@whitby.uk.xensource.com>

On 11/05/2011 16:32, "Tim Deegan" <Tim.Deegan@citrix.com> wrote:

> # HG changeset patch
> # User Tim Deegan <Tim.Deegan@citrix.com>
> # Date 1305126869 -3600
> # Node ID 3e557227ab5055024ca85284d9328686aaa6380e
> # 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.

IOW you are posting this as an aid for other devs, not for applying to the
tree? Personally I wouldn't be in favour of sticking this kind of thing in
tree.

 -- Keir

> Signed-off-by: Tim Deegan <Tim.Deegan@citrix.com>
> 
> diff -r 19452acd2304 -r 3e557227ab50 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 3e557227ab50 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 3e557227ab50 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 3e557227ab50 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 3e557227ab50 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@lists.xensource.com
> http://lists.xensource.com/xen-devel

  parent reply	other threads:[~2011-05-11 16:56 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-05-11 15:32 [PATCH] Build target to wrap dist/install in a .deb archive Tim Deegan
2011-05-11 15:46 ` Tim Deegan
2011-05-11 16:56 ` Keir Fraser [this message]
2011-05-11 21:23   ` Tim Deegan
2011-05-12  8:15     ` Ian Campbell
2011-05-16 10:50     ` Tim Deegan
  -- strict thread matches above, loose matches on Subject: below --
2011-05-11 15:51 Tim Deegan

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=C9F07E30.1A299%keir.xen@gmail.com \
    --to=keir.xen@gmail.com \
    --cc=Tim.Deegan@citrix.com \
    --cc=xen-devel@lists.xensource.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).