Róbert Čerňanský posted on Sun, 25 Jan 2015 14:27:50 +0100 as excerpted:

> On Sun, 25 Jan 2015 04:29:43 +0000 (UTC)
> Duncan <1i5t5.dun...@cox.net> wrote:
>> [...]
> 
> More frequent updates is most likely the reason that you do not have to
> edit use flags every time.

With the information below, seems like it.

> I update every 2-4 months (only GLSAs in between) therefore my
> experience is that I have to edit it every time (not for GLSAs of
> course).

I'd worry about that.

Frankly, I think the GLSAs are often too slow to come out, but I'm 
honestly not sure what could practically be done to fix it.  The problem 
(as I understand/see it) is that by policy the GLSAs don't get released 
until all security-handled archs have stable-keyworded the fixed package-
version, and some of those security-supported archs are underpowered and/
or undermanned and simply take longer than I'd consider ideal to do that 
keywording, even at security-priority.  But the only real and practical 
fix would be either GLSA's per-arch as they stabilize, and accepting that 
such a policy means the slow archs /will/ be sitting there exposed 
without a stabilized fix or GLSA, OR a GLSA-on-first-stable policy, and 
accept that archs behind the first to stable would be getting GLSAs 
suggesting fixed packages that might not actually be tested and 
stabilized for a month on some affected archs.

The result of the current policy is that if you're waiting for the GLSA, 
unless it's _extreme_ priority (heartbleed level), on at least amd64, 
you're very often sitting there exposed for well over a week, and too 
often a month, after the fix is out there, actually installed on /my/ 
systems.  And to me that's a game of Russian Roulette odds that I'm 
simply not willing to play.

If you're going to do security-updates only, at least follow a good 
notification service (LWN's daily security updates notices are a start, 
if you compare against what you have installed on gentoo), and grab the 
corresponding gentoo updates before the GLSAs.  At least then, if it's at 
least high enough priority to hit the news, you'll have it manually 
installed and won't be sitting there with your *** hanging out for weeks 
at a time!

> 
>> 2) My global USE= starts with -*.  I got tired of worrying about what
> [...]
> More or less same here, except -* as the default.  I trust developers
> that they are choosing wisely in profile and ebuilds. ;-)

It's not that I don't trust 'em.  I'm running their ebuilds as root, 
after all. =:^)

It's more the certainty of knowing however it's set, I set it that way, 
and other than a flag name change or add/remove, it's going to stay that 
way unless I change it.  Also, figuring out where a tree default comes 
from isn't as easy or intuitive as it might be.  Both the profiles and 
the ebuilds (with eclasses) cascade, and while I agree with doing it that 
way (I was around before cascading profiles and when eclasses were much 
simpler than they are today, and believe me, this way's easier/better!), 
it doesn't make looking up things easier.

FWIW I negate my entire @system set and thus have an empty @system, with 
some otherwise @system packages in @world, and a few simply not installed 
as such, for similar reasons.  I want to control it myself.

Plus, after setting -* in my use file, all the -flag entries in the file 
could go away.  MUCH cleaner USE file now! =:^)  And it turned out there 
actually weren't that many changes after that, because I had negated 
profile or IUSE defaults enough already, with package.use where it 
deviated, that -* ended up being a rather large simplification of the use 
file itself, with few actual flag changes. =:^)

The one thing I /do/ need to be aware of, now, is that I /don't/ 
automatically see IUSE defaults in the various packages.  Thus, on new 
packages or major upgrades that significantly change USE flags, when I'm 
in doubt on a flag, I do occasionally actually check the ebuild, to see 
whether the maintainer considered it important enough to use-default it 
on.

>> When I set such an entry, I prefix a comment line with the date and an
>> explanation of WHY the entry needs to be there, different from my
>> normal default settings.  Sometimes, it's due to a bug, and a couple
>> versions later I can go thru and test with that entry commented, to see
>> if the bug is fixed, yet.  Other times it's due to a use-dep from some
>> other package I have installed.  Both qt and kde tend to have
> 
> This where we get to the point.  If you set USE flag because of a bug or
> because of dependency it is not because you *want to* but because you
> *have to* (or portage *needs to*).  Therefore you need to add a comment
> WHY you did it.
> 
> For example I have -doc in make.conf because I do *not want* docs
> globally.  But I have 'dev-lang/python doc' in package.use because I
> develop in Python and *want* the documentation for it.  Such entry does
> not need a comment, because I simply know what I want.

My comment for the latter is generally along the lines of "I want docs 
for this", or "docs here are useful".

Here, it's justifying the non-default with documentation.  It doesn't 
matter so much whether it's a non-default I want specifically, or one 
that was forced on me, there's a reason I set my USE flags as I do, and 
deviating from that needs justification, so I provide it... in a way that 
makes sense to me, at least.  I'd not expect those "docs are useful here" 
comments to make much sense to others, as it's begging the question (in 
the legal and original Latin circular reasoning sense).  But it's 
justification for the non-default, to me.

> Another example.  I have -python globally and have been using
> app-mobilephone/gammu.  Now I want to emerge app-mobilephone/wammu. But
> it needs +python for gammu, so I *have to* set 'app-mobilephone/gammu
> python' in package.use.  In this case I also add a comment which
> explains the reason because it is not what *I want* it is what *portage
> needs*.
> 
>> Regardless of why it's there, however, because only non-default entries
>> are in package.use, they're the obvious exception.
> 
> You somehow do not distinguish between those two types of exceptions
> explained in examples above.

Because to me, it's the exception that matters.  I document it, and when 
the reason goes away, so can the exception, but whether it's an exception 
forced on me by upstream or one I want, like docs for some particular 
package, it's an exception to a rule that's there for a reason, and that 
exception needs documentation.


But bottom line back on the original debate on every-update USE flag 
changes, yeah, if you're updating only every 2-4 months, then yes, I 
could see that being flag changes every update.  Update frequency is the 
(formerly) mystery reason for the difference, at least the main one!

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