This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
Home Products Support Community News


Re: [Xen-devel] Xen build - Debian vs Redhat layout patch options

To: Ian Jackson <Ian.Jackson@xxxxxxxxxxxxx>
Subject: Re: [Xen-devel] Xen build - Debian vs Redhat layout patch options
From: user virtual <virtualusr@xxxxxxxxx>
Date: Thu, 20 Jan 2011 19:15:56 +0530
Cc: xen-devel@xxxxxxxxxxxxxxxxxxx, Bruce Edge <bruce.edge@xxxxxxxxx>, Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
Delivery-date: Fri, 21 Jan 2011 04:43:38 -0800
Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc:content-type; bh=25W2MN27ORemFdSSx3ZlfWpkCOEs3lM9I2xob2rIbUI=; b=l19ecscC+h1/w1uKrowgjo3zR8qkMv8UPjhHbGMccfSWLKwtE71Yy81YlJZX4kyuEo 8TdbPYXkPe8lH6ciqaP9VHYMxG5LDMwBte0Z5r1GkO1Etf30GcEb07ICvs/nigPM/Dc+ LxiOdnRNJgyTTs87KcpXuPJJgJeicly/uKckk=
Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; b=pIxsn46S2eHB7tOk6pO5yWuNKnvZH+JANgGEDagZAREzrhhmduARGC5UHJKOYxtIHW 0bJyTVfxLTamDdJzRJpOQ/8ANfqt+koBFDRaPmEUnb535sYWedQ12NthDxhFvMsB8ZP9 0kR3MoLJ788KxSGmquPo8pBFJxlsflBnboQ0o=
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <19756.38211.320507.531016@xxxxxxxxxxxxxxxxxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <AANLkTimi2-DzvysGnzJmEZtL4TXSsX6YDS0TPtoU-FiE@xxxxxxxxxxxxxx> <alpine.DEB.2.00.1007071207480.17029@kaball-desktop> <AANLkTim48T7Y3Pq0_nS1zZ5jWH_kXrS8JceWLf-yUOM6@xxxxxxxxxxxxxx> <AANLkTinumJX1x+2AZ8vB97XRXFS3vWYArg0XJk8iiebt@xxxxxxxxxxxxxx> <19756.38211.320507.531016@xxxxxxxxxxxxxxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
Hi Guys

I summarize all patches in one mail here because I am not certain each is the best way to go, more like a discussion on how to finally close all holes to support debian builds.

Stefano provoked me to port all patches to unstable resulting in a big step forward:

Right! Almost all of the patches are already resolved in unstable repository. For building xen-unstable debian packeges in my last attempt, only one patch was absolutely necessary (debian-stubdom.Makefile.diff).
Strangely, manual run of "rules" makefile “fakeroot debian/rules binary” builds everything even without this last patch applied, while using the official packaging command "dpkg-buildpackage -rfakeroot" which calls the above "rules" makefile fails without the patch.
It might be even theoretically possible to avoid this last patch, if one could find which environment options applied by running dpkg-buildpackage break the “make stubdom” command inside the "rules" makefile; find and unset them. Unfortunately I have no time for this unsure guessing game now.

I found one more bug (xen-watchdog-bug.diff) preventing the stopping of xen-watchdog and by that provoking errors during the install and debian packet management.

While analyzing python patch (not on debian), I found out that it can be dropped if I use the newer recommended debhelper command dh_pysupport to pack python related parts. The issue however remains open (patch required) if somebody only wishes to build sources without using packaging to debian and dh_pysupport.
Ian: - This special casing of Debian is pretty horrid.  How about we provide a general way to pass arguments to setup.py install and setup.py build, with the variables set by default to the empty string?

Sounds great Ian, but after looking into tools/python/setup.py, I feel this exceeds my current knowledge of your python tools.

