public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Zac Medico" <zmedico@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] proj/portage:master commit in: pym/portage/dbapi/, pym/_emerge/
Date: Fri,  3 Jun 2011 10:16:57 +0000 (UTC)	[thread overview]
Message-ID: <70c2a622e33e158066233da8c5ba3300d0c8fa61.zmedico@gentoo> (raw)

commit:     70c2a622e33e158066233da8c5ba3300d0c8fa61
Author:     Zac Medico <zmedico <AT> gentoo <DOT> org>
AuthorDate: Fri Jun  3 10:16:16 2011 +0000
Commit:     Zac Medico <zmedico <AT> gentoo <DOT> org>
CommitDate: Fri Jun  3 10:16:16 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=70c2a622

dblink.merge: remove unused scheduler callbacks

---
 pym/_emerge/Scheduler.py     |   68 +----------------------------------------
 pym/portage/dbapi/vartree.py |   69 +++++++++++++++++------------------------
 2 files changed, 30 insertions(+), 107 deletions(-)

diff --git a/pym/_emerge/Scheduler.py b/pym/_emerge/Scheduler.py
index b10439a..bdc13aa 100644
--- a/pym/_emerge/Scheduler.py
+++ b/pym/_emerge/Scheduler.py
@@ -86,8 +86,7 @@ class Scheduler(PollScheduler):
 	_fetch_log = os.path.join(_emerge_log_dir, 'emerge-fetch.log')
 
 	class _iface_class(SlotObject):
