Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 167057 - option to reduce noise/output of an emerge
Summary: option to reduce noise/output of an emerge
Status: RESOLVED DUPLICATE of bug 134702
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Enhancement/Feature Requests (show other bugs)
Hardware: All All
: High enhancement (vote)
Assignee: Portage team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 187293
  Show dependency tree
 
Reported: 2007-02-15 16:01 UTC by Kevin Funk
Modified: 2007-06-05 19:11 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
make.conf.5.patch (make.conf.5.patch,563 bytes, patch)
2007-02-15 17:05 UTC, Arfrever Frehtes Taifersar Arahesis (RETIRED)
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Kevin Funk 2007-02-15 16:01:00 UTC
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
Comment 1 solar (RETIRED) gentoo-dev 2007-02-15 16:05:57 UTC
You can already do this via MAKEOPTS, EXTRA_ECONF and FETCHCOMMAND
Comment 2 Kevin Funk 2007-02-15 16:20:37 UTC
I can't find any documents/hints describing how to do this. Can you maybe explain this a bit more in detail?
Comment 3 Simon Stelling (RETIRED) gentoo-dev 2007-02-15 16:39:52 UTC
(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
Comment 4 Arfrever Frehtes Taifersar Arahesis (RETIRED) gentoo-dev 2007-02-15 17:05:42 UTC
Created attachment 110302 [details, diff]
make.conf.5.patch

EXTRA_ECONF isn't documented.
Comment 5 Kevin Funk 2007-02-15 17:09:29 UTC
> 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"
Comment 6 solar (RETIRED) gentoo-dev 2007-02-15 17:12:45 UTC
$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.
Comment 7 Arfrever Frehtes Taifersar Arahesis (RETIRED) gentoo-dev 2007-02-15 17:20:28 UTC
Kevin Funk, you should be happy because of not using FEATURES="python-trace" emerge -d package :)
Comment 8 Kevin Funk 2007-02-15 17:49:39 UTC
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.
Comment 9 solar (RETIRED) gentoo-dev 2007-02-15 18:50:19 UTC
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.
Comment 10 Kevin Funk 2007-02-15 19:29:57 UTC
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.
Comment 11 Michał Wiernowolski 2007-06-03 11:04:03 UTC
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.
Comment 12 Marius Mauch (RETIRED) gentoo-dev 2007-06-05 19:11:58 UTC

*** This bug has been marked as a duplicate of bug 134702 ***