From 34c95f99f86df9dd8c0dcead98424add0523383f Mon Sep 17 00:00:00 2001 From: Eugene Burkov Date: Tue, 11 Jan 2022 21:33:14 +0300 Subject: [PATCH] Pull request: 4046 darwin service message Merge in DNS/adguard-home from 4046-log-dir to master Closes #4046. Squashed commit of the following: commit 05140550b14f477f52487c575f56428ce9e6fa10 Author: Eugene Burkov Date: Wed Jan 5 17:54:11 2022 +0500 all: add macOS service msg --- internal/home/home.go | 12 ++++++------ internal/home/service.go | 6 ++++++ scripts/install.sh | 26 +++----------------------- 3 files changed, 15 insertions(+), 29 deletions(-) diff --git a/internal/home/home.go b/internal/home/home.go index 853940e2..05d8c3fe 100644 --- a/internal/home/home.go +++ b/internal/home/home.go @@ -393,9 +393,9 @@ func run(args options, clientBuildFS fs.FS) { // Go memory hacks memoryUsage(args) - // print the first message after logger is configured + // Print the first message after logger is configured. log.Println(version.Full()) - log.Debug("Current working directory is %s", Context.workDir) + log.Debug("current working directory is %s", Context.workDir) if args.runningAsService { log.Info("AdGuard Home is running as a service") } @@ -631,13 +631,13 @@ func configureLogger(args options) { log.SetLevel(log.DEBUG) } - // Make sure that we see the microseconds in logs, as networking stuff - // can happen pretty quickly. + // Make sure that we see the microseconds in logs, as networking stuff can + // happen pretty quickly. log.SetFlags(log.LstdFlags | log.Lmicroseconds) if args.runningAsService && ls.LogFile == "" && runtime.GOOS == "windows" { - // When running as a Windows service, use eventlog by default if nothing else is configured - // Otherwise, we'll simply loose the log output + // When running as a Windows service, use eventlog by default if nothing + // else is configured. Otherwise, we'll simply lose the log output. ls.LogFile = configSyslog } diff --git a/internal/home/service.go b/internal/home/service.go index fc34fd67..e5d0ba39 100644 --- a/internal/home/service.go +++ b/internal/home/service.go @@ -82,6 +82,12 @@ func svcStatus(s service.Service) (status service.Status, err error) { // On OpenWrt, the service utility may not exist. We use our service script // directly in this case. func svcAction(s service.Service, action string) (err error) { + if runtime.GOOS == "darwin" && + action == "start" && + !strings.HasPrefix(Context.workDir, "/Applications/") { + log.Info("warning: service must be started from within the /Applications directory") + } + err = service.Control(s, action) if err != nil && service.Platform() == "unix-systemv" && (action == "start" || action == "stop" || action == "restart") { diff --git a/scripts/install.sh b/scripts/install.sh index 078dc34b..af80adfe 100644 --- a/scripts/install.sh +++ b/scripts/install.sh @@ -272,32 +272,12 @@ fix_darwin() { return 0 fi - if [ "$cpu" = 'arm64' ] - then - case "$channel" - in - ('beta'|'development'|'edge') - # Everything is fine, we have Apple Silicon support on - # these channels. - ;; - ('release') - cpu='amd64' - log "use $cpu build on Mac M1 until the native ARM support is added." - ;; - (*) - # Generally shouldn't happen, since the release channel - # has already been validated. - error_exit "invalid channel '$channel'" - ;; - esac - fi - # Set the package extension. pkg_ext='zip' - # It is important to install AdGuard Home into the /Applications - # directory on macOS. Otherwise, it may not grant enough privileges to - # the AdGuard Home. + # It is important to install AdGuard Home into the /Applications directory + # on macOS. Otherwise, it may grant not enough privileges to the AdGuard + # Home. out_dir='/Applications' }