[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH 4/9] raisin: add a component to build qemu_traditional



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 <stefano.stabellini@xxxxxxxxxxxxx>
> ---
>  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.

~Andrew

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.