]> git.ipfire.org Git - thirdparty/lxc.git/commitdiff
lxc-fedora.in
authorRamez Hanna <rhanna@informatiq.org>
Tue, 30 Aug 2011 22:20:09 +0000 (00:20 +0200)
committerDaniel Lezcano <dlezcano@fr.ibm.com>
Tue, 30 Aug 2011 22:20:09 +0000 (00:20 +0200)
* if not running on fedora host amd -R is not set, use fedora 14 as default
* trap SIGHUP SIGINT SIGTERM, and cleanup before exiting

Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
templates/lxc-fedora.in

index c166efbc03dfa50b42223a2d0301e45a90d88b77..48cb1c07d717db6b95755da941f082b18ce4e3ab 100644 (file)
@@ -316,8 +316,7 @@ if [ -z "$release" ]; then
     if [ "$is_fedora" ]; then
         release=$(cat /etc/fedora-release |awk '/^Fedora/ {print $3}')
     else
-        echo "This is not a fedora host and release missing, use -R|--release to specify release"
-        exit 1
+        echo "This is not a fedora host and release missing, defaulting to 14. use -R|--release to specify release"
     fi
 fi
 
@@ -326,6 +325,7 @@ if [ "$(id -u)" != "0" ]; then
     exit 1
 fi
 
+
 rootfs_path=$path/$name/rootfs
 config_path=$default_path/$name
 cache=$cache_base/$release
@@ -335,6 +335,25 @@ if [ -f $config_path/config ]; then
     exit 1
 fi
 
+revert()
+{
+    echo "Interrupted, so cleaning up"
+    lxc-destroy -n $name
+    # maybe was interrupted before copy config
+    rm -rf $path/$name
+    rm -rf $default_path/$name
+    echo "exiting..."
+    exit 1
+}
+
+trap revert SIGHUP SIGINT SIGTERM
+
+copy_configuration
+if [ $? -ne 0 ]; then
+    echo "failed write configuration file"
+    exit 1
+fi
+
 install_fedora
 if [ $? -ne 0 ]; then
     echo "failed to install fedora"
@@ -347,11 +366,6 @@ if [ $? -ne 0 ]; then
     exit 1
 fi
 
-copy_configuration
-if [ $? -ne 0 ]; then
-    echo "failed write configuration file"
-    exit 1
-fi
 
 if [ ! -z $clean ]; then
     clean || exit 1