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 <alpha@sigmasquadron.net>
This commit is contained in:
Fernando Rodrigues
2024-08-19 08:16:37 +02:00
committed by Alyssa Ross
parent 1d11eba657
commit bd4c69da51
+11 -3
View File
@@ -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";