[csw-devel] SF.net SVN: gar:[7999] csw/mgar/gar/v2/bin/checkpkg.d

wahwah at users.sourceforge.net wahwah at users.sourceforge.net
Thu Jan 14 12:01:22 CET 2010


Revision: 7999
          http://gar.svn.sourceforge.net/gar/?rev=7999&view=rev
Author:   wahwah
Date:     2010-01-14 11:01:22 +0000 (Thu, 14 Jan 2010)

Log Message:
-----------
mGAR v2: checkpkg-libs.py: Better handling of symlinks, added the bdb4 -> bdb42 symlink, handling double slases and trailing slashes in RPATH

Modified Paths:
--------------
    csw/mgar/gar/v2/bin/checkpkg.d/checkpkg.py
    csw/mgar/gar/v2/bin/checkpkg.d/checkpkg_test.py

Added Paths:
-----------
    csw/mgar/gar/v2/bin/checkpkg.d/testdata/checkpkg_test_data_CSWpostfix.py

Modified: csw/mgar/gar/v2/bin/checkpkg.d/checkpkg.py
===================================================================
--- csw/mgar/gar/v2/bin/checkpkg.d/checkpkg.py	2010-01-14 09:27:45 UTC (rev 7998)
+++ csw/mgar/gar/v2/bin/checkpkg.d/checkpkg.py	2010-01-14 11:01:22 UTC (rev 7999)
@@ -275,7 +275,7 @@
       c.execute(sql, [CONFIG_MTIME])
       row = c.fetchone()
       if not row:
-      	# raise ConfigurationError("Could not find the mtime setting")
+        # raise ConfigurationError("Could not find the mtime setting")
         self.cache_mtime = 1
       else:
         self.cache_mtime = row[0]
