[cig-commits] r18028 - cs/buildbot/trunk/buildbot/scripts

brad at geodynamics.org brad at geodynamics.org
Thu Mar 3 19:01:20 PST 2011


Author: brad
Date: 2011-03-03 19:01:19 -0800 (Thu, 03 Mar 2011)
New Revision: 18028

Modified:
   cs/buildbot/trunk/buildbot/scripts/packager.py
Log:
Fixed some packager issues. Walk directory trees and only strip shared libraries.

Modified: cs/buildbot/trunk/buildbot/scripts/packager.py
===================================================================
--- cs/buildbot/trunk/buildbot/scripts/packager.py	2011-03-04 00:29:45 UTC (rev 18027)
+++ cs/buildbot/trunk/buildbot/scripts/packager.py	2011-03-04 03:01:19 UTC (rev 18028)
@@ -6,6 +6,18 @@
 from buildbot.meta import Config, getNamePackageAndVersion
 
 
+def walkDirTree(dirname):
+    """
+    Get list of files in tree under dirname.
+    """
+    (dirpath, dirs, files) = os.walk(dirname)
+    filenamesNames = []
+    for f in files:
+        fullNames.append(os.join(dirpath, f))
+    for d in dirs:
+        fullNames.extend(filesInTree(d))
+    return fullNames
+
 class PackingList(object):
     def __init__(self, config, opSys, python):
         
@@ -19,27 +31,18 @@
 
         self.programs = []
         for d in binDirs:
-            files = os.listdir(d)
-            for f in files:
-                self.programs.append(d+"/"+f)
-            
-        self.programs = []
-        for d in binDirs:
-            files = os.listdir(d)
-            for f in files:
-                self.programs.append(d+"/"+f)
+            self.programs.extend(walkDirTree(d))
 
         self.libraries = []
         for d in libDirs:
-            files = os.listdir(d)
-            for f in files:
-                self.libraries.append(d+"/"+f)
-
-        self.misc = ["setup.sh"]
+            self.libraries.extend(walkDirTree(d))
+            
+        if opSys == "darwin" or opSys == "linux":
+            self.misc = ["setup.sh"]
+        else:
+            self.misc = []
         for d in miscDirs:
-            files = os.listdir(d)
-            for f in files:
-                self.misc.append(d+"/"+f)
+            self.misc.extend(walkDirTree(d))
             
         # Scripts are application specific.
         self.scripts = []
@@ -48,7 +51,15 @@
             self.scripts.append(s)
 
         self.stripList = []
-        self.stripList.extend(self.libraries)
+        if opSys == "linux":
+            libSuffix = ".so"
+        elif opSys == "darwin":
+            libSuffix = ".dylib"
+        elif opSys == "win":
+            libSuffix = ".dll"
+        for l in self.libraries:
+            if l.endswith(libSuffix):
+                self.stripList.append(l)
 
         cig = [("CIG", "cig", "http://www.geodynamics.org/")]
         self.urls = cig + tupleUp(config.packaging.urls, 3)



More information about the CIG-COMMITS mailing list