-		__slots__ = ("dblinkEbuildPhase", "dblinkDisplayMerge",
-			"dblinkElog", "dblinkEmergeLog", "fetch",
+		__slots__ = ("fetch",
 			"output", "register", "schedule",
 			"scheduleSetup", "scheduleUnpack", "scheduleYield",
 			"unregister")
@@ -220,10 +219,6 @@ class Scheduler(PollScheduler):
 		fetch_iface = self._fetch_iface_class(log_file=self._fetch_log,
 			schedule=self._schedule_fetch)
 		self._sched_iface = self._iface_class(
-			dblinkEbuildPhase=self._dblink_ebuild_phase,
-			dblinkDisplayMerge=self._dblink_display_merge,
-			dblinkElog=self._dblink_elog,
-			dblinkEmergeLog=self._dblink_emerge_log,
 			fetch=fetch_iface, output=self._task_output,
 			register=self._register,
 			schedule=self._schedule_wait,
@@ -613,67 +608,6 @@ class Scheduler(PollScheduler):
 
 		return blocker_dblinks
 
-	def _dblink_pkg(self, pkg_dblink):
-		cpv = pkg_dblink.mycpv
-		type_name = RootConfig.tree_pkg_map[pkg_dblink.treetype]
-		root_config = self.trees[pkg_dblink.myroot]["root_config"]
-		installed = type_name == "installed"
-		repo = pkg_dblink.settings.get("PORTAGE_REPO_NAME")
-		return self._pkg(cpv, type_name, root_config,
-			installed=installed, myrepo=repo)
-
-	def _dblink_elog(self, pkg_dblink, phase, func, msgs):
-
-		log_path = pkg_dblink.settings.get("PORTAGE_LOG_FILE")
-		out = StringIO()
-
-		for msg in msgs:
-			func(msg, phase=phase, key=pkg_dblink.mycpv, out=out)
-
-		out_str = out.getvalue()
-
-		self._task_output(out_str, log_path=log_path)
-
-	def _dblink_emerge_log(self, msg):
-		self._logger.log(msg)
-
-	def _dblink_display_merge(self, pkg_dblink, msg, level=0, noiselevel=0):
-		log_path = pkg_dblink.settings.get("PORTAGE_LOG_FILE")
-		background = self._background
-
-		if log_path is None:
-			if not (background and level < logging.WARN):
-				portage.util.writemsg_level(msg,
-					level=level, noiselevel=noiselevel)
-		else:
-			self._task_output(msg, log_path=log_path)
-
-	def _dblink_ebuild_phase(self,
-		pkg_dblink, pkg_dbapi, ebuild_path, phase):
-		"""
-		Using this callback for merge phases allows the scheduler
-		to run while these phases execute asynchronously, and allows
-		the scheduler control output handling.
-		"""
-
-		scheduler = self._sched_iface
-		settings = pkg_dblink.settings
-		background = self._background
-		log_path = settings.get("PORTAGE_LOG_FILE")
-
-		if phase in ('die_hooks', 'success_hooks'):
-			ebuild_phase = MiscFunctionsProcess(background=background,
-				commands=[phase], phase=phase,
-				scheduler=scheduler, settings=settings)
-		else:
-			ebuild_phase = EbuildPhase(background=background,
-				phase=phase, scheduler=scheduler,
-				settings=settings)
-		ebuild_phase.start()
-		ebuild_phase.wait()
-
-		return ebuild_phase.returncode
-
 	def _generate_digests(self):
 		"""
 		Generate digests if necessary for --digests or FEATURES=digest.

diff --git a/pym/portage/dbapi/vartree.py b/pym/portage/dbapi/vartree.py
index 889cb58..16cf48b 100644
--- a/pym/portage/dbapi/vartree.py
+++ b/pym/portage/dbapi/vartree.py
@@ -57,6 +57,7 @@ from portage import _unicode_encode
 from _emerge.AsynchronousLock import AsynchronousLock
 from _emerge.EbuildBuildDir import EbuildBuildDir
 from _emerge.EbuildPhase import EbuildPhase
+from _emerge.emergelog import emergelog
 from _emerge.PollScheduler import PollScheduler
 from _emerge.MiscFunctionsProcess import MiscFunctionsProcess
 
@@ -2957,6 +2958,9 @@ class dblink(object):
 			if str_buffer:
 				os.write(self._pipe, _unicode_encode(''.join(str_buffer)))
 
+	def _emerge_log(self, msg):
+		emergelog(False, msg)
+
 	def treewalk(self, srcroot, destroot, inforoot, myebuild, cleanup=0,
 		mydbapi=None, prev_mtimes=None, counter=None):
 		"""
@@ -3003,8 +3007,6 @@ class dblink(object):
 			encoding=_encodings['content'], errors='strict')
 
 		showMessage = self._display_merge
-		scheduler = self._scheduler
-
 		srcroot = normalize_path(srcroot).rstrip(os.path.sep) + os.path.sep
 
 		if not os.path.isdir(srcroot):
@@ -3359,12 +3361,12 @@ class dblink(object):
 		ensure_dirs(self.dbtmpdir)
 
 		# run preinst script
-		if scheduler is None:
-			showMessage(_(">>> Merging %(cpv)s to %(destroot)s\n") % {"cpv":self.mycpv, "destroot":destroot})
-			a = _spawn_phase("preinst", self.settings)
-		else:
-			a = scheduler.dblinkEbuildPhase(
-				self, mydbapi, myebuild, "preinst")
+		showMessage(_(">>> Merging %(cpv)s to %(destroot)s\n") % \
+			{"cpv":self.mycpv, "destroot":destroot})
+		phase = EbuildPhase(background=False, phase="preinst",
+			scheduler=self._scheduler, settings=self.settings)
+		phase.start()
+		a = phase.wait()
 
 		# XXX: Decide how to handle failures here.
 		if a != os.EX_OK:
@@ -3459,11 +3461,7 @@ class dblink(object):
 			match_from_list(PORTAGE_PACKAGE_ATOM, [self.mycpv]):
 			reinstall_self = True
 
-		if scheduler is None:
-			def emerge_log(msg):
-				pass
-		else:
-			emerge_log = scheduler.dblinkEmergeLog
+		emerge_log = self._emerge_log
 
 		# If we have any preserved libraries then autoclean
 		# is forced so that preserve-libs logic doesn't have
@@ -3608,13 +3606,12 @@ class dblink(object):
 			os.path.join(self.dbpkgdir, "environment.bz2")
 		self.settings.backup_changes("PORTAGE_UPDATE_ENV")
 		try:
-			if scheduler is None:
-				a = _spawn_phase("postinst", self.settings)
-				if a == os.EX_OK:
-					showMessage(_(">>> %s merged.\n") % self.mycpv)
-			else:
-				a = scheduler.dblinkEbuildPhase(
-					self, mydbapi, myebuild, "postinst")
+			phase = EbuildPhase(background=False, phase="postinst",
+				scheduler=self._scheduler, settings=self.settings)
+			phase.start()
+			a = phase.wait()
+			if a == os.EX_OK:
+				showMessage(_(">>> %s merged.\n") % self.mycpv)
 		finally:
 			self.settings.pop("PORTAGE_UPDATE_ENV", None)
 
@@ -4068,6 +4065,8 @@ class dblink(object):
 		if not parallel_install:
 			self.lockdb()
 		self.vartree.dbapi._bump_mtime(self.mycpv)
+		if self._scheduler is None:
+			self._scheduler = PollScheduler().sched_iface
 		try:
 			retval = self.treewalk(mergeroot, myroot, inforoot, myebuild,
 				cleanup=cleanup, mydbapi=mydbapi, prev_mtimes=prev_mtimes,
@@ -4075,8 +4074,7 @@ class dblink(object):
 
 			# If PORTAGE_BUILDDIR doesn't exist, then it probably means
 			# fail-clean is enabled, and the success/die hooks have
-			# already been called by _emerge.EbuildPhase (via
-			# self._scheduler.dblinkEbuildPhase) prior to cleaning.
+			# already been called by EbuildPhase.
 			if os.path.isdir(self.settings['PORTAGE_BUILDDIR']):
 
 				if retval == os.EX_OK:
@@ -4084,18 +4082,11 @@ class dblink(object):
 				else:
 					phase = 'die_hooks'
 
-				if self._scheduler is None:
-					ebuild_phase = MiscFunctionsProcess(
-						background=False,
-						commands=[phase],
-						scheduler=PollScheduler().sched_iface,
-						settings=self.settings)
-					ebuild_phase.start()
-					ebuild_phase.wait()
-				else:
-					self._scheduler.dblinkEbuildPhase(
-						self, mydbapi, myebuild, phase)
-
+				ebuild_phase = MiscFunctionsProcess(
+					background=False, commands=[phase],
+					scheduler=self._scheduler, settings=self.settings)
+				ebuild_phase.start()
+				ebuild_phase.wait()
 				self._elog_process()
 
 				if 'noclean' not in self.settings.features and \
@@ -4106,12 +4097,10 @@ class dblink(object):
 
 					doebuild_environment(myebuild, "clean",
 						settings=self.settings, db=mydbapi)
-					if self._scheduler is None:
-						_spawn_phase("clean", self.settings)
-					else:
-						self._scheduler.dblinkEbuildPhase(
-							self, mydbapi, myebuild, "clean")
-
+					phase = EbuildPhase(background=False, phase="clean",
+						scheduler=self._scheduler, settings=self.settings)
+					phase.start()
+					phase.wait()
 		finally:
 			self.settings.pop('REPLACING_VERSIONS', None)
 			if self.vartree.dbapi._linkmap is None:



             reply	other threads:[~2011-06-03 10:17 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-06-03 10:16 Zac Medico [this message]
  -- strict thread matches above, loose matches on Subject: below --
2017-04-03 20:03 [gentoo-commits] proj/portage:master commit in: pym/portage/dbapi/, pym/_emerge/ Zac Medico
2015-08-30 23:44 Zac Medico
2014-11-20  4:08 Zac Medico
2014-02-24  9:23 Alexander Berntsen
2013-03-13  5:56 Zac Medico
2013-01-23 16:19 Zac Medico
2013-01-05 15:20 Zac Medico
2012-12-23  5:33 Arfrever Frehtes Taifersar Arahesis
2012-11-24 21:57 Zac Medico
2012-04-22 18:57 Zac Medico
2012-04-21  6:51 Zac Medico
2012-02-17 22:19 Zac Medico
2012-02-16  0:33 Zac Medico
2012-02-14 23:40 Zac Medico
2012-02-10  1:28 Zac Medico
2012-02-08  1:16 Zac Medico
2012-02-08  0:36 Zac Medico
2011-10-28  2:34 Zac Medico
2011-10-16 20:26 Zac Medico
2011-10-15  5:10 Zac Medico
2011-05-24  5:31 Zac Medico
2011-05-24  0:33 Zac Medico
2011-05-09  5:16 Zac Medico
2011-03-26  7:39 Zac Medico
2011-03-26  3:24 Zac Medico
2011-03-25  4:34 Zac Medico
2011-03-25  4:34 Zac Medico
2011-03-25  4:34 Zac Medico

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=70c2a622e33e158066233da8c5ba3300d0c8fa61.zmedico@gentoo \
    --to=zmedico@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox