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 |