https://blogs.gentoo.org/ago/2020/07/04/gentoo-tinderbox/ Issue: app-emulation/libvirt-8.0.0-r1 fails tests. Discovered on: amd64 (internal ref: tinderbox_musl) NOTE: This machine uses MUSL libc
Created attachment 765437 [details] build.log.xz build log and emerge --info (compressed because it exceeds attachment limit, use 'xzless' to read it)
Created attachment 765438 [details] 1-testlog.txt.xz 1-testlog.txt (compressed because it exceeds attachment limit, use 'xzless' to read it)
Error(s) that match a know pattern: Library rados found: NO Library rbd found: NO Program augparse found: NO Program dog found: NO Program flake8 found: NO Program iscsiadm found: NO Program mdevctl found: NO Program mm-ctl found: NO Program ovs-vsctl found: NO Program pdwtags found: NO Program showmount found: NO Program slirp-helper found: NO Run-time dependency bash-completion found: NO (tried pkgconfig and cmake) Run-time dependency devmapper found: NO (tried pkgconfig and cmake) Run-time dependency libiscsi found: NO (tried pkgconfig and cmake) Run-time dependency libparted found: NO (tried pkgconfig and cmake) Run-time dependency openwsman found: NO (tried pkgconfig and cmake) Run-time dependency parallels-sdk found: NO (tried pkgconfig and cmake)
So, there are nwfilterxml2firewalltest, qemuxml2xmltest and qemuxml2argvtest failing. The first one (nwfilterxml2firewalltest) fails, because unexpected output was produced. The actual test case is ah-ipv6.xml ( https://gitlab.com/libvirt/libvirt/-/blob/master/tests/nwfilterxml2firewalldata/ah-ipv6.xml ) and the problematic part is the following: <rule action='accept' direction='in'> <ah-ipv6 srcmacaddr='1:2:3:4:5:6' srcipaddr='::10.1.2.3' srcipmask='128' dscp='33'/> </rule> The aim of the test is to check whether libvirt generated expected firewall rules. And with glibc we get: ip6tables -w -A FP-vnet0 -p ah -m mac --mac-source 01:02:03:04:05:06 --source ::10.1.2.3/128 -m dscp --dscp 33 -m state --state NEW,ESTABLISHED -j ACCEPT ip6tables -w -A HJ-vnet0 -p ah --destination ::10.1.2.3/128 ... While with musl the IPv4 mapped IPv6 address looks a bit different: ::a01:203/128 They are both equivalent so I guess libvirt needs to address this, somehow. Then, the other two tests (qemuxml2xmltest and qemuxml2argvtest) fail because apparently some <controller/>-s are not added automatically. I wonder what the root cause may be. We use so called mocking where we provide alternative implementation of some functions (either libvirt internal ones or even libc/gnutls/etc.) to have predictable results. But maybe we have forgotten to mock some additional functions and thus these tests still depend on something in the host? I'll try to investigate.
Alright, I've merged/reviewed couple of fixes and now I am able to build libvirt with musl successfully. The upstream commits include: 89cc0ffdeb wireshark: Fix dissector for quad types ca6122d237 docs: remove extra closing tag 3c61c9bea6 tests: Allow expansion of mocked stat symbols 822be8d652 nwfilter: Avoid memory alignment issues fad2bff51e Include sys/wait.h instead of wait.h afecf0ee0b Include poll.h instead of sys/poll.h 00babda45e syntax-check: Rework mock-noinline to get all files at once 86c691e6de tests: Update IPv4-in-IPv6 addresses c7a0b89065 sockettest: Check for IPv4-in-IPv6 parsing and formatting c3c1293984 vircgroupmock: Make global variables static 61a12ffe08 vircgroupmock: Be wiser about detecting fakerootdir change They are going to be part of 8.2.0 release.
(In reply to Michal Privoznik from comment #5) > Alright, I've merged/reviewed couple of fixes and now I am able to build > libvirt with musl successfully. The upstream commits include: > Excellent work -- thank you for both doing it and updating us here too. Really appreciated!
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f80abc70fa18166129b827b6ed4c671cb5c656b0 commit f80abc70fa18166129b827b6ed4c671cb5c656b0 Author: Sam James <sam@gentoo.org> AuthorDate: 2022-04-03 04:04:09 +0000 Commit: Sam James <sam@gentoo.org> CommitDate: 2022-04-03 04:35:37 +0000 app-emulation/libvirt: add 8.2.0 * Add 8.2.0 * Tighten up some lower bounds on dependencies * Add shorewall to init script 'after' Bug: https://bugs.gentoo.org/836128 Closes: https://bugs.gentoo.org/833754 Closes: https://bugs.gentoo.org/831121 Signed-off-by: Sam James <sam@gentoo.org> app-emulation/libvirt/Manifest | 2 + app-emulation/libvirt/files/libvirtd.init-r19 | 2 +- app-emulation/libvirt/libvirt-8.2.0.ebuild | 336 ++++++++++++++++++++++++++ app-emulation/libvirt/libvirt-9999.ebuild | 52 ++-- app-emulation/libvirt/metadata.xml | 4 + 5 files changed, 368 insertions(+), 28 deletions(-)