We use the new ELOG-features now and once a package is merged, the e{info,warn,error}-messages get mailed to the administrator's address. That's a good feature but it's really annoying that the output is still too much. Regarding e.g. app-editors/vim, the mail message contains: > INFO: unpack > Filtering vim patches ... > > Applying filtered vim patches ... ... > Applying various patches (bugfixes/updates) ... > 003_all_vim-5.6a-paths.patch.gz ... > 011_all_vim-6.3-xorg-75816.patch.gz ... > 012_all_vim-7.0-apache-76713.patch.gz ... > 013_all_vim-7.0-cron-vars-79981.patch.gz ... > 023_all_vim-6.3-apache-83565.patch.gz ... > 024_all_vim-6.3-bash-83565.patch.gz ... > 027_all_vim-7.0-automake-substitutions-93378.patch.gz ... > 029_all_vim-7.0-more-sh-keywords-93983.patch.gz ... > 032_all_vim-7.0-grub-splash-96155.patch.gz ... > Done with patching > > INFO: compile > Creating configure script ... > > WARN: postinst > Note that the English word lists are no longer installed by > default. > > INFO: postinst > Updating documentation tags in /usr/share/vim/vim70 > To install a GUI version of vim, use the app-editors/gvim > package. > Vim 7 includes an integrated spell checker. You need to install > word list files before you can use it. There are ebuilds for > some of these named app-vim/vim-spell-*. If your language of > choice is not included, please consult vim-spell.eclass for > instructions on how to make a package. > To see what's new in this release, use :help version7.txt > To enable command-line completion for vim, run: > eselect bashcomp enable vim IMHO, the einfo-function should not be used for epatch and friends. These ones are of the same interest as every compiler output. The ELOG system should be able to catch only info, warning and error messages, not this stuff nobody needs to know. From the above output, I do not want to see anything. I have had vim-7 before, so those whatsnew-messages are crap. I said -X, so I propably don't want gvim. Please provide some techniques for ebuild authors to be able to output nice things that aren't put in ELOG messages. atm, einfo is often used for interresting things, so we cannot filter it out. As written above, ebuild authors should also put more energy in detection what old version was installed and what hint to give. I'm annoyed from reading all over again, what's new in vim-7, I have it for many months now.
portage-2.1 has a elog() function that is supposed to be used for this, the only problem is that portage-2.0 does not have this function so it can't be used in ebuilds (unless they depend on portage-2.1). Hmm, not sure what to do with this bug, it's somewhere between FIXED, LATER and CANTFIX.
Ok, that's a problem. What about releasing new minor versions of all actively maintained major versions of portage introducing elog as a synonym to einfo? If you wait until all users have switched to upcoming stable portage 2.1 before adding elog() to any regular ebuilds, this will last a very long time. so when the elog() function would just be present without doing something special, ebuild authors could use it in some weeks, IMHO.
How about something similar to the following in profiles/base/baserc (or somewhere where it'll be executed)? type -p elog || elog() { echo \* "$*"; }
profiles/base/profile.bashrc has had this for a while now: if [[ $(type -t elog) != "function" ]]; then elog() { einfo "$@" } fi