Revision: 15387 http://gar.svn.sourceforge.net/gar/?rev=15387&view=rev Author: wahwah Date: 2011-08-20 22:52:13 +0000 (Sat, 20 Aug 2011)
Log Message: ----------- checkpkg: Check dangling hardlinks as well Modified Paths: -------------- csw/mgar/gar/v2/lib/python/package_checks.py csw/mgar/gar/v2/lib/python/package_checks_test.py Modified: csw/mgar/gar/v2/lib/python/package_checks.py =================================================================== --- csw/mgar/gar/v2/lib/python/package_checks.py 2011-08-20 20:42:52 UTC (rev 15386) +++ csw/mgar/gar/v2/lib/python/package_checks.py 2011-08-20 22:52:13 UTC (rev 15387) @@ -1203,11 +1203,14 @@ for pkgmap_entry in pkg_data["pkgmap"]: if "path" not in pkgmap_entry: continue if not pkgmap_entry["path"]: continue - if pkgmap_entry["type"] == "s": + if pkgmap_entry["type"] in ("s", "l"): + link_type = "symlink" + if pkgmap_entry["type"] == "l": + link_type = "hardling" error_mgr.NeedFile( pkgmap_entry["target"], - "%s contains a symlink (%s) which needs the target file: %s." - % (pkgname, repr(pkgmap_entry["path"]), repr(pkgmap_entry["target"]))) + "%s contains a %s (%s) which needs the target file: %s." + % (link_type, pkgname, repr(pkgmap_entry["path"]), repr(pkgmap_entry["target"]))) def CheckPrefixDirs(pkg_data, error_mgr, logger, messenger): Modified: csw/mgar/gar/v2/lib/python/package_checks_test.py =================================================================== --- csw/mgar/gar/v2/lib/python/package_checks_test.py 2011-08-20 20:42:52 UTC (rev 15386) +++ csw/mgar/gar/v2/lib/python/package_checks_test.py 2011-08-20 22:52:13 UTC (rev 15387) @@ -1649,7 +1649,24 @@ 'target': '/opt/csw/lib/libpq.so.5'}) self.error_mgr_mock.NeedFile('/opt/csw/lib/libpq.so.5', mox.IsA(str)) + # Hardlinks work the same way. + def CheckpkgTest2(self): + self.pkg_data = copy.deepcopy(tree_stats[0]) + self.pkg_data["pkgmap"].append( + {'class': 'none', + 'group': None, + 'line': None, + 'mode': None, + 'path': '/opt/csw/lib/postgresql/9.0/lib/libpq.so.5', + 'type': 'l', + 'user': None, + 'target': '/opt/csw/lib/libpq.so.5'}) + self.error_mgr_mock.NeedFile('/opt/csw/lib/libpq.so.5', mox.IsA(str)) + def testTwo(self): + self.RunCheckpkgTest(self.CheckpkgTest2) + + class TestCheckPrefixDirs(CheckpkgUnitTestHelper, unittest.TestCase): FUNCTION_NAME = 'CheckPrefixDirs' This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. _______________________________________________ devel mailing list devel@lists.opencsw.org https://lists.opencsw.org/mailman/listinfo/devel