By coincidence I noticed today that several emerges of portage were missing from the genlop output. The output for 'genlop portage' is: Sun Mar 12 22:39:47 2006 >>> sys-apps/portage-2.1_pre6-r1 Thu Mar 16 00:18:52 2006 >>> sys-apps/portage-2.1_pre6-r2 Fri Mar 17 02:14:09 2006 >>> sys-apps/portage-2.1_pre6-r3 Sun Mar 26 19:58:44 2006 >>> sys-apps/portage-2.1_pre7 Sat Apr 8 02:15:27 2006 >>> sys-apps/portage-2.1_pre7-r4 Mon Apr 10 20:31:30 2006 >>> sys-apps/portage-2.1_pre7-r5 Whereas a 'grep portage-2.1 /var/log/emerge.log' outputs: ---snip--- 1143395871: >>> emerge (6 of 6) sys-apps/portage-2.1_pre7 to / 1143395871: === (6 of 6) Cleaning (sys-apps/portage-2.1_pre7::/usr/portage/sys-apps/portage/portage-2.1_pre7.ebuild) 1143395871: === (6 of 6) Compiling/Merging (sys-apps/portage-2.1_pre7::/usr/portage/sys-apps/portage/portage-2.1_pre7.ebuild) 1143395919: === Unmerging... (sys-apps/portage-2.1_pre6-r5) 1143395924: >>> unmerge success: sys-apps/portage-2.1_pre6-r5 1143395924: === (6 of 6) Post-Build Cleaning (sys-apps/portage-2.1_pre7::/usr/portage/sys-apps/portage/portage-2.1_pre7.ebuild) 1143395924: ::: completed emerge (6 of 6) sys-apps/portage-2.1_pre7 to / 1143475677: >>> emerge (2 of 3) sys-apps/portage-2.1_pre7-r1 to / 1143475677: === (2 of 3) Cleaning (sys-apps/portage-2.1_pre7-r1::/usr/portage/sys-apps/portage/portage-2.1_pre7-r1.ebuild) 1143475735: === (2 of 3) Compiling/Merging (sys-apps/portage-2.1_pre7-r1::/usr/portage/sys-apps/portage/portage-2.1_pre7-r1.ebuild) 1143475933: === Unmerging... (sys-apps/portage-2.1_pre7) 1143476128: >>> unmerge success: sys-apps/portage-2.1_pre7 1143571392: >>> emerge (2 of 10) sys-apps/portage-2.1_pre7-r2 to / 1143571392: === (2 of 10) Cleaning (sys-apps/portage-2.1_pre7-r2::/usr/portage/sys-apps/portage/portage-2.1_pre7-r2.ebuild) 1143571392: === (2 of 10) Compiling/Merging (sys-apps/portage-2.1_pre7-r2::/usr/portage/sys-apps/portage/portage-2.1_pre7-r2.ebuild) 1143571407: === Unmerging... (sys-apps/portage-2.1_pre7-r1) 1143571422: >>> unmerge success: sys-apps/portage-2.1_pre7-r1 1143823355: >>> emerge (4 of 20) sys-apps/portage-2.1_pre7-r3 to / 1143823355: === (4 of 20) Cleaning (sys-apps/portage-2.1_pre7-r3::/usr/portage/sys-apps/portage/portage-2.1_pre7-r3.ebuild) 1143823356: === (4 of 20) Compiling/Merging (sys-apps/portage-2.1_pre7-r3::/usr/portage/sys-apps/portage/portage-2.1_pre7-r3.ebuild) 1143823379: === Unmerging... (sys-apps/portage-2.1_pre7-r2) 1143823387: >>> unmerge success: sys-apps/portage-2.1_pre7-r2 1144455302: >>> emerge (7 of 7) sys-apps/portage-2.1_pre7-r4 to / 1144455302: === (7 of 7) Cleaning (sys-apps/portage-2.1_pre7-r4::/usr/portage/sys-apps/portage/portage-2.1_pre7-r4.ebuild) 1144455302: === (7 of 7) Compiling/Merging (sys-apps/portage-2.1_pre7-r4::/usr/portage/sys-apps/portage/portage-2.1_pre7-r4.ebuild) 1144455323: === Unmerging... (sys-apps/portage-2.1_pre7-r3) 1144455327: >>> unmerge success: sys-apps/portage-2.1_pre7-r3 1144455327: === (7 of 7) Post-Build Cleaning (sys-apps/portage-2.1_pre7-r4::/usr/portage/sys-apps/portage/portage-2.1_pre7-r4.ebuild) 1144455327: ::: completed emerge (7 of 7) sys-apps/portage-2.1_pre7-r4 to / 1144693811: >>> emerge (1 of 1) sys-apps/portage-2.1_pre7-r5 to / 1144693811: === (1 of 1) Cleaning (sys-apps/portage-2.1_pre7-r5::/usr/portage/sys-apps/portage/portage-2.1_pre7-r5.ebuild) 1144693812: === (1 of 1) Compiling/Merging (sys-apps/portage-2.1_pre7-r5::/usr/portage/sys-apps/portage/portage-2.1_pre7-r5.ebuild) 1144693866: === Unmerging... (sys-apps/portage-2.1_pre7-r4) 1144693887: >>> unmerge success: sys-apps/portage-2.1_pre7-r4 1144693890: === (1 of 1) Post-Build Cleaning (sys-apps/portage-2.1_pre7-r5::/usr/portage/sys-apps/portage/portage-2.1_pre7-r5.ebuild) 1144693890: ::: completed emerge (1 of 1) sys-apps/portage-2.1_pre7-r5 to / 1145782576: >>> emerge (3 of 8) sys-apps/portage-2.1_pre9-r3 to / 1145782576: === (3 of 8) Cleaning (sys-apps/portage-2.1_pre9-r3::/usr/portage/sys-apps/portage/portage-2.1_pre9-r3.ebuild) 1145782576: === (3 of 8) Compiling/Merging (sys-apps/portage-2.1_pre9-r3::/usr/portage/sys-apps/portage/portage-2.1_pre9-r3.ebuild) 1145782592: === Unmerging... (sys-apps/portage-2.1_pre7-r5) 1145782594: >>> unmerge success: sys-apps/portage-2.1_pre7-r5 1145982742: >>> emerge (4 of 26) sys-apps/portage-2.1_pre9-r4 to / 1145982742: === (4 of 26) Cleaning (sys-apps/portage-2.1_pre9-r4::/usr/portage/sys-apps/portage/portage-2.1_pre9-r4.ebuild) 1145982742: === (4 of 26) Compiling/Merging (sys-apps/portage-2.1_pre9-r4::/usr/portage/sys-apps/portage/portage-2.1_pre9-r4.ebuild) 1145982757: === Unmerging... (sys-apps/portage-2.1_pre9-r3) 1145982758: >>> unmerge success: sys-apps/portage-2.1_pre9-r3 1146299883: >>> emerge (1 of 6) sys-apps/portage-2.1_pre9-r5 to / 1146299883: === (1 of 6) Cleaning (sys-apps/portage-2.1_pre9-r5::/usr/portage/sys-apps/portage/portage-2.1_pre9-r5.ebuild) 1146299884: === (1 of 6) Compiling/Merging (sys-apps/portage-2.1_pre9-r5::/usr/portage/sys-apps/portage/portage-2.1_pre9-r5.ebuild) 1146299933: === Unmerging... (sys-apps/portage-2.1_pre9-r4) 1146299954: >>> unmerge success: sys-apps/portage-2.1_pre9-r4 As you can see, portage-2.1_pre7-r1, -r2 and -r3, and pre9-r3, -r4 and r5 are missing from the output. As far as I have been able to tell, this is only true for sys-apps/portage... All other packages seem to be recorded properly.
Hmm, not here... <snip> Wed Apr 12 20:36:42 2006 >>> sys-apps/portage-2.1_pre7-r5 Thu Apr 13 12:05:26 2006 >>> sys-apps/portage-2.1_pre8-r3 Fri Apr 14 11:34:17 2006 >>> sys-apps/portage-2.1_pre8-r4 Fri Apr 14 14:11:21 2006 >>> sys-apps/portage-2.1_pre8-r5 Mon Apr 17 12:57:55 2006 >>> sys-apps/portage-2.1_pre9 Tue Apr 18 16:29:42 2006 >>> sys-apps/portage-2.1_pre9-r1 Fri Apr 21 12:11:30 2006 >>> sys-apps/portage-2.1_pre9-r2 Sun Apr 23 11:11:31 2006 >>> sys-apps/portage-2.1_pre9-r4 Fri Apr 28 20:46:08 2006 >>> sys-apps/portage-2.1_pre9-r5 </snip>
Weird... I noticed another oddity (probably just a typo...) while checking the genlop version... in portage, the latest version of genlop is reported as 0.30.35, but the /usr/bin/genlop perl-script has $version as 0.30.34. As for why the output is missing for various packages, I think I might've found a clue... The packages registered by genlop all have this string: ::: completed emerge (7 of 7) sys-apps/portage-2.1_pre7-r4 to / Whereas the packages not registered lack this. The packages that are not displayed were, however, successfully emerged. The problem seems to lie with portage's logging, and not with genlop... This is the full output for portage-2.1_pre9-r5 (NOT registered): 1146299883: >>> emerge (1 of 6) sys-apps/portage-2.1_pre9-r5 to / 1146299883: === (1 of 6) Cleaning (sys-apps/portage-2.1_pre9-r5::/usr/portage/sys-apps/portage/portage-2.1_pre9-r5.ebuild) 1146299884: === (1 of 6) Compiling/Merging (sys-apps/portage-2.1_pre9-r5::/usr/portage/sys-apps/portage/portage-2.1_pre9-r5.ebuild) 1146299928: >>> AUTOCLEAN: sys-apps/portage 1146299933: === Unmerging... (sys-apps/portage-2.1_pre9-r4) 1146299954: >>> unmerge success: sys-apps/portage-2.1_pre9-r4 1146299955: *** RESTARTING emerge via exec() after change of portage version. 1146299955: *** terminating. And this is the full output for portage-2.1_pre7-r5 (registered): 1144693811: >>> emerge (1 of 1) sys-apps/portage-2.1_pre7-r5 to / 1144693811: === (1 of 1) Cleaning (sys-apps/portage-2.1_pre7-r5::/usr/portage/sys-apps/portage/portage-2.1_pre7-r5.ebuild) 1144693812: === (1 of 1) Compiling/Merging (sys-apps/portage-2.1_pre7-r5::/usr/portage/sys-apps/portage/portage-2.1_pre7-r5.ebuild) 1144693860: >>> AUTOCLEAN: sys-apps/portage 1144693866: === Unmerging... (sys-apps/portage-2.1_pre7-r4) 1144693887: >>> unmerge success: sys-apps/portage-2.1_pre7-r4 1144693890: === (1 of 1) Post-Build Cleaning (sys-apps/portage-2.1_pre7-r5::/usr/portage/sys-apps/portage/portage-2.1_pre7-r5.ebuild) 1144693890: ::: completed emerge (1 of 1) sys-apps/portage-2.1_pre7-r5 to / 1144693890: *** Finished. Cleaning up... 1144693928: *** exiting successfully. 1144693939: *** terminating. From what I can see, this is true for all the missing emerges.
It seems this "mangled" output happens when portage is emerged as part of e.g. an emerge -u world. When the emerge of portage is completed, the emerge will automatically reload itself and resume emerging the rest of the packages. Apparently, when this happens, the "::: completed emerge..." line is not written to the log.
Created attachment 85773 [details, diff] Patch for this bug I believe this should fix it, but I have no way of testing it... All it does is log the aforementioned line before it exec()'s the new emerge. Use at own risk :)
fixed in -r3340
This has been released in 2.1_rc1.