On 11/04/2013 03:46 PM, Duncan wrote:
> Martin Vaeth posted on Mon, 04 Nov 2013 11:17:49 +0000 as excerpted:
> 
>> Duncan <1i5t5.dun...@cox.net> wrote:
>>>
>>> and the default is oneshot
>>
>> I would always recommend to put -1 into EMERGE_DEFAULT_OPTS;
>> you can still use --select if you really want a new package in a word
>> file: after the first installation this should happen rather rarely (and
>> you can still use -n --select later on if you forgot it and realize that
>> depclean wants to remove it).
> 
> I imagine were emerge being written today, -1 /would/ be the default, and 
> there'd be an option like --select to add to the @world file if 
> necessary.  That's actually the way I setup my scripts, with -1 the 
> default, and an extra "2" suffix script variant that did add to the world 
> file.  But backward compatibility being what it is, I guess by the time 
> portage authors realized they had a backward default, they couldn't 
> really fix it, except by something like EMERGE_DEFAULT_OPTS.
> 
>>> Then there's esyn, which syncs both the gentoo tree and layman, as well
>>> as automatically handling ebuild patching and redigesting
>>
>> You can use eix-sync for that [...]
>>
>> The advantage is that you will probably have a better behaviour in case
>> some of the tasks fail...
> 
> Again, if it were available (and something I knew about) back in the 
> day... I might have ended up with that.
> 
> However, I've come to appreciate an advantage to writing one's own 
> scripts -- bug fixing or adding new functionality is a *LOT* easier since 
> you're already familiar with the code.  In fact, speaking from 
> experience, adding support for a new feature to a script you've created 
> yourself is often easier than figuring out the new config options for the 
> same feature for an upstream script, when they add support for it!  Plus, 
> you don't have to worry about learning new config options for new 
> features you'll never use, since you simply don't code them in the first 
> place. =:^)
> 
> The ebuild-patching tree and auto-redigest features were in fact recent 
> adds, when I needed something that scaled better than one-off ebuild 
> editing during the time gentoo/kde dropped support for USE=semantic-
> desktop and I had to carry my own patches to kill it.  (FWIW, they've 
> since reverted and offer USE=semantic-desktop again now, THANKS
> gentoo/kde! =:^)
> 
> Similarly, adding git functionality to my existing kernel scripts wasn't 
> difficult, and arguably easier to do since I knew the code, than trying 
> to reverse engineer the new config options and perhaps the supporting 
> code behind it, were I using an upstream solution that added git kernel 
> support to existing helper scripts.
> 
>>> I have a similar set, but starting with k* instead of e*, for automatic
>>> mainline kernel fetching, building, etc.
>>
>> This is rather cumbersome, since you should have different permissions
>> for building and installing (if you use the recommended way to build
>> into a separate KBUILD_OUTPUT with e.g. portage permissions).
>> Except for fetching, you might want to use the kernel script from the mv
>> overlay.
> 
> Actually, both different building/installing permissions (via config file 
> sudo option, tho I'll admit since I set that the option, running with 
> that option turned off isn't tested, but the basic script infrastructure 
> for it is there), and KBUILD_OUTPUT (setting in the config file) are 
> already supported. =:^)
> 
> And talk about ease of adding functionality, when I setup my 32-bit 
> netbook build chroot, it was just a few lines changed in the kernel 
> scripts themselves, and a "dynamic config" line added to the config file 
> (which is sourced, so accepts both var=val style and dynamic config 
> script snippets) to auto-detect which system I was building for and set 
> KBUILD_OUTPUT accordingly, thereby keeping the work dirs and config 
> entirely separate, automatically, via "dynamic config".
> 
> Trivial feature-add, and now that it's there, if I suddenly needed to 
> scale to 100 or 1000 different kernel configs, that'd be even more 
> trivial (even just a config file change), if necessary by having the 
> config file source yet another "separate-builds.conf" file with its own 
> dynamic-config logic to choose between the different configs.
> 
> This sort of solidly sysadmin level helper/glue script is something Unix/
> Linux/Gentoo is well optimized to make not only possible, but trivial, to 
> implement, and I definitely put that feature to use! =:^)
> 

I'd be very interested in this kernel config script you have! I want to
set up a mini ITX system as a NAS some day, and since it runs an Intel
Atom, I'm likely going to be building the packages on my desktop.

Reply via email to