08200038765f741937da1769a18b44d9915dd790
[util-vserver.git] / util-vserver / scripts / vapt-get
1 #! /bin/bash
2
3 # Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
4 #  
5 # This program is free software; you can redistribute it and/or modify
6 # it under the terms of the GNU General Public License as published by
7 # the Free Software Foundation; version 2 of the License.
8 #  
9 # This program is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12 # GNU General Public License for more details.
13 #  
14 # You should have received a copy of the GNU General Public License
15 # along with this program; if not, write to the Free Software
16 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
17
18 : ${UTIL_VSERVER_VARS:=$(dirname $0)/util-vserver-vars}
19 test -e "$UTIL_VSERVER_VARS" || {
20     echo "Can not find util-vserver installation; aborting..."
21     exit 1
22 }
23 . "$UTIL_VSERVER_VARS"
24 . "$_LIB_FUNCTIONS"
25
26 function showHelp()
27 {
28     echo "Usage: $0 <vserver-name>* [--all] -- <params>+"
29     exit $1
30 }
31
32 function showVersion()
33 {
34     cat <<EOF 
35 vapt-get 0.23.5 -- apt-get for vservers
36 Copyright (C) 2003 Enrico Scholz
37 This program is free software; you may redistribute it under the terms of
38 the GNU General Public License.  This program has absolutely no warranty.
39 EOF
40     exit $1
41 }
42
43 vservers=
44
45 while test "$#" -ge 1; do
46     case "$1" in
47         --all)
48             getAllVservers tmp
49             vservers="$vservers $tmp";;
50         --)
51             shift; break;;
52         --help)
53             showHelp 0;;
54         --version)
55             showVersion 0;;
56         *)  vservers="$vservers $1";;
57      esac
58      shift
59 done
60
61 test "$#" -ge 1 || showHelp 1 >&2
62
63 cnt=0
64 res=255
65 for i in $vservers; do
66     cnt=$[ cnt + 1 ]
67     _APT_GET=apt-get \
68     "$_NEW_NAMESPACE" "$_VAPT_GET_WORKER" "$i" "$@"
69     res=$?
70 done
71
72 test "$cnt" -ge 0 || echo "No vservers specified" >&2
73 exit $res