Fix up rpm_kernel to have a boot method, and provide a sample file
        
Pull in Steve's fix for the repeated kernel entries, seems to work fine

Signed-off-by: Martin J. Bligh <mbligh@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@831 592f7852-d20e-0410-864c-8624ca9c26a4
diff --git a/client/bin/kernel.py b/client/bin/kernel.py
index 960b483..11e79b7 100755
--- a/client/bin/kernel.py
+++ b/client/bin/kernel.py
@@ -602,6 +602,7 @@
 
 	def __init__(self, job, rpm_package, results_dir):
 		self.job = job
+		self.installed = False
 		self.rpm_package = rpm_package
 		self.log_dir = os.path.join(results_dir, 'debug')
 		if os.path.exists(self.log_dir):
@@ -642,7 +643,8 @@
 
 		# get version and release number
 		self.version, self.release = system_output(
-			'rpm --queryformat="%{VERSION}\\n%{RELEASE}" -q ' + rpm_name).splitlines()
+			'rpm --queryformat="%{VERSION}\\n%{RELEASE}\\n" -q ' + rpm_name).splitlines()[0:2]
+		self.installed = True
 
 
 	def add_to_bootloader(self, tag='autotest', args=''):
@@ -671,3 +673,16 @@
 
 		# add the kernel entry
 		self.job.bootloader.add_kernel(self.image, tag, self.initrd, args = args, root = root)
+
+
+	def boot(self, args=''):
+		# Check if the kernel has been installed, if not install
+		# as the default tag and boot that.
+		if not self.installed:
+			self.install()
+
+		# Boot the selected tag.
+		self.add_to_bootloader(args=args)
+
+		# Boot it.
+		self.job.reboot()