public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] proj/autodep:master commit in: portage_with_autodep/pym/_emerge/
@ 2011-10-15 10:46 Александр Берсенев
  0 siblings, 0 replies; 5+ messages in thread
From: Александр Берсенев @ 2011-10-15 10:46 UTC (permalink / raw
  To: gentoo-commits

commit:     1ffe071cc64ab5d90b6c6ec61abf2310b3d73279
Author:     Alexander Bersenev <bay <AT> hackerdom <DOT> ru>
AuthorDate: Sat Oct 15 16:46:07 2011 +0000
Commit:     Александр Берсенев <bay <AT> hackerdom <DOT> ru>
CommitDate: Sat Oct 15 16:46:07 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/autodep.git;a=commit;h=1ffe071c

disable pdb exec

---
 portage_with_autodep/pym/_emerge/EventsAnalyser.py |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/portage_with_autodep/pym/_emerge/EventsAnalyser.py b/portage_with_autodep/pym/_emerge/EventsAnalyser.py
index da4ba93..0f2d2dd 100644
--- a/portage_with_autodep/pym/_emerge/EventsAnalyser.py
+++ b/portage_with_autodep/pym/_emerge/EventsAnalyser.py
@@ -107,7 +107,7 @@ class PortageUtils:
 		"""
 		ret=set()
 
-		import pdb; pdb.set_trace()
+		#import pdb; pdb.set_trace()
 		# get porttree dependencies on the first package
 
 		pkg = self.get_best_visible_pkg(pkg,db)	



^ permalink raw reply related	[flat|nested] 5+ messages in thread
* [gentoo-commits] proj/autodep:master commit in: portage_with_autodep/pym/_emerge/
@ 2011-10-03 19:44 Александр Берсенев
  0 siblings, 0 replies; 5+ messages in thread
From: Александр Берсенев @ 2011-10-03 19:44 UTC (permalink / raw
  To: gentoo-commits

commit:     14c641d3404c14cc87c2fa91ddc761d9a804912b
Author:     Alexander Bersenev <bay <AT> hackerdom <DOT> ru>
AuthorDate: Mon Oct  3 16:00:07 2011 +0000
Commit:     Александр Берсенев <bay <AT> hackerdom <DOT> ru>
CommitDate: Mon Oct  3 16:00:07 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/autodep.git;a=commit;h=14c641d3

apply previous commit to modfied version of emerge

---
 portage_with_autodep/pym/_emerge/EventsAnalyser.py |   89 ++++++++++++--------
 1 files changed, 53 insertions(+), 36 deletions(-)

diff --git a/portage_with_autodep/pym/_emerge/EventsAnalyser.py b/portage_with_autodep/pym/_emerge/EventsAnalyser.py
index df7a345..da4ba93 100644
--- a/portage_with_autodep/pym/_emerge/EventsAnalyser.py
+++ b/portage_with_autodep/pym/_emerge/EventsAnalyser.py
@@ -18,39 +18,51 @@ class PortageUtils:
 		self.metadata_keys = [k for k in portage.auxdbkeys if not k.startswith("UNUSED_")]
 		self.use=self.settings["USE"]
 
-	def get_best_visible_pkg(self,pkg):
+	def get_best_visible_pkg(self,pkg,db="portdb"):
 		"""
 		Gets best candidate on installing. Returns empty string if no found
 
 		:param pkg: package name
+		:param db: name of db to look. Can be "vardb" or "portdb" 
 
 		"""
 		try:
-			return self.portdbapi.xmatch("bestmatch-visible", pkg)
+		  if db=="portdb":
+			  return self.portdbapi.xmatch("bestmatch-visible", pkg)
+		  elif db=="vardb":
+			  return self.vardbapi.match(pkg)[0]
+		  else:
+			  return ''
 		except:
 			return ''
 
 	# non-recursive dependency getter
-	def get_dep(self,pkg,dep_type=["RDEPEND","DEPEND"]):
+	def get_dep(self,pkg,dep_type=["RDEPEND","DEPEND"],db="portdb"):
 	  """
 	  Gets current dependencies of a package. Looks in portage db
 	  
 	  :param pkg: name of package
 	  :param dep_type: type of dependencies to recurse. Can be ["DEPEND"] or 
 		["RDEPEND", "DEPEND"]
+	  :param db: name of db to look. Can be "vardb" or "portdb"
 	  :returns: **set** of packages names
 	  """
 	  ret=set()
 	  
-	  pkg = self.get_best_visible_pkg(pkg)	
+	  pkg = self.get_best_visible_pkg(pkg,db)	
 	  if not pkg:
 		  return ret
 	  
 	  # we found the best visible match in common tree
 
+	  if db=="portdb":
+		  aux_get=self.portdbapi.aux_get
+	  elif db=="vardb":
+		  aux_get=self.vardbapi.aux_get
+	  else:
+		  return ret
 
-	  metadata = dict(zip(self.metadata_keys, 
-		  self.portdbapi.aux_get(pkg, self.metadata_keys)))
+	  metadata = dict(zip(self.metadata_keys, aux_get(pkg, self.metadata_keys)))
 	  dep_str = " ".join(metadata[k] for k in dep_type)
 
 	  # the IUSE default are very important for us
@@ -82,7 +94,7 @@ class PortageUtils:
 	  return ret
 
 	# recursive dependency getter
-	def get_deps(self,pkg,dep_type=["RDEPEND","DEPEND"]):
+	def get_deps(self,pkg,dep_type=["RDEPEND","DEPEND"],db="portdb"):
 		""" 
 		Gets current dependencies of a package on any depth 
 		All dependencies **must** be installed
@@ -90,19 +102,20 @@ class PortageUtils:
 		:param pkg: name of package
 		:param dep_type: type of dependencies to recurse. Can be ["DEPEND"] or 
 		  ["RDEPEND", "DEPEND"]
+		:param db: name of db to look. Can be "vardb" or "portdb" 
 		:returns: **set** of packages names
 		"""
 		ret=set()
 
-
+		import pdb; pdb.set_trace()
 		# get porttree dependencies on the first package
 
-		pkg = self.portdbapi.xmatch("bestmatch-visible", pkg)	
+		pkg = self.get_best_visible_pkg(pkg,db)	
 		if not pkg:
 			return ret
 
 		known_packages=set()
-		unknown_packages=self.get_dep(pkg,dep_type)
+		unknown_packages=self.get_dep(pkg,dep_type,db)
 		ret=ret.union(unknown_packages)
 		
 		while unknown_packages:
@@ -111,36 +124,40 @@ class PortageUtils:
 				continue
 			known_packages.add(p)
 
-			metadata = dict(zip(self.metadata_keys, self.vardbapi.aux_get(p, self.metadata_keys)))
+			current_deps=self.get_dep(p,dep_type,'vardb')
+			unknown_packages=unknown_packages.union(current_deps)
+			ret=ret.union(current_deps)
+			
+			#metadata = dict(zip(self.metadata_keys, self.vardbapi.aux_get(p, self.metadata_keys)))
 
-			dep_str = " ".join(metadata[k] for k in dep_type)
+			#dep_str = " ".join(metadata[k] for k in dep_type)
 			
 			# the IUSE default are very important for us
-			iuse_defaults=[
-			  u[1:] for u in metadata.get("IUSE",'').split() if u.startswith("+")]
+			#iuse_defaults=[
+			#  u[1:] for u in metadata.get("IUSE",'').split() if u.startswith("+")]
 	  
-			use=self.use.split()
+			#use=self.use.split()
 	  
-			for u in iuse_defaults:
-				if u not in use:
-					use.append(u)
+			#for u in iuse_defaults:
+			#	if u not in use:
+			#		use.append(u)
 			
-			success, atoms = portage.dep_check(dep_str, None, self.settings, 
-				myuse=use,	myroot=self.settings["ROOT"],
-				trees={self.settings["ROOT"]:{"vartree":self.vartree,"porttree": self.vartree}})
-
-			if not success:
-			  continue
-
-			for atom in atoms:
-				atomname = self.vartree.dep_bestmatch(atom)
-				if not atomname:
-					continue
-								
-				for unvirt_pkg in expand_new_virt(self.vardbapi,'='+atomname):
-					for pkg in self.vartree.dep_match(unvirt_pkg):
-						ret.add(pkg)
-						unknown_packages.add(pkg)
+			#success, atoms = portage.dep_check(dep_str, None, self.settings, 
+			#	myuse=use,	myroot=self.settings["ROOT"],
+			#	trees={self.settings["ROOT"]:{"vartree":self.vartree,"porttree": self.vartree}})
+
+			#if not success:
+			#  continue
+
+			#for atom in atoms:
+			#	atomname = self.vartree.dep_bestmatch(atom)
+			#	if not atomname:
+			#		continue
+			#					
+			#	for unvirt_pkg in expand_new_virt(self.vardbapi,'='+atomname):
+			#		for pkg in self.vartree.dep_match(unvirt_pkg):
+			#			ret.add(pkg)
+			#			unknown_packages.add(pkg)
 		return ret
 
 	def get_deps_for_package_building(self, pkg):
@@ -148,10 +165,10 @@ class PortageUtils:
 		  returns buildtime dependencies of current package and 
 		  all runtime dependencies of that buildtime dependencies
 		"""
-		buildtime_deps=self.get_dep(pkg, ["DEPEND"])
+		buildtime_deps=self.get_dep(pkg, ["DEPEND"],"portdb")
 		runtime_deps=set()
 		for dep in buildtime_deps:
-			runtime_deps=runtime_deps.union(self.get_deps(dep,["RDEPEND"]))
+			runtime_deps=runtime_deps.union(self.get_deps(dep,["RDEPEND"],"vardb"))
 
 		ret=buildtime_deps.union(runtime_deps)
 		



^ permalink raw reply related	[flat|nested] 5+ messages in thread
* [gentoo-commits] proj/autodep:master commit in: portage_with_autodep/pym/_emerge/
@ 2011-09-30 15:05 Александр Берсенев
  0 siblings, 0 replies; 5+ messages in thread
From: Александр Берсенев @ 2011-09-30 15:05 UTC (permalink / raw
  To: gentoo-commits

commit:     2f684aabe273c4f6f90a509d45e667136b6a5220
Author:     Alexander Bersenev <bay <AT> hackerdom <DOT> ru>
AuthorDate: Fri Sep 30 21:05:28 2011 +0000
Commit:     Александр Берсенев <bay <AT> hackerdom <DOT> ru>
CommitDate: Fri Sep 30 21:05:28 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/autodep.git;a=commit;h=2f684aab

removed a debug print

---
 portage_with_autodep/pym/_emerge/EventsAnalyser.py |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/portage_with_autodep/pym/_emerge/EventsAnalyser.py b/portage_with_autodep/pym/_emerge/EventsAnalyser.py
index e6e21be..df7a345 100644
--- a/portage_with_autodep/pym/_emerge/EventsAnalyser.py
+++ b/portage_with_autodep/pym/_emerge/EventsAnalyser.py
@@ -404,7 +404,7 @@ class EventsAnalyser:
 			 "install":8,"preinst":9,"postinst":10,"prerm":11,"postrm":12,"unknown":13}
 		packagesinfo=self.packagesinfo
 		# print information grouped by package
-		print(packagesinfo.keys())
+		#print(packagesinfo.keys())
 		for package in sorted(packagesinfo):
 			# not showing special directory package
 			if package=="directory":



^ permalink raw reply related	[flat|nested] 5+ messages in thread
* [gentoo-commits] proj/autodep:master commit in: portage_with_autodep/pym/_emerge/
@ 2011-08-21 18:50 Александр Берсенев
  0 siblings, 0 replies; 5+ messages in thread
From: Александр Берсенев @ 2011-08-21 18:50 UTC (permalink / raw
  To: gentoo-commits

commit:     71e25244b88929fbaa8f71f839f7b218e206f0e2
Author:     Alexander Bersenev <bay <AT> hackerdom <DOT> ru>
AuthorDate: Sun Aug 21 21:57:22 2011 +0000
Commit:     Александр Берсенев <bay <AT> hackerdom <DOT> ru>
CommitDate: Sun Aug 21 21:57:22 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/autodep.git;a=commit;h=71e25244

python 2.6 compatibility

---
 portage_with_autodep/pym/_emerge/EventsAnalyser.py |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/portage_with_autodep/pym/_emerge/EventsAnalyser.py b/portage_with_autodep/pym/_emerge/EventsAnalyser.py
index 65ece7b..eb2c943 100644
--- a/portage_with_autodep/pym/_emerge/EventsAnalyser.py
+++ b/portage_with_autodep/pym/_emerge/EventsAnalyser.py
@@ -177,7 +177,7 @@ class GentoolkitUtils:
 	internals.
 	"""
 
-	def getpackagesbyfiles(files):
+	def getpackagesbyfiles(self,files):
 		"""
 		:param files: list of filenames
 		:returns: **dictionary** file->package, if file doesn't belong to any
@@ -216,7 +216,7 @@ class GentoolkitUtils:
 		  
 		return ret
 	  
-	def getfilesbypackages(packagenames):
+	def getfilesbypackages(self,packagenames):
 		"""
 		
 		:param packagename: name of package
@@ -238,7 +238,7 @@ class GentoolkitUtils:
 
 		return ret
 	  
-	def get_all_packages_files():   
+	def get_all_packages_files(self):   
 		"""
 		Memory-hungry operation
 		



^ permalink raw reply related	[flat|nested] 5+ messages in thread
* [gentoo-commits] proj/autodep:master commit in: portage_with_autodep/pym/_emerge/
@ 2011-08-21 18:50 Александр Берсенев
  0 siblings, 0 replies; 5+ messages in thread
From: Александр Берсенев @ 2011-08-21 18:50 UTC (permalink / raw
  To: gentoo-commits

commit:     ceda17612f4fa2037c80eddcaa6696cb30f7ad01
Author:     Alexander Bersenev <bay <AT> hackerdom <DOT> ru>
AuthorDate: Sun Aug 21 22:03:33 2011 +0000
Commit:     Александр Берсенев <bay <AT> hackerdom <DOT> ru>
CommitDate: Sun Aug 21 22:03:33 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/autodep.git;a=commit;h=ceda1761

python 2.6 compatibility

---
 portage_with_autodep/pym/_emerge/EventsAnalyser.py |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/portage_with_autodep/pym/_emerge/EventsAnalyser.py b/portage_with_autodep/pym/_emerge/EventsAnalyser.py
index eb2c943..a0562aa 100644
--- a/portage_with_autodep/pym/_emerge/EventsAnalyser.py
+++ b/portage_with_autodep/pym/_emerge/EventsAnalyser.py
@@ -267,21 +267,21 @@ class FilterProcGenerator:
 		
 		system_packages=portageutils.get_system_packages_list()
 
-		allfiles=GentoolkitUtils.get_all_packages_files()
+		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)	
 		
-		allowedfiles=GentoolkitUtils.getfilesbypackages(allowedpkgs)
+		allowedfiles=GentoolkitUtils().getfilesbypackages(allowedpkgs)
 		#for pkg in allowedpkgs:
 		#	allowedfiles+=GentoolkitUtils.getfilesbypackage(pkg)
 
 		#import pdb; pdb.set_trace()
 
 		# manually add all python interpreters to this list
-		allowedfiles+=GentoolkitUtils.getfilesbypackages(['python'])
+		allowedfiles+=GentoolkitUtils().getfilesbypackages(['python'])
 		allowedfiles=set(allowedfiles)
 		
 		deniedfiles=allfiles-allowedfiles
@@ -318,7 +318,7 @@ class EventsAnalyser:
 			filenames=filenames.union(fail_events)
 		filenames=list(filenames)
 
-		file_to_package=GentoolkitUtils.getpackagesbyfiles(filenames)
+		file_to_package=GentoolkitUtils().getpackagesbyfiles(filenames)
 		# This part is completly unreadable. 
 		# It converting one complex struct(returned by getfsevents) to another complex
 		# struct which good for generating output.



^ permalink raw reply related	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2011-10-15 10:46 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-10-15 10:46 [gentoo-commits] proj/autodep:master commit in: portage_with_autodep/pym/_emerge/ Александр Берсенев
  -- strict thread matches above, loose matches on Subject: below --
2011-10-03 19:44 Александр Берсенев
2011-09-30 15:05 Александр Берсенев
2011-08-21 18:50 Александр Берсенев
2011-08-21 18:50 Александр Берсенев

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox