X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=vbuild-init-vserver.sh;h=843ebe96103cb699506d1303fab25f8f510219e6;hb=8082297d6066b0a17d7427df2d311d1612bf31f8;hp=7e923533afcff64a68c6ee9bf53cecfb1dd15ae9;hpb=7e6fc43fc4cf3b2a59a9d08811c550d7d436e08c;p=build.git diff --git a/vbuild-init-vserver.sh b/vbuild-init-vserver.sh index 7e923533..843ebe96 100755 --- a/vbuild-init-vserver.sh +++ b/vbuild-init-vserver.sh @@ -1,6 +1,5 @@ #!/bin/bash # -*-shell-*- -# $Id$ #shopt -s huponexit @@ -8,7 +7,8 @@ COMMAND=$(basename $0) DIRNAME=$(dirname $0) # pkgs parsing utilities -PATH=$(dirname $0):$PATH . build.common +PATH=$(dirname $0):$PATH export PATH +. build.common DEFAULT_FCDISTRO=f8 DEFAULT_PLDISTRO=planetlab @@ -173,6 +173,14 @@ function setup_vserver () { [ $cap -eq 0 ] && echo 'CAP_NET_BIND_SERVICE' >> /etc/vservers/$vserver/bcapabilities fi + # Set persistent for the network context + echo persistent,lback_allow > /etc/vservers/$vserver/nflags + + # Set the init style of your vserver to plain for f13 + case $fcdistro in + f13|f14) echo plain > /etc/vservers/$vserver/apps/init/style ;; + esac + if [ "$pkg_method" = "yum" ] ; then $personality vyum $vserver -- -y install yum # ditto @@ -195,6 +203,7 @@ function setup_vserver () { function translate_rpm_hashes () { set -x set -e + local personality="$1"; shift local vserver="$1"; shift # need to have utilities installed type -p file @@ -205,13 +214,14 @@ function setup_vserver () { files=$(cd $host_dir ; file * | grep Hash | cut -d: -f 1) for file in $files; do (cd $host_dir && mv $file ${file}-foreign) - /usr/lib/rpm/rpmdb_dump $host_dir/${file}-foreign | vserver $VERBOSE $vserver exec /usr/lib/rpm/rpmdb_load $guest_dir/$file + /usr/lib/rpm/rpmdb_dump $host_dir/${file}-foreign | $personality vserver $VERBOSE $vserver exec /usr/lib/rpm/rpmdb_load $guest_dir/$file done + $personality vserver $VERBOSE $vserver exec rpm --rebuilddb return 0 } # try the simple way, if that fails try to cross fix the rpm hashes - $personality vserver $VERBOSE $vserver exec rpm --rebuilddb || translate_rpm_hashes $vserver + $personality vserver $VERBOSE $vserver exec rpm --rebuilddb || translate_rpm_hashes $personality $vserver fi # check if the vserver kernel is using VSERVER_DEVICE (vdevmap) support