[csw-devel] SF.net SVN: gar:[10885] csw/mgar/gar/v2/lib/python
wahwah at users.sourceforge.net
wahwah at users.sourceforge.net
Wed Sep 1 23:36:04 CEST 2010
Revision: 10885
http://gar.svn.sourceforge.net/gar/?rev=10885&view=rev
Author: wahwah
Date: 2010-09-01 21:36:04 +0000 (Wed, 01 Sep 2010)
Log Message:
-----------
mGAR v2: checkpkg, better handling of the deprecated libraries error.
Modified Paths:
--------------
csw/mgar/gar/v2/lib/python/checkpkg.py
csw/mgar/gar/v2/lib/python/checkpkg_test.py
csw/mgar/gar/v2/lib/python/dependency_checks.py
csw/mgar/gar/v2/lib/python/dependency_checks_test.py
csw/mgar/gar/v2/lib/python/package_checks_test.py
Added Paths:
-----------
csw/mgar/gar/v2/lib/python/testdata/apr_util_stats.py
Modified: csw/mgar/gar/v2/lib/python/checkpkg.py
===================================================================
--- csw/mgar/gar/v2/lib/python/checkpkg.py 2010-09-01 21:26:08 UTC (rev 10884)
+++ csw/mgar/gar/v2/lib/python/checkpkg.py 2010-09-01 21:36:04 UTC (rev 10885)
@@ -695,7 +695,8 @@
return self.runpath_sanitize_cache[runpath]
- def ResolveSoname(self, runpath_list, soname, isalist, path_list, binary_path):
+ def ResolveSoname(self, runpath_list, soname, isalist,
+ path_list, binary_path):
"""Emulates ldd behavior, minimal implementation.
runpath: e.g. ["/opt/csw/lib/$ISALIST", "/usr/lib"]
@@ -717,8 +718,9 @@
# in the path_list.
for expanded_p in expanded_p_list:
original_paths_by_expanded_paths[expanded_p] = p
- # logging.debug("%s: looking for %s in %s",
- # soname, runpath_list, original_paths_by_expanded_paths.keys())
+ logging.debug(
+ "%s: looking for %s in %s",
+ soname, runpath_list, original_paths_by_expanded_paths.keys())
for runpath_expanded in runpath_list:
if runpath_expanded in original_paths_by_expanded_paths:
# logging.debug("Found %s",
Modified: csw/mgar/gar/v2/lib/python/checkpkg_test.py
===================================================================
--- csw/mgar/gar/v2/lib/python/checkpkg_test.py 2010-09-01 21:26:08 UTC (rev 10884)
+++ csw/mgar/gar/v2/lib/python/checkpkg_test.py 2010-09-01 21:36:04 UTC (rev 10885)
@@ -463,5 +463,23 @@
self.assertTrue(expected, checkpkg.SliceList(l, s))
+class LddEmulartorUnitTest(unittest.TestCase):
+
+ def setUp(self):
+ self.pkgmap_mocker = mox.Mox()
+ self.e = checkpkg.LddEmulator()
+
+ def testResolveSoname_1(self):
+ # runpath_list, soname, isalist, path_list, binary_path
+ runpath_list = ["/opt/csw/bdb47/lib", "/opt/csw/lib"]
+ soname = "foo.so.1"
+ path_list = ["/opt/csw/lib", "/opt/csw/bdb47/lib", "/usr/lib"]
+ binary_path = "unused"
+ isalist = ["amd64"]
+ result = self.e.ResolveSoname(runpath_list, soname, isalist,
+ path_list, binary_path)
+ self.assertEqual("/opt/csw/bdb47/lib", result)
+
+
if __name__ == '__main__':
unittest.main()
Modified: csw/mgar/gar/v2/lib/python/dependency_checks.py
===================================================================
--- csw/mgar/gar/v2/lib/python/dependency_checks.py 2010-09-01 21:26:08 UTC (rev 10884)
+++ csw/mgar/gar/v2/lib/python/dependency_checks.py 2010-09-01 21:36:04 UTC (rev 10885)
@@ -30,6 +30,77 @@
PREFERRED_DIRECTORY_PROVIDERS = set([u"CSWcommon"])
+def ProcessSoname(
+ ldd_emulator,
+ soname, path_and_pkg_by_basename, binary_info, isalist, binary_path, logger,
+ error_mgr,
+ pkgname, messenger):
+ """This is not an ideal name for a function.
+
+ Returns:
+ orphan_sonames
+ """
+ orphan_sonames = []
+ required_deps = []
+ resolved = False
+ path_list = path_and_pkg_by_basename[soname].keys()
+ runpath_tuple = (
+ tuple(binary_info["runpath"])
+ + tuple(checkpkg.SYS_DEFAULT_RUNPATH))
+ runpath_history = []
+ alternative_deps = set()
+ first_lib = None
+ for runpath in runpath_tuple:
+ runpath = ldd_emulator.SanitizeRunpath(runpath)
+ runpath_list = ldd_emulator.ExpandRunpath(runpath, isalist, binary_path)
+ runpath_list = ldd_emulator.Emulate64BitSymlinks(runpath_list)
+ # To accumulate all the runpaths that we were looking at
+ runpath_history += runpath_list
+ resolved_path = ldd_emulator.ResolveSoname(runpath_list,
+ soname,
+ isalist,
+ path_list,
+ binary_path)
+ if resolved_path:
+ resolved = True
+ req_pkgs = path_and_pkg_by_basename[soname][resolved_path]
+ reason = ("provides %s/%s needed by %s"
+ % (resolved_path, soname, binary_info["path"]))
+ # Looking for deprecated libraries. However, only alerting if the
+ # deprecated library is the first one found in the RPATH. For example,
+ # libdb-4.7.so is found in CSWbdb and CSWbdb47, and it's important to
+ # throw an error if the RPATH is ("/opt/csw/lib", "/opt/csw/bdb47/lib"),
+ # and not to throw an error if RPATH is ("/opt/csw/bdb47/lib",
+ # "/opt/csw/lib")
+ if not first_lib:
+ first_lib = (resolved_path, soname)
+ for bad_path, bad_soname, msg in DEPRECATED_LIBRARY_LOCATIONS:
+ if resolved_path == bad_path and soname == bad_soname:
+ logger.debug("Bad lib found: %s/%s", bad_path, bad_soname)
+ error_mgr.ReportError(
+ pkgname,
+ "deprecated-library",
+ ("%s %s %s/%s"
+ % (binary_info["path"], msg, resolved_path, soname)))
+ for req_pkg in req_pkgs:
+ alternative_deps.add((req_pkg, reason))
+ required_deps.append(list(alternative_deps))
+ if not resolved:
+ orphan_sonames.append((soname, binary_info["path"]))
+ if path_list:
+ path_msg = "was available at the following paths: %s." % path_list
+ else:
+ path_msg = ("was not present on the filesystem, "
+ "nor in the packages under examination.")
+ if soname not in ALLOWED_ORPHAN_SONAMES:
+ messenger.Message(
+ "%s could not be resolved for %s, with rpath %s, expanded to %s, "
+ "while the file %s"
+ % (soname, binary_info["path"],
+ runpath_tuple, runpath_history, path_msg))
+ return orphan_sonames, required_deps
+
+
def Libraries(pkg_data, error_mgr, logger, messenger, path_and_pkg_by_basename,
pkg_by_path):
"""Checks shared libraries.
@@ -49,66 +120,20 @@
"""
pkgname = pkg_data["basic_stats"]["pkgname"]
logger.debug("Libraries(): pkgname = %s", repr(pkgname))
+ isalist = pkg_data["isalist"]
+ ldd_emulator = checkpkg.LddEmulator()
orphan_sonames = []
required_deps = []
- isalist = pkg_data["isalist"]
- ldd_emulator = checkpkg.LddEmulator()
for binary_info in pkg_data["binaries_dump_info"]:
binary_path, binary_basename = os.path.split(binary_info["path"])
for soname in binary_info["needed sonames"]:
- resolved = False
- path_list = path_and_pkg_by_basename[soname].keys()
- # logger.debug("%s @ %s: looking for %s in %s",
- # soname,
- # binary_info["path"],
- # binary_info["runpath"],
- # path_list)
- runpath_tuple = (tuple(binary_info["runpath"])
- + tuple(checkpkg.SYS_DEFAULT_RUNPATH))
- runpath_history = []
- alternative_deps = set()
- for runpath in runpath_tuple:
- runpath = ldd_emulator.SanitizeRunpath(runpath)
- runpath_list = ldd_emulator.ExpandRunpath(runpath, isalist, binary_path)
- runpath_list = ldd_emulator.Emulate64BitSymlinks(runpath_list)
- # To accumulate all the runpaths that we were looking at
- runpath_history += runpath_list
- resolved_path = ldd_emulator.ResolveSoname(runpath_list,
- soname,
- isalist,
- path_list,
- binary_path)
- if resolved_path:
- resolved = True
- req_pkgs = path_and_pkg_by_basename[soname][resolved_path]
- reason = ("provides %s/%s needed by %s"
- % (resolved_path, soname, binary_info["path"]))
- # Looking for deprecated libraries.
- for bad_path, bad_soname, msg in DEPRECATED_LIBRARY_LOCATIONS:
- if resolved_path == bad_path and soname == bad_soname:
- logger.debug("Bad lib found: %s/%s", bad_path, bad_soname)
- error_mgr.ReportError(
- pkgname,
- "deprecated-library",
- ("%s %s %s/%s"
- % (binary_info["path"], msg, resolved_path, soname)))
- for req_pkg in req_pkgs:
- alternative_deps.add((req_pkg, reason))
- # print "alternative_deps:", alternative_deps
- required_deps.append(list(alternative_deps))
- if not resolved:
- orphan_sonames.append((soname, binary_info["path"]))
- if path_list:
- path_msg = "was available at the following paths: %s." % path_list
- else:
- path_msg = ("was not present on the filesystem, "
- "nor in the packages under examination.")
- if soname not in ALLOWED_ORPHAN_SONAMES:
- messenger.Message(
- "%s could not be resolved for %s, with rpath %s, expanded to %s, "
- "while the file %s"
- % (soname, binary_info["path"],
- runpath_tuple, runpath_history, path_msg))
+ orphan_sonames_tmp, required_deps_tmp = ProcessSoname(
+ ldd_emulator,
+ soname, path_and_pkg_by_basename, binary_info, isalist, binary_path, logger,
+ error_mgr,
+ pkgname, messenger)
+ orphan_sonames.extend(orphan_sonames_tmp)
+ required_deps.extend(required_deps_tmp)
orphan_sonames = set(orphan_sonames)
for soname, binary_path in orphan_sonames:
if soname not in ALLOWED_ORPHAN_SONAMES:
Modified: csw/mgar/gar/v2/lib/python/dependency_checks_test.py
===================================================================
--- csw/mgar/gar/v2/lib/python/dependency_checks_test.py 2010-09-01 21:26:08 UTC (rev 10884)
+++ csw/mgar/gar/v2/lib/python/dependency_checks_test.py 2010-09-01 21:36:04 UTC (rev 10885)
@@ -325,7 +325,9 @@
checkpkg.SetCheckInterface)
self.pkg_data = copy.deepcopy(sudo_stats)
- def testOne(self):
+ def testLibrariesRpathOrder(self):
+ # pkg_data, error_mgr, logger, messenger, path_and_pkg_by_basename,
+ # pkg_by_path
pass
Modified: csw/mgar/gar/v2/lib/python/package_checks_test.py
===================================================================
--- csw/mgar/gar/v2/lib/python/package_checks_test.py 2010-09-01 21:26:08 UTC (rev 10884)
+++ csw/mgar/gar/v2/lib/python/package_checks_test.py 2010-09-01 21:36:04 UTC (rev 10885)
@@ -466,6 +466,66 @@
self.pkg_data = [self.pkg_data]
+class TestDeprecatedLibraries_GoodRpath(CheckpkgUnitTestHelper, unittest.TestCase):
+ FUNCTION_NAME = 'SetCheckLibraries'
+ def CheckpkgTest(self):
+ binaries_dump_info = self.pkg_data["binaries_dump_info"]
+ binaries_dump_info[0]["runpath"] = ("/opt/csw/bdb47/lib", "/opt/csw/lib",)
+ binaries_dump_info[0]["needed sonames"] = ["libdb-4.7.so"]
+ self.pkg_data["depends"] = (("CSWbad", None),(u"CSWcommon", ""))
+ self.pkg_data["binaries_dump_info"] = binaries_dump_info[0:1]
+ self.error_mgr_mock.GetPathsAndPkgnamesByBasename('libdb-4.7.so').AndReturn({
+ u'/opt/csw/bdb47/lib': [u'CSWbad'],
+ u'/opt/csw/bdb47lib/sparcv9': [u'CSWbad'],
+ u'/opt/csw/lib': [u'CSWgood'],
+ u'/opt/csw/lib/sparcv9': [u'CSWgood'],
+ })
+ self.error_mgr_mock.GetPkgByPath(
+ '/opt/csw/share/man').AndReturn(["CSWcommon"])
+ self.error_mgr_mock.GetPkgByPath(
+ '/opt/csw/bin').AndReturn(["CSWcommon"])
+ self.error_mgr_mock.GetPkgByPath(
+ '/opt/csw/bin/sparcv8').AndReturn(["CSWcommon"])
+ self.error_mgr_mock.GetPkgByPath(
+ '/opt/csw/bin/sparcv9').AndReturn(["CSWcommon"])
+ self.error_mgr_mock.GetPkgByPath(
+ '/opt/csw/share/doc').AndReturn(["CSWcommon"])
+ # There should be no error here, since /opt/csw/bdb47/lib is first in the RPATH.
+ self.pkg_data = [self.pkg_data]
+
+
+class TestDeprecatedLibraries_BadRpath(CheckpkgUnitTestHelper, unittest.TestCase):
+ FUNCTION_NAME = 'SetCheckLibraries'
+ def CheckpkgTest(self):
+ binaries_dump_info = self.pkg_data["binaries_dump_info"]
+ binaries_dump_info[0]["runpath"] = ("/opt/csw/lib", "/opt/csw/bdb47/lib",)
+ binaries_dump_info[0]["needed sonames"] = ["libdb-4.7.so"]
+ self.pkg_data["depends"] = (("CSWbad", None),(u"CSWcommon", ""))
+ self.pkg_data["binaries_dump_info"] = binaries_dump_info[0:1]
+ self.error_mgr_mock.GetPathsAndPkgnamesByBasename('libdb-4.7.so').AndReturn({
+ u'/opt/csw/bdb47/lib': [u'CSWbad'],
+ u'/opt/csw/bdb47lib/sparcv9': [u'CSWbad'],
+ u'/opt/csw/lib': [u'CSWgood'],
+ u'/opt/csw/lib/sparcv9': [u'CSWgood'],
+ })
+ self.error_mgr_mock.GetPkgByPath(
+ '/opt/csw/share/man').AndReturn(["CSWcommon"])
+ self.error_mgr_mock.GetPkgByPath(
+ '/opt/csw/bin').AndReturn(["CSWcommon"])
+ self.error_mgr_mock.GetPkgByPath(
+ '/opt/csw/bin/sparcv8').AndReturn(["CSWcommon"])
+ self.error_mgr_mock.GetPkgByPath(
+ '/opt/csw/bin/sparcv9').AndReturn(["CSWcommon"])
+ self.error_mgr_mock.GetPkgByPath(
+ '/opt/csw/share/doc').AndReturn(["CSWcommon"])
+ self.error_mgr_mock.ReportError(
+ 'CSWrsync',
+ 'deprecated-library',
+ u'opt/csw/bin/sparcv8/rsync Deprecated Berkeley DB location '
+ u'/opt/csw/lib/libdb-4.7.so')
+ self.pkg_data = [self.pkg_data]
+
+
class TestSetCheckLibmLinking(CheckpkgUnitTestHelper, unittest.TestCase):
FUNCTION_NAME = 'SetCheckLibraries'
def CheckpkgTest(self):
Added: csw/mgar/gar/v2/lib/python/testdata/apr_util_stats.py
===================================================================
--- csw/mgar/gar/v2/lib/python/testdata/apr_util_stats.py (rev 0)
+++ csw/mgar/gar/v2/lib/python/testdata/apr_util_stats.py 2010-09-01 21:36:04 UTC (rev 10885)
@@ -0,0 +1,605 @@
+import datetime
+pkgstats = [{'bad_paths': {},
+ 'basic_stats': {'catalogname': 'apr_util',
+ 'md5_sum': 'e19f2b377884db51cc20a88ff06c8eb7',
+ 'parsed_basename': {'arch': 'sparc',
+ 'catalogname': 'apr_util',
+ 'full_version_string': '1.3.9,REV=2010.08.27',
+ 'osrel': 'SunOS5.9',
+ 'revision_info': {'REV': '2010.08.27'},
+ 'vendortag': 'CSW',
+ 'version': '1.3.9',
+ 'version_info': {'major version': '1',
+ 'minor version': '3',
+ 'patchlevel': '9'}},
+ 'pkg_basename': 'apr_util-1.3.9,REV=2010.08.27-SunOS5.9-sparc-CSW.pkg.gz',
+ 'pkg_path': '/tmp/pkg_bKg13A/apr_util-1.3.9,REV=2010.08.27-SunOS5.9-sparc-CSW.pkg.gz',
+ 'pkgname': 'CSWar-util',
+ 'stats_version': 9L},
+ 'binaries': ['opt/csw/lib/apr-util-1/apr_dbd_odbc-1.so',
+ 'opt/csw/lib/apr-util-1/apr_dbd_sqlite3-1.so',
+ 'opt/csw/lib/apr-util-1/apr_dbm_db-1.so',
+ 'opt/csw/lib/apr-util-1/apr_ldap-1.so',
+ 'opt/csw/lib/libaprutil-1.so.0.3.9'],
+ 'binaries_dump_info': [{'RPATH set': True,
+ 'RUNPATH RPATH the same': True,
+ 'RUNPATH set': True,
+ 'base_name': 'apr_dbd_odbc-1.so',
+ 'needed sonames': ('libodbc.so.1', 'libc.so.1'),
+ 'path': 'opt/csw/lib/apr-util-1/apr_dbd_odbc-1.so',
+ 'runpath': ('/opt/csw/bdb47/lib', '/opt/csw/lib'),
+ 'soname': 'apr_dbd_odbc-1.so'},
+ {'RPATH set': True,
+ 'RUNPATH RPATH the same': True,
+ 'RUNPATH set': True,
+ 'base_name': 'apr_dbd_sqlite3-1.so',
+ 'needed sonames': ('libsqlite3.so.0',
+ 'libc.so.1'),
+ 'path': 'opt/csw/lib/apr-util-1/apr_dbd_sqlite3-1.so',
+ 'runpath': ('/opt/csw/bdb47/lib', '/opt/csw/lib'),
+ 'soname': 'apr_dbd_sqlite3-1.so'},
+ {'RPATH set': True,
+ 'RUNPATH RPATH the same': True,
+ 'RUNPATH set': True,
+ 'base_name': 'apr_dbm_db-1.so',
+ 'needed sonames': ('libdb-4.7.so', 'libc.so.1'),
+ 'path': 'opt/csw/lib/apr-util-1/apr_dbm_db-1.so',
+ 'runpath': ('/opt/csw/bdb47/lib', '/opt/csw/lib'),
+ 'soname': 'apr_dbm_db-1.so'},
+ {'RPATH set': True,
+ 'RUNPATH RPATH the same': True,
+ 'RUNPATH set': True,
+ 'base_name': 'apr_ldap-1.so',
+ 'needed sonames': ('libldap-2.4.so.2',
+ 'libgen.so.1',
+ 'libnet.so',
+ 'libsasl2.so.2',
+ 'libdl.so.1',
+ 'libnsl.so.1',
+ 'libresolv.so.2',
+ 'libsocket.so.1',
+ 'libssl.so.0.9.8',
+ 'libcrypto.so.0.9.8',
+ 'liblber-2.4.so.2',
+ 'libc.so.1'),
+ 'path': 'opt/csw/lib/apr-util-1/apr_ldap-1.so',
+ 'runpath': ('/opt/csw/bdb47/lib', '/opt/csw/lib'),
+ 'soname': 'apr_ldap-1.so'},
+ {'RPATH set': True,
+ 'RUNPATH RPATH the same': True,
+ 'RUNPATH set': True,
+ 'base_name': 'libaprutil-1.so.0.3.9',
+ 'needed sonames': ('libexpat.so.1',
+ 'libiconv.so.2',
+ 'libapr-1.so.0',
+ 'libuuid.so.1',
+ 'libsendfile.so.1',
+ 'librt.so.1',
+ 'libsocket.so.1',
+ 'libnsl.so.1',
+ 'libpthread.so.1',
+ 'libdl.so.1',
+ 'libc.so.1'),
+ 'path': 'opt/csw/lib/libaprutil-1.so.0.3.9',
+ 'runpath': ('/opt/csw/bdb47/lib', '/opt/csw/lib'),
+ 'soname': 'libaprutil-1.so.0'}],
+ 'depends': [('CSWcommon',
+ 'CSWcommon common - common files and dirs for CSW packages '),
+ ('CSWapr', 'CSWapr apr - Apache Portable Runtime '),
+ ('CSWiconv', 'CSWiconv libiconv - GNU iconv library '),
+ ('CSWsqlite3rt',
+ 'CSWsqlite3rt sqlite3_rt - An embeddable SQL engine in a C library runtime '),
+ ('CSWunixodbc',
+ 'CSWunixodbc unixodbc - ODBC drivers for Unix systems '),
+ ('CSWexpat', 'CSWexpat expat - XML Parser Toolkit '),
+ ('CSWbdb47',
+ 'CSWbdb47 berkeleydb47 - BerkeleyDB 4.7 embedded database libraries and utilities '),
+ ('CSWoldaprt',
+ 'CSWoldaprt openldap_rt - OpenLDAP runtime libraries '),
+ ('CSWosslrt',
+ 'CSWosslrt openssl_rt - Openssl runtime libraries '),
+ ('CSWsasl',
+ 'CSWsasl sasl - Simple Authentication and Security Layer '),
+ ('CSWlibnet',
+ 'CSWlibnet libnet - the libnet packet construction library ')],
+ 'files_metadata': [{'mime_type': 'text/x-c; charset=us-ascii',
+ 'path': 'opt/csw/include/apr_ldap_option.h'},
+ {'mime_type': 'text/x-c; charset=us-ascii',
+ 'path': 'opt/csw/include/apr_memcache.h'},
+ {'mime_type': 'text/x-c; charset=us-ascii',
+ 'path': 'opt/csw/include/apr_dbd.h'},
+ {'mime_type': 'text/x-c; charset=us-ascii',
+ 'path': 'opt/csw/include/apr_sdbm.h'},
+ {'mime_type': 'text/x-c; charset=us-ascii',
+ 'path': 'opt/csw/include/apu_want.h'},
+ {'mime_type': 'text/x-c; charset=us-ascii',
+ 'path': 'opt/csw/include/apr_rmm.h'},
+ {'mime_type': 'text/x-c; charset=us-ascii',
+ 'path': 'opt/csw/include/apr_uri.h'},
+ {'mime_type': 'text/x-c; charset=us-ascii',
+ 'path': 'opt/csw/include/apr_ldap_rebind.h'},
+ {'mime_type': 'text/x-c; charset=us-ascii',
+ 'path': 'opt/csw/include/apr_ldap_url.h'},
+ {'mime_type': 'text/x-c; charset=us-ascii',
+ 'path': 'opt/csw/include/apr_reslist.h'},
+ {'mime_type': 'text/x-c; charset=us-ascii',
+ 'path': 'opt/csw/include/apr_anylock.h'},
+ {'mime_type': 'text/x-c; charset=us-ascii',
+ 'path': 'opt/csw/include/apr_date.h'},
+ {'mime_type': 'text/x-c; charset=us-ascii',
+ 'path': 'opt/csw/include/apr_thread_pool.h'},
+ {'mime_type': 'text/x-c; charset=us-ascii',
+ 'path': 'opt/csw/include/apr_hooks.h'},
+ {'mime_type': 'text/x-c; charset=us-ascii',
+ 'path': 'opt/csw/include/apr_dbm.h'},
+ {'mime_type': 'text/x-c; charset=us-ascii',
+ 'path': 'opt/csw/include/apr_optional.h'},
+ {'mime_type': 'text/x-c; charset=us-ascii',
+ 'path': 'opt/csw/include/apr_strmatch.h'},
+ {'mime_type': 'text/x-c; charset=us-ascii',
+ 'path': 'opt/csw/include/apr_queue.h'},
+ {'mime_type': 'text/x-c; charset=us-ascii',
+ 'path': 'opt/csw/include/apr_base64.h'},
+ {'mime_type': 'text/x-c; charset=us-ascii',
+ 'path': 'opt/csw/include/apr_ldap.h'},
+ {'mime_type': 'text/x-c; charset=us-ascii',
+ 'path': 'opt/csw/include/apr_ldap_init.h'},
+ {'mime_type': 'text/x-c; charset=us-ascii',
+ 'path': 'opt/csw/include/apr_optional_hooks.h'},
+ {'mime_type': 'text/x-c; charset=us-ascii',
+ 'path': 'opt/csw/include/apr_sha1.h'},
+ {'mime_type': 'text/x-c; charset=us-ascii',
+ 'path': 'opt/csw/include/apr_uuid.h'},
+ {'mime_type': 'text/x-c; charset=us-ascii',
+ 'path': 'opt/csw/include/apr_xml.h'},
+ {'mime_type': 'text/x-c; charset=us-ascii',
+ 'path': 'opt/csw/include/apr_xlate.h'},
+ {'mime_type': 'text/x-c; charset=us-ascii',
+ 'path': 'opt/csw/include/apu.h'},
+ {'mime_type': 'text/x-c; charset=us-ascii',
+ 'path': 'opt/csw/include/apr_md5.h'},
+ {'mime_type': 'text/x-c; charset=us-ascii',
+ 'path': 'opt/csw/include/apu_version.h'},
+ {'mime_type': 'text/x-c; charset=us-ascii',
+ 'path': 'opt/csw/include/apr_md4.h'},
+ {'mime_type': 'text/x-c; charset=us-ascii',
+ 'path': 'opt/csw/include/apr_buckets.h'},
+ {'mime_type': 'text/plain; charset=us-ascii',
+ 'path': 'opt/csw/lib/aprutil.exp'},
+ {'endian': 'Big endian',
+ 'machine_id': 2,
+ 'mime_type': 'application/x-sharedlib; charset=binary',
+ 'mime_type_by_hachoir': u'application/x-executable',
+ 'path': 'opt/csw/lib/libaprutil-1.so.0.3.9'},
+ {'mime_type': 'text/plain; charset=us-ascii',
+ 'path': 'opt/csw/lib/pkgconfig/apr-util-1.pc'},
+ {'endian': 'Big endian',
+ 'machine_id': 2,
+ 'mime_type': 'application/x-sharedlib; charset=binary',
+ 'mime_type_by_hachoir': u'application/x-executable',
+ 'path': 'opt/csw/lib/apr-util-1/apr_dbd_sqlite3-1.so'},
+ {'endian': 'Big endian',
+ 'machine_id': 2,
+ 'mime_type': 'application/x-sharedlib; charset=binary',
+ 'mime_type_by_hachoir': u'application/x-executable',
+ 'path': 'opt/csw/lib/apr-util-1/apr_ldap-1.so'},
+ {'endian': 'Big endian',
+ 'machine_id': 2,
+ 'mime_type': 'application/x-sharedlib; charset=binary',
+ 'mime_type_by_hachoir': u'application/x-executable',
+ 'path': 'opt/csw/lib/apr-util-1/apr_dbd_odbc-1.so'},
+ {'endian': 'Big endian',
+ 'machine_id': 2,
+ 'mime_type': 'application/x-sharedlib; charset=binary',
+ 'mime_type_by_hachoir': u'application/x-executable',
+ 'path': 'opt/csw/lib/apr-util-1/apr_dbm_db-1.so'},
+ {'mime_type': 'text/plain; charset=us-ascii',
+ 'path': 'opt/csw/share/doc/apr_util/license'},
+ {'mime_type': 'text/x-shellscript; charset=us-ascii',
+ 'path': 'opt/csw/bin/apu-1-config'}],
+ 'isalist': ('sparcv9+vis2',
+ 'sparcv9+vis',
+ 'sparcv9',
+ 'sparcv8plus+vis2',
+ 'sparcv8plus+vis',
+ 'sparcv8plus',
+ 'sparcv8',
+ 'sparcv8-fsmuld',
+ 'sparcv7',
+ 'sparc'),
+ 'mtime': datetime.datetime(2010, 8, 27, 11, 0, 10),
+ 'overrides': [],
+ 'pkgchk': {'return_code': 0,
+ 'stderr_lines': ['rm: Cannot remove any directory in the path of the current working directory',
+ '/var/tmp/aaaIGaO6g/CSWar-util'],
+ 'stdout_lines': ['Checking uninstalled stream format package <CSWar-util> from </tmp/pkg_bKg13A/apr_util-1.3.9,REV=2010.08.27-SunOS5.9-sparc-CSW.pkg>',
+ '## Checking control scripts.',
+ '## Checking package objects.',
+ '## Checking is complete.']},
+ 'pkginfo': {'ARCH': 'sparc',
+ 'CATEGORY': 'application',
+ 'CLASSES': 'none',
+ 'EMAIL': 'maciej at opencsw.org',
+ 'HOTLINE': 'http://www.opencsw.org/bugtrack/',
+ 'NAME': 'apr_util - Apache Portable Runtime Utilities',
+ 'OPENCSW_BUNDLE': 'apr-util',
+ 'OPENCSW_CATALOGNAME': 'apr_util',
+ 'OPENCSW_MODE64': '32',
+ 'OPENCSW_REPOSITORY': 'https://gar.svn.sourceforge.net/svnroot/gar/csw/mgar/pkg/apr-util/trunk@10822',
+ 'PKG': 'CSWar-util',
+ 'PSTAMP': 'maciej at testing9s-20100827130000',
+ 'VENDOR': 'http://apache.crihan.fr/dist/apr/ packaged for CSW by Maciej Blizinski',
+ 'VERSION': '1.3.9,REV=2010.08.27',
+ 'WORKDIR_FIRSTMOD': '../build-isa-sparcv8'},
+ 'pkgmap': [{'class': None,
+ 'group': None,
+ 'line': ': 1 0',
+ 'mode': None,
+ 'path': None,
+ 'type': '1',
+ 'user': None},
+ {'class': 'none',
+ 'group': 'bin',
+ 'line': '1 f none /opt/csw/bin/apu-1-config 0755 root bin 6437 35894 1282906794',
+ 'mode': '0755',
+ 'path': '/opt/csw/bin/apu-1-config',
+ 'type': 'f',
+ 'user': 'root'},
+ {'class': 'none',
+ 'group': 'bin',
+ 'line': '1 f none /opt/csw/include/apr_anylock.h 0644 root bin 5050 35768 1282906791',
+ 'mode': '0644',
+ 'path': '/opt/csw/include/apr_anylock.h',
+ 'type': 'f',
+ 'user': 'root'},
+ {'class': 'none',
+ 'group': 'bin',
+ 'line': '1 f none /opt/csw/include/apr_base64.h 0644 root bin 3823 57460 1282906791',
+ 'mode': '0644',
+ 'path': '/opt/csw/include/apr_base64.h',
+ 'type': 'f',
+ 'user': 'root'},
+ {'class': 'none',
+ 'group': 'bin',
+ 'line': '1 f none /opt/csw/include/apr_buckets.h 0644 root bin 60020 64941 1282906791',
+ 'mode': '0644',
+ 'path': '/opt/csw/include/apr_buckets.h',
+ 'type': 'f',
+ 'user': 'root'},
+ {'class': 'none',
+ 'group': 'bin',
+ 'line': '1 f none /opt/csw/include/apr_date.h 0644 root bin 3554 13649 1282906791',
+ 'mode': '0644',
+ 'path': '/opt/csw/include/apr_date.h',
+ 'type': 'f',
+ 'user': 'root'},
+ {'class': 'none',
+ 'group': 'bin',
+ 'line': '1 f none /opt/csw/include/apr_dbd.h 0644 root bin 24093 4453 1282906791',
+ 'mode': '0644',
+ 'path': '/opt/csw/include/apr_dbd.h',
+ 'type': 'f',
+ 'user': 'root'},
+ {'class': 'none',
+ 'group': 'bin',
+ 'line': '1 f none /opt/csw/include/apr_dbm.h 0644 root bin 8599 26734 1282906791',
+ 'mode': '0644',
+ 'path': '/opt/csw/include/apr_dbm.h',
+ 'type': 'f',
+ 'user': 'root'},
+ {'class': 'none',
+ 'group': 'bin',
+ 'line': '1 f none /opt/csw/include/apr_hooks.h 0644 root bin 8585 47295 1282906791',
+ 'mode': '0644',
+ 'path': '/opt/csw/include/apr_hooks.h',
+ 'type': 'f',
+ 'user': 'root'},
+ {'class': 'none',
+ 'group': 'bin',
+ 'line': '1 f none /opt/csw/include/apr_ldap.h 0644 root bin 5704 7247 1282906791',
+ 'mode': '0644',
+ 'path': '/opt/csw/include/apr_ldap.h',
+ 'type': 'f',
+ 'user': 'root'},
+ {'class': 'none',
+ 'group': 'bin',
+ 'line': '1 f none /opt/csw/include/apr_ldap_init.h 0644 root bin 5780 10710 1282906791',
+ 'mode': '0644',
+ 'path': '/opt/csw/include/apr_ldap_init.h',
+ 'type': 'f',
+ 'user': 'root'},
+ {'class': 'none',
+ 'group': 'bin',
+ 'line': '1 f none /opt/csw/include/apr_ldap_option.h 0644 root bin 8604 41864 1282906791',
+ 'mode': '0644',
+ 'path': '/opt/csw/include/apr_ldap_option.h',
+ 'type': 'f',
+ 'user': 'root'},
+ {'class': 'none',
+ 'group': 'bin',
+ 'line': '1 f none /opt/csw/include/apr_ldap_rebind.h 0644 root bin 3168 62596 1282906791',
+ 'mode': '0644',
+ 'path': '/opt/csw/include/apr_ldap_rebind.h',
+ 'type': 'f',
+ 'user': 'root'},
+ {'class': 'none',
+ 'group': 'bin',
+ 'line': '1 f none /opt/csw/include/apr_ldap_url.h 0644 root bin 3799 32681 1282906791',
+ 'mode': '0644',
+ 'path': '/opt/csw/include/apr_ldap_url.h',
+ 'type': 'f',
+ 'user': 'root'},
+ {'class': 'none',
+ 'group': 'bin',
+ 'line': '1 f none /opt/csw/include/apr_md4.h 0644 root bin 4525 42434 1282906792',
+ 'mode': '0644',
+ 'path': '/opt/csw/include/apr_md4.h',
+ 'type': 'f',
+ 'user': 'root'},
+ {'class': 'none',
+ 'group': 'bin',
+ 'line': '1 f none /opt/csw/include/apr_md5.h 0644 root bin 5573 519 1282906792',
+ 'mode': '0644',
+ 'path': '/opt/csw/include/apr_md5.h',
+ 'type': 'f',
+ 'user': 'root'},
+ {'class': 'none',
+ 'group': 'bin',
+ 'line': '1 f none /opt/csw/include/apr_memcache.h 0644 root bin 17072 60128 1282906792',
+ 'mode': '0644',
+ 'path': '/opt/csw/include/apr_memcache.h',
+ 'type': 'f',
+ 'user': 'root'},
+ {'class': 'none',
+ 'group': 'bin',
+ 'line': '1 f none /opt/csw/include/apr_optional.h 0644 root bin 2780 34306 1282906792',
+ 'mode': '0644',
+ 'path': '/opt/csw/include/apr_optional.h',
+ 'type': 'f',
+ 'user': 'root'},
+ {'class': 'none',
+ 'group': 'bin',
+ 'line': '1 f none /opt/csw/include/apr_optional_hooks.h 0644 root bin 3869 64111 1282906792',
+ 'mode': '0644',
+ 'path': '/opt/csw/include/apr_optional_hooks.h',
+ 'type': 'f',
+ 'user': 'root'},
+ {'class': 'none',
+ 'group': 'bin',
+ 'line': '1 f none /opt/csw/include/apr_queue.h 0644 root bin 4082 16636 1282906792',
+ 'mode': '0644',
+ 'path': '/opt/csw/include/apr_queue.h',
+ 'type': 'f',
+ 'user': 'root'},
+ {'class': 'none',
+ 'group': 'bin',
+ 'line': '1 f none /opt/csw/include/apr_reslist.h 0644 root bin 6326 56986 1282906792',
+ 'mode': '0644',
+ 'path': '/opt/csw/include/apr_reslist.h',
+ 'type': 'f',
+ 'user': 'root'},
+ {'class': 'none',
+ 'group': 'bin',
+ 'line': '1 f none /opt/csw/include/apr_rmm.h 0644 root bin 4778 15266 1282906792',
+ 'mode': '0644',
+ 'path': '/opt/csw/include/apr_rmm.h',
+ 'type': 'f',
+ 'user': 'root'},
+ {'class': 'none',
+ 'group': 'bin',
+ 'line': '1 f none /opt/csw/include/apr_sdbm.h 0644 root bin 6113 34421 1282906792',
+ 'mode': '0644',
+ 'path': '/opt/csw/include/apr_sdbm.h',
+ 'type': 'f',
+ 'user': 'root'},
+ {'class': 'none',
+ 'group': 'bin',
+ 'line': '1 f none /opt/csw/include/apr_sha1.h 0644 root bin 3884 57845 1282906792',
+ 'mode': '0644',
+ 'path': '/opt/csw/include/apr_sha1.h',
+ 'type': 'f',
+ 'user': 'root'},
+ {'class': 'none',
+ 'group': 'bin',
+ 'line': '1 f none /opt/csw/include/apr_strmatch.h 0644 root bin 2677 28267 1282906792',
+ 'mode': '0644',
+ 'path': '/opt/csw/include/apr_strmatch.h',
+ 'type': 'f',
+ 'user': 'root'},
+ {'class': 'none',
+ 'group': 'bin',
+ 'line': '1 f none /opt/csw/include/apr_thread_pool.h 0644 root bin 11104 60025 1282906792',
+ 'mode': '0644',
+ 'path': '/opt/csw/include/apr_thread_pool.h',
+ 'type': 'f',
+ 'user': 'root'},
+ {'class': 'none',
+ 'group': 'bin',
+ 'line': '1 f none /opt/csw/include/apr_uri.h 0644 root bin 6589 55175 1282906792',
+ 'mode': '0644',
+ 'path': '/opt/csw/include/apr_uri.h',
+ 'type': 'f',
+ 'user': 'root'},
+ {'class': 'none',
+ 'group': 'bin',
+ 'line': '1 f none /opt/csw/include/apr_uuid.h 0644 root bin 2102 40269 1282906792',
+ 'mode': '0644',
+ 'path': '/opt/csw/include/apr_uuid.h',
+ 'type': 'f',
+ 'user': 'root'},
+ {'class': 'none',
+ 'group': 'bin',
+ 'line': '1 f none /opt/csw/include/apr_xlate.h 0644 root bin 6408 789 1282906792',
+ 'mode': '0644',
+ 'path': '/opt/csw/include/apr_xlate.h',
+ 'type': 'f',
+ 'user': 'root'},
+ {'class': 'none',
+ 'group': 'bin',
+ 'line': '1 f none /opt/csw/include/apr_xml.h 0644 root bin 12357 61173 1282906792',
+ 'mode': '0644',
+ 'path': '/opt/csw/include/apr_xml.h',
+ 'type': 'f',
+ 'user': 'root'},
+ {'class': 'none',
+ 'group': 'bin',
+ 'line': '1 f none /opt/csw/include/apu.h 0644 root bin 3560 23891 1282906792',
+ 'mode': '0644',
+ 'path': '/opt/csw/include/apu.h',
+ 'type': 'f',
+ 'user': 'root'},
+ {'class': 'none',
+ 'group': 'bin',
+ 'line': '1 f none /opt/csw/include/apu_version.h 0644 root bin 4126 11796 1282906792',
+ 'mode': '0644',
+ 'path': '/opt/csw/include/apu_version.h',
+ 'type': 'f',
+ 'user': 'root'},
+ {'class': 'none',
+ 'group': 'bin',
+ 'line': '1 f none /opt/csw/include/apu_want.h 0644 root bin 1483 49830 1282906792',
+ 'mode': '0644',
+ 'path': '/opt/csw/include/apu_want.h',
+ 'type': 'f',
+ 'user': 'root'},
+ {'class': 'none',
+ 'group': 'bin',
+ 'line': '1 d none /opt/csw/lib/apr-util-1 0755 root bin',
+ 'mode': '0755',
+ 'path': '/opt/csw/lib/apr-util-1',
+ 'type': 'd',
+ 'user': 'root'},
+ {'class': 'none',
+ 'group': 'bin',
+ 'line': '1 f none /opt/csw/lib/apr-util-1/apr_dbd_odbc-1.so 0755 root bin 30580 5683 1282906789',
+ 'mode': '0755',
+ 'path': '/opt/csw/lib/apr-util-1/apr_dbd_odbc-1.so',
+ 'type': 'f',
+ 'user': 'root'},
+ {'class': 'none',
+ 'group': None,
+ 'line': '1 s none /opt/csw/lib/apr-util-1/apr_dbd_odbc.so=apr_dbd_odbc-1.so',
+ 'mode': None,
+ 'path': '/opt/csw/lib/apr-util-1/apr_dbd_odbc.so',
+ 'type': 's',
+ 'user': None},
+ {'class': 'none',
+ 'group': 'bin',
+ 'line': '1 f none /opt/csw/lib/apr-util-1/apr_dbd_sqlite3-1.so 0755 root bin 18044 2829 1282906788',
+ 'mode': '0755',
+ 'path': '/opt/csw/lib/apr-util-1/apr_dbd_sqlite3-1.so',
+ 'type': 'f',
+ 'user': 'root'},
+ {'class': 'none',
+ 'group': None,
+ 'line': '1 s none /opt/csw/lib/apr-util-1/apr_dbd_sqlite3.so=apr_dbd_sqlite3-1.so',
+ 'mode': None,
+ 'path': '/opt/csw/lib/apr-util-1/apr_dbd_sqlite3.so',
+ 'type': 's',
+ 'user': None},
+ {'class': 'none',
+ 'group': 'bin',
+ 'line': '1 f none /opt/csw/lib/apr-util-1/apr_dbm_db-1.so 0755 root bin 9764 59811 1282906789',
+ 'mode': '0755',
+ 'path': '/opt/csw/lib/apr-util-1/apr_dbm_db-1.so',
+ 'type': 'f',
+ 'user': 'root'},
+ {'class': 'none',
+ 'group': None,
+ 'line': '1 s none /opt/csw/lib/apr-util-1/apr_dbm_db.so=apr_dbm_db-1.so',
+ 'mode': None,
+ 'path': '/opt/csw/lib/apr-util-1/apr_dbm_db.so',
+ 'type': 's',
+ 'user': None},
+ {'class': 'none',
+ 'group': 'bin',
+ 'line': '1 f none /opt/csw/lib/apr-util-1/apr_ldap-1.so 0755 root bin 17916 9844 1282906790',
+ 'mode': '0755',
+ 'path': '/opt/csw/lib/apr-util-1/apr_ldap-1.so',
+ 'type': 'f',
+ 'user': 'root'},
+ {'class': 'none',
+ 'group': None,
+ 'line': '1 s none /opt/csw/lib/apr-util-1/apr_ldap.so=apr_ldap-1.so',
+ 'mode': None,
+ 'path': '/opt/csw/lib/apr-util-1/apr_ldap.so',
+ 'type': 's',
+ 'user': None},
+ {'class': 'none',
+ 'group': 'bin',
+ 'line': '1 f none /opt/csw/lib/aprutil.exp 0644 root bin 5442 19740 1282906793',
+ 'mode': '0644',
+ 'path': '/opt/csw/lib/aprutil.exp',
+ 'type': 'f',
+ 'user': 'root'},
+ {'class': 'none',
+ 'group': None,
+ 'line': '1 s none /opt/csw/lib/libaprutil-1.so=libaprutil-1.so.0.3.9',
+ 'mode': None,
+ 'path': '/opt/csw/lib/libaprutil-1.so',
+ 'type': 's',
+ 'user': None},
+ {'class': 'none',
+ 'group': None,
+ 'line': '1 s none /opt/csw/lib/libaprutil-1.so.0=libaprutil-1.so.0.3.9',
+ 'mode': None,
+ 'path': '/opt/csw/lib/libaprutil-1.so.0',
+ 'type': 's',
+ 'user': None},
+ {'class': 'none',
+ 'group': 'bin',
+ 'line': '1 f none /opt/csw/lib/libaprutil-1.so.0.3.9 0755 root bin 272120 38251 1282906792',
+ 'mode': '0755',
+ 'path': '/opt/csw/lib/libaprutil-1.so.0.3.9',
+ 'type': 'f',
+ 'user': 'root'},
+ {'class': 'none',
+ 'group': 'bin',
+ 'line': '1 d none /opt/csw/lib/pkgconfig 0755 root bin',
+ 'mode': '0755',
+ 'path': '/opt/csw/lib/pkgconfig',
+ 'type': 'd',
+ 'user': 'root'},
+ {'class': 'none',
+ 'group': 'bin',
+ 'line': '1 f none /opt/csw/lib/pkgconfig/apr-util-1.pc 0644 root bin 371 32716 1282906792',
+ 'mode': '0644',
+ 'path': '/opt/csw/lib/pkgconfig/apr-util-1.pc',
+ 'type': 'f',
+ 'user': 'root'},
+ {'class': 'none',
+ 'group': 'bin',
+ 'line': '1 d none /opt/csw/share/doc/apr_util 0755 root bin',
+ 'mode': '0755',
+ 'path': '/opt/csw/share/doc/apr_util',
+ 'type': 'd',
+ 'user': 'root'},
+ {'class': 'none',
+ 'group': 'bin',
+ 'line': '1 f none /opt/csw/share/doc/apr_util/license 0644 root bin 21179 51077 1282906796',
+ 'mode': '0644',
+ 'path': '/opt/csw/share/doc/apr_util/license',
+ 'type': 'f',
+ 'user': 'root'},
+ {'class': None,
+ 'group': None,
+ 'line': '1 i copyright 72 6789 1282906796',
+ 'mode': None,
+ 'path': None,
+ 'type': 'i',
+ 'user': None},
+ {'class': None,
+ 'group': None,
+ 'line': '1 i depend 614 54845 1282906800',
+ 'mode': None,
+ 'path': None,
+ 'type': 'i',
+ 'user': None},
+ {'class': None,
+ 'group': None,
+ 'line': '1 i pkginfo 528 44388 1282906809',
+ 'mode': None,
+ 'path': None,
+ 'type': 'i',
+ 'user': None}]}]
+
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