Pull request: all: imp new plat docs

Updates #2441.
Updates #2443.

Squashed commit of the following:

commit 6e5218916753bffb91f9fc6d5a546487add620d5
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Tue Jun 1 15:56:21 2021 +0300

    all: imp new plat docs
This commit is contained in:
Ainar Garipov 2021-06-01 16:04:22 +03:00
parent 3fb32881fb
commit be4e110732
5 changed files with 54 additions and 32 deletions

View File

@ -15,6 +15,8 @@ and this project adheres to
### Added ### Added
- `darwin/arm64` support ([#2443]).
- `freebsd/arm64` support ([#2441]).
- Output of the default addresses of the upstreams used for resolving PTRs for - Output of the default addresses of the upstreams used for resolving PTRs for
private addresses ([#3136]). private addresses ([#3136]).
- Detection and handling of recurrent PTR requests for locally-served addresses - Detection and handling of recurrent PTR requests for locally-served addresses
@ -48,6 +50,8 @@ released by then.
- Go 1.15 support. - Go 1.15 support.
[#2441]: https://github.com/AdguardTeam/AdGuardHome/issues/2441
[#2443]: https://github.com/AdguardTeam/AdGuardHome/issues/2443
[#3184]: https://github.com/AdguardTeam/AdGuardHome/issues/3184 [#3184]: https://github.com/AdguardTeam/AdGuardHome/issues/3184
[#3185]: https://github.com/AdguardTeam/AdGuardHome/issues/3185 [#3185]: https://github.com/AdguardTeam/AdGuardHome/issues/3185
[#3186]: https://github.com/AdguardTeam/AdGuardHome/issues/3186 [#3186]: https://github.com/AdguardTeam/AdGuardHome/issues/3186

View File

@ -285,7 +285,8 @@ curl -sSL https://raw.githubusercontent.com/AdguardTeam/AdGuardHome/master/scrip
* Linux ARM: [32-bit ARMv6](https://static.adguard.com/adguardhome/beta/AdGuardHome_linux_armv6.tar.gz) (recommended for Raspberry Pi), [64-bit](https://static.adguard.com/adguardhome/beta/AdGuardHome_linux_arm64.tar.gz), [32-bit ARMv5](https://static.adguard.com/adguardhome/beta/AdGuardHome_linux_armv5.tar.gz), [32-bit ARMv7](https://static.adguard.com/adguardhome/beta/AdGuardHome_linux_armv7.tar.gz) * Linux ARM: [32-bit ARMv6](https://static.adguard.com/adguardhome/beta/AdGuardHome_linux_armv6.tar.gz) (recommended for Raspberry Pi), [64-bit](https://static.adguard.com/adguardhome/beta/AdGuardHome_linux_arm64.tar.gz), [32-bit ARMv5](https://static.adguard.com/adguardhome/beta/AdGuardHome_linux_armv5.tar.gz), [32-bit ARMv7](https://static.adguard.com/adguardhome/beta/AdGuardHome_linux_armv7.tar.gz)
* Linux MIPS: [32-bit MIPS](https://static.adguard.com/adguardhome/beta/AdGuardHome_linux_mips_softfloat.tar.gz), [32-bit MIPSLE](https://static.adguard.com/adguardhome/beta/AdGuardHome_linux_mipsle_softfloat.tar.gz), [64-bit MIPS](https://static.adguard.com/adguardhome/beta/AdGuardHome_linux_mips64_softfloat.tar.gz), [64-bit MIPSLE](https://static.adguard.com/adguardhome/beta/AdGuardHome_linux_mips64le_softfloat.tar.gz) * Linux MIPS: [32-bit MIPS](https://static.adguard.com/adguardhome/beta/AdGuardHome_linux_mips_softfloat.tar.gz), [32-bit MIPSLE](https://static.adguard.com/adguardhome/beta/AdGuardHome_linux_mipsle_softfloat.tar.gz), [64-bit MIPS](https://static.adguard.com/adguardhome/beta/AdGuardHome_linux_mips64_softfloat.tar.gz), [64-bit MIPSLE](https://static.adguard.com/adguardhome/beta/AdGuardHome_linux_mips64le_softfloat.tar.gz)
* Windows: [64-bit](https://static.adguard.com/adguardhome/beta/AdGuardHome_windows_amd64.zip), [32-bit](https://static.adguard.com/adguardhome/beta/AdGuardHome_windows_386.zip) * Windows: [64-bit](https://static.adguard.com/adguardhome/beta/AdGuardHome_windows_amd64.zip), [32-bit](https://static.adguard.com/adguardhome/beta/AdGuardHome_windows_386.zip)
* MacOS: [64-bit](https://static.adguard.com/adguardhome/beta/AdGuardHome_darwin_amd64.zip), [32-bit](https://static.adguard.com/adguardhome/beta/AdGuardHome_darwin_386.zip) * macOS: [64-bit](https://static.adguard.com/adguardhome/beta/AdGuardHome_darwin_amd64.zip), [32-bit](https://static.adguard.com/adguardhome/beta/AdGuardHome_darwin_386.zip)
* macOS ARM: [64-bit](https://static.adguard.com/adguardhome/beta/AdGuardHome_darwin_arm64.zip)
* FreeBSD: [64-bit](https://static.adguard.com/adguardhome/beta/AdGuardHome_freebsd_amd64.tar.gz), [32-bit](https://static.adguard.com/adguardhome/beta/AdGuardHome_freebsd_386.tar.gz) * FreeBSD: [64-bit](https://static.adguard.com/adguardhome/beta/AdGuardHome_freebsd_amd64.tar.gz), [32-bit](https://static.adguard.com/adguardhome/beta/AdGuardHome_freebsd_386.tar.gz)
* FreeBSD ARM: [64-bit](https://static.adguard.com/adguardhome/beta/AdGuardHome_freebsd_arm64.tar.gz), [32-bit ARMv5](https://static.adguard.com/adguardhome/beta/AdGuardHome_freebsd_armv5.tar.gz), [32-bit ARMv6](https://static.adguard.com/adguardhome/beta/AdGuardHome_freebsd_armv6.tar.gz), [32-bit ARMv7](https://static.adguard.com/adguardhome/beta/AdGuardHome_freebsd_armv7.tar.gz) * FreeBSD ARM: [64-bit](https://static.adguard.com/adguardhome/beta/AdGuardHome_freebsd_arm64.tar.gz), [32-bit ARMv5](https://static.adguard.com/adguardhome/beta/AdGuardHome_freebsd_armv5.tar.gz), [32-bit ARMv6](https://static.adguard.com/adguardhome/beta/AdGuardHome_freebsd_armv6.tar.gz), [32-bit ARMv7](https://static.adguard.com/adguardhome/beta/AdGuardHome_freebsd_armv7.tar.gz)
@ -294,7 +295,8 @@ curl -sSL https://raw.githubusercontent.com/AdguardTeam/AdGuardHome/master/scrip
* Linux ARM: [32-bit ARMv6](https://static.adguard.com/adguardhome/edge/AdGuardHome_linux_armv6.tar.gz) (recommended for Raspberry Pi), [64-bit](https://static.adguard.com/adguardhome/edge/AdGuardHome_linux_arm64.tar.gz), [32-bit ARMv5](https://static.adguard.com/adguardhome/edge/AdGuardHome_linux_armv5.tar.gz), [32-bit ARMv7](https://static.adguard.com/adguardhome/edge/AdGuardHome_linux_armv7.tar.gz) * Linux ARM: [32-bit ARMv6](https://static.adguard.com/adguardhome/edge/AdGuardHome_linux_armv6.tar.gz) (recommended for Raspberry Pi), [64-bit](https://static.adguard.com/adguardhome/edge/AdGuardHome_linux_arm64.tar.gz), [32-bit ARMv5](https://static.adguard.com/adguardhome/edge/AdGuardHome_linux_armv5.tar.gz), [32-bit ARMv7](https://static.adguard.com/adguardhome/edge/AdGuardHome_linux_armv7.tar.gz)
* Linux MIPS: [32-bit MIPS](https://static.adguard.com/adguardhome/edge/AdGuardHome_linux_mips_softfloat.tar.gz), [32-bit MIPSLE](https://static.adguard.com/adguardhome/edge/AdGuardHome_linux_mipsle_softfloat.tar.gz), [64-bit MIPS](https://static.adguard.com/adguardhome/edge/AdGuardHome_linux_mips64_softfloat.tar.gz), [64-bit MIPSLE](https://static.adguard.com/adguardhome/edge/AdGuardHome_linux_mips64le_softfloat.tar.gz) * Linux MIPS: [32-bit MIPS](https://static.adguard.com/adguardhome/edge/AdGuardHome_linux_mips_softfloat.tar.gz), [32-bit MIPSLE](https://static.adguard.com/adguardhome/edge/AdGuardHome_linux_mipsle_softfloat.tar.gz), [64-bit MIPS](https://static.adguard.com/adguardhome/edge/AdGuardHome_linux_mips64_softfloat.tar.gz), [64-bit MIPSLE](https://static.adguard.com/adguardhome/edge/AdGuardHome_linux_mips64le_softfloat.tar.gz)
* Windows: [64-bit](https://static.adguard.com/adguardhome/edge/AdGuardHome_windows_amd64.zip), [32-bit](https://static.adguard.com/adguardhome/edge/AdGuardHome_windows_386.zip) * Windows: [64-bit](https://static.adguard.com/adguardhome/edge/AdGuardHome_windows_amd64.zip), [32-bit](https://static.adguard.com/adguardhome/edge/AdGuardHome_windows_386.zip)
* MacOS: [64-bit](https://static.adguard.com/adguardhome/edge/AdGuardHome_darwin_amd64.zip), [32-bit](https://static.adguard.com/adguardhome/edge/AdGuardHome_darwin_386.zip) * macOS: [64-bit](https://static.adguard.com/adguardhome/edge/AdGuardHome_darwin_amd64.zip), [32-bit](https://static.adguard.com/adguardhome/edge/AdGuardHome_darwin_386.zip)
* macOS ARM: [64-bit](https://static.adguard.com/adguardhome/edge/AdGuardHome_darwin_arm64.zip)
* FreeBSD: [64-bit](https://static.adguard.com/adguardhome/edge/AdGuardHome_freebsd_amd64.tar.gz), [32-bit](https://static.adguard.com/adguardhome/edge/AdGuardHome_freebsd_386.tar.gz) * FreeBSD: [64-bit](https://static.adguard.com/adguardhome/edge/AdGuardHome_freebsd_amd64.tar.gz), [32-bit](https://static.adguard.com/adguardhome/edge/AdGuardHome_freebsd_386.tar.gz)
* FreeBSD ARM: [64-bit](https://static.adguard.com/adguardhome/edge/AdGuardHome_freebsd_arm64.tar.gz), [32-bit ARMv5](https://static.adguard.com/adguardhome/edge/AdGuardHome_freebsd_armv5.tar.gz), [32-bit ARMv6](https://static.adguard.com/adguardhome/edge/AdGuardHome_freebsd_armv6.tar.gz), [32-bit ARMv7](https://static.adguard.com/adguardhome/edge/AdGuardHome_freebsd_armv7.tar.gz) * FreeBSD ARM: [64-bit](https://static.adguard.com/adguardhome/edge/AdGuardHome_freebsd_arm64.tar.gz), [32-bit ARMv5](https://static.adguard.com/adguardhome/edge/AdGuardHome_freebsd_armv5.tar.gz), [32-bit ARMv6](https://static.adguard.com/adguardhome/edge/AdGuardHome_freebsd_armv6.tar.gz), [32-bit ARMv7](https://static.adguard.com/adguardhome/edge/AdGuardHome_freebsd_armv7.tar.gz)

View File

@ -266,7 +266,7 @@
# need to build a few of these. # need to build a few of these.
'variables': 'variables':
'channel': 'beta' 'channel': 'beta'
'dockerGo': 'adguard/golang-ubuntu:2.0' 'dockerGo': 'adguard/golang-ubuntu:3.1'
# release-vX.Y.Z branches are the branches from which the actual final release # release-vX.Y.Z branches are the branches from which the actual final release
# is built. # is built.
- '^release-v[0-9]+\.[0-9]+\.[0-9]+': - '^release-v[0-9]+\.[0-9]+\.[0-9]+':
@ -276,4 +276,4 @@
# are the ones that actually get released. # are the ones that actually get released.
'variables': 'variables':
'channel': 'release' 'channel': 'release'
'dockerGo': 'adguard/golang-ubuntu:2.0' 'dockerGo': 'adguard/golang-ubuntu:3.1'

View File

@ -282,7 +282,8 @@ func handleServiceUninstallCommand(s service.Service) {
func configureService(c *service.Config) { func configureService(c *service.Config) {
c.Option = service.KeyValue{} c.Option = service.KeyValue{}
// OS X // macOS
// Redefines the launchd config file template // Redefines the launchd config file template
// The purpose is to enable stdout/stderr redirect by default // The purpose is to enable stdout/stderr redirect by default
c.Option["LaunchdConfig"] = launchdConfig c.Option["LaunchdConfig"] = launchdConfig
@ -290,6 +291,7 @@ func configureService(c *service.Config) {
c.Option["RunAtLoad"] = true c.Option["RunAtLoad"] = true
// POSIX // POSIX
// Redirect StdErr & StdOut to files. // Redirect StdErr & StdOut to files.
c.Option["LogOutput"] = true c.Option["LogOutput"] = true

View File

@ -52,13 +52,20 @@ check_required() {
# Split with space. # Split with space.
required="curl" required="curl"
if [ "$os" = 'linux' ] || [ "$os" = 'freebsd' ] case "$os"
then in
('freebsd'|'linux')
required="$required $required_unix" required="$required $required_unix"
elif [ "$os" = 'darwin' ] ;;
then ('darwin')
required="$required $required_darwin" required="$required $required_darwin"
fi ;;
(*)
# Generally shouldn't happen, since the OS has already been
# validated.
error_exit "unsupported operating system: $os"
;;
esac
# Don't use quotes to get word splitting. # Don't use quotes to get word splitting.
for cmd in ${required} for cmd in ${required}
@ -88,7 +95,7 @@ check_out_dir() {
# Function parse_opts parses the options list and validates it's combinations. # Function parse_opts parses the options list and validates it's combinations.
parse_opts() { parse_opts() {
while getopts "C:c:hO:o:rRuUvV" opt $* while getopts "C:c:hO:o:rRuUvV" opt "$@"
do do
case "$opt" case "$opt"
in in
@ -181,11 +188,11 @@ set_os() {
# Validate. # Validate.
case "$os" case "$os"
in in
('linux'|'freebsd'|'darwin') ('darwin'|'freebsd'|'linux')
# All right, go on. # All right, go on.
;; ;;
(*) (*)
error_exit "unsupported operating system: $os" error_exit "unsupported operating system: '$os'"
;; ;;
esac esac
@ -247,29 +254,42 @@ set_cpu() {
log "cpu type: $cpu" log "cpu type: $cpu"
} }
# Function fix_darwin performs some configuration changes for macOS if # Function fix_darwin performs some configuration changes for macOS if needed.
# needed. #
# TODO(a.garipov): Remove after the final v0.107.0 release.
#
# See https://github.com/AdguardTeam/AdGuardHome/issues/2443.
fix_darwin() { fix_darwin() {
if ! [ "$os" = 'darwin' ] if [ "$os" != 'darwin' ]
then then
return 0 return 0
fi fi
# TODO(e.burkov): Remove after we release at least one stable release
# with Apple Silicon support.
#
# See https://github.com/AdguardTeam/AdGuardHome/issues/2443.
if [ "$cpu" = 'arm64' ] if [ "$cpu" = 'arm64' ]
then then
case "$channel"
in
('beta'|'development'|'edge')
# Everything is fine, we have Apple Silicon support on
# these channels.
;;
('release')
cpu='amd64' cpu='amd64'
log "use $cpu build on Mac M1 until the native ARM support is added." 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 fi
# Set the package extension. # Set the package extension.
pkg_ext='zip' pkg_ext='zip'
# It is important to install AdGuard Home into the /Applications # It is important to install AdGuard Home into the /Applications
# directory on MacOS. Otherwise, it may not grant enough privileges to # directory on macOS. Otherwise, it may not grant enough privileges to
# the AdGuard Home. # the AdGuard Home.
out_dir='/Applications' out_dir='/Applications'
} }
@ -356,7 +376,6 @@ rerun_with_root() {
log 'restarting with root privileges' log 'restarting with root privileges'
curl -L -S -s "$script_url" | sudo sh -s -- $opts curl -L -S -s "$script_url" | sudo sh -s -- $opts
exit $?
} }
# Function download downloads the file from the URL and saves it to the # Function download downloads the file from the URL and saves it to the
@ -391,11 +410,6 @@ unpack() {
;; ;;
esac esac
if [ "$?" != '0' ]
then
error_exit "cannot unpack the package into $out_dir"
fi
rm "$pkg_name" rm "$pkg_name"
} }
@ -418,7 +432,7 @@ handle_existing() {
then then
log 'the existing AdGuard Home installation is detected' log 'the existing AdGuard Home installation is detected'
if [ "$reinstall" != '1' ] && [ "$uninstall" != '1' ] if [ "$reinstall" -ne '1' ] && [ "$uninstall" -ne '1' ]
then then
error_exit \ error_exit \
"to reinstall/uninstall the AdGuard Home using\this script specify one of the '-r' or '-u' flags" "to reinstall/uninstall the AdGuard Home using\this script specify one of the '-r' or '-u' flags"
@ -489,7 +503,7 @@ cpu=''
os='' os=''
out_dir='/opt' out_dir='/opt'
pkg_ext='tar.gz' pkg_ext='tar.gz'
parse_opts $* parse_opts "$@"
echo 'starting AdGuard Home installation script' echo 'starting AdGuard Home installation script'