Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey Sharybin <sergey.vfx@gmail.com>2015-12-03 20:10:59 +0300
committerSergey Sharybin <sergey.vfx@gmail.com>2015-12-03 20:10:59 +0300
commitdc0c6489142d8328d9236c847e5a3d183626e3af (patch)
tree3117f5b46c741a305ed6078bd9806ca4c97da7a6 /build_files/buildbot
parent23c670ea0d51743d194dce1aaed0d81d48b2edf2 (diff)
Buildbot: User proper folder name inside of the archive
This is totally matching the way how buildbot was naming the directory. Currently there's a bit of code duplication, but it'll be eliminated once we'll get rid of SCons ;)
Diffstat (limited to 'build_files/buildbot')
-rw-r--r--build_files/buildbot/slave_pack.py31
1 files changed, 25 insertions, 6 deletions
diff --git a/build_files/buildbot/slave_pack.py b/build_files/buildbot/slave_pack.py
index 4b0d1385ccb..8adfe7ee681 100644
--- a/build_files/buildbot/slave_pack.py
+++ b/build_files/buildbot/slave_pack.py
@@ -64,6 +64,23 @@ if not os.path.exists(install_dir):
os.makedirs(install_dir)
+def create_tar_bz2(src, dest, package_name):
+ # One extra to remove leading os.sep when cleaning root for package_root
+ ln = len(src) + 1
+ flist = list()
+
+ # Create list of tuples containing file and archive name
+ for root, dirs, files in os.walk(src):
+ package_root = os.path.join(package_name, root[ln:])
+ flist.extend([(os.path.join(root, file), os.path.join(package_root, file)) for file in files])
+
+ import tarfile
+ package = tarfile.open(dest, 'w:bz2')
+ for entry in flist:
+ package.add(entry[0], entry[1], recursive=False)
+ package.close()
+
+
# scons does own packaging
if builder.find('scons') != -1:
python_bin = 'python'
@@ -222,16 +239,18 @@ else:
os.system('chmod 755 %s' % (os.path.join(install_dir, 'blender-softwaregl')))
# Construct archive name
- upload_filename = 'blender-%s-%s-linux-%s-%s.tar.bz2' % (blender_version,
- blender_hash,
- blender_glibc,
- blender_arch)
+ package_name = 'blender-%s-%s-linux-%s-%s' % (blender_version,
+ blender_hash,
+ blender_glibc,
+ blender_arch)
if branch != '':
- upload_filename = branch + "-" + upload_filename
+ package_name = branch + "-" + package_name
+
+ upload_filename = package_name + ".tar.bz2"
print("Creating .tar.bz2 archive")
- os.system('tar -C../install -cjf ../install/%s.tar.bz2 %s' % (builder, builder))
upload_filepath = install_dir + '.tar.bz2'
+ create_tar_bz2(install_dir, upload_filepath, package_name)
if upload_filepath is None: