kernel config: add initial support for config sets

Add support for a kernel config sets.  A series of versioned
configuration files from which we will select one config based on
the version of the kernel which we are building.

We define a set via the job configuration:

	job.config_set('kernel.default_config_set',
		[ 'http://somethere.or.other/configs/',
		  '2.6.1', '2.6.10', '2.6.8', '2.6.8-mm1' ])

Now when we select a kernel by version number the nearest preceeding
configuration will be selected.

Signed-off-by: Andy Whitcroft <apw@shadowen.org>


git-svn-id: http://test.kernel.org/svn/autotest/trunk@504 592f7852-d20e-0410-864c-8624ca9c26a4
diff --git a/client/bin/kernel.py b/client/bin/kernel.py
index 08092a7..de2b8a9 100755
--- a/client/bin/kernel.py
+++ b/client/bin/kernel.py
@@ -81,6 +81,15 @@
 			return
 
 		self.logfile.write('BASE: %s\n' % base_tree)
+
+		# Where we have direct version hint record that
+		# for later configuration selection.
+		shorthand = re.compile(r'^\d+\.\d+\.\d+')
+		if shorthand.match(base_tree):
+			self.base_tree_version = base_tree
+		else:
+			self.base_tree_version = None
+			
 		if os.path.exists(base_tree):
 			self.get_kernel_tree(base_tree)
 		else:
@@ -115,7 +124,8 @@
 		self.job.stdout.redirect(os.path.join(self.log_dir, 'stdout'))
 		self.set_cross_cc()
 		config = kernel_config.kernel_config(self.job, self.build_dir,
-			 self.config_dir, config_file, config_list, defconfig)
+			 self.config_dir, config_file, config_list,
+			 defconfig, self.base_tree_version)
 		self.job.stdout.restore()