[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 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 <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.
>> 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


_______________________________________________
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®.