X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=vbuild-init-vserver.sh;h=797bbf68d25d5c1727ee014459ba525cd4d4aec2;hb=fa44546e820334e76a3138e06d5992e9da8be103;hp=9098ce9a4fc7d84d167305751132a7236943aa26;hpb=79e6d6b13ccc901428f1992cd9d6c1b50a673472;p=build.git diff --git a/vbuild-init-vserver.sh b/vbuild-init-vserver.sh index 9098ce9a..797bbf68 100755 --- a/vbuild-init-vserver.sh +++ b/vbuild-init-vserver.sh @@ -234,14 +234,14 @@ function setup_vserver () { # + exec /usr/sbin/vspace --mount --fs --new -- /usr/sbin/vserver ----nonamespace debuild09 start # fakerunlevel: open("/var/run/utmp"): No such file or directory # so instead we bluntly create empty dirs and hope for the best - if [ "$pkg_method" = "debootstrap" ] ; then +# if [ "$pkg_method" = "debootstrap" ] ; then [ -h /vservers/$vserver/var/run ] && [ ! -d /vservers/$vserver/var/run ] && \ # { rm -f /vservers/$vserver/var/run ; ln -s ../run /vservers/$vserver/var/run ; } { rm -f /vservers/$vserver/var/run ; mkdir /vservers/$vserver/var/run ; } [ -h /vservers/$vserver/var/lock ] && [ ! -d /vservers/$vserver/var/lock ] && \ # { rm -f /vservers/$vserver/var/lock ; ln -s ../run/lock /vservers/$vserver/var/lock ; } { rm -f /vservers/$vserver/var/lock ; mkdir /vservers/$vserver/var/lock ; } - fi +# fi # start the vserver so we can do the following operations # redirect out/err to protect against the vserver's init sequence getting stalled @@ -290,6 +290,7 @@ function setup_vserver () { # set up resolv.conf cp /etc/resolv.conf /vservers/$vserver/etc/resolv.conf + cp /etc/resolv.conf /vservers/$vserver/etc/resolv.conf.preserve # and /etc/hosts for at least localhost [ -f /vservers/$vserver/etc/hosts ] || echo "127.0.0.1 localhost localhost.localdomain" > /vservers/$vserver/etc/hosts @@ -330,9 +331,20 @@ function devel_or_vtest_tools () { $personality vserver $vserver exec rpm -aq > /vservers/$vserver/init-vserver.rpms ;; debootstrap) + # for ubuntu + if grep -iq ubuntu /vservers/$vserver/etc/lsb-release 2> /dev/null; then + # on ubuntu, at this point we end up with a single feed in /etc/apt/sources.list + # we need at least to add the 'universe' feed for python-rpm + ( cd /vservers/$vserver/etc/apt ; head -1 sources.list | sed -e s,main,universe, > sources.list.d/universe.list ) + # also adding a link to updates sounds about right + ( cd /vservers/$vserver/etc/apt ; head -1 sources.list | sed -e 's, main,-updates main,' > sources.list.d/updates.list ) + fi $personality vserver $vserver exec apt-get update - # handle this one firt off to be sure + # ignore result because that one failed on precise +sc $personality vserver $vserver exec apt-get -y upgrade ||: + # handle this one firt off to be sure; mostly cosmetic but avoid a huge amount of warnings $personality vserver $vserver exec apt-get install -y locales + # install required packages # all in a single batch [ -n "$packages" ] && $personality vserver $vserver exec apt-get install -y --ignore-missing $packages || : # of course, on ubuntu apt-get --ignore-missing .. does not ignore missing packages !