Gentoo Archives: gentoo-portage-dev

From: Magnus Johansson <magnusj@×××××.se>
To: gentoo-portage-dev@l.g.o
Subject: [gentoo-portage-dev] Progress indicator for emerge
Date: Thu, 02 Dec 2004 11:37:23
1 Hi!
3 I've written an emake replacement that shows the progress of the make.
4 I've used this for about four weeks with daily emerges, and it
5 Works For Me (tm), with some (mostly) minor issues. I've attached it to
6 this mail, and it looks something like this in action:
8 [./configure output snipped]
9 Guesstimating...
10 Now starting make...
11 2.30%
13 Error messages are still being shown, but stdout is suppressed.
15 Known issues
16 --------------------
17 * It works by first doing a dry run of make. This adds some overhead,
18 but in my experiece it is worth it. Compared to the actual make time
19 it is negligible.
20 * The estimate is sometimes slightly off. It is very hard to correctly
21 guess the amount of work make has to do, but in most cases the
22 actual make is finished within 95%-105% of the estimate, which is
23 good enough for me.
24 * With some ebuilds the estimate is really, really off. This goes for
25 ebuilds where the ./configure does not create all necessary Makefiles
26 from the beginning, but rather lets the first Makefile create new ones.
27 In this case the estimate will be useless since it will only be based on
28 the first Makefile. ebuilds that fall into this category are e.g. firefox and
29 Xorg. ebuilds that use the ordinary autoconf/automake-tools don't have
30 this problem (which is most of them). KDE works for example perfectly.
31 * I've come across one ebuild that won't work with my emake replacement:
32 thunderbird. So you may want to keep the original emake around :-)
33 I've no clue why it won't work. Any suggestions are welcome.
35 The script has two files: emake and progressmeter, so you need to put
36 both in /usr/lib/portage/bin/ and make sure they can be executed.
38 Any feedback is appreciated.
40 Regards,
41 Magnus Johansson


File name MIME type
progressmeter application/x-shellscript
emake application/x-shellscript