virt/libvirt
Scott Little 02bba23525 Fix stx-libvirt container build failure on missing qemu
stx-libvirt container fails to build when it can't install package
'qemu'.

The package 'qemu' was recently upgraded to package qemu 7.3 from 5.2.
Qemu 7.2 no longer produces a dummy 'qemu' deb package.
Even in qemu 5.2 it was an empty deb package.

The container build instructions for stx-libvirt need to be updated,
removing the reference to package 'qemu'.

Partial-bug: 2051878
Change-Id: Ib01a220562dd44d386a4a9f4f94927a090986c1c
Signed-off-by: Scott Little <scott.little@windriver.com>
(cherry picked from commit 7d2229bd6c2d702da3ddebbc0a9d9ca3925e43ac)
2024-03-08 15:58:03 -05:00
..
2018-08-01 10:06:31 -04:00
2018-08-01 10:06:31 -04:00
2018-08-01 10:06:31 -04:00

The Centos 7 libvirt source rpm was taken from:
http://vault.centos.org/centos/7/updates/Source/SPackages/libvirt-1.2.17-13.el7_2.3.src.rpm

It's possible to resolve the source rpm based on the yum repos:
$ yumdownloader --source --urls libvirt

The libvirt source code was forked under .../cgcs/git/libvirt.
Notes: - The branch is based on upstream tag v1.2.17-maint.
       - Then each RedHat patches have been committed one by one in the same
         order specified in the RedHat spec (actually this was automated to use
         'git am' for each of the patches mentionned in the spec).
       - The last patch from RedHat is tagged 'libvirt-1.2.17-13.el7_2.3'.
       - After this tag, all the patches are port from R2.

The libvirt git repository doesn't come with the ./configure script (and its
dependancies).  This has to be built using autoconf (but the libvirt releases
comes with those, releases are generated using 'make dist').

One caveat is that bootstrap is made to be executed in a git tree.  Trying to
execute it out of tree, like the Centos build environment, was unsuccessfull
so far.

The current workaround for now is to commit the configure scripts in the
libvirt git repo:

$ NOCONFIGURE=1 ./autogen.sh --copy
$ NOCONFIGURE=1 ./autogen.sh --copy
# Remove all .gitignore temporarily for showing modified files
$ find . -name .gitignore | xargs rm
$ git add -A
$ git reset HEAD .gitignore
# Repeat last command for all .gitignore files removed
$ git commit

Autogen is executed twice.  The first time soft links are created under
build-aux/.  Running it a second time makes bootstrap copying them and
replacing the soft links (there is most likely a smarter way to do this).