Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 648192

Summary: app-portage/eix: important messages coming at the end of emerge --sync can be easily ignored after eix-update output
Product: Gentoo Linux Reporter: Pacho Ramos <pacho>
Component: Current packagesAssignee: Michał Górny <mgorny>
Status: CONFIRMED ---    
Severity: normal CC: martin, mgorny
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
See Also: https://bugs.gentoo.org/show_bug.cgi?id=647644
Whiteboard:
Package list:
Runtime testing required: ---

Description Pacho Ramos gentoo-dev 2018-02-19 19:58:42 UTC
Hello,

This comes from bug 647644. The other day I noticed that I wasn't seeing any warning suggesting me to update portage before trying to update the whole world. Later, we noticed that the issue was caused by me using "eix-sync" to sync, because it will show all the eix-update *after* the output of emerge --sync output. 

This makes some important messages (like this warning and the warning about new news available) to be easily ignored because eix-update output can sometimes be really big.

We have thought on some options to workaround this:
- One option would be that eix would be able to get this messages from the emerge --sync output and show them always at the end of whole eix-sync output.
- Other option could be to rely on installing a file in /etc/portage/postsync.d/ running "eix-update", because emerge --sync will run it before showing that warnings. This also adds the advantage of offering a more "transparent" alternative to the whole eix-sync command, I mean, not adding an additional layer over "emerge"

Thanks a lot
Comment 1 Martin Väth 2018-02-19 20:11:53 UTC
/etc/portage/postsync.d is supported by eix:

eix installs /usr/bin/eix-postsync which the user can either symlink to /etc/portage/postsync.d or call it manually from his own script.

Capturing output of other programs is never a good idea. If the user does not want to see the lengthy eix-diff output at the end, he can easily configure eix to omit that call (with the hook @@exit 0 as documented in the eix manpage) (and then he can call eix-diff later manually when desired.)
Comment 2 Pacho Ramos gentoo-dev 2018-02-19 20:19:44 UTC
It seems eix-postsync is provided in testing version, non stable (maybe we could stabilize newer eix soon ;)). Also... I was thinking on installing the file directly there... otherwise many people won't even think about that option being possible 

Also... what is the advantage over showing eix-diff output by default even hiding the other messages? Maybe it would be better to reverse the default and not show it always
Comment 3 Martin Väth 2018-02-20 06:57:33 UTC
> I was thinking on installing the file directly there

Do not try to be smarter than the user.
Installing directly into user configuration for portage is horrible.
It forces ugly workaround for users who do not want this (e.g. who want the file under a different name due to their order in postsyncd or call it in a script).

> what is the advantage over showing eix-diff output by default 

This is what eix-sync is for in the first place: In the beginning, the only recommendation was to put eix-update into postsync.d, but user requested an analogous behaviour to esearch.
Users with this request (i.e. calling eix-sync in the first place) probably either have terminal which buffers sufficiently many output lines or redirect the output.

> Maybe it would be better to reverse the default and not show it always

You can call eix-postsync instead of eix-update if you want that behaviour.
There is a reason why this is in /usr/bin.