Mark Knecht <markkne...@gmail.com> posted
5bdc1c8b0906101803i48368ddsfff153f61a0dc...@mail.gmail.com, excerpted
below, on  Wed, 10 Jun 2009 18:03:26 -0700:

> On Wed, Jun 10, 2009 at 5:55 PM, Duncan<1i5t5.dun...@cox.net> wrote:

[make.conf file consisting entirely of source <subfile> lines]
>>
>> WORKSFORME ! =:^)
> 
> My, my. that's the first time I've heard of someone doing that!
> 
> As always Duncan, you are an interesting guy! :-)

I remember when I first saw someone (perhaps Zac himself) mention that 
"source" was a valid make.conf directive.  I could hardly wait to try it! 
=:^)

Two observations.  First, as with a reasonable amount of what I post, I 
don't expect most folks to find my particular solution all that useful 
for them, tho they're certainly free to use it if they do (and chances 
are at least fair that part of it's useful to someone, somewhere).  It's 
a solution particularly crafted to be useful to me, not someone else, 
and  I'm old enough to realize the world doesn't revolve around me, nor 
would I even /want/ everyone to be like me.  I appreciate being unique 
and if everyone were like me, I'd just have to find some other way to be! 
=:^)

So the reason I post such stuff isn't so everyone else can do it too, but 
to encourage people to realized just how flexible Gentoo is, to "Think 
Outside the Bun" to use an ad phrase (anyone remember "Forget Typical!  
Say goodbye to the usual", I had that one up as a personal motto, for 
awhile! =:^).  If what I post encourages them to create a solution unique 
to their installation that works as well for them, that they wouldn't 
have come up with or that would have taken them longer to realize, 
without my prodding, then I've done a good thing. =:^)

Second, this sort of thing really /does/ help one appreciate just how 
open and customizable Gentoo really is, all while staying within the 
general framework created to help people continue to manage their 
systems, not just now, but thru more or less constant updating, into the 
future.

Back in 2002-ish, I was on Mandrake.  Know how I learned bash?  I took 
apart their boot scripts, modularizing their hurkin' big primary rc 
script into several much smaller components, each of which managed its 
one thing (much as I did with make.conf, above).  It was certainly 
effective at helping me learn real-world bash scripting, not just 
textbook stuff, but how it was actually used in the real-world to boot a 
system.  On the way, it sure helped me appreciate Linux, as opposed to MS 
Windows where most of the boot sequence is "magic", hidden behind some 
proprietary curtain, with, pretty much, only a yes/no on whether 
individual components will load by whether you list them in the registry 
or not.  Thus it was wonderful to actually find that stuff exposed where 
a "mere sysadmin level user", even a beginning one, could hack on it.  
(BTW, that's something that's a bit distressing about Baselayout-2/
OpenRC, it hides a bit of this behind C code.  But it's faster and as it 
turns out, most of the good stuff is exposed in bash code after all, so 
it's not actually that bad.)

But you know what happened when I upgraded?  Right, all my hard work 
disappeared down the drain, as the new monster rc script replaced my 
carefully componentized one.  What's worse, individual changes and 
updates they made weren't exposed in the changelog, and the big hurkin' 
script was just too big and hurkin' to efficiently parse for individual 
changes on my own (I didn't know about checking CVS logs at the time, and 
probably wouldn't have understood a lot if I had done so) so I had no 
easy way to simply update my scripts.

Of course by then, I knew a bit better what I was doing, and I actually 
recomponentized it, once, thus learning even more.  But after that I just 
left it alone, pretty much, diving in and making individual changes when 
necessary, but otherwise leaving their hurkin' monster rc script 
untouched.

What's so great about Gentoo is that it gives us the tools to actually 
maintain our own configs and systems separate from Gentoo, when we want 
to.  I don't have to worry about my super-customized make.conf being 
overwritten, and if it were normally overwritten, there are nicely 
exposed CONFIG_PROTECT and CONFIG_PROTECT_MASK variables that control 
those overwrites, and neat tools like etc_update that layout the diffs 
between our versions and the as-shipped versions.  For stuff like 
/etc/profile, where I have again gone entirely my own way, using 
FEATURES=buildpkg, I can browse the archive of both the new and the old 
version and diff the changes between the two versions, thus showing me 
what they changed, thus what I might wish to consider changing in my 
customized solution, as well.  (FWIW, I've done something similar there.  
My /etc/profile simply sources a bunch of component files, each of which 
manages one little thing.  And I've integrated the default/skeleton 
user .bashrc into the same system, so it too sources the various 
components.)

The difference is, Gentoo is /designed/ to make such customized solutions 
not only possible, but easy to do and more importantly, to maintain.  No 
fighting the distribution's update system to try and keep and maintain 
the customizations, Gentoo is designed from the beginning with that in 
mind, making it oh so much simpler, and actually a joy to work with! =:^)

> My machine is now moderately cleaned up. 137 packages in @system. Clean
> in emerge @world, revdep-rebuild and eix-test-obsolete.

Good to see.  But I wonder what was doing it, as I have both cups and kde 
in my global USE flags, and even with that, only have 149 packages pulled 
in with an emerge -pve @system.  Unless gnome really is /that/ bad about 
things, and even as someone who really can't stand gnome, I find it hard 
to believe that it's /that/ bad.  200-ish packages added to system deps 
just for it?  Come /on/!

But it was certainly coming from somewhere, and I certainly can't argue 
with your results, getting back down to 130-some packages from 300-some, 
mainly by killing the kde gnome and cups global USE flags, even if I 
/don't/ see it with just kde and cups, and find it hard to believe gnome 
would be /that/ bad. <shrug>  Oh, well, regardless, I have -gnome in the 
global USE flags and don't have the problem, for which I am grateful, 
whether that's the reason or not.

-- 
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