Conversation
00a7b09 to
3863db5
Compare
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #4799 +/- ##
==========================================
+ Coverage 87.45% 87.47% +0.02%
==========================================
Files 258 258
Lines 14094 14100 +6
==========================================
+ Hits 12324 12332 +8
+ Misses 1770 1768 -2 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
03021b4 to
2871cf4
Compare
| run: | | ||
| python3 -m pip install --user --upgrade distlib | ||
|
|
||
| - name: Install specific QEMU from Choco |
There was a problem hiding this comment.
No longer needed since we're bundling our own qemu-img
| @@ -0,0 +1,14 @@ | |||
| #!/bin/sh | |||
| args="" | |||
| for arg in "$@"; do | |||
There was a problem hiding this comment.
QEMU's configure is not like a traditional configure and it fails when some of the conventional configure flags are passed by vcpkg_configure_make(). This wrapper is here to strip those (we don't need them anyway).
|
|
||
| vcpkg_from_github( | ||
| OUT_SOURCE_PATH SOURCE_PATH | ||
| REPO qemu/QEMU |
There was a problem hiding this comment.
Pulling upstream and applying our patches. Ditched the test option patch since we're now able to null out the test's meson file directly, achieving the same outcome.
|
|
||
| file(WRITE "${SOURCE_PATH}/tests/meson.build" "") | ||
|
|
||
| if("system" IN_LIST FEATURES) |
There was a problem hiding this comment.
system builds the emulator too. Non-system build is tool-only.
| endif() | ||
|
|
||
| set(QEMU_COMMON_OPTIONS | ||
| "--disable-bochs" |
There was a problem hiding this comment.
Derived from the old QEMU CMake + snapcraft.yaml. Has a couple of extra ones at the end, listed in PR description.
|
|
||
| # binary and its libs | ||
| %4/usr/bin/%5 ixr, | ||
| %5 ixr, |
There was a problem hiding this comment.
Now, the program() is the full path to the executable. We no longer need to prefix it with anything.
| QString mp::QemuImgProcessSpec::program() const | ||
| { | ||
| return "qemu-img"; | ||
| return QDir(QCoreApplication::applicationDirPath()).filePath("qemu-img"); |
| ) | ||
|
|
||
| add_executable(qemu-img | ||
| add_executable(mock-qemu-img |
There was a problem hiding this comment.
Name collision with qemu-img target declared before. This one is the mock, so the real one gets the "real" name.
| ``` | ||
| sudo apt update | ||
| sudo apt install libgl1 libpng16-16 libxml2 dnsmasq-base \ | ||
| dnsmasq-utils qemu-utils libslang2 iproute2 iptables \ |
There was a problem hiding this comment.
We no longer need to install anything-QEMU now.
|
|
||
| option(MULTIPASS_VCPKG_BUILD_DEFAULT "Enable or disable building the dependencies in the default configuration, which includes both debug and release variants." OFF) | ||
| option(MULTIPASS_ENABLE_TESTS "Build tests" ON) | ||
| cmake_dependent_option(FORCE_ENABLE_VIRTUALBOX "Enable VirtualBox" ON UNIX OFF) |
There was a problem hiding this comment.
Moved this closer to the other options.
|
Unassigned @ricab to better distribute review load. |
Signed-off-by: Mustafa Kemal Gilor <mustafa.gilor@canonical.com>
Signed-off-by: Mustafa Kemal Gilor <mustafa.gilor@canonical.com>
Signed-off-by: Mustafa Kemal Gilor <mustafa.gilor@canonical.com>
Signed-off-by: Mustafa Kemal Gilor <mustafa.gilor@canonical.com>
Signed-off-by: Mustafa Kemal Gilor <mustafa.gilor@canonical.com>
Signed-off-by: Mustafa Kemal Gilor <mustafa.gilor@canonical.com>
Signed-off-by: Mustafa Kemal Gilor <mustafa.gilor@canonical.com>
Signed-off-by: Mustafa Kemal Gilor <mustafa.gilor@canonical.com>
Also list zlib, zstd and ncurses as dependencies. Signed-off-by: Mustafa Kemal Gilor <mustafa.gilor@canonical.com>
Signed-off-by: Mustafa Kemal Gilor <mustafa.gilor@canonical.com>
Signed-off-by: Mustafa Kemal Gilor <mustafa.gilor@canonical.com>
Signed-off-by: Mustafa Kemal Gilor <mustafa.gilor@canonical.com>
-static causes everything to be linked statically, which is not we want Signed-off-by: Mustafa Kemal Gilor <mustafa.gilor@canonical.com>
Signed-off-by: Mustafa Kemal Gilor <mustafa.gilor@canonical.com>
We're now building our own QEMU, and it's auto-copied to build/, and it is also install() able. We no longer need to rely on system's QEMU. Signed-off-by: Mustafa Kemal Gilor <mustafa.gilor@canonical.com>
Signed-off-by: Mustafa Kemal Gilor <mustafa.gilor@canonical.com>
Signed-off-by: Mustafa Kemal Gilor <mustafa.gilor@canonical.com>
Signed-off-by: Mustafa Kemal Gilor <mustafa.gilor@canonical.com>
Signed-off-by: Mustafa Kemal Gilor <mustafa.gilor@canonical.com>
Signed-off-by: Mustafa Kemal Gilor <mustafa.gilor@canonical.com>
Signed-off-by: Mustafa Kemal Gilor <mustafa.gilor@canonical.com>
Some of the triplets are passing -NDEBUG in CFLAGS which makes QEMU unhappy. Signed-off-by: Mustafa Kemal Gilor <mustafa.gilor@canonical.com>
MSVC var is defined after the project() call, whereas WIN32 is present from the start. Signed-off-by: Mustafa Kemal Gilor <mustafa.gilor@canonical.com>
Signed-off-by: Mustafa Kemal Gilor <mustafa.gilor@canonical.com>
Signed-off-by: Mustafa Kemal Gilor <mustafa.gilor@canonical.com>
Signed-off-by: Mustafa Kemal Gilor <mustafa.gilor@canonical.com>
Signed-off-by: Mustafa Kemal Gilor <mustafa.gilor@canonical.com>
Signed-off-by: Mustafa Kemal Gilor <mustafa.gilor@canonical.com>
Signed-off-by: Mustafa Kemal Gilor <mustafa.gilor@canonical.com>
We can simply null out the tests meson file in portfile. Signed-off-by: Mustafa Kemal Gilor <mustafa.gilor@canonical.com>
Signed-off-by: Mustafa Kemal Gilor <mustafa.gilor@canonical.com>
Signed-off-by: Mustafa Kemal Gilor <mustafa.gilor@canonical.com>
Signed-off-by: Mustafa Kemal Gilor <mustafa.gilor@canonical.com>
Signed-off-by: Mustafa Kemal Gilor <mustafa.gilor@canonical.com>
Signed-off-by: Mustafa Kemal Gilor <mustafa.gilor@canonical.com>
Signed-off-by: Mustafa Kemal Gilor <mustafa.gilor@canonical.com>
Signed-off-by: Mustafa Kemal Gilor <mustafa.gilor@canonical.com>
Signed-off-by: Mustafa Kemal Gilor <mustafa.gilor@canonical.com>
65f8bfd to
a8464d4
Compare
|
Let's try round-robin for another time... aaand we have a winner! @tobe2098 |
Description
What does this PR do?
Move QEMU dependency to vcpkg:
Why is this change needed?
Streamlining dependencies, consistency across platforms, and simplifying QEMU provisioning.
MULTI-2339