aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNatanael Copa <ncopa@alpinelinux.org>2012-03-21 07:47:15 +0000
committerNatanael Copa <ncopa@alpinelinux.org>2012-03-21 08:00:02 +0000
commit58b1c5cf916324511569f31a3b0adc09d0d23a13 (patch)
treeade26fffd410b6934d3dc9b864bcf8ab8a58f370
parent1f57eb60222c4cc7aacdeecae111acf3db74feb0 (diff)
downloadalpine_aports-58b1c5cf916324511569f31a3b0adc09d0d23a13.tar.bz2
alpine_aports-58b1c5cf916324511569f31a3b0adc09d0d23a13.tar.xz
alpine_aports-58b1c5cf916324511569f31a3b0adc09d0d23a13.zip
main/util-vserver: allow use bonded and bridge interfaces
-rw-r--r--main/util-vserver/APKBUILD4
-rw-r--r--main/util-vserver/setup-vs-guest21
2 files changed, 22 insertions, 3 deletions
diff --git a/main/util-vserver/APKBUILD b/main/util-vserver/APKBUILD
index f2364f452a..59d4ec1203 100644
--- a/main/util-vserver/APKBUILD
+++ b/main/util-vserver/APKBUILD
@@ -2,7 +2,7 @@
2pkgname=util-vserver 2pkgname=util-vserver
3pkgver=0.30.216_pre3029 3pkgver=0.30.216_pre3029
4_realver=${pkgver/_/-} 4_realver=${pkgver/_/-}
5pkgrel=0 5pkgrel=1
6pkgdesc="Linux-VServer admin utilities" 6pkgdesc="Linux-VServer admin utilities"
7url="http://www.nongnu.org/util-vserver/" 7url="http://www.nongnu.org/util-vserver/"
8arch="all" 8arch="all"
@@ -58,4 +58,4 @@ package() {
58 58
59md5sums="e0775fe6ee9ce390be2be84c94eca4ab util-vserver-0.30.216-pre3029.tar.bz2 59md5sums="e0775fe6ee9ce390be2be84c94eca4ab util-vserver-0.30.216-pre3029.tar.bz2
60fae6626b724dec90a19924d68d355cd2 setup-vs-template 60fae6626b724dec90a19924d68d355cd2 setup-vs-template
614778b260b0fa8b5ce05d0a64f0b2fb39 setup-vs-guest" 61dfd0a543b6dcaeef647ceac0ae103d12 setup-vs-guest"
diff --git a/main/util-vserver/setup-vs-guest b/main/util-vserver/setup-vs-guest
index 985be9c3ad..8d33f6c081 100644
--- a/main/util-vserver/setup-vs-guest
+++ b/main/util-vserver/setup-vs-guest
@@ -182,11 +182,30 @@ ask_hostname() {
182 done 182 done
183} 183}
184 184
185available_ifaces() {
186 local iflist= ifpath= iface= i=
187 sorted_ifindexes=$(
188 for i in /sys/class/net/*/ifindex; do
189 [ -e "$i" ] || continue
190 echo -e "$(cat $i)\t$i";
191 done | sort -n | awk '{print $2}')
192 for i in $sorted_ifindexes; do
193 ifpath=${i%/*}
194 iface=${ifpath##*/}
195 # skip interfaces that are part of a bond or bridge
196 if [ -d "$ifpath"/master/bonding ] || [ -d "$ifpath"/brport ]; then
197 continue
198 fi
199 iflist="${iflist}${iflist:+ }$iface"
200 done
201 echo $iflist
202}
203
185ask_ifaceopts() { 204ask_ifaceopts() {
186 # get ip address(es) 205 # get ip address(es)
187 resp= 206 resp=
188 local ifaceopts= _def= _iface= 207 local ifaceopts= _def= _iface=
189 local ifaces=$(ip addr | awk -F: '$1 ~ /^[0-9]/ {printf "%s" $2} END {printf "\n"}') 208 local ifaces=$(available_ifaces)
190 local last_iface=$(echo $ifaces | sed 's/.* //') 209 local last_iface=$(echo $ifaces | sed 's/.* //')
191 while [ "$resp" != "done" ]; do 210 while [ "$resp" != "done" ]; do
192 if [ -z "$ifaces" ] || [ "$ifaces" = "lo " ] || [ -n "$ifaceopts" ]; then 211 if [ -z "$ifaces" ] || [ "$ifaces" = "lo " ] || [ -n "$ifaceopts" ]; then