Hi,

I'd like to drop one strong suggestion about configuration management
that might be beneficial here: use version control software!

Some machines (esp. those with shared administration) have /etc/portage
under git [1] with
 - /var/lib/portage/world symlinked to /etc/portage/world
 - PORTDIR_OVERLAY=/etc/portage/local-overlay

Basically, we have 4 roots fiddling with 4 machines and different
behaviours.

Some forget --oneshot (-1) on broken-libs rebuilds,
some forget to mark packages in world file after successful tests.
Some forget the second > on `echo foo-bar/blub >
/etc/portage/package.keywords/global`
Some forget to commit+push their changes.

All these "problems" esp. the mentioned world file pollution is
documented quite well in the git log, or doesn't get committed at all.

I check `cd /etc/portage ; git stash show ; git diff` on a regular basis
o keep it all together.

The update is almost unattended with [2].

General benefits:
 - You can recover from moronic file handling
 - The changes to the machines get documented (and announced by mail)
 - Config changes and updates can be made w/o all machines being up.
 - It feels like an normal machine, no need to run any deployment tool
to just test-install a package.

Down drafts:
 - Doesn't handle layman repo list
 - Git merge is bad on two changes adding a new last line
 - autoupdate.sh doesn't handle error exit codes.

So, __USE__ an version control, even when you're just running
`cd /etc/portage ; git commit -a -m "randoom updates"` from time to time.

Bye

[1] http://git.fs.lmu.de/gaf-etc-portage.git/

[2] http://git.fs.lmu.de/gaf-etc-portage.git/blob/HEAD:/bin/autoupdate.sh

-- 
Michael Weber
Gentoo Developer
web: https://xmw.de/
mailto: Michael Weber <x...@gentoo.org>

Reply via email to