summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJouke Witteveen <j.witteveen@gmail.com>2014-04-26 13:39:23 +0200
committerJouke Witteveen <j.witteveen@gmail.com>2014-05-06 12:00:46 +0200
commitb4f7bf8ca067542b48ed4099c9feaf9f62f89a62 (patch)
tree810a73465e95922d1109daf0d179ed60c723464b
parente9c36cc1ef0e17d80d279a06f15833e8da13ffb2 (diff)
downloadnetctl-b4f7bf8ca067542b48ed4099c9feaf9f62f89a62.tar.gz
netctl-b4f7bf8ca067542b48ed4099c9feaf9f62f89a62.tar.xz
Fix default interface bindings (fourth time)
The following changes introduced in Bash 4.3 necessitate this commit: - Setting the array attribute no longer initializes an array. - Empty-but-set arrays no longer pass [[ -v ]]. Previous attempts: feb669f4b2a15e6ea1d84be336f12be4650f9d2d 711c46457ae9fef52c7c529d89c67d0d526f73ef e8210827fd59e4539a70af55cb452b211633fedd
-rw-r--r--src/lib/connections/bond3
-rw-r--r--src/lib/connections/bridge3
-rw-r--r--src/lib/connections/dummy3
-rw-r--r--src/lib/connections/tunnel3
-rw-r--r--src/lib/connections/tuntap3
-rw-r--r--src/netctl.in2
6 files changed, 11 insertions, 6 deletions
diff --git a/src/lib/connections/bond b/src/lib/connections/bond
index 2909b90..7e4112f 100644
--- a/src/lib/connections/bond
+++ b/src/lib/connections/bond
@@ -2,7 +2,8 @@
. "$SUBR_DIR/ip"
-declare -ag BindsToInterfaces
+# Make sure BindsToInterfaces is set
+BindsToInterfaces=("${BindsToInterfaces[@]}")
bond_up() {
if is_interface "$Interface"; then
diff --git a/src/lib/connections/bridge b/src/lib/connections/bridge
index 1b25f2b..7d05576 100644
--- a/src/lib/connections/bridge
+++ b/src/lib/connections/bridge
@@ -2,7 +2,8 @@
. "$SUBR_DIR/ip"
-declare -ag BindsToInterfaces
+# Make sure BindsToInterfaces is set
+BindsToInterfaces=("${BindsToInterfaces[@]}")
bridge_up() {
if is_interface "$Interface"; then
diff --git a/src/lib/connections/dummy b/src/lib/connections/dummy
index 5a12d1e..8726d86 100644
--- a/src/lib/connections/dummy
+++ b/src/lib/connections/dummy
@@ -2,7 +2,8 @@
. "$SUBR_DIR/ip"
-declare -ag BindsToInterfaces
+# Make sure BindsToInterfaces is set
+BindsToInterfaces=("${BindsToInterfaces[@]}")
dummy_up() {
if is_interface "$Interface"; then
diff --git a/src/lib/connections/tunnel b/src/lib/connections/tunnel
index ab62cc7..9ed2383 100644
--- a/src/lib/connections/tunnel
+++ b/src/lib/connections/tunnel
@@ -2,7 +2,8 @@
. "$SUBR_DIR/ip"
-declare -ag BindsToInterfaces
+# Make sure BindsToInterfaces is set
+BindsToInterfaces=("${BindsToInterfaces[@]}")
tunnel_up() {
if is_interface "$Interface"; then
diff --git a/src/lib/connections/tuntap b/src/lib/connections/tuntap
index 2c00839..0191ae0 100644
--- a/src/lib/connections/tuntap
+++ b/src/lib/connections/tuntap
@@ -2,7 +2,8 @@
. "$SUBR_DIR/ip"
-declare -ag BindsToInterfaces
+# Make sure BindsToInterfaces is set
+BindsToInterfaces=("${BindsToInterfaces[@]}")
tuntap_up() {
if is_interface "$Interface"; then
diff --git a/src/netctl.in b/src/netctl.in
index 6babecf..dc19ab0 100644
--- a/src/netctl.in
+++ b/src/netctl.in
@@ -111,7 +111,7 @@ unit_enable() {
echo ".include @systemdsystemunitdir@/netctl@.service" > "$unit"
echo -e "\n[Unit]" >> "$unit"
[[ -n $Description ]] && echo "Description=$Description" >> "$unit"
- [[ -v BindsToInterfaces ]] || BindsToInterfaces=$Interface
+ declare -p BindsToInterfaces &> /dev/null || BindsToInterfaces=$Interface
if (( ${#BindsToInterfaces[@]} )); then
: ${InterfaceRoot=sys/subsystem/net/devices/}
printf "BindsTo=$(sd_escape "$InterfaceRoot")%s.device\n" \