public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] portage r10829 - main/trunk/pym/_emerge
@ 2008-06-28  5:24 Zac Medico (zmedico)
  0 siblings, 0 replies; only message in thread
From: Zac Medico (zmedico) @ 2008-06-28  5:24 UTC (permalink / raw
  To: gentoo-commits

Author: zmedico
Date: 2008-06-28 05:24:13 +0000 (Sat, 28 Jun 2008)
New Revision: 10829

Modified:
   main/trunk/pym/_emerge/__init__.py
Log:
Split out an EbuildMerge class.


Modified: main/trunk/pym/_emerge/__init__.py
===================================================================
--- main/trunk/pym/_emerge/__init__.py	2008-06-28 05:04:19 UTC (rev 10828)
+++ main/trunk/pym/_emerge/__init__.py	2008-06-28 05:24:13 UTC (rev 10829)
@@ -1451,6 +1451,30 @@
 			mydbapi=portdb, tree="porttree")
 		return retval
 
+class EbuildMerge(Task):
+
+	__slots__ = ("find_blockers", "ldpath_mtimes",
+		"pkg", "pretend", "settings")
+
+	def _get_hash_key(self):
+		hash_key = getattr(self, "_hash_key", None)
+		if hash_key is None:
+			self._hash_key = ("EbuildMerge", self.pkg._get_hash_key())
+		return self._hash_key
+
+	def execute(self):
+		root_config = self.pkg.root_config
+		settings = self.settings
+		retval = portage.merge(settings["CATEGORY"],
+			settings["PF"], settings["D"],
+			os.path.join(settings["PORTAGE_BUILDDIR"],
+			"build-info"), root_config.root, settings,
+			myebuild=settings["EBUILD"],
+			mytree="porttree", mydbapi=root_config.trees["porttree"].dbapi,
+			vartree=vartree, prev_mtimes=self.ldpath_mtimes,
+			blockers=self.find_blockers)
+		return retval
+
 class BinpkgFetcher(Task):
 
 	__slots__ = ("use_locks", "pkg", "pretend",
@@ -6460,14 +6484,12 @@
 						if retval != os.EX_OK:
 							raise self._pkg_failure(retval)
 
-						retval = portage.merge(pkgsettings["CATEGORY"],
-							pkgsettings["PF"], pkgsettings["D"],
-							os.path.join(pkgsettings["PORTAGE_BUILDDIR"],
-							"build-info"), myroot, pkgsettings,
-							myebuild=pkgsettings["EBUILD"],
-							mytree="porttree", mydbapi=portdb,
-							vartree=vartree, prev_mtimes=ldpath_mtimes,
-							blockers=self._find_blockers(pkg))
+						merge = EbuildMerge(
+							find_blockers=self._find_blockers(pkg),
+							ldpath_mtimes=ldpath_mtimes,
+							pkg=pkg, pretend=pretend, settings=pkgsettings)
+						retval = merge.execute()
+
 						if retval != os.EX_OK:
 							raise self._pkg_failure(retval)
 				finally:

-- 
gentoo-commits@lists.gentoo.org mailing list



^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2008-06-28  5:24 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-06-28  5:24 [gentoo-commits] portage r10829 - main/trunk/pym/_emerge Zac Medico (zmedico)

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