I would really like to see a feature in emerge that reduces the noise (output) of the emerge progress. I know that there is already "--quiet" but I don't think it is very helpful. In my opinion it should be possible to hide/filter the compiler output (and maybe the info about patches by portage and so on, too) so that you have a concise, clean impression of what is going on. If you're experiencing problems with the ebuild you can still have a look into elog. So my idea is to have a similar output to apt (3 lines per package or something) which includes e.g.: - emerging package gentoo-sources - package gentoo-sources compiled fine (duration: 10mins) - package gentoo-sources installed into / (10 files copied) - (next package here) Please post any other ideas. Thank you. Reproducible: Always
You can already do this via MAKEOPTS, EXTRA_ECONF and FETCHCOMMAND
I can't find any documents/hints describing how to do this. Can you maybe explain this a bit more in detail?
(In reply to comment #1) > You can already do this via MAKEOPTS, EXTRA_ECONF and FETCHCOMMAND I used to do it vial this for a while, but I think that approach is not radical enough. There's still too much cruft you don't care about, particularly the output from 'make install', epatch output and various misc stuff from eclasses. In my opinion --quiet should really make Portage only print the ">>> merging cat/package-ver" plus the messages you would catch with elog. (In reply to comment #2) > I can't find any documents/hints describing how to do this. Can you maybe > explain this a bit more in detail? It's documented in the man pages of the individual tools, but it bails down to this: * add -s to MAKEOPTS * set EXTRA_ECONF="--quiet" * include -q in FETCHCOMMAND
Created attachment 110302 [details, diff] make.conf.5.patch EXTRA_ECONF isn't documented.
> There's still too much cruft you don't care about, particularly the output from 'make install', epatch output and various misc stuff from eclasses. Yes, that's exactly the case. > You can already do this via MAKEOPTS, EXTRA_ECONF and FETCHCOMMAND Maybe this solution is a bit "hardcoded": What if an ebuild fails? You have to change the make.conf again if you want to trace down a bug because you don't have the compiler output anywhere. (correct me if I'm wrong). Plus, according to comment #3 this is not working anyway. Another approach could be: Setting an debuglevel variable in the make.conf which controls the output to the console of all emerge subprocesses (make &> /dev/null e.g.). For example: EMERGE_LOGLEVEL="debug|info|warn|error|quiet"
$MAKEOPTS gets passed to emake which is a wrapper for make. So for example to have 'gnu-make' be quiet you want to use options for make itself. From the manpage. -s, --silent, --quiet Silent operation; do not print the commands as they are executed. Now you want to make ./configure be quiet also. To do this you need to pass extra options to it. (Note not every ./configure scripts supports this) but you can also pass a --quiet option to the EXTRA_ECONF. Then on to fetching files. wget also supports a quiet mode and FETCHCOMMAND controls how/what portage uses to fetch files. So.. MAKEOPTS="--quiet -j2" EXTRA_ECONF="--quiet" FETCHCOMMAND="/usr/bin/wget --quiet -t 5 -T 60 --passive-ftp -P \${DISTDIR} \${URI}" Use all 3 of those variables via make.conf while using the portage option --quiet and the noise will be very minimal.
Kevin Funk, you should be happy because of not using FEATURES="python-trace" emerge -d package :)
In reply to comment #6: Thanks for your effort solar, but this solution still is very noisy (it has a lot of output, more than i need actually). I'm not interested in warnings, info messages at all (because i can't interpret them anyway) and I think other users do so, too. And I don't want the file listing for every package, if I need it, i can use equery. Please don't tell me to use "emerge package > /dev/null" because this is not what I want of course :). According to my orginal message less than 5 lines should be enough for every package if you don't want to debug a build.
It's not clear what you want then. granted you can take it a step further and make tar itself quiet but you need to edit ebuild.sh for that. Please give us some example output outside of the tar case of the output that you are seeing and wish to not see when using the 4 quiet options.
I'm sorry, but why is it not clear to you? That's what I have in my make.conf now: > MAKEOPTS="${MAKEOPTS} --quiet -i" > EXTRA_ECONF="--quiet" > FETCHCOMMAND="${FETCHCOMMAND} --quiet" I'm counting the lines the emerge of icecast produces: > root@jutta:[/home/krf]# emerge icecast --quiet | wc -l > 919 That's not quiet to my mind. That's what i actually don't need in my emerge output: Notification about patches, compiler warnings, file listing at the end of the emerge process. I just want the minimal output of emerge, saying that a package was fetched, compiled and installed (3 lines). Just like apt-get does. MAKEOPTS and EXTRA_ECONF are reducing the output of course, but it would be ok if configure and make output were redirected to /dev/null (logically). PS: I said that already in my first post, actually.
I do not always want all packages to be updated or prefer other order (because of downloading time). Also, on my second computer I use binary packages from the first one, but can not use all of them (nvidia-drivers differ). So I do for example emerge -DupvNk world to see what's new and then emerge -vK package1... To make it easier I would like emerge to output in quiet, pretend mode the list of packages ready for copy/paste to subsequent emerge command, as in the example below: emerge -pv --quiet linuxsampler =media-libs/libgig-2.0.1 =media-libs/liblscp-0.3.0 =media-sound/linuxsampler-0.3.3 This revdep-rebuild alike behavior would be really welcome.
*** This bug has been marked as a duplicate of bug 134702 ***