diff options
author | aszlig <aszlig@redmoonstudios.org> | 2016-09-14 02:20:16 +0200 |
---|---|---|
committer | aszlig <aszlig@redmoonstudios.org> | 2016-09-14 02:20:16 +0200 |
commit | 1781e955779397e4c39d406909823841210df962 (patch) | |
tree | 6c406d107638f1a51d83a230f8b7c7c9490853da /nixos | |
parent | 3efebb16807f9335d0a15d55a806a2eaccff0190 (diff) | |
parent | f7563efa6e01c3dbc883a1c0047d4beeddc4fc86 (diff) | |
download | nixlib-1781e955779397e4c39d406909823841210df962.tar nixlib-1781e955779397e4c39d406909823841210df962.tar.gz nixlib-1781e955779397e4c39d406909823841210df962.tar.bz2 nixlib-1781e955779397e4c39d406909823841210df962.tar.lz nixlib-1781e955779397e4c39d406909823841210df962.tar.xz nixlib-1781e955779397e4c39d406909823841210df962.tar.zst nixlib-1781e955779397e4c39d406909823841210df962.zip |
Merge pull request #18567 (VirtualBox 5.1.6)
This introduces VirtualBox version 5.1.6 along with a few refactored stuff, notably: * Kernel modules and user space applications are now separate derivations. * If config.pulseaudio doesn't exist in nixpkgs config, the default is now to build with PulseAudio modules. * A new updater to keep VirtualBox up to date. All subtests in nixos/tests/virtualbox.nix succeed on my machine and VirtualBox was reported to be working by @DamienCassou (although with unrelated audio problems for another fix/branch) and @calbrecht.
Diffstat (limited to 'nixos')
-rw-r--r-- | nixos/doc/manual/release-notes/rl-1609.xml | 9 | ||||
-rw-r--r-- | nixos/modules/virtualisation/virtualbox-host.nix | 9 | ||||
-rw-r--r-- | nixos/modules/virtualisation/virtualbox-image.nix | 2 | ||||
-rw-r--r-- | nixos/tests/virtualbox.nix | 13 |
4 files changed, 27 insertions, 6 deletions
diff --git a/nixos/doc/manual/release-notes/rl-1609.xml b/nixos/doc/manual/release-notes/rl-1609.xml index 70759ee25f86..792b4458caaa 100644 --- a/nixos/doc/manual/release-notes/rl-1609.xml +++ b/nixos/doc/manual/release-notes/rl-1609.xml @@ -90,6 +90,15 @@ following incompatible changes:</para> Use <literal>security.audit.enable = true;</literal> to explicitly enable it.</para> </listitem> + <listitem> + <para> + <literal>pkgs.linuxPackages.virtualbox</literal> now contains only the + kernel modules instead of the VirtualBox user space binaries. + If you want to reference the user space binaries, you have to use the new + <literal>pkgs.virtualbox</literal> instead. + </para> + </listitem> + </itemizedlist> diff --git a/nixos/modules/virtualisation/virtualbox-host.nix b/nixos/modules/virtualisation/virtualbox-host.nix index ce4abecd6762..7214543871d6 100644 --- a/nixos/modules/virtualisation/virtualbox-host.nix +++ b/nixos/modules/virtualisation/virtualbox-host.nix @@ -4,10 +4,15 @@ with lib; let cfg = config.virtualisation.virtualbox.host; - virtualbox = config.boot.kernelPackages.virtualbox.override { + + virtualbox = pkgs.virtualbox.override { inherit (cfg) enableHardening headless; }; + kernelModules = config.boot.kernelPackages.virtualbox.override { + inherit virtualbox; + }; + in { @@ -60,7 +65,7 @@ in config = mkIf cfg.enable (mkMerge [{ boot.kernelModules = [ "vboxdrv" "vboxnetadp" "vboxnetflt" ]; - boot.extraModulePackages = [ virtualbox ]; + boot.extraModulePackages = [ kernelModules ]; environment.systemPackages = [ virtualbox ]; security.setuidOwners = let diff --git a/nixos/modules/virtualisation/virtualbox-image.nix b/nixos/modules/virtualisation/virtualbox-image.nix index b6a5b3e4788d..d68b3bb73904 100644 --- a/nixos/modules/virtualisation/virtualbox-image.nix +++ b/nixos/modules/virtualisation/virtualbox-image.nix @@ -34,7 +34,7 @@ in { postVM = '' export HOME=$PWD - export PATH=${pkgs.linuxPackages.virtualbox}/bin:$PATH + export PATH=${pkgs.virtualbox}/bin:$PATH echo "creating VirtualBox pass-through disk wrapper (no copying invovled)..." VBoxManage internalcommands createrawvmdk -filename disk.vmdk -rawdisk $diskImage diff --git a/nixos/tests/virtualbox.nix b/nixos/tests/virtualbox.nix index ab4d46ab7e15..66f16ed8bcc5 100644 --- a/nixos/tests/virtualbox.nix +++ b/nixos/tests/virtualbox.nix @@ -144,6 +144,7 @@ let "--uart1 0x3F8 4" "--uartmode1 client /run/virtualbox-log-${name}.sock" "--memory 768" + "--audio none" ] ++ (attrs.vmFlags or [])); controllerFlags = mkFlags [ @@ -273,9 +274,12 @@ let sub shutdownVM_${name} { $machine->succeed(ru "touch ${sharePath}/shutdown"); - $machine->waitUntilSucceeds( - "test ! -e ${sharePath}/shutdown ". - " -a ! -e ${sharePath}/boot-done" + $machine->execute( + 'set -e; i=0; '. + 'while test -e ${sharePath}/shutdown '. + ' -o -e ${sharePath}/boot-done; do '. + 'sleep 1; i=$(($i + 1)); [ $i -le 3600 ]; '. + 'done' ); waitForShutdown_${name}; } @@ -386,6 +390,7 @@ in mapAttrs mkVBoxTest { $machine->sendKeys("ctrl-q"); $machine->sleep(5); $machine->screenshot("gui_manager_stopped"); + destroyVM_simple; ''; simple-cli = '' @@ -403,6 +408,7 @@ in mapAttrs mkVBoxTest { }); shutdownVM_simple; + destroyVM_simple; ''; headless = '' @@ -411,6 +417,7 @@ in mapAttrs mkVBoxTest { waitForStartup_headless; waitForVMBoot_headless; shutdownVM_headless; + destroyVM_headless; ''; host-usb-permissions = '' |