From bd4c69da51be8319f0b7fe25e98abab5b6a30fa9 Mon Sep 17 00:00:00 2001 From: Fernando Rodrigues Date: Sun, 18 Aug 2024 16:59:15 +0000 Subject: [PATCH] xen-guest-agent: install systemd service Upstream provides a minimal systemd service that initialises the xen-guest-agent binary. This will be useful for anyone who makes a NixOS module for this package. Also adds a comment to postFixup. Signed-off-by: Fernando Rodrigues --- pkgs/by-name/xe/xen-guest-agent/package.nix | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/xe/xen-guest-agent/package.nix b/pkgs/by-name/xe/xen-guest-agent/package.nix index 55ecf68429e3..9375b0d47656 100644 --- a/pkgs/by-name/xe/xen-guest-agent/package.nix +++ b/pkgs/by-name/xe/xen-guest-agent/package.nix @@ -27,10 +27,18 @@ rustPlatform.buildRustPackage rec { buildInputs = [ xen-slim ]; + postInstall = + # Install the sample systemd service. + '' + mkdir --parents $out/lib/systemd/system + cp $src/startup/xen-guest-agent.service $out/lib/systemd/system + substituteInPlace $out/lib/systemd/system/xen-guest-agent.service \ + --replace-fail "/usr/sbin/xen-guest-agent" "$out/bin/xen-guest-agent" + ''; - postFixup = '' - patchelf $out/bin/xen-guest-agent --add-rpath ${xen-slim.out}/lib - ''; + postFixup = + # Add the Xen libraries in the runpath so the guest agent can find libxenstore. + "patchelf $out/bin/xen-guest-agent --add-rpath ${xen-slim.out}/lib"; meta = { description = "Xen agent running in Linux/BSDs (POSIX) VMs";