From e2c98528e93594512261c18f46474bcec1663581 Mon Sep 17 00:00:00 2001 From: Izorkin Date: Fri, 10 Aug 2018 21:59:53 +0300 Subject: qemu: add path to bin utilites --- pkgs/applications/virtualization/qemu/default.nix | 6 ++++-- .../virtualization/qemu/fix-qemu-ga.patch | 22 ++++++++++++++++++++++ 2 files changed, 26 insertions(+), 2 deletions(-) create mode 100644 pkgs/applications/virtualization/qemu/fix-qemu-ga.patch (limited to 'pkgs/applications/virtualization/qemu') diff --git a/pkgs/applications/virtualization/qemu/default.nix b/pkgs/applications/virtualization/qemu/default.nix index 742c2fb03f7c..aae1e7e6b691 100644 --- a/pkgs/applications/virtualization/qemu/default.nix +++ b/pkgs/applications/virtualization/qemu/default.nix @@ -71,8 +71,10 @@ stdenv.mkDerivation rec { outputs = [ "out" "ga" ]; - patches = [ ./no-etc-install.patch ] - ++ optional nixosTestRunner ./force-uid0-on-9p.patch + patches = [ + ./no-etc-install.patch + ./fix-qemu-ga.patch + ] ++ optional nixosTestRunner ./force-uid0-on-9p.patch ++ optional pulseSupport ./fix-hda-recording.patch ++ optionals stdenv.hostPlatform.isMusl [ (fetchpatch { diff --git a/pkgs/applications/virtualization/qemu/fix-qemu-ga.patch b/pkgs/applications/virtualization/qemu/fix-qemu-ga.patch new file mode 100644 index 000000000000..c2f051e2b944 --- /dev/null +++ b/pkgs/applications/virtualization/qemu/fix-qemu-ga.patch @@ -0,0 +1,22 @@ +diff --git a/qga/commands-posix.c b/qga/commands-posix.c +index 0dc219d..9d020d3 100644 +--- a/qga/commands-posix.c ++++ b/qga/commands-posix.c +@@ -102,6 +102,8 @@ void qmp_guest_shutdown(bool has_mode, const char *mode, Error **errp) + reopen_fd_to_null(1); + reopen_fd_to_null(2); + ++ execle("/run/current-system/sw/bin/shutdown", "shutdown", "-h", shutdown_flag, "+0", ++ "hypervisor initiated shutdown", (char*)NULL, environ); + execle("/sbin/shutdown", "shutdown", "-h", shutdown_flag, "+0", + "hypervisor initiated shutdown", (char*)NULL, environ); + _exit(EXIT_FAILURE); +@@ -189,6 +191,8 @@ void qmp_guest_set_time(bool has_time, int64_t time_ns, Error **errp) + + /* Use '/sbin/hwclock -w' to set RTC from the system time, + * or '/sbin/hwclock -s' to set the system time from RTC. */ ++ execle("/run/current-system/sw/bin/hwclock", "hwclock", has_time ? "-w" : "-s", ++ NULL, environ); + execle("/sbin/hwclock", "hwclock", has_time ? "-w" : "-s", + NULL, environ); + _exit(EXIT_FAILURE); -- cgit 1.4.1