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: user virtual <virtualusr@xxxxxxxxx>
Subject: Re: [Xen-devel] Xen build - Debian vs Redhat layout patch options
From: Bruce Edge <bruce.edge@xxxxxxxxx>
Date: Fri, 21 Jan 2011 09:28:51 -0800
Cc: xen-devel@xxxxxxxxxxxxxxxxxxx, Ian Jackson <Ian.Jackson@xxxxxxxxxxxxx>, Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
Delivery-date: Fri, 21 Jan 2011 09:31:10 -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=jCnM79dCUZdnivNBqdXK1xj0jE6T6c62msC2sbaQoxk=; b=PNEPZbCOxM3ZSaDwEjG7MnhX079vAdhBRhtYxE9N6g4zKfvCUvymIcCN+wlVJX711e rlE9VSnXaSQeLtSyL6ZiF/NjZL3RExiOnCvAgIDA0UAjjLcCshNGQkFKYtfSr2aD6pnm iT5MV99tcfU3HOAQ1MNfvLyYS3SpdBmCQ8CeY=
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=DLsqhWurxjH8NNjIrndPoZAqSoQkAfSUOqlZQY8fedt4L3ld6r4exNlcCqqrjjUKc0 h5Y971UN/0ufLOVW+cXgO7L6BntbPEEVEnOUCaZTodgYgsa48kjw7biWxWyoIC+S5J3h Vw13SG9OJMXeKrx+4tWcFPHfWXhJFow0pIclg=
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <AANLkTi=N91eVzQuWaOond_mrW3cDkZjTGSM7+3PZDxQa@xxxxxxxxxxxxxx>
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> <AANLkTi=NOMAfZM+XU+vS0rGKG4VXfL3dVVfETTxv_yzx@xxxxxxxxxxxxxx> <AANLkTi=N91eVzQuWaOond_mrW3cDkZjTGSM7+3PZDxQa@xxxxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx

On Fri, Jan 21, 2011 at 7:30 AM, user virtual <virtualusr@xxxxxxxxx> wrote:

Please ignore the patch debian-stubdom.Makefile.diff . 
Not needed if make in debian/rules is simply run as "env -u LDFLAGS make install-stubdom". Sorry for noise.

Only 2 issues on xen-unstable.hg ...

- xen-watchdog-bug.diff - obvious bug on all platforms
- debian-python-2.6.diff - only needed for simple build on debian with no .deb packaging

... and one issue for debian packager:
-  "env -u LDFLAGS" must be used in debian/rules makefile on two commands:
env -u LDFLAGS make install-xen
env -u LDFLAGS make install-stubdom

When the above is resolved xen-unstable.hg will be "fully debian-compatible".  :-)

Nice work!

Now what's going to happen to that giant debian xen patch  ? :-)

In all seriousness one has to wonder why so much effort was put into a downstream distro adaptation patch while fixing the problem at the source is so much cleaner.
I really don't mean to piss off the debian Xen guys, I'm truly grateful for the work they've done, but it does seem a little mis-targeted.
Or is there some other reason for putting the work into the downstream adaptation that I've missed?



On Thu, Jan 20, 2011 at 7:15 PM, user virtual <virtualusr@xxxxxxxxx> wrote:
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 ?


Xen-devel mailing list