Re: [gentoo-user] New network cards default to "Y" with "make oldconfig"

2019-03-24 Thread Dale
Rich Freeman wrote:
> On Sun, Mar 24, 2019 at 3:34 PM Dale  wrote:
>> Rich Freeman wrote:
>>> On Sun, Mar 24, 2019 at 1:02 PM Dale  wrote:
 Rich Freeman wrote:
> Suppose you have an Acme model 1234 network card.  You've previously
> answered Yes to enabling its driver, and No to enabling the Acme model
> 2345 card.
>
> Now a new option comes along to show/hide all the Acme cards.  That is
> a new option, so it has no existing value as far as the config
> database design goes.  If you answer No, then you disable your model
> 1234 card (without even being asked, because that isn't a new option).
> If you answer yes then effectively your previous choices remain in
> effect (model 1234 remains enabled, and model 2345 remains disabled).
>
 One would think it should ask if you want any ACME drivers first.  If
 you say yes then ask which ones you want.  If you answer no then disable
 them all and move to the Better-than-nothing drivers next in the list,
 assuming the are alphabetical.
>>> This is exactly what it is doing.  There is a new question about
>>> whether you want any ACME drivers.  It defaults to Yes.  If you answer
>>> Yes then it prompts you for each individual driver, though it will
>>> skip those prompts since you've already answered them.
>>>
>>> If you answer No then it will set all the individual drivers to No
>>> (including the ones you previously set to Yes), and not prompt you
>>> further.
>>>
 Once you get past that driver, nothing
 else should disable the drivers you wanted.
>>> But the drivers you wanted WERE Acme drivers, so if you answered No to
>>> that question why would it prompt for those?
>>>
>> The point I was making is once set to yes, then questions after that
>> should not go back and disable what you said yes too.  If a person goes
>> to the trouble of saying yes, then nothing after that should reverse
>> that option back to no.  From what I understand, if it asks a question
>> later on and you say no, it reverses a previous yes even if you want
>> that first one included.
> The new question comes before the old question in sequence.
>
> Before the questions were:
>
> 1.  Do you want to install the Acme 1234 driver?
> 2.  Do you want to install the Acme 2345 driver?
>
> After the upgrade the questions are:
>
> 0.  Do you want to install any Acme drivers?
> 1.  Do you want to install the Acme 1234 driver?
> 2.  Do you want to install the Acme 2345 driver?
>
> So, if you answer question 0 with a no, then it sets 1/2 to a no as
> well.  These questions come AFTER question 0, even if you had already
> answered them in an earlier kernel version that was missing question
> 0.
>
> Again, I'm not saying it is ideal.  However, this is why question 0
> defaults to yes.  If you accidentally answer Yes for question 0 when
> you intended no, the only effect is asking questions 1/2, which won't
> actually get asked since you had previously answered them anyway.
> Question 0 doesn't actually change the kernel build - it just controls
> whether questions 1/2 get asked, and if you answer it no then it sets
> 1/2 to no as well.  It is a design compromise so that they didn't have
> to rethink the entire kernel config design.
>


This sounds like one of those situations where there is no ideal method
to doing it.  If it is done one way, it can cause confusion or a person
to think something is enabled when it isn't.  If done another way,
another group of people are going to be confused.  Either way, someone
is going to want it another way therefore there is no easy way to do
it.  Sort of reminds me of six of one, half a dozen of the other.  ;-)

Unless some code geek can come up with a way to satisfy everyone, some
of us are just going to have to get used to it being like it is. 

Dale

:-)  :-) 



Re: [gentoo-user] New network cards default to "Y" with "make oldconfig"

