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