Preserve elog message continuity during updates.
authorZac Medico <zmedico@gentoo.org>
Fri, 25 Mar 2011 03:03:28 +0000 (20:03 -0700)
committerZac Medico <zmedico@gentoo.org>
Fri, 25 Mar 2011 03:03:28 +0000 (20:03 -0700)
This integrates the fix from commit
8209aeab647b1ab80a64d5931069b3533776ef75 with the asynchronous merge
changes from commit 7535cabdf2fab76fc55df83643157613dfd66be9.

pym/_emerge/Binpkg.py
pym/_emerge/EbuildBuild.py
pym/portage/dbapi/vartree.py

index 62d44c48f575c2f28c448a48973963565189d286..fbd2a53acd80348574bbbc60ba677cd278ebfa1b 100644 (file)
@@ -304,6 +304,8 @@ class Binpkg(CompositeTask):
        def _unlock_builddir(self):
                if self.opts.pretend or self.opts.fetchonly:
                        return
+               portage.elog.elog_process(self.pkg.cpv, self.settings,
+                       phasefilter=("prerm", "postrm"))
                portage.elog.elog_process(self.pkg.cpv, self.settings)
                self._build_dir.unlock()
 
index c7a5f5cdb7b1739d75e316c5e9e3ecc61358af52..b72b3d55e9ac90b470c9a6cf88079c6a78a19443 100644 (file)
@@ -243,6 +243,8 @@ class EbuildBuild(CompositeTask):
                self.wait()
 
        def _unlock_builddir(self):
+               portage.elog.elog_process(self.pkg.cpv, self.settings,
+                       phasefilter=("prerm", "postrm"))
                portage.elog.elog_process(self.pkg.cpv, self.settings)
                self._build_dir.unlock()
 
index 66e2955a62e2950b52c91732d7262d1acc9a911d..a8888ae95298ed9f4d4f31c1713bbb059069a6a4 100644 (file)
@@ -1668,7 +1668,7 @@ class dblink(object):
 
                                                        self._eerror(ebuild_phase, msg_lines)
 
-                                       self._elog_process()
+                                       self._elog_process(phasefilter=("prerm", "postrm"))
 
                                        if retval == os.EX_OK:
                                                # myebuildpath might be None, so ensure
@@ -2784,10 +2784,10 @@ class dblink(object):
                        self._scheduler.dblinkElog(self,
                                phase, _eerror, lines)
 
-       def _elog_process(self):
+       def _elog_process(self, phasefilter=None):
                cpv = self.mycpv
                if self._pipe is None:
-                       elog_process(cpv, self.settings)
+                       elog_process(cpv, self.settings, phasefilter=phasefilter)
                else:
                        logdir = os.path.join(self.settings["T"], "logging")
                        ebuild_logentries = collect_ebuild_messages(logdir)