--- a/src/modules/client/image.py Fri Aug 03 11:46:58 2007 -0700
+++ b/src/modules/client/image.py Mon Aug 06 14:53:13 2007 -0700
@@ -222,6 +222,26 @@
return False
+ def get_dependents(self, pfmri):
+ """Return a list of the packages directly dependent on the given FMRI."""
+
+ thedir = os.path.join(self.imgdir, "index", "depend",
+ urllib.quote(str(pfmri.get_pkg_stem())[5:], ""))
+
+ if not os.path.isdir(thedir):
+ return []
+
+ for v in os.listdir(thedir):
+ f = fmri.PkgFmri(pfmri.get_pkg_stem() + "@" + v,
+ self.attrs["Build-Release"])
+ if pfmri.is_successor(f):
+ dependents = [
+ urllib.unquote(d)
+ for d in os.listdir(os.path.join(thedir, v))
+ ]
+
+ return dependents
+
def reload_catalogs(self):
cdir = "%s/%s" % (self.imgdir, "catalog")
for cf in os.listdir(cdir):