solar@simple portage $ emerge -pvv system These are the packages that I would merge, in order: Calculating system dependencies ...done! [ebuild U ] app-arch/gzip-1.3.5-r3 [1.3.5-r2] -build -debug -nls +pic -static (39s) 0 kB [ebuild U ] app-arch/tar-1.14.90-r1 [1.14] -build -debug -nls -static (1m13s) 1,278 kB [ebuild U ] app-shells/bash-3.0-r7 [3.0-r5] -build -debug -nls (-uclibc) (3m5s) 35 kB [ebuild U ] dev-lang/perl-5.8.5 [5.8.3] +berkdb -debug -doc +gdbm -ithreads -perlsuid (-uclibc) (20m9s) 0 kB [ebuild U ] net-misc/iputils-021109-r3 [021109-r1] -debug -ipv6 -static (-uclibc) (1m13s) 418 kB [ebuild U ] net-misc/rsync-2.6.3 [2.6.0-r3] -acl -build -debug -ipv6 -static (1m8s) 0 kB [ebuild U ] sys-apps/baselayout-1.11.6-r1 [1.9.4-r2] -bootstrap -build -debug -livecd -static (-uclibc) (1m) 145 kB [ebuild U ] sys-apps/coreutils-5.2.1-r2 [5.2.1-r1] -acl -build -debug -nls (-selinux) -static (-uclibc) (6m29s) 64 kB [ebuild U ] sys-apps/ed-0.2-r4 [0.2-r3] (15s) 181 kB [ebuild U ] sys-apps/grep-2.5.1-r6 [2.5.1-r1] -build -debug -nls* -pcre -static (-uclibc) (37s) 667 kB [ebuild U ] sys-apps/groff-1.19.1-r2 [1.19.1-r1] +X* -debug (3m36s) 0 kB [ebuild U ] sys-apps/kbd-1.12-r3 [1.12-r2] -nls* (42s) 864 kB [ebuild U ] sys-apps/less-382-r2 [382] (36s) 258 kB [ebuild U ] sys-apps/man-1.5m-r2 [1.5m-r1] -debug -nls (37s) 0 kB [ebuild U ] sys-apps/man-pages-1.67 [1.66] (38s) 1,585 kB [ebuild U ] sys-apps/portage-2.0.51-r3 [2.0.51-r2] -build -debug (-selinux) (1m27s) 274 kB *** Portage will stop merging at this point and reload itself, recalculate dependencies, and complete the merge. You may avoid the remerging of packages by updating portage on its own. [ebuild U ] sys-apps/procps-3.2.4 [3.2.3-r1] -debug (45s) 269 kB [ebuild U ] sys-apps/shadow-4.0.6 [4.0.4.1-r4] -debug -nls +pam (-selinux) -skey (3m18s) 992 kB [ebuild U ] sys-devel/autoconf-2.59-r5 [2.59-r3] (40s) 1,336 kB [ebuild U ] sys-devel/automake-1.8.5-r1 [1.8.5] (-uclibc) (1m) 0 kB [ebuild U ] sys-devel/bison-1.875d [1.875] -debug -nls* -static (51s) 862 kB [ebuild U ] sys-devel/gcc-3.4.3 [3.4.2-r2] -bootstrap -build -debug -fortran -gcj -gtk +hardened -multilib -n32 -n64 -nls -nocxx -objc -static (-uclibc) (35m26s) 27,169 kB [ebuild NS ] sys-devel/libtool-1.5.10 (-uclibc) (1m53s) 2,636 kB [ebuild U ] sys-devel/m4-1.4.1 [1.4-r1] -bootstrap -nls* (34s) 335 kB [ebuild U ] sys-devel/make-3.80-r1 [3.80] -build -debug -nls* -static (-uclibc) (30s) 899 kB [ebuild U ] sys-fs/e2fsprogs-1.35-r1 [1.35] -debug -diet -nls* -static (2m13s) 3,078 kB [ebuild U ] sys-libs/cracklib-2.7-r10 [2.7-r9] -debug +pam* (-uclibc)* (10s) 20 kB [ebuild NS ] sys-libs/db-4.2.52_p2 -doc -java -tcltk (2m49s) 3,980 kB [ebuild U ] sys-libs/pam-0.77-r3 [0.77-r1] +berkdb -debug -pwdb (-selinux) (3m9s) 111 kB [ebuild U ] sys-libs/readline-5.0-r1 [5.0] (1m5s) 11 kB [ebuild U ] sys-libs/zlib-1.2.2 [1.2.1-r3] -build -debug (30s) 363 kB [ebuild UD] dev-libs/uclibc-0.9.26-r7 [0.9.26-r9] -build -debug +hardened -ipv6 -static (5m14s) 0 kB [ebuild U ] sys-apps/modutils-2.4.27 [2.4.26] -debug (57s) 229 kB [ebuild U ] sys-apps/util-linux-2.12i [2.12b] +crypt -debug -nls +pam +perl (-selinux) -static (1m46s) 2,079 kB Total size of downloads: 50,147 kB ############################################################################## The idea of portage displaying merge times has been rejected on more than one occasion on the gentoo-dev@g.o mailing list so there seems to be no point in devoting time coding this correctly in python. ############################################################################## solar@simple bin $ diff -u /var/cvsroot/gentoo-src/portage/bin/emerge /usr/bin/emerge --- /var/cvsroot/gentoo-src/portage/bin/emerge 2004-11-13 22:36:24.000000000 -0500 +++ /usr/bin/emerge 2004-11-14 19:33:05.000000000 -0500 @@ -1523,8 +1523,8 @@ else: iuse=blue("-"+ebuild_iuse) verboseadd+=iuse+usechange+" " - if (verbosity and "--pretend" not in myopts) or \ - (verbosity > 1 and "--pretend" in myopts): + if (verbosity > 2 and "--pretend" not in myopts) or \ + (verbosity > 2 and "--pretend" in myopts): # show herd/maintainers. metadata_file=portage.settings["PORTDIR"] + "/" + portage.portage_versions.pkgsplit(x[2])[0] + "/metadata.xml" if not os.path.exists(metadata_file): @@ -1543,7 +1543,17 @@ verboseadd += " (" + teal("M:" + ", ".join(handler._herds) ) + ") " else: verboseadd += " (" + teal("M:" + ", ".join(handler._maintainers) ) + ") " - + if (verbosity and "--pretend" not in myopts) or \ + (verbosity > 1 and "--pretend" in myopts): + # this is a bad hack that works. + merge_time = portage_exec.spawn_get_output("genlop -t "+ + os.path.basename(portage.portage_versions.pkgsplit(x[2])[0]) + + "|tail -n 1|grep time|cut -d ' ' -f4-|sed -e s/'\.'//g -e s/' '//g"+ + " -e s/hours/hs/ -e s/hour/h/"+ + " -e s/minutes/m/ -e s/minute/m/"+ + " -e s/and// -e s/seconds/s/", + spawn_type=portage_exec.spawn_bash) + verboseadd += "("+ merge_time[1] + ") "; # size verbose mysize=0 solar@simple bin $ time emerge -pv chpax These are the packages that I would merge, in order: Calculating dependencies ...done! [ebuild R ] sys-apps/chpax-0.7 -debug 0 kB Total size of downloads: 0 kB real 0m1.543s user 0m1.360s sys 0m0.140s solar@simple bin $ time emerge -pv chpax -v These are the packages that I would merge, in order: Calculating dependencies ...done! [ebuild R ] sys-apps/chpax-0.7 -debug (28s) 0 kB Total size of downloads: 0 kB real 0m2.061s user 0m1.830s sys 0m0.220s