diff options
author | Natanael Copa <ncopa@alpinelinux.org> | 2011-10-19 09:45:43 +0000 |
---|---|---|
committer | Natanael Copa <ncopa@alpinelinux.org> | 2011-10-19 09:45:43 +0000 |
commit | 688d54df37e4ceaec38ca2eeb501680ee26459d1 (patch) | |
tree | fc6dadec8caba48daf1a93793aac927bbff376c6 | |
parent | d451866fd59af0b3c653dd94c0ee135b1e2d9ece (diff) | |
download | alpine_aports-688d54df37e4ceaec38ca2eeb501680ee26459d1.tar.bz2 alpine_aports-688d54df37e4ceaec38ca2eeb501680ee26459d1.tar.xz alpine_aports-688d54df37e4ceaec38ca2eeb501680ee26459d1.zip |
main/util-vserver: upgrade to 0.30.216_pre2994
also add supporrt for creating 32bit guests on x86_64 hosts
-rw-r--r-- | main/util-vserver/APKBUILD | 10 | ||||
-rw-r--r-- | main/util-vserver/setup-vs-guest | 38 | ||||
-rw-r--r-- | main/util-vserver/setup-vs-template | 5 |
3 files changed, 42 insertions, 11 deletions
diff --git a/main/util-vserver/APKBUILD b/main/util-vserver/APKBUILD index b7c6ca369b..e4cfe43674 100644 --- a/main/util-vserver/APKBUILD +++ b/main/util-vserver/APKBUILD | |||
@@ -1,6 +1,6 @@ | |||
1 | # Maintainer: Natanael Copa <ncopa@alpinelinux.org> | 1 | # Maintainer: Natanael Copa <ncopa@alpinelinux.org> |
2 | pkgname=util-vserver | 2 | pkgname=util-vserver |
3 | pkgver=0.30.216_pre2981 | 3 | pkgver=0.30.216_pre2994 |
4 | _realver=${pkgver%_*}-${pkgver#*_} | 4 | _realver=${pkgver%_*}-${pkgver#*_} |
5 | pkgrel=0 | 5 | pkgrel=0 |
6 | pkgdesc="Linux-VServer admin utilities" | 6 | pkgdesc="Linux-VServer admin utilities" |
@@ -33,7 +33,7 @@ prepare() { | |||
33 | esac | 33 | esac |
34 | done | 34 | done |
35 | msg "Running autotools..." | 35 | msg "Running autotools..." |
36 | aclocal -I m4 && autoconf && automake && libtoolize || return 1 | 36 | libtoolize --force && aclocal -I m4 && autoconf && automake || return 1 |
37 | 37 | ||
38 | # this is an ugly workaround | 38 | # this is an ugly workaround |
39 | sed -i -e "s:as_echo=.*:as_echo=echo:g" configure | 39 | sed -i -e "s:as_echo=.*:as_echo=echo:g" configure |
@@ -69,11 +69,11 @@ package() { | |||
69 | install -Dm755 ../setup-vs-guest "$pkgdir"/usr/sbin/setup-vs-guest | 69 | install -Dm755 ../setup-vs-guest "$pkgdir"/usr/sbin/setup-vs-guest |
70 | } | 70 | } |
71 | 71 | ||
72 | md5sums="b9064c39a5ee4bfd5f98c419f3e7edfb util-vserver-0.30.216-pre2981.tar.bz2 | 72 | md5sums="c2801f089982043bd0528349a1c61bb7 util-vserver-0.30.216-pre2994.tar.bz2 |
73 | 73c7437dea6937a57cf38d166ef83c09 chmod.patch | 73 | 73c7437dea6937a57cf38d166ef83c09 chmod.patch |
74 | ff8f561f672524eb46fe633f584ef60e ensc_pathprog.patch | 74 | ff8f561f672524eb46fe633f584ef60e ensc_pathprog.patch |
75 | da8b70c4fd40e68894b3903ffd121397 validate.patch | 75 | da8b70c4fd40e68894b3903ffd121397 validate.patch |
76 | 04000261fd990a3963b0e98260b481bd alpine.patch | 76 | 04000261fd990a3963b0e98260b481bd alpine.patch |
77 | 3fc52e20d998f02995f21912738f5d36 bb-grep.patch | 77 | 3fc52e20d998f02995f21912738f5d36 bb-grep.patch |
78 | 49bca7969cc284adf68e0ef284c0660e setup-vs-template | 78 | fae6626b724dec90a19924d68d355cd2 setup-vs-template |
79 | 03e109447c2d500dfb27a3046170b92f setup-vs-guest" | 79 | ef35e154d1a221631a53f9c2cfbe9834 setup-vs-guest" |
diff --git a/main/util-vserver/setup-vs-guest b/main/util-vserver/setup-vs-guest index 0de3069ba5..8a41306699 100644 --- a/main/util-vserver/setup-vs-guest +++ b/main/util-vserver/setup-vs-guest | |||
@@ -153,7 +153,7 @@ valid_hostname() { | |||
153 | # | 153 | # |
154 | last_ipv4_addr_mask() { | 154 | last_ipv4_addr_mask() { |
155 | local _iface=$1 | 155 | local _iface=$1 |
156 | ip addr show dev $_iface | awk '$1 == "inet" {print $2}' | tail -n1 | 156 | ip addr show dev $_iface | sort | awk '$1 == "inet" {print $2}' | tail -n1 |
157 | } | 157 | } |
158 | 158 | ||
159 | valid_ip_and_prefix() { | 159 | valid_ip_and_prefix() { |
@@ -235,8 +235,19 @@ ask_context() { | |||
235 | done | 235 | done |
236 | } | 236 | } |
237 | 237 | ||
238 | ask_guest_arch() { | ||
239 | # get guest arch | ||
240 | while true; do | ||
241 | ask "Enter guest machine architecture (i686 or x86_64):" $_arch | ||
242 | case "$resp" in | ||
243 | i[3-6]86|x86_64) break;; | ||
244 | esac | ||
245 | echo "Only i[3-6]86 and x86_64 is supported" | ||
246 | done | ||
247 | } | ||
248 | |||
238 | ask_template() { | 249 | ask_template() { |
239 | local temp | 250 | local temp= apk_arch= arch_opt= |
240 | # get template | 251 | # get template |
241 | while true; do | 252 | while true; do |
242 | ask "Enter template file (or empty for generate a new):" \ | 253 | ask "Enter template file (or empty for generate a new):" \ |
@@ -246,11 +257,18 @@ ask_template() { | |||
246 | fi | 257 | fi |
247 | echo "Can not read $resp" | 258 | echo "Can not read $resp" |
248 | done | 259 | done |
260 | if [ "$_guest_arch" != "$_arch" ]; then | ||
261 | case "$_guest_arch" in | ||
262 | i?86) apk_arch=x86;; | ||
263 | *) apk_arch=$_guest_arch;; | ||
264 | esac | ||
265 | arch_opt="-a $apk_arch" | ||
266 | fi | ||
249 | temp=$resp | 267 | temp=$resp |
250 | if [ -z "$temp" ]; then | 268 | if [ -z "$temp" ]; then |
251 | temp=/vservers/template.tar.gz | 269 | temp=/vservers/template-$_guest_arch.tar.gz |
252 | echo "Generating template..." | 270 | echo "Generating template..." |
253 | if setup-vs-template -q -o $temp; then | 271 | if setup-vs-template $arch_opt -q -o $temp; then |
254 | echo "ok" | 272 | echo "ok" |
255 | else | 273 | else |
256 | echo "Failed to create template" | 274 | echo "Failed to create template" |
@@ -265,6 +283,8 @@ usage() { | |||
265 | exit 1 | 283 | exit 1 |
266 | } | 284 | } |
267 | 285 | ||
286 | _arch="$(uname -m)" | ||
287 | |||
268 | while getopts "h" opt; do | 288 | while getopts "h" opt; do |
269 | case "$opt" in | 289 | case "$opt" in |
270 | h) usage;; | 290 | h) usage;; |
@@ -289,6 +309,11 @@ while true; do | |||
289 | ask_context | 309 | ask_context |
290 | _context=$resp | 310 | _context=$resp |
291 | 311 | ||
312 | if [ "$_arch" = "x86_64" ]; then | ||
313 | ask_guest_arch | ||
314 | _guest_arch=$resp | ||
315 | fi | ||
316 | |||
292 | ask_template | 317 | ask_template |
293 | _template=$resp | 318 | _template=$resp |
294 | 319 | ||
@@ -296,10 +321,15 @@ while true; do | |||
296 | --hostname $_hostname \ | 321 | --hostname $_hostname \ |
297 | $_ifaceopts \ | 322 | $_ifaceopts \ |
298 | --context $_context \ | 323 | --context $_context \ |
324 | $arch_opt \ | ||
299 | -m template -- -t "$_template" -d alpine \ | 325 | -m template -- -t "$_template" -d alpine \ |
300 | && cp /etc/resolv.conf /vservers/$_hostname/etc/ \ | 326 | && cp /etc/resolv.conf /vservers/$_hostname/etc/ \ |
301 | && cp /etc/apk/repositories /vservers/$_hostname/etc/apk/ \ | 327 | && cp /etc/apk/repositories /vservers/$_hostname/etc/apk/ \ |
302 | || exit 1 | 328 | || exit 1 |
329 | if [ "$_arch" != "$_guest_arch" ]; then | ||
330 | echo "linux_32bit" >> /etc/vservers/$_hostname/personality | ||
331 | echo "$_guest_arch" > /etc/vservers/$_hostname/uts/machine | ||
332 | fi | ||
303 | 333 | ||
304 | shift | 334 | shift |
305 | [ $# -le 0 ] && exit 0 | 335 | [ $# -le 0 ] && exit 0 |
diff --git a/main/util-vserver/setup-vs-template b/main/util-vserver/setup-vs-template index 8ad7f3fae8..3edffa1aaa 100644 --- a/main/util-vserver/setup-vs-template +++ b/main/util-vserver/setup-vs-template | |||
@@ -16,8 +16,9 @@ clean_exit() { | |||
16 | outfile=template.tar.gz | 16 | outfile=template.tar.gz |
17 | fakeroot= | 17 | fakeroot= |
18 | repos= | 18 | repos= |
19 | while getopts "ho:qX:" opt; do | 19 | while getopts "a:ho:qX:" opt; do |
20 | case "$opt" in | 20 | case "$opt" in |
21 | a) arch_opt="--arch $OPTARG";; | ||
21 | h) usage 0;; | 22 | h) usage 0;; |
22 | o) outfile="$OPTARG";; | 23 | o) outfile="$OPTARG";; |
23 | q) quiet=-q;; | 24 | q) quiet=-q;; |
@@ -32,7 +33,7 @@ fi | |||
32 | 33 | ||
33 | tmpdir=$(mktemp -d ${TMPDIR:-/tmp}/setup-vs-template-XXXXXX) | 34 | tmpdir=$(mktemp -d ${TMPDIR:-/tmp}/setup-vs-template-XXXXXX) |
34 | 35 | ||
35 | apk add --root "$tmpdir" --initdb --keys-dir /etc/apk/keys -U \ | 36 | apk add --root "$tmpdir" --initdb --keys-dir /etc/apk/keys -U $arch_opt \ |
36 | $quiet ${repos:---repositories-file /etc/apk/repositories} \ | 37 | $quiet ${repos:---repositories-file /etc/apk/repositories} \ |
37 | alpine-base $@ \ | 38 | alpine-base $@ \ |
38 | || clean_exit 1 | 39 | || clean_exit 1 |