Summary of attached patches against xen-unstable.hg:
1. debian-stubdom.Makefile.diff - necessary for official packaging command "dpkg-buildpackage -rfakeroot", not needed for simple build without .deb packages
2. xen-watchdog-bug.diff - obvious bug on all platforms
3. debian-python-2.6.diff - only needed for simple build on debian with no .deb packaging
*.err - describes the error resolved by the patch

I would personally like 1. to be included in xen-unstable.hg, and of course bug 2. resolved.
Personally, I don't find 3. critical any more, as I always avoid installing software which is not .deb packaged, but there might be other opinions out there.

Otherwise, great work guys. I find xen-unstable.hg "almost fully debian-compatible".

Best regards

PS: Please note that there is an outstanding issue which prevents compiling from xen-unstable.hg with "export debug=n".
I will summarize my latest experience regarding missing debian patches in xen-4.0-testing.hg in my next mail.

On Tue, Jan 11, 2011 at 11:07 PM, Ian Jackson <Ian.Jackson@xxxxxxxxxxxxx> wrote:
user virtual writes ("Re: [Xen-devel] Xen build - Debian vs Redhat layout patch options"):
> I was encouraged by Bruce to forward my patches upstream to make Xen sources
> buildable from debian makefile debian/rules and for debian based target
> systems.


> I tried to make my 3 of 4 (5) patches to xen40-testing.hg as non intrusive
> as possible
> - backport-StdGNU.mk.diff  (from xen-devel, already here)

Thanks for this.  Posting them all one after another in a single
message is not the most convenient format for a submission; better
would be one per email.

And there is no need to send us patches we already have; it just
causes confusion ...

> - debian-sysconfig-default.diff  (conditional Makefile expansion)

We have machinery in xen-unstable.hg now which should cope with this,
so I don't think we need that change.

Stefano has dealt with most of these I think, but we still had
outstanding this:

> Description: Simple Python install layout for Debian based systems
>  Ported from origin below (Xen-3.4), which is a follower of
>  previous version from ubuntu Xen-3.3 sources
>  xen-3.3-3.3.0/debian/patches/use-python-2.6.diff
>  Drivers: User Virtual <virtualusr@xxxxxxxxx>
>  URL: http://virtualusr.wordpress.com
> Origin: https://bugs.launchpad.net/ubuntu/+source/xen-3.3/+bug/378240/+attachment/662345/+files/xen-3.4_3.4.1-1ubuntu1.diff.gz
> Index: xen-4.0-4.0.1/tools/pygrub/Makefile
> ===================================================================
> --- xen-4.0-4.0.1.orig/tools/pygrub/Makefile  2010-08-25 10:22:42.000000000 +0200
> +++ xen-4.0-4.0.1/tools/pygrub/Makefile       2011-01-04 19:08:18.556582404 +0100
> @@ -11,7 +11,8 @@
>  .PHONY: install
>  install: all
>       CC="$(CC)" CFLAGS="$(CFLAGS)" $(PYTHON) setup.py install \
> -             $(PYTHON_PREFIX_ARG) --root="$(DESTDIR)" --force
> +             $(PYTHON_PREFIX_ARG) --root="$(DESTDIR)" --force \
> +             $(if $(filter y,$(DEBIANBASE)),--install-layout=deb)
>       $(INSTALL_PYTHON_PROG) src/pygrub $(DESTDIR)/$(BINDIR)/pygrub
>       $(INSTALL_DIR) $(DESTDIR)/var/run/xend/boot

This special casing of Debian is pretty horrid.  How about we provide
a general way to pass arguments to setup.py install and setup.py
build, with the variables set by default to the empty string ?


Attachment: debian-stubdom.Makefile.diff
Description: Binary data

Attachment: xen-watchdog-bug.diff
Description: Binary data

Attachment: debian-python-2.6.diff
Description: Binary data

Attachment: debian-stubdom.Makefile.diff.err
Description: Binary data

Attachment: xen-watchdog-bug.diff.err
Description: Binary data

Attachment: debian-python-2.6.diff.err
Description: Binary data

Xen-devel mailing list