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:
parent
3fb32881fb
commit
be4e110732
|
@ -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
|
||||||
|
|
|
@ -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)
|
||||||
|
|
||||||
|
|
|
@ -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'
|
||||||
|
|
|
@ -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
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
cpu='amd64'
|
case "$channel"
|
||||||
log "use $cpu build on Mac M1 until the native ARM support is added."
|
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
|
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'
|
||||||
}
|
}
|
||||||
|
@ -355,8 +375,7 @@ 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'
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue