From ad3c91ce355c5a650dedc60f341f697f85363c18 Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Thu, 1 Dec 2022 08:37:13 +0000 Subject: [PATCH] guestfs-tools: fix virt-builder lookup path virt-builder --list would be empty, because it would look in /etc/.virt-builder-wrapped. Instead, we want it to look in $out/etc/virt-builder, where the data is actually installed (while still allowing user-provided overrides to be placed in /etc). --- pkgs/tools/virtualization/guestfs-tools/default.nix | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/pkgs/tools/virtualization/guestfs-tools/default.nix b/pkgs/tools/virtualization/guestfs-tools/default.nix index 446d4bcde0b7..82b657673ff0 100644 --- a/pkgs/tools/virtualization/guestfs-tools/default.nix +++ b/pkgs/tools/virtualization/guestfs-tools/default.nix @@ -70,6 +70,14 @@ stdenv.mkDerivation rec { xz ]; + postPatch = '' + # If it uses the executable name, then there's nothing we can do + # when wrapping to stop it looking in + # $out/etc/.virt-builder-wrapped, which won't exist. + substituteInPlace common/mlstdutils/std_utils.ml \ + --replace Sys.executable_name '(Array.get Sys.argv 0)' + ''; + preConfigure = '' patchShebangs ocaml-dep.sh.in ocaml-link.sh.in run.in ''; @@ -85,6 +93,9 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; postInstall = '' + wrapProgram $out/bin/virt-builder \ + --argv0 virt-builder \ + --suffix VIRT_BUILDER_DIRS : /etc:$out/etc wrapProgram $out/bin/virt-win-reg \ --prefix PERL5LIB : ${with perlPackages; makeFullPerlPath [ hivex libintl-perl libguestfs-with-appliance ]} '';