diff --git a/src/builder.rs b/src/builder.rs index 325c29b..48ebca6 100644 --- a/src/builder.rs +++ b/src/builder.rs @@ -438,8 +438,10 @@ impl> ImplementationBuilder> for De fn prerequisites(_resource: &SystemdSocketService) -> Self::Prerequisites {} type Implementation = ( + // First three could be parallel FileSymbol, SystemdUserSessionSymbol<'static, String, StdCommandRunner>, + OwnerSymbol, UserServiceSymbol<'static, PathBuf, String, StdCommandRunner>, ); fn create( @@ -462,6 +464,11 @@ impl> ImplementationBuilder> for De }, ), SystemdUserSessionSymbol::new(user_name.0.clone(), &StdCommandRunner), + OwnerSymbol::new( + conf_path.as_ref().parent().unwrap().to_path_buf(), + user_name.0.clone(), + StdCommandRunner, + ), UserServiceSymbol::new( socket_path.clone().into(), user_name.0.clone(), diff --git a/src/locator.rs b/src/locator.rs index 2eee3f4..d1f5251 100644 --- a/src/locator.rs +++ b/src/locator.rs @@ -371,7 +371,7 @@ impl, P: Policy> ResourceLocator> for Defaul impl, P, POLICY: Policy> ResourceLocator> for DefaultLocator { - type Prerequisites = (Dir, Owner); + type Prerequisites = Dir; fn locate( resource: &SystemdSocketService, ) -> ( @@ -385,9 +385,9 @@ impl, P, POLICY: Policy> ResourceLocator