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
/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.)
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
> 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.