]> git.ipfire.org Git - thirdparty/wireguard-tools.git/commitdiff
wg-quick: darwin: use bash from environment and require bash 4+
authorJason A. Donenfeld <Jason@zx2c4.com>
Wed, 16 May 2018 02:15:05 +0000 (04:15 +0200)
committerJason A. Donenfeld <Jason@zx2c4.com>
Wed, 16 May 2018 02:25:42 +0000 (04:25 +0200)
For properly configured Homebrew installations /usr/local/bin should be
before /bin, so this should still work. This allows the script to be
used in more than one setting.

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
src/wg-quick/darwin.bash
src/wg-quick/linux.bash

index ba1e49ba5330375ff187386dc1b7fc1b842d818c..4a3240c27fd5a0f82fcf94516b841ce91995e173 100755 (executable)
@@ -1,11 +1,9 @@
-#!/usr/local/bin/bash
+#!/usr/bin/env bash
 # SPDX-License-Identifier: GPL-2.0
 #
 # Copyright (C) 2015-2018 Jason A. Donenfeld <Jason@zx2c4.com>. All Rights Reserved.
 #
 
-# The shebang is in /usr/local because this requires bash 4.
-
 set -e -o pipefail
 shopt -s extglob
 export LC_ALL=C
@@ -29,6 +27,18 @@ CONFIG_FILE=""
 PROGRAM="${0##*/}"
 ARGS=( "$@" )
 
+cmd() {
+       echo "[#] $*" >&2
+       "$@"
+}
+
+die() {
+       echo "$PROGRAM: $*" >&2
+       exit 1
+}
+
+[[ ${BASH_VERSINFO[0]} -ge 4 ]] || die "Version mismatch: bash ${BASH_VERSINFO[0]} detected, when bash 4+ required"
+
 parse_options() {
        local interface_section=0 line key value stripped
        CONFIG_FILE="$1"
@@ -71,16 +81,6 @@ read_bool() {
        esac
 }
 
-cmd() {
-       echo "[#] $*" >&2
-       "$@"
-}
-
-die() {
-       echo "$PROGRAM: $*" >&2
-       exit 1
-}
-
 auto_su() {
        [[ $UID == 0 ]] || exec sudo -p "$PROGRAM must be run as root. Please enter the password for %u to continue: " "$SELF" "${ARGS[@]}"
 }
index cd66b4d37a6bba69de7863760f0e0f6d09f05993..38ccad239c462ba0eeed0826d120d2292396dd1a 100755 (executable)
@@ -26,6 +26,16 @@ CONFIG_FILE=""
 PROGRAM="${0##*/}"
 ARGS=( "$@" )
 
+cmd() {
+       echo "[#] $*" >&2
+       "$@"
+}
+
+die() {
+       echo "$PROGRAM: $*" >&2
+       exit 1
+}
+
 parse_options() {
        local interface_section=0 line key value stripped
        CONFIG_FILE="$1"
@@ -68,16 +78,6 @@ read_bool() {
        esac
 }
 
-cmd() {
-       echo "[#] $*" >&2
-       "$@"
-}
-
-die() {
-       echo "$PROGRAM: $*" >&2
-       exit 1
-}
-
 auto_su() {
        [[ $UID == 0 ]] || exec sudo -p "$PROGRAM must be run as root. Please enter the password for %u to continue: " "$SELF" "${ARGS[@]}"
 }