|
@@ -4,18 +4,33 @@ import (
|
|
"io/ioutil"
|
|
"io/ioutil"
|
|
"log"
|
|
"log"
|
|
"os"
|
|
"os"
|
|
-
|
|
|
|
|
|
+ "path/filepath"
|
|
"github.com/gravitl/netmaker/netclient/ncutils"
|
|
"github.com/gravitl/netmaker/netclient/ncutils"
|
|
)
|
|
)
|
|
|
|
|
|
const MAC_SERVICE_NAME = "com.gravitl.netclient"
|
|
const MAC_SERVICE_NAME = "com.gravitl.netclient"
|
|
|
|
|
|
func SetupMacDaemon() error {
|
|
func SetupMacDaemon() error {
|
|
|
|
+
|
|
|
|
+ dir, err := filepath.Abs(filepath.Dir(os.Args[0]))
|
|
|
|
+ if err != nil {
|
|
|
|
+ return err
|
|
|
|
+ }
|
|
|
|
+ binarypath := dir + "/netclient"
|
|
|
|
+
|
|
|
|
+ if !ncutils.FileExists("/etc/netclient/netclient") {
|
|
|
|
+ _, err = ncutils.Copy(binarypath, "/etc/netclient/netclient")
|
|
|
|
+ if err != nil {
|
|
|
|
+ log.Println(err)
|
|
|
|
+ return err
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
_, errN := os.Stat("~/Library/LaunchAgents")
|
|
_, errN := os.Stat("~/Library/LaunchAgents")
|
|
if os.IsNotExist(errN) {
|
|
if os.IsNotExist(errN) {
|
|
os.Mkdir("~/Library/LaunchAgents", 0755)
|
|
os.Mkdir("~/Library/LaunchAgents", 0755)
|
|
}
|
|
}
|
|
- err := CreateMacService(MAC_SERVICE_NAME)
|
|
|
|
|
|
+ err = CreateMacService(MAC_SERVICE_NAME)
|
|
if err != nil {
|
|
if err != nil {
|
|
return err
|
|
return err
|
|
}
|
|
}
|