
Pour se tenir à jour au niveau des release, rien de mieux que git et un script.
La version de qemu livrée avec wheezy (la debian stable en vigueur) est la version 1.1.2.
La communauté qemu quant à elle travaille sur la 1.5 et la dernière branche stable est la 1.4.
Aussi depuis la version 1.3, kvm et qemu ont fusionné au sens GIT du terme.
Concernant spice, la compilation est plus ardue car les dépendances sont plus nombreuses.
Le script ci dessous est écrit pour debian wheezy et permet d’obtenir un package qemu spice assez générique :
#!/bin/bash
# SPL 20130608
BUILD_DIR=/usr/local/src/kvm
TARGET_DIR=/usr/local
if [ ! -e $BUILD_DIR ]; then mkdir -p $BUILD_DIR; fi
cd $BUILD_DIR
case "$1" in
apt-check)
apt-get install build-essential autoconf git-core libtool liblog4cpp5-dev libavcodec-dev libssl-dev xlibmesa-glu-dev libasound-dev libpng12-dev libfreetype6-dev libfontconfig1-dev libogg-dev libxrandr-dev kvm libgcrypt-dev libsdl-dev libnss3-dev libpixman-1-dev libxfixes-dev libjpeg8-dev libsasl2-dev python-pyparsing
apt-get install automake libglib2.0-dev python-pyparsing libclalsadrv-dev libjpeg-dev libsasl2-dev
apt-get install libaio-dev
;;
init)
git clone git://git.libusb.org/libusb.git
git clone git://git.freedesktop.org/git/spice/spice-protocol
git clone git://anongit.freedesktop.org/spice/usbredir
git clone git://anongit.freedesktop.org/pixman
#git clone https://github.com/haxar/celt
wget https://launchpad.net/~dev-zero/+archive/spice/+files/libcelt051-dev_0.5.1.3-2_amd64.deb
wget https://launchpad.net/~dev-zero/+archive/spice/+files/libcelt051_0.5.1.3-2_amd64.deb
#git clone git://anongit.freedesktop.org/~alon/libcacard
wget http://spice-space.org/download/libcacard/libcacard-0.1.2.tar.gz
tar xvfz libcacard-0.1.2.tar.gz
git clone git://git.freedesktop.org/git/spice/slirp
git clone git://anongit.freedesktop.org/spice/spice
git clone git://git.qemu-project.org/qemu.git
;;
build)
cd $BUILD_DIR/libusb
./autogen.sh
./configure
make clean
make -j 4
make install
cd $BUILD_DIR/usbredir
./autogen.sh
./configure
make clean
make -j 4
make install
cd $BUILD_DIR/spice-protocol
./autogen.sh
./configure
make clean
make -j 4
make install
cd $BUILD_DIR/pixman
./autogen.sh
make clean
make -j 4
make install
dpkg -i $BUILD_DIR/libcelt051_0.5.1.3-2_amd64.deb
dpkg -i $BUILD_DIR/libcelt051-dev_0.5.1.3-2_amd64.deb
cd $BUILD_DIR/libcacard-0.1.2
./autogen.sh
./configure
make clean
make -j 4
make install
cd $BUILD_DIR/spice
./autogen.sh
./configure --enable-smartcard
make clean
make -j 4
make install
cd $BUILD_DIR/qemu
./autogen.sh
./configure --enable-smartcard-nss --enable-kvm --enable-system --enable-spice --enable-linux-aio --enable-sdl --target-list=x86_64-softmmu --enable-usb-redir '--audio-drv-list=oss alsa sdl'
#./configure --target-list=x86_64-softmmu --enable-kvm --enable-system --enable-vhost-net --enable-spice --enable-vnc-png --enable-vnc-jpeg --enable-guest-agent --enable-sdl --enable-vnc --enable-linux-aio
make -j 4
make install
export LD_LIBRARY_PATH=/usr/local/lib
qemu-system-x86_64 --version
;;
remove)
cd $BUILD_DIR/libusb
make uninstall
cd $BUILD_DIR/usbredir
make uninstall
cd $BUILD_DIR/spice-protocol
make uninstall
cd $BUILD_DIR/pixman
make uninstall
dpkg -P libcelt051-dev
dpkg -P libcelt051
cd $BUILD_DIR/libcacard-0.1.2
make uninstall
cd $BUILD_DIR/spice
make uninstall
cd $BUILD_DIR/qemu
#make uninstall
rm -f $TARGET_DIR/bin/qemu*
;;
update)
cd $BUILD_DIR/qemu
git pull
cd $BUILD_DIR/spice
git pull
cd $BUILD_DIR/libusb
git pull
cd $BUILD_DIR/spice-protocol
git pull
cd $BUILD_DIR/pixman
git pull
;;
setenv)
if [ -z "$LD_LIBRARY_PATH" ]; then
echo "LD_LIBRARY_PATH=/usr/local/lib" >> /etc/profile
export LD_LIBRARY_PATH=/usr/local/lib
fi
update-alternatives --install /usr/bin/qemu qemu /usr/local/bin/qemu-system-x86_64 0
update-alternatives --set qemu /usr/local/bin/qemu-system-x86_64
;;
unsetenv)
update-alternatives --set qemu /usr/bin/qemu-system-x86_64
;;
esac
Le résultat :
qemu --version QEMU emulator version 1.5.50, Copyright (c) 2003-2008 Fabrice Bellard
Pour construire la dernière version stable de qemu (1.4)
cd /usr/local/src/kvm/qemu git branch -a * master stable-1.4 remotes/origin/HEAD -> origin/master remotes/origin/master remotes/origin/stable-0.10 remotes/origin/stable-0.11 remotes/origin/stable-0.12 remotes/origin/stable-0.13 remotes/origin/stable-0.14 remotes/origin/stable-0.15 remotes/origin/stable-1.0 remotes/origin/stable-1.1 remotes/origin/stable-1.2 remotes/origin/stable-1.3 remotes/origin/stable-1.4 remotes/origin/staging git checkout stable-1.4 git reset --hard HEAD git pull ./autogen.sh ./configure --enable-smartcard-nss --enable-kvm --enable-system --enable-spice --enable-linux-aio --enable-sdl --target-list=x86_64-softmmu --enable-usb-redir '--audio-drv-list=oss alsa sdl' --enable-vhost-net make -j 4 make install
It works !