[csw-devel] SF.net SVN: gar:[10545] csw/mgar/gar/v2/lib/python
wahwah at users.sourceforge.net
wahwah at users.sourceforge.net
Tue Jul 20 13:11:36 CEST 2010
Revision: 10545
http://gar.svn.sourceforge.net/gar/?rev=10545&view=rev
Author: wahwah
Date: 2010-07-20 11:11:36 +0000 (Tue, 20 Jul 2010)
Log Message:
-----------
mGAR v2: checkpkg, checking architectures of binaries, allowing libm.so.2 (the x86 vs amd64 problem).
Modified Paths:
--------------
csw/mgar/gar/v2/lib/python/checkpkg.py
csw/mgar/gar/v2/lib/python/dependency_checks.py
csw/mgar/gar/v2/lib/python/package_checks.py
csw/mgar/gar/v2/lib/python/package_checks_test.py
Added Paths:
-----------
csw/mgar/gar/v2/lib/python/testdata/neon_stats.py
Modified: csw/mgar/gar/v2/lib/python/checkpkg.py
===================================================================
--- csw/mgar/gar/v2/lib/python/checkpkg.py 2010-07-20 10:31:49 UTC (rev 10544)
+++ csw/mgar/gar/v2/lib/python/checkpkg.py 2010-07-20 11:11:36 UTC (rev 10545)
@@ -68,10 +68,6 @@
CONTENT_PKG_RE = r"^\*?(CSW|SUNW)[0-9a-zA-Z\-]?[0-9a-z\-]+$"
-# This shared library is present on Solaris 10 on amd64, but it's missing on
-# Solaris 8 on i386. It's okay if it's missing.
-ALLOWED_ORPHAN_SONAMES = set([u"libm.so.2"])
-
REPORT_TMPL = u"""#if $missing_deps or $surplus_deps or $orphan_sonames
Dependency issues of $pkgname:
#end if
Modified: csw/mgar/gar/v2/lib/python/dependency_checks.py
===================================================================
--- csw/mgar/gar/v2/lib/python/dependency_checks.py 2010-07-20 10:31:49 UTC (rev 10544)
+++ csw/mgar/gar/v2/lib/python/dependency_checks.py 2010-07-20 11:11:36 UTC (rev 10545)
@@ -4,6 +4,10 @@
import os.path
import re
+# This shared library is present on Solaris 10 on amd64, but it's missing on
+# Solaris 8 on i386. It's okay if it's missing.
+ALLOWED_ORPHAN_SONAMES = set([u"libm.so.2"])
+
DEPRECATED_LIBRARY_LOCATIONS = (
("/opt/csw/lib", "libdb-4.7.so", "Deprecated Berkeley DB location"),
("/opt/csw/lib/mysql", "libmysqlclient_r.so.15",
@@ -105,9 +109,10 @@
% (soname, binary_info["path"], runpath_tuple, runpath_history, path_msg))
orphan_sonames = set(orphan_sonames)
for soname, binary_path in orphan_sonames:
- error_mgr.ReportError(
- pkgname, "soname-not-found",
- "%s is needed by %s" % (soname, binary_path))
+ if soname not in ALLOWED_ORPHAN_SONAMES:
+ error_mgr.ReportError(
+ pkgname, "soname-not-found",
+ "%s is needed by %s" % (soname, binary_path))
# TODO: Report orphan sonames here
return required_deps
Modified: csw/mgar/gar/v2/lib/python/package_checks.py
===================================================================
--- csw/mgar/gar/v2/lib/python/package_checks.py 2010-07-20 10:31:49 UTC (rev 10544)
+++ csw/mgar/gar/v2/lib/python/package_checks.py 2010-07-20 11:11:36 UTC (rev 10545)
@@ -968,3 +968,20 @@
"http://www.opencsw.org/extend-it/contribute-packages/"
"build-standards/"
"architecture-optimization-using-isaexec-and-isalist/")
+
+
+def CheckWrongArchitecture(pkg_data, error_mgr, logger, messenger):
+ pkgname = pkg_data["basic_stats"]["pkgname"]
+ filename_arch = pkg_data["basic_stats"]["parsed_basename"]["arch"]
+ pkginfo_arch = pkg_data["pkginfo"]["ARCH"]
+ files_metadata = pkg_data["files_metadata"]
+ for file_metadata in files_metadata:
+ if opencsw.IsBinary(file_metadata):
+ machine = HACHOIR_MACHINES[file_metadata["machine_id"]]
+ if machine["type"] != pkginfo_arch:
+ error_mgr.ReportError(
+ "binary-wrong-architecture",
+ "file=%s pkginfo-says=%s actual-binary=%s" % (
+ file_metadata["path"],
+ pkginfo_arch,
+ machine["type"]))
Modified: csw/mgar/gar/v2/lib/python/package_checks_test.py
===================================================================
--- csw/mgar/gar/v2/lib/python/package_checks_test.py 2010-07-20 10:31:49 UTC (rev 10544)
+++ csw/mgar/gar/v2/lib/python/package_checks_test.py 2010-07-20 11:11:36 UTC (rev 10545)
@@ -21,6 +21,7 @@
from testdata.ivtools_stats import pkgstats as ivtools_stats
from testdata.sudo_stats import pkgstats as sudo_stats
from testdata.javasvn_stats import pkgstats as javasvn_stats
+from testdata.neon_stats import pkgstats as neon_stats
from testdata import stubs
DEFAULT_PKG_STATS = None
@@ -465,6 +466,34 @@
self.pkg_data = [self.pkg_data]
+class TestSetCheckLibmLinking(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",)
+ binaries_dump_info[0]["needed sonames"] = ["libm.so.2"]
+ self.pkg_data["depends"] = ((u"CSWcommon", ""),)
+ self.pkg_data["binaries_dump_info"] = binaries_dump_info[0:1]
+ self.error_mgr_mock.GetPathsAndPkgnamesByBasename('libm.so.2').AndReturn({
+ })
+ 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 TestRemovePackagesUnderInstallation(unittest.TestCase):
def testRemoveNone(self):
@@ -1201,5 +1230,17 @@
self.messenger.SuggestGarLine(u'RUNTIME_DEP_PKGS_CSWjavasvn += CSWiconv')
+class TestCheckWrongArchitecture(CheckpkgUnitTestHelper, unittest.TestCase):
+ FUNCTION_NAME = 'CheckWrongArchitecture'
+ def CheckpkgTest(self):
+ self.pkg_data = neon_stats[0]
+ self.error_mgr_mock.ReportError(
+ 'binary-wrong-architecture',
+ 'file=opt/csw/lib/sparcv9/libneon.so.27.2.0 pkginfo-says=i386 actual-binary=sparc')
+ self.error_mgr_mock.ReportError(
+ 'binary-wrong-architecture',
+ 'file=opt/csw/lib/sparcv9/libneon.so.26.0.4 pkginfo-says=i386 actual-binary=sparc')
+
+
if __name__ == '__main__':
unittest.main()
Added: csw/mgar/gar/v2/lib/python/testdata/neon_stats.py
===================================================================
--- csw/mgar/gar/v2/lib/python/testdata/neon_stats.py (rev 0)
+++ csw/mgar/gar/v2/lib/python/testdata/neon_stats.py 2010-07-20 11:11:36 UTC (rev 10545)
@@ -0,0 +1,368 @@
+import datetime
+pkgstats = [{'bad_paths': {},
+ 'basic_stats': {'catalogname': 'neon',
+ 'md5_sum': 'd74a2f65ef0caff0bdde7310007764a8',
+ 'parsed_basename': {'arch': 'i386',
+ 'catalogname': 'neon',
+ 'full_version_string': '0.29.0,REV=2009.09.14',
+ 'osrel': 'SunOS5.8',
+ 'revision_info': {'REV': '2009.09.14'},
+ 'vendortag': 'CSW',
+ 'version': '0.29.0',
+ 'version_info': {'major version': '0',
+ 'minor version': '29',
+ 'patchlevel': '0'}},
+ 'pkg_basename': 'neon-0.29.0,REV=2009.09.14-SunOS5.8-i386-CSW.pkg.gz',
+ 'pkg_path': '/tmp/pkg_iId8vV/neon-0.29.0,REV=2009.09.14-SunOS5.8-i386-CSW.pkg.gz',
+ 'pkgname': 'CSWneon',
+ 'stats_version': 9L},
+ 'binaries': ['opt/csw/lib/libneon.so.26.0.4',
+ 'opt/csw/lib/libneon.so.27.2.0',
+ 'opt/csw/lib/sparcv9/libneon.so.26.0.4',
+ 'opt/csw/lib/sparcv9/libneon.so.27.2.0'],
+ 'binaries_dump_info': [{'RPATH set': True,
+ 'RUNPATH RPATH the same': True,
+ 'RUNPATH set': True,
+ 'base_name': 'libneon.so.26.0.4',
+ 'needed sonames': ('libintl.so.8',
+ 'libz.so',
+ 'libssl.so.0.9.8',
+ 'libcrypto.so.0.9.8',
+ 'libdl.so.1',
+ 'libgssapi_krb5.so.2',
+ 'libkrb5.so.3',
+ 'libk5crypto.so.3',
+ 'libcom_err.so.3',
+ 'libkrb5support.so.0',
+ 'libresolv.so.2',
+ 'libsocket.so.1',
+ 'libnsl.so.1',
+ 'libexpat.so.1',
+ 'libc.so.1'),
+ 'path': 'opt/csw/lib/libneon.so.26.0.4',
+ 'runpath': ('/opt/csw/lib/$ISALIST',
+ '/opt/csw/lib',
+ '/opt/csw/lib',
+ '/opt/csw/lib/'),
+ 'soname': 'libneon.so.26'},
+ {'RPATH set': True,
+ 'RUNPATH RPATH the same': True,
+ 'RUNPATH set': True,
+ 'base_name': 'libneon.so.27.2.0',
+ 'needed sonames': ('libintl.so.8',
+ 'libz.so',
+ 'libssl.so.0.9.8',
+ 'libcrypto.so.0.9.8',
+ 'libdl.so.1',
+ 'libgssapi_krb5.so.2',
+ 'libkrb5.so.3',
+ 'libk5crypto.so.3',
+ 'libcom_err.so.3',
+ 'libkrb5support.so.0',
+ 'libresolv.so.2',
+ 'libsocket.so.1',
+ 'libnsl.so.1',
+ 'libexpat.so.1',
+ 'libc.so.1'),
+ 'path': 'opt/csw/lib/libneon.so.27.2.0',
+ 'runpath': ('/opt/csw/lib/$ISALIST',
+ '/opt/csw/lib',
+ '/opt/csw/lib',
+ '/opt/csw/lib/'),
+ 'soname': 'libneon.so.27'},
+ {'RPATH set': True,
+ 'RUNPATH RPATH the same': True,
+ 'RUNPATH set': True,
+ 'base_name': 'libneon.so.26.0.4',
+ 'needed sonames': ('libintl.so.8',
+ 'libz.so',
+ 'libssl.so.0.9.8',
+ 'libcrypto.so.0.9.8',
+ 'libsocket.so.1',
+ 'libnsl.so.1',
+ 'libdl.so.1',
+ 'libexpat.so.1',
+ 'libc.so.1'),
+ 'path': 'opt/csw/lib/sparcv9/libneon.so.26.0.4',
+ 'runpath': ('/opt/csw/lib/$ISALIST',
+ '/opt/csw/lib/64'),
+ 'soname': 'libneon.so.26'},
+ {'RPATH set': True,
+ 'RUNPATH RPATH the same': True,
+ 'RUNPATH set': True,
+ 'base_name': 'libneon.so.27.2.0',
+ 'needed sonames': ('libintl.so.8',
+ 'libz.so',
+ 'libssl.so.0.9.8',
+ 'libcrypto.so.0.9.8',
+ 'libsocket.so.1',
+ 'libnsl.so.1',
+ 'libdl.so.1',
+ 'libexpat.so.1',
+ 'libc.so.1'),
+ 'path': 'opt/csw/lib/sparcv9/libneon.so.27.2.0',
+ 'runpath': ('/opt/csw/lib/$ISALIST',
+ '/opt/csw/lib/64'),
+ 'soname': 'libneon.so.27'}],
+ 'depends': [('CSWexpat', 'CSWexpat expat - XML Parser Toolkit '),
+ ('CSWkrb5lib',
+ 'CSWkrb5lib krb5_lib - MIT Kerberos 5 core libraries '),
+ ('CSWosslrt',
+ 'CSWosslrt openssl_rt - Openssl runtime libraries '),
+ ('CSWzlib', 'CSWzlib zlib - Zlib Data Compression Library '),
+ ('CSWggettextrt',
+ 'CSWggettextrt ggettextrt - GNU locale utilities '),
+ ('CSWcommon',
+ 'CSWcommon common - common files and dirs for CSW packages ')],
+ 'files_metadata': [{'mime_type': 'application/octet-stream; charset=binary',
+ 'path': 'opt/csw/share/locale/fr/LC_MESSAGES/neon.mo'},
+ {'mime_type': 'application/octet-stream; charset=binary',
+ 'path': 'opt/csw/share/locale/cs/LC_MESSAGES/neon.mo'},
+ {'mime_type': 'application/octet-stream; charset=binary',
+ 'path': 'opt/csw/share/locale/pl/LC_MESSAGES/neon.mo'},
+ {'mime_type': 'application/octet-stream; charset=binary',
+ 'path': 'opt/csw/share/locale/tr/LC_MESSAGES/neon.mo'},
+ {'mime_type': 'application/octet-stream; charset=binary',
+ 'path': 'opt/csw/share/locale/zh_CN/LC_MESSAGES/neon.mo'},
+ {'mime_type': 'application/octet-stream; charset=binary',
+ 'path': 'opt/csw/share/locale/ru/LC_MESSAGES/neon.mo'},
+ {'mime_type': 'application/octet-stream; charset=binary',
+ 'path': 'opt/csw/share/locale/ja/LC_MESSAGES/neon.mo'},
+ {'mime_type': 'application/octet-stream; charset=binary',
+ 'path': 'opt/csw/share/locale/de/LC_MESSAGES/neon.mo'},
+ {'mime_type': 'application/octet-stream; charset=binary',
+ 'path': 'opt/csw/share/locale/nn/LC_MESSAGES/neon.mo'},
+ {'mime_type': 'text/plain; charset=us-ascii',
+ 'path': 'opt/csw/share/doc/neon/license'},
+ {'endian': 'Little endian',
+ 'machine_id': 3,
+ 'mime_type': 'application/x-sharedlib; charset=binary',
+ 'mime_type_by_hachoir': u'application/x-executable',
+ 'path': 'opt/csw/lib/libneon.so.27.2.0'},
+ {'endian': 'Little endian',
+ 'machine_id': 3,
+ 'mime_type': 'application/x-sharedlib; charset=binary',
+ 'mime_type_by_hachoir': u'application/x-executable',
+ 'path': 'opt/csw/lib/libneon.so.26.0.4'},
+ {'endian': 'Big endian',
+ 'machine_id': 43,
+ 'mime_type': 'application/x-sharedlib; charset=binary',
+ 'mime_type_by_hachoir': u'application/x-executable',
+ 'path': 'opt/csw/lib/sparcv9/libneon.so.27.2.0'},
+ {'endian': 'Big endian',
+ 'machine_id': 43,
+ 'mime_type': 'application/x-sharedlib; charset=binary',
+ 'mime_type_by_hachoir': u'application/x-executable',
+ 'path': 'opt/csw/lib/sparcv9/libneon.so.26.0.4'}],
+ 'isalist': ('pentium_pro+mmx',
+ 'pentium_pro',
+ 'pentium+mmx',
+ 'pentium',
+ 'i486',
+ 'i386',
+ 'i86'),
+ 'mtime': datetime.datetime(2009, 9, 23, 20, 21, 14),
+ 'overrides': [],
+ 'pkgchk': {'return_code': 0,
+ 'stderr_lines': ['rm: Cannot remove any directory in the path of the current working directory',
+ '/var/tmp/aaaG4aaGa/CSWneon'],
+ 'stdout_lines': ['Checking uninstalled stream format package <CSWneon> from </tmp/pkg_iId8vV/neon-0.29.0,REV=2009.09.14-SunOS5.8-i386-CSW.pkg>',
+ '## Checking control scripts.',
+ '## Checking package objects.',
+ '## Checking is complete.']},
+ 'pkginfo': {'ARCH': 'i386',
+ 'CATEGORY': 'application',
+ 'CLASSES': 'none',
+ 'EMAIL': 'dam at opencsw.org',
+ 'HOTLINE': 'http://www.opencsw.org/bugtrack/',
+ 'NAME': 'neon - Neon HTTP and WebDAV client library',
+ 'OPENCSW_MODE64': '32/64',
+ 'OPENCSW_REPOSITORY': 'https://gar.svn.sf.net/svnroot/gar/csw/mgar/pkg/neon/trunk@6303',
+ 'PKG': 'CSWneon',
+ 'PSTAMP': 'dam at build8x-20090914121411',
+ 'VENDOR': 'http://www.webdav.org/neon/ packaged for CSW by Dagobert Michelsen',
+ 'VERSION': '0.29.0,REV=2009.09.14',
+ 'WORKDIR_FIRSTMOD': '../build-isa-i386-garversion-0.26.4'},
+ 'pkgmap': [{'class': None,
+ 'group': None,
+ 'line': ': 1 1763',
+ 'mode': None,
+ 'path': None,
+ 'type': '1',
+ 'user': None},
+ {'class': 'none',
+ 'group': None,
+ 'line': '1 s none /opt/csw/lib/libneon.so=libneon.so.27.2.0',
+ 'mode': None,
+ 'path': '/opt/csw/lib/libneon.so',
+ 'type': 's',
+ 'user': None},
+ {'class': 'none',
+ 'group': None,
+ 'line': '1 s none /opt/csw/lib/libneon.so.26=libneon.so.26.0.4',
+ 'mode': None,
+ 'path': '/opt/csw/lib/libneon.so.26',
+ 'type': 's',
+ 'user': None},
+ {'class': 'none',
+ 'group': 'bin',
+ 'line': '1 f none /opt/csw/lib/libneon.so.26.0.4 0755 root bin 168252 181 1252917142',
+ 'mode': '0755',
+ 'path': '/opt/csw/lib/libneon.so.26.0.4',
+ 'type': 'f',
+ 'user': 'root'},
+ {'class': 'none',
+ 'group': None,
+ 'line': '1 s none /opt/csw/lib/libneon.so.27=libneon.so.27.2.0',
+ 'mode': None,
+ 'path': '/opt/csw/lib/libneon.so.27',
+ 'type': 's',
+ 'user': None},
+ {'class': 'none',
+ 'group': 'bin',
+ 'line': '1 f none /opt/csw/lib/libneon.so.27.2.0 0755 root bin 204772 15212 1252917242',
+ 'mode': '0755',
+ 'path': '/opt/csw/lib/libneon.so.27.2.0',
+ 'type': 'f',
+ 'user': 'root'},
+ {'class': 'none',
+ 'group': None,
+ 'line': '1 s none /opt/csw/lib/sparcv9/libneon.so=libneon.so.27.2.0',
+ 'mode': None,
+ 'path': '/opt/csw/lib/sparcv9/libneon.so',
+ 'type': 's',
+ 'user': None},
+ {'class': 'none',
+ 'group': None,
+ 'line': '1 s none /opt/csw/lib/sparcv9/libneon.so.26=libneon.so.26.0.4',
+ 'mode': None,
+ 'path': '/opt/csw/lib/sparcv9/libneon.so.26',
+ 'type': 's',
+ 'user': None},
+ {'class': 'none',
+ 'group': 'bin',
+ 'line': '1 f none /opt/csw/lib/sparcv9/libneon.so.26.0.4 0755 root bin 202616 50766 1252915624',
+ 'mode': '0755',
+ 'path': '/opt/csw/lib/sparcv9/libneon.so.26.0.4',
+ 'type': 'f',
+ 'user': 'root'},
+ {'class': 'none',
+ 'group': None,
+ 'line': '1 s none /opt/csw/lib/sparcv9/libneon.so.27=libneon.so.27.2.0',
+ 'mode': None,
+ 'path': '/opt/csw/lib/sparcv9/libneon.so.27',
+ 'type': 's',
+ 'user': None},
+ {'class': 'none',
+ 'group': 'bin',
+ 'line': '1 f none /opt/csw/lib/sparcv9/libneon.so.27.2.0 0755 root bin 244248 40979 1252915763',
+ 'mode': '0755',
+ 'path': '/opt/csw/lib/sparcv9/libneon.so.27.2.0',
+ 'type': 'f',
+ 'user': 'root'},
+ {'class': 'none',
+ 'group': 'bin',
+ 'line': '1 d none /opt/csw/share/doc/neon 0755 root bin',
+ 'mode': '0755',
+ 'path': '/opt/csw/share/doc/neon',
+ 'type': 'd',
+ 'user': 'root'},
+ {'class': 'none',
+ 'group': 'bin',
+ 'line': '1 f none /opt/csw/share/doc/neon/license 0644 root bin 630 53497 1252923212',
+ 'mode': '0644',
+ 'path': '/opt/csw/share/doc/neon/license',
+ 'type': 'f',
+ 'user': 'root'},
+ {'class': 'none',
+ 'group': 'bin',
+ 'line': '1 f none /opt/csw/share/locale/cs/LC_MESSAGES/neon.mo 0644 root bin 1566 54451 1252917245',
+ 'mode': '0644',
+ 'path': '/opt/csw/share/locale/cs/LC_MESSAGES/neon.mo',
+ 'type': 'f',
+ 'user': 'root'},
+ {'class': 'none',
+ 'group': 'bin',
+ 'line': '1 f none /opt/csw/share/locale/de/LC_MESSAGES/neon.mo 0644 root bin 1712 61756 1252917245',
+ 'mode': '0644',
+ 'path': '/opt/csw/share/locale/de/LC_MESSAGES/neon.mo',
+ 'type': 'f',
+ 'user': 'root'},
+ {'class': 'none',
+ 'group': 'bin',
+ 'line': '1 f none /opt/csw/share/locale/fr/LC_MESSAGES/neon.mo 0644 root bin 387 27949 1252917245',
+ 'mode': '0644',
+ 'path': '/opt/csw/share/locale/fr/LC_MESSAGES/neon.mo',
+ 'type': 'f',
+ 'user': 'root'},
+ {'class': 'none',
+ 'group': 'bin',
+ 'line': '1 f none /opt/csw/share/locale/ja/LC_MESSAGES/neon.mo 0644 root bin 877 10980 1252917246',
+ 'mode': '0644',
+ 'path': '/opt/csw/share/locale/ja/LC_MESSAGES/neon.mo',
+ 'type': 'f',
+ 'user': 'root'},
+ {'class': 'none',
+ 'group': 'bin',
+ 'line': '1 f none /opt/csw/share/locale/nn/LC_MESSAGES/neon.mo 0644 root bin 1626 54801 1252917246',
+ 'mode': '0644',
+ 'path': '/opt/csw/share/locale/nn/LC_MESSAGES/neon.mo',
+ 'type': 'f',
+ 'user': 'root'},
+ {'class': 'none',
+ 'group': 'bin',
+ 'line': '1 f none /opt/csw/share/locale/pl/LC_MESSAGES/neon.mo 0644 root bin 13423 44594 1252917246',
+ 'mode': '0644',
+ 'path': '/opt/csw/share/locale/pl/LC_MESSAGES/neon.mo',
+ 'type': 'f',
+ 'user': 'root'},
+ {'class': 'none',
+ 'group': 'bin',
+ 'line': '1 f none /opt/csw/share/locale/ru/LC_MESSAGES/neon.mo 0644 root bin 383 27763 1252917246',
+ 'mode': '0644',
+ 'path': '/opt/csw/share/locale/ru/LC_MESSAGES/neon.mo',
+ 'type': 'f',
+ 'user': 'root'},
+ {'class': 'none',
+ 'group': 'bin',
+ 'line': '1 f none /opt/csw/share/locale/tr/LC_MESSAGES/neon.mo 0644 root bin 1523 50355 1252917246',
+ 'mode': '0644',
+ 'path': '/opt/csw/share/locale/tr/LC_MESSAGES/neon.mo',
+ 'type': 'f',
+ 'user': 'root'},
+ {'class': 'none',
+ 'group': 'bin',
+ 'line': '1 d none /opt/csw/share/locale/zh_CN/LC_MESSAGES 0755 root bin',
+ 'mode': '0755',
+ 'path': '/opt/csw/share/locale/zh_CN/LC_MESSAGES',
+ 'type': 'd',
+ 'user': 'root'},
+ {'class': 'none',
+ 'group': 'bin',
+ 'line': '1 f none /opt/csw/share/locale/zh_CN/LC_MESSAGES/neon.mo 0644 root bin 8552 58772 1252917246',
+ 'mode': '0644',
+ 'path': '/opt/csw/share/locale/zh_CN/LC_MESSAGES/neon.mo',
+ 'type': 'f',
+ 'user': 'root'},
+ {'class': None,
+ 'group': None,
+ 'line': '1 i copyright 68 6357 1252923212',
+ 'mode': None,
+ 'path': None,
+ 'type': 'i',
+ 'user': None},
+ {'class': None,
+ 'group': None,
+ 'line': '1 i depend 300 26720 1252923256',
+ 'mode': None,
+ 'path': None,
+ 'type': 'i',
+ 'user': None},
+ {'class': None,
+ 'group': None,
+ 'line': '1 i pkginfo 462 37649 1252923258',
+ '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