From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: Re: [PATCH 4/9] raisin: add a component to build qemu_traditional Date: Wed, 15 Apr 2015 16:49:04 +0100 Message-ID: <552E8870.6020302@citrix.com> References: <1429110900-8286-4-git-send-email-stefano.stabellini@eu.citrix.com> <552E832A.9020900@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Stefano Stabellini Cc: george.dunlap@eu.citrix.com, xen-devel@lists.xensource.com List-Id: xen-devel@lists.xenproject.org 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. ~Andrew