Whenever package is merged, portage-2.2_rc62 first outputs messages like: * checking ebuild checksums ;-) ... [ ok ] * checking auxfile checksums ;-) ... [ ok ] * checking miscfile checksums ;-) ... [ ok ] to the 'temp/build.log' file inside tempdir. But afterwards it replaces that file with new log, starting with: * CPV: media-fonts/font-util-9999 * REPO: x11 * USE: amd64 elibc_glibc kernel_linux multilib userland_GNU I think that the 'CPV' part and below should be appended to the logfile instead. That would be especially useful when using 'tail -f' on logfiles.
The fetch code removes it upon success, since it's irrelevant at that point. I guess we can truncate the log instead of removing it.
(In reply to comment #1) > The fetch code removes it upon success, since it's irrelevant at that point. I > guess we can truncate the log instead of removing it. I would appreciate that.
Created attachment 219551 [details, diff] truncate fetch log after success Save as /tmp/truncate_log.patch and apply as follows: patch /usr/lib/portage/pym/_emerge/EbuildBuildDir.py /tmp/truncate_log.patch
The patch doesn't fix the issue. Neither does replacing the whole function with 'pass'. Portage is still first removing the logfile, and then whole 'temp' directory before starting the real build.
Ok, as AFAICS there's no simple possibility of resolving the issue, I assume the best option would be to revert the change and close the bug. I've switched my script into inotify, and it's indeed simpler to just catch file removal/creation than truncation.
Ok, I've reverted it to the old behavior in svn r15722.