Sven Vermeulen posted on Sat, 03 Aug 2013 18:51:02 +0000 as excerpted:

> On Sat, Aug 03, 2013 at 04:44:52PM +0000, Duncan wrote:
>> I run openrc-9999 because I guess my configuration's unusual enough to
>> trigger bugs once in awhile, and from experience once I do, it's a lot
>> easier to track 'em down if I've only a couple commits to check since
>> my last update.  Plus the fact that I can (and religiously do) run the
>> unpack to trigger a git pull, then run git whatchanged, BEFORE doing
>> the actual update.  So if there's a problem, I either spot it right
>> away before I actually build and install the update, or at minimum, I
>> have a very good idea where it is once I hit it, because I have a good
>> idea what changed and why.
> 
> Care to elaborate a small bit on this? I'm running a few -9999 myself
> (not openrc though) and am interested in doing something similar...

Not a bashrc hack.  Basically, since live packages are never pulled in to 
an update @world (tho @live-rebuild works), I /was/ updating each one 
individually anyway, before I switched to live-branch kde.  With live-
branch kde I now do @live-rebuild, but I have the helper scripts already 
setup for the packages I really care about.

It works like this.  There's a single script called pgit (portage-git), 
with symlinks for individual packages.  Each package has a bunch of 
symlinks to pgit named like openrc.f (for the fetch/unpack), openrc.c 
(for the changelog aka whatchanged), openrc.r to ebuild clean the package 
if there were no updates, openrc.b with additional parameters for 
bisecting, etc.

Pgit then checks how it was called, separating the name into a package 
and an action, and acting accordingly.  At the moment I have hard-coded 
per-package values for some things in pgit itself, tho I setup default 
values for many things and only have to change them when they're not 
default, and at some point intend to setup a config file with the per-
package stuff in it.

Pgit also works in a slightly different mode for git-based overlays.  I 
have the mozilla, x11, and kde overlays installed, with pgit symlinks 
that can do kde.c, etc, as well.  (My sync script runs emerge --sync and 
layman -S plus updates the esearch database, etc, so I don't have pgit 
setup to do individual repo fetches, that's only for packages.  
Similarly, I don't really have overlays setup for bisecting, etc, either.)


So it's not fancy and would require some work to make it general purpose, 
but it works for me, and I'm gradually generalizing it and adding 
features as I go.  But it might be a start for someone looking to create 
a more general purpose version, anyway, and it's well commented and easy 
to modify for specific overlay and package hard-coding (I setup the hard-
coded values in a case statement based on the split-off package name).

If you're interested I can mail them privately, or perhaps post them 
somewhere and post a link to them, if others are interested as well.

-- 
Duncan - List replies preferred.   No HTML msgs.
"Every nonfree program has a lord, a master --
and if you use the program, he is your master."  Richard Stallman


Reply via email to