[cig-commits] r18434 - cs/buildbot/trunk/buildbot/scripts
brad at geodynamics.org
brad at geodynamics.org
Mon May 23 08:09:37 PDT 2011
Author: brad
Date: 2011-05-23 08:09:36 -0700 (Mon, 23 May 2011)
New Revision: 18434
Modified:
cs/buildbot/trunk/buildbot/scripts/packager.py
Log:
Updated packaging. Perform exclude on packing list and write packing list to file.
Modified: cs/buildbot/trunk/buildbot/scripts/packager.py
===================================================================
--- cs/buildbot/trunk/buildbot/scripts/packager.py 2011-05-23 14:37:38 UTC (rev 18433)
+++ cs/buildbot/trunk/buildbot/scripts/packager.py 2011-05-23 15:09:36 UTC (rev 18434)
@@ -16,12 +16,14 @@
fullNames.append(os.path.join(dirpath, f))
return fullNames
+
def filterList(l, excludes):
import re, functools, operator
pats = [re.compile(ex) for ex in excludes]
return [i for i in l if not functools.reduce(operator.or_, [bool(pat.match(i)) for pat in pats])]
+
class PackingList(object):
def __init__(self, config, opSys, python):
@@ -37,18 +39,18 @@
self.programs = []
for d in binDirs:
self.programs.extend(walkDirTree(d))
+ filterList(self.programs, config.packaging.exlude)
self.libraries = []
for d in libDirs:
self.libraries.extend(walkDirTree(d))
+ filterList(self.libraries, config.packaging.exlude)
- if opSys == "darwin" or opSys == "linux":
- self.misc = ["setup.sh"]
- else:
- self.misc = []
+ self.misc = []
for d in miscDirs:
self.misc.extend(walkDirTree(d))
-
+ filterList(self.misc, config.packaging.exlude)
+
# Scripts are application specific.
self.scripts = []
for s in config.packaging.scripts:
@@ -676,19 +678,14 @@
os.system("rm " + distdir_arch)
os.system("ln -s " + prefix + " " + distdir_arch)
- # Can't list all files (length exceeds limits), so use directories
- packingList = [distdir_arch + "/" + m for m in pl.directories]
- packingList.extend([distdir_arch + "/" + m for m in pl.extraFiles])
+ # Write packing list to file
+ plfile = open("tar_list", "w")
+ plfile.write(distdir_arch + "/" + m for m in pl.files())
+ plfile.close()
- # Create list of files to exclude
- fexclude = open("tar_exclude", "w")
- for f in config.packaging.exclude:
- fexclude.write(f+"\n")
- fexclude.close()
-
archive = distdir_arch + ".tar.gz"
taggedArchive = tag + "-" + archive
- status = os.system("tar cvzf " + archive + " -X tar_exclude " + " ".join(packingList))
+ status = os.system("tar cvzf " + archive + " -T tar_list")
if status != 0:
sys.exit("tar: exit %d" % status)
More information about the CIG-COMMITS
mailing list