[Bf-blender-cvs] [a260fe0] buildbot_linux_cmake: Buildbot: Avoid subprocess call to get build info
Sergey Sharybin
noreply at git.blender.org
Wed Dec 2 13:50:40 CET 2015
Commit: a260fe04478d1d901c2f5e8e03f8f8f94d6dd614
Author: Sergey Sharybin
Date: Wed Dec 2 17:50:20 2015 +0500
Branches: buildbot_linux_cmake
https://developer.blender.org/rBa260fe04478d1d901c2f5e8e03f8f8f94d6dd614
Buildbot: Avoid subprocess call to get build info
===================================================================
M build_files/buildbot/slave_pack.py
===================================================================
diff --git a/build_files/buildbot/slave_pack.py b/build_files/buildbot/slave_pack.py
index 416f614..adc6a7f 100644
--- a/build_files/buildbot/slave_pack.py
+++ b/build_files/buildbot/slave_pack.py
@@ -156,12 +156,25 @@ else:
sys.exit(1)
elif builder.startswith('linux_'):
+ def parse_header_file(filename, define):
+ import re
+ regex = re.compile("^#\s*define\s+%s\s+(.*)" % define)
+ for l in open(filename, "r"):
+ match = regex.match(l)
+ if match:
+ return match.group(1)
+ return None
+
blender_dir = os.path.join('..', 'blender.git')
+ build_dir = os.path.join('..', 'build', builder)
install_dir = os.path.join('..', 'install', builder)
blender = os.path.join(install_dir, 'blender')
blenderplayer = os.path.join(install_dir, 'blenderplayer')
+ buildinfo_h = os.path.join(build_dir, "source", "creator", "buildinfo.h")
+ blender_h = os.path.join(blender_dir, "source", "blender", "blenkernel", "BKE_blender.h")
+
if builder.endswith('x86_64_cmake'):
chroot_name = 'buildbot_squeeze_x86_64'
bits = 64
@@ -191,14 +204,10 @@ else:
os.system('chmod 755 %s' % (os.path.join(install_dir, 'blender-softwaregl')))
# Get version information for the archive name
- lines = subprocess.check_output(chroot_prefix + [os.path.join(install_dir, 'blender'), '--version']).split("\n")
- blender_version = lines[0].split(' ')[1]
- blender_hash = 'UNKNOWN'
+ blender_version = int(parse_header_file(blender_h, 'BLENDER_VERSION'))
+ blender_version = "%d.%d" % (blender_version / 100, blender_version % 100)
+ blender_hash = parse_header_file(buildinfo_h, 'BUILD_HASH')[1:-1]
blender_glibc = builder.split('_')[1]
- for line in lines:
- line = line.strip()
- if line.startswith("build hash:"):
- blender_hash = line.split(' ')[-1]
upload_filename = 'blender-%s-%s-linux-%s-%s.tar.bz2' % (blender_version,
blender_hash,
More information about the Bf-blender-cvs
mailing list