From 997165ff119fe7ffcfeb76ecb86ffb643f610ccc Mon Sep 17 00:00:00 2001 From: Chris Jones Date: Wed, 30 Jan 2013 18:24:24 +0000 Subject: [PATCH] Add option to clear environment This adds an option to disk-image-create that allows it to re-exec with an empty environment if required. Change-Id: I9e51aa07b903e18cdd0ed5f953800307f9899b5d --- bin/disk-image-create | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/bin/disk-image-create b/bin/disk-image-create index b9fd911b..a73e55e7 100755 --- a/bin/disk-image-create +++ b/bin/disk-image-create @@ -32,13 +32,14 @@ function show_options () { echo " -o filename -- set the name of the output file" echo " -x -- turn on tracing" echo " -u -- uncompressed; do not compress the image - larger but faster" + echo " -c -- clear environment before starting work" echo " -p package[,package,package] -- list of packages to install in the image" exit 0 } INSTALL_PACKAGES="" COMPRESS_IMAGE="true" -TEMP=`getopt -o a:ho:xup: -n $SCRIPTNAME -- "$@"` +TEMP=`getopt -o a:ho:xucp: -n $SCRIPTNAME -- "$@"` if [ $? != 0 ] ; then echo "Terminating..." >&2 ; exit 1 ; fi echo "XXX $TEMP" @@ -52,11 +53,19 @@ while true ; do -h) show_options;; -x) shift; set -x;; -u) shift; export COMPRESS_IMAGE="";; + -c) shift ; export CLEAR_ENV=1;; -p) IFS="," read -a INSTALL_PACKAGES <<< "$2"; export INSTALL_PACKAGES ; shift 2 ;; --) shift ; break ;; *) echo "Internal error!" ; exit 1 ;; esac done + +if [ "$CLEAR_ENV" == "1" -a "$HOME" != "" ]; then + echo "Re-execing to clear environment." + echo "(note this will prevent much of the local_config element from working)" + exec -c $0 "$@" +fi + for arg do IMAGE_ELEMENT="$IMAGE_ELEMENT $arg" ; done source $_LIB/img-defaults