vapt-get (2487B)
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 : ${UTIL_VSERVER_VARS:=/usr/lib/util-vserver/util-vserver-vars} 20 test -e "$UTIL_VSERVER_VARS" || { 21 echo $"Can not find util-vserver installation (the file '$UTIL_VSERVER_VARS' would be expected); aborting..." >&2 22 exit 1 23 } 24 . "$UTIL_VSERVER_VARS" 25 . "$_LIB_FUNCTIONS" 26 27 28 function showHelp() 29 { 30 echo \ 31 $"Usage: $0 <vserver-name> -- <params> 32 33 vserver-name can be the name of a running guest, or --running to run the command on all running guests. 34 35 params is the list of parameters to pass to the apt command that will be run in the guest. 36 37 Report bugs to <$PACKAGE_BUGREPORT>." 38 exit 0 39 } 40 41 function showVersion() 42 { 43 echo \ 44 $"vapt-get $PACKAGE_VERSION -- apt-get for vservers 45 This program is part of $PACKAGE_STRING 46 47 Copyright (C) 2006 Enrico Scholz 48 This program is free software; you may redistribute it under the terms of 49 the GNU General Public License. This program has absolutely no warranty." 50 exit 0 51 } 52 53 tmp=$(getopt -o +q --long help,version,debug,quiet,$VS_ALLVSERVERS_ARGS -n "$0" -- "$@") || exit 1 54 eval set -- "$tmp" 55 56 declare -a send_through vsomething_opts 57 58 while true; do 59 case "$1" in 60 (--help) showHelp $0 ;; 61 (--version) showVersion ;; 62 (--debug) send_through=( "${send_through[@]}" "$1" ); set -x;; 63 (--quiet|-q) send_through=( "${send_through[@]}" "$1" );; 64 (--) shift; break;; 65 (*) vsomething_opts=( "${vsomething_opts[@]}" "$1" );; 66 esac 67 shift 68 done 69 70 VSOMETHING_TITLE=vapt-get 71 VSOMETHING_WORKER=$_VAPT_GET_WORKER 72 VSOMETHING_PKGMGMT=1 73 74 export VSOMETHING_TITLE VSOMETHING_WORKER VSOMETHING_PKGMGMT 75 76 test ${#vsomething_opts[@]} -eq 0 || vsomething_opts=( "${vsomething_opts[@]}" -- ) 77 exec $_VSOMETHING "${send_through[@]}" ${APT_GET:-apt-get} "${vsomething_opts[@]}" "$@"