Skip to content

Instantly share code, notes, and snippets.

@rail
Created November 29, 2012 20:10
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save rail/4171578 to your computer and use it in GitHub Desktop.
Save rail/4171578 to your computer and use it in GitHub Desktop.
scripts/b2g_build.py | 26 +++++++++++++-------------
1 file changed, 13 insertions(+), 13 deletions(-)
diff --git a/scripts/b2g_build.py b/scripts/b2g_build.py
index e965263..87c4ce8 100644
--- a/scripts/b2g_build.py
+++ b/scripts/b2g_build.py
@@ -153,27 +153,27 @@ class B2GBuild(MockMixin, BaseScript, VCSMixin, TooltoolMixin, TransferMixin,
else:
return os.path.basename(self.query_repo())
def query_buildid(self):
dirs = self.query_abs_dirs()
platform_ini = os.path.join(dirs['work_dir'], 'out', 'target',
'product', self.config['target'], 'system',
'b2g', 'platform.ini')
- data = open(platform_ini).read()
+ data = self.read_from_file(platform_ini)
buildid = re.search("^BuildID=(\d+)$", data, re.M)
if buildid:
return buildid.group(1)
def query_version(self):
dirs = self.query_abs_dirs()
application_ini = os.path.join(dirs['work_dir'], 'out', 'target',
'product', self.config['target'],
'system', 'b2g', 'application.ini')
- data = open(application_ini).read()
+ data = self.read_from_file(application_ini)
version = re.search("^Version=(.+)$", data, re.M)
if version:
return version.group(1)
def query_revision(self):
if 'revision' in self.buildbot_properties:
return self.buildbot_properties['revision']
@@ -237,33 +237,33 @@ class B2GBuild(MockMixin, BaseScript, VCSMixin, TooltoolMixin, TransferMixin,
if retval is None:
self.fatal("failed to download gonk", exit_code=2)
def unpack_gonk(self):
dirs = self.query_abs_dirs()
mtime = int(os.path.getmtime(os.path.join(dirs['abs_work_dir'], 'gonk.tar.xz')))
mtime_file = os.path.join(dirs['abs_work_dir'], '.gonk_mtime')
try:
- prev_mtime = int(open(mtime_file).read())
+ prev_mtime = int(self.read_from_file(mtime_file))
if mtime == prev_mtime:
self.info("We already have this gonk unpacked; skipping")
return
except:
pass
retval = self.run_command(["tar", "xf", "gonk.tar.xz", "--strip-components", "1"], cwd=dirs['work_dir'])
if retval != 0:
self.fatal("failed to unpack gonk", exit_code=2)
# output our sources.xml
self.run_command(["cat", "sources.xml"], cwd=dirs['work_dir'])
self.info("Writing %s to %s" % (mtime, mtime_file))
- open(mtime_file, "w").write(str(mtime))
+ self.write_to_file(mtime_file, str(mtime))
def checkout_gaia(self):
dirs = self.query_abs_dirs()
gecko_config = self.load_gecko_config()
if 'gaia' in gecko_config:
dest = os.path.join(dirs['abs_work_dir'], 'gaia')
repo = gecko_config['gaia']['repo']
vcs = gecko_config['gaia']['vcs']
@@ -279,19 +279,19 @@ class B2GBuild(MockMixin, BaseScript, VCSMixin, TooltoolMixin, TransferMixin,
env.update(gecko_config.get('env', {}))
if self.config['ccache']:
env['CCACHE_BASEDIR'] = dirs['work_dir']
# TODO: make sure we pass MOZ_BUILD_DATE
# Write .userconfig to point to the correct object directory for gecko
# Normally this is embedded inside the .config file included with the snapshot
- user_config = open(os.path.join(dirs['work_dir'], '.userconfig'), 'w')
- user_config.write("GECKO_OBJDIR=%s/objdir-gecko\n" % dirs['work_dir'])
- user_config.close()
+ self.write_to_file(
+ os.path.join(dirs['work_dir'], '.userconfig'),
+ "GECKO_OBJDIR=%s/objdir-gecko\n" % dirs['work_dir'])
if 'mock_target' in gecko_config:
# initialize mock
self.setup_mock(gecko_config['mock_target'], gecko_config['mock_packages'], gecko_config.get('mock_files'))
if self.config['ccache']:
self.run_mock_command(gecko_config['mock_target'], 'ccache -z', cwd=dirs['work_dir'], env=env)
retval = self.run_mock_command(gecko_config['mock_target'], cmd, cwd=dirs['work_dir'], env=env, error_list=B2GMakefileErrorList)
@@ -319,19 +319,19 @@ class B2GBuild(MockMixin, BaseScript, VCSMixin, TooltoolMixin, TransferMixin,
env.update(gecko_config.get('env', {}))
if self.config['ccache']:
env['CCACHE_BASEDIR'] = dirs['work_dir']
# TODO: make sure we pass MOZ_BUILD_DATE
# Write .userconfig to point to the correct object directory for gecko
# Normally this is embedded inside the .config file included with the snapshot
- user_config = open(os.path.join(dirs['work_dir'], '.userconfig'), 'w')
- user_config.write("GECKO_OBJDIR=%s/objdir-gecko\n" % dirs['work_dir'])
- user_config.close()
+ self.write_to_file(
+ os.path.join(dirs['work_dir'], '.userconfig'),
+ "GECKO_OBJDIR=%s/objdir-gecko\n" % dirs['work_dir'])
if 'mock_target' in gecko_config:
# initialize mock
self.setup_mock(gecko_config['mock_target'], gecko_config['mock_packages'], gecko_config.get('mock_files'))
retval = self.run_mock_command(gecko_config['mock_target'], cmd, cwd=dirs['work_dir'], env=env, error_list=B2GMakefileErrorList)
else:
retval = self.run_command(cmd, cwd=dirs['work_dir'], env=env, error_list=B2GMakefileErrorList)
@@ -358,19 +358,19 @@ class B2GBuild(MockMixin, BaseScript, VCSMixin, TooltoolMixin, TransferMixin,
gecko_config = self.load_gecko_config()
cmd = ['./build.sh', 'gecko-update-full']
env = self.query_env()
env.update(gecko_config.get('env', {}))
# Write .userconfig to point to the correct object directory for gecko
# Normally this is embedded inside the .config file included with the snapshot
# TODO: factor this out so it doesn't get run twice
- user_config = open(os.path.join(dirs['work_dir'], '.userconfig'), 'w')
- user_config.write("GECKO_OBJDIR=%s/objdir-gecko\n" % dirs['work_dir'])
- user_config.close()
+ self.write_to_file(
+ os.path.join(dirs['work_dir'], '.userconfig'),
+ "GECKO_OBJDIR=%s/objdir-gecko\n" % dirs['work_dir'])
if 'mock_target' in gecko_config:
# initialize mock
self.setup_mock(gecko_config['mock_target'], gecko_config['mock_packages'], gecko_config.get('mock_files'))
retval = self.run_mock_command(gecko_config['mock_target'], cmd, cwd=dirs['work_dir'], env=env, error_list=B2GMakefileErrorList)
else:
retval = self.run_command(cmd, cwd=dirs['work_dir'], env=env, error_list=B2GMakefileErrorList)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment