[Gentoo] Tip: Finding and fixing warnings made easy in Portage

Losing warnings in all that compiler output? Try this quick tip out!

Open up /usr/lib/portage/bin/emake and change this line:

exec ${MAKE:-make} ${MAKEOPTS} ${EXTRA_EMAKE} "$@"

to this:

exec ${MAKE:-make} ${MAKEOPTS} ${EXTRA_EMAKE} "$@" > /dev/null

This hides all the useless output you don’t care about that goes to standard output. You only care about what goes to standard error, so only warnings, errors and similar show up. It also has the side effect of reducing the CPU used to print tons of output on the screen.

[Gentoo] Upstart: A new paradigm in services

My LWN subscription again made itself worthwhile today in an article (subscribers only until 7 August or so) about upstart, a new take on the init daemon. It’s event-based rather than dependency-based, as Gentoo’s init system is. What’s this mean? It figures out what to do and how to get there instead of being told, and it does a better job of dealing with today’s additions and removals of hardware while the system’s running. In comparison with initng or runit, other init replacements:

Again while interesting, Initng does not solve the problems that we wanted to solve. It can reorder a fixed set of jobs, but cannot dynamically determine the set of jobs needed for that particular boot.

A recent thread on the gentoo-user mailing list discussed initng and runit. Here’s my take on the whole thing: initng and runit are rethinks of sysvinit, but upstart is a rethink of the whole method of dealing with services and jobs.

Another associated boot-time speedup suggestion comes from Jens Axboe’s fcache patch, which aims to make the boot process completely linear on disk. One Gentoo user quoted a startup time for a “fully loaded” laptop of 13 seconds when combining initng and the fcache patch. It would be interesting to couple this with sys-apps/readahead-list. For Gentoo users, ck-sources already contains the fcache patch.