-
Notifications
You must be signed in to change notification settings - Fork 3
/
builder.py
27 lines (24 loc) · 896 Bytes
/
builder.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
import os
import shutil
import subprocess
import configtest
class Builder:
def __init__(self, config, builddir, buildlog):
self.config = config
self.builddir = builddir
self.buildlog = buildlog
self.fbuildlog = open(buildlog, "w+")
def build(self):
f = open(os.path.join(self.builddir, ".config"), "w+")
f.write(self.config)
f.close()
cmd = ["make", "-C", configtest.srcdir, "O=%s" % self.builddir, "olddefconfig"]
ret = subprocess.call(cmd, stdout=self.fbuildlog, stderr=self.fbuildlog)
if ret != 0:
raise SystemError("Cannot olddefconfig")
cmd = ["make", "-C", self.builddir]
ret = subprocess.call(cmd, stdout=self.fbuildlog, stderr=self.fbuildlog)
if ret != 0:
raise SystemError("Build failed")
def delete(self):
shutil.rmtree(self.builddir)