[csw-devel] SF.net SVN: gar:[7753] csw/mgar/gar/v2-checkpkg/bin
wahwah at users.sourceforge.net
wahwah at users.sourceforge.net
Sun Dec 27 15:23:14 CET 2009
Revision: 7753
http://gar.svn.sourceforge.net/gar/?rev=7753&view=rev
Author: wahwah
Date: 2009-12-27 14:23:13 +0000 (Sun, 27 Dec 2009)
Log Message:
-----------
mGAR v2-checkpkg: Handling self-provided dependencies, added more tests and test data
Modified Paths:
--------------
csw/mgar/gar/v2-checkpkg/bin/checkpkg.d/checkpkg-libs.py
csw/mgar/gar/v2-checkpkg/bin/checkpkg.d/checkpkg.py
csw/mgar/gar/v2-checkpkg/bin/checkpkg.d/checkpkg_test.py
csw/mgar/gar/v2-checkpkg/bin/mkpackage
Added Paths:
-----------
csw/mgar/gar/v2-checkpkg/bin/checkpkg.d/checkpkg_test_data_CSWmysql51.py
csw/mgar/gar/v2-checkpkg/bin/checkpkg.d/checkpkg_test_data_CSWmysql51client.py
csw/mgar/gar/v2-checkpkg/bin/checkpkg.d/checkpkg_test_data_CSWmysql51rt.py
Modified: csw/mgar/gar/v2-checkpkg/bin/checkpkg.d/checkpkg-libs.py
===================================================================
--- csw/mgar/gar/v2-checkpkg/bin/checkpkg.d/checkpkg-libs.py 2009-12-26 21:18:41 UTC (rev 7752)
+++ csw/mgar/gar/v2-checkpkg/bin/checkpkg.d/checkpkg-libs.py 2009-12-27 14:23:13 UTC (rev 7753)
@@ -14,11 +14,11 @@
import sys
DUMP_BIN = "/usr/ccs/bin/dump"
-NEEDED_SONAMES = "needed sonames"
RUNPATH = "runpath"
-TYPICAL_DEPENDENCIES = set(["CSWcommon", "CSWcswclassutils"])
+SONAME = "soname"
def main():
+ errors = []
options, args = checkpkg.GetOptions()
if options.debug:
logging.basicConfig(level=logging.DEBUG)
@@ -32,22 +32,32 @@
checkers.append(checker)
binaries = []
binaries_by_pkgname = {}
+ sonames_by_pkgname = {}
+ pkg_by_any_filename = {}
for checker in checkers:
pkg_binary_paths = checker.ListBinaries()
binaries_base = [os.path.split(x)[1] for x in pkg_binary_paths]
binaries_by_pkgname[checker.pkgname] = binaries_base
binaries.extend(pkg_binary_paths)
+ for f in checker.GetAllFilenames():
+ pkg_by_any_filename[f] = checker.pkgname
# Making the binaries unique
binaries = set(binaries)
ws_re = re.compile(r"\s+")
+ # TODO: map from binaries_by_pkgname to sonames_by_pkgname
+ #
+ # Essentially, we must look at libfoo.so.1.2.3 and map it to libfoo.so.1,
+ # whatever soname it has
+
# man ld.so.1 for more info on this hack
env = copy.copy(os.environ)
env["LD_NOAUXFLTR"] = "1"
needed_sonames_by_binary = {}
+ filenames_by_soname = {}
# Assembling a data structure with the data about binaries.
# {
- # <binary1 name>: { NEEDED_SONAMES: [...],
+ # <binary1 name>: { checkpkg.NEEDED_SONAMES: [...],
# RUNPATH: [...]},
# <binary2 name>: ...,
# ...
@@ -69,15 +79,19 @@
if len(fields) < 3:
continue
if fields[1] == "NEEDED":
- if NEEDED_SONAMES not in binary_data:
- binary_data[NEEDED_SONAMES] = []
- binary_data[NEEDED_SONAMES].append(fields[2])
+ if checkpkg.NEEDED_SONAMES not in binary_data:
+ binary_data[checkpkg.NEEDED_SONAMES] = []
+ binary_data[checkpkg.NEEDED_SONAMES].append(fields[2])
elif fields[1] == "RUNPATH":
if RUNPATH not in binary_data:
binary_data[RUNPATH] = []
binary_data[RUNPATH].extend(fields[2].split(":"))
# Adding the default runtime path search option.
binary_data[RUNPATH].append("/usr/lib")
+ elif fields[1] == "SONAME":
+ binary_data[SONAME] = fields[2]
+ if SONAME in binary_data:
+ filenames_by_soname[binary_data[SONAME]] = binary_base_name
# TODO: make it a unit test
# print needed_sonames_by_binary
@@ -89,7 +103,7 @@
needed_sonames = set()
binaries_by_soname = {}
for binary_name, data in needed_sonames_by_binary.iteritems():
- for soname in data[NEEDED_SONAMES]:
+ for soname in data[checkpkg.NEEDED_SONAMES]:
needed_sonames.add(soname)
if soname not in runpath_by_needed_soname:
runpath_by_needed_soname[soname] = []
@@ -104,79 +118,102 @@
lines_by_soname = {}
for soname in needed_sonames:
try:
+ # This is the critical part of the algorithm: it iterates over the
+ # runpath and finds the first matching one.
+ #
+ # TODO: Expand $ISALIST to whatever the 'isalist' command outputs for
+ # better matching.
for runpath in runpath_by_needed_soname[soname]:
- if runpath in pkgmap.GetPkgmapLineByBasename(soname):
- # logging.debug("%s found in %s", runpath, pkgmap.GetPkgmapLineByBasename(soname))
- # logging.debug("line found: %s", repr(pkgmap.GetPkgmapLineByBasename(soname)[runpath]))
- lines_by_soname[soname] = pkgmap.GetPkgmapLineByBasename(soname)[runpath]
+ soname_runpath_data = pkgmap.GetPkgmapLineByBasename(soname)
+ if runpath in soname_runpath_data:
+ lines_by_soname[soname] = soname_runpath_data[runpath]
break
except KeyError, e:
- logging.debug("KeyError: %s", soname, e)
- pkgs_by_soname = {}
+ logging.debug("couldn't find %s in the needed sonames list: %s",
+ soname, e)
+ pkgs_by_filename = {}
for soname, line in lines_by_soname.iteritems():
# TODO: Find all the packages, not just the last field.
fields = re.split(ws_re, line.strip())
# For now, we'll assume that the last field is the package.
pkgname = fields[-1]
- pkgs_by_soname[soname] = pkgname
+ pkgs_by_filename[soname] = pkgname
# A shared object dependency/provisioning report, plus checking.
if needed_sonames:
print "Analysis of sonames needed by the package set:"
for soname in needed_sonames:
- if soname in needed_sonames_by_binary:
+ if soname in filenames_by_soname:
print "%s is provided by the package itself" % soname
elif soname in lines_by_soname:
print ("%s is required by %s and provided by %s"
% (soname,
binaries_by_soname[soname],
- repr(pkgs_by_soname[soname])))
+ repr(pkgs_by_filename[soname])))
else:
print ("%s is required by %s, but we don't know what provides it."
% (soname, binaries_by_soname[soname]))
- result_ok = False
+ errors.append(checkpkg.Error("%s is required by %s, but we don't know what provides it."
+ % (soname, binaries_by_soname[soname])))
print
+ # Data needed for this section:
+ # - pkgname
+ # - declared dependencies
+ # - binaries_by_pkgname
+ # - needed_sonames_by_binary
+ # - pkgs_by_filename
dependent_pkgs = {}
for checker in checkers:
orphan_sonames = set()
pkgname = checker.pkgname
- # logging.debug("Reporting package %s", pkgname)
+ print "%s:" % pkgname
declared_dependencies = checker.GetDependencies()
- so_dependencies = set()
- for binary in binaries_by_pkgname[pkgname]:
- if binary in needed_sonames_by_binary:
- for soname in needed_sonames_by_binary[binary][NEEDED_SONAMES]:
- if soname in pkgs_by_soname:
- so_dependencies.add(pkgs_by_soname[soname])
- else:
- orphan_sonames.add(soname)
- else:
- logging.warn("%s not found in needed_sonames_by_binary (%s)",
- binary, needed_sonames_by_binary.keys())
- declared_dependencies_set = set(declared_dependencies)
- missing_deps = so_dependencies.difference(declared_dependencies_set)
+ missing_deps, surplus_deps, orphan_sonames = checkpkg.AnalyzeDependencies(
+ pkgname,
+ declared_dependencies,
+ binaries_by_pkgname,
+ needed_sonames_by_binary,
+ pkgs_by_filename,
+ filenames_by_soname,
+ pkg_by_any_filename)
+
+ save_testing_data = True
+ if save_testing_data:
+ test_fd = open("/var/tmp/checkpkg-dep-testing-data-%s.py" % pkgname, "w")
+ sanitized_pkgname = pkgname.replace("-", "_")
+ print >>test_fd, "# Testing data for %s" % pkgname
+ print >>test_fd, "DATA_PKGNAME =" % sanitized_pkgname, repr(pkgname)
+ print >>test_fd, "DATA_DECLARED_DEPENDENCIES =" % sanitized_pkgname, repr(declared_dependencies)
+ print >>test_fd, "DATA_BINARIES_BY_PKGNAME =" % sanitized_pkgname, repr(binaries_by_pkgname)
+ print >>test_fd, "DATA_NEEDED_SONAMES_BY_BINARY =" % sanitized_pkgname, repr(needed_sonames_by_binary)
+ print >>test_fd, "DATA_PKGS_BY_FILENAME =" % sanitized_pkgname, repr(pkgs_by_filename)
+ print >>test_fd, "DATA_FILENAMES_BY_SONAME =" % sanitized_pkgname, repr(filenames_by_soname)
+ print >>test_fd, "DATA_PKG_BY_ANY_FILENAME =" % sanitized_pkgname, repr(pkg_by_any_filename)
+ test_fd.close()
+
if missing_deps:
print "SUGGESTION: you may want to add some or all of the following as depends:"
print " (Feel free to ignore SUNW or SPRO packages)"
for dep_pkgname in sorted(missing_deps):
print ">", dep_pkgname
-
- surplus_dependencies = declared_dependencies_set.difference(so_dependencies)
- surplus_dependencies = surplus_dependencies.difference(TYPICAL_DEPENDENCIES)
- if surplus_dependencies:
+ if surplus_deps:
print "The following packages might be unnecessary dependencies:"
- for dep_pkgname in surplus_dependencies:
- print " ", dep_pkgname
+ for dep_pkgname in surplus_deps:
+ print "? ", dep_pkgname
if orphan_sonames:
print "The following sonames don't belong to any package:"
for soname in sorted(orphan_sonames):
- print " ", soname
+ errors.append(checkpkg.Error("The following soname does't belong to "
+ "any package: %s" % soname))
+ print "! ", soname
- if result_ok:
+ if errors:
+ for error in errors:
+ logging.error(error)
+ sys.exit(1)
+ else:
sys.exit(0)
- else:
- sys.exit(1)
if __name__ == '__main__':
Modified: csw/mgar/gar/v2-checkpkg/bin/checkpkg.d/checkpkg.py
===================================================================
--- csw/mgar/gar/v2-checkpkg/bin/checkpkg.d/checkpkg.py 2009-12-26 21:18:41 UTC (rev 7752)
+++ csw/mgar/gar/v2-checkpkg/bin/checkpkg.d/checkpkg.py 2009-12-27 14:23:13 UTC (rev 7753)
@@ -14,6 +14,9 @@
SYSTEM_PKGMAP = "/var/sadm/install/contents"
WS_RE = re.compile(r"\s+")
+NEEDED_SONAMES = "needed sonames"
+# Don't report these as unnecessary.
+TYPICAL_DEPENDENCIES = set(["CSWcommon", "CSWcswclassutils", "CSWisaexec"])
class Error(Exception):
pass
@@ -51,6 +54,11 @@
self.pkgname = pkgname
self.pkgpath = os.path.join(self.extractdir, self.pkgname)
+ def CheckPkgpathExists(self):
+ if not os.path.isdir(self.pkgpath):
+ raise PackageError("%s does not exist or is not a directory"
+ % self.pkgpath)
+
def ListBinaries(self):
# #########################################
# # find all executables and dynamic libs,and list their filenames.
@@ -63,10 +71,8 @@
#
# find $1 -print | xargs file |grep ELF |nawk -F: '{print $1}'
# }
+ self.CheckPkgpathExists()
find_tmpl = "find %s -print | xargs file | grep ELF | nawk -F: '{print $1}'"
- if not os.path.isdir(self.pkgpath):
- raise PackageError("%s does not exist or is not a directory"
- % self.pkgpath)
find_proc = subprocess.Popen(find_tmpl % self.pkgpath,
shell=True, stdout=subprocess.PIPE)
stdout, stderr = find_proc.communicate()
@@ -75,6 +81,13 @@
logging.error("The find command returned an error.")
return stdout.splitlines()
+ def GetAllFilenames(self):
+ self.CheckPkgpathExists()
+ file_basenames = []
+ for root, dirs, files in os.walk(self.pkgpath):
+ file_basenames.extend(files)
+ return file_basenames
+
def GetDependencies(self):
fd = open(os.path.join(self.pkgpath, "install", "depend"), "r")
depends = {}
@@ -150,3 +163,69 @@
for row in c:
lines[row[0]] = row[1]
return lines
+
+def SharedObjectDependencies(pkgname,
+ binaries_by_pkgname,
+ needed_sonames_by_binary,
+ pkgs_by_soname,
+ filenames_by_soname,
+ pkg_by_any_filename):
+ so_dependencies = set()
+ orphan_sonames = set()
+ self_provided = set()
+ for binary in binaries_by_pkgname[pkgname]:
+ if binary in needed_sonames_by_binary:
+ for soname in needed_sonames_by_binary[binary][NEEDED_SONAMES]:
+ if soname in filenames_by_soname:
+ filename = filenames_by_soname[soname]
+ pkg = pkg_by_any_filename[filename]
+ self_provided.add(soname)
+ so_dependencies.add(pkg)
+ elif soname in pkgs_by_soname:
+ so_dependencies.add(pkgs_by_soname[soname])
+ else:
+ orphan_sonames.add(soname)
+ else:
+ logging.warn("%s not found in needed_sonames_by_binary (%s)",
+ binary, needed_sonames_by_binary.keys())
+ return so_dependencies, self_provided, orphan_sonames
+
+
+def AnalyzeDependencies(pkgname,
+ declared_dependencies,
+ binaries_by_pkgname,
+ needed_sonames_by_binary,
+ pkgs_by_soname,
+ filenames_by_soname,
+ pkg_by_any_filename):
+ """
+ missing_deps, surplus_deps, orphan_sonames = checkpkg.AnalyzeDependencies(...)
+ """
+ so_dependencies, self_provided, orphan_sonames = SharedObjectDependencies(
+ pkgname,
+ binaries_by_pkgname,
+ needed_sonames_by_binary,
+ pkgs_by_soname,
+ filenames_by_soname,
+ pkg_by_any_filename)
+ guessed_deps = set()
+ patterns = (
+ (r".*\.py", u"CSWpython"),
+ (r".*\.pl", u"CSWperl"),
+ (r".*\.rb", u"CSWruby"),
+ )
+ for pattern, dep_pkgname in patterns:
+ # If any file name matches, add the dep, go to the next pattern/pkg
+ # combination.
+ tmp_re = re.compile("^%s$" % pattern)
+ for f in pkg_by_any_filename:
+ if re.match(tmp_re, f):
+ if pkgname == pkg_by_any_filename[f]:
+ guessed_deps.add(dep_pkgname)
+ break
+ auto_dependencies = so_dependencies.union(guessed_deps)
+ declared_dependencies_set = set(declared_dependencies)
+ missing_deps = auto_dependencies.difference(declared_dependencies_set)
+ surplus_deps = declared_dependencies_set.difference(auto_dependencies)
+ surplus_deps = surplus_deps.difference(TYPICAL_DEPENDENCIES)
+ return missing_deps, surplus_deps, orphan_sonames
Modified: csw/mgar/gar/v2-checkpkg/bin/checkpkg.d/checkpkg_test.py
===================================================================
--- csw/mgar/gar/v2-checkpkg/bin/checkpkg.d/checkpkg_test.py 2009-12-26 21:18:41 UTC (rev 7752)
+++ csw/mgar/gar/v2-checkpkg/bin/checkpkg.d/checkpkg_test.py 2009-12-27 14:23:13 UTC (rev 7753)
@@ -1,8 +1,83 @@
#!/opt/csw/bin/python2.6
+# $Id$
import unittest
+import checkpkg
+import checkpkg_test_data_CSWmysql51rt as d1
+import checkpkg_test_data_CSWmysql51client as d2
+import checkpkg_test_data_CSWmysql51 as d3
+class DependenciesUnitTest_1(unittest.TestCase):
+ def setUp(self):
+ self.missing_deps, self.surplus_deps, self.orphan_sonames = checkpkg.AnalyzeDependencies(
+ d1.DATA_PKGNAME,
+ d1.DATA_DECLARED_DEPENDENCIES,
+ d1.DATA_BINARIES_BY_PKGNAME,
+ d1.DATA_NEEDED_SONAMES_BY_BINARY,
+ d1.DATA_PKGS_BY_FILENAME,
+ d1.DATA_FILENAMES_BY_SONAME,
+ d1.DATA_PKG_BY_ANY_FILENAME,
+ )
+ def testSurplusDeps(self):
+ # set(['CSWmysql51rt', 'CSWosslrt', 'CSWncurses', 'CSWzlib'])
+ self.assertEquals(set([]), self.surplus_deps)
+
+ def testOrphanSonames(self):
+ self.assertEquals(set([]), self.orphan_sonames)
+
+ def testMissingDeps(self):
+ # expected = set([u'SUNWlmsx', u'SUNWlibCx', u'CSWosslrt', u'SUNWcsl', u'SUNWcslx'])
+ self.assertEquals(set([u'SUNWlibC', u'SUNWcsl', u'SUNWlibms']), self.missing_deps)
+
+
+class DependenciesUnitTest_2(unittest.TestCase):
+
+ def setUp(self):
+ self.missing_deps, self.surplus_deps, self.orphan_sonames = checkpkg.AnalyzeDependencies(
+ d2.DATA_PKGNAME,
+ d2.DATA_DECLARED_DEPENDENCIES,
+ d2.DATA_BINARIES_BY_PKGNAME,
+ d2.DATA_NEEDED_SONAMES_BY_BINARY,
+ d2.DATA_PKGS_BY_FILENAME,
+ d2.DATA_FILENAMES_BY_SONAME,
+ d2.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):
+ self.assertEquals(set([u'SUNWlibC', u'SUNWcsl', u'SUNWlibms']), self.missing_deps)
+
+
+class DependenciesUnitTest_3(unittest.TestCase):
+
+ def setUp(self):
+ self.missing_deps, self.surplus_deps, self.orphan_sonames = checkpkg.AnalyzeDependencies(
+ d3.DATA_PKGNAME,
+ d3.DATA_DECLARED_DEPENDENCIES,
+ d3.DATA_BINARIES_BY_PKGNAME,
+ d3.DATA_NEEDED_SONAMES_BY_BINARY,
+ d3.DATA_PKGS_BY_FILENAME,
+ d3.DATA_FILENAMES_BY_SONAME,
+ d3.DATA_PKG_BY_ANY_FILENAME,
+ )
+
+ def testSurplusDeps(self):
+ self.assertEquals(set([u'CSWmysql51client']), self.surplus_deps)
+
+ def testOrphanSonames(self):
+ self.assertEquals(set([]), self.orphan_sonames)
+
+ def testMissingDeps(self):
+ expected = set(['CSWmysql51rt', u'SUNWcsl', u'SUNWlibms', u'SUNWlibC'])
+ self.assertEquals(expected, self.missing_deps)
+
+
if __name__ == '__main__':
unittest.main()
Added: csw/mgar/gar/v2-checkpkg/bin/checkpkg.d/checkpkg_test_data_CSWmysql51.py
===================================================================
--- csw/mgar/gar/v2-checkpkg/bin/checkpkg.d/checkpkg_test_data_CSWmysql51.py (rev 0)
+++ csw/mgar/gar/v2-checkpkg/bin/checkpkg.d/checkpkg_test_data_CSWmysql51.py 2009-12-27 14:23:13 UTC (rev 7753)
@@ -0,0 +1,9 @@
+# Testing data for CSWmysql51
+# $Id$
+DATA_PKGNAME = 'CSWmysql51'
+DATA_DECLARED_DEPENDENCIES = {'CSWcswclassutils': 'CSWcswclassutils cswclassutils - CSW class action utilities ', 'CSWcommon': 'CSWcommon common - common files and dirs for CSW packages ', 'CSWmysql51client': 'CSWmysql51client mysql51client - MySQL 5.1 client binaries ', 'CSWisaexec': 'CSWisaexec isaexec - sneaky wrapper around Sun isaexec ', 'CSWzlib': 'CSWzlib zlib - Zlib Data Compression Library ', 'CSWosslrt': 'CSWosslrt openssl_rt - Openssl runtime libraries '}
+DATA_BINARIES_BY_PKGNAME = {'CSWmysql51': ['mysqlslap', 'resolve_stack_dump', 'mysql_tzinfo_to_sql', 'resolveip', 'mysql_waitpid', 'my_print_defaults', 'mysql_upgrade', 'innochecksum', 'myisam_ftdump', 'myisamchk', 'mysqltest', 'resolve_stack_dump', 'mysql_waitpid', 'resolveip', 'my_print_defaults', 'mysqlslap', 'myisamchk', 'innochecksum', 'mysqltest', 'myisam_ftdump', 'mysql_upgrade', 'mysql_tzinfo_to_sql', 'mysqlmanager', 'mysqld', 'mysqlmanager', 'mysqld'], 'CSWmysql51rt': ['libmysqlclient_r.so.16.0.0', 'ha_example.so.0.0.0', 'ha_innodb_plugin.so.0.0.0', 'libmysqlclient.so.16.0.0', 'libmysqlclient_r.so.16.0.0', 'ha_example.so.0.0.0', 'ha_innodb_plugin.so.0.0.0', 'libmysqlclient.so.16.0.0'], 'CSWmysql51test': ['my_safe_process'], 'CSWmysql51client': ['myisampack', 'mysql_client_test', 'mysql', 'mysqlimport', 'mysqladmin', 'mysqldump', 'mysqlbinlog', 'mysqlcheck', 'mysqlshow', 'replace', 'myisamlog', 'perror', 'myisampack', 'mysqldump', 'perror', 'mysqlcheck', 'mysql', 're
place', 'mysqladmin', 'mysqlimport', 'mysqlbinlog', 'mysql_client_test', 'mysqlshow', 'myisamlog'], 'CSWmysql51bench': [], 'CSWmysql51devel': []}
+DATA_NEEDED_SONAMES_BY_BINARY = {'ha_example.so.0.0.0': {'runpath': ['/opt/csw/lib/$ISALIST', '/opt/csw/lib', '/opt/csw/mysql51/lib/$ISALIST', '/opt/csw/mysql51/lib', '/opt/csw/lib', '/opt/csw/mysql51/lib/$ISALIST/mysql', '/opt/studio/SOS11/SUNWspro/lib/rw7', '/opt/studio/SOS11/SUNWspro/lib/v8', '/opt/studio/SOS11/SUNWspro/lib', '/opt/SUNWspro/lib/v8', '/opt/SUNWspro/lib', '/usr/ccs/lib', '/lib', '/usr/lib', '/usr/lib', '/opt/csw/lib/$ISALIST', '/opt/csw/lib/64', '/opt/csw/mysql51/lib/$ISALIST', '/opt/csw/mysql51/lib/64', '/opt/csw/mysql51/lib/64/$ISALIST/mysql', '/opt/studio/SOS11/SUNWspro/lib/rw7/v9', '/opt/studio/SOS11/SUNWspro/lib/v9', '/opt/SUNWspro/lib/v9', '/usr/ccs/lib/sparcv9', '/lib/sparcv9', '/usr/lib/sparcv9', '/usr/lib'], 'soname': 'ha_example.so.0', 'needed sonames': ['libpthread.so.1', 'librt.so.1', 'libresolv.so.2', 'libc.so.1', 'libsocket.so.1', 'libnsl.so.1', 'libm.so.1', 'libCstd.so.1', 'libCrun.so.1', 'libpthread.so.1', 'librt.so.1', 'libresolv.so.2', 'li
bc.so.1', 'libsocket.so.1', 'libnsl.so.1', 'libm.so.1', 'libCstd.so.1', 'libCrun.so.1']}, 'mysql_waitpid': {'runpath': ['/opt/csw/lib/$ISALIST', '/opt/csw/lib', '/opt/csw/mysql51/lib/$ISALIST', '/opt/csw/mysql51/lib', '/opt/csw/lib', '/opt/csw/mysql51/lib/$ISALIST/mysql', '/usr/lib', '/opt/csw/lib/$ISALIST', '/opt/csw/lib/64', '/opt/csw/mysql51/lib/$ISALIST', '/opt/csw/mysql51/lib/64', '/opt/csw/mysql51/lib/64/$ISALIST/mysql', '/usr/lib'], 'needed sonames': ['libz.so.1', 'libpthread.so.1', 'librt.so.1', 'libresolv.so.2', 'libc.so.1', 'libsocket.so.1', 'libnsl.so.1', 'libm.so.1', 'libthread.so.1', 'libz.so.1', 'libpthread.so.1', 'librt.so.1', 'libresolv.so.2', 'libc.so.1', 'libsocket.so.1', 'libnsl.so.1', 'libm.so.1', 'libthread.so.1']}, 'replace': {'runpath': ['/opt/csw/lib/$ISALIST', '/opt/csw/lib', '/opt/csw/mysql51/lib/$ISALIST', '/opt/csw/mysql51/lib', '/opt/csw/lib', '/opt/csw/mysql51/lib/$ISALIST/mysql', '/usr/lib', '/opt/csw/lib/$ISALIST', '/opt/csw/lib/64', '/opt/csw
/mysql51/lib/$ISALIST', '/opt/csw/mysql51/lib/64', '/opt/csw/mysql51/lib/64/$ISALIST/mysql', '/usr/lib'], 'needed sonames': ['libz.so.1', 'libpthread.so.1', 'librt.so.1', 'libresolv.so.2', 'libc.so.1', 'libsocket.so.1', 'libnsl.so.1', 'libm.so.1', 'libthread.so.1', 'libz.so.1', 'libpthread.so.1', 'librt.so.1', 'libresolv.so.2', 'libc.so.1', 'libsocket.so.1', 'libnsl.so.1', 'libm.so.1', 'libthread.so.1']}, 'myisamchk': {'runpath': ['/opt/csw/lib/$ISALIST', '/opt/csw/lib/64', '/opt/csw/mysql51/lib/$ISALIST', '/opt/csw/mysql51/lib/64', '/opt/csw/mysql51/lib/64/$ISALIST/mysql', '/usr/lib', '/opt/csw/lib/$ISALIST', '/opt/csw/lib', '/opt/csw/mysql51/lib/$ISALIST', '/opt/csw/mysql51/lib', '/opt/csw/lib', '/opt/csw/mysql51/lib/$ISALIST/mysql', '/usr/lib'], 'needed sonames': ['libz.so.1', 'libpthread.so.1', 'librt.so.1', 'libresolv.so.2', 'libc.so.1', 'libsocket.so.1', 'libnsl.so.1', 'libm.so.1', 'libthread.so.1', 'libz.so.1', 'libpthread.so.1', 'librt.so.1', 'libresolv.so.2', 'libc.
so.1', 'libsocket.so.1', 'libnsl.so.1', 'libm.so.1', 'libthread.so.1']}, 'mysqldump': {'runpath': ['/opt/csw/lib/$ISALIST', '/opt/csw/lib', '/opt/csw/mysql51/lib/$ISALIST', '/opt/csw/mysql51/lib', '/opt/csw/lib', '/opt/csw/mysql51/lib/$ISALIST/mysql', '/opt/csw/mysql51/lib/mysql', '/usr/lib', '/opt/csw/lib/$ISALIST', '/opt/csw/lib/64', '/opt/csw/mysql51/lib/$ISALIST', '/opt/csw/mysql51/lib/64', '/opt/csw/mysql51/lib/64/$ISALIST/mysql', '/opt/csw/mysql51/lib/64/mysql', '/usr/lib'], 'needed sonames': ['libpthread.so.1', 'libmysqlclient.so.16', 'librt.so.1', 'libresolv.so.2', 'libc.so.1', 'libsocket.so.1', 'libnsl.so.1', 'libm.so.1', 'libssl.so.0.9.8', 'libcrypto.so.0.9.8', 'libz.so.1', 'libthread.so.1', 'libpthread.so.1', 'libmysqlclient.so.16', 'librt.so.1', 'libresolv.so.2', 'libc.so.1', 'libsocket.so.1', 'libnsl.so.1', 'libm.so.1', 'libssl.so.0.9.8', 'libcrypto.so.0.9.8', 'libz.so.1', 'libthread.so.1']}, 'mysql': {'runpath': ['/opt/csw/lib/$ISALIST', '/opt/csw/lib/64', '/op
t/csw/mysql51/lib/$ISALIST', '/opt/csw/mysql51/lib/64', '/opt/csw/mysql51/lib/64/$ISALIST/mysql', '/opt/csw/mysql51/lib/64/mysql', '/opt/studio/SOS11/SUNWspro/lib/rw7/v9', '/opt/studio/SOS11/SUNWspro/lib/v9', '/opt/SUNWspro/lib/v9', '/usr/ccs/lib/sparcv9', '/lib/sparcv9', '/usr/lib/sparcv9', '/usr/lib', '/opt/csw/lib/$ISALIST', '/opt/csw/lib', '/opt/csw/mysql51/lib/$ISALIST', '/opt/csw/mysql51/lib', '/opt/csw/lib', '/opt/csw/mysql51/lib/$ISALIST/mysql', '/opt/csw/mysql51/lib/mysql', '/opt/studio/SOS11/SUNWspro/lib/rw7', '/opt/studio/SOS11/SUNWspro/lib/v8', '/opt/studio/SOS11/SUNWspro/lib', '/opt/SUNWspro/lib/v8', '/opt/SUNWspro/lib', '/usr/ccs/lib', '/lib', '/usr/lib', '/usr/lib'], 'needed sonames': ['libncursesw.so.5', 'libpthread.so.1', 'libmysqlclient.so.16', 'librt.so.1', 'libresolv.so.2', 'libc.so.1', 'libsocket.so.1', 'libnsl.so.1', 'libm.so.1', 'libssl.so.0.9.8', 'libcrypto.so.0.9.8', 'libz.so.1', 'libCstd.so.1', 'libCrun.so.1', 'libthread.so.1', 'libncursesw.so.5', '
libpthread.so.1', 'libmysqlclient.so.16', 'librt.so.1', 'libresolv.so.2', 'libc.so.1', 'libsocket.so.1', 'libnsl.so.1', 'libm.so.1', 'libssl.so.0.9.8', 'libcrypto.so.0.9.8', 'libz.so.1', 'libCstd.so.1', 'libCrun.so.1', 'libthread.so.1']}, 'myisam_ftdump': {'runpath': ['/opt/csw/lib/$ISALIST', '/opt/csw/lib/64', '/opt/csw/mysql51/lib/$ISALIST', '/opt/csw/mysql51/lib/64', '/opt/csw/mysql51/lib/64/$ISALIST/mysql', '/usr/lib', '/opt/csw/lib/$ISALIST', '/opt/csw/lib', '/opt/csw/mysql51/lib/$ISALIST', '/opt/csw/mysql51/lib', '/opt/csw/lib', '/opt/csw/mysql51/lib/$ISALIST/mysql', '/usr/lib'], 'needed sonames': ['libz.so.1', 'libpthread.so.1', 'librt.so.1', 'libresolv.so.2', 'libc.so.1', 'libsocket.so.1', 'libnsl.so.1', 'libm.so.1', 'libthread.so.1', 'libz.so.1', 'libpthread.so.1', 'librt.so.1', 'libresolv.so.2', 'libc.so.1', 'libsocket.so.1', 'libnsl.so.1', 'libm.so.1', 'libthread.so.1']}, 'myisamlog': {'runpath': ['/opt/csw/lib/$ISALIST', '/opt/csw/lib', '/opt/csw/mysql51/lib/$ISA
LIST', '/opt/csw/mysql51/lib', '/opt/csw/lib', '/opt/csw/mysql51/lib/$ISALIST/mysql', '/usr/lib', '/opt/csw/lib/$ISALIST', '/opt/csw/lib/64', '/opt/csw/mysql51/lib/$ISALIST', '/opt/csw/mysql51/lib/64', '/opt/csw/mysql51/lib/64/$ISALIST/mysql', '/usr/lib'], 'needed sonames': ['libz.so.1', 'libpthread.so.1', 'librt.so.1', 'libresolv.so.2', 'libc.so.1', 'libsocket.so.1', 'libnsl.so.1', 'libm.so.1', 'libthread.so.1', 'libz.so.1', 'libpthread.so.1', 'librt.so.1', 'libresolv.so.2', 'libc.so.1', 'libsocket.so.1', 'libnsl.so.1', 'libm.so.1', 'libthread.so.1']}, 'mysqlimport': {'runpath': ['/opt/csw/lib/$ISALIST', '/opt/csw/lib', '/opt/csw/mysql51/lib/$ISALIST', '/opt/csw/mysql51/lib', '/opt/csw/lib', '/opt/csw/mysql51/lib/$ISALIST/mysql', '/opt/csw/mysql51/lib/mysql', '/usr/lib', '/opt/csw/lib/$ISALIST', '/opt/csw/lib/64', '/opt/csw/mysql51/lib/$ISALIST', '/opt/csw/mysql51/lib/64', '/opt/csw/mysql51/lib/64/$ISALIST/mysql', '/opt/csw/mysql51/lib/64/mysql', '/usr/lib'], 'needed soname
s': ['libpthread.so.1', 'libmysqlclient_r.so.16', 'librt.so.1', 'libresolv.so.2', 'libc.so.1', 'libsocket.so.1', 'libnsl.so.1', 'libm.so.1', 'libssl.so.0.9.8', 'libcrypto.so.0.9.8', 'libz.so.1', 'libthread.so.1', 'libpthread.so.1', 'libmysqlclient_r.so.16', 'librt.so.1', 'libresolv.so.2', 'libc.so.1', 'libsocket.so.1', 'libnsl.so.1', 'libm.so.1', 'libssl.so.0.9.8', 'libcrypto.so.0.9.8', 'libz.so.1', 'libthread.so.1']}, 'mysqlcheck': {'runpath': ['/opt/csw/lib/$ISALIST', '/opt/csw/lib/64', '/opt/csw/mysql51/lib/$ISALIST', '/opt/csw/mysql51/lib/64', '/opt/csw/mysql51/lib/64/$ISALIST/mysql', '/opt/csw/mysql51/lib/64/mysql', '/usr/lib', '/opt/csw/lib/$ISALIST', '/opt/csw/lib', '/opt/csw/mysql51/lib/$ISALIST', '/opt/csw/mysql51/lib', '/opt/csw/lib', '/opt/csw/mysql51/lib/$ISALIST/mysql', '/opt/csw/mysql51/lib/mysql', '/usr/lib'], 'needed sonames': ['libpthread.so.1', 'libmysqlclient.so.16', 'librt.so.1', 'libresolv.so.2', 'libc.so.1', 'libsocket.so.1', 'libnsl.so.1', 'libm.so.1',
'libssl.so.0.9.8', 'libcrypto.so.0.9.8', 'libz.so.1', 'libthread.so.1', 'libpthread.so.1', 'libmysqlclient.so.16', 'librt.so.1', 'libresolv.so.2', 'libc.so.1', 'libsocket.so.1', 'libnsl.so.1', 'libm.so.1', 'libssl.so.0.9.8', 'libcrypto.so.0.9.8', 'libz.so.1', 'libthread.so.1']}, 'mysqlmanager': {'runpath': ['/opt/csw/lib/$ISALIST', '/opt/csw/lib/64', '/opt/csw/mysql51/lib/$ISALIST', '/opt/csw/mysql51/lib/64', '/opt/csw/mysql51/lib/64/$ISALIST/mysql', '/opt/studio/SOS11/SUNWspro/lib/rw7/v9', '/opt/studio/SOS11/SUNWspro/lib/v9', '/opt/SUNWspro/lib/v9', '/usr/ccs/lib/sparcv9', '/lib/sparcv9', '/usr/lib/sparcv9', '/usr/lib', '/opt/csw/lib/$ISALIST', '/opt/csw/lib', '/opt/csw/mysql51/lib/$ISALIST', '/opt/csw/mysql51/lib', '/opt/csw/lib', '/opt/csw/mysql51/lib/$ISALIST/mysql', '/opt/studio/SOS11/SUNWspro/lib/rw7', '/opt/studio/SOS11/SUNWspro/lib/v8', '/opt/studio/SOS11/SUNWspro/lib', '/opt/SUNWspro/lib/v8', '/opt/SUNWspro/lib', '/usr/ccs/lib', '/lib', '/usr/lib', '/usr/lib'], 'ne
eded sonames': ['libpthread.so.1', 'libssl.so.0.9.8', 'libcrypto.so.0.9.8', 'libz.so.1', 'librt.so.1', 'libresolv.so.2', 'libc.so.1', 'libsocket.so.1', 'libnsl.so.1', 'libm.so.1', 'libCstd.so.1', 'libCrun.so.1', 'libthread.so.1', 'libpthread.so.1', 'libssl.so.0.9.8', 'libcrypto.so.0.9.8', 'libz.so.1', 'librt.so.1', 'libresolv.so.2', 'libc.so.1', 'libsocket.so.1', 'libnsl.so.1', 'libm.so.1', 'libCstd.so.1', 'libCrun.so.1', 'libthread.so.1']}, 'mysqladmin': {'runpath': ['/opt/csw/lib/$ISALIST', '/opt/csw/lib/64', '/opt/csw/mysql51/lib/$ISALIST', '/opt/csw/mysql51/lib/64', '/opt/csw/mysql51/lib/64/$ISALIST/mysql', '/opt/csw/mysql51/lib/64/mysql', '/opt/studio/SOS11/SUNWspro/lib/rw7/v9', '/opt/studio/SOS11/SUNWspro/lib/v9', '/opt/SUNWspro/lib/v9', '/usr/ccs/lib/sparcv9', '/lib/sparcv9', '/usr/lib/sparcv9', '/usr/lib', '/opt/csw/lib/$ISALIST', '/opt/csw/lib', '/opt/csw/mysql51/lib/$ISALIST', '/opt/csw/mysql51/lib', '/opt/csw/lib', '/opt/csw/mysql51/lib/$ISALIST/mysql', '/opt/csw/
mysql51/lib/mysql', '/opt/studio/SOS11/SUNWspro/lib/rw7', '/opt/studio/SOS11/SUNWspro/lib/v8', '/opt/studio/SOS11/SUNWspro/lib', '/opt/SUNWspro/lib/v8', '/opt/SUNWspro/lib', '/usr/ccs/lib', '/lib', '/usr/lib', '/usr/lib'], 'needed sonames': ['libpthread.so.1', 'libmysqlclient.so.16', 'librt.so.1', 'libresolv.so.2', 'libc.so.1', 'libsocket.so.1', 'libnsl.so.1', 'libm.so.1', 'libssl.so.0.9.8', 'libcrypto.so.0.9.8', 'libz.so.1', 'libCstd.so.1', 'libCrun.so.1', 'libthread.so.1', 'libpthread.so.1', 'libmysqlclient.so.16', 'librt.so.1', 'libresolv.so.2', 'libc.so.1', 'libsocket.so.1', 'libnsl.so.1', 'libm.so.1', 'libssl.so.0.9.8', 'libcrypto.so.0.9.8', 'libz.so.1', 'libCstd.so.1', 'libCrun.so.1', 'libthread.so.1']}, 'mysqlshow': {'runpath': ['/opt/csw/lib/$ISALIST', '/opt/csw/lib', '/opt/csw/mysql51/lib/$ISALIST', '/opt/csw/mysql51/lib', '/opt/csw/lib', '/opt/csw/mysql51/lib/$ISALIST/mysql', '/opt/csw/mysql51/lib/mysql', '/usr/lib', '/opt/csw/lib/$ISALIST', '/opt/csw/lib/64', '/op
t/csw/mysql51/lib/$ISALIST', '/opt/csw/mysql51/lib/64', '/opt/csw/mysql51/lib/64/$ISALIST/mysql', '/opt/csw/mysql51/lib/64/mysql', '/usr/lib'], 'needed sonames': ['libpthread.so.1', 'libmysqlclient.so.16', 'librt.so.1', 'libresolv.so.2', 'libc.so.1', 'libsocket.so.1', 'libnsl.so.1', 'libm.so.1', 'libssl.so.0.9.8', 'libcrypto.so.0.9.8', 'libz.so.1', 'libthread.so.1', 'libpthread.so.1', 'libmysqlclient.so.16', 'librt.so.1', 'libresolv.so.2', 'libc.so.1', 'libsocket.so.1', 'libnsl.so.1', 'libm.so.1', 'libssl.so.0.9.8', 'libcrypto.so.0.9.8', 'libz.so.1', 'libthread.so.1']}, 'libmysqlclient.so.16.0.0': {'runpath': ['/opt/csw/lib/$ISALIST', '/opt/csw/lib', '/opt/csw/mysql51/lib/$ISALIST', '/opt/csw/mysql51/lib', '/opt/csw/lib', '/opt/csw/mysql51/lib/$ISALIST/mysql', '/usr/lib', '/opt/csw/lib/$ISALIST', '/opt/csw/lib/64', '/opt/csw/mysql51/lib/$ISALIST', '/opt/csw/mysql51/lib/64', '/opt/csw/mysql51/lib/64/$ISALIST/mysql', '/usr/lib'], 'soname': 'libmysqlclient.so.16', 'needed sonam
es': ['librt.so.1', 'libresolv.so.2', 'libc.so.1', 'libsocket.so.1', 'libnsl.so.1', 'libm.so.1', 'libssl.so.0.9.8', 'libcrypto.so.0.9.8', 'libz.so.1', 'librt.so.1', 'libresolv.so.2', 'libc.so.1', 'libsocket.so.1', 'libnsl.so.1', 'libm.so.1', 'libssl.so.0.9.8', 'libcrypto.so.0.9.8', 'libz.so.1']}, 'mysql_upgrade': {'runpath': ['/opt/csw/lib/$ISALIST', '/opt/csw/lib/64', '/opt/csw/mysql51/lib/$ISALIST', '/opt/csw/mysql51/lib/64', '/opt/csw/mysql51/lib/64/$ISALIST/mysql', '/opt/csw/mysql51/lib/64/mysql', '/usr/lib', '/opt/csw/lib/$ISALIST', '/opt/csw/lib', '/opt/csw/mysql51/lib/$ISALIST', '/opt/csw/mysql51/lib', '/opt/csw/lib', '/opt/csw/mysql51/lib/$ISALIST/mysql', '/opt/csw/mysql51/lib/mysql', '/usr/lib'], 'needed sonames': ['libpthread.so.1', 'libmysqlclient.so.16', 'librt.so.1', 'libresolv.so.2', 'libc.so.1', 'libsocket.so.1', 'libnsl.so.1', 'libm.so.1', 'libssl.so.0.9.8', 'libcrypto.so.0.9.8', 'libz.so.1', 'libthread.so.1', 'libpthread.so.1', 'libmysqlclient.so.16', 'librt
.so.1', 'libresolv.so.2', 'libc.so.1', 'libsocket.so.1', 'libnsl.so.1', 'libm.so.1', 'libssl.so.0.9.8', 'libcrypto.so.0.9.8', 'libz.so.1', 'libthread.so.1']}, 'innochecksum': {'runpath': ['/opt/csw/lib/$ISALIST', '/opt/csw/lib/64', '/opt/csw/mysql51/lib/$ISALIST', '/opt/csw/mysql51/lib/64', '/opt/csw/mysql51/lib/64/$ISALIST/mysql', '/usr/lib', '/opt/csw/lib/$ISALIST', '/opt/csw/lib', '/opt/csw/mysql51/lib/$ISALIST', '/opt/csw/mysql51/lib', '/opt/csw/lib', '/opt/csw/mysql51/lib/$ISALIST/mysql', '/usr/lib'], 'needed sonames': ['libz.so.1', 'libpthread.so.1', 'librt.so.1', 'libresolv.so.2', 'libc.so.1', 'libsocket.so.1', 'libnsl.so.1', 'libm.so.1', 'libthread.so.1', 'libz.so.1', 'libpthread.so.1', 'librt.so.1', 'libresolv.so.2', 'libc.so.1', 'libsocket.so.1', 'libnsl.so.1', 'libm.so.1', 'libthread.so.1']}, 'mysqlbinlog': {'runpath': ['/opt/csw/lib/$ISALIST', '/opt/csw/lib/64', '/opt/csw/mysql51/lib/$ISALIST', '/opt/csw/mysql51/lib/64', '/opt/csw/mysql51/lib/64/$ISALIST/mysql',
'/opt/csw/mysql51/lib/64/mysql', '/opt/studio/SOS11/SUNWspro/lib/rw7/v9', '/opt/studio/SOS11/SUNWspro/lib/v9', '/opt/SUNWspro/lib/v9', '/usr/ccs/lib/sparcv9', '/lib/sparcv9', '/usr/lib/sparcv9', '/usr/lib', '/opt/csw/lib/$ISALIST', '/opt/csw/lib', '/opt/csw/mysql51/lib/$ISALIST', '/opt/csw/mysql51/lib', '/opt/csw/lib', '/opt/csw/mysql51/lib/$ISALIST/mysql', '/opt/csw/mysql51/lib/mysql', '/opt/studio/SOS11/SUNWspro/lib/rw7', '/opt/studio/SOS11/SUNWspro/lib/v8', '/opt/studio/SOS11/SUNWspro/lib', '/opt/SUNWspro/lib/v8', '/opt/SUNWspro/lib', '/usr/ccs/lib', '/lib', '/usr/lib', '/usr/lib'], 'needed sonames': ['libpthread.so.1', 'libmysqlclient.so.16', 'librt.so.1', 'libresolv.so.2', 'libc.so.1', 'libsocket.so.1', 'libnsl.so.1', 'libm.so.1', 'libssl.so.0.9.8', 'libcrypto.so.0.9.8', 'libz.so.1', 'libCstd.so.1', 'libCrun.so.1', 'libthread.so.1', 'libpthread.so.1', 'libmysqlclient.so.16', 'librt.so.1', 'libresolv.so.2', 'libc.so.1', 'libsocket.so.1', 'libnsl.so.1', 'libm.so.1', 'libs
sl.so.0.9.8', 'libcrypto.so.0.9.8', 'libz.so.1', 'libCstd.so.1', 'libCrun.so.1', 'libthread.so.1']}, 'myisampack': {'runpath': ['/opt/csw/lib/$ISALIST', '/opt/csw/lib', '/opt/csw/mysql51/lib/$ISALIST', '/opt/csw/mysql51/lib', '/opt/csw/lib', '/opt/csw/mysql51/lib/$ISALIST/mysql', '/usr/lib', '/opt/csw/lib/$ISALIST', '/opt/csw/lib/64', '/opt/csw/mysql51/lib/$ISALIST', '/opt/csw/mysql51/lib/64', '/opt/csw/mysql51/lib/64/$ISALIST/mysql', '/usr/lib'], 'needed sonames': ['libz.so.1', 'libpthread.so.1', 'librt.so.1', 'libresolv.so.2', 'libc.so.1', 'libsocket.so.1', 'libnsl.so.1', 'libm.so.1', 'libthread.so.1', 'libz.so.1', 'libpthread.so.1', 'librt.so.1', 'libresolv.so.2', 'libc.so.1', 'libsocket.so.1', 'libnsl.so.1', 'libm.so.1', 'libthread.so.1']}, 'my_safe_process': {'runpath': ['/opt/csw/lib/$ISALIST', '/opt/csw/lib', '/opt/csw/mysql51/lib/$ISALIST', '/opt/csw/mysql51/lib', '/opt/csw/lib', '/opt/csw/mysql51/lib/$ISALIST/mysql', '/opt/studio/SOS11/SUNWspro/lib/rw7', '/opt/studi
o/SOS11/SUNWspro/lib/v8', '/opt/studio/SOS11/SUNWspro/lib', '/opt/SUNWspro/lib/v8', '/opt/SUNWspro/lib', '/usr/ccs/lib', '/lib', '/usr/lib', '/usr/lib'], 'needed sonames': ['libpthread.so.1', 'librt.so.1', 'libresolv.so.2', 'libc.so.1', 'libsocket.so.1', 'libnsl.so.1', 'libm.so.1', 'libCstd.so.1', 'libCrun.so.1', 'libthread.so.1']}, 'my_print_defaults': {'runpath': ['/opt/csw/lib/$ISALIST', '/opt/csw/lib', '/opt/csw/mysql51/lib/$ISALIST', '/opt/csw/mysql51/lib', '/opt/csw/lib', '/opt/csw/mysql51/lib/$ISALIST/mysql', '/usr/lib', '/opt/csw/lib/$ISALIST', '/opt/csw/lib/64', '/opt/csw/mysql51/lib/$ISALIST', '/opt/csw/mysql51/lib/64', '/opt/csw/mysql51/lib/64/$ISALIST/mysql', '/usr/lib'], 'needed sonames': ['libz.so.1', 'libpthread.so.1', 'librt.so.1', 'libresolv.so.2', 'libc.so.1', 'libsocket.so.1', 'libnsl.so.1', 'libm.so.1', 'libthread.so.1', 'libz.so.1', 'libpthread.so.1', 'librt.so.1', 'libresolv.so.2', 'libc.so.1', 'libsocket.so.1', 'libnsl.so.1', 'libm.so.1', 'libthread.so
.1']}, 'mysql_tzinfo_to_sql': {'runpath': ['/opt/csw/lib/$ISALIST', '/opt/csw/lib', '/opt/csw/mysql51/lib/$ISALIST', '/opt/csw/mysql51/lib', '/opt/csw/lib', '/opt/csw/mysql51/lib/$ISALIST/mysql', '/opt/studio/SOS11/SUNWspro/lib/rw7', '/opt/studio/SOS11/SUNWspro/lib/v8', '/opt/studio/SOS11/SUNWspro/lib', '/opt/SUNWspro/lib/v8', '/opt/SUNWspro/lib', '/usr/ccs/lib', '/lib', '/usr/lib', '/usr/lib', '/opt/csw/lib/$ISALIST', '/opt/csw/lib/64', '/opt/csw/mysql51/lib/$ISALIST', '/opt/csw/mysql51/lib/64', '/opt/csw/mysql51/lib/64/$ISALIST/mysql', '/opt/studio/SOS11/SUNWspro/lib/rw7/v9', '/opt/studio/SOS11/SUNWspro/lib/v9', '/opt/SUNWspro/lib/v9', '/usr/ccs/lib/sparcv9', '/lib/sparcv9', '/usr/lib/sparcv9', '/usr/lib'], 'needed sonames': ['libz.so.1', 'libpthread.so.1', 'librt.so.1', 'libresolv.so.2', 'libc.so.1', 'libsocket.so.1', 'libnsl.so.1', 'libm.so.1', 'libCstd.so.1', 'libCrun.so.1', 'libthread.so.1', 'libz.so.1', 'libpthread.so.1', 'librt.so.1', 'libresolv.so.2', 'libc.so.1', '
libsocket.so.1', 'libnsl.so.1', 'libm.so.1', 'libCstd.so.1', 'libCrun.so.1', 'libthread.so.1']}, 'mysqld': {'runpath': ['/opt/csw/lib/$ISALIST', '/opt/csw/lib', '/opt/csw/mysql51/lib/$ISALIST', '/opt/csw/mysql51/lib', '/opt/csw/lib', '/opt/csw/mysql51/lib/$ISALIST/mysql', '/opt/studio/SOS11/SUNWspro/lib/rw7', '/opt/studio/SOS11/SUNWspro/lib/v8', '/opt/studio/SOS11/SUNWspro/lib', '/opt/SUNWspro/lib/v8', '/opt/SUNWspro/lib', '/usr/ccs/lib', '/lib', '/usr/lib', '/usr/lib', '/opt/csw/lib/$ISALIST', '/opt/csw/lib/64', '/opt/csw/mysql51/lib/$ISALIST', '/opt/csw/mysql51/lib/64', '/opt/csw/mysql51/lib/64/$ISALIST/mysql', '/opt/studio/SOS11/SUNWspro/lib/rw7/v9', '/opt/studio/SOS11/SUNWspro/lib/v9', '/opt/SUNWspro/lib/v9', '/usr/ccs/lib/sparcv9', '/lib/sparcv9', '/usr/lib/sparcv9', '/usr/lib'], 'needed sonames': ['libpthread.so.1', 'libz.so.1', 'libdl.so.1', 'libssl.so.0.9.8', 'libcrypto.so.0.9.8', 'libmtmalloc.so.1', 'librt.so.1', 'libresolv.so.2', 'libc.so.1', 'libsocket.so.1', 'lib
nsl.so.1', 'libm.so.1', 'libCstd.so.1', 'libCrun.so.1', 'libthread.so.1', 'libpthread.so.1', 'libz.so.1', 'libdl.so.1', 'libssl.so.0.9.8', 'libcrypto.so.0.9.8', 'libmtmalloc.so.1', 'librt.so.1', 'libresolv.so.2', 'libc.so.1', 'libsocket.so.1', 'libnsl.so.1', 'libm.so.1', 'libCstd.so.1', 'libCrun.so.1', 'libthread.so.1']}, 'mysqlslap': {'runpath': ['/opt/csw/lib/$ISALIST', '/opt/csw/lib', '/opt/csw/mysql51/lib/$ISALIST', '/opt/csw/mysql51/lib', '/opt/csw/lib', '/opt/csw/mysql51/lib/$ISALIST/mysql', '/opt/csw/mysql51/lib/mysql', '/usr/lib', '/opt/csw/lib/$ISALIST', '/opt/csw/lib/64', '/opt/csw/mysql51/lib/$ISALIST', '/opt/csw/mysql51/lib/64', '/opt/csw/mysql51/lib/64/$ISALIST/mysql', '/opt/csw/mysql51/lib/64/mysql', '/usr/lib'], 'needed sonames': ['libpthread.so.1', 'libmysqlclient_r.so.16', 'librt.so.1', 'libresolv.so.2', 'libc.so.1', 'libsocket.so.1', 'libnsl.so.1', 'libm.so.1', 'libssl.so.0.9.8', 'libcrypto.so.0.9.8', 'libz.so.1', 'libthread.so.1', 'libpthread.so.1', 'libmy
sqlclient_r.so.16', 'librt.so.1', 'libresolv.so.2', 'libc.so.1', 'libsocket.so.1', 'libnsl.so.1', 'libm.so.1', 'libssl.so.0.9.8', 'libcrypto.so.0.9.8', 'libz.so.1', 'libthread.so.1']}, 'ha_innodb_plugin.so.0.0.0': {'runpath': ['/opt/csw/lib/$ISALIST', '/opt/csw/lib', '/opt/csw/mysql51/lib/$ISALIST', '/opt/csw/mysql51/lib', '/opt/csw/lib', '/opt/csw/mysql51/lib/$ISALIST/mysql', '/opt/studio/SOS11/SUNWspro/lib/rw7', '/opt/studio/SOS11/SUNWspro/lib/v8', '/opt/studio/SOS11/SUNWspro/lib', '/opt/SUNWspro/lib/v8', '/opt/SUNWspro/lib', '/usr/ccs/lib', '/lib', '/usr/lib', '/usr/lib', '/opt/csw/lib/$ISALIST', '/opt/csw/lib/64', '/opt/csw/mysql51/lib/$ISALIST', '/opt/csw/mysql51/lib/64', '/opt/csw/mysql51/lib/64/$ISALIST/mysql', '/opt/studio/SOS11/SUNWspro/lib/rw7/v9', '/opt/studio/SOS11/SUNWspro/lib/v9', '/opt/SUNWspro/lib/v9', '/usr/ccs/lib/sparcv9', '/lib/sparcv9', '/usr/lib/sparcv9', '/usr/lib'], 'soname': 'ha_innodb_plugin.so.0', 'needed sonames': ['libpthread.so.1', 'librt.so.1',
'libresolv.so.2', 'libc.so.1', 'libsocket.so.1', 'libnsl.so.1', 'libm.so.1', 'libCstd.so.1', 'libCrun.so.1', 'libpthread.so.1', 'librt.so.1', 'libresolv.so.2', 'libc.so.1', 'libsocket.so.1', 'libnsl.so.1', 'libm.so.1', 'libCstd.so.1', 'libCrun.so.1']}, 'perror': {'runpath': ['/opt/csw/lib/$ISALIST', '/opt/csw/lib', '/opt/csw/mysql51/lib/$ISALIST', '/opt/csw/mysql51/lib', '/opt/csw/lib', '/opt/csw/mysql51/lib/$ISALIST/mysql', '/usr/lib', '/opt/csw/lib/$ISALIST', '/opt/csw/lib/64', '/opt/csw/mysql51/lib/$ISALIST', '/opt/csw/mysql51/lib/64', '/opt/csw/mysql51/lib/64/$ISALIST/mysql', '/usr/lib'], 'needed sonames': ['libz.so.1', 'libpthread.so.1', 'librt.so.1', 'libresolv.so.2', 'libc.so.1', 'libsocket.so.1', 'libnsl.so.1', 'libm.so.1', 'libthread.so.1', 'libz.so.1', 'libpthread.so.1', 'librt.so.1', 'libresolv.so.2', 'libc.so.1', 'libsocket.so.1', 'libnsl.so.1', 'libm.so.1', 'libthread.so.1']}, 'libmysqlclient_r.so.16.0.0': {'runpath': ['/opt/csw/lib/$ISALIST', '/opt/csw/lib', '
/opt/csw/mysql51/lib/$ISALIST', '/opt/csw/mysql51/lib', '/opt/csw/lib', '/opt/csw/mysql51/lib/$ISALIST/mysql', '/usr/lib', '/opt/csw/lib/$ISALIST', '/opt/csw/lib/64', '/opt/csw/mysql51/lib/$ISALIST', '/opt/csw/mysql51/lib/64', '/opt/csw/mysql51/lib/64/$ISALIST/mysql', '/usr/lib'], 'soname': 'libmysqlclient_r.so.16', 'needed sonames': ['libpthread.so.1', 'librt.so.1', 'libresolv.so.2', 'libc.so.1', 'libsocket.so.1', 'libnsl.so.1', 'libm.so.1', 'libz.so.1', 'libssl.so.0.9.8', 'libcrypto.so.0.9.8', 'libpthread.so.1', 'librt.so.1', 'libresolv.so.2', 'libc.so.1', 'libsocket.so.1', 'libnsl.so.1', 'libm.so.1', 'libz.so.1', 'libssl.so.0.9.8', 'libcrypto.so.0.9.8']}, 'mysqltest': {'runpath': ['/opt/csw/lib/$ISALIST', '/opt/csw/lib/64', '/opt/csw/mysql51/lib/$ISALIST', '/opt/csw/mysql51/lib/64', '/opt/csw/mysql51/lib/64/$ISALIST/mysql', '/opt/csw/mysql51/lib/64/mysql', '/opt/studio/SOS11/SUNWspro/lib/rw7/v9', '/opt/studio/SOS11/SUNWspro/lib/v9', '/opt/SUNWspro/lib/v9', '/usr/ccs/lib/s
parcv9', '/lib/sparcv9', '/usr/lib/sparcv9', '/usr/lib', '/opt/csw/lib/$ISALIST', '/opt/csw/lib', '/opt/csw/mysql51/lib/$ISALIST', '/opt/csw/mysql51/lib', '/opt/csw/lib', '/opt/csw/mysql51/lib/$ISALIST/mysql', '/opt/csw/mysql51/lib/mysql', '/opt/studio/SOS11/SUNWspro/lib/rw7', '/opt/studio/SOS11/SUNWspro/lib/v8', '/opt/studio/SOS11/SUNWspro/lib', '/opt/SUNWspro/lib/v8', '/opt/SUNWspro/lib', '/usr/ccs/lib', '/lib', '/usr/lib', '/usr/lib'], 'needed sonames': ['libpthread.so.1', 'libmysqlclient_r.so.16', 'librt.so.1', 'libresolv.so.2', 'libc.so.1', 'libsocket.so.1', 'libnsl.so.1', 'libm.so.1', 'libssl.so.0.9.8', 'libcrypto.so.0.9.8', 'libz.so.1', 'libCstd.so.1', 'libCrun.so.1', 'libthread.so.1', 'libpthread.so.1', 'libmysqlclient_r.so.16', 'librt.so.1', 'libresolv.so.2', 'libc.so.1', 'libsocket.so.1', 'libnsl.so.1', 'libm.so.1', 'libssl.so.0.9.8', 'libcrypto.so.0.9.8', 'libz.so.1', 'libCstd.so.1', 'libCrun.so.1', 'libthread.so.1']}, 'resolve_stack_dump': {'runpath': ['/opt/csw/
lib/$ISALIST', '/opt/csw/lib', '/opt/csw/mysql51/lib/$ISALIST', '/opt/csw/mysql51/lib', '/opt/csw/lib', '/opt/csw/mysql51/lib/$ISALIST/mysql', '/usr/lib', '/opt/csw/lib/$ISALIST', '/opt/csw/lib/64', '/opt/csw/mysql51/lib/$ISALIST', '/opt/csw/mysql51/lib/64', '/opt/csw/mysql51/lib/64/$ISALIST/mysql', '/usr/lib'], 'needed sonames': ['libz.so.1', 'libpthread.so.1', 'librt.so.1', 'libresolv.so.2', 'libc.so.1', 'libsocket.so.1', 'libnsl.so.1', 'libm.so.1', 'libthread.so.1', 'libz.so.1', 'libpthread.so.1', 'librt.so.1', 'libresolv.so.2', 'libc.so.1', 'libsocket.so.1', 'libnsl.so.1', 'libm.so.1', 'libthread.so.1']}, 'resolveip': {'runpath': ['/opt/csw/lib/$ISALIST', '/opt/csw/lib', '/opt/csw/mysql51/lib/$ISALIST', '/opt/csw/mysql51/lib', '/opt/csw/lib', '/opt/csw/mysql51/lib/$ISALIST/mysql', '/usr/lib', '/opt/csw/lib/$ISALIST', '/opt/csw/lib/64', '/opt/csw/mysql51/lib/$ISALIST', '/opt/csw/mysql51/lib/64', '/opt/csw/mysql51/lib/64/$ISALIST/mysql', '/usr/lib'], 'needed sonames': ['li
bz.so.1', 'libpthread.so.1', 'librt.so.1', 'libresolv.so.2', 'libc.so.1', 'libsocket.so.1', 'libnsl.so.1', 'libm.so.1', 'libthread.so.1', 'libz.so.1', 'libpthread.so.1', 'librt.so.1', 'libresolv.so.2', 'libc.so.1', 'libsocket.so.1', 'libnsl.so.1', 'libm.so.1', 'libthread.so.1']}, 'mysql_client_test': {'runpath': ['/opt/csw/lib/$ISALIST', '/opt/csw/lib', '/opt/csw/mysql51/lib/$ISALIST', '/opt/csw/mysql51/lib', '/opt/csw/lib', '/opt/csw/mysql51/lib/$ISALIST/mysql', '/opt/csw/mysql51/lib/mysql', '/usr/lib', '/opt/csw/lib/$ISALIST', '/opt/csw/lib/64', '/opt/csw/mysql51/lib/$ISALIST', '/opt/csw/mysql51/lib/64', '/opt/csw/mysql51/lib/64/$ISALIST/mysql', '/opt/csw/mysql51/lib/64/mysql', '/usr/lib'], 'needed sonames': ['libmysqlclient_r.so.16', 'libpthread.so.1', 'librt.so.1', 'libresolv.so.2', 'libc.so.1', 'libsocket.so.1', 'libnsl.so.1', 'libm.so.1', 'libssl.so.0.9.8', 'libcrypto.so.0.9.8', 'libz.so.1', 'libthread.so.1', 'libmysqlclient_r.so.16', 'libpthread.so.1', 'librt.so.1', '
libresolv.so.2', 'libc.so.1', 'libsocket.so.1', 'libnsl.so.1', 'libm.so.1', 'libssl.so.0.9.8', 'libcrypto.so.0.9.8', 'libz.so.1', 'libthread.so.1']}}
+DATA_PKGS_BY_FILENAME = {'libresolv.so.2': u'SUNWcsl', 'libthread.so.1': u'SUNWcsl', 'libmtmalloc.so.1': u'SUNWcsl', 'libnsl.so.1': u'SUNWcsl', 'libCstd.so.1': u'SUNWlibC', 'libCrun.so.1': u'SUNWlibC', 'libssl.so.0.9.8': u'CSWosslrt', 'librt.so.1': u'SUNWcsl', 'libz.so.1': u'CSWzlib', 'libncursesw.so.5': u'CSWncurses', 'libsocket.so.1': u'SUNWcsl', 'libm.so.1': u'SUNWlibms', 'libpthread.so.1': u'SUNWcsl', 'libcrypto.so.0.9.8': u'CSWosslrt', 'libdl.so.1': u'SUNWcsl', 'libc.so.1': u'SUNWcsl'}
+DATA_FILENAMES_BY_SONAME = {'ha_example.so.0': 'ha_example.so.0.0.0', 'libmysqlclient_r.so.16': 'libmysqlclient_r.so.16.0.0', 'libmysqlclient.so.16': 'libmysqlclient.so.16.0.0', 'ha_innodb_plugin.so.0': 'ha_innodb_plugin.so.0.0.0'}
@@ Diff output truncated at 100000 characters. @@
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