From mboxrd@z Thu Jan 1 00:00:00 1970 From: George Dunlap Subject: Re: [PATCH 4/9] raisin: add a component to build qemu_traditional Date: Wed, 15 Apr 2015 16:51:13 +0100 Message-ID: <552E88F1.7020005@eu.citrix.com> References: <1429110900-8286-4-git-send-email-stefano.stabellini@eu.citrix.com> <552E832A.9020900@citrix.com> <552E8870.6020302@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <552E8870.6020302@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Andrew Cooper , Stefano Stabellini Cc: xen-devel@lists.xensource.com List-Id: xen-devel@lists.xenproject.org On 04/15/2015 04:49 PM, Andrew Cooper wrote: > On 15/04/15 16:44, Stefano Stabellini wrote: >> On Wed, 15 Apr 2015, Andrew Cooper wrote: >>> On 15/04/15 16:14, Stefano Stabellini wrote: >>>> Introduce a component to build qemu-traditional out of xen-unstable. >>>> Do not compile qemu-traditional from xen-unstable by passing the right >>>> command line option to configure. >>>> >>>> Signed-off-by: Stefano Stabellini >>>> --- >>>> components/qemu_traditional | 49 +++++++++++++++++++++++++++++++++++++++++++ >>>> components/series | 1 + >>>> components/xen | 3 ++- >>>> defconfig | 2 ++ >>>> 4 files changed, 54 insertions(+), 1 deletion(-) >>>> create mode 100644 components/qemu_traditional >>>> >>>> diff --git a/components/qemu_traditional b/components/qemu_traditional >>>> new file mode 100644 >>>> index 0000000..cb71c94 >>>> --- /dev/null >>>> +++ b/components/qemu_traditional >>>> @@ -0,0 +1,49 @@ >>>> +#!/usr/bin/env bash >>>> + >>>> +function qemu_traditional_check_package() { >>>> + local DEP_Debian_common="build-essential zlib1g-dev pciutils-dev pkg-config \ >>>> + libncurses5-dev" >>>> + local DEP_Debian_x86_32="$DEP_Debian_common" >>>> + local DEP_Debian_x86_64="$DEP_Debian_common" >>>> + local DEP_Debian_arm32="$DEP_Debian_common" >>>> + local DEP_Debian_arm64="$DEP_Debian_common" >>>> + >>>> + local DEP_Fedora_common="make gcc zlib-devel ncurses-devel pciutils-devel" >>>> + local DEP_Fedora_x86_32="$DEP_Fedora_common" >>>> + local DEP_Fedora_x86_64="$DEP_Fedora_common" >>>> + >>>> + echo Checking QEMU dependencies >>>> + eval check-package \$DEP_"$DISTRO"_"$ARCH" >>>> +} >>>> + >>>> +function qemu_traditional_build() { >>>> + cd "$BASEDIR" >>>> + git-checkout $QEMU_TRADITIONAL_UPSTREAM_URL $QEMU_TRADITIONAL_UPSTREAM_REVISION qemu_traditional-dir >>>> + cd qemu_traditional-dir >>>> + >>>> + export CONFIG_BLKTAP1=n >>>> + export XEN_ROOT="$BASEDIR"/xen-dir >>>> + ./xen-setup >>>> + $MAKE all >>>> + $MAKE install DESTDIR="$INST_DIR" >>>> + cd "$BASEDIR" >>>> +} >>>> + >>>> +function qemu_traditional_clean() { >>>> + cd "$BASEDIR" >>>> + if [[ -d qemu_traditional-dir ]] >>>> + then >>>> + cd qemu_traditional-dir >>>> + $MAKE distclean >>>> + cd .. >>>> + rm -rf qemu_traditional-dir >>>> + fi >>>> +} >>>> + >>>> +function qemu_traditional_configure() { >>>> + echo Nothing to configure for qemu_traditional >>>> +} >>>> + >>>> +function qemu_traditional_unconfigure() { >>>> + echo Nothing to unconfigure for qemu_traditional >>>> +} >>>> diff --git a/components/series b/components/series >>>> index 8f614f0..d21243a 100644 >>>> --- a/components/series >>>> +++ b/components/series >>>> @@ -1,4 +1,5 @@ >>>> xen >>>> qemu >>>> +qemu_traditional >>>> grub >>>> libvirt >>>> diff --git a/components/xen b/components/xen >>>> index dcf2f92..9fdf37f 100644 >>>> --- a/components/xen >>>> +++ b/components/xen >>>> @@ -23,7 +23,8 @@ function xen_build() { >>>> cd "$BASEDIR" >>>> git-checkout $XEN_UPSTREAM_URL $XEN_UPSTREAM_REVISION xen-dir >>>> cd xen-dir >>>> - ./configure --prefix=$PREFIX --with-system-qemu=/usr/bin/qemu-system-i386 >>>> + ./configure --prefix=$PREFIX --with-system-qemu=/usr/bin/qemu-system-i386 \ >>>> + --disable-qemu-traditional >>> This does more than just what you want. >>> >>> It also tells libxl that qemu-trad does not exist which compiles out any >>> ability to use qemu-trad as a device model. >>> >>> This is how XenServer managed to build qemu-trad externally while still >>> retaining libxl support: >>> >>> https://github.com/xenserver/xen-4.5.pg/blob/master/master/build-disable-qemu-trad.patch >>> >>> It would be nice if there was a --wtih-system-qemu-trad= option, but >>> that has been looked upon unfavourably by the maintainers. >> Thanks for feedback!! >> I think Raisin needs something like --with-system-qemu-trad=, so if Xen >> doesn't provide it, we'll have to carry a patch in Raisin to do it. >> >> Do you have a link to the discussion or previously rejected patch? > > I am not sure that there was ever a patch - it may have been a > discussion I had with ijc in person. > > I would be +1 for a --with-system-qemu-trad= option to mirror the > --with-system-qemu, especially as I am now not the only advocate of one. Well in this case our goal is to get all the external clones out of the xen tree at all; in which case --with-system-qemu-trad is basically the way to do it. -George