Revision: 19238
          http://gar.svn.sourceforge.net/gar/?rev=19238&view=rev
Author:   chninkel
Date:     2012-09-19 21:00:37 +0000 (Wed, 19 Sep 2012)
Log Message:
-----------
some pep8 compliance fixes

Modified Paths:
--------------
    csw/mgar/gar/v2-yann/lib/python/dependency_checks.py
    csw/mgar/gar/v2-yann/lib/python/inspective_package.py

Modified: csw/mgar/gar/v2-yann/lib/python/dependency_checks.py
===================================================================
--- csw/mgar/gar/v2-yann/lib/python/dependency_checks.py        2012-09-19 
20:26:16 UTC (rev 19237)
+++ csw/mgar/gar/v2-yann/lib/python/dependency_checks.py        2012-09-19 
21:00:37 UTC (rev 19238)
@@ -39,22 +39,24 @@
 
 PREFERRED_DIRECTORY_PROVIDERS = set([u"CSWcommon"])
 
-BASE_SOLARIS_LIBRARIES = ( 
+BASE_SOLARIS_LIBRARIES = (
      "libsocket.so.1", "libnsl.so.1", "libdl.so.1", "librt.so.1", 
"libresolv.so.2", "libpthread.so.1",
      # linked by default with C++, see "Default C++ Libraries" in Solaris 
Studio C++ User'sGuide
-     "libCstd.so.1", "libCrun.so.1", "libm.so.1", "libm.so.2", "libw.so.1", 
"libcx.so.1", "libc.so.1", "libC.so.3", "libC.so.5"
+     "libCstd.so.1", "libCrun.so.1", "libm.so.1", "libm.so.2", "libw.so.1", 
"libcx.so.1", "libc.so.1", "libC.so.3", "libC.so.5",
 )
 
-ALLOWED_VERSION_DEPENDENCIES = { "libc.so.1": [ 'SYSVABI_1.3', 
'SUNWprivate_1.1', 'SUNW_1.22.6', 'SUNW_1.22.5', 
-                                                'SUNW_1.22.4', 'SUNW_1.22.3', 
'SUNW_1.22.2', 'SUNW_1.22.1', 
-                                                'SUNW_1.22', 'SUNW_1.21.3', 
'SUNW_1.21.2', 'SUNW_1.21.1', 
-                                                'SUNW_1.21', 'SUNW_1.20.4', 
'SUNW_1.20.1', 'SUNW_1.20', 
-                                                'SUNW_1.19', 'SUNW_1.18.1', 
'SUNW_1.18', 'SUNW_1.17', 
-                                                'SUNW_1.16', 'SUNW_1.15', 
'SUNW_1.14', 'SUNW_1.13', 
-                                                'SUNW_1.12', 'SUNW_1.11', 
'SUNW_1.10', 'SUNW_1.9', 
-                                                'SUNW_1.8', 'SUNW_1.7', 
'SUNW_1.6', 'SUNW_1.5', 
-                                                'SUNW_1.4', 'SUNW_1.3', 
'SUNW_1.2', 'SUNW_1.1', 
-                                                'SUNW_0.9', 'SUNW_0.8', 
'SUNW_0.7', 'SISCD_2.3' ] }
+ALLOWED_VERSION_DEPENDENCIES = {
+    "libc.so.1": ['SYSVABI_1.3', 'SUNWprivate_1.1', 'SUNW_1.22.6',
+                  'SUNW_1.22.5', 'SUNW_1.22.4', 'SUNW_1.22.3', 'SUNW_1.22.2',
+                  'SUNW_1.22.1', 'SUNW_1.22', 'SUNW_1.21.3', 'SUNW_1.21.2',
+                  'SUNW_1.21.1', 'SUNW_1.21', 'SUNW_1.20.4', 'SUNW_1.20.1',
+                  'SUNW_1.20', 'SUNW_1.19', 'SUNW_1.18.1', 'SUNW_1.18',
+                  'SUNW_1.17', 'SUNW_1.16', 'SUNW_1.15', 'SUNW_1.14',
+                  'SUNW_1.13', 'SUNW_1.12', 'SUNW_1.11', 'SUNW_1.10',
+                  'SUNW_1.9', 'SUNW_1.8', 'SUNW_1.7', 'SUNW_1.6', 'SUNW_1.5',
+                  'SUNW_1.4', 'SUNW_1.3', 'SUNW_1.2', 'SUNW_1.1', 'SUNW_0.9',
+                  'SUNW_0.8', 'SUNW_0.7', 'SISCD_2.3'],
+}
 
 
 def ProcessSoname(
@@ -173,8 +175,8 @@
         messenger.Message(
           "Binary %s links to library %s but doesn't seem to use any of its 
symbols. "
           "It usually happens because superfluous libraries were added to the 
linker options, "
-         "either because of the configure script itself or because of the 
\"pkg-config --libs\""
-         " output of one the dependency."
+          "either because of the configure script itself or because of the 
\"pkg-config --libs\""
+          " output of one the dependency."
           % ("/" + binary_info["path"], ldd_response['soname']))
         error_mgr.ReportError(
             pkgname, "soname-unused",
@@ -194,7 +196,7 @@
 
     if not_directly_binded:
       messenger.Message(
-       "No symbol of binary %s is directly binded against the following 
libraries: %s. "
+        "No symbol of binary %s is directly binded against the following 
libraries: %s. "
         "Please make sure the binaries are compiled using the \"-Bdirect\" 
linker option."
         % ("/" + binary_info["path"], ", ".join(not_directly_binded)))
       for soname in not_directly_binded:
@@ -204,18 +206,18 @@
 
 
     for version_dep in 
pkg_data["binaries_elf_info"][binary_info["path"]]['version needed']:
-      if (version_dep['soname'] in ALLOWED_VERSION_DEPENDENCIES and 
+      if (version_dep['soname'] in ALLOWED_VERSION_DEPENDENCIES and
         not version_dep['version'] in 
ALLOWED_VERSION_DEPENDENCIES[version_dep['soname']]):
         messenger.Message(
           "Binary %s requires interface version %s in library %s which is only 
available "
-         "in recent Solaris releases."
+          "in recent Solaris releases."
           % ("/" + binary_info["path"], version_dep['version'], 
version_dep['soname']))
         error_mgr.ReportError(
           pkgname, "forbidden-version-interface-dependencies",
-          "%s requires forbidden interface version %s in library %s" 
-         % ("/" + binary_info["path"], version_dep['version'], 
version_dep['soname']))
-           
-  
+          "%s requires forbidden interface version %s in library %s"
+          % ("/" + binary_info["path"], version_dep['version'], 
version_dep['soname']))
+
+
   orphan_sonames = set(orphan_sonames)
   for soname, binary_path in orphan_sonames:
     if soname not in ALLOWED_ORPHAN_SONAMES:

Modified: csw/mgar/gar/v2-yann/lib/python/inspective_package.py
===================================================================
--- csw/mgar/gar/v2-yann/lib/python/inspective_package.py       2012-09-19 
20:26:16 UTC (rev 19237)
+++ csw/mgar/gar/v2-yann/lib/python/inspective_package.py       2012-09-19 
21:00:37 UTC (rev 19238)
@@ -229,14 +229,13 @@
 
     return defined_symbols
 
-
   def GetBinaryElfInfo(self):
     """Returns various informations symbol and version present in elf header
 
-    To do this we parse output lines from elfdump -syv, it's the 
+    To do this we parse output lines from elfdump -syv, it's the
     only command that will give us all informations we need on symbols and 
versions.
     We will analyse 3 sections:
-     - version section: contains soname needed, version interface required for 
each soname, 
+     - version section: contains soname needed, version interface required for 
each soname,
                         and version definition
      - symbol table section: contains list of symbol and soname/version 
interface providing it
                              (the latter is an index in the version section)
@@ -261,9 +260,9 @@
       elfdump_out = stdout.splitlines()
 
       symbols = {}
-      binary_info = { 'version definition': [], 
-                     'version needed': [],
-                     'symbol table': [] }
+      binary_info = {'version definition': [],
+                     'version needed': [],
+                     'symbol table': []}
       # we will merge syminfo and symbol table information in one list
       # so the syminfo list is the same as the symbol table one
       binary_info['syminfo'] = binary_info['symbol table']
@@ -271,39 +270,39 @@
       # The list of fields we want to retrieve in the elfdump output by section
       # if the field is a tuple, it means we will map the original field name
       # to another name in the final data structure
-      elf_fields = { 'version definition': [ 'version', 'dependency' ],
-                     'version needed': [ ('file', 'soname'), 'version' ],
-                    'symbol table': [ ('name', 'symbol'), ('ver', 'version'), 
-                                      'bind', ('shndx', 'external') ],
-                    'syminfo': [ ('library', 'soname'), 'symbol', 'flags' ] }
+      elf_fields = {'version definition': ['version', 'dependency'],
+                    'version needed': [('file', 'soname'), 'version'],
+                    'symbol table': [('name', 'symbol'), ('ver', 'version'),
+                                     'bind', ('shndx', 'external')],
+                    'syminfo': [('library', 'soname'), 'symbol', 'flags']}
 
       cur_section = None
       for line in elfdump_out:
-        
+
         elfdump_data, cur_section = self._ParseElfdumpLine(line, cur_section)
 
-       # header or blank line contains no information
-       if not elfdump_data:
+        # header or blank line contains no information
+        if not elfdump_data:
           continue
 
         elf_info = {}
-       for field in elf_fields[cur_section]:
+        for field in elf_fields[cur_section]:
           if type(field) == tuple:
             elf_info[field[1]] = elfdump_data[field[0]]
           else:
             elf_info[field] = elfdump_data[field]
-            
+
         # we merge symbol table and syminfo informations so we have to check
-       # if the symbol has not already been added
-       if cur_section in ('symbol table', 'syminfo'):
+        # if the symbol has not already been added
+        if cur_section in ('symbol table', 'syminfo'):
           if not elf_info['symbol']:
             continue
-         if elf_info['symbol'] in symbols:
-           symbols[elf_info['symbol']].update(elf_info)
-           continue 
+          if elf_info['symbol'] in symbols:
+            symbols[elf_info['symbol']].update(elf_info)
+            continue
           else:
-           symbols[elf_info['symbol']] = elf_info
-            
+            symbols[elf_info['symbol']] = elf_info
+
         binary_info[cur_section].append(elf_info)
 
       # elfdump doesn't repeat the name of the soname in the version section
@@ -313,23 +312,23 @@
         if not version['soname']:
           version['soname'] = binary_info['version needed'][i]['soname']
 
-      # if it exists, the first "version definition" entry is the base soname 
+      # if it exists, the first "version definition" entry is the base soname
       # we don't need this information
       if binary_info['version definition']:
-       binary_info['version definition'].pop(0)
+        binary_info['version definition'].pop(0)
 
       # To not rely of the section order output of elfdump, we resolve symbol 
version
       # informations here after having parsed all elfdump output
       nb_versions_definition = len(binary_info['version definition'])
       for sym_info in binary_info['symbol table']:
         version_index = int(sym_info['version']) - 2
-       if version_index > 1:
-         if version_index < nb_versions_definition:
-           version = binary_info['version definition'][version_index]
+        if version_index > 1:
+          if version_index < nb_versions_definition:
+            version = binary_info['version definition'][version_index]
           else:
-           version = binary_info['version needed'][version_index - 
nb_versions_definition]
-          sym_info['version'] = version['version']
-         sym_info['soname'] = version['soname']
+            version = binary_info['version needed'][version_index - 
nb_versions_definition]
+            sym_info['version'] = version['version']
+            sym_info['soname'] = version['soname']
         else:
           sym_info['version'] = None
 
@@ -346,7 +345,6 @@
 
     return binaries_elf_info
 
-
   def GetLddMinusRlines(self):
     """Returns ldd -r output."""
     binaries = self.ListBinaries()
@@ -365,26 +363,27 @@
       retcode = ldd_proc.wait()
       if retcode:
         uname_info = os.uname()
-       if (uname_info[2] == '5.9' and uname_info[4] == 'i86pc' and
-           '/amd64/' in binary_abspath and 'has wrong class or data encoding' 
in stderr):
+        if (uname_info[2] == '5.9' and uname_info[4] == 'i86pc' and
+            '/amd64/' in binary_abspath and 'has wrong class or data encoding' 
in stderr):
           # we are trying to analyze a 64 bits binary on a Solaris 9 x86
-         # which exists only in 32 bits, that's not possible 
-         # we ignore the error and return no information as it is likely
-         # that the ldd infos will be the same on the 32 bits binaries analyzed
-         return {}
+          # which exists only in 32 bits, that's not possible
+          # we ignore the error and return no information as it is likely
+          # that the ldd infos will be the same on the 32 bits binaries 
analyzed
+          return {}
         else:
           logging.error("%s returned an error: %s", args, stderr)
 
       ldd_info = []
       for line in stdout.splitlines():
-       result = self._ParseLddDashRline(line, binary_abspath)  
-       if result:
+        result = self._ParseLddDashRline(line, binary_abspath)
+        if result:
           ldd_info.append(result)
-      ldd_output[binary] = ldd_info
-    return ldd_output
+        ldd_output[binary] = ldd_info
 
+      return ldd_output
+
   def _ParseNmSymLine(self, line):
-    re_defined_symbol =  re.compile('[0-9]+ [ABDFNSTU] \S+')
+    re_defined_symbol = re.compile('[0-9]+ [ABDFNSTU] \S+')
     m = re_defined_symbol.match(line)
     if not m:
       return None
@@ -392,20 +391,19 @@
     sym = { 'address': fields[0], 'type': fields[1], 'name': fields[2] }
     return sym
 
+  def _ParseElfdumpLine(self, line, section=None):
 
-  def _ParseElfdumpLine(self, line, section = None):
-
     headers_re = (r'(?P<section>Version Needed|Version Definition|Symbol 
Table|Syminfo) 
Section:\s+(?:\.SUNW_version|\.dynsym|\.SUNW_syminfo|.symtab)\s*$|'
                    '\s*(?:index\s+)?version\s+dependency\s*$|'
                    '\s*(?:index\s+)?file\s+version\s*$|'
                    
'\s*index\s*value\s+size\s+type\s+bind\s+oth\s+ver\s+shndx\s+name\s*$|'
                    '\s*index\s+flags\s+bound to\s+symbol\s*$|'
-                  '\s*$')
+                   '\s*$')
 
     re_by_section = { 'version definition': 
(r'\s*(?:\[(?P<index>\d+)\]\s+)?(?P<version>.*\S)\s+(?P<dependency>\S+)?\s*$'),
-                     'version needed': 
(r'\s*(?:\[(?P<index>\d+)\]\s+)?(?:(?P<file>\S+)\s+(?!\[ (?:INFO|WEAK) 
\]))?(?P<version>\S+)(?:\s+\[ (?:INFO|WEAK) \])?\s*$'),
-                     'symbol table': 
(r'\s*\[\d+\]\s+(?:0x[0-9a-f]+|REG_G\d+)\s+0x[0-9a-f]+\s+\S+\s+(?P<bind>\S+)\s+\S+\s+(?P<ver>\S+)\s+(?P<shndx>\S+)\s+(?P<name>\S+)?\s*$'),
-                     'syminfo': 
(r'\s*\[\d+\]\s+(?P<flags>[ABCDFILNPS]+)\s+(?:(?:\[\d+\]\s+(?P<library>.*\S)|<self>)\s+)?(?P<symbol>.*\S)\s*')
 }
+                      'version needed': 
(r'\s*(?:\[(?P<index>\d+)\]\s+)?(?:(?P<file>\S+)\s+(?!\[ (?:INFO|WEAK) 
\]))?(?P<version>\S+)(?:\s+\[ (?:INFO|WEAK) \])?\s*$'),
+                      'symbol table': 
(r'\s*\[\d+\]\s+(?:0x[0-9a-f]+|REG_G\d+)\s+0x[0-9a-f]+\s+\S+\s+(?P<bind>\S+)\s+\S+\s+(?P<ver>\S+)\s+(?P<shndx>\S+)\s+(?P<name>\S+)?\s*$'),
+                      'syminfo': 
(r'\s*\[\d+\]\s+(?P<flags>[ABCDFILNPS]+)\s+(?:(?:\[\d+\]\s+(?P<library>.*\S)|<self>)\s+)?(?P<symbol>.*\S)\s*')
 }
 
     elfdump_data = None
     m = re.match(headers_re, line)
@@ -422,7 +420,6 @@
 
     return elfdump_data, section
 
-
   def _ParseLddDashRline(self, line, binary=None):
     found_re = r"^\t(?P<soname>\S+)\s+=>\s+(?P<path_found>\S+)"
     symbol_not_found_re = (r"^\tsymbol not found:\s(?P<symbol>\S+)\s+"
@@ -446,7 +443,7 @@
     blank_line = (r'^\s*$')
     common_re = (r"(%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s)"
                  % (found_re, symbol_not_found_re, only_so, version_so, 
stv_protected, sizes_differ, sizes_info,
-                   sizes_one_used, unreferenced_object, unused_object, 
unused_search_path, blank_line))
+                    sizes_one_used, unreferenced_object, unused_object, 
unused_search_path, blank_line))
     m = re.match(common_re, line)
     response = None
     if m:

This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.

_______________________________________________
devel mailing list
[email protected]
https://lists.opencsw.org/mailman/listinfo/devel

Reply via email to