[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

[Libguestfs] [PATCH] customize: firstboot: make sure to run Linux scripts only once



If a script does not finish, hangs, etc, it would be executed again at
the next boot, since the injected firstboot.sh helper removes it only
after it finished.

Since firstboot.sh only runs executable files, then remove the
executable attributes before running it, so it will not run again.
Also, remove any file found in the scripts subdirectory, be it just run
or run in a previous boot.

This fixes RHBZ#1159651.
---
 customize/firstboot.ml | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/customize/firstboot.ml b/customize/firstboot.ml
index 67b9479..5f68a2e 100644
--- a/customize/firstboot.ml
+++ b/customize/firstboot.ml
@@ -57,10 +57,13 @@ then
   for f in $d/* ; do
     if test -x \"$f\"
     then
+      # remove +x from the script being executed, so it is not
+      # executed again at the next boot
+      chmod -x $f
       echo '=== Running' $f '===' 2>&1 | tee $logfile
-      $f 2>&1 | tee $logfile
-      rm -f $f
+      sh $f 2>&1 | tee $logfile
     fi
+    rm -f $f
   done
 fi
 " firstboot_dir
-- 
1.9.3


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]