ktest: Add PRE_INSTALL option
Steven Rostedt [Thu, 19 Jul 2012 19:22:05 +0000 (15:22 -0400)]
Add the PRE_INSTALL option that will allow a user to specify a shell
command to be executed before the install operation executes.

Signed-off-by: Steven Rostedt <rostedt@goodmis.org>

tools/testing/ktest/ktest.pl
tools/testing/ktest/sample.conf

index 31b9416..e91702e 100755 (executable)
@@ -106,6 +106,7 @@ my $grub_menu;
 my $grub_number;
 my $target;
 my $make;
+my $pre_install;
 my $post_install;
 my $no_install;
 my $noclean;
@@ -225,6 +226,7 @@ my %option_map = (
     "ADD_CONFIG"               => \$addconfig,
     "REBOOT_TYPE"              => \$reboot_type,
     "GRUB_MENU"                        => \$grub_menu,
+    "PRE_INSTALL"              => \$pre_install,
     "POST_INSTALL"             => \$post_install,
     "NO_INSTALL"               => \$no_install,
     "REBOOT_SCRIPT"            => \$reboot_script,
@@ -1669,6 +1671,12 @@ sub install {
 
     return if ($no_install);
 
+    if (defined($pre_install)) {
+       my $cp_pre_install = eval_kernel_version $pre_install;
+       run_command "$cp_pre_install" or
+           dodie "Failed to run pre install";
+    }
+
     my $cp_target = eval_kernel_version $target_image;
 
     run_scp_install "$outputdir/$build_target", "$cp_target" or
index 4472452..19754e0 100644 (file)
 # (default "")
 #BUILD_OPTIONS = -j20
 
+# If you need to do some special handling before installing
+# you can add a script with this option.
+# The environment variable KERNEL_VERSION will be set to the
+# kernel version that is used.
+#
+# default (undefined)
+#PRE_INSTALL = ssh user@target rm -rf '/lib/modules/*-test*'
+
 # If you need an initrd, you can add a script or code here to install
 # it. The environment variable KERNEL_VERSION will be set to the
 # kernel version that is used. Remember to add the initrd line