internal/rosa: qemu artifact
All checks were successful
Test / Create distribution (push) Successful in 1m1s
Test / Sandbox (push) Successful in 2m39s
Test / Hakurei (push) Successful in 3m58s
Test / ShareFS (push) Successful in 4m1s
Test / Hpkg (push) Successful in 4m30s
Test / Sandbox (race detector) (push) Successful in 4m59s
Test / Hakurei (race detector) (push) Successful in 5m53s
Test / Flake checks (push) Successful in 1m42s
All checks were successful
Test / Create distribution (push) Successful in 1m1s
Test / Sandbox (push) Successful in 2m39s
Test / Hakurei (push) Successful in 3m58s
Test / ShareFS (push) Successful in 4m1s
Test / Hpkg (push) Successful in 4m30s
Test / Sandbox (race detector) (push) Successful in 4m59s
Test / Hakurei (race detector) (push) Successful in 5m53s
Test / Flake checks (push) Successful in 1m42s
This is still a quite minimal build. More features will be enabled as dependencies become available. The powerpc failure will be investigated if it is ever needed. Signed-off-by: Ophestra <cat@gensokyo.uk>
This commit is contained in:
@@ -68,6 +68,7 @@ const (
|
|||||||
PyTest
|
PyTest
|
||||||
Pygments
|
Pygments
|
||||||
Python
|
Python
|
||||||
|
QEMU
|
||||||
Rsync
|
Rsync
|
||||||
Sed
|
Sed
|
||||||
Setuptools
|
Setuptools
|
||||||
@@ -178,6 +179,7 @@ func ResolveName(name string) (p PArtifact, ok bool) {
|
|||||||
"pytest": PyTest,
|
"pytest": PyTest,
|
||||||
"pygments": Pygments,
|
"pygments": Pygments,
|
||||||
"python": Python,
|
"python": Python,
|
||||||
|
"qemu": QEMU,
|
||||||
"rsync": Rsync,
|
"rsync": Rsync,
|
||||||
"sed": Sed,
|
"sed": Sed,
|
||||||
"setuptools": Setuptools,
|
"setuptools": Setuptools,
|
||||||
|
|||||||
102
internal/rosa/qemu.go
Normal file
102
internal/rosa/qemu.go
Normal file
@@ -0,0 +1,102 @@
|
|||||||
|
package rosa
|
||||||
|
|
||||||
|
import (
|
||||||
|
"hakurei.app/internal/pkg"
|
||||||
|
)
|
||||||
|
|
||||||
|
func (t Toolchain) newQEMU() pkg.Artifact {
|
||||||
|
const (
|
||||||
|
version = "10.2.1"
|
||||||
|
checksum = "rjLTSgHJd3X3Vgpxrsus_ZZiaYLiNix1YhcHaGbLd_odYixwZjCcAIt8CVQPJGdZ"
|
||||||
|
)
|
||||||
|
return t.NewViaMake("qemu", version, t.NewPatchedSource(
|
||||||
|
"qemu", version, pkg.NewHTTPGetTar(
|
||||||
|
nil, "https://download.qemu.org/qemu-"+version+".tar.bz2",
|
||||||
|
mustDecode(checksum),
|
||||||
|
pkg.TarBzip2,
|
||||||
|
), false, [2]string{"disable-mcast-test", `diff --git a/tests/qtest/netdev-socket.c b/tests/qtest/netdev-socket.c
|
||||||
|
index b731af0ad9..b5cbed4801 100644
|
||||||
|
--- a/tests/qtest/netdev-socket.c
|
||||||
|
+++ b/tests/qtest/netdev-socket.c
|
||||||
|
@@ -401,7 +401,7 @@ static void test_dgram_inet(void)
|
||||||
|
qtest_quit(qts0);
|
||||||
|
}
|
||||||
|
|
||||||
|
-#if !defined(_WIN32) && !defined(CONFIG_DARWIN)
|
||||||
|
+#if 0
|
||||||
|
static void test_dgram_mcast(void)
|
||||||
|
{
|
||||||
|
QTestState *qts;
|
||||||
|
@@ -513,7 +513,7 @@ int main(int argc, char **argv)
|
||||||
|
if (has_ipv4) {
|
||||||
|
qtest_add_func("/netdev/stream/inet/ipv4", test_stream_inet_ipv4);
|
||||||
|
qtest_add_func("/netdev/dgram/inet", test_dgram_inet);
|
||||||
|
-#if !defined(_WIN32) && !defined(CONFIG_DARWIN)
|
||||||
|
+#if 0
|
||||||
|
qtest_add_func("/netdev/dgram/mcast", test_dgram_mcast);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
`},
|
||||||
|
), &MakeAttr{
|
||||||
|
// configure script uses source as scratch space
|
||||||
|
Writable: true,
|
||||||
|
|
||||||
|
ScriptEarly: `
|
||||||
|
# tests expect /var/tmp/ to be available
|
||||||
|
mkdir -p /var/tmp/
|
||||||
|
|
||||||
|
# https://gitlab.com/qemu-project/qemu/-/issues/3145
|
||||||
|
(cd /usr/src/qemu && sed -i \
|
||||||
|
's,Input/output error,I/O error,g' \
|
||||||
|
tests/qemu-iotests/[0-9][0-9][0-9]* \
|
||||||
|
tests/qemu-iotests/tests/copy-before-write \
|
||||||
|
tests/qemu-iotests/tests/file-io-error.out &&
|
||||||
|
cat << EOF > tests/qemu-iotests/150
|
||||||
|
#!/bin/sh
|
||||||
|
_notrun 'appears to spuriously fail on zfs'
|
||||||
|
EOF
|
||||||
|
)
|
||||||
|
`,
|
||||||
|
|
||||||
|
Configure: [][2]string{
|
||||||
|
{"disable-download"},
|
||||||
|
{"disable-docs"},
|
||||||
|
|
||||||
|
{"target-list-exclude", "" +
|
||||||
|
// fails to load firmware
|
||||||
|
"ppc-linux-user," +
|
||||||
|
"ppc64-linux-user," +
|
||||||
|
"ppc64le-linux-user," +
|
||||||
|
"ppc-softmmu," +
|
||||||
|
"ppc64-softmmu"},
|
||||||
|
},
|
||||||
|
|
||||||
|
ScriptConfigured: `
|
||||||
|
make "-j$(nproc)"
|
||||||
|
`,
|
||||||
|
},
|
||||||
|
t.Load(Bash),
|
||||||
|
t.Load(Python),
|
||||||
|
t.Load(Ninja),
|
||||||
|
t.Load(Bzip2),
|
||||||
|
t.Load(PkgConfig),
|
||||||
|
t.Load(Diffutils),
|
||||||
|
|
||||||
|
t.Load(OpenSSL),
|
||||||
|
t.Load(Bzip2),
|
||||||
|
t.Load(XZ),
|
||||||
|
|
||||||
|
t.Load(Flex),
|
||||||
|
t.Load(Bison),
|
||||||
|
t.Load(M4),
|
||||||
|
|
||||||
|
t.Load(PCRE2),
|
||||||
|
t.Load(Libffi),
|
||||||
|
t.Load(Zlib),
|
||||||
|
t.Load(GLib),
|
||||||
|
t.Load(Zstd),
|
||||||
|
t.Load(DTC),
|
||||||
|
t.Load(KernelHeaders),
|
||||||
|
)
|
||||||
|
}
|
||||||
|
func init() { artifactsF[QEMU] = Toolchain.newQEMU }
|
||||||
Reference in New Issue
Block a user