From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from pigeon.gentoo.org ([208.92.234.80] helo=lists.gentoo.org) by finch.gentoo.org with esmtp (Exim 4.60) (envelope-from ) id 1QwZt1-00062U-Ah for garchives@archives.gentoo.org; Thu, 25 Aug 2011 13:22:23 +0000 Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 672F221C1DE; Thu, 25 Aug 2011 13:22:15 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) by pigeon.gentoo.org (Postfix) with ESMTP id 13BDE21C1DE for ; Thu, 25 Aug 2011 13:22:14 +0000 (UTC) Received: from pelican.gentoo.org (unknown [66.219.59.40]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id D8C321B4021 for ; Thu, 25 Aug 2011 13:22:13 +0000 (UTC) Received: from localhost.localdomain (localhost [127.0.0.1]) by pelican.gentoo.org (Postfix) with ESMTP id 3B1DA80044 for ; Thu, 25 Aug 2011 13:22:13 +0000 (UTC) From: "Александр Берсенев" To: gentoo-commits@lists.gentoo.org Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Александр Берсенев" Message-ID: Subject: [gentoo-commits] proj/autodep:master commit in: portage_with_autodep/pym/_emerge/, src/autodep/ X-VCS-Repository: proj/autodep X-VCS-Files: portage_with_autodep/pym/_emerge/EventsAnalyser.py src/autodep/autodep X-VCS-Directories: portage_with_autodep/pym/_emerge/ src/autodep/ X-VCS-Committer: bay X-VCS-Committer-Name: Александр Берсенев X-VCS-Revision: d4367ca0b5cdcccfb3d51b7868d15e1104b8b30c Date: Thu, 25 Aug 2011 13:22:13 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: quoted-printable X-Archives-Salt: X-Archives-Hash: 46799af73f5d0ef6f36f7e8cc0e2856a commit: d4367ca0b5cdcccfb3d51b7868d15e1104b8b30c Author: Alexander Bersenev hackerdom ru> AuthorDate: Thu Aug 25 19:20:42 2011 +0000 Commit: =D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B0=D0=BD=D0=B4=D1=80 =D0=91= =D0=B5=D1=80=D1=81=D0=B5=D0=BD=D0=B5=D0=B2 hackerdom ru> CommitDate: Thu Aug 25 19:20:42 2011 +0000 URL: http://git.overlays.gentoo.org/gitweb/?p=3Dproj/autodep.git;a= =3Dcommit;h=3Dd4367ca0 allowing to access to rdepends of system packages --- portage_with_autodep/pym/_emerge/EventsAnalyser.py | 23 ++++++++++++++= ++++- src/autodep/autodep | 15 +++++++++--- 2 files changed, 32 insertions(+), 6 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=3Druntime_deps.union(self.get_deps(dep,["RDEPEND"])) =20 ret=3Dbuildtime_deps.union(runtime_deps) + =09 return ret =20 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 - +=09 + def get_system_packages_rdeps(self): + """ + returns runtime dependencies of packages from system set + =09 + :returns: **list** of package names + """ + ret=3Dset() + =09 + for pkg in self.get_system_packages_list(): + ret=3Dret.union(self.get_deps(pkg,["RDEPEND"])) + return list(ret) + =09 =20 class GentoolkitUtils: """=20 @@ -266,13 +279,15 @@ class FilterProcGenerator: deps_portage=3Dportageutils.get_dep('sys-apps/portage',["RDEPEND"]) =09 system_packages=3Dportageutils.get_system_packages_list() + system_deps=3Dportageutils.get_system_packages_rdeps() =20 allfiles=3DGentoolkitUtils().get_all_packages_files() portage.util.writemsg("All files list recieved, waiting for " \ "a list of allowed files\n") =20 =20 - allowedpkgs=3Dsystem_packages+list(deps_portage)+list(deps_all)=09 + allowedpkgs=3Dsystem_packages+system_deps + allowedpkgs+=3Dlist(deps_portage)+list(deps_all)=09 allowedpkgs+=3D["app-portage/autodep"] =09 allowedfiles=3DGentoolkitUtils().getfilesbypackages(allowedpkgs) @@ -308,6 +323,7 @@ class EventsAnalyser: self.deps_portage=3Dself.portageutils.get_dep('sys-apps/portage',["RDE= PEND"]) =20 self.system_packages=3Dself.portageutils.get_system_packages_list() + self.system_deps=3Dself.portageutils.get_system_packages_rdeps() # All analyse work is here =09 # get unique filenames @@ -387,6 +403,7 @@ class EventsAnalyser: is_pkg_in_dep=3Dpackage in self.deps_all is_pkg_in_portage_dep=3Dpackage in self.deps_portage is_pkg_in_system=3Dpackage in self.system_packages + is_pkg_in_system_dep=3Dpackage in self.system_deps is_pkg_python=3D"dev-lang/python" in package is_pkg_self=3D"app-portage/autodep" in package =20 @@ -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: diff --git a/src/autodep/autodep b/src/autodep/autodep index 335cb2e..8d22e00 100755 --- a/src/autodep/autodep +++ b/src/autodep/autodep @@ -54,8 +54,9 @@ def parse_args(): def init_environment(): portage_api=3Dportage_misc_functions.portage_api() system_packages =3D portage_api.get_system_packages_list() + system_deps =3D portage_api.get_system_packages_rdeps() =20 - return portage_api, system_packages + return portage_api, system_packages, system_deps =20 def init_runtime_vars(portage_api, options,args): runtime_vars=3D{} # This is here mainly for grouping. We are trying to= =20 @@ -108,7 +109,7 @@ def init_runtime_vars(portage_api, options,args): =20 return runtime_vars =20 -def get_filter_function(options,args,system_packages,portage_api): +def get_filter_function(options,args,system_packages,system_deps,portage= _api): # handling --block # exits if package name is bad if not options.packages and not options.strict_block: @@ -138,6 +139,8 @@ def get_filter_function(options,args,system_packages,= portage_api): allfiles=3Dportage_utils.get_all_packages_files() allowedpkgs=3D[] allowedpkgs+=3Dsystem_packages + allowedpkgs+=3Dsystem_deps +=09 if runtime_vars["is_emerge"]: # blocking logic for emerge print "Notice: you can use emerge_strict command instead of autodep e= merge." print "Using this command allows to build any number of a packages.\n= " @@ -192,13 +195,13 @@ def get_filter_function(options,args,system_package= s,portage_api): return True return filter =09 -portage_api, system_packages=3Dinit_environment() +portage_api, system_packages, system_deps=3Dinit_environment() options,args=3Dparse_args() runtime_vars=3Dinit_runtime_vars(portage_api,options,args) =20 color_printer=3Dcolorize_output.color_printer(not options.nocolor) =20 -filter_function=3Dget_filter_function(options,args,system_packages,porta= ge_api) +filter_function=3Dget_filter_function(options,args,system_packages,syste= m_deps,portage_api) =20 # launching program events=3Dlogfs.fstracer.getfsevents(args[0], args,approach=3Doptions.app= roach,filterproc=3Dfilter_function) @@ -319,6 +322,8 @@ for package in sorted(packagesinfo): =20 is_pkg_in_dep=3Dpackage in runtime_vars["deps_all"] is_pkg_in_system=3Dpackage in system_packages + is_pkg_in_system_deps=3Dpackage in system_deps + =20 is_pkg_in_portage_dep=3Druntime_vars["is_emerge"] and package in runti= me_vars["deps_portage"] is_pkg_self=3D"app-portage/autodep" in package is_pkg_python=3D"dev-lang/python" in package @@ -358,6 +363,8 @@ for package in sorted(packagesinfo): color_printer.printmsg("text","[SYSTEM]") =20 elif is_pkg_in_portage_dep: color_printer.printmsg("text","[PORTAGE DEP]") =20 + elif is_pkg_in_system_deps: + color_printer.printmsg("text","[SYSTEM DEP]") =20 elif is_pkg_self: color_printer.printmsg("text","[AUTODEP]") =20 elif is_pkg_python: