From 99aeed95c72f5cb8de288178d418f385f01ac8b9 Mon Sep 17 00:00:00 2001 From: Carlos Eduardo Arango Gutierrez Date: Wed, 25 Jun 2025 14:18:35 +0200 Subject: [PATCH] [no-relnote] Fix DEB/RPM systemd install scripts Signed-off-by: Carlos Eduardo Arango Gutierrez --- .../debian/nvidia-container-toolkit-base.postinst | 9 ++++----- packaging/rpm/SPECS/nvidia-container-toolkit.spec | 11 ++++------- 2 files changed, 8 insertions(+), 12 deletions(-) diff --git a/packaging/debian/nvidia-container-toolkit-base.postinst b/packaging/debian/nvidia-container-toolkit-base.postinst index 578a27fb..2d602455 100644 --- a/packaging/debian/nvidia-container-toolkit-base.postinst +++ b/packaging/debian/nvidia-container-toolkit-base.postinst @@ -6,14 +6,13 @@ case "$1" in configure) /usr/bin/nvidia-ctk --quiet config --config-file=/etc/nvidia-container-runtime/config.toml --in-place + # Enable nvidia-cdi-refresh services on both install and upgrade if command -v systemctl >/dev/null 2>&1 \ && systemctl --quiet is-system-running 2>/dev/null; then - systemctl daemon-reload || true - - if [ -z "$2" ]; then # $2 empty → first install - systemctl enable --now nvidia-cdi-refresh.path || true - fi + systemctl daemon-reload || { echo "Warning: Failed to reload systemd daemon" >&2; true; } + systemctl enable --now nvidia-cdi-refresh.path || { echo "Warning: Failed to enable nvidia-cdi-refresh.path" >&2; true; } + systemctl enable --now nvidia-cdi-refresh.service || { echo "Warning: Failed to enable nvidia-cdi-refresh.service" >&2; true; } fi ;; diff --git a/packaging/rpm/SPECS/nvidia-container-toolkit.spec b/packaging/rpm/SPECS/nvidia-container-toolkit.spec index a6f14f87..bab48f5f 100644 --- a/packaging/rpm/SPECS/nvidia-container-toolkit.spec +++ b/packaging/rpm/SPECS/nvidia-container-toolkit.spec @@ -51,15 +51,12 @@ if [ $1 -gt 1 ]; then # only on package upgrade cp -af %{_bindir}/nvidia-container-runtime-hook %{_localstatedir}/lib/rpm-state/nvidia-container-toolkit fi -# Reload systemd unit cache +# Reload systemd unit cache and enable nvidia-cdi-refresh services on both install and upgrade if command -v systemctl >/dev/null 2>&1 \ && systemctl --quiet is-system-running 2>/dev/null; then - systemctl daemon-reload || true - - # On fresh install ($1 == 1) enable the path unit so it starts at boot - if [ "$1" -eq 1 ]; then - systemctl enable --now nvidia-cdi-refresh.path || true - fi + systemctl daemon-reload || { echo "Warning: Failed to reload systemd daemon" >&2; true; } + systemctl enable --now nvidia-cdi-refresh.path || { echo "Warning: Failed to enable nvidia-cdi-refresh.path" >&2; true; } + systemctl enable --now nvidia-cdi-refresh.service || { echo "Warning: Failed to enable nvidia-cdi-refresh.service" >&2; true; } fi %posttrans