On 7/8/21 4:25 am, Arnt Karlsen wrote:
> <4f39fd8f-64a5-4488-6640-668d3ceec08c@???>:
>
>> I'm still running my self-compiled libvirt because I've progressively
>> upgraded from Debian Wheezy
>
> ..dangit, you started precisely where we|Devuan _should_ have started.
> Too lazy to document it too? ;oD
The scripts are the documentation.
Now, there's a pile of trial and error in finding the latest version of each package that would build on wheezy, then there's also the odd base packaged that had been upgraded from testing now and then (and I don't have records of those).
I honestly can't see who in their right mind would use a base system of that age, but hey here's the scripts I used to build libvirt, spice and the rest of the stuff.
These were built in a VM, then /usr/local/libvirt was rsynced to a staging/testing machine. if it passed all the tests I'd copy it across to the production server.
Build script for spice and deps :
download opus-1.3.1 and clone spice and spice gtk from git.
#!/bin/sh
set -e
export PREFIX=/usr/local/libvirt/
export LD_LIBRARY_PATH=$PREFIX/lib
export PKG_CONFIG_PATH=$PREFIX/lib/pkgconfig:$PREFIX/share/pkgconfig
#cd celt-0.5.1.3
cd opus-*
./configure --prefix=/usr/local/libvirt
make -j3
make install
cd ..
cd spice
./go
cd ../spice-gtk
./go
Build script for libvirt and all deps :
#!/bin/bash
export PREFIX=/usr/local/libvirt/
export LD_LIBRARY_PATH=$PREFIX/lib
#export XDG_DATA_DIRS=$PREFIX/share
export PKG_CONFIG_PATH=$PREFIX/lib/pkgconfig:$PREFIX/share/pkgconfig
export LDFLAGS="-I $PREFIX"
export AUTOMAKE_OPTIONS = subdir-objects
CPUS=`egrep '^processor*' /proc/cpuinfo | wc -l`
CPUS=$((CPUS+1))
set -e
build () {
if [ -e "$1" ] ; then
echo $1 Already built
else
echo Building $1
tar -xvf archives/$1.tar.*
pushd $1
shift 1
if [ "$1" = 'nopar' ] ; then
shift
else
par='-j'$CPUS
fi;
./configure --prefix=$PREFIX $1
make $par
make install
popd
fi;
}
build-python () {
if [ -e "$1" ] ; then
echo $1 Already built
else
echo Building $1
tar -xvf archives/$1.tar.*
pushd $1
python setup.py build
python setup.py install --prefix=$PREFIX
popd
fi;
}
build-python2 () {
if [ -e "$1" ] ; then
echo $1 Already built
else
echo Building $1
tar -xvf archives/$1.tar.*
pushd $1
python setup.py configure --prefix=$PREFIX
python setup.py install --prefix=$PREFIX
popd
fi;
}
#for i in archives/*.tar.* ; do tar -xvf $i ; done
#patch -p0 -R < archives/viewer.patch
pushd ../gtk
#./go
popd
build augeas-*
build libnl-*
build netcf-*
build usbredir*
build vte-*
build lxc* "--disable-bash"
build libvirt-3* "--without-capng"
build-python libvirt-python-*
build libvirt-glib-* "--enable-introspection=no --disable-vala"
build gtk-vnc-* "--with-gtk=2.0"
if [ ! -e spice-done ] ; then
pushd ../spice/
./go
popd
mkdir spice-done
fi;
build virt-viewer-* "--with-gtk=2.0 --disable-update-mimedb --with-yajl"
#build-python2 virt-manager-*
build virt-manager-*
build-python virtinst-*
Some of these versions might be a bit too new as I was flirting with gtk3 and newer deps. I never got that to work, so I'm sticking with what I have.
brad@debian64:~/build/libvirt$ ls archives/
augeas-1.7.0.tar.gz gtk-vnc-0.6.0.tar.xz libvirt-glib-2.0.0.tar.gz new virt-bootstrap-1.1.1.tar.gz vte-0.29.1.tar.xz
backup libnl-3.2.25.tar.gz libvirt-python-5.6.0.tar.gz old virtinst-0.600.4.tar.gz
config libsoup-2.40.3.tar.xz lxc-1.0.5.tar.gz usbredir_0.7.orig.tar.bz2 virt-manager-1.5.1.tar.gz
gobject-introspection-0.10.8.tar.gz libvirt-5.6.0.tar.xz netcf-0.2.8.tar.gz viewer.patch virt-viewer-8.0.tar.gz