#!/bin/bash
# -*-shell-*-
-# $Id$
#shopt -s huponexit
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
[ $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
function translate_rpm_hashes () {
set -x
set -e
+ local personality="$1"; shift
local vserver="$1"; shift
# need to have utilities installed
type -p file
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