vshost-util-vserver

Build script and sources for util-vserver.
git clone https://ccx.te2000.cz/git/vshost-util-vserver
Log | Files | Refs

vyum-worker (2482B)


      1 #! /bin/bash
      2 # $Id$
      3 
      4 # Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
      5 #  
      6 # This program is free software; you can redistribute it and/or modify
      7 # it under the terms of the GNU General Public License as published by
      8 # the Free Software Foundation; version 2 of the License.
      9 #  
     10 # This program is distributed in the hope that it will be useful,
     11 # but WITHOUT ANY WARRANTY; without even the implied warranty of
     12 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     13 # GNU General Public License for more details.
     14 #  
     15 # You should have received a copy of the GNU General Public License
     16 # along with this program; if not, write to the Free Software
     17 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
     18 
     19 set -e
     20 
     21 : ${UTIL_VSERVER_VARS:=/usr/lib/util-vserver/util-vserver-vars}
     22 test -e "$UTIL_VSERVER_VARS" || {
     23     echo $"Can not find util-vserver installation (the file '$UTIL_VSERVER_VARS' would be expected); aborting..." >&2
     24     exit 1
     25 }
     26 . "$UTIL_VSERVER_VARS"
     27 . "$_LIB_FUNCTIONS"
     28 
     29 vserver=$1
     30 shift
     31 
     32 pkgInit "$vserver" rpm yum
     33 rpmFake.init "$vserver"
     34 
     35 test -z "$_YUM" || {
     36     warning $"The environment variable \$_YUM is not supported anymore; please use \$YUM instead of"
     37     ${YUM:=$_YUM}
     38 }
     39 
     40 function check(){
     41     python -c "$1" &>/dev/null || {
     42 	warning "\
     43 You are using a version of yum which is insecure and broken in chroot
     44 related operations; either apply the patches shipped in the 'contrib/'
     45 directory of util-vserver, or ask the author of yum to apply them
     46 (preferred).
     47 
     48 In the meantime, 'vyum' will continue with dirty hacks which might not
     49 work when the vserver is running and local DOS attacks are possible.
     50 
     51 Execution will continue in 5 seconds..."
     52 	sleep 5
     53 	conf=yum-hack.conf
     54     }
     55 }
     56 
     57 yum=${YUM:-yum}
     58 conf=yum.conf
     59 case $(python -c "import yum; print yum.__version__" 2>/dev/null) in
     60     (2.[012345]*)
     61 	check 'import yum,sys; sys.exit(not hasattr(yum.config.yumconf, "getRootedPath"))'
     62 	;;
     63     (2.[6789]*|3.[0124]*)
     64 	check 'import yum,sys; sys.exit(not hasattr(yum.config.YumConf, "getRootedPath"))'
     65 	;;
     66     (*)
     67 	warning "\
     68 You are using a version of yum which current status is unknown to vyum.
     69 
     70 Just to be sure, 'vyum' will use dirty hacks which might not work when
     71 the vserver is running and local DOS attacks are possible.
     72 
     73 Execution will continue in 5 seconds..."
     74 	sleep 5
     75 	conf=yum-hack.conf
     76 	;;
     77 esac
     78 
     79 rpmFake.exec $yum \
     80     -c "$YUMETCDIR/${YUM_CONF:-$conf}" \
     81     --installroot="$VDIR" \
     82     "$@"