The monolithic libvirtd.service currently has a dependency on virt-secret-init-encryption.service. This causes libvirtd to fail to start on systems where the secret driver is not installed or enabled, as systemd cannot satisfy the Requires= unit or the LoadCredentialEncrypted= path. See below, Requires=virt-secret-init-encryption.service LoadCredentialEncrypted=secrets-encryption-key:@localstatedir@/lib/libvirt/secrets/secrets-encryption-key This series accomplishes the following: The first commit decouples the secrets encryption logic from the main libvirtd service file. It is moved into a new systemd drop-in (10-secret.conf) which is only installed when libvirt is built with secret driver support. The override snippet is added to the daemon-driver-secret package. The second commit is a simple refactoring configuration_data of virt-secret-init-encryption. No functional change is intended. Arun Menon (2): remote: Move secrets encryption dependency to a systemd drop-in secret: Update virt_secret_init_encryption_conf initialization libvirt.spec.in | 2 ++ src/remote/libvirtd.service.in | 4 ---- src/remote/meson.build | 15 +++++++++++++++ src/remote/secret.conf.in | 7 +++++++ src/secret/meson.build | 6 +++--- 5 files changed, 27 insertions(+), 7 deletions(-) create mode 100644 src/remote/secret.conf.in -- 2.53.0