From f4ee386e5318ab25081b428de3ea2981b2aa3aed Mon Sep 17 00:00:00 2001 From: Daniel Hokka Zakrisson Date: Tue, 12 Sep 2006 12:29:52 +0000 Subject: [PATCH] Add a delete method to remove guests, based on Thomas Champagne's patch. (https://savannah.nongnu.org/patch/?4899) git-svn-id: http://svn.linux-vserver.org/svn/util-vserver/trunk@2302 94cd875c-1c1d-0410-91d2-eb244daf1a30 --- contrib/manifest.dat.pathsubst | 1 + scripts/Makefile-files | 3 ++- scripts/vserver | 5 +++-- scripts/vserver.delete | 34 ++++++++++++++++++++++++++++++++++ 4 files changed, 40 insertions(+), 3 deletions(-) create mode 100644 scripts/vserver.delete diff --git a/contrib/manifest.dat.pathsubst b/contrib/manifest.dat.pathsubst index 906ac2f..d700696 100644 --- a/contrib/manifest.dat.pathsubst +++ b/contrib/manifest.dat.pathsubst @@ -18,6 +18,7 @@ base @PKGLIBDIR@/vserver.start @ENSC_HAVE_C99_COMPILER_TRUE@base @PKGLIBDIR@/vserver.start.bin base @PKGLIBDIR@/vserver.stop base @PKGLIBDIR@/vserver.suexec +base @PKGLIBDIR@/vserver.delete core @PKGLIBDIR@/util-vserver-vars build @PKGLIBDIR@/rpm-fake.so legacy @LEGACYDIR@/save_s_context diff --git a/scripts/Makefile-files b/scripts/Makefile-files index 20bfcb9..27aac8e 100644 --- a/scripts/Makefile-files +++ b/scripts/Makefile-files @@ -52,7 +52,8 @@ scripts_pkglib_src_DTA = scripts/functions \ scripts/vserver.functions \ scripts/vserver.start \ scripts/vserver.stop \ - scripts/vserver.suexec + scripts/vserver.suexec \ + scripts/vserver.delete scripts_pkglib_gen_DTA = scripts/util-vserver-vars diff --git a/scripts/vserver b/scripts/vserver index 84166e9..48e5120 100755 --- a/scripts/vserver +++ b/scripts/vserver @@ -57,6 +57,7 @@ Possible commands are: build * ... builds a new vserver from scratch + delete ... remove a vserver unify [-R] ... (de)unify vserver @@ -199,7 +200,7 @@ test "$2" != start -o -n "$OPTION_NONAMESPACE" || isAvoidNamespace "$VSERVER_DIR . $__PKGLIBDIR/vserver.functions case "$2" in - (start|stop) + (start|stop|delete) shift 2 . $__PKGLIBDIR/vserver.$cmd ;; @@ -271,7 +272,7 @@ case "$2" in fi ;; (*) - echo $"Usage: $0 {start|stop|suexec|restart|condrestart|exec|enter|chkconfig|running|status}" >&2 + echo $"Usage: $0 {start|stop|suexec|restart|condrestart|exec|enter|chkconfig|running|status|delete}" >&2 exit 2 ;; esac diff --git a/scripts/vserver.delete b/scripts/vserver.delete new file mode 100644 index 0000000..3151ef8 --- /dev/null +++ b/scripts/vserver.delete @@ -0,0 +1,34 @@ +#! /bin/bash +# $Id$ + +# Copyright (C) 2006 Enrico Scholz +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; version 2 of the License. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + +. "$_LIB_VSERVER_BUILD_FUNCTIONS" +. "$_LIB_VSERVER_BUILD_FUNCTIONS_PKGMGMT" + +if test -z "$OPTION_SILENT" ; then + read -p "Are you sure you want to delete the vserver $vserver (y/N) " deleteok + if [[ ${deleteok} != [Yy] ]]; then + exit 2 + fi +fi + +isVserverRunning "$VSERVER_DIR" && + "${SELF[@]}" $OPTION_SILENT --sync "$vserver" stop + +base.init +pkgmgmt.initVariables +rm -rf "`$_VSERVER_INFO "$vserver" VDIR 1`" "$VSERVER_DIR" "$PKGCFGDIR" -- 1.8.1.5