aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Bersenev <bay@hackerdom.ru>2011-08-25 19:20:42 +0000
committerAlexander Bersenev <bay@hackerdom.ru>2011-08-25 19:20:42 +0000
commitd4367ca0b5cdcccfb3d51b7868d15e1104b8b30c (patch)
treee40eed96a05c0291774ec5e324ffe921edf8218c /portage_with_autodep
parentdocs changed: installing section (diff)
downloadautodep-d4367ca0b5cdcccfb3d51b7868d15e1104b8b30c.tar.gz
autodep-d4367ca0b5cdcccfb3d51b7868d15e1104b8b30c.tar.bz2
autodep-d4367ca0b5cdcccfb3d51b7868d15e1104b8b30c.zip
allowing to access to rdepends of system packages
Diffstat (limited to 'portage_with_autodep')
-rw-r--r--portage_with_autodep/pym/_emerge/EventsAnalyser.py23
1 files changed, 21 insertions, 2 deletions
diff --git a/portage_with_autodep/pym/_emerge/EventsAnalyser.py b/portage_with_autodep/pym/_emerge/EventsAnalyser.py
index f0aa7f8..2dc2d35 100644
--- a/portage_with_autodep/pym/_emerge/EventsAnalyser.py
+++ b/portage_with_autodep/pym/_emerge/EventsAnalyser.py
@@ -154,6 +154,7 @@ class PortageUtils:
runtime_deps=runtime_deps.union(self.get_deps(dep,["RDEPEND"]))
ret=buildtime_deps.union(runtime_deps)
+
return ret
def get_system_packages_list(self):
@@ -169,7 +170,19 @@ class PortageUtils:
for pkg in self.vartree.dep_match(unvirt_pkg):
ret.append(pkg)
return ret
-
+
+ def get_system_packages_rdeps(self):
+ """
+ returns runtime dependencies of packages from system set
+
+ :returns: **list** of package names
+ """
+ ret=set()
+
+ for pkg in self.get_system_packages_list():
+ ret=ret.union(self.get_deps(pkg,["RDEPEND"]))
+ return list(ret)
+
class GentoolkitUtils:
"""
@@ -266,13 +279,15 @@ class FilterProcGenerator:
deps_portage=portageutils.get_dep('sys-apps/portage',["RDEPEND"])
system_packages=portageutils.get_system_packages_list()
+ system_deps=portageutils.get_system_packages_rdeps()
allfiles=GentoolkitUtils().get_all_packages_files()
portage.util.writemsg("All files list recieved, waiting for " \
"a list of allowed files\n")
- allowedpkgs=system_packages+list(deps_portage)+list(deps_all)
+ allowedpkgs=system_packages+system_deps
+ allowedpkgs+=list(deps_portage)+list(deps_all)
allowedpkgs+=["app-portage/autodep"]
allowedfiles=GentoolkitUtils().getfilesbypackages(allowedpkgs)
@@ -308,6 +323,7 @@ class EventsAnalyser:
self.deps_portage=self.portageutils.get_dep('sys-apps/portage',["RDEPEND"])
self.system_packages=self.portageutils.get_system_packages_list()
+ self.system_deps=self.portageutils.get_system_packages_rdeps()
# All analyse work is here
# get unique filenames
@@ -387,6 +403,7 @@ class EventsAnalyser:
is_pkg_in_dep=package in self.deps_all
is_pkg_in_portage_dep=package in self.deps_portage
is_pkg_in_system=package in self.system_packages
+ is_pkg_in_system_dep=package in self.system_deps
is_pkg_python="dev-lang/python" in package
is_pkg_self="app-portage/autodep" in package
@@ -427,6 +444,8 @@ class EventsAnalyser:
portage.util.writemsg("[SYSTEM]")
elif is_pkg_in_portage_dep:
portage.util.writemsg("[PORTAGE DEP]")
+ elif is_pkg_in_system_dep:
+ portage.util.writemsg("[SYSTEM DEP]")
elif is_pkg_self:
portage.util.writemsg("[AUTODEP]")
elif is_pkg_python: