]> rtime.felk.cvut.cz Git - linux-conf-perf.git/blob - scripts/kernel.py
Fix bug in configurations loading
[linux-conf-perf.git] / scripts / kernel.py
1 import os
2 import sys
3 import subprocess
4 import shutil
5
6 from conf import conf
7 from conf import sf
8 import exceptions
9 import utils
10
11 def config(cfile):
12         wd = os.getcwd()
13         infile = os.path.join(sf(conf.configurations_folder), cfile)
14         os.chdir(sf(conf.linux_sources))
15         try:
16                 utils.callsubprocess('write_config', [sf(conf.write_config), infile],
17                         conf.kernel_config_output, env=utils.get_kernel_env())
18         except exceptions.ProcessFailed:
19                 raise exceptions.ConfigurationError("some configs mismatch")
20         os.chdir(wd)
21
22 #def config_noprogram():
23 #       # Executing old linux config
24 #       env = dict(os.environ)
25 #       wd = os.getcwd()
26 #       os.chdir(sf(conf.linux_sources))
27 #       if conf.kernel_config_output:
28 #               sprc = subprocess.call('yes "" | make oldconfig', shell=True,
29 #                       env=utils.get_kernel_env())
30 #       else:
31 #               sprc = subprocess.call('yes "" | make oldconfig', shell=True,
32 #                       stdout=subprocess.DEVNULL, env=utils.get_kernel_env())
33 #       os.chdir(wd)
34
35 def make(confhash):
36         wd = os.getcwd()
37         os.chdir(sf(conf.linux_sources))
38         if conf.kernel_make_output:
39                 subprocess.call(conf.build_command, env=utils.get_kernel_env())
40         else:
41                 subprocess.call(conf.build_command, stdout=subprocess.DEVNULL,
42                                 env=utils.get_kernel_env())
43         jobimage = os.path.join(sf(conf.build_folder), confhash + '_linux.img')
44         shutil.move(sf(conf.linux_image), jobimage)
45         os.chdir(wd)
46         return confhash + '_linux.img'