WARNING - OLD ARCHIVES

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/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

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: Fri, 21 Jan 2011 21:00:28 +0530
Cc: xen-devel@xxxxxxxxxxxxxxxxxxx, Bruce Edge <bruce.edge@xxxxxxxxx>, Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
Delivery-date: Sat, 22 Jan 2011 08:00:57 -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=bB+bDRnU4VQDArR8DHhKWybXw5rUxg1g2nk1lZ2yDZk=; b=U68IVs81F4XqiNH768MQoeVkHfBQ0yl0uIbfS0aLUE3/2JT5DvC5vR+a9r/xC6rm3i cDuDqSUd+fah1pajZjO9VNULeDgKVocS7EqTQDhX0hyxEvyichNE7LfrmttVwTCiXkmG xF8mx/oGK8K5/Yp2xbACz4lO6Yol1asrAl2P8=
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=VuhN3t9EUzryqWJbkMjGzG0sAEjfW4Yc/sDxTCgJaDCxD+DTAcfBJO1ZuyDjN6dec1 hypPM1lujn35uXaxKEZsxy/STcr6pcYf1hNbG6/mQQu0TWaN9EgFEWqXNGsRYLxY78nO MK4KPnXtYpAMoxtnbYOoD7Eu3X2NALtLLRPeE=
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <AANLkTi=NOMAfZM+XU+vS0rGKG4VXfL3dVVfETTxv_yzx@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>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
Hi

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".  :-)

Regards


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:
http://virtualusr.wordpress.com/2011/01/20/xen-4-x-testing-unstable-ubuntu/

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.

Thanks.

> 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 ?

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel