Gentoo Archives: gentoo-dev

From: Duncan <1i5t5.duncan@×××.net>
To: gentoo-dev@l.g.o
Subject: [gentoo-dev] Re: [gentoo-dev-announce] OpenRc-0.12 is coming soon
Date: Sat, 03 Aug 2013 22:12:35
Message-Id: pan$9dc2f$74378196$72574114$7081c2a0@cox.net
1 Sven Vermeulen posted on Sat, 03 Aug 2013 18:51:02 +0000 as excerpted:
2
3 > On Sat, Aug 03, 2013 at 04:44:52PM +0000, Duncan wrote:
4 >> I run openrc-9999 because I guess my configuration's unusual enough to
5 >> trigger bugs once in awhile, and from experience once I do, it's a lot
6 >> easier to track 'em down if I've only a couple commits to check since
7 >> my last update. Plus the fact that I can (and religiously do) run the
8 >> unpack to trigger a git pull, then run git whatchanged, BEFORE doing
9 >> the actual update. So if there's a problem, I either spot it right
10 >> away before I actually build and install the update, or at minimum, I
11 >> have a very good idea where it is once I hit it, because I have a good
12 >> idea what changed and why.
13 >
14 > Care to elaborate a small bit on this? I'm running a few -9999 myself
15 > (not openrc though) and am interested in doing something similar...
16
17 Not a bashrc hack. Basically, since live packages are never pulled in to
18 an update @world (tho @live-rebuild works), I /was/ updating each one
19 individually anyway, before I switched to live-branch kde. With live-
20 branch kde I now do @live-rebuild, but I have the helper scripts already
21 setup for the packages I really care about.
22
23 It works like this. There's a single script called pgit (portage-git),
24 with symlinks for individual packages. Each package has a bunch of
25 symlinks to pgit named like openrc.f (for the fetch/unpack), openrc.c
26 (for the changelog aka whatchanged), openrc.r to ebuild clean the package
27 if there were no updates, openrc.b with additional parameters for
28 bisecting, etc.
29
30 Pgit then checks how it was called, separating the name into a package
31 and an action, and acting accordingly. At the moment I have hard-coded
32 per-package values for some things in pgit itself, tho I setup default
33 values for many things and only have to change them when they're not
34 default, and at some point intend to setup a config file with the per-
35 package stuff in it.
36
37 Pgit also works in a slightly different mode for git-based overlays. I
38 have the mozilla, x11, and kde overlays installed, with pgit symlinks
39 that can do kde.c, etc, as well. (My sync script runs emerge --sync and
40 layman -S plus updates the esearch database, etc, so I don't have pgit
41 setup to do individual repo fetches, that's only for packages.
42 Similarly, I don't really have overlays setup for bisecting, etc, either.)
43
44
45 So it's not fancy and would require some work to make it general purpose,
46 but it works for me, and I'm gradually generalizing it and adding
47 features as I go. But it might be a start for someone looking to create
48 a more general purpose version, anyway, and it's well commented and easy
49 to modify for specific overlay and package hard-coding (I setup the hard-
50 coded values in a case statement based on the split-off package name).
51
52 If you're interested I can mail them privately, or perhaps post them
53 somewhere and post a link to them, if others are interested as well.
54
55 --
56 Duncan - List replies preferred. No HTML msgs.
57 "Every nonfree program has a lord, a master --
58 and if you use the program, he is your master." Richard Stallman