:: Re: [DNG] ..a viable basis for Devu…
Top Page
Delete this message
Reply to this message
Author: Brad Campbell
Date:  
To: dng
New-Topics: [DNG] Err; hardware!
Subject: Re: [DNG] ..a viable basis for Devuan as a hypervisor?, was: libvirt package without X11 and DBus
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