Gentoo Archives: gentoo-dev

From: Michael Weber <xmw@g.o>
To: gentoo-dev@l.g.o
Subject: update commands / world file pollution Re: [gentoo-dev] Stable sys-devel/gcc USE flag changes WAS: [gentoo-commits] gentoo-x86 commit in eclass: ChangeLog toolchain.eclass
Date: Fri, 18 Jan 2013 07:27:49
Message-Id: 50F8F957.6040709@gentoo.org
In Reply to: [gentoo-dev] Stable sys-devel/gcc USE flag changes WAS: [gentoo-commits] gentoo-x86 commit in eclass: ChangeLog toolchain.eclass by Michael Weber
1 Hi,
2
3 I'd like to drop one strong suggestion about configuration management
4 that might be beneficial here: use version control software!
5
6 Some machines (esp. those with shared administration) have /etc/portage
7 under git [1] with
8 - /var/lib/portage/world symlinked to /etc/portage/world
9 - PORTDIR_OVERLAY=/etc/portage/local-overlay
10
11 Basically, we have 4 roots fiddling with 4 machines and different
12 behaviours.
13
14 Some forget --oneshot (-1) on broken-libs rebuilds,
15 some forget to mark packages in world file after successful tests.
16 Some forget the second > on `echo foo-bar/blub >
17 /etc/portage/package.keywords/global`
18 Some forget to commit+push their changes.
19
20 All these "problems" esp. the mentioned world file pollution is
21 documented quite well in the git log, or doesn't get committed at all.
22
23 I check `cd /etc/portage ; git stash show ; git diff` on a regular basis
24 o keep it all together.
25
26 The update is almost unattended with [2].
27
28 General benefits:
29 - You can recover from moronic file handling
30 - The changes to the machines get documented (and announced by mail)
31 - Config changes and updates can be made w/o all machines being up.
32 - It feels like an normal machine, no need to run any deployment tool
33 to just test-install a package.
34
35 Down drafts:
36 - Doesn't handle layman repo list
37 - Git merge is bad on two changes adding a new last line
38 - autoupdate.sh doesn't handle error exit codes.
39
40 So, __USE__ an version control, even when you're just running
41 `cd /etc/portage ; git commit -a -m "randoom updates"` from time to time.
42
43 Bye
44
45 [1] http://git.fs.lmu.de/gaf-etc-portage.git/
46
47 [2] http://git.fs.lmu.de/gaf-etc-portage.git/blob/HEAD:/bin/autoupdate.sh
48
49 --
50 Michael Weber
51 Gentoo Developer
52 web: https://xmw.de/
53 mailto: Michael Weber <xmw@g.o>

Replies