2019-03-24 Thread Rich Freeman
On Sun, Mar 24, 2019 at 3:34 PM Dale  wrote:
>
> Rich Freeman wrote:
> > On Sun, Mar 24, 2019 at 1:02 PM Dale  wrote:
> >> Rich Freeman wrote:
> >>> Suppose you have an Acme model 1234 network card.  You've previously
> >>> answered Yes to enabling its driver, and No to enabling the Acme model
> >>> 2345 card.
> >>>
> >>> Now a new option comes along to show/hide all the Acme cards.  That is
> >>> a new option, so it has no existing value as far as the config
> >>> database design goes.  If you answer No, then you disable your model
> >>> 1234 card (without even being asked, because that isn't a new option).
> >>> If you answer yes then effectively your previous choices remain in
> >>> effect (model 1234 remains enabled, and model 2345 remains disabled).
> >>>
> >> One would think it should ask if you want any ACME drivers first.  If
> >> you say yes then ask which ones you want.  If you answer no then disable
> >> them all and move to the Better-than-nothing drivers next in the list,
> >> assuming the are alphabetical.
> > This is exactly what it is doing.  There is a new question about
> > whether you want any ACME drivers.  It defaults to Yes.  If you answer
> > Yes then it prompts you for each individual driver, though it will
> > skip those prompts since you've already answered them.
> >
> > If you answer No then it will set all the individual drivers to No
> > (including the ones you previously set to Yes), and not prompt you
> > further.
> >
> >> Once you get past that driver, nothing
> >> else should disable the drivers you wanted.
> > But the drivers you wanted WERE Acme drivers, so if you answered No to
> > that question why would it prompt for those?
> >
>
> The point I was making is once set to yes, then questions after that
> should not go back and disable what you said yes too.  If a person goes
> to the trouble of saying yes, then nothing after that should reverse
> that option back to no.  From what I understand, if it asks a question
> later on and you say no, it reverses a previous yes even if you want
> that first one included.

The new question comes before the old question in sequence.

Before the questions were:

1.  Do you want to install the Acme 1234 driver?
2.  Do you want to install the Acme 2345 driver?

After the upgrade the questions are:

0.  Do you want to install any Acme drivers?
1.  Do you want to install the Acme 1234 driver?
2.  Do you want to install the Acme 2345 driver?

So, if you answer question 0 with a no, then it sets 1/2 to a no as
well.  These questions come AFTER question 0, even if you had already
answered them in an earlier kernel version that was missing question
0.

Again, I'm not saying it is ideal.  However, this is why question 0
defaults to yes.  If you accidentally answer Yes for question 0 when
you intended no, the only effect is asking questions 1/2, which won't
actually get asked since you had previously answered them anyway.
Question 0 doesn't actually change the kernel build - it just controls
whether questions 1/2 get asked, and if you answer it no then it sets
1/2 to no as well.  It is a design compromise so that they didn't have
to rethink the entire kernel config design.

-- 
Rich



Re: [gentoo-user] New network cards default to "Y" with "make oldconfig"

2019-03-24 Thread Dale
Rich Freeman wrote:
> On Sun, Mar 24, 2019 at 1:02 PM Dale  wrote:
>> Rich Freeman wrote:
>>> Suppose you have an Acme model 1234 network card.  You've previously
>>> answered Yes to enabling its driver, and No to enabling the Acme model
>>> 2345 card.
>>>
>>> Now a new option comes along to show/hide all the Acme cards.  That is
>>> a new option, so it has no existing value as far as the config
>>> database design goes.  If you answer No, then you disable your model
>>> 1234 card (without even being asked, because that isn't a new option).
>>> If you answer yes then effectively your previous choices remain in
>>> effect (model 1234 remains enabled, and model 2345 remains disabled).
>>>
>> One would think it should ask if you want any ACME drivers first.  If
>> you say yes then ask which ones you want.  If you answer no then disable
>> them all and move to the Better-than-nothing drivers next in the list,
>> assuming the are alphabetical.
> This is exactly what it is doing.  There is a new question about
> whether you want any ACME drivers.  It defaults to Yes.  If you answer
> Yes then it prompts you for each individual driver, though it will
> skip those prompts since you've already answered them.
>
> If you answer No then it will set all the individual drivers to No
> (including the ones you previously set to Yes), and not prompt you
> further.
>
>> Once you get past that driver, nothing
>> else should disable the drivers you wanted.
> But the drivers you wanted WERE Acme drivers, so if you answered No to
> that question why would it prompt for those?
>
> You can see how defaulting to No on these sorts of questions can be
> more dangerous, because it can cause you to reverse decisions you
> previously made, while defaulting to Yes on the big questions (that
> don't actually build anything), and defaulting to No on the little
> questions (which do build things) has the result that if you accept
> all the defaults you keep the same kernel build you had before.
>
> If you answer Yes to whether you want ACME drivers it won't actually
> build any drivers - you have to enable those individually, and those
> questions presumably still default to No.
>


The point I was making is once set to yes, then questions after that
should not go back and disable what you said yes too.  If a person goes
to the trouble of saying yes, then nothing after that should reverse
that option back to no.  From what I understand, if it asks a question
later on and you say no, it reverses a previous yes even if you want
that first one included.  If nothing else, maybe it should point out a
conflict so that a person can check into it further. 

As with anything tho, if it is done any other way, it to would cause
confusion too.  This is nothing new really.  It's like having a option
hidden until you enable some other option in another part of the config
screen.  You know where the option you want to enable is supposed to be
but it is hidden because a option somewhere else isn't enabled.  Then
you have to find out what to enable so that you can see the one you
want.  I've ran into that a couple times and it is fun to figure out.  lol 

Dale

:-)  :-)



Re: [gentoo-user] New network cards default to "Y" with "make oldconfig"

2019-03-24 Thread Rich Freeman
On Sun, Mar 24, 2019 at 1:02 PM Dale  wrote:
>
> Rich Freeman wrote:
> >
> > Suppose you have an Acme model 1234 network card.  You've previously
> > answered Yes to enabling its driver, and No to enabling the Acme model
> > 2345 card.
> >
> > Now a new option comes along to show/hide all the Acme cards.  That is
> > a new option, so it has no existing value as far as the config
> > database design goes.  If you answer No, then you disable your model
> > 1234 card (without even being asked, because that isn't a new option).
> > If you answer yes then effectively your previous choices remain in
> > effect (model 1234 remains enabled, and model 2345 remains disabled).
> >
>
> One would think it should ask if you want any ACME drivers first.  If
> you say yes then ask which ones you want.  If you answer no then disable
> them all and move to the Better-than-nothing drivers next in the list,
> assuming the are alphabetical.

This is exactly what it is doing.  There is a new question about
whether you want any ACME drivers.  It defaults to Yes.  If you answer
Yes then it prompts you for each individual driver, though it will
skip those prompts since you've already answered them.

If you answer No then it will set all the individual drivers to No
(including the ones you previously set to Yes), and not prompt you
further.

> Once you get past that driver, nothing
> else should disable the drivers you wanted.

But the drivers you wanted WERE Acme drivers, so if you answered No to
that question why would it prompt for those?

You can see how defaulting to No on these sorts of questions can be
more dangerous, because it can cause you to reverse decisions you
previously made, while defaulting to Yes on the big questions (that
don't actually build anything), and defaulting to No on the little
questions (which do build things) has the result that if you accept
all the defaults you keep the same kernel build you had before.

If you answer Yes to whether you want ACME drivers it won't actually
build any drivers - you have to enable those individually, and those
questions presumably still default to No.

-- 
Rich



Re: [gentoo-user] New network cards default to "Y" with "make oldconfig"

2019-03-24 Thread Dale
Rich Freeman wrote:
> On Sun, Mar 24, 2019 at 3:46 AM Peter Humphrey  wrote:
>> On Sunday, 24 March 2019 01:03:23 GMT Walter Dnes wrote:
>>>   When setting up a new kernel with "make oldconfig", almost all new
>>> device drivers default to "N".  The glaring exception is network cards.
>>> They all seem to default to "Y".  Is this a bug or a "feature"?
>> It seems to be just to reveal the individual cards by that manufacturer. I
>> don't see why it should differ from any other hardware options. Perhaps it's 
>> a
>> leftover from a day long ago that no-one's thought to change.
>>
> I suspect it is because these options basically work opposite normal
> ones.  They're phased as "Do you want to see Acme network cards?" with
> a default of Yes.  However, they way they effectively work is "Do you
> want to disable all Acme network cards?" with a default of No.
>
> Suppose you have an Acme model 1234 network card.  You've previously
> answered Yes to enabling its driver, and No to enabling the Acme model
> 2345 card.
>
> Now a new option comes along to show/hide all the Acme cards.  That is
> a new option, so it has no existing value as far as the config
> database design goes.  If you answer No, then you disable your model
> 1234 card (without even being asked, because that isn't a new option).
> If you answer yes then effectively your previous choices remain in
> effect (model 1234 remains enabled, and model 2345 remains disabled).
>
> Now, obviously a more elegant solution would be to look at all the
> models of Acme cards in the database and see if you've selected any,
> and use that to set the default.  However, that would require a change
> to how the entire config system works most likely.
>
> I might have a detail wrong and lkml is definitely where to go for the
> full answer, but I suspect this was the rationale behind this design
> decision.  Those options effectively don't do anything but expose more
> options, so defaulting them to Yes probably made more sense, because
> defaulting to no would disable anything that depends on them.
>
> In any case, this is purely an upstream kernel issue, so you can
> always try to convince Linus that he has it wrong.  :)
>


One would think it should ask if you want any ACME drivers first.  If
you say yes then ask which ones you want.  If you answer no then disable
them all and move to the Better-than-nothing drivers next in the list,
assuming the are alphabetical.  Once you get past that driver, nothing
else should disable the drivers you wanted.  That way makes more sense
but as you say, that could require some code that is either buggy,
difficult to implement or something.  That something could include, I
never thought of doing it that way.  LOL 

I need to remember to watch out for this when I build a new kernel.  I
know I'm going to forget tho.  :/

Dale

:-)  :-) 



Re: [gentoo-user] New network cards default to "Y" with "make oldconfig"

2019-03-24 Thread Rich Freeman
On Sun, Mar 24, 2019 at 3:46 AM Peter Humphrey  wrote:
>
> On Sunday, 24 March 2019 01:03:23 GMT Walter Dnes wrote:
> >   When setting up a new kernel with "make oldconfig", almost all new
> > device drivers default to "N".  The glaring exception is network cards.
> > They all seem to default to "Y".  Is this a bug or a "feature"?
>
> It seems to be just to reveal the individual cards by that manufacturer. I
> don't see why it should differ from any other hardware options. Perhaps it's a
> leftover from a day long ago that no-one's thought to change.
>

I suspect it is because these options basically work opposite normal
ones.  They're phased as "Do you want to see Acme network cards?" with
a default of Yes.  However, they way they effectively work is "Do you
want to disable all Acme network cards?" with a default of No.

Suppose you have an Acme model 1234 network card.  You've previously
answered Yes to enabling its driver, and No to enabling the Acme model
2345 card.

Now a new option comes along to show/hide all the Acme cards.  That is
a new option, so it has no existing value as far as the config
database design goes.  If you answer No, then you disable your model
1234 card (without even being asked, because that isn't a new option).
If you answer yes then effectively your previous choices remain in
effect (model 1234 remains enabled, and model 2345 remains disabled).

Now, obviously a more elegant solution would be to look at all the
models of Acme cards in the database and see if you've selected any,
and use that to set the default.  However, that would require a change
to how the entire config system works most likely.

I might have a detail wrong and lkml is definitely where to go for the
full answer, but I suspect this was the rationale behind this design
decision.  Those options effectively don't do anything but expose more
options, so defaulting them to Yes probably made more sense, because
defaulting to no would disable anything that depends on them.

In any case, this is purely an upstream kernel issue, so you can
always try to convince Linus that he has it wrong.  :)

-- 
Rich



Re: [gentoo-user] New network cards default to "Y" with "make oldconfig"

2019-03-24 Thread Peter Humphrey
On Sunday, 24 March 2019 01:03:23 GMT Walter Dnes wrote:
>   When setting up a new kernel with "make oldconfig", almost all new
> device drivers default to "N".  The glaring exception is network cards.
> They all seem to default to "Y".  Is this a bug or a "feature"?

It seems to be just to reveal the individual cards by that manufacturer. I 
don't see why it should differ from any other hardware options. Perhaps it's a 
leftover from a day long ago that no-one's thought to change.

-- 
Regards,
Peter.






Re: [gentoo-user] New network cards default to "Y" with "make oldconfig"

2019-03-23 Thread Andrew Udvare



> On Mar 23, 2019, at 21:03, Walter Dnes  wrote:
> 
>  When setting up a new kernel with "make oldconfig", almost all new
> device drivers default to "N".  The glaring exception is network cards.
> They all seem to default to "Y".  Is this a bug or a "feature"?

This has been a 'feature' for a while. I find it very annoying.

I suppose the idea is to not have users get annoyed that their network card 
can't be used after building a (generic) kernel. And they consider it justified 
since network connectivity is crucial to get things done. More for the Ubuntu 
users than everyone else.



[gentoo-user] New network cards default to "Y" with "make oldconfig"

2019-03-23 Thread Walter Dnes
  When setting up a new kernel with "make oldconfig", almost all new
device drivers default to "N".  The glaring exception is network cards.
They all seem to default to "Y".  Is this a bug or a "feature"?

-- 
Walter Dnes 
I don't run "desktop environments"; I run useful applications