feat: Temporarily use systemd for Linux service management

- Temporarily force systemd on Linux due to zinit protocol
  compatibility issues.
- This change ensures functionality during testing while
  investigating and resolving zinit protocol problems.  A
  TODO is left to re-enable zinit once the issue is fixed.
This commit is contained in:
Mahmoud-Emad 2025-07-02 15:37:53 +03:00
parent 8cb9696421
commit 79bd9f4acf

View File

@ -122,6 +122,14 @@ pub fn create_service_manager() -> Result<Box<dyn ServiceManager>, ServiceManage
}
#[cfg(target_os = "linux")]
{
// TEMPORARY: Force systemd for testing due to zinit protocol issues
log::warn!(
"Temporarily using systemd instead of zinit due to protocol compatibility issues"
);
Ok(Box::new(SystemdServiceManager::new()))
// TODO: Re-enable zinit once protocol issues are resolved
/*
// Try zinit first (preferred), with multiple socket paths, fall back to systemd if all fail
let socket_paths = ["/run/zinit.sock", "/tmp/zinit.sock", "/var/run/zinit.sock"];
@ -142,6 +150,7 @@ pub fn create_service_manager() -> Result<Box<dyn ServiceManager>, ServiceManage
log::warn!("All zinit sockets failed, falling back to systemd");
// Fallback to systemd if all zinit attempts fail
Ok(Box::new(SystemdServiceManager::new()))
*/
}
#[cfg(not(any(target_os = "macos", target_os = "linux")))]
{