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()
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()
__slots__ = ('dblink', 'mycat', 'mypkg', 'settings', 'treetype',
'vartree', 'scheduler', 'blockers', 'pkgloc', 'infloc', 'myebuild',
'mydbapi', 'prev_mtimes', '_elog_reader_fd', '_elog_reg_id',
- '_buf')
+ '_buf', '_elog_keys')
def _elog_output_handler(self, fd, event):
output = None
out = StringIO()
for line in lines:
funcname, phase, key, msg = line.split(' ', 3)
+ self._elog_keys.add(key)
reporter = getattr(portage.elog.messages, funcname)
reporter(msg, phase=phase, key=key, out=out)
os.close(elog_writer_fd)
self._elog_reader_fd = elog_reader_fd
self._buf = ""
+ self._elog_keys = set()
self.vartree.dbapi._pkgs_changed = True
portage.process.spawned_pids.append(pid)
return [pid]
if self._elog_reader_fd:
os.close(self._elog_reader_fd)
self._elog_reader_fd = None
+ if self._elog_keys is not None:
+ for key in self._elog_keys:
+ portage.elog.elog_process(key, self.settings,
+ phasefilter=("prerm", "postrm"))
+ self._elog_keys = None
super(MergeProcess, self)._unregister()