func generateSnapServicesFile(app *snap.AppInfo, baseDir string) (string, error) { if err := snap.ValidateApp(app); err != nil { return "", err } desc := fmt.Sprintf("service %s for snap %s - autogenerated DO NO EDIT", app.Name, app.Snap.Name()) socketFileName := "" if app.Socket { socketFileName = filepath.Base(app.ServiceSocketFile()) } return systemd.New(dirs.GlobalRootDir, nil).GenServiceFile( &systemd.ServiceDescription{ SnapName: app.Snap.Name(), AppName: app.Name, Version: app.Snap.Version, Revision: app.Snap.Revision, Description: desc, SnapPath: baseDir, Start: app.Command, Stop: app.Stop, PostStop: app.PostStop, StopTimeout: serviceStopTimeout(app), AaProfile: app.SecurityTag(), BusName: app.BusName, Type: app.Daemon, UdevAppName: app.SecurityTag(), Socket: app.Socket, SocketFileName: socketFileName, Restart: app.RestartCond, }), nil }