Merge pull request #22 from ayufan/homedir_osx

Fixed getting homeDir on OSX for cross compilation
This commit is contained in:
Daniel Theophanes
2015-05-25 10:04:39 -07:00
+17 -2
View File
@@ -13,6 +13,7 @@ import (
"syscall"
"text/template"
"time"
"errors"
)
const maxPathSize = 32 * 1024
@@ -74,13 +75,27 @@ func (s *darwinLaunchdService) String() string {
return s.Name
}
func (s *darwinLaunchdService) getHomeDir() (string, error) {
u, err := user.Current()
if err == nil {
return u.HomeDir, nil
}
// alternate methods
homeDir := os.Getenv("HOME") // *nix
if homeDir == "" {
return "", errors.New("User home directory not found.")
}
return homeDir, nil
}
func (s *darwinLaunchdService) getServiceFilePath() (string, error) {
if s.userService {
u, err := user.Current()
homeDir, err := s.getHomeDir()
if err != nil {
return "", err
}
return u.HomeDir + "/Library/LaunchAgents/" + s.Name + ".plist", nil
return homeDir + "/Library/LaunchAgents/" + s.Name + ".plist", nil
}
return "/Library/LaunchDaemons/" + s.Name + ".plist", nil
}