diff options
author | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2011-03-22 16:05:05 +0300 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2011-03-22 16:05:05 +0300 |
commit | 04a63cb3933dcf7d9a76805b9bf147c1c9dc6687 (patch) | |
tree | a5fef29a0e91c5554a14bf14d6919092a513b861 /build_files/buildbot/master_unpack.py | |
parent | 5528781f793f0878a85f046c03f88b66adb4dd02 (diff) |
Buildbot updates: working windows scons build, and run slave_*.py scripts
to compile/test/package directly from svn, easier to make changes this way.
Diffstat (limited to 'build_files/buildbot/master_unpack.py')
-rw-r--r-- | build_files/buildbot/master_unpack.py | 99 |
1 files changed, 49 insertions, 50 deletions
diff --git a/build_files/buildbot/master_unpack.py b/build_files/buildbot/master_unpack.py index 8580fd3d6d6..2c2bc1898b2 100644 --- a/build_files/buildbot/master_unpack.py +++ b/build_files/buildbot/master_unpack.py @@ -18,69 +18,67 @@ # Runs on Buildbot master, to unpack incoming unload.zip into latest # builds directory and remove older builds. - + import os import shutil import sys import zipfile - # extension stripping def strip_extension(filename): - extensions = ['.zip', '.tar', '.bz2', '.gz', '.tgz', '.tbz', '.exe'] + extensions = ['.zip', '.tar', '.bz2', '.gz', '.tgz', '.tbz', '.exe'] - for ext in extensions: - if filename.endswith(ext): - filename = filename[:-len(ext)] - - return filename + for ext in extensions: + if filename.endswith(ext): + filename = filename[:-len(ext)] + return filename # extract platform from package name def get_platform(filename): - # name is blender-version-platform.extension. we want to get the - # platform out, but there may be some variations, so we fiddle a - # bit to handle current and hopefully future names - filename = strip_extension(filename) - filename = strip_extension(filename) + # name is blender-version-platform.extension. we want to get the + # platform out, but there may be some variations, so we fiddle a + # bit to handle current and hopefully future names + filename = strip_extension(filename) + filename = strip_extension(filename) - tokens = filename.split("-") - platforms = ['osx', 'mac', 'bsd', 'windows', 'linux', 'source', 'irix', 'solaris'] - platform_tokens = [] - found = False + tokens = filename.split("-") + platforms = ['osx', 'mac', 'bsd', 'win', 'linux', 'source', 'irix', 'solaris'] + platform_tokens = [] + found = False - for i, token in enumerate(tokens): - if not found: - for platform in platforms: - if token.lower().find(platform) != -1: - found = True + for i, token in enumerate(tokens): + if not found: + for platform in platforms: + if token.lower().find(platform) != -1: + found = True - if found: - platform_tokens += [token] + if found: + platform_tokens += [token] - return '-'.join(platform_tokens) + return '-'.join(platform_tokens) # get filename if len(sys.argv) < 2: - sys.stderr.write("Not enough arguments, expecting file to unpack\n") - sys.exit(1) + sys.stderr.write("Not enough arguments, expecting file to unpack\n") + sys.exit(1) filename = sys.argv[1] # open zip file if not os.path.exists(filename): - sys.stderr.write("File " + filename + " not found.\n") - sys.exit(1) + sys.stderr.write("File " + filename + " not found.\n") + sys.exit(1) try: - z = zipfile.ZipFile(filename, "r") + z = zipfile.ZipFile(filename, "r") except Exception, ex: - sys.stderr.write('Failed to open zip file: ' + str(ex) + '\n') - sys.exit(1) + sys.stderr.write('Failed to open zip file: ' + str(ex) + '\n') + sys.exit(1) if len(z.namelist()) != 1: - sys.stderr.write("Expected on file in " + filename + ".") - sys.exit(1) + sys.stderr.write("Expected on file in " + filename + ".") + sys.exit(1) package = z.namelist()[0] packagename = os.path.basename(package) @@ -89,30 +87,31 @@ packagename = os.path.basename(package) platform = get_platform(packagename) if platform == '': - sys.stderr.write('Failed to detect platform from package: ' + packagename + '\n') - sys.exit(1) + sys.stderr.write('Failed to detect platform from package: ' + packagename + '\n') + sys.exit(1) # extract -dir = 'public_html/latest_builds' +dir = 'public_html/download' try: - zf = z.open(package) - f = file(os.path.join(dir, packagename), "wb") + zf = z.open(package) + f = file(os.path.join(dir, packagename), "wb") - shutil.copyfileobj(zf, f) + shutil.copyfileobj(zf, f) - zf.close() - z.close() + zf.close() + z.close() except Exception, ex: - sys.stderr.write('Failed to unzip package: ' + str(ex) + '\n') - sys.exit(1) + sys.stderr.write('Failed to unzip package: ' + str(ex) + '\n') + sys.exit(1) # remove other files from the same platform try: - for f in os.listdir(dir): - if f.lower().find(platform.lower()) != -1: - if f != packagename: - os.remove(os.path.join(dir, f)) + for f in os.listdir(dir): + if f.lower().find(platform.lower()) != -1: + if f != packagename: + os.remove(os.path.join(dir, f)) except Exception, ex: - sys.stderr.write('Failed to remove old packages: ' + str(ex) + '\n') - sys.exit(1) + sys.stderr.write('Failed to remove old packages: ' + str(ex) + '\n') + sys.exit(1) + |