@@ -443,16 +443,34 @@
   Since we don't know the architecture, we'll adding both amd64 and sparcv9.
   It should be safe.
   """
+  symlinks = (
+      ("/opt/csw/bdb4", ["/opt/csw/bdb42"]),
+      ("/64", ["/amd64", "/sparcv9"]),
+  )
   symlinked_list = []
   for runpath in runpath_list:
-    if "/64" in runpath:
-      symlinked_list.append(runpath.replace("/64", "/amd64"))
-      symlinked_list.append(runpath.replace("/64", "/sparcv9"))
-    else:
-      symlinked_list.append(runpath)
+    for symlink, expansion_list in symlinks:
+      symlink_re = re.compile(r"%s(/|$)" % symlink)
+      if re.search(symlink_re, runpath):
+        for expansion in expansion_list:
+          symlinked_list.append(runpath.replace(symlink, expansion))
+      else:
+        symlinked_list.append(runpath)
   return symlinked_list
 
 
+def SanitizeRunpath(runpath):
+  ok = False
+  while True:
+    if runpath.endswith("/"):
+      runpath = runpath[:-1]
+    elif "//" in runpath:
+      runpath = runpath.replace("//", "/")
+    else:
+      break
+  return runpath
+
+
 def GetLinesBySoname(pkgmap, needed_sonames, runpath_by_needed_soname, isalist):
   """Works out which system pkgmap lines correspond to given sonames."""
   lines_by_soname = {}
@@ -461,6 +479,7 @@
     # runpath and finds the first matching one.
     runpath_found = False
     for runpath in runpath_by_needed_soname[soname]:
+      runpath = SanitizeRunpath(runpath)
       runpath_list = ExpandRunpath(runpath, isalist)
       runpath_list = Emulate64BitSymlinks(runpath_list)
       soname_runpath_data = pkgmap.GetPkgmapLineByBasename(soname)

Modified: csw/mgar/gar/v2/bin/checkpkg.d/checkpkg_test.py
===================================================================
--- csw/mgar/gar/v2/bin/checkpkg.d/checkpkg_test.py	2010-01-14 09:27:45 UTC (rev 7998)
+++ csw/mgar/gar/v2/bin/checkpkg.d/checkpkg_test.py	2010-01-14 11:01:22 UTC (rev 7999)
@@ -11,6 +11,7 @@
 import testdata.checkpkg_test_data_CSWmysql51devel as d4
 import testdata.checkpkg_test_data_CSWlibpq_84 as d5
 import testdata.checkpkg_test_data_CSWmysql5client_8x as d6
+import testdata.checkpkg_test_data_CSWpostfix as d7
 import testdata.dump_output_1 as dump_1
 import testdata.dump_output_2 as dump_2
 
@@ -179,6 +180,32 @@
     self.assertEquals(expected, self.missing_deps)
 
 
+class DependenciesUnitTest_7(unittest.TestCase):
+
+  def setUp(self):
+    (self.missing_deps,
+     self.surplus_deps,
+     self.orphan_sonames) = checkpkg.AnalyzeDependencies(
+        d7.DATA_PKGNAME,
+        d7.DATA_DECLARED_DEPENDENCIES,
+        d7.DATA_BINARIES_BY_PKGNAME,
+        d7.DATA_NEEDED_SONAMES_BY_BINARY,
+        d7.DATA_PKGS_BY_FILENAME,
+        d7.DATA_FILENAMES_BY_SONAME,
+        d7.DATA_PKG_BY_ANY_FILENAME,
+    )
+
+  def testSurplusDeps(self):
+    self.assertEquals(set([]), self.surplus_deps)
+
+  def testOrphanSonames(self):
+    self.assertEquals(set([]), self.orphan_sonames)
+
+  def testMissingDeps(self):
+    expected = set([u'SUNWcslx'])
+    self.assertEquals(expected, self.missing_deps)
+
+
 class GuessDepsUnitTest(unittest.TestCase):
 
   def testGuessDepsByFilename1(self):
@@ -277,6 +304,26 @@
     result = checkpkg.Emulate64BitSymlinks(runpath_list)
     self.assertTrue(expected in result, "%s not in %s" % (expected, result))
 
+  def testEmulate64BitSymlinks_3(self):
+    runpath_list = ["/opt/csw/mysql5/lib/64/mysql/foo"]
+    expected = "/opt/csw/mysql5/lib/sparcv9/mysql/foo"
+    result = checkpkg.Emulate64BitSymlinks(runpath_list)
+    self.assertTrue(expected in result, "%s not in %s" % (expected, result))
+
+  def testEmulateSymlinks_3(self):
+    runpath_list = ["/opt/csw/bdb4"]
+    expected = "/opt/csw/bdb42"
+    result = checkpkg.Emulate64BitSymlinks(runpath_list)
+    self.assertTrue(expected in result, "%s not in %s" % (expected, result))
+
+  def testEmulateSymlinks_4(self):
+    runpath_list = ["/opt/csw/bdb42"]
+    expected = "/opt/csw/bdb42"
+    not_expected = "/opt/csw/bdb422"
+    result = checkpkg.Emulate64BitSymlinks(runpath_list)
+    self.assertTrue(expected in result, "%s not in %s" % (expected, result))
+    self.assertFalse(not_expected in result, "%s is in %s" % (not_expected, result))
+
   def testGetLinesBySoname(self):
     expected = {'foo.so.1': '/opt/csw/lib/isa-value-1/foo.so.1 foo'}
     pkgmap = self.pkgmap_mocker.CreateMock(checkpkg.SystemPkgmap)
@@ -401,7 +448,30 @@
         d6.DATA_ISALIST)
     self.assertEqual(expected, result)
 
+  def testGetLinesBySoname_8(self):
+    expected = {'foo.so.1': '/opt/csw/postgresql/lib/foo.so.1 foo'}
+    pkgmap = self.pkgmap_mocker.CreateMock(checkpkg.SystemPkgmap)
+    pkgmap.GetPkgmapLineByBasename("foo")
+    lines1 = {"/opt/csw/lib/postgresql": "/opt/csw/lib/postgresql/foo.so.1 foo"}
+    pkgmap.GetPkgmapLineByBasename("foo.so.1").AndReturn(lines1)
+    pkgmap.GetPkgmapLineByBasename("foo.so.1").AndReturn(lines1)
+    self.pkgmap_mocker.ReplayAll()
+    pkgmap.GetPkgmapLineByBasename("foo")
+    needed_sonames = set(["foo.so.1"])
+    runpath_by_needed_soname = {"foo.so.1": ["/opt/csw/postgresql/lib/", "/usr/lib"]}
+    isalist = ["isa-value-1", "isa-value-2"]
+    result = checkpkg.GetLinesBySoname(pkgmap, needed_sonames, runpath_by_needed_soname, isalist)
+    self.pkgmap_mocker.VerifyAll()
+    self.assertEqual(expected, result)
 
+  def testSanitizeRunpath_1(self):
+    self.assertEqual("/opt/csw/lib", checkpkg.SanitizeRunpath("/opt/csw/lib/"))
+
+  def testSanitizeRunpath_2(self):
+    self.assertEqual("/opt/csw/lib", checkpkg.SanitizeRunpath("/opt//csw////lib/"))
+
+
+
 class ParseDumpOutputUnitTest(unittest.TestCase):
 
   def test_1(self):

Added: csw/mgar/gar/v2/bin/checkpkg.d/testdata/checkpkg_test_data_CSWpostfix.py
===================================================================
--- csw/mgar/gar/v2/bin/checkpkg.d/testdata/checkpkg_test_data_CSWpostfix.py	                        (rev 0)
+++ csw/mgar/gar/v2/bin/checkpkg.d/testdata/checkpkg_test_data_CSWpostfix.py	2010-01-14 11:01:22 UTC (rev 7999)
@@ -0,0 +1,13 @@
+# Testing data for CSWpostfix
+# $Id: checkpkg-libs.py 7997 2010-01-14 09:22:25Z wahwah $
+DATA_PKGNAME                  = 'CSWpostfix'
+DATA_DECLARED_DEPENDENCIES    = {'CSWcswclassutils': 'CSWcswclassutils cswclassutils - CSW class action utilities ', 'CSWpcrert': 'CSWpcrert pcre_rt - Perl-compatible regular expression runtime libraries ', 'CSWmysql5rt': 'CSWmysql5rt mysql5rt - MySQL 5 runtime files ', 'CSWbdb4': 'CSWbdb4 berkeleydb4 - Stub package as contents moved to CSWbdb42 ', 'CSWlibpq': 'CSWlibpq libpq - libraries needed by postgresql server and clients ', 'CSWsasl': 'CSWsasl sasl - Simple Authentication and Security Layer ', 'CSWcommon': 'CSWcommon common - common files and dirs for CSW packages ', 'CSWoldaprt': 'CSWoldaprt openldap_rt - OpenLDAP runtime libraries (oldaprt) ', 'CSWosslrt': 'CSWosslrt openssl_rt - Openssl runtime libraries '}
+DATA_BINARIES_BY_PKGNAME      = {'CSWpostfix': ['anvil', 'spawn', 'nqmgr', 'tlsmgr', 'scache', 'discard', 'pickup', 'oqmgr', 'proxymap', 'flush', 'verify', 'pipe', 'master', 'bounce', 'error', 'qmqpd', 'virtual', 'smtpd', 'lmtp', 'trivial-rewrite', 'showq', 'cleanup', 'local', 'postmap', 'postlog', 'postmulti', 'postalias', 'postsuper', 'postconf', 'postlock', 'postcat', 'sendmail', 'postqueue', 'postkick', 'postfix', 'postdrop']}
+DATA_NEEDED_SONAMES_BY_BINARY = {'postmulti': {'soname': 'postmulti', 'runpath': ['/opt/csw/lib/$ISALIST', '/opt/csw/lib', '/opt/csw/bdb4/lib', '/opt/csw/mysql5/lib/mysql', '/opt/csw/postgresql/lib/', '/usr/lib/$ISALIST', '/usr/lib', '/lib/$ISALIST', '/lib'], 'needed sonames': ['libpcre.so.0', 'libdb-4.2.so', 'libssl.so.0.9.8', 'libcrypto.so.0.9.8', 'libsasl2.so.2', 'libldap-2.3.so.0', 'liblber-2.3.so.0', 'libmysqlclient.so.15', 'libpq.so.5', 'libresolv.so.2', 'libsocket.so.1', 'libnsl.so.1', 'libc.so.1']}, 'spawn': {'soname': 'spawn', 'runpath': ['/opt/csw/lib/$ISALIST', '/opt/csw/lib', '/opt/csw/bdb4/lib', '/opt/csw/mysql5/lib/mysql', '/opt/csw/postgresql/lib/', '/usr/lib/$ISALIST', '/usr/lib', '/lib/$ISALIST', '/lib'], 'needed sonames': ['libpcre.so.0', 'libdb-4.2.so', 'libssl.so.0.9.8', 'libcrypto.so.0.9.8', 'libsasl2.so.2', 'libldap-2.3.so.0', 'liblber-2.3.so.0', 'libmysqlclient.so.15', 'libpq.so.5', 'libresolv.so.2', 'libsocket.so.1', 'libnsl.so.1', 'libc.so.1']}, 'pos
 tkick': {'soname': 'postkick', 'runpath': ['/opt/csw/lib/$ISALIST', '/opt/csw/lib', '/opt/csw/bdb4/lib', '/opt/csw/mysql5/lib/mysql', '/opt/csw/postgresql/lib/', '/usr/lib/$ISALIST', '/usr/lib', '/lib/$ISALIST', '/lib'], 'needed sonames': ['libpcre.so.0', 'libdb-4.2.so', 'libssl.so.0.9.8', 'libcrypto.so.0.9.8', 'libsasl2.so.2', 'libldap-2.3.so.0', 'liblber-2.3.so.0', 'libmysqlclient.so.15', 'libpq.so.5', 'libresolv.so.2', 'libsocket.so.1', 'libnsl.so.1', 'libc.so.1']}, 'postlog': {'soname': 'postlog', 'runpath': ['/opt/csw/lib/$ISALIST', '/opt/csw/lib', '/opt/csw/bdb4/lib', '/opt/csw/mysql5/lib/mysql', '/opt/csw/postgresql/lib/', '/usr/lib/$ISALIST', '/usr/lib', '/lib/$ISALIST', '/lib'], 'needed sonames': ['libpcre.so.0', 'libdb-4.2.so', 'libssl.so.0.9.8', 'libcrypto.so.0.9.8', 'libsasl2.so.2', 'libldap-2.3.so.0', 'liblber-2.3.so.0', 'libmysqlclient.so.15', 'libpq.so.5', 'libresolv.so.2', 'libsocket.so.1', 'libnsl.so.1', 'libc.so.1']}, 'postconf': {'soname': 'postconf', 'run
 path': ['/opt/csw/lib/$ISALIST', '/opt/csw/lib', '/opt/csw/bdb4/lib', '/opt/csw/mysql5/lib/mysql', '/opt/csw/postgresql/lib/', '/usr/lib/$ISALIST', '/usr/lib', '/lib/$ISALIST', '/lib'], 'needed sonames': ['libpcre.so.0', 'libdb-4.2.so', 'libssl.so.0.9.8', 'libcrypto.so.0.9.8', 'libsasl2.so.2', 'libldap-2.3.so.0', 'liblber-2.3.so.0', 'libmysqlclient.so.15', 'libpq.so.5', 'libresolv.so.2', 'libsocket.so.1', 'libnsl.so.1', 'libc.so.1']}, 'bounce': {'soname': 'bounce', 'runpath': ['/opt/csw/lib/$ISALIST', '/opt/csw/lib', '/opt/csw/bdb4/lib', '/opt/csw/mysql5/lib/mysql', '/opt/csw/postgresql/lib/', '/usr/lib/$ISALIST', '/usr/lib', '/lib/$ISALIST', '/lib'], 'needed sonames': ['libpcre.so.0', 'libdb-4.2.so', 'libssl.so.0.9.8', 'libcrypto.so.0.9.8', 'libsasl2.so.2', 'libldap-2.3.so.0', 'liblber-2.3.so.0', 'libmysqlclient.so.15', 'libpq.so.5', 'libresolv.so.2', 'libsocket.so.1', 'libnsl.so.1', 'libc.so.1']}, 'qmqpd': {'soname': 'qmqpd', 'runpath': ['/opt/csw/lib/$ISALIST', '/opt/csw/
 lib', '/opt/csw/bdb4/lib', '/opt/csw/mysql5/lib/mysql', '/opt/csw/postgresql/lib/', '/usr/lib/$ISALIST', '/usr/lib', '/lib/$ISALIST', '/lib'], 'needed sonames': ['libpcre.so.0', 'libdb-4.2.so', 'libssl.so.0.9.8', 'libcrypto.so.0.9.8', 'libsasl2.so.2', 'libldap-2.3.so.0', 'liblber-2.3.so.0', 'libmysqlclient.so.15', 'libpq.so.5', 'libresolv.so.2', 'libsocket.so.1', 'libnsl.so.1', 'libc.so.1']}, 'nqmgr': {'soname': 'nqmgr', 'runpath': ['/opt/csw/lib/$ISALIST', '/opt/csw/lib', '/opt/csw/bdb4/lib', '/opt/csw/mysql5/lib/mysql', '/opt/csw/postgresql/lib/', '/usr/lib/$ISALIST', '/usr/lib', '/lib/$ISALIST', '/lib'], 'needed sonames': ['libpcre.so.0', 'libdb-4.2.so', 'libssl.so.0.9.8', 'libcrypto.so.0.9.8', 'libsasl2.so.2', 'libldap-2.3.so.0', 'liblber-2.3.so.0', 'libmysqlclient.so.15', 'libpq.so.5', 'libresolv.so.2', 'libsocket.so.1', 'libnsl.so.1', 'libc.so.1']}, 'flush': {'soname': 'flush', 'runpath': ['/opt/csw/lib/$ISALIST', '/opt/csw/lib', '/opt/csw/bdb4/lib', '/opt/csw/mysql5/l
 ib/mysql', '/opt/csw/postgresql/lib/', '/usr/lib/$ISALIST', '/usr/lib', '/lib/$ISALIST', '/lib'], 'needed sonames': ['libpcre.so.0', 'libdb-4.2.so', 'libssl.so.0.9.8', 'libcrypto.so.0.9.8', 'libsasl2.so.2', 'libldap-2.3.so.0', 'liblber-2.3.so.0', 'libmysqlclient.so.15', 'libpq.so.5', 'libresolv.so.2', 'libsocket.so.1', 'libnsl.so.1', 'libc.so.1']}, 'proxymap': {'soname': 'proxymap', 'runpath': ['/opt/csw/lib/$ISALIST', '/opt/csw/lib', '/opt/csw/bdb4/lib', '/opt/csw/mysql5/lib/mysql', '/opt/csw/postgresql/lib/', '/usr/lib/$ISALIST', '/usr/lib', '/lib/$ISALIST', '/lib'], 'needed sonames': ['libpcre.so.0', 'libdb-4.2.so', 'libssl.so.0.9.8', 'libcrypto.so.0.9.8', 'libsasl2.so.2', 'libldap-2.3.so.0', 'liblber-2.3.so.0', 'libmysqlclient.so.15', 'libpq.so.5', 'libresolv.so.2', 'libsocket.so.1', 'libnsl.so.1', 'libc.so.1']}, 'scache': {'soname': 'scache', 'runpath': ['/opt/csw/lib/$ISALIST', '/opt/csw/lib', '/opt/csw/bdb4/lib', '/opt/csw/mysql5/lib/mysql', '/opt/csw/postgresql/lib/'
 , '/usr/lib/$ISALIST', '/usr/lib', '/lib/$ISALIST', '/lib'], 'needed sonames': ['libpcre.so.0', 'libdb-4.2.so', 'libssl.so.0.9.8', 'libcrypto.so.0.9.8', 'libsasl2.so.2', 'libldap-2.3.so.0', 'liblber-2.3.so.0', 'libmysqlclient.so.15', 'libpq.so.5', 'libresolv.so.2', 'libsocket.so.1', 'libnsl.so.1', 'libc.so.1']}, 'anvil': {'soname': 'anvil', 'runpath': ['/opt/csw/lib/$ISALIST', '/opt/csw/lib', '/opt/csw/bdb4/lib', '/opt/csw/mysql5/lib/mysql', '/opt/csw/postgresql/lib/', '/usr/lib/$ISALIST', '/usr/lib', '/lib/$ISALIST', '/lib'], 'needed sonames': ['libpcre.so.0', 'libdb-4.2.so', 'libssl.so.0.9.8', 'libcrypto.so.0.9.8', 'libsasl2.so.2', 'libldap-2.3.so.0', 'liblber-2.3.so.0', 'libmysqlclient.so.15', 'libpq.so.5', 'libresolv.so.2', 'libsocket.so.1', 'libnsl.so.1', 'libc.so.1']}, 'verify': {'soname': 'verify', 'runpath': ['/opt/csw/lib/$ISALIST', '/opt/csw/lib', '/opt/csw/bdb4/lib', '/opt/csw/mysql5/lib/mysql', '/opt/csw/postgresql/lib/', '/usr/lib/$ISALIST', '/usr/lib', '/lib/$I
 SALIST', '/lib'], 'needed sonames': ['libpcre.so.0', 'libdb-4.2.so', 'libssl.so.0.9.8', 'libcrypto.so.0.9.8', 'libsasl2.so.2', 'libldap-2.3.so.0', 'liblber-2.3.so.0', 'libmysqlclient.so.15', 'libpq.so.5', 'libresolv.so.2', 'libsocket.so.1', 'libnsl.so.1', 'libc.so.1']}, 'postalias': {'soname': 'postalias', 'runpath': ['/opt/csw/lib/$ISALIST', '/opt/csw/lib', '/opt/csw/bdb4/lib', '/opt/csw/mysql5/lib/mysql', '/opt/csw/postgresql/lib/', '/usr/lib/$ISALIST', '/usr/lib', '/lib/$ISALIST', '/lib'], 'needed sonames': ['libpcre.so.0', 'libdb-4.2.so', 'libssl.so.0.9.8', 'libcrypto.so.0.9.8', 'libsasl2.so.2', 'libldap-2.3.so.0', 'liblber-2.3.so.0', 'libmysqlclient.so.15', 'libpq.so.5', 'libresolv.so.2', 'libsocket.so.1', 'libnsl.so.1', 'libc.so.1']}, 'postcat': {'soname': 'postcat', 'runpath': ['/opt/csw/lib/$ISALIST', '/opt/csw/lib', '/opt/csw/bdb4/lib', '/opt/csw/mysql5/lib/mysql', '/opt/csw/postgresql/lib/', '/usr/lib/$ISALIST', '/usr/lib', '/lib/$ISALIST', '/lib'], 'needed sonames
 ': ['libpcre.so.0', 'libdb-4.2.so', 'libssl.so.0.9.8', 'libcrypto.so.0.9.8', 'libsasl2.so.2', 'libldap-2.3.so.0', 'liblber-2.3.so.0', 'libmysqlclient.so.15', 'libpq.so.5', 'libresolv.so.2', 'libsocket.so.1', 'libnsl.so.1', 'libc.so.1']}, 'virtual': {'soname': 'virtual', 'runpath': ['/opt/csw/lib/$ISALIST', '/opt/csw/lib', '/opt/csw/bdb4/lib', '/opt/csw/mysql5/lib/mysql', '/opt/csw/postgresql/lib/', '/usr/lib/$ISALIST', '/usr/lib', '/lib/$ISALIST', '/lib'], 'needed sonames': ['libpcre.so.0', 'libdb-4.2.so', 'libssl.so.0.9.8', 'libcrypto.so.0.9.8', 'libsasl2.so.2', 'libldap-2.3.so.0', 'liblber-2.3.so.0', 'libmysqlclient.so.15', 'libpq.so.5', 'libresolv.so.2', 'libsocket.so.1', 'libnsl.so.1', 'libc.so.1']}, 'pickup': {'soname': 'pickup', 'runpath': ['/opt/csw/lib/$ISALIST', '/opt/csw/lib', '/opt/csw/bdb4/lib', '/opt/csw/mysql5/lib/mysql', '/opt/csw/postgresql/lib/', '/usr/lib/$ISALIST', '/usr/lib', '/lib/$ISALIST', '/lib'], 'needed sonames': ['libpcre.so.0', 'libdb-4.2.so', 'li
 bssl.so.0.9.8', 'libcrypto.so.0.9.8', 'libsasl2.so.2', 'libldap-2.3.so.0', 'liblber-2.3.so.0', 'libmysqlclient.so.15', 'libpq.so.5', 'libresolv.so.2', 'libsocket.so.1', 'libnsl.so.1', 'libc.so.1']}, 'oqmgr': {'soname': 'oqmgr', 'runpath': ['/opt/csw/lib/$ISALIST', '/opt/csw/lib', '/opt/csw/bdb4/lib', '/opt/csw/mysql5/lib/mysql', '/opt/csw/postgresql/lib/', '/usr/lib/$ISALIST', '/usr/lib', '/lib/$ISALIST', '/lib'], 'needed sonames': ['libpcre.so.0', 'libdb-4.2.so', 'libssl.so.0.9.8', 'libcrypto.so.0.9.8', 'libsasl2.so.2', 'libldap-2.3.so.0', 'liblber-2.3.so.0', 'libmysqlclient.so.15', 'libpq.so.5', 'libresolv.so.2', 'libsocket.so.1', 'libnsl.so.1', 'libc.so.1']}, 'master': {'soname': 'master', 'runpath': ['/opt/csw/lib/$ISALIST', '/opt/csw/lib', '/opt/csw/bdb4/lib', '/opt/csw/mysql5/lib/mysql', '/opt/csw/postgresql/lib/', '/usr/lib/$ISALIST', '/usr/lib', '/lib/$ISALIST', '/lib'], 'needed sonames': ['libpcre.so.0', 'libdb-4.2.so', 'libssl.so.0.9.8', 'libcrypto.so.0.9.8', 'libs
 asl2.so.2', 'libldap-2.3.so.0', 'liblber-2.3.so.0', 'libmysqlclient.so.15', 'libpq.so.5', 'libresolv.so.2', 'libsocket.so.1', 'libnsl.so.1', 'libc.so.1']}, 'postqueue': {'soname': 'postqueue', 'runpath': ['/opt/csw/lib/$ISALIST', '/opt/csw/lib', '/opt/csw/bdb4/lib', '/opt/csw/mysql5/lib/mysql', '/opt/csw/postgresql/lib/', '/usr/lib/$ISALIST', '/usr/lib', '/lib/$ISALIST', '/lib'], 'needed sonames': ['libpcre.so.0', 'libdb-4.2.so', 'libssl.so.0.9.8', 'libcrypto.so.0.9.8', 'libsasl2.so.2', 'libldap-2.3.so.0', 'liblber-2.3.so.0', 'libmysqlclient.so.15', 'libpq.so.5', 'libresolv.so.2', 'libsocket.so.1', 'libnsl.so.1', 'libc.so.1']}, 'postmap': {'soname': 'postmap', 'runpath': ['/opt/csw/lib/$ISALIST', '/opt/csw/lib', '/opt/csw/bdb4/lib', '/opt/csw/mysql5/lib/mysql', '/opt/csw/postgresql/lib/', '/usr/lib/$ISALIST', '/usr/lib', '/lib/$ISALIST', '/lib'], 'needed sonames': ['libpcre.so.0', 'libdb-4.2.so', 'libssl.so.0.9.8', 'libcrypto.so.0.9.8', 'libsasl2.so.2', 'libldap-2.3.so.0', '
 liblber-2.3.so.0', 'libmysqlclient.so.15', 'libpq.so.5', 'libresolv.so.2', 'libsocket.so.1', 'libnsl.so.1', 'libc.so.1']}, 'local': {'soname': 'local', 'runpath': ['/opt/csw/lib/$ISALIST', '/opt/csw/lib', '/opt/csw/bdb4/lib', '/opt/csw/mysql5/lib/mysql', '/opt/csw/postgresql/lib/', '/usr/lib/$ISALIST', '/usr/lib', '/lib/$ISALIST', '/lib'], 'needed sonames': ['libpcre.so.0', 'libdb-4.2.so', 'libssl.so.0.9.8', 'libcrypto.so.0.9.8', 'libsasl2.so.2', 'libldap-2.3.so.0', 'liblber-2.3.so.0', 'libmysqlclient.so.15', 'libpq.so.5', 'libresolv.so.2', 'libsocket.so.1', 'libnsl.so.1', 'libc.so.1']}, 'showq': {'soname': 'showq', 'runpath': ['/opt/csw/lib/$ISALIST', '/opt/csw/lib', '/opt/csw/bdb4/lib', '/opt/csw/mysql5/lib/mysql', '/opt/csw/postgresql/lib/', '/usr/lib/$ISALIST', '/usr/lib', '/lib/$ISALIST', '/lib'], 'needed sonames': ['libpcre.so.0', 'libdb-4.2.so', 'libssl.so.0.9.8', 'libcrypto.so.0.9.8', 'libsasl2.so.2', 'libldap-2.3.so.0', 'liblber-2.3.so.0', 'libmysqlclient.so.15', 'l
 ibpq.so.5', 'libresolv.so.2', 'libsocket.so.1', 'libnsl.so.1', 'libc.so.1']}, 'sendmail': {'soname': 'sendmail', 'runpath': ['/opt/csw/lib/$ISALIST', '/opt/csw/lib', '/opt/csw/bdb4/lib', '/opt/csw/mysql5/lib/mysql', '/opt/csw/postgresql/lib/', '/usr/lib/$ISALIST', '/usr/lib', '/lib/$ISALIST', '/lib'], 'needed sonames': ['libpcre.so.0', 'libdb-4.2.so', 'libssl.so.0.9.8', 'libcrypto.so.0.9.8', 'libsasl2.so.2', 'libldap-2.3.so.0', 'liblber-2.3.so.0', 'libmysqlclient.so.15', 'libpq.so.5', 'libresolv.so.2', 'libsocket.so.1', 'libnsl.so.1', 'libc.so.1']}, 'smtpd': {'soname': 'smtpd', 'runpath': ['/opt/csw/lib/$ISALIST', '/opt/csw/lib', '/opt/csw/bdb4/lib', '/opt/csw/mysql5/lib/mysql', '/opt/csw/postgresql/lib/', '/usr/lib/$ISALIST', '/usr/lib', '/lib/$ISALIST', '/lib'], 'needed sonames': ['libpcre.so.0', 'libdb-4.2.so', 'libssl.so.0.9.8', 'libcrypto.so.0.9.8', 'libsasl2.so.2', 'libldap-2.3.so.0', 'liblber-2.3.so.0', 'libmysqlclient.so.15', 'libpq.so.5', 'libresolv.so.2', 'libsocke
 t.so.1', 'libnsl.so.1', 'libc.so.1']}, 'lmtp': {'soname': 'lmtp', 'runpath': ['/opt/csw/lib/$ISALIST', '/opt/csw/lib', '/opt/csw/bdb4/lib', '/opt/csw/mysql5/lib/mysql', '/opt/csw/postgresql/lib/', '/usr/lib/$ISALIST', '/usr/lib', '/lib/$ISALIST', '/lib'], 'needed sonames': ['libpcre.so.0', 'libdb-4.2.so', 'libssl.so.0.9.8', 'libcrypto.so.0.9.8', 'libsasl2.so.2', 'libldap-2.3.so.0', 'liblber-2.3.so.0', 'libmysqlclient.so.15', 'libpq.so.5', 'libresolv.so.2', 'libsocket.so.1', 'libnsl.so.1', 'libc.so.1']}, 'postdrop': {'soname': 'postdrop', 'runpath': ['/opt/csw/lib/$ISALIST', '/opt/csw/lib', '/opt/csw/bdb4/lib', '/opt/csw/mysql5/lib/mysql', '/opt/csw/postgresql/lib/', '/usr/lib/$ISALIST', '/usr/lib', '/lib/$ISALIST', '/lib'], 'needed sonames': ['libpcre.so.0', 'libdb-4.2.so', 'libssl.so.0.9.8', 'libcrypto.so.0.9.8', 'libsasl2.so.2', 'libldap-2.3.so.0', 'liblber-2.3.so.0', 'libmysqlclient.so.15', 'libpq.so.5', 'libresolv.so.2', 'libsocket.so.1', 'libnsl.so.1', 'libc.so.1']}, 't
 rivial-rewrite': {'soname': 'trivial-rewrite', 'runpath': ['/opt/csw/lib/$ISALIST', '/opt/csw/lib', '/opt/csw/bdb4/lib', '/opt/csw/mysql5/lib/mysql', '/opt/csw/postgresql/lib/', '/usr/lib/$ISALIST', '/usr/lib', '/lib/$ISALIST', '/lib'], 'needed sonames': ['libpcre.so.0', 'libdb-4.2.so', 'libssl.so.0.9.8', 'libcrypto.so.0.9.8', 'libsasl2.so.2', 'libldap-2.3.so.0', 'liblber-2.3.so.0', 'libmysqlclient.so.15', 'libpq.so.5', 'libresolv.so.2', 'libsocket.so.1', 'libnsl.so.1', 'libc.so.1']}, 'postfix': {'soname': 'postfix', 'runpath': ['/opt/csw/lib/$ISALIST', '/opt/csw/lib', '/opt/csw/bdb4/lib', '/opt/csw/mysql5/lib/mysql', '/opt/csw/postgresql/lib/', '/usr/lib/$ISALIST', '/usr/lib', '/lib/$ISALIST', '/lib'], 'needed sonames': ['libpcre.so.0', 'libdb-4.2.so', 'libssl.so.0.9.8', 'libcrypto.so.0.9.8', 'libsasl2.so.2', 'libldap-2.3.so.0', 'liblber-2.3.so.0', 'libmysqlclient.so.15', 'libpq.so.5', 'libresolv.so.2', 'libsocket.so.1', 'libnsl.so.1', 'libc.so.1']}, 'postlock': {'soname': 
 'postlock', 'runpath': ['/opt/csw/lib/$ISALIST', '/opt/csw/lib', '/opt/csw/bdb4/lib', '/opt/csw/mysql5/lib/mysql', '/opt/csw/postgresql/lib/', '/usr/lib/$ISALIST', '/usr/lib', '/lib/$ISALIST', '/lib'], 'needed sonames': ['libpcre.so.0', 'libdb-4.2.so', 'libssl.so.0.9.8', 'libcrypto.so.0.9.8', 'libsasl2.so.2', 'libldap-2.3.so.0', 'liblber-2.3.so.0', 'libmysqlclient.so.15', 'libpq.so.5', 'libresolv.so.2', 'libsocket.so.1', 'libnsl.so.1', 'libc.so.1']}, 'pipe': {'soname': 'pipe', 'runpath': ['/opt/csw/lib/$ISALIST', '/opt/csw/lib', '/opt/csw/bdb4/lib', '/opt/csw/mysql5/lib/mysql', '/opt/csw/postgresql/lib/', '/usr/lib/$ISALIST', '/usr/lib', '/lib/$ISALIST', '/lib'], 'needed sonames': ['libpcre.so.0', 'libdb-4.2.so', 'libssl.so.0.9.8', 'libcrypto.so.0.9.8', 'libsasl2.so.2', 'libldap-2.3.so.0', 'liblber-2.3.so.0', 'libmysqlclient.so.15', 'libpq.so.5', 'libresolv.so.2', 'libsocket.so.1', 'libnsl.so.1', 'libc.so.1']}, 'tlsmgr': {'soname': 'tlsmgr', 'runpath': ['/opt/csw/lib/$ISALIS
 T', '/opt/csw/lib', '/opt/csw/bdb4/lib', '/opt/csw/mysql5/lib/mysql', '/opt/csw/postgresql/lib/', '/usr/lib/$ISALIST', '/usr/lib', '/lib/$ISALIST', '/lib'], 'needed sonames': ['libpcre.so.0', 'libdb-4.2.so', 'libssl.so.0.9.8', 'libcrypto.so.0.9.8', 'libsasl2.so.2', 'libldap-2.3.so.0', 'liblber-2.3.so.0', 'libmysqlclient.so.15', 'libpq.so.5', 'libresolv.so.2', 'libsocket.so.1', 'libnsl.so.1', 'libc.so.1']}, 'error': {'soname': 'error', 'runpath': ['/opt/csw/lib/$ISALIST', '/opt/csw/lib', '/opt/csw/bdb4/lib', '/opt/csw/mysql5/lib/mysql', '/opt/csw/postgresql/lib/', '/usr/lib/$ISALIST', '/usr/lib', '/lib/$ISALIST', '/lib'], 'needed sonames': ['libpcre.so.0', 'libdb-4.2.so', 'libssl.so.0.9.8', 'libcrypto.so.0.9.8', 'libsasl2.so.2', 'libldap-2.3.so.0', 'liblber-2.3.so.0', 'libmysqlclient.so.15', 'libpq.so.5', 'libresolv.so.2', 'libsocket.so.1', 'libnsl.so.1', 'libc.so.1']}, 'discard': {'soname': 'discard', 'runpath': ['/opt/csw/lib/$ISALIST', '/opt/csw/lib', '/opt/csw/bdb4/lib', 
 '/opt/csw/mysql5/lib/mysql', '/opt/csw/postgresql/lib/', '/usr/lib/$ISALIST', '/usr/lib', '/lib/$ISALIST', '/lib'], 'needed sonames': ['libpcre.so.0', 'libdb-4.2.so', 'libssl.so.0.9.8', 'libcrypto.so.0.9.8', 'libsasl2.so.2', 'libldap-2.3.so.0', 'liblber-2.3.so.0', 'libmysqlclient.so.15', 'libpq.so.5', 'libresolv.so.2', 'libsocket.so.1', 'libnsl.so.1', 'libc.so.1']}, 'postsuper': {'soname': 'postsuper', 'runpath': ['/opt/csw/lib/$ISALIST', '/opt/csw/lib', '/opt/csw/bdb4/lib', '/opt/csw/mysql5/lib/mysql', '/opt/csw/postgresql/lib/', '/usr/lib/$ISALIST', '/usr/lib', '/lib/$ISALIST', '/lib'], 'needed sonames': ['libpcre.so.0', 'libdb-4.2.so', 'libssl.so.0.9.8', 'libcrypto.so.0.9.8', 'libsasl2.so.2', 'libldap-2.3.so.0', 'liblber-2.3.so.0', 'libmysqlclient.so.15', 'libpq.so.5', 'libresolv.so.2', 'libsocket.so.1', 'libnsl.so.1', 'libc.so.1']}, 'cleanup': {'soname': 'cleanup', 'runpath': ['/opt/csw/lib/$ISALIST', '/opt/csw/lib', '/opt/csw/bdb4/lib', '/opt/csw/mysql5/lib/mysql', '/op
 t/csw/postgresql/lib/', '/usr/lib/$ISALIST', '/usr/lib', '/lib/$ISALIST', '/lib'], 'needed sonames': ['libpcre.so.0', 'libdb-4.2.so', 'libssl.so.0.9.8', 'libcrypto.so.0.9.8', 'libsasl2.so.2', 'libldap-2.3.so.0', 'liblber-2.3.so.0', 'libmysqlclient.so.15', 'libpq.so.5', 'libresolv.so.2', 'libsocket.so.1', 'libnsl.so.1', 'libc.so.1']}}
+DATA_PKGS_BY_FILENAME         = {'libresolv.so.2': u'SUNWcslx', 'libnsl.so.1': u'SUNWcslx', 'libsasl2.so.2': u'CSWsasl', 'libmysqlclient.so.15': u'CSWmysql5rt', 'libpcre.so.0': u'CSWpcrert', 'libssl.so.0.9.8': u'CSWosslrt', 'libldap-2.3.so.0': u'CSWoldaprt', 'libcrypto.so.0.9.8': u'CSWosslrt', 'libsocket.so.1': u'SUNWcslx', 'liblber-2.3.so.0': u'CSWoldaprt', 'libc.so.1': u'SUNWcslx'}
+DATA_FILENAMES_BY_SONAME      = {'postmulti': 'postmulti', 'spawn': 'spawn', 'postkick': 'postkick', 'postlog': 'postlog', 'postconf': 'postconf', 'bounce': 'bounce', 'qmqpd': 'qmqpd', 'nqmgr': 'nqmgr', 'flush': 'flush', 'proxymap': 'proxymap', 'scache': 'scache', 'anvil': 'anvil', 'verify': 'verify', 'postalias': 'postalias', 'postcat': 'postcat', 'virtual': 'virtual', 'pickup': 'pickup', 'oqmgr': 'oqmgr', 'master': 'master', 'postqueue': 'postqueue', 'postmap': 'postmap', 'local': 'local', 'showq': 'showq', 'sendmail': 'sendmail', 'smtpd': 'smtpd', 'lmtp': 'lmtp', 'postdrop': 'postdrop', 'trivial-rewrite': 'trivial-rewrite', 'postfix': 'postfix', 'postlock': 'postlock', 'pipe': 'pipe', 'tlsmgr': 'tlsmgr', 'error': 'error', 'discard': 'discard', 'postsuper': 'postsuper', 'cleanup': 'cleanup'}
+DATA_PKG_BY_ANY_FILENAME      = {'BASIC_CONFIGURATION_README': 'CSWpostfix', 'postlock.1': 'CSWpostfix', 'newaliases.1.html': 'CSWpostfix', 'CDB_README': 'CSWpostfix', 'MULTI_INSTANCE_README': 'CSWpostfix', 'CONTENT_INSPECTION_README.html': 'CSWpostfix', 'trace.8': 'CSWpostfix', 'SASL_README.html': 'CSWpostfix', 'postsuper': 'CSWpostfix', 'showq.8': 'CSWpostfix', 'qmqpd': 'CSWpostfix', 'cidr_table.5.html': 'CSWpostfix', 'virtual': 'CSWpostfix', 'verify.8': 'CSWpostfix', 'ETRN_README.html': 'CSWpostfix', 'pgsql_table.5.html': 'CSWpostfix', 'generic.CSW': 'CSWpostfix', 'FILTER_README.html': 'CSWpostfix', 'cswusergroup': 'CSWpostfix', 'CONNECTION_CACHE_README': 'CSWpostfix', 'STRESS_README.html': 'CSWpostfix', 'pickup.8': 'CSWpostfix', 'postconf.1': 'CSWpostfix', 'OVERVIEW': 'CSWpostfix', 'showq.8.html': 'CSWpostfix', 'XFORWARD_README.html': 'CSWpostfix', 'pickup.8.html': 'CSWpostfix', 'master.5.html': 'CSWpostfix', 'smtpd.8': 'CSWpostfix', 'ADDRESS_VERIFICATION_README': 'CSWpo
 stfix', 'discard.8': 'CSWpostfix', 'IPV6_README': 'CSWpostfix', 'local': 'CSWpostfix', 'qmgr.8': 'CSWpostfix', 'local.8.html': 'CSWpostfix', 'newaliases.1': 'CSWpostfix', 'PACKAGE_README': 'CSWpostfix', 'header_checks.CSW': 'CSWpostfix', 'PACKAGE_README.html': 'CSWpostfix', 'postmap.1.html': 'CSWpostfix', 'regexp_table.5': 'CSWpostfix', 'VIRTUAL_README.html': 'CSWpostfix', 'virtual.8': 'CSWpostfix', 'postlock.1.html': 'CSWpostfix', 'postfix-wrapper': 'CSWpostfix', 'tlsmgr.8': 'CSWpostfix', 'lmtp': 'CSWpostfix', 'verify': 'CSWpostfix', 'trivial-rewrite': 'CSWpostfix', 'scache': 'CSWpostfix', 'CONNECTION_CACHE_README.html': 'CSWpostfix', 'postlog.1.html': 'CSWpostfix', 'postconf.1.html': 'CSWpostfix', 'postfix-files': 'CSWpostfix', 'VIRTUAL_README': 'CSWpostfix', 'TLS_LEGACY_README.html': 'CSWpostfix', 'LOCAL_RECIPIENT_README': 'CSWpostfix', 'TUNING_README': 'CSWpostfix', 'main.cf': 'CSWpostfix', 'postfix-wrapper.5.html': 'CSWpostfix', 'cidr_table.5': 'CSWpostfix', 'NFS_README
 ': 'CSWpostfix', 'flush.8': 'CSWpostfix', 'postkick.1.html': 'CSWpostfix', 'postalias': 'CSWpostfix', 'STANDARD_CONFIGURATION_README': 'CSWpostfix', 'postmulti': 'CSWpostfix', 'postqueue.1': 'CSWpostfix', 'MAILDROP_README': 'CSWpostfix', 'postqueue.1.html': 'CSWpostfix', 'postlog': 'CSWpostfix', 'postconf': 'CSWpostfix', 'nisplus_table.5.html': 'CSWpostfix', 'scache.8': 'CSWpostfix', 'aliases.5': 'CSWpostfix', 'bounce.8': 'CSWpostfix', 'ldap_table.5.html': 'CSWpostfix', 'master.5': 'CSWpostfix', 'flush': 'CSWpostfix', 'master.8': 'CSWpostfix', 'postmulti.1.html': 'CSWpostfix', 'STANDARD_CONFIGURATION_README.html': 'CSWpostfix', 'bounce.5': 'CSWpostfix', 'smtp-source.1.html': 'CSWpostfix', 'smtpd': 'CSWpostfix', 'proxymap.8.html': 'CSWpostfix', 'oqmgr.8': 'CSWpostfix', 'postkick.1': 'CSWpostfix', 'BACKSCATTER_README.html': 'CSWpostfix', 'tcp_table.5': 'CSWpostfix', 'pkginfo': 'CSWpostfix', 'postfix.1.html': 'CSWpostfix', 'post-install': 'CSWpostfix', 'access.CSW': 'CSWpostfix
 ', 'CONTENT_INSPECTION_README': 'CSWpostfix', 'SMTPD_POLICY_README': 'CSWpostfix', 'TLS_README.html': 'CSWpostfix', 'postconf.5': 'CSWpostfix', 'smtpd.8.html': 'CSWpostfix', 'MILTER_README': 'CSWpostfix', 'LINUX_README': 'CSWpostfix', 'SMTPD_PROXY_README.html': 'CSWpostfix', 'showq': 'CSWpostfix', 'tlsmgr': 'CSWpostfix', 'INSTALL.html': 'CSWpostfix', 'access.5.html': 'CSWpostfix', 'relocated.CSW': 'CSWpostfix', 'ULTRIX_README': 'CSWpostfix', 'sendmail': 'CSWpostfix', 'error': 'CSWpostfix', 'ETRN_README': 'CSWpostfix', 'AAAREADME': 'CSWpostfix', 'master.cf.CSW': 'CSWpostfix', 'pgsql_table.5': 'CSWpostfix', 'error.8': 'CSWpostfix', 'depend': 'CSWpostfix', 'LDAP_README': 'CSWpostfix', 'canonical.5': 'CSWpostfix', 'postmulti.1': 'CSWpostfix', 'MYSQL_README.html': 'CSWpostfix', 'qmgr.8.html': 'CSWpostfix', 'smtp.8': 'CSWpostfix', 'pipe.8.html': 'CSWpostfix', 'oqmgr': 'CSWpostfix', 'anvil': 'CSWpostfix', 'main.cf.CSW': 'CSWpostfix', 'postlock': 'CSWpostfix', 'postfix.1': 'CSWpostf
 ix', 'ADDRESS_CLASS_README': 'CSWpostfix', 'OVERVIEW.html': 'CSWpostfix', 'QSHAPE_README': 'CSWpostfix', 'NFS_README.html': 'CSWpostfix', 'discard': 'CSWpostfix', 'FILTER_README': 'CSWpostfix', 'lmtp.8.html': 'CSWpostfix', 'body_checks.5': 'CSWpostfix', 'generic.5.html': 'CSWpostfix', 'postdrop.1.html': 'CSWpostfix', 'error.8.html': 'CSWpostfix', 'verify.8.html': 'CSWpostfix', 'TLS_LICENSE': 'CSWpostfix', 'discard.8.html': 'CSWpostfix', 'tcp_table.5.html': 'CSWpostfix', 'header_checks.5': 'CSWpostfix', 'PGSQL_README': 'CSWpostfix', 'XFORWARD_README': 'CSWpostfix', 'postmap': 'CSWpostfix', 'proxymap': 'CSWpostfix', 'RESTRICTION_CLASS_README': 'CSWpostfix', 'LDAP_README.html': 'CSWpostfix', 'defer.8.html': 'CSWpostfix', 'flush.8.html': 'CSWpostfix', 'VERP_README': 'CSWpostfix', 'cleanup.8': 'CSWpostfix', 'XCLIENT_README.html': 'CSWpostfix', 'virtual.CSW': 'CSWpostfix', 'qmqpd.8.html': 'CSWpostfix', 'cleanup.8.html': 'CSWpostfix', 'postdrop': 'CSWpostfix', 'qshape.1.html': 'CSW
 postfix', 'VERP_README.html': 'CSWpostfix', 'SCHEDULER_README.html': 'CSWpostfix', 'trivial-rewrite.8.html': 'CSWpostfix', 'postqueue': 'CSWpostfix', 'master': 'CSWpostfix', 'oqmgr.8.html': 'CSWpostfix', 'trivial-rewrite.8': 'CSWpostfix', 'master.8.html': 'CSWpostfix', 'PGSQL_README.html': 'CSWpostfix', 'STRESS_README': 'CSWpostfix', 'header_checks.5.html': 'CSWpostfix', 'canonical.CSW': 'CSWpostfix', 'relocated.5.html': 'CSWpostfix', 'TLS_README': 'CSWpostfix', 'BACKSCATTER_README': 'CSWpostfix', 'pcre_table.5': 'CSWpostfix', 'postfix-script': 'CSWpostfix', 'qmqp-source.1.html': 'CSWpostfix', 'postcat': 'CSWpostfix', 'transport.5': 'CSWpostfix', 'defer.8': 'CSWpostfix', 'bounce': 'CSWpostfix', 'postsuper.1': 'CSWpostfix', 'LINUX_README.html': 'CSWpostfix', 'index.html': 'CSWpostfix', 'postdrop.1': 'CSWpostfix', 'transport.CSW': 'CSWpostfix', 'ADDRESS_REWRITING_README.html': 'CSWpostfix', 'pipe.8': 'CSWpostfix', 'proxymap.8': 'CSWpostfix', 'DB_README.html': 'CSWpostfix', 'LO
 CAL_RECIPIENT_README.html': 'CSWpostfix', 'UUCP_README': 'CSWpostfix', 'postcat.1.html': 'CSWpostfix', 'ldap_table.5': 'CSWpostfix', 'pkgmap': 'CSWpostfix', 'postmulti-script': 'CSWpostfix', 'BUILTIN_FILTER_README.html': 'CSWpostfix', 'SMTPD_POLICY_README.html': 'CSWpostfix', 'main.cf.default': 'CSWpostfix', 'postfix-wrapper.5': 'CSWpostfix', 'IPV6_README.html': 'CSWpostfix', 'qmqpd.8': 'CSWpostfix', 'spawn': 'CSWpostfix', 'mailq.1': 'CSWpostfix', 'DB_README': 'CSWpostfix', 'pickup': 'CSWpostfix', 'BASIC_CONFIGURATION_README.html': 'CSWpostfix', 'postsuper.1.html': 'CSWpostfix', 'cswpostfix': 'CSWpostfix', 'postconf.5.html': 'CSWpostfix', 'CDB_README.html': 'CSWpostfix', 'BUILTIN_FILTER_README': 'CSWpostfix', 'SMTPD_ACCESS_README': 'CSWpostfix', 'TLS_LEGACY_README': 'CSWpostfix', 'virtual.8.html': 'CSWpostfix', 'DATABASE_README': 'CSWpostfix', 'lmtp.8': 'CSWpostfix', 'spawn.8.html': 'CSWpostfix', 'access.5': 'CSWpostfix', 'ADDRESS_REWRITING_README': 'CSWpostfix', 'aliases.CS
 W': 'CSWpostfix', 'SASL_README': 'CSWpostfix', 'pcre_table.5.html': 'CSWpostfix', 'MYSQL_README': 'CSWpostfix', 'ADDRESS_VERIFICATION_README.html': 'CSWpostfix', 'mysql_table.5': 'CSWpostfix', 'DSN_README.html': 'CSWpostfix', 'DATABASE_README.html': 'CSWpostfix', 'postfix-manuals.html': 'CSWpostfix', 'SCHEDULER_README': 'CSWpostfix', 'SMTPD_ACCESS_README.html': 'CSWpostfix', 'postlog.1': 'CSWpostfix', 'nqmgr': 'CSWpostfix', 'nisplus_table.5': 'CSWpostfix', 'local.8': 'CSWpostfix', 'smtp-sink.1.html': 'CSWpostfix', 'ADDRESS_CLASS_README.html': 'CSWpostfix', 'cleanup': 'CSWpostfix', 'QSHAPE_README.html': 'CSWpostfix', 'virtual.5.html': 'CSWpostfix', 'XCLIENT_README': 'CSWpostfix', 'UUCP_README.html': 'CSWpostfix', 'relocated.5': 'CSWpostfix', 'RELEASE_NOTES': 'CSWpostfix', 'canonical.5.html': 'CSWpostfix', 'checkinstall': 'CSWpostfix', 'INSTALL': 'CSWpostfix', 'PCRE_README': 'CSWpostfix', 'postalias.1.html': 'CSWpostfix', 'postcat.1': 'CSWpostfix', 'sendmail.1': 'CSWpostfix', 
 'bounce.cf.default': 'CSWpostfix', 'postfix-logo.jpg': 'CSWpostfix', 'TUNING_README.html': 'CSWpostfix', 'anvil.8.html': 'CSWpostfix', 'mysql_table.5.html': 'CSWpostfix', 'RESTRICTION_CLASS_README.html': 'CSWpostfix', 'master.cf': 'CSWpostfix', 'postkick': 'CSWpostfix', 'MULTI_INSTANCE_README.html': 'CSWpostfix', 'spawn.8': 'CSWpostfix', 'DEBUG_README': 'CSWpostfix', 'postalias.1': 'CSWpostfix', 'PCRE_README.html': 'CSWpostfix', 'postfix': 'CSWpostfix', 'DEBUG_README.html': 'CSWpostfix', 'MILTER_README.html': 'CSWpostfix', 'MAILDROP_README.html': 'CSWpostfix', 'aliases.5.html': 'CSWpostfix', 'pipe': 'CSWpostfix', 'SMTPD_PROXY_README': 'CSWpostfix', 'regexp_table.5.html': 'CSWpostfix', 'postmap.1': 'CSWpostfix', 'transport.5.html': 'CSWpostfix', 'qmqp-sink.1.html': 'CSWpostfix', 'DSN_README': 'CSWpostfix', 'anvil.8': 'CSWpostfix', 'virtual.5': 'CSWpostfix', 'generic.5': 'CSWpostfix'}
+DATA_LINES_BY_SONAME          = {'libresolv.so.2': u'/usr/lib/sparcv9/libresolv.so.2 f none 0755 root bin 448048 5947 1234567885 SUNWcslx', 'libnsl.so.1': u'/usr/lib/sparcv9/libnsl.so.1 f none 0755 root bin 1099248 7581 1217954364 SUNWcslx', 'libsasl2.so.2': u'/opt/csw/lib/libsasl2.so.2=libsasl2.so.2.0.22 s none CSWsasl', 'libmysqlclient.so.15': u'/opt/csw/mysql5/lib/mysql/libmysqlclient.so.15=libmysqlclient.so.15.0.0 s none CSWmysql5rt', 'libpcre.so.0': u'/opt/csw/lib/sparcv9/libpcre.so.0=libpcre.so.0.0.1 s none CSWpcrert', 'libssl.so.0.9.8': u'/opt/csw/lib/sparcv9/libssl.so.0.9.8 f none 0755 root bin 427792 46460 1261308405 CSWosslrt', 'libldap-2.3.so.0': u'/opt/csw/lib/sparcv9/libldap-2.3.so.0=libldap-2.3.so.0.2.27 s none CSWoldaprt', 'libcrypto.so.0.9.8': u'/opt/csw/lib/sparcv9/libcrypto.so.0.9.8 f none 0755 root bin 2520480 3820 1261308405 CSWosslrt', 'libsocket.so.1': u'/usr/lib/sparcv9/libsocket.so.1 f none 0755 root bin 96448 3175 1210705279 SUNWcslx', 'libc.so.1': u
 '/usr/lib/sparcv9/libc.so.1 f none 0755 root bin 1271000 23501 1217954364 SUNWcslx', 'liblber-2.3.so.0': u'/opt/csw/lib/sparcv9/liblber-2.3.so.0=liblber-2.3.so.0.2.27 s none CSWoldaprt'}
+DATA_PKGMAP_CACHE             = {'libresolv.so.2': {u'/usr/lib/sparcv9': u'/usr/lib/sparcv9/libresolv.so.2 f none 0755 root bin 448048 5947 1234567885 SUNWcslx', u'/usr/lib': u'/usr/lib/libresolv.so.2 f none 0755 root bin 392904 57407 1234567884 SUNWcsl'}, 'libdb-4.2.so': {u'/opt/csw/bdb42/lib': u'/opt/csw/bdb42/lib/libdb-4.2.so f none 0755 root bin 1327544 49309 1254747864 CSWbdb42', u'/opt/csw/bdb42/lib/sparcv9': u'/opt/csw/bdb42/lib/sparcv9/libdb-4.2.so f none 0755 root bin 1450608 31012 1254748763 CSWbdb42'}, 'libsasl2.so.2': {u'/opt/csw/lib': u'/opt/csw/lib/libsasl2.so.2=libsasl2.so.2.0.22 s none CSWsasl'}, 'libmysqlclient.so.15': {u'/opt/csw/mysql5/lib/mysql': u'/opt/csw/mysql5/lib/mysql/libmysqlclient.so.15=libmysqlclient.so.15.0.0 s none CSWmysql5rt', u'/opt/csw/mysql5/lib/sparcv9/mysql': u'/opt/csw/mysql5/lib/sparcv9/mysql/libmysqlclient.so.15=libmysqlclient.so.15.0.0 s none CSWmysql5rt'}, 'libpcre.so.0': {u'/opt/csw/lib': u'/opt/csw/lib/libpcre.so.0=libpcre.so.0.0.
 1 s none CSWpcrert', u'/opt/csw/lib/sparcv9': u'/opt/csw/lib/sparcv9/libpcre.so.0=libpcre.so.0.0.1 s none CSWpcrert'}, 'libssl.so.0.9.8': {u'/opt/csw/lib/sparcv8plus+vis': u'/opt/csw/lib/sparcv8plus+vis/libssl.so.0.9.8 f none 0755 root bin 375532 23572 1261306582 CSWosslrt', u'/opt/csw/lib': u'/opt/csw/lib/libssl.so.0.9.8 f none 0555 root bin 372000 63313 1261304839 CSWosslrt', u'/opt/csw/lib/sparcv9': u'/opt/csw/lib/sparcv9/libssl.so.0.9.8 f none 0755 root bin 427792 46460 1261308405 CSWosslrt'}, 'libldap-2.3.so.0': {u'/opt/csw/lib': u'/opt/csw/lib/libldap-2.3.so.0=libldap-2.3.so.0.2.27 s none CSWoldaprt', u'/opt/csw/lib/sparcv9': u'/opt/csw/lib/sparcv9/libldap-2.3.so.0=libldap-2.3.so.0.2.27 s none CSWoldaprt'}, 'libnsl.so.1': {u'/usr/lib/sparcv9': u'/usr/lib/sparcv9/libnsl.so.1 f none 0755 root bin 1099248 7581 1217954364 SUNWcslx', u'/usr/lib': u'/usr/lib/libnsl.so.1 f none 0755 root bin 920500 29766 1217954358 SUNWcsl'}, 'libcrypto.so.0.9.8': {u'/opt/csw/lib/sparcv8plus+
 vis': u'/opt/csw/lib/sparcv8plus+vis/libcrypto.so.0.9.8 f none 0755 root bin 2194440 48878 1261306582 CSWosslrt', u'/opt/csw/lib': u'/opt/csw/lib/libcrypto.so.0.9.8 f none 0555 root bin 2166696 48180 1261304839 CSWosslrt', u'/opt/csw/lib/sparcv9': u'/opt/csw/lib/sparcv9/libcrypto.so.0.9.8 f none 0755 root bin 2520480 3820 1261308405 CSWosslrt'}, 'libsocket.so.1': {u'/usr/lib/sparcv9': u'/usr/lib/sparcv9/libsocket.so.1 f none 0755 root bin 96448 3175 1210705279 SUNWcslx', u'/usr/lib': u'/usr/lib/libsocket.so.1 f none 0755 root bin 70860 28509 1210705279 SUNWcsl'}, 'libc.so.1': {u'/usr/lib/libp/sparcv9': u'/usr/lib/libp/sparcv9/libc.so.1 f none 0755 root bin 1395296 13745 1217954372 SUNWdplx', u'/usr/lib/sparcv9': u'/usr/lib/sparcv9/libc.so.1 f none 0755 root bin 1271000 23501 1217954364 SUNWcslx', u'/usr/lib': u'/usr/lib/libc.so.1 f none 0755 root bin 1157948 58901 1217954358 SUNWcsl'}, 'liblber-2.3.so.0': {u'/opt/csw/lib': u'/opt/csw/lib/liblber-2.3.so.0=liblber-2.3.so.0.2.2
 7 s none CSWoldaprt', u'/opt/csw/lib/sparcv9': u'/opt/csw/lib/sparcv9/liblber-2.3.so.0=liblber-2.3.so.0.2.27 s none CSWoldaprt'}, 'libpq.so.5': {u'/opt/csw/postgresql/lib': u'/opt/csw/postgresql/lib/libpq.so.5=libpq.so.5.1 s none CSWlibpq', u'/opt/csw/postgresql/lib/sparcv9': u'/opt/csw/postgresql/lib/sparcv9/libpq.so.5=libpq.so.5.1 s none CSWlibpq'}}
+DATA_BINARIES_BY_SONAME       = {'libresolv.so.2': set(['postmulti', 'spawn', 'postkick', 'postlog', 'postconf', 'bounce', 'qmqpd', 'virtual', 'flush', 'proxymap', 'scache', 'anvil', 'verify', 'postalias', 'postcat', 'nqmgr', 'pickup', 'oqmgr', 'master', 'postqueue', 'postmap', 'local', 'showq', 'sendmail', 'discard', 'lmtp', 'postdrop', 'trivial-rewrite', 'postfix', 'postlock', 'pipe', 'tlsmgr', 'error', 'smtpd', 'postsuper', 'cleanup']), 'libdb-4.2.so': set(['postmulti', 'spawn', 'postkick', 'postlog', 'postconf', 'bounce', 'qmqpd', 'virtual', 'flush', 'proxymap', 'scache', 'anvil', 'verify', 'postalias', 'postcat', 'nqmgr', 'pickup', 'oqmgr', 'master', 'postqueue', 'postmap', 'local', 'showq', 'sendmail', 'discard', 'lmtp', 'postdrop', 'trivial-rewrite', 'postfix', 'postlock', 'pipe', 'tlsmgr', 'error', 'smtpd', 'postsuper', 'cleanup']), 'libsasl2.so.2': set(['postmulti', 'spawn', 'postkick', 'postlog', 'postconf', 'bounce', 'qmqpd', 'virtual', 'flush', 'proxymap', 'scach
 e', 'anvil', 'verify', 'postalias', 'postcat', 'nqmgr', 'pickup', 'oqmgr', 'master', 'postqueue', 'postmap', 'local', 'showq', 'sendmail', 'discard', 'lmtp', 'postdrop', 'trivial-rewrite', 'postfix', 'postlock', 'pipe', 'tlsmgr', 'error', 'smtpd', 'postsuper', 'cleanup']), 'libmysqlclient.so.15': set(['postmulti', 'spawn', 'postkick', 'postlog', 'postconf', 'bounce', 'qmqpd', 'virtual', 'flush', 'proxymap', 'scache', 'anvil', 'verify', 'postalias', 'postcat', 'nqmgr', 'pickup', 'oqmgr', 'master', 'postqueue', 'postmap', 'local', 'showq', 'sendmail', 'discard', 'lmtp', 'postdrop', 'trivial-rewrite', 'postfix', 'postlock', 'pipe', 'tlsmgr', 'error', 'smtpd', 'postsuper', 'cleanup']), 'libpcre.so.0': set(['postmulti', 'spawn', 'postkick', 'postlog', 'postconf', 'bounce', 'qmqpd', 'virtual', 'flush', 'proxymap', 'scache', 'anvil', 'verify', 'postalias', 'postcat', 'nqmgr', 'pickup', 'oqmgr', 'master', 'postqueue', 'postmap', 'local', 'showq', 'sendmail', 'discard', 'lmtp', 'post
 drop', 'trivial-rewrite', 'postfix', 'postlock', 'pipe', 'tlsmgr', 'error', 'smtpd', 'postsuper', 'cleanup']), 'libssl.so.0.9.8': set(['postmulti', 'spawn', 'postkick', 'postlog', 'postconf', 'bounce', 'qmqpd', 'virtual', 'flush', 'proxymap', 'scache', 'anvil', 'verify', 'postalias', 'postcat', 'nqmgr', 'pickup', 'oqmgr', 'master', 'postqueue', 'postmap', 'local', 'showq', 'sendmail', 'discard', 'lmtp', 'postdrop', 'trivial-rewrite', 'postfix', 'postlock', 'pipe', 'tlsmgr', 'error', 'smtpd', 'postsuper', 'cleanup']), 'libldap-2.3.so.0': set(['postmulti', 'spawn', 'postkick', 'postlog', 'postconf', 'bounce', 'qmqpd', 'virtual', 'flush', 'proxymap', 'scache', 'anvil', 'verify', 'postalias', 'postcat', 'nqmgr', 'pickup', 'oqmgr', 'master', 'postqueue', 'postmap', 'local', 'showq', 'sendmail', 'discard', 'lmtp', 'postdrop', 'trivial-rewrite', 'postfix', 'postlock', 'pipe', 'tlsmgr', 'error', 'smtpd', 'postsuper', 'cleanup']), 'libnsl.so.1': set(['postmulti', 'spawn', 'postkick',
  'postlog', 'postconf', 'bounce', 'qmqpd', 'virtual', 'flush', 'proxymap', 'scache', 'anvil', 'verify', 'postalias', 'postcat', 'nqmgr', 'pickup', 'oqmgr', 'master', 'postqueue', 'postmap', 'local', 'showq', 'sendmail', 'discard', 'lmtp', 'postdrop', 'trivial-rewrite', 'postfix', 'postlock', 'pipe', 'tlsmgr', 'error', 'smtpd', 'postsuper', 'cleanup']), 'libcrypto.so.0.9.8': set(['postmulti', 'spawn', 'postkick', 'postlog', 'postconf', 'bounce', 'qmqpd', 'virtual', 'flush', 'proxymap', 'scache', 'anvil', 'verify', 'postalias', 'postcat', 'nqmgr', 'pickup', 'oqmgr', 'master', 'postqueue', 'postmap', 'local', 'showq', 'sendmail', 'discard', 'lmtp', 'postdrop', 'trivial-rewrite', 'postfix', 'postlock', 'pipe', 'tlsmgr', 'error', 'smtpd', 'postsuper', 'cleanup']), 'libc.so.1': set(['postmulti', 'spawn', 'postkick', 'postlog', 'postconf', 'bounce', 'qmqpd', 'virtual', 'flush', 'proxymap', 'scache', 'anvil', 'verify', 'postalias', 'postcat', 'nqmgr', 'pickup', 'oqmgr', 'master', 'p
 ostqueue', 'postmap', 'local', 'showq', 'sendmail', 'discard', 'lmtp', 'postdrop', 'trivial-rewrite', 'postfix', 'postlock', 'pipe', 'tlsmgr', 'error', 'smtpd', 'postsuper', 'cleanup']), 'libsocket.so.1': set(['postmulti', 'spawn', 'postkick', 'postlog', 'postconf', 'bounce', 'qmqpd', 'virtual', 'flush', 'proxymap', 'scache', 'anvil', 'verify', 'postalias', 'postcat', 'nqmgr', 'pickup', 'oqmgr', 'master', 'postqueue', 'postmap', 'local', 'showq', 'sendmail', 'discard', 'lmtp', 'postdrop', 'trivial-rewrite', 'postfix', 'postlock', 'pipe', 'tlsmgr', 'error', 'smtpd', 'postsuper', 'cleanup']), 'liblber-2.3.so.0': set(['postmulti', 'spawn', 'postkick', 'postlog', 'postconf', 'bounce', 'qmqpd', 'virtual', 'flush', 'proxymap', 'scache', 'anvil', 'verify', 'postalias', 'postcat', 'nqmgr', 'pickup', 'oqmgr', 'master', 'postqueue', 'postmap', 'local', 'showq', 'sendmail', 'discard', 'lmtp', 'postdrop', 'trivial-rewrite', 'postfix', 'postlock', 'pipe', 'tlsmgr', 'error', 'smtpd', 'pos
 tsuper', 'cleanup']), 'libpq.so.5': set(['postmulti', 'spawn', 'postkick', 'postlog', 'postconf', 'bounce', 'qmqpd', 'virtual', 'flush', 'proxymap', 'scache', 'anvil', 'verify', 'postalias', 'postcat', 'nqmgr', 'pickup', 'oqmgr', 'master', 'postqueue', 'postmap', 'local', 'showq', 'sendmail', 'discard', 'lmtp', 'postdrop', 'trivial-rewrite', 'postfix', 'postlock', 'pipe', 'tlsmgr', 'error', 'smtpd', 'postsuper', 'cleanup'])}
+DATA_ISALIST                  = ['sparcv9+vis2', 'sparcv9+vis', 'sparcv9', 'sparcv8plus+vis2', 'sparcv8plus+vis', 'sparcv8plus', 'sparcv8', 'sparcv8-fsmuld', 'sparcv7', 'sparc']


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



More information about the devel mailing list