* [gentoo-dev] Adding USE=udev to linux profiles @ 2018-07-19 21:51 Ben Kohler 2018-07-19 22:00 ` Michael Orlitzky ` (4 more replies) 0 siblings, 5 replies; 71+ messages in thread From: Ben Kohler @ 2018-07-19 21:51 UTC (permalink / raw To: gentoo-dev Hello, I'd like to propose adding USE=udev to our linux profiles (in profiles/default/linux/make.defaults probably). This flag is already enabled on desktop profiles but it also affects quite a few packages used on non-desktop linux systems. This flag provides useful functionality that most linux users will want. I'm a bit surprised that we still don't have it in all linux profiles, but I think we've worked around this in the past by adding IUSE=+udev to quite a few of those packages (33 packages, 116 ebuilds, by my count). This missing flag came to my attention again on bug 661584 where lvm2 has IUSE=+udev but cryptsetup has only IUSE=udev, so non-desktop users have a bit of a mismatch between the 2 and get ugly errors on cryptsetup. Since this flag only affects linux, I think it makes more sense to set it in linux profiles than to use IUSE defaults. Any objections to this idea? Thanks, Ben ^ permalink raw reply [flat|nested] 71+ messages in thread
* Re: [gentoo-dev] Adding USE=udev to linux profiles 2018-07-19 21:51 [gentoo-dev] Adding USE=udev to linux profiles Ben Kohler @ 2018-07-19 22:00 ` Michael Orlitzky 2018-07-19 22:32 ` Ben Kohler ` (2 more replies) 2018-07-20 1:42 ` Andrew Savchenko ` (3 subsequent siblings) 4 siblings, 3 replies; 71+ messages in thread From: Michael Orlitzky @ 2018-07-19 22:00 UTC (permalink / raw To: gentoo-dev On 07/19/2018 05:51 PM, Ben Kohler wrote: > Hello, > > I'd like to propose adding USE=udev to our linux profiles (in > profiles/default/linux/make.defaults probably). This flag is already > enabled on desktop profiles but it also affects quite a few packages > used on non-desktop linux systems. > > ... > > Any objections to this idea? > Please add defaults per-package, only where they make sense. Enabling flags globally creates a huge headache for people that want them off. If I want to undo your new flag, I have to set USE="-udev" globally, and that clobbers any important per-package defaults that maintainers have set. ^ permalink raw reply [flat|nested] 71+ messages in thread
* Re: [gentoo-dev] Adding USE=udev to linux profiles 2018-07-19 22:00 ` Michael Orlitzky @ 2018-07-19 22:32 ` Ben Kohler 2018-07-20 3:49 ` Aaron Bauman 2018-07-20 7:37 ` Matt Turner 2 siblings, 0 replies; 71+ messages in thread From: Ben Kohler @ 2018-07-19 22:32 UTC (permalink / raw To: gentoo-dev On 07/19/2018 05:00 PM, Michael Orlitzky wrote: > Please add defaults per-package, only where they make sense. Enabling > flags globally creates a huge headache for people that want them off. > > If I want to undo your new flag, I have to set USE="-udev" globally, and > that clobbers any important per-package defaults that maintainers have set. > I was well aware of that when I prepared this proposal, and it's true of every USE flag in any profile's make.defaults. I still believe it's the correct course of action. Thanks, Ben ^ permalink raw reply [flat|nested] 71+ messages in thread
* Re: [gentoo-dev] Adding USE=udev to linux profiles 2018-07-19 22:00 ` Michael Orlitzky 2018-07-19 22:32 ` Ben Kohler @ 2018-07-20 3:49 ` Aaron Bauman 2018-07-20 4:04 ` Michael Orlitzky 2018-07-20 7:37 ` Matt Turner 2 siblings, 1 reply; 71+ messages in thread From: Aaron Bauman @ 2018-07-20 3:49 UTC (permalink / raw To: gentoo-dev [-- Attachment #1: Type: text/plain, Size: 926 bytes --] You are denying the majority default here. Granted, we don't have statistics... Cuz Gentoo. On July 19, 2018 6:00:44 PM EDT, Michael Orlitzky <mjo@gentoo.org> wrote: >On 07/19/2018 05:51 PM, Ben Kohler wrote: >> Hello, >> >> I'd like to propose adding USE=udev to our linux profiles (in >> profiles/default/linux/make.defaults probably). This flag is already > >> enabled on desktop profiles but it also affects quite a few packages >> used on non-desktop linux systems. >> >> ... >> >> Any objections to this idea? >> > >Please add defaults per-package, only where they make sense. Enabling >flags globally creates a huge headache for people that want them off. > >If I want to undo your new flag, I have to set USE="-udev" globally, >and >that clobbers any important per-package defaults that maintainers have >set. -- Sent from my Android device with K-9 Mail. Please excuse my brevity. [-- Attachment #2: Type: text/html, Size: 1322 bytes --] ^ permalink raw reply [flat|nested] 71+ messages in thread
* Re: [gentoo-dev] Adding USE=udev to linux profiles 2018-07-20 3:49 ` Aaron Bauman @ 2018-07-20 4:04 ` Michael Orlitzky 2018-07-20 5:06 ` Mart Raudsepp ` (2 more replies) 0 siblings, 3 replies; 71+ messages in thread From: Michael Orlitzky @ 2018-07-20 4:04 UTC (permalink / raw To: gentoo-dev On 07/19/2018 11:49 PM, Aaron Bauman wrote: > You are denying the majority default here. Granted, we don't have > statistics... Cuz Gentoo. No I'm not. I'm saying add them per-package, because it's a better design. We have package.use in profiles now, not just IUSE defaults. Global defaults have problems: * They can't be undone. It's next to impossible for me to undo USE=udev when set in a profile that is inherited by all others. * USE=udev means different things for different packages. You think it "makes udev work" or whatever, but nobody has any idea what it does for half of the packages that use it. The meaning is package- specific, so the default should be package-specific. * They're easy to set, but hard do unset when you realize you were wrong a year from now. If you really want to enable it globally after being told that it's bad engineering and downright annoying, go do it in a profile that I can avoid and not "linux". ^ permalink raw reply [flat|nested] 71+ messages in thread
* Re: [gentoo-dev] Adding USE=udev to linux profiles 2018-07-20 4:04 ` Michael Orlitzky @ 2018-07-20 5:06 ` Mart Raudsepp 2018-07-20 5:58 ` Michael Orlitzky 2018-07-20 13:58 ` Peter Stuge 2018-07-20 12:25 ` Ben Kohler 2018-07-20 12:39 ` nado 2 siblings, 2 replies; 71+ messages in thread From: Mart Raudsepp @ 2018-07-20 5:06 UTC (permalink / raw To: gentoo-dev [-- Attachment #1: Type: text/plain, Size: 1942 bytes --] Ühel kenal päeval, R, 20.07.2018 kell 00:04, kirjutas Michael Orlitzky: > On 07/19/2018 11:49 PM, Aaron Bauman wrote: > > You are denying the majority default here. Granted, we don't have > > statistics... Cuz Gentoo. > > No I'm not. I'm saying add them per-package, because it's a better > design. We have package.use in profiles now, not just IUSE defaults. > > Global defaults have problems: > > * They can't be undone. It's next to impossible for me to undo > USE=udev when set in a profile that is inherited by all others. You set USE=-udev in your make.conf. Or in a profile that really needs this disabled. If as a package maintainer that's not appropriate for a package, then that sounds like USE=udev is not appropriate for your package. Got any concrete samples in that case? > * USE=udev means different things for different packages. You think > it > "makes udev work" or whatever, but nobody has any idea what it > does > for half of the packages that use it. The meaning is package- > specific, so the default should be package-specific. It makes hardware work without static configurations, including when hotplugged. It should be enable by default for all Linux users. People who make a conscious choice to deal with this by hand can easily set USE=-udev in their make.conf and deal with this by hand afterwards. The default shouldn't be "nothing works, until you make it work". > * They're easy to set, but hard do unset when you realize you were > wrong a year from now. > > If you really want to enable it globally after being told that it's > bad > engineering and downright annoying, go do it in a profile that I can > avoid and not "linux". Don't believe everything you're told. If you still buy into all the trouble you are getting into by stopping to rely on udev, you disable it in make.conf and use --changed-use for emerge. Mart [-- Attachment #2: This is a digitally signed message part --] [-- Type: application/pgp-signature, Size: 981 bytes --] ^ permalink raw reply [flat|nested] 71+ messages in thread
* Re: [gentoo-dev] Adding USE=udev to linux profiles 2018-07-20 5:06 ` Mart Raudsepp @ 2018-07-20 5:58 ` Michael Orlitzky 2018-07-20 6:12 ` Mart Raudsepp 2018-07-20 11:55 ` Rich Freeman 2018-07-20 13:58 ` Peter Stuge 1 sibling, 2 replies; 71+ messages in thread From: Michael Orlitzky @ 2018-07-20 5:58 UTC (permalink / raw To: gentoo-dev On 07/20/2018 01:06 AM, Mart Raudsepp wrote: >> >> * They can't be undone. It's next to impossible for me to undo >> USE=udev when set in a profile that is inherited by all others. > > You set USE=-udev in your make.conf. That doesn't work, for reasons already stated. If I set USE="-udev" in my make.conf, I don't get the same behavior that I would if you left the default alone. Specifically, setting USE="-udev" in make.conf will disable udev support in all packages that have IUSE="+udev", whereas now they are built WITH udev support. This causes severe breakage in some cases, and there's no way for me (or anyone else) to regain the existing behavior once you turn the flag on by default. > Or in a profile that really needs this disabled. Yeah I'd love to except that you're proposing we add it to the "linux" profile, and it can't be overridden in a sub-profile for the same reason it can't be overridden in make.conf. ^ permalink raw reply [flat|nested] 71+ messages in thread
* Re: [gentoo-dev] Adding USE=udev to linux profiles 2018-07-20 5:58 ` Michael Orlitzky @ 2018-07-20 6:12 ` Mart Raudsepp 2018-07-20 6:25 ` Michael Orlitzky 2018-07-20 11:55 ` Rich Freeman 1 sibling, 1 reply; 71+ messages in thread From: Mart Raudsepp @ 2018-07-20 6:12 UTC (permalink / raw To: gentoo-dev [-- Attachment #1: Type: text/plain, Size: 1662 bytes --] Ühel kenal päeval, R, 20.07.2018 kell 01:58, kirjutas Michael Orlitzky: > On 07/20/2018 01:06 AM, Mart Raudsepp wrote: > > > > > > * They can't be undone. It's next to impossible for me to undo > > > USE=udev when set in a profile that is inherited by all > > > others. > > > > You set USE=-udev in your make.conf. > > That doesn't work, for reasons already stated. > > If I set USE="-udev" in my make.conf, I don't get the same behavior > that > I would if you left the default alone. Specifically, setting USE="- > udev" > in make.conf will disable udev support in all packages that have > IUSE="+udev", whereas now they are built WITH udev support. This > causes > severe breakage in some cases, and there's no way for me (or anyone > else) to regain the existing behavior once you turn the flag on by > default. > > > > Or in a profile that really needs this disabled. > > Yeah I'd love to except that you're proposing we add it to the > "linux" > profile, and it can't be overridden in a sub-profile for the same > reason > it can't be overridden in make.conf. Ok, I can see that point of view for make.conf. I can't agree with changes in other profiles though, as other profile will fall under the same category in USE_ORDER (in fact, it's the same thing, as the end USE from "defaults" comes from your selected profile and it's "parent" cascade, not taken from linux profile). But maybe you have it tested and know it's a problem. Have you? For the IUSE defaults vs make.conf (and other per-system override places) problem, we should really do something about it, it keeps coming up as an issue. [-- Attachment #2: This is a digitally signed message part --] [-- Type: application/pgp-signature, Size: 981 bytes --] ^ permalink raw reply [flat|nested] 71+ messages in thread
* Re: [gentoo-dev] Adding USE=udev to linux profiles 2018-07-20 6:12 ` Mart Raudsepp @ 2018-07-20 6:25 ` Michael Orlitzky 2018-07-21 7:01 ` Dennis Schridde 0 siblings, 1 reply; 71+ messages in thread From: Michael Orlitzky @ 2018-07-20 6:25 UTC (permalink / raw To: gentoo-dev On 07/20/2018 02:12 AM, Mart Raudsepp wrote: > > Ok, I can see that point of view for make.conf. > I can't agree with changes in other profiles though, as other profile > will fall under the same category in USE_ORDER (in fact, it's the same > thing, as the end USE from "defaults" comes from your selected profile > and it's "parent" cascade, not taken from linux profile). But maybe you > have it tested and know it's a problem. Have you? > Yes, when you set USE=foo in profile A and USE="-foo" in profile A/B, the end result is USE="foo -foo" which is the same thing as USE="-foo". The default portage USE_ORDER makes the profile flags more important than IUSE defaults, so the USE="-foo" from the profile clobbers any IUSE="+foo" defaults. If no default was set in profile A, then no override would be necessary in profile A/B, and the resulting USE="" would not override the IUSE default. ^ permalink raw reply [flat|nested] 71+ messages in thread
* Re: [gentoo-dev] Adding USE=udev to linux profiles 2018-07-20 6:25 ` Michael Orlitzky @ 2018-07-21 7:01 ` Dennis Schridde 2018-07-21 9:33 ` Zac Medico 2018-07-22 17:52 ` Michael Orlitzky 0 siblings, 2 replies; 71+ messages in thread From: Dennis Schridde @ 2018-07-21 7:01 UTC (permalink / raw To: gentoo-dev; +Cc: Michael Orlitzky [-- Attachment #1: Type: text/plain, Size: 1274 bytes --] On Friday, 20 July 2018 08:25:05 CEST Michael Orlitzky wrote: > On 07/20/2018 02:12 AM, Mart Raudsepp wrote: > > Ok, I can see that point of view for make.conf. > > I can't agree with changes in other profiles though, as other profile > > will fall under the same category in USE_ORDER (in fact, it's the same > > thing, as the end USE from "defaults" comes from your selected profile > > and it's "parent" cascade, not taken from linux profile). But maybe you > > have it tested and know it's a problem. Have you? > > Yes, when you set USE=foo in profile A and USE="-foo" in profile A/B, > the end result is USE="foo -foo" which is the same thing as USE="-foo". > The default portage USE_ORDER makes the profile flags more important > than IUSE defaults, so the USE="-foo" from the profile clobbers any > IUSE="+foo" defaults. > > If no default was set in profile A, then no override would be necessary > in profile A/B, and the resulting USE="" would not override the IUSE > default. It appears to me that the difficulty stems from use flags being tri-state (enabled, disabled, unset), but us having only operators to enable (+) and disable (-) them in make.conf and profiles. What about adding a third operator, e.g. `^`, that resets a use flag to the unset state? [-- Attachment #2: This is a digitally signed message part. --] [-- Type: application/pgp-signature, Size: 659 bytes --] ^ permalink raw reply [flat|nested] 71+ messages in thread
* Re: [gentoo-dev] Adding USE=udev to linux profiles 2018-07-21 7:01 ` Dennis Schridde @ 2018-07-21 9:33 ` Zac Medico 2018-07-21 13:33 ` Rich Freeman 2018-07-21 14:45 ` Dennis Schridde 2018-07-22 17:52 ` Michael Orlitzky 1 sibling, 2 replies; 71+ messages in thread From: Zac Medico @ 2018-07-21 9:33 UTC (permalink / raw To: gentoo-dev, Dennis Schridde; +Cc: Michael Orlitzky [-- Attachment #1.1: Type: text/plain, Size: 1682 bytes --] On 07/21/2018 12:01 AM, Dennis Schridde wrote: > On Friday, 20 July 2018 08:25:05 CEST Michael Orlitzky wrote: >> On 07/20/2018 02:12 AM, Mart Raudsepp wrote: >>> Ok, I can see that point of view for make.conf. >>> I can't agree with changes in other profiles though, as other profile >>> will fall under the same category in USE_ORDER (in fact, it's the same >>> thing, as the end USE from "defaults" comes from your selected profile >>> and it's "parent" cascade, not taken from linux profile). But maybe you >>> have it tested and know it's a problem. Have you? >> >> Yes, when you set USE=foo in profile A and USE="-foo" in profile A/B, >> the end result is USE="foo -foo" which is the same thing as USE="-foo". >> The default portage USE_ORDER makes the profile flags more important >> than IUSE defaults, so the USE="-foo" from the profile clobbers any >> IUSE="+foo" defaults. >> >> If no default was set in profile A, then no override would be necessary >> in profile A/B, and the resulting USE="" would not override the IUSE >> default. > > It appears to me that the difficulty stems from use flags being tri-state > (enabled, disabled, unset), but us having only operators to enable (+) and > disable (-) them in make.conf and profiles. > > What about adding a third operator, e.g. `^`, that resets a use flag to the > unset state? Sure, why not? So ^flag would mean that the flag state propagates from the settings in IUSE. It's also conceivable that we could add a way for profiles to modify the effective IUSE defaults, via new operators in package.use or by introducing a new file such as package.use.default. -- Thanks, Zac [-- Attachment #2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 981 bytes --] ^ permalink raw reply [flat|nested] 71+ messages in thread
* Re: [gentoo-dev] Adding USE=udev to linux profiles 2018-07-21 9:33 ` Zac Medico @ 2018-07-21 13:33 ` Rich Freeman 2018-07-24 17:15 ` Ian Stakenvicius 2018-07-21 14:45 ` Dennis Schridde 1 sibling, 1 reply; 71+ messages in thread From: Rich Freeman @ 2018-07-21 13:33 UTC (permalink / raw To: gentoo-dev; +Cc: devurandom, Michael Orlitzky On Sat, Jul 21, 2018 at 5:33 AM Zac Medico <zmedico@gentoo.org> wrote: > > Sure, why not? So ^flag would mean that the flag state propagates from > the settings in IUSE. Presumably this could be overridden in subsequent profiles, or /etc/portage. That is, one profile might set a flag, and another profile could unset it, and then the final one could re-set it. > It's also conceivable that we could add a way for > profiles to modify the effective IUSE defaults, via new operators in > package.use or by introducing a new file such as package.use.default. That makes sense, or the syntax could be available in the ebuild. I imagine the better approach to take would depend on the nature of the incompatibility. -- Rich ^ permalink raw reply [flat|nested] 71+ messages in thread
* Re: [gentoo-dev] Adding USE=udev to linux profiles 2018-07-21 13:33 ` Rich Freeman @ 2018-07-24 17:15 ` Ian Stakenvicius 2018-07-24 17:55 ` Dennis Schridde 0 siblings, 1 reply; 71+ messages in thread From: Ian Stakenvicius @ 2018-07-24 17:15 UTC (permalink / raw To: gentoo-dev [-- Attachment #1.1: Type: text/plain, Size: 2511 bytes --] On 2018-07-21 9:33 a.m., Rich Freeman wrote: > On Sat, Jul 21, 2018 at 5:33 AM Zac Medico <zmedico@gentoo.org> wrote: >> >> Sure, why not? So ^flag would mean that the flag state propagates from >> the settings in IUSE. > > Presumably this could be overridden in subsequent profiles, or > /etc/portage. That is, one profile might set a flag, and another > profile could unset it, and then the final one could re-set it. > >> It's also conceivable that we could add a way for >> profiles to modify the effective IUSE defaults, via new operators in >> package.use or by introducing a new file such as package.use.default. > > That makes sense, or the syntax could be available in the ebuild. I > imagine the better approach to take would depend on the nature of the > incompatibility. > This is getting a little scary as to what is overriding what, within a repo. Lets take a look at what we -can- do right now: (a) use flag can be set globally by the repo (b) ebuild IUSE can set (and unset?) a flag's state (c) make.defaults and package.use from the profile (that generally is defined within the gentoo repo) sets/unsets a flag's state (d) make.conf sets/unsets a flag's state (e) /etc/portage/package.use sets/unsets a flag's state (f) {,package.}use.{mask,force} from the profile overrides a-e (g) /etc/portage/profile/{,package.}use.{mask,force} overrides f That's a lot of possible state overriding. Now as I understand it, the issue here is that there is no way in (d) to undo what is done in (c) on a global per-flag basis, ie, from make.defaults, such that IUSE(b) is honored, correct? What if we just split (c) so that make.defaults (c1) and package.use (c2) are applied independently? That way (d) is meant to override (c1), and (e) is meant to override (c2), and if an end-user wants IUSE to take priority over (c1)+(d) they can change USE_ORDER accordingly? I believe with wildcards, that in (e) we can set global flag overrides still via an atom (like "*/*::gentoo [flag]") in /etc/portage/package.use, correct? So we end-users would still have the ability to define global state of a flag with a single line even if IUSE was prioritized above make.defaults+make.conf Note that I'm not suggesting we change the default value of USE_ORDER right now, only that if we split 'defaults' into 'makedefaults' and 'packagedefaults' that end-users could set it up themselves a lot more easily by changing their own USE_ORDER default. [-- Attachment #2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 618 bytes --] ^ permalink raw reply [flat|nested] 71+ messages in thread
* Re: [gentoo-dev] Adding USE=udev to linux profiles 2018-07-24 17:15 ` Ian Stakenvicius @ 2018-07-24 17:55 ` Dennis Schridde 2018-07-24 18:32 ` Ian Stakenvicius 0 siblings, 1 reply; 71+ messages in thread From: Dennis Schridde @ 2018-07-24 17:55 UTC (permalink / raw To: gentoo-dev; +Cc: Ian Stakenvicius [-- Attachment #1: Type: text/plain, Size: 1888 bytes --] Am Dienstag, 24. Juli 2018, 19:15:19 CEST schrieb Ian Stakenvicius: > On 2018-07-21 9:33 a.m., Rich Freeman wrote: > > On Sat, Jul 21, 2018 at 5:33 AM Zac Medico <zmedico@gentoo.org> wrote: > >> Sure, why not? So ^flag would mean that the flag state propagates from > >> the settings in IUSE. > > > > Presumably this could be overridden in subsequent profiles, or > > /etc/portage. That is, one profile might set a flag, and another > > profile could unset it, and then the final one could re-set it. > > > >> It's also conceivable that we could add a way for > >> profiles to modify the effective IUSE defaults, via new operators in > >> package.use or by introducing a new file such as package.use.default. > > > > That makes sense, or the syntax could be available in the ebuild. I > > imagine the better approach to take would depend on the nature of the > > incompatibility. > > This is getting a little scary as to what is overriding what, within a > repo. I also tried to untangle this in my email from Sat, 21 Jul 2018 14:45:12 +0000 It indeed is a bit confusing, but I think you got it right in your list below: > Lets take a look at what we -can- do right now: > > (a) use flag can be set globally by the repo > (b) ebuild IUSE can set (and unset?) a flag's state > (c) make.defaults and package.use from the profile (that generally is > defined within the gentoo repo) sets/unsets a flag's state > (d) make.conf sets/unsets a flag's state > (e) /etc/portage/package.use sets/unsets a flag's state > (f) {,package.}use.{mask,force} from the profile overrides a-e > (g) /etc/portage/profile/{,package.}use.{mask,force} overrides f > > That's a lot of possible state overriding. I, too, would hope that at some point later, independently of this discussion, the algorithm for determining what use flags are active for a certain package could be simplified. --Dennis [-- Attachment #2: This is a digitally signed message part. --] [-- Type: application/pgp-signature, Size: 659 bytes --] ^ permalink raw reply [flat|nested] 71+ messages in thread
* Re: [gentoo-dev] Adding USE=udev to linux profiles 2018-07-24 17:55 ` Dennis Schridde @ 2018-07-24 18:32 ` Ian Stakenvicius 2018-07-24 18:57 ` Rich Freeman 0 siblings, 1 reply; 71+ messages in thread From: Ian Stakenvicius @ 2018-07-24 18:32 UTC (permalink / raw To: gentoo-dev [-- Attachment #1.1: Type: text/plain, Size: 1499 bytes --] On 2018-07-24 1:55 p.m., Dennis Schridde wrote: > Am Dienstag, 24. Juli 2018, 19:15:19 CEST schrieb Ian Stakenvicius: >> >> This is getting a little scary as to what is overriding what, within a >> repo. > > I also tried to untangle this in my email from Sat, 21 Jul 2018 14:45:12 +0000 > Yeah I did see that after posting my message; I believe both of our lists align. > >> Lets take a look at what we -can- do right now: >> >> (a) use flag can be set globally by the repo >> (b) ebuild IUSE can set (and unset?) a flag's state >> (c) make.defaults and package.use from the profile (that generally is >> defined within the gentoo repo) sets/unsets a flag's state >> (d) make.conf sets/unsets a flag's state >> (e) /etc/portage/package.use sets/unsets a flag's state >> (f) {,package.}use.{mask,force} from the profile overrides a-e >> (g) /etc/portage/profile/{,package.}use.{mask,force} overrides f >> >> That's a lot of possible state overriding. > > I, too, would hope that at some point later, independently of this discussion, > the algorithm for determining what use flags are active for a certain package > could be simplified. > I don't think the process needs to be simplified much more than this; each layer above has its purpose. However I do very much want to caution on making it more complicated, especially with the addition of syntax that allows setting or ignoring useflag state changes in a way that will jumble up these layers. [-- Attachment #2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 618 bytes --] ^ permalink raw reply [flat|nested] 71+ messages in thread
* Re: [gentoo-dev] Adding USE=udev to linux profiles 2018-07-24 18:32 ` Ian Stakenvicius @ 2018-07-24 18:57 ` Rich Freeman 2018-07-24 21:11 ` Dennis Schridde 0 siblings, 1 reply; 71+ messages in thread From: Rich Freeman @ 2018-07-24 18:57 UTC (permalink / raw To: gentoo-dev On Tue, Jul 24, 2018 at 2:32 PM Ian Stakenvicius <axs@gentoo.org> wrote: > > I don't think the process needs to be simplified much more than this; > each layer above has its purpose. However I do very much want to > caution on making it more complicated, especially with the addition of > syntax that allows setting or ignoring useflag state changes in a way > that will jumble up these layers. > I think as long as it is a heirarchy it will be straightforward enough. If we introduce a ^ operator that unsets a flag, the only question is how far that propagates down the layers, and into what kinds of layers: Does a profile ^flag undo an IUSE +flag? Does a make.conf ^flag undo a profile +flag? An IUSE +flag? A profile flag mask? Does a package.use ^flag undo a make.conf +flag? A profile +flag, an IUSE +flag? Etc... This matters more than with +/-, since these just bluntly set the flag to one setting or the other regardless of what happened below (I think - I'd have to check all the different possibilities even for that). When you're just unsetting things the question is how many of these flags do you unset going down how far? Obviously if you unset everything up to that point then it is no different from -flag as we default to off on everything. -- Rich ^ permalink raw reply [flat|nested] 71+ messages in thread
* Re: [gentoo-dev] Adding USE=udev to linux profiles 2018-07-24 18:57 ` Rich Freeman @ 2018-07-24 21:11 ` Dennis Schridde 2018-07-24 21:16 ` Rich Freeman 0 siblings, 1 reply; 71+ messages in thread From: Dennis Schridde @ 2018-07-24 21:11 UTC (permalink / raw To: gentoo-dev; +Cc: Rich Freeman [-- Attachment #1: Type: text/plain, Size: 1629 bytes --] On Tuesday, 24 July 2018 20:57:09 CEST Rich Freeman wrote: > On Tue, Jul 24, 2018 at 2:32 PM Ian Stakenvicius <axs@gentoo.org> wrote: > > I don't think the process needs to be simplified much more than this; > > each layer above has its purpose. However I do very much want to > > caution on making it more complicated, especially with the addition of > > syntax that allows setting or ignoring useflag state changes in a way > > that will jumble up these layers. > > I think as long as it is a heirarchy it will be straightforward enough. > > If we introduce a ^ operator that unsets a flag, the only question is > how far that propagates down the layers, and into what kinds of > layers: > > Does a profile ^flag undo an IUSE +flag? > Does a make.conf ^flag undo a profile +flag? An IUSE +flag? A > profile flag mask? > Does a package.use ^flag undo a make.conf +flag? A profile +flag, an > IUSE +flag? Etc... I guess the question here is: Is there an official order in which the use settings from the different profiles and config files have to be applied? I think my initial assumption of this order was wrong, USE flags only have two states and indeed it seems that the ^ USE operator is not necessary, because the - operator already serves the same purpose. Thus the other proposal of adding a new server profile and enabling USE=udev for that and the desktop profiles would be sufficient to provide good defaults, but still allow people to not use that profile, if they don't want to. I.e. they could just use the 17.0 release profile and create their own minimal-server profile based on that. --Dennis [-- Attachment #2: This is a digitally signed message part. --] [-- Type: application/pgp-signature, Size: 659 bytes --] ^ permalink raw reply [flat|nested] 71+ messages in thread
* Re: [gentoo-dev] Adding USE=udev to linux profiles 2018-07-24 21:11 ` Dennis Schridde @ 2018-07-24 21:16 ` Rich Freeman 0 siblings, 0 replies; 71+ messages in thread From: Rich Freeman @ 2018-07-24 21:16 UTC (permalink / raw To: devurandom; +Cc: gentoo-dev On Tue, Jul 24, 2018 at 5:11 PM Dennis Schridde <devurandom@gmx.net> wrote: > > On Tuesday, 24 July 2018 20:57:09 CEST Rich Freeman wrote: > > On Tue, Jul 24, 2018 at 2:32 PM Ian Stakenvicius <axs@gentoo.org> wrote: > > > I don't think the process needs to be simplified much more than this; > > > each layer above has its purpose. However I do very much want to > > > caution on making it more complicated, especially with the addition of > > > syntax that allows setting or ignoring useflag state changes in a way > > > that will jumble up these layers. > > > > I think as long as it is a heirarchy it will be straightforward enough. > > > > If we introduce a ^ operator that unsets a flag, the only question is > > how far that propagates down the layers, and into what kinds of > > layers: > > > > Does a profile ^flag undo an IUSE +flag? > > Does a make.conf ^flag undo a profile +flag? An IUSE +flag? A > > profile flag mask? > > Does a package.use ^flag undo a make.conf +flag? A profile +flag, an > > IUSE +flag? Etc... > > I guess the question here is: Is there an official order in which the use > settings from the different profiles and config files have to be applied? > > I think my initial assumption of this order was wrong, USE flags only have two > states and indeed it seems that the ^ USE operator is not necessary, because > the - operator already serves the same purpose. > Kinda sorta. In the flag is either set or it isn't. However, I think the intent here was to strip out the effects of profiles, but keep the effects of IUSE. The question then becomes what other contexts can it be used in, and in each case what does it undo? -- Rich ^ permalink raw reply [flat|nested] 71+ messages in thread
* Re: [gentoo-dev] Adding USE=udev to linux profiles 2018-07-21 9:33 ` Zac Medico 2018-07-21 13:33 ` Rich Freeman @ 2018-07-21 14:45 ` Dennis Schridde 1 sibling, 0 replies; 71+ messages in thread From: Dennis Schridde @ 2018-07-21 14:45 UTC (permalink / raw To: gentoo-dev; +Cc: Zac Medico, Michael Orlitzky [-- Attachment #1: Type: text/plain, Size: 6053 bytes --] On Saturday, 21 July 2018 11:33:23 CEST Zac Medico wrote: > On 07/21/2018 12:01 AM, Dennis Schridde wrote: > > On Friday, 20 July 2018 08:25:05 CEST Michael Orlitzky wrote: > >> Yes, when you set USE=foo in profile A and USE="-foo" in profile A/B, > >> the end result is USE="foo -foo" which is the same thing as USE="-foo". > >> The default portage USE_ORDER makes the profile flags more important > >> than IUSE defaults, so the USE="-foo" from the profile clobbers any > >> IUSE="+foo" defaults. > >> > >> If no default was set in profile A, then no override would be necessary > >> in profile A/B, and the resulting USE="" would not override the IUSE > >> default. > > > > It appears to me that the difficulty stems from use flags being tri-state > > (enabled, disabled, unset), but us having only operators to enable (+) and > > disable (-) them in make.conf and profiles. > > > > What about adding a third operator, e.g. `^`, that resets a use flag to > > the > > unset state? > > Sure, why not? So ^flag would mean that the flag state propagates from > the settings in IUSE. It's important to note that, since profiles are applied hierarchically, this mechanism would support the following setup: * profile 3 inherits from 2 inherits from 1 - i.e. 1 is applied before 2 is applied before 3 * profile 1 enables the flag with +use, overriding IUSE defaults * profile 2 resets the flag with ^use, removing the override * profile 3 disables the flag with -use, overriding IUSE defaults 1. After applying profile 1, the flag is globally enabled and overrides IUSE defaults, but can be overridden on a per-package basis 2. After applying profile 2 on top of 1, the flag is unset and IUSE defaults will be respected again, as well as per-package settings 3. After applying profile 3 on top of 2 and 3, the flag is globally disabled and overrides IUSE defaults again, but per-package settings could still override this This still uses the exact same mechanisms and paths to apply profiles and use flags, just adding another capability along that path. This would make profiles more flexible, but not add too much cognitive complexity. > It's also conceivable that we could add a way for > profiles to modify the effective IUSE defaults, via new operators in > package.use or by introducing a new file such as package.use.default. Currently, for the calculation of the effective use flags of a package, use flags are applied in the following order (I could not find this algorithm in PMS, so this is from memory): 1. global use flags from profiles and /etc/portage 1. /etc/portage/make.profile/parent*/make.defaults 2. /etc/portage/make.profile/make.defaults 3. /etc/portage/make.conf 2. IUSE defaults from the package's ebuild - applied only if use flag still unset 3. per-package overrides from profiles, /etc/portage/profile and /etc/portage 1. /etc/portage/make.profile/parent*/package.use 2. /etc/portage/make.profile/package.use 3. /etc/portage/profile/package.use 4. /etc/portage/package.use 4. globally forced or masked use flags from profiles and /etc/portage/profile 1. /etc/portage/make.profile/parent*/use.{,stable.}{force,mask} 2. /etc/portage/make.profile/use.{,stable.}{force,mask} 3. /etc/portage/profile/use.{,stable.}{force,mask} 5. per-package forced or masked use flags from profiles and /etc/portage/ profile 1. /etc/portage/make.profile/parent*/package.use.{,stable.}{force,mask} 2. /etc/portage/make.profile/package.use.{,stable.}{force,mask} 3. /etc/portage/profile/package.use.{,stable.}{force,mask} I hope I did not forget anything. Your suggestion is to add a step between 2 and 3, in order to allow a profile to override a package's defaults, correct? Since this scheme appears to be rather complex already, I wonder whether it could be simplified using the additional operators you suggested. Currently we have these: In USE: * `flag`: Unconditionally enable * `-flag`: Unconditionally disable In IUSE: * `+flag`: Enable if unset * `-flag`: Disable if unset Maybe we could add the following operators to USE: * `?+flag`: Enable if unset * `?-flag`: Disable if unset Sadly, we cannot use the exact same syntax in USE and IUSE, because the `- flag` in USE already has a meaning. Hence we need the `?` variant. For symmetry and to support intuition we could add a `+flag` syntax to USE. Because the algorithm for applying use flags appears already very complex currently, we could add the following operators to USE to generalise USE and thus simplify the logic: * `!+flag`: Enable unconditionally and lock * `!-flag`: Disable unconditionally and lock A "locked" use flag would mean that it cannot be further modified, unless also using the lock operator. I.e. only `!+flag` or `!-flag` can change the value of a flag that was already previously set using `!+flag` or `!-flag`. With this syntax we could also merge the various use.{force,mask} into make.defaults and package.use.{force,mask} into package.use (I found ...force and ...mask to be rather confusing) and use the following simplified calculation: 1. global use flags from profiles' and /etc/portage 1. /etc/portage/make.profile/parent*/make.defaults 2. /etc/portage/make.profile/make.defaults 3. /etc/portage/make.conf - The previous ".stable" files could be replaced by USE_IF_STABLE variables 2. IUSE defaults from the package's ebuild - applied only if use flag still unset 3. per-package overrides from profiles' and /etc/portage 1. /etc/portage/make.profile/parent*/package.use{,.stable} 2. /etc/portage/make.profile/package.use{,.stable} 3. /etc/portage/package.use{,.stable} - Generally I would suggest to also merge /etc/portage/profile into /etc/ portage and deprecate the former -- I found figuring out what is allowed where to be confusing, when I was new to Gentoo - We could also extend the repository operator `::` with a stable `::=` and an unstable `::~` variant in order to get rid of the ".stable" files [-- Attachment #2: This is a digitally signed message part. --] [-- Type: application/pgp-signature, Size: 659 bytes --] ^ permalink raw reply [flat|nested] 71+ messages in thread
* Re: [gentoo-dev] Adding USE=udev to linux profiles 2018-07-21 7:01 ` Dennis Schridde 2018-07-21 9:33 ` Zac Medico @ 2018-07-22 17:52 ` Michael Orlitzky 2018-07-24 17:40 ` Ian Stakenvicius 1 sibling, 1 reply; 71+ messages in thread From: Michael Orlitzky @ 2018-07-22 17:52 UTC (permalink / raw To: gentoo-dev On 07/21/2018 03:01 AM, Dennis Schridde wrote: > > What about adding a third operator, e.g. `^`, that resets a use flag to the > unset state? > The behavior of USE (in profiles) is documented in the PMS, so I don't think we can add a new operator so easily. But, this is what the PMS has to say [0]... Incremental variables must stack between parent and child profiles in the following manner: Beginning with the highest parent profile, tokenise the variable’s value based on whitespace and concatenate the lists. Then, for any token T beginning with a hyphen, remove it and any previous tokens whose value is equal to T with the hyphen removed, or, if T is equal to -*, remove all previous values. It looks to me like *within (sub)profiles*, a USE="-foo" should undo USE=foo, rather than adding "-foo" to the list of tokens that get pushed down via USE_ORDER. [0] https://projects.gentoo.org/pms/7/pms.html#x1-560005.3.1 ^ permalink raw reply [flat|nested] 71+ messages in thread
* Re: [gentoo-dev] Adding USE=udev to linux profiles 2018-07-22 17:52 ` Michael Orlitzky @ 2018-07-24 17:40 ` Ian Stakenvicius 0 siblings, 0 replies; 71+ messages in thread From: Ian Stakenvicius @ 2018-07-24 17:40 UTC (permalink / raw To: gentoo-dev [-- Attachment #1.1: Type: text/plain, Size: 589 bytes --] On 2018-07-22 1:52 p.m., Michael Orlitzky wrote: > > [...] > > It looks to me like *within (sub)profiles*, a USE="-foo" should undo > USE=foo, rather than adding "-foo" to the list of tokens that get pushed > down via USE_ORDER. > ...except that we often want the sub-profile containing "-foo" to not only undo +foo from a parent profile BUT ALSO unset +foo from IUSE. IE, the way "-jit" is set globally in hardened profiles. Though you do bring up an interesting point -- as portage may be the only one doing it this way, I wonder what happens with other PMs... [-- Attachment #2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 618 bytes --] ^ permalink raw reply [flat|nested] 71+ messages in thread
* Re: [gentoo-dev] Adding USE=udev to linux profiles 2018-07-20 5:58 ` Michael Orlitzky 2018-07-20 6:12 ` Mart Raudsepp @ 2018-07-20 11:55 ` Rich Freeman 2018-07-20 13:47 ` Michael Orlitzky 1 sibling, 1 reply; 71+ messages in thread From: Rich Freeman @ 2018-07-20 11:55 UTC (permalink / raw To: gentoo-dev On Fri, Jul 20, 2018 at 1:58 AM Michael Orlitzky <mjo@gentoo.org> wrote: > > On 07/20/2018 01:06 AM, Mart Raudsepp wrote: > >> > >> * They can't be undone. It's next to impossible for me to undo > >> USE=udev when set in a profile that is inherited by all others. > > > > You set USE=-udev in your make.conf. > > That doesn't work, for reasons already stated. > > If I set USE="-udev" in my make.conf, ... This causes > severe breakage in some cases, and there's no way for me (or anyone > else) to regain the existing behavior once you turn the flag on by default. While I agree that setting USE=-udev isn't the same as leaving it to package defaults, you further claim that setting this globally causes severe breakage in some cases. Can you provide an example of this? If you aren't actually using udev I don't see how setting USE=-udev is more likely to cause problems than setting it or having it set by default. If a package simply doesn't work with USE=-udev at all then the package shouldn't even allow this to be set. If the breakage is limited to a particular arch/etc then this should be dealt with at the specific profile level or in the ebuild logic. -- Rich ^ permalink raw reply [flat|nested] 71+ messages in thread
* Re: [gentoo-dev] Adding USE=udev to linux profiles 2018-07-20 11:55 ` Rich Freeman @ 2018-07-20 13:47 ` Michael Orlitzky 2018-07-20 13:51 ` Rich Freeman 0 siblings, 1 reply; 71+ messages in thread From: Michael Orlitzky @ 2018-07-20 13:47 UTC (permalink / raw To: gentoo-dev On 07/20/2018 07:55 AM, Rich Freeman wrote: > > While I agree that setting USE=-udev isn't the same as leaving it to > package defaults, you further claim that setting this globally causes > severe breakage in some cases. Can you provide an example of this? > https://bugs.gentoo.org/640226 Or see any thread on the dangers of USE="-*" which is dangerous for the same reason. ^ permalink raw reply [flat|nested] 71+ messages in thread
* Re: [gentoo-dev] Adding USE=udev to linux profiles 2018-07-20 13:47 ` Michael Orlitzky @ 2018-07-20 13:51 ` Rich Freeman 0 siblings, 0 replies; 71+ messages in thread From: Rich Freeman @ 2018-07-20 13:51 UTC (permalink / raw To: gentoo-dev On Fri, Jul 20, 2018 at 9:47 AM Michael Orlitzky <mjo@gentoo.org> wrote: > > On 07/20/2018 07:55 AM, Rich Freeman wrote: > > > > While I agree that setting USE=-udev isn't the same as leaving it to > > package defaults, you further claim that setting this globally causes > > severe breakage in some cases. Can you provide an example of this? > > > > https://bugs.gentoo.org/640226 This doesn't involve USE=-udev, which is the flag we're talking about. > Or see any thread on the dangers of USE="-*" which is dangerous for the > same reason. We aren't setting USE=-* either. I get that globally manipulating flags CAN cause issues. And yet we do it from time to time. I'm looking for evidence that in this particular case there is a problem. -- Rich ^ permalink raw reply [flat|nested] 71+ messages in thread
* Re: [gentoo-dev] Adding USE=udev to linux profiles 2018-07-20 5:06 ` Mart Raudsepp 2018-07-20 5:58 ` Michael Orlitzky @ 2018-07-20 13:58 ` Peter Stuge 1 sibling, 0 replies; 71+ messages in thread From: Peter Stuge @ 2018-07-20 13:58 UTC (permalink / raw To: gentoo-dev Mart Raudsepp wrote: > > * USE=udev means different things for different packages. You think > > it "makes udev work" or whatever, but nobody has any idea what it > > does for half of the packages that use it. The meaning is package- > > specific, so the default should be package-specific. > > It makes hardware work without static configurations, including when > hotplugged. That's not really a complete description... 1. Linux always sends netlink messages on device changes. 2a. If running, udevd receives those messages and executes all udev rules. 2b. udevd then sends its own netlink messages, after executing rules. 3. libudev consumers receive messages from 2b. libudev and udev in general is thus an abstraction of the kernel information exposed in 1. It is possible, easy, and at times strongly preferable to skip the udev stack and just consume 1. messages directly. I know of at least one package which does exactly that on USE=-udev, I can only emphasize that the meaning of USE=udev is completely package-specific. There are several possibilities what to do in an upstream package when libudev can or should not be used, and I for one don't think profiles/ebuilds should neccessarily model them. > It should be enable by default for all Linux users. I disagree. Linux is used more widely than that. > The default shouldn't be "nothing works, until you make it work". I agree completely, but please don't assume that no Linux system will work without USE=udev. I think the viewpoint of rearranging profile inheritance makes a lot of sense. Profiles are super powerful, expressive, and cheap! I think it would be fine to add another level of inheritance for udev. Maybe there is a clever trick with a profile for each desired USE flag? Somehow dynamic profiles? Dunno - just an idea. Thanks! //Peter ^ permalink raw reply [flat|nested] 71+ messages in thread
* Re: [gentoo-dev] Adding USE=udev to linux profiles 2018-07-20 4:04 ` Michael Orlitzky 2018-07-20 5:06 ` Mart Raudsepp @ 2018-07-20 12:25 ` Ben Kohler 2018-07-20 12:39 ` nado 2 siblings, 0 replies; 71+ messages in thread From: Ben Kohler @ 2018-07-20 12:25 UTC (permalink / raw To: gentoo-dev [-- Attachment #1: Type: text/plain, Size: 1225 bytes --] On 07/19/18 23:04, Michael Orlitzky wrote: > > No I'm not. I'm saying add them per-package, because it's a better > design. We have package.use in profiles now, not just IUSE defaults. > > Global defaults have problems: > > * They can't be undone. It's next to impossible for me to undo > USE=udev when set in a profile that is inherited by all others. > > * USE=udev means different things for different packages. You think it > "makes udev work" or whatever, but nobody has any idea what it does > for half of the packages that use it. The meaning is package- > specific, so the default should be package-specific. > > * They're easy to set, but hard do unset when you realize you were > wrong a year from now. > > If you really want to enable it globally after being told that it's bad > engineering and downright annoying, go do it in a profile that I can > avoid and not "linux". > I believe you're arguing against profile global USE in general, can you start a new thread for that if you believe it's worth discussing? We do have global USE in profiles now and I believe that the sane default for linux profiles is to have udev support globally. -Ben [-- Attachment #2: pEpkey.asc --] [-- Type: application/pgp-keys, Size: 1787 bytes --] ^ permalink raw reply [flat|nested] 71+ messages in thread
* Re: [gentoo-dev] Adding USE=udev to linux profiles 2018-07-20 4:04 ` Michael Orlitzky 2018-07-20 5:06 ` Mart Raudsepp 2018-07-20 12:25 ` Ben Kohler @ 2018-07-20 12:39 ` nado 2018-07-20 12:53 ` Rich Freeman ` (2 more replies) 2 siblings, 3 replies; 71+ messages in thread From: nado @ 2018-07-20 12:39 UTC (permalink / raw To: gentoo-dev Hi, July 20, 2018 2:26 PM, "Ben Kohler" <bkohler@gentoo.org> wrote: > On 07/19/18 23:04, Michael Orlitzky wrote: > >> <snip> >> >> If you really want to enable it globally after being told that it's bad >> engineering and downright annoying, go do it in a profile that I can >> avoid and not "linux". > > I believe you're arguing against profile global USE in general, can you > start a new thread for that if you believe it's worth discussing? > > We do have global USE in profiles now and I believe that the sane > default for linux profiles is to have udev support globally. Why not introducing a new level in the hierarchy ? Something like "common" could be fit. default/linux/amd64/13.0 default/linux/amd64/13.0/common default/linux/amd64/13.0/common/desktop default/linux/amd64/13.0/common/developer ... By doing so we could still have a bare profiles with minimal things set to work, and have the common subset with sane defaults for most users. -- Corentin “Nado” Pazdera ^ permalink raw reply [flat|nested] 71+ messages in thread
* Re: [gentoo-dev] Adding USE=udev to linux profiles 2018-07-20 12:39 ` nado @ 2018-07-20 12:53 ` Rich Freeman 2018-07-20 13:05 ` nado 2018-07-20 13:17 ` M. J. Everitt 2 siblings, 0 replies; 71+ messages in thread From: Rich Freeman @ 2018-07-20 12:53 UTC (permalink / raw To: gentoo-dev On Fri, Jul 20, 2018 at 8:39 AM <nado@troglodyte.be> wrote: > > > Why not introducing a new level in the hierarchy ? Something like "common" could be fit. > > default/linux/amd64/13.0 > default/linux/amd64/13.0/common > default/linux/amd64/13.0/common/desktop > default/linux/amd64/13.0/common/developer > ... > > By doing so we could still have a bare profiles with minimal things set to work, and have the > common subset with sane defaults for most users. I think one of the issues is that our docs/defaults and the mentality of our users tends to drive them to what looks like the most basic starting point. I think that having a base profile intended just as an inheritance point for other profiles makes sense technically, but it may not actually be a good default for end-users. If you set up the example above, how many would would still pick 13.0 as their starting point, and not common? Now, there is nothing that says that inheritance has to follow the directory tree. We could have a default/linux/amd64/13.0/donotuse/core profile that everything inherits, and make that the minimal one. It just means that most profiles under 13.0 wouldn't inherit 13.0. To some degree we may have painted ourselves into a bit of a corner by presenting this as a heirarchy, as it tends to force the bottom of the heirarchy to be the best profile for inheritance, when it is also the first thing users see as well. -- Rich ^ permalink raw reply [flat|nested] 71+ messages in thread
* Re: [gentoo-dev] Adding USE=udev to linux profiles 2018-07-20 12:39 ` nado 2018-07-20 12:53 ` Rich Freeman @ 2018-07-20 13:05 ` nado 2018-07-20 13:14 ` Rich Freeman 2018-07-20 13:17 ` M. J. Everitt 2 siblings, 1 reply; 71+ messages in thread From: nado @ 2018-07-20 13:05 UTC (permalink / raw To: gentoo-dev July 20, 2018 2:55 PM, "Rich Freeman" <rich0@gentoo.org> wrote: > On Fri, Jul 20, 2018 at 8:39 AM <nado@troglodyte.be> wrote: > >> Why not introducing a new level in the hierarchy ? Something like "common" could be fit. >> >> default/linux/amd64/13.0 >> default/linux/amd64/13.0/common >> default/linux/amd64/13.0/common/desktop >> default/linux/amd64/13.0/common/developer >> ... >> >> By doing so we could still have a bare profiles with minimal things set to work, and have the >> common subset with sane defaults for most users. > > I think one of the issues is that our docs/defaults and the mentality > of our users tends to drive them to what looks like the most basic > starting point. > > I think that having a base profile intended just as an inheritance > point for other profiles makes sense technically, but it may not > actually be a good default for end-users. > > If you set up the example above, how many would would still pick 13.0 > as their starting point, and not common? > > Now, there is nothing that says that inheritance has to follow the > directory tree. We could have a > default/linux/amd64/13.0/donotuse/core profile that everything > inherits, and make that the minimal one. It just means that most > profiles under 13.0 wouldn't inherit 13.0. > > To some degree we may have painted ourselves into a bit of a corner by > presenting this as a heirarchy, as it tends to force the bottom of the > heirarchy to be the best profile for inheritance, when it is also the > first thing users see as well. I’m not sure I was clear enough in what 13.0 would mean : basically, its current content would be delegated to common, and 13.0 would keep only things needed to have minimal breakages/conflicts. And we would keep the current directory-like inheritance. Then about what is presented to users and how they choose it : we could adapt eselect-profile to hilight some suggested defaults by use-case and people who still want to pick the minimalist one can do so freely, as they are probably doing it right now anyway. -- Corentin “Nado” Pazdera ^ permalink raw reply [flat|nested] 71+ messages in thread
* Re: [gentoo-dev] Adding USE=udev to linux profiles 2018-07-20 13:05 ` nado @ 2018-07-20 13:14 ` Rich Freeman 2018-07-20 17:08 ` Roy Bamford 0 siblings, 1 reply; 71+ messages in thread From: Rich Freeman @ 2018-07-20 13:14 UTC (permalink / raw To: gentoo-dev On Fri, Jul 20, 2018 at 9:05 AM <nado@troglodyte.be> wrote: > > I’m not sure I was clear enough in what 13.0 would mean : basically, its current content would be > delegated to common, and 13.0 would keep only things needed to have minimal breakages/conflicts. > And we would keep the current directory-like inheritance. > Your proposal was clear enough. I was just pointing out that it might make more sense to make common the thing that is minimal to prevent breakage/conflict, and make 13.0 something that could not be reliably inherited by the things below it in the hierarchy. Ie, it wouldn't really be a hierarchy any longer. And, honestly, it wasn't necessarily intended as a design that we ought to adopt, but more to get people to stop and think about the issues with how we're doing it today. Some of it might just be user mindset. A lot of people are drawn to Gentoo by minimalism, and I'd count myself among them in general. However, that leads to a certain tendency to start out with the most minimal starting point within Gentoo, and I don't know that this is a good idea. Even the desktop profile for Gentoo is pretty minimal compared to a lot of distros out there. While you can get Gentoo running with busybox and such and I completely support having profiles to enable this, I'm not sure this is the sort of thing that we want to point new users towards as a starting point. -- Rich ^ permalink raw reply [flat|nested] 71+ messages in thread
* Re: [gentoo-dev] Adding USE=udev to linux profiles 2018-07-20 13:14 ` Rich Freeman @ 2018-07-20 17:08 ` Roy Bamford 0 siblings, 0 replies; 71+ messages in thread From: Roy Bamford @ 2018-07-20 17:08 UTC (permalink / raw To: gentoo-dev [-- Attachment #1: Type: text/plain, Size: 724 bytes --] On 2018.07.20 14:14, Rich Freeman wrote: > While you can get Gentoo > running with busybox and such and I completely support having profiles > to enable this, I'm not sure this is the sort of thing that we want to > point new users towards as a starting point. > > -- > Rich > New to Linux users, I agree. Linux users new to Gentoo should maybe have more freedom to shoot themselves in the foot. They are more likely to be coming to Gentoo to get what they think they want. They just don't know how yet, so lets not make it too difficult. I_KNOW_WHAT_I_AM_DOING or something similar comes to mind. -- Regards, Roy Bamford (Neddyseagoon) a member of arm64 elections gentoo-ops forum-mods [-- Attachment #2: Type: application/pgp-signature, Size: 833 bytes --] ^ permalink raw reply [flat|nested] 71+ messages in thread
* Re: [gentoo-dev] Adding USE=udev to linux profiles 2018-07-20 12:39 ` nado 2018-07-20 12:53 ` Rich Freeman 2018-07-20 13:05 ` nado @ 2018-07-20 13:17 ` M. J. Everitt 2018-07-20 13:39 ` Rich Freeman 2 siblings, 1 reply; 71+ messages in thread From: M. J. Everitt @ 2018-07-20 13:17 UTC (permalink / raw To: gentoo-dev [-- Attachment #1.1: Type: text/plain, Size: 1824 bytes --] On 20/07/18 13:39, nado@troglodyte.be wrote: > Hi, > > July 20, 2018 2:26 PM, "Ben Kohler" <bkohler@gentoo.org> wrote: > >> On 07/19/18 23:04, Michael Orlitzky wrote: >> >>> <snip> >>> >>> If you really want to enable it globally after being told that it's bad >>> engineering and downright annoying, go do it in a profile that I can >>> avoid and not "linux". >> I believe you're arguing against profile global USE in general, can you >> start a new thread for that if you believe it's worth discussing? >> >> We do have global USE in profiles now and I believe that the sane >> default for linux profiles is to have udev support globally. > Why not introducing a new level in the hierarchy ? Something like "common" could be fit. > > default/linux/amd64/13.0 > default/linux/amd64/13.0/common > default/linux/amd64/13.0/common/desktop > default/linux/amd64/13.0/common/developer > ... > > By doing so we could still have a bare profiles with minimal things set to work, and have the > common subset with sane defaults for most users. > > -- > Corentin “Nado” Pazdera > default/linux/amd64/17.0/minimal default/linux/amd64/17.0/default default/linux/amd64/17.0/default/desktop default/linux/amd64/17.0/default/desktop/kde default/linux/amd64/17.0/developer The hierarchy method is indeed flawed, it would be better to have something akin to USE flags for profiles (PROFLAGS?) .. so that you could mingle different aspects without replicating sections of the 'tree' to get the common configurations covered .. eg. LINUX + AMD64 + DEVELOPER + KDE LINUX + ARM + DESKTOP LINUX + X86 + CONTAINER FREEBSD + DESKTOP And then have some rules which say that .. eg. KDE inherits DESKTOP (if required) I know you're gonna bike-shed this to death, but its an idea .. MJE [-- Attachment #2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 833 bytes --] ^ permalink raw reply [flat|nested] 71+ messages in thread
* Re: [gentoo-dev] Adding USE=udev to linux profiles 2018-07-20 13:17 ` M. J. Everitt @ 2018-07-20 13:39 ` Rich Freeman 0 siblings, 0 replies; 71+ messages in thread From: Rich Freeman @ 2018-07-20 13:39 UTC (permalink / raw To: gentoo-dev On Fri, Jul 20, 2018 at 9:17 AM M. J. Everitt <m.j.everitt@iee.org> wrote: > > The hierarchy method is indeed flawed, it would be better to have > something akin to USE flags for profiles (PROFLAGS?) .. so that you > could mingle different aspects without replicating sections of the > 'tree' to get the common configurations covered .. > > eg. LINUX + AMD64 + DEVELOPER + KDE > LINUX + ARM + DESKTOP > LINUX + X86 + CONTAINER > FREEBSD + DESKTOP > > And then have some rules which say that .. eg. KDE inherits DESKTOP (if > required) > > I know you're gonna bike-shed this to death, but its an idea .. No need to bike-shed: https://www.funtoo.org/Funtoo_Profiles https://bugs.gentoo.org/523036 -- Rich ^ permalink raw reply [flat|nested] 71+ messages in thread
* Re: [gentoo-dev] Adding USE=udev to linux profiles 2018-07-19 22:00 ` Michael Orlitzky 2018-07-19 22:32 ` Ben Kohler 2018-07-20 3:49 ` Aaron Bauman @ 2018-07-20 7:37 ` Matt Turner 2018-07-20 14:13 ` Michael Orlitzky 2 siblings, 1 reply; 71+ messages in thread From: Matt Turner @ 2018-07-20 7:37 UTC (permalink / raw To: gentoo development On Thu, Jul 19, 2018 at 3:00 PM, Michael Orlitzky <mjo@gentoo.org> wrote: > On 07/19/2018 05:51 PM, Ben Kohler wrote: >> Hello, >> >> I'd like to propose adding USE=udev to our linux profiles (in >> profiles/default/linux/make.defaults probably). This flag is already >> enabled on desktop profiles but it also affects quite a few packages >> used on non-desktop linux systems. >> >> ... >> >> Any objections to this idea? >> > > Please add defaults per-package, only where they make sense. Enabling > flags globally creates a huge headache for people that want them off. > > If I want to undo your new flag, I have to set USE="-udev" globally, and > that clobbers any important per-package defaults that maintainers have set. I understand the concern at least in theory. But can you please give me a concrete example of a package where you don't want USE=udev and another example of a package where you do? Grepping the tree, I see the following packages pulled in with USE=udev predominantly: virtual/libudev virtual/libgudev virtual/udev A few others have some additional dependencies enabled with USE=udev: app-emulation/libvirt: x11-libs/libpciaccess dev-qt/qtgui/qtgui: sys-kernel/linux-headers gnome-base/gnome-desktop: sys-apps/hwids media-gfx/iscan-data: dev-libs/libxslt, media-gfx/sane-backends sys-auth/consolekit: x11-libs/libdrm sys-fs/dosfstools: virtual/pkgconfig What dependency are you trying to avoid? Or is it just a design issue? ^ permalink raw reply [flat|nested] 71+ messages in thread
* Re: [gentoo-dev] Adding USE=udev to linux profiles 2018-07-20 7:37 ` Matt Turner @ 2018-07-20 14:13 ` Michael Orlitzky 2018-07-21 16:59 ` Matt Turner 0 siblings, 1 reply; 71+ messages in thread From: Michael Orlitzky @ 2018-07-20 14:13 UTC (permalink / raw To: gentoo-dev On 07/20/2018 03:37 AM, Matt Turner wrote: >> >> If I want to undo your new flag, I have to set USE="-udev" globally, and >> that clobbers any important per-package defaults that maintainers have set. > > I understand the concern at least in theory. But can you please give > me a concrete example of a package where you don't want USE=udev and > another example of a package where you do? > I... probably don't want USE=udev enabled anywhere. What does it actually do? I don't know, and the flag description is useless, and I don't have time to read the source code to every package with the flag. But, I'm willing to trust the maintainers who have set IUSE="+udev" in their ebuilds. As an example of how this works out, I have both sys-apps/hwids and sys-apps/pciutils built with USE=udev, but media-gfx/gimp built without it. > What dependency are you trying to avoid? Or is it just a design issue? I just want to have the option to disable it, without having to maintain my own copy of the entire "linux" profile hierarchy. ^ permalink raw reply [flat|nested] 71+ messages in thread
* Re: [gentoo-dev] Adding USE=udev to linux profiles 2018-07-20 14:13 ` Michael Orlitzky @ 2018-07-21 16:59 ` Matt Turner 2018-07-22 15:42 ` Chí-Thanh Christopher Nguyễn 2018-07-22 18:13 ` Michael Orlitzky 0 siblings, 2 replies; 71+ messages in thread From: Matt Turner @ 2018-07-21 16:59 UTC (permalink / raw To: gentoo development On Fri, Jul 20, 2018 at 7:13 AM, Michael Orlitzky <mjo@gentoo.org> wrote: > On 07/20/2018 03:37 AM, Matt Turner wrote: >>> >>> If I want to undo your new flag, I have to set USE="-udev" globally, and >>> that clobbers any important per-package defaults that maintainers have set. >> >> I understand the concern at least in theory. But can you please give >> me a concrete example of a package where you don't want USE=udev and >> another example of a package where you do? >> > > I... probably don't want USE=udev enabled anywhere. What does it > actually do? I don't know, and the flag description is useless, and I > don't have time to read the source code to every package with the flag. > > But, I'm willing to trust the maintainers who have set IUSE="+udev" in > their ebuilds. > > As an example of how this works out, I have both sys-apps/hwids and > sys-apps/pciutils built with USE=udev, but media-gfx/gimp built without it. If it adds no additional dependencies, why do you care? ^ permalink raw reply [flat|nested] 71+ messages in thread
* Re: [gentoo-dev] Adding USE=udev to linux profiles 2018-07-21 16:59 ` Matt Turner @ 2018-07-22 15:42 ` Chí-Thanh Christopher Nguyễn 2018-07-22 18:13 ` Michael Orlitzky 1 sibling, 0 replies; 71+ messages in thread From: Chí-Thanh Christopher Nguyễn @ 2018-07-22 15:42 UTC (permalink / raw To: gentoo-dev Matt Turner schrieb: >> As an example of how this works out, I have both sys-apps/hwids and >> sys-apps/pciutils built with USE=udev, but media-gfx/gimp built without it. > > If it adds no additional dependencies, why do you care? USE flags are supposed to control features, not dependencies. Exceptions are meta-packages. If someone wants to have a lean system not just concerning disk space, that would include disabling such code. Best regards, Chí-Thanh Christopher Nguyễn ^ permalink raw reply [flat|nested] 71+ messages in thread
* Re: [gentoo-dev] Adding USE=udev to linux profiles 2018-07-21 16:59 ` Matt Turner 2018-07-22 15:42 ` Chí-Thanh Christopher Nguyễn @ 2018-07-22 18:13 ` Michael Orlitzky 1 sibling, 0 replies; 71+ messages in thread From: Michael Orlitzky @ 2018-07-22 18:13 UTC (permalink / raw To: gentoo-dev On 07/21/2018 12:59 PM, Matt Turner wrote: > > If it adds no additional dependencies, why do you care? > It adds complexity and attack surface for something I apparently don't need. You'll have to take it on faith that turning off shit I don't understand has made my job/life a lot easier over the years. ^ permalink raw reply [flat|nested] 71+ messages in thread
* Re: [gentoo-dev] Adding USE=udev to linux profiles 2018-07-19 21:51 [gentoo-dev] Adding USE=udev to linux profiles Ben Kohler 2018-07-19 22:00 ` Michael Orlitzky @ 2018-07-20 1:42 ` Andrew Savchenko 2018-07-20 1:54 ` Mikle Kolyada ` (2 more replies) 2018-07-20 3:40 ` Benda Xu ` (2 subsequent siblings) 4 siblings, 3 replies; 71+ messages in thread From: Andrew Savchenko @ 2018-07-20 1:42 UTC (permalink / raw To: gentoo-dev [-- Attachment #1: Type: text/plain, Size: 1327 bytes --] On Thu, 19 Jul 2018 16:51:17 -0500 Ben Kohler wrote: > Hello, > > I'd like to propose adding USE=udev to our linux profiles (in > profiles/default/linux/make.defaults probably). This flag is already > enabled on desktop profiles but it also affects quite a few packages > used on non-desktop linux systems. > > This flag provides useful functionality that most linux users will want. > I'm a bit surprised that we still don't have it in all linux profiles, > but I think we've worked around this in the past by adding IUSE=+udev to > quite a few of those packages (33 packages, 116 ebuilds, by my count). > > This missing flag came to my attention again on bug 661584 where lvm2 > has IUSE=+udev but cryptsetup has only IUSE=udev, so non-desktop users > have a bit of a mismatch between the 2 and get ugly errors on cryptsetup. > > Since this flag only affects linux, I think it makes more sense to set > it in linux profiles than to use IUSE defaults. > > Any objections to this idea? I have server setups with udev disabled for most packages. So udev enabled by default will create maintenance problems. While I'm perfectly fine with udev enabled by default on desktops, it should not be forced on minimalistic setups like servers or containers. Best regards, Andrew Savchenko [-- Attachment #2: Type: application/pgp-signature, Size: 833 bytes --] ^ permalink raw reply [flat|nested] 71+ messages in thread
* Re: [gentoo-dev] Adding USE=udev to linux profiles 2018-07-20 1:42 ` Andrew Savchenko @ 2018-07-20 1:54 ` Mikle Kolyada 2018-07-20 3:52 ` Aaron Bauman 2018-07-20 12:20 ` Ben Kohler 2018-07-20 1:58 ` Rich Freeman 2018-07-20 3:51 ` Aaron Bauman 2 siblings, 2 replies; 71+ messages in thread From: Mikle Kolyada @ 2018-07-20 1:54 UTC (permalink / raw To: gentoo-dev [-- Attachment #1.1: Type: text/plain, Size: 1540 bytes --] On 20.07.2018 04:42, Andrew Savchenko wrote: > On Thu, 19 Jul 2018 16:51:17 -0500 Ben Kohler wrote: >> Hello, >> >> I'd like to propose adding USE=udev to our linux profiles (in >> profiles/default/linux/make.defaults probably). This flag is already >> enabled on desktop profiles but it also affects quite a few packages >> used on non-desktop linux systems. >> >> This flag provides useful functionality that most linux users will want. >> I'm a bit surprised that we still don't have it in all linux profiles, >> but I think we've worked around this in the past by adding IUSE=+udev to >> quite a few of those packages (33 packages, 116 ebuilds, by my count). >> >> This missing flag came to my attention again on bug 661584 where lvm2 >> has IUSE=+udev but cryptsetup has only IUSE=udev, so non-desktop users >> have a bit of a mismatch between the 2 and get ugly errors on cryptsetup. >> >> Since this flag only affects linux, I think it makes more sense to set >> it in linux profiles than to use IUSE defaults. >> >> Any objections to this idea? > I have server setups with udev disabled for most packages. So udev > enabled by default will create maintenance problems. While I'm > perfectly fine with udev enabled by default on desktops, it should > not be forced on minimalistic setups like servers or containers. > > Best regards, > Andrew Savchenko +1. widely used profiles should have as least flags enabled by default as possible, I would not be happy with +udev on my servers. [-- Attachment #2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 488 bytes --] ^ permalink raw reply [flat|nested] 71+ messages in thread
* Re: [gentoo-dev] Adding USE=udev to linux profiles 2018-07-20 1:54 ` Mikle Kolyada @ 2018-07-20 3:52 ` Aaron Bauman 2018-07-20 12:20 ` Ben Kohler 1 sibling, 0 replies; 71+ messages in thread From: Aaron Bauman @ 2018-07-20 3:52 UTC (permalink / raw To: gentoo-dev [-- Attachment #1: Type: text/plain, Size: 1811 bytes --] It's not about *you*. Please provide a reasonable justification. On July 19, 2018 9:54:40 PM EDT, Mikle Kolyada <zlogene@gentoo.org> wrote: > > >On 20.07.2018 04:42, Andrew Savchenko wrote: >> On Thu, 19 Jul 2018 16:51:17 -0500 Ben Kohler wrote: >>> Hello, >>> >>> I'd like to propose adding USE=udev to our linux profiles (in >>> profiles/default/linux/make.defaults probably). This flag is >already >>> enabled on desktop profiles but it also affects quite a few packages > >>> used on non-desktop linux systems. >>> >>> This flag provides useful functionality that most linux users will >want. >>> I'm a bit surprised that we still don't have it in all linux >profiles, >>> but I think we've worked around this in the past by adding >IUSE=+udev to >>> quite a few of those packages (33 packages, 116 ebuilds, by my >count). >>> >>> This missing flag came to my attention again on bug 661584 where >lvm2 >>> has IUSE=+udev but cryptsetup has only IUSE=udev, so non-desktop >users >>> have a bit of a mismatch between the 2 and get ugly errors on >cryptsetup. >>> >>> Since this flag only affects linux, I think it makes more sense to >set >>> it in linux profiles than to use IUSE defaults. >>> >>> Any objections to this idea? >> I have server setups with udev disabled for most packages. So udev >> enabled by default will create maintenance problems. While I'm >> perfectly fine with udev enabled by default on desktops, it should >> not be forced on minimalistic setups like servers or containers. >> >> Best regards, >> Andrew Savchenko >+1. widely used profiles should have as least flags enabled by default >as possible, I would not be happy with +udev on my servers. -- Sent from my Android device with K-9 Mail. Please excuse my brevity. [-- Attachment #2: Type: text/html, Size: 2302 bytes --] ^ permalink raw reply [flat|nested] 71+ messages in thread
* Re: [gentoo-dev] Adding USE=udev to linux profiles 2018-07-20 1:54 ` Mikle Kolyada 2018-07-20 3:52 ` Aaron Bauman @ 2018-07-20 12:20 ` Ben Kohler 2018-07-20 13:07 ` M. J. Everitt 1 sibling, 1 reply; 71+ messages in thread From: Ben Kohler @ 2018-07-20 12:20 UTC (permalink / raw To: gentoo-dev [-- Attachment #1: Type: text/plain, Size: 724 bytes --] On 07/19/18 20:54, Mikle Kolyada wrote: > +1. widely used profiles should have as least flags enabled by default > as possible, I would not be happy with +udev on my servers. > I disagree with this premise. The default and most widely used profiles should fit the most common use cases. I'd be curious as to what problems would be caused on your servers if this flag were turned on-- specifically what packages will get the flag turned on, where that bothers you? On my servers, the impact is very minimal. I'm not totally sure that my proposal of USE=udev is correct/justified, but there are a few counter-arguments I've heard that I don't think hold water, I'd like to focus on the others. -Ben [-- Attachment #2: pEpkey.asc --] [-- Type: application/pgp-keys, Size: 1787 bytes --] ^ permalink raw reply [flat|nested] 71+ messages in thread
* Re: [gentoo-dev] Adding USE=udev to linux profiles 2018-07-20 12:20 ` Ben Kohler @ 2018-07-20 13:07 ` M. J. Everitt 0 siblings, 0 replies; 71+ messages in thread From: M. J. Everitt @ 2018-07-20 13:07 UTC (permalink / raw To: gentoo-dev, Ben Kohler [-- Attachment #1.1: Type: text/plain, Size: 1083 bytes --] On 20/07/18 13:20, Ben Kohler wrote: > On 07/19/18 20:54, Mikle Kolyada wrote: > >> +1. widely used profiles should have as least flags enabled by default >> as possible, I would not be happy with +udev on my servers. >> > I disagree with this premise. The default and most widely used profiles > should fit the most common use cases. > > I'd be curious as to what problems would be caused on your servers if > this flag were turned on-- specifically what packages will get the flag > turned on, where that bothers you? On my servers, the impact is very > minimal. > > I'm not totally sure that my proposal of USE=udev is correct/justified, > but there are a few counter-arguments I've heard that I don't think hold > water, I'd like to focus on the others. > > -Ben Ben: Were you trying to sign your email .. a strange .asc attachment came through this end? Can we make a 'minimal'/container/etc _profile_ for such use-cases perhaps? so that linux 'default' might have +udev but this minimal doesn't .. or won't the overlapping of profiles allow this? [-- Attachment #2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 833 bytes --] ^ permalink raw reply [flat|nested] 71+ messages in thread
* Re: [gentoo-dev] Adding USE=udev to linux profiles 2018-07-20 1:42 ` Andrew Savchenko 2018-07-20 1:54 ` Mikle Kolyada @ 2018-07-20 1:58 ` Rich Freeman 2018-07-20 3:53 ` Aaron Bauman 2018-07-20 3:51 ` Aaron Bauman 2 siblings, 1 reply; 71+ messages in thread From: Rich Freeman @ 2018-07-20 1:58 UTC (permalink / raw To: gentoo-dev On Thu, Jul 19, 2018 at 9:42 PM Andrew Savchenko <bircoph@gentoo.org> wrote: > > On Thu, 19 Jul 2018 16:51:17 -0500 Ben Kohler wrote: > > Hello, > > > > I'd like to propose adding USE=udev to our linux profiles (in > > profiles/default/linux/make.defaults probably). This flag is already > > enabled on desktop profiles but it also affects quite a few packages > > used on non-desktop linux systems. > > > > I have server setups with udev disabled for most packages. So udev > enabled by default will create maintenance problems. While I'm > perfectly fine with udev enabled by default on desktops, it should > not be forced on minimalistic setups like servers or containers. 80% of the servers on the planet are running a linux distro, and 99% of those are probably running udev. Gentoo is probably the only distro where making udev the (trivially disabled) default is even remotely controversial. Maybe we need some kind of ultra-minimal profile for people who really don't want anything installed if they didn't put it there. It seems odd to make that sort of configuration our "base" as it really isn't a normal configuration by any standard. There is nothing wrong with people who want to start with a minimal profile. I just don't think it makes a lot of sense to have that as a default starting point. There is no reason that "base" needs to be a subset of all the other profiles. If for some reason we don't go with this, perhaps it would at least make sense to have a server profile that enables it by default and make base something that normal users are discouraged from using. -- Rich ^ permalink raw reply [flat|nested] 71+ messages in thread
* Re: [gentoo-dev] Adding USE=udev to linux profiles 2018-07-20 1:58 ` Rich Freeman @ 2018-07-20 3:53 ` Aaron Bauman 0 siblings, 0 replies; 71+ messages in thread From: Aaron Bauman @ 2018-07-20 3:53 UTC (permalink / raw To: gentoo-dev [-- Attachment #1: Type: text/plain, Size: 1951 bytes --] Please provide substantial evidence for your claims. Furthermore, a profile of your choice would be honorable. On July 19, 2018 9:58:25 PM EDT, Rich Freeman <rich0@gentoo.org> wrote: >On Thu, Jul 19, 2018 at 9:42 PM Andrew Savchenko <bircoph@gentoo.org> >wrote: >> >> On Thu, 19 Jul 2018 16:51:17 -0500 Ben Kohler wrote: >> > Hello, >> > >> > I'd like to propose adding USE=udev to our linux profiles (in >> > profiles/default/linux/make.defaults probably). This flag is >already >> > enabled on desktop profiles but it also affects quite a few >packages >> > used on non-desktop linux systems. >> > >> >> I have server setups with udev disabled for most packages. So udev >> enabled by default will create maintenance problems. While I'm >> perfectly fine with udev enabled by default on desktops, it should >> not be forced on minimalistic setups like servers or containers. > >80% of the servers on the planet are running a linux distro, and 99% >of those are probably running udev. Gentoo is probably the only >distro where making udev the (trivially disabled) default is even >remotely controversial. > >Maybe we need some kind of ultra-minimal profile for people who really >don't want anything installed if they didn't put it there. It seems >odd to make that sort of configuration our "base" as it really isn't a >normal configuration by any standard. > >There is nothing wrong with people who want to start with a minimal >profile. I just don't think it makes a lot of sense to have that as a >default starting point. There is no reason that "base" needs to be a >subset of all the other profiles. > >If for some reason we don't go with this, perhaps it would at least >make sense to have a server profile that enables it by default and >make base something that normal users are discouraged from using. > >-- >Rich -- Sent from my Android device with K-9 Mail. Please excuse my brevity. [-- Attachment #2: Type: text/html, Size: 2455 bytes --] ^ permalink raw reply [flat|nested] 71+ messages in thread
* Re: [gentoo-dev] Adding USE=udev to linux profiles 2018-07-20 1:42 ` Andrew Savchenko 2018-07-20 1:54 ` Mikle Kolyada 2018-07-20 1:58 ` Rich Freeman @ 2018-07-20 3:51 ` Aaron Bauman 2018-07-20 11:48 ` Andrew Savchenko 2 siblings, 1 reply; 71+ messages in thread From: Aaron Bauman @ 2018-07-20 3:51 UTC (permalink / raw To: gentoo-dev [-- Attachment #1: Type: text/plain, Size: 1610 bytes --] You are the minimalist... Not the rest. Provide a reasonable scenario please. On July 19, 2018 9:42:11 PM EDT, Andrew Savchenko <bircoph@gentoo.org> wrote: >On Thu, 19 Jul 2018 16:51:17 -0500 Ben Kohler wrote: >> Hello, >> >> I'd like to propose adding USE=udev to our linux profiles (in >> profiles/default/linux/make.defaults probably). This flag is already > >> enabled on desktop profiles but it also affects quite a few packages >> used on non-desktop linux systems. >> >> This flag provides useful functionality that most linux users will >want. >> I'm a bit surprised that we still don't have it in all linux >profiles, >> but I think we've worked around this in the past by adding IUSE=+udev >to >> quite a few of those packages (33 packages, 116 ebuilds, by my >count). >> >> This missing flag came to my attention again on bug 661584 where lvm2 > >> has IUSE=+udev but cryptsetup has only IUSE=udev, so non-desktop >users >> have a bit of a mismatch between the 2 and get ugly errors on >cryptsetup. >> >> Since this flag only affects linux, I think it makes more sense to >set >> it in linux profiles than to use IUSE defaults. >> >> Any objections to this idea? > >I have server setups with udev disabled for most packages. So udev >enabled by default will create maintenance problems. While I'm >perfectly fine with udev enabled by default on desktops, it should >not be forced on minimalistic setups like servers or containers. > >Best regards, >Andrew Savchenko -- Sent from my Android device with K-9 Mail. Please excuse my brevity. [-- Attachment #2: Type: text/html, Size: 1988 bytes --] ^ permalink raw reply [flat|nested] 71+ messages in thread
* Re: [gentoo-dev] Adding USE=udev to linux profiles 2018-07-20 3:51 ` Aaron Bauman @ 2018-07-20 11:48 ` Andrew Savchenko 0 siblings, 0 replies; 71+ messages in thread From: Andrew Savchenko @ 2018-07-20 11:48 UTC (permalink / raw To: gentoo-dev [-- Attachment #1: Type: text/plain, Size: 330 bytes --] On Thu, 19 Jul 2018 23:51:05 -0400 Aaron Bauman wrote: > You are the minimalist... Not the rest. Provide a reasonable scenario please. Such setup is quite simple: secure server or container usually for a single task with minimal setup of packages and USE flags to reduce attack surface. Best regards, Andrew Savchenko [-- Attachment #2: Type: application/pgp-signature, Size: 833 bytes --] ^ permalink raw reply [flat|nested] 71+ messages in thread
* Re: [gentoo-dev] Adding USE=udev to linux profiles 2018-07-19 21:51 [gentoo-dev] Adding USE=udev to linux profiles Ben Kohler 2018-07-19 22:00 ` Michael Orlitzky 2018-07-20 1:42 ` Andrew Savchenko @ 2018-07-20 3:40 ` Benda Xu 2018-07-20 5:09 ` Mart Raudsepp 2018-07-20 12:22 ` Ben Kohler 2018-07-23 5:47 ` Andreas K. Huettel 2018-07-26 7:59 ` Andrew Savchenko 4 siblings, 2 replies; 71+ messages in thread From: Benda Xu @ 2018-07-20 3:40 UTC (permalink / raw To: gentoo-dev Hi Ben, Ben Kohler <bkohler@gentoo.org> writes: > I'd like to propose adding USE=udev to our linux profiles (in > profiles/default/linux/make.defaults probably). This flag is already > enabled on desktop profiles but it also affects quite a few packages > used on non-desktop linux systems. > > This flag provides useful functionality that most linux users will > want. I'm a bit surprised that we still don't have it in all linux > profiles, but I think we've worked around this in the past by adding > IUSE=+udev to quite a few of those packages (33 packages, 116 ebuilds, > by my count). > > This missing flag came to my attention again on bug 661584 where lvm2 > has IUSE=+udev but cryptsetup has only IUSE=udev, so non-desktop users > have a bit of a mismatch between the 2 and get ugly errors on > cryptsetup. I expect this to be fixed on the package-by-package basis. > Since this flag only affects linux, I think it makes more sense to set > it in linux profiles than to use IUSE defaults. > > Any objections to this idea? To represent the Gentoo Prefix users, we would like to have USE=udev turned off or even hard masked on linux-prefix profiles. Yours, Benda ^ permalink raw reply [flat|nested] 71+ messages in thread
* Re: [gentoo-dev] Adding USE=udev to linux profiles 2018-07-20 3:40 ` Benda Xu @ 2018-07-20 5:09 ` Mart Raudsepp 2018-07-20 8:01 ` Benda Xu 2018-07-20 12:22 ` Ben Kohler 1 sibling, 1 reply; 71+ messages in thread From: Mart Raudsepp @ 2018-07-20 5:09 UTC (permalink / raw To: gentoo-dev [-- Attachment #1: Type: text/plain, Size: 483 bytes --] Ühel kenal päeval, R, 20.07.2018 kell 12:40, kirjutas Benda Xu: > > Any objections to this idea? > > To represent the Gentoo Prefix users, we would like to have USE=udev > turned off or even hard masked on linux-prefix profiles. Nothing stops you from doing that in prefix profiles, just like USE=acl is handled right now. That said, I would question such a choice. Does it technically not work or what's the problem with it? But it's up the prefix project. Mart [-- Attachment #2: This is a digitally signed message part --] [-- Type: application/pgp-signature, Size: 981 bytes --] ^ permalink raw reply [flat|nested] 71+ messages in thread
* Re: [gentoo-dev] Adding USE=udev to linux profiles 2018-07-20 5:09 ` Mart Raudsepp @ 2018-07-20 8:01 ` Benda Xu 2018-07-20 11:09 ` Mart Raudsepp 0 siblings, 1 reply; 71+ messages in thread From: Benda Xu @ 2018-07-20 8:01 UTC (permalink / raw To: gentoo-dev [-- Attachment #1: Type: text/plain, Size: 459 bytes --] Hi Mart, Mart Raudsepp <leio@gentoo.org> writes: > That said, I would question such a choice. Does it technically not > work or what's the problem with it? It works partially. Most of the time they does not bulid. The host OS handles /dev for Gentoo Prefix, be it mdev or udev. > But it's up the prefix project. Yes, if the Linux profile enables it, we will have to disable it explicitly in the Linux Prefix profiles. Cheers, Benda [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 832 bytes --] ^ permalink raw reply [flat|nested] 71+ messages in thread
* Re: [gentoo-dev] Adding USE=udev to linux profiles 2018-07-20 8:01 ` Benda Xu @ 2018-07-20 11:09 ` Mart Raudsepp 0 siblings, 0 replies; 71+ messages in thread From: Mart Raudsepp @ 2018-07-20 11:09 UTC (permalink / raw To: gentoo-dev [-- Attachment #1: Type: text/plain, Size: 1306 bytes --] Ühel kenal päeval, R, 20.07.2018 kell 17:01, kirjutas Benda Xu: > Hi Mart, > > Mart Raudsepp <leio@gentoo.org> writes: > > > That said, I would question such a choice. Does it technically not > > work or what's the problem with it? > > It works partially. Most of the time they does not bulid. That sounds like a case for package.use.mask for the given packages in prefix profiles? > The host OS handles /dev for Gentoo Prefix, be it mdev or udev. But in various cases it's about getting notified of plugged in devices. But yes, then the question is if the prefix libudev can get these notifications from host udev or some such. > > But it's up the prefix project. > > Yes, if the Linux profile enables it, we will have to disable it > explicitly in the Linux Prefix profiles. > But you are getting this already for various packages from their IUSE defaults +udev usage as far as I can see. Anyhow, I concede to the problems stemming from USE_ORDER described by mjo and retract my strong preference of global USE=udev, pending proper solution for those problems. However concrete examples as asked by Matt would be nice. Someone should work on that USE_ORDER issue... This IUSE default vs profiles trouble keeps coming up every couple of months.. Mart [-- Attachment #2: This is a digitally signed message part --] [-- Type: application/pgp-signature, Size: 981 bytes --] ^ permalink raw reply [flat|nested] 71+ messages in thread
* Re: [gentoo-dev] Adding USE=udev to linux profiles 2018-07-20 3:40 ` Benda Xu 2018-07-20 5:09 ` Mart Raudsepp @ 2018-07-20 12:22 ` Ben Kohler 1 sibling, 0 replies; 71+ messages in thread From: Ben Kohler @ 2018-07-20 12:22 UTC (permalink / raw To: gentoo-dev [-- Attachment #1: Type: text/plain, Size: 319 bytes --] On 07/19/18 22:40, Benda Xu wrote: > > To represent the Gentoo Prefix users, we would like to have USE=udev > turned off or even hard masked on linux-prefix profiles. > > Yours, > Benda > I believe this is an argument in favor of moving the default to profiles then, out of IUSE defaults, right? -Ben [-- Attachment #2: pEpkey.asc --] [-- Type: application/pgp-keys, Size: 1787 bytes --] ^ permalink raw reply [flat|nested] 71+ messages in thread
* Re: [gentoo-dev] Adding USE=udev to linux profiles 2018-07-19 21:51 [gentoo-dev] Adding USE=udev to linux profiles Ben Kohler ` (2 preceding siblings ...) 2018-07-20 3:40 ` Benda Xu @ 2018-07-23 5:47 ` Andreas K. Huettel 2018-07-23 15:03 ` Mike Gilbert 2018-07-26 7:59 ` Andrew Savchenko 4 siblings, 1 reply; 71+ messages in thread From: Andreas K. Huettel @ 2018-07-23 5:47 UTC (permalink / raw To: gentoo-dev [-- Attachment #1: Type: text/plain, Size: 930 bytes --] Am Donnerstag, 19. Juli 2018, 23:51:17 CEST schrieb Ben Kohler: > Hello, > > I'd like to propose adding USE=udev to our linux profiles (in > profiles/default/linux/make.defaults probably). This flag is already > enabled on desktop profiles but it also affects quite a few packages > > Any objections to this idea? We removed the dedicated "server profiles" and told everyone "Don't ever use -*"; if you want to have a sane minimal set of features use the base profile as e.g. default/linux/amd64/17.0". If with USE=udev this profile still fulfills the definition of "sane minimal set of features", then it's fine. (Keep in mind, we have all sorts of people out there running gentoo not only on desktops or beefy servers.) Otherwise it should stay in desktop profile. Cheers A -- Andreas K. Hüttel dilfridge@gentoo.org Gentoo Linux developer (council, toolchain, perl, libreoffice, comrel) [-- Attachment #2: This is a digitally signed message part. --] [-- Type: application/pgp-signature, Size: 833 bytes --] ^ permalink raw reply [flat|nested] 71+ messages in thread
* Re: [gentoo-dev] Adding USE=udev to linux profiles 2018-07-23 5:47 ` Andreas K. Huettel @ 2018-07-23 15:03 ` Mike Gilbert 2018-07-24 15:05 ` Andrew Savchenko 0 siblings, 1 reply; 71+ messages in thread From: Mike Gilbert @ 2018-07-23 15:03 UTC (permalink / raw To: Gentoo Dev On Mon, Jul 23, 2018 at 1:47 AM Andreas K. Huettel <dilfridge@gentoo.org> wrote: > > Am Donnerstag, 19. Juli 2018, 23:51:17 CEST schrieb Ben Kohler: > > Hello, > > > > I'd like to propose adding USE=udev to our linux profiles (in > > profiles/default/linux/make.defaults probably). This flag is already > > enabled on desktop profiles but it also affects quite a few packages > > > > Any objections to this idea? > > We removed the dedicated "server profiles" and told everyone > "Don't ever use -*"; if you want to have a sane minimal set of features use > the base profile as e.g. default/linux/amd64/17.0". > > If with USE=udev this profile still fulfills the definition of "sane minimal > set of features", then it's fine. > > (Keep in mind, we have all sorts of people out there running gentoo not only > on desktops or beefy servers.) > > Otherwise it should stay in desktop profile. USE="udev" is a sane default for anything that will be running on real or emulated hardware. It might not be necessary for containers, which don't do any hardware management. ^ permalink raw reply [flat|nested] 71+ messages in thread
* Re: [gentoo-dev] Adding USE=udev to linux profiles 2018-07-23 15:03 ` Mike Gilbert @ 2018-07-24 15:05 ` Andrew Savchenko 2018-07-24 15:39 ` Mike Gilbert 0 siblings, 1 reply; 71+ messages in thread From: Andrew Savchenko @ 2018-07-24 15:05 UTC (permalink / raw To: gentoo-dev [-- Attachment #1: Type: text/plain, Size: 1457 bytes --] On Mon, 23 Jul 2018 11:03:34 -0400 Mike Gilbert wrote: > On Mon, Jul 23, 2018 at 1:47 AM Andreas K. Huettel <dilfridge@gentoo.org> wrote: > > > > Am Donnerstag, 19. Juli 2018, 23:51:17 CEST schrieb Ben Kohler: > > > Hello, > > > > > > I'd like to propose adding USE=udev to our linux profiles (in > > > profiles/default/linux/make.defaults probably). This flag is already > > > enabled on desktop profiles but it also affects quite a few packages > > > > > > Any objections to this idea? > > > > We removed the dedicated "server profiles" and told everyone > > "Don't ever use -*"; if you want to have a sane minimal set of features use > > the base profile as e.g. default/linux/amd64/17.0". > > > > If with USE=udev this profile still fulfills the definition of "sane minimal > > set of features", then it's fine. > > > > (Keep in mind, we have all sorts of people out there running gentoo not only > > on desktops or beefy servers.) > > > > Otherwise it should stay in desktop profile. > > USE="udev" is a sane default for anything that will be running on real > or emulated hardware. It might not be necessary for containers, which > don't do any hardware management. I do not agree with you. I have perfectly fine running Gentoo-based servers running without udev and so many other people. udev in desktop profile is just fine with me, on servers it is not needed in many cases. Best regards, Andrew Savchenko [-- Attachment #2: Type: application/pgp-signature, Size: 833 bytes --] ^ permalink raw reply [flat|nested] 71+ messages in thread
* Re: [gentoo-dev] Adding USE=udev to linux profiles 2018-07-24 15:05 ` Andrew Savchenko @ 2018-07-24 15:39 ` Mike Gilbert 2018-07-24 16:06 ` Michael Orlitzky 0 siblings, 1 reply; 71+ messages in thread From: Mike Gilbert @ 2018-07-24 15:39 UTC (permalink / raw To: Gentoo Dev On Tue, Jul 24, 2018 at 11:05 AM Andrew Savchenko <bircoph@gentoo.org> wrote: > > On Mon, 23 Jul 2018 11:03:34 -0400 Mike Gilbert wrote: > > On Mon, Jul 23, 2018 at 1:47 AM Andreas K. Huettel <dilfridge@gentoo.org> wrote: > > > > > > Am Donnerstag, 19. Juli 2018, 23:51:17 CEST schrieb Ben Kohler: > > > > Hello, > > > > > > > > I'd like to propose adding USE=udev to our linux profiles (in > > > > profiles/default/linux/make.defaults probably). This flag is already > > > > enabled on desktop profiles but it also affects quite a few packages > > > > > > > > Any objections to this idea? > > > > > > We removed the dedicated "server profiles" and told everyone > > > "Don't ever use -*"; if you want to have a sane minimal set of features use > > > the base profile as e.g. default/linux/amd64/17.0". > > > > > > If with USE=udev this profile still fulfills the definition of "sane minimal > > > set of features", then it's fine. > > > > > > (Keep in mind, we have all sorts of people out there running gentoo not only > > > on desktops or beefy servers.) > > > > > > Otherwise it should stay in desktop profile. > > > > USE="udev" is a sane default for anything that will be running on real > > or emulated hardware. It might not be necessary for containers, which > > don't do any hardware management. > > I do not agree with you. I have perfectly fine running > Gentoo-based servers running without udev and so many other people. > udev in desktop profile is just fine with me, on servers it is not > needed in many cases. You can run any system without udev, but you need to be very careful about what Linux features you utilize and how you have the system configured. Most Linux servers out in the wild are running udev; your configuration is an exception to the common case. ^ permalink raw reply [flat|nested] 71+ messages in thread
* Re: [gentoo-dev] Adding USE=udev to linux profiles 2018-07-24 15:39 ` Mike Gilbert @ 2018-07-24 16:06 ` Michael Orlitzky 2018-07-24 16:14 ` Rich Freeman 2018-07-24 16:24 ` Mike Gilbert 0 siblings, 2 replies; 71+ messages in thread From: Michael Orlitzky @ 2018-07-24 16:06 UTC (permalink / raw To: gentoo-dev On 07/24/2018 11:39 AM, Mike Gilbert wrote: > > You can run any system without udev, but you need to be very careful > about what Linux features you utilize and how you have the system > configured. > > Most Linux servers out in the wild are running udev; your > configuration is an exception to the common case. > udev itself works fine with the flag off. Please be wary of the Firefox marketing model. Gentoo users are Gentoo users because Gentoo is easy to customize. If you sacrifice that to make Gentoo a poor imitation of Fedora in an effort to cater to new users, a) New users will choose Fedora anyway, because it's better at being Fedora. b) Some annoyed Gentoo users will also become Fedora users. ^ permalink raw reply [flat|nested] 71+ messages in thread
* Re: [gentoo-dev] Adding USE=udev to linux profiles 2018-07-24 16:06 ` Michael Orlitzky @ 2018-07-24 16:14 ` Rich Freeman 2018-07-24 16:27 ` Michael Orlitzky ` (2 more replies) 2018-07-24 16:24 ` Mike Gilbert 1 sibling, 3 replies; 71+ messages in thread From: Rich Freeman @ 2018-07-24 16:14 UTC (permalink / raw To: gentoo-dev On Tue, Jul 24, 2018 at 12:06 PM Michael Orlitzky <mjo@gentoo.org> wrote: > > On 07/24/2018 11:39 AM, Mike Gilbert wrote: > > > > You can run any system without udev, but you need to be very careful > > about what Linux features you utilize and how you have the system > > configured. > > > > Most Linux servers out in the wild are running udev; your > > configuration is an exception to the common case. > > > > Gentoo users are Gentoo users because Gentoo is easy to customize. I don't believe anybody suggested making Gentoo harder to customize. This is just about setting reasonable defaults. You can run a server without bash, openrc, sysvinit, or glibc. Should these also be removed from the base profile? -- Rich ^ permalink raw reply [flat|nested] 71+ messages in thread
* Re: [gentoo-dev] Adding USE=udev to linux profiles 2018-07-24 16:14 ` Rich Freeman @ 2018-07-24 16:27 ` Michael Orlitzky 2018-07-24 16:37 ` Rich Freeman 2018-07-25 7:28 ` Andrew Savchenko 2018-07-26 23:46 ` Benda Xu 2 siblings, 1 reply; 71+ messages in thread From: Michael Orlitzky @ 2018-07-24 16:27 UTC (permalink / raw To: gentoo-dev On 07/24/2018 12:14 PM, Rich Freeman wrote: > > I don't believe anybody suggested making Gentoo harder to customize. > This is just about setting reasonable defaults. For the (N+1)th time: enabling this flag by default does make Gentoo harder to customize, because you can't turn it off. And so yes, everyone suggesting that we enable the flag by default is suggesting that Gentoo become harder to customize. > You can run a server without bash, openrc, sysvinit, or glibc. Should > these also be removed from the base profile? Three of those four aren't in the base profile. Yeah, it was a good idea to remove them. ^ permalink raw reply [flat|nested] 71+ messages in thread
* Re: [gentoo-dev] Adding USE=udev to linux profiles 2018-07-24 16:27 ` Michael Orlitzky @ 2018-07-24 16:37 ` Rich Freeman 2018-07-24 16:49 ` Michael Orlitzky 0 siblings, 1 reply; 71+ messages in thread From: Rich Freeman @ 2018-07-24 16:37 UTC (permalink / raw To: gentoo-dev On Tue, Jul 24, 2018 at 12:27 PM Michael Orlitzky <mjo@gentoo.org> wrote: > > On 07/24/2018 12:14 PM, Rich Freeman wrote: > > > > I don't believe anybody suggested making Gentoo harder to customize. > > This is just about setting reasonable defaults. > > For the (N+1)th time: Well, if it was already said, why did you add another reply? > enabling this flag by default does make Gentoo > harder to customize, because you can't turn it off. This was already addressed in a previous comment - PMS can be modified to nullify flags, and arguably it should already work this way (though that means subprofiles can't actually use -flags). > > You can run a server without bash, openrc, sysvinit, or glibc. Should > > these also be removed from the base profile? > > Three of those four aren't in the base profile. Yeah, it was a good idea > to remove them. It includes virtual/service-manager, which pulls in sysvinit and openrc by default. You can run just fine without any service manager. Just point the kernel at your daemon and it will launch it as PID 1. Also, you can use sysvinit without openrc and have it launch your daemon, but that also won't satisfy service-manager. But, none of this matters, because people who REALLY want to run without a service manager can do that with package.provided. Again, this is about sane defaults, and having a service manager is a sane default. -- Rich ^ permalink raw reply [flat|nested] 71+ messages in thread
* Re: [gentoo-dev] Adding USE=udev to linux profiles 2018-07-24 16:37 ` Rich Freeman @ 2018-07-24 16:49 ` Michael Orlitzky 2018-07-24 17:19 ` Rich Freeman 0 siblings, 1 reply; 71+ messages in thread From: Michael Orlitzky @ 2018-07-24 16:49 UTC (permalink / raw To: gentoo-dev On 07/24/2018 12:37 PM, Rich Freeman wrote: >> harder to customize, because you can't turn it off. > > This was already addressed in a previous comment - PMS can be modified > to nullify flags Saying that hypothetically we could modify the PMS and wait for a new EAPI and wait for all package managers to catch up and wait a year after that for the upgrade path and then update the profiles to a new EAPI and then implement this new feature is just an indirect way of saying "you can't do it." Changing the PMS won't let me set USE="-udev" in make.conf, anyway. It would only affect sub-profiles. ^ permalink raw reply [flat|nested] 71+ messages in thread
* Re: [gentoo-dev] Adding USE=udev to linux profiles 2018-07-24 16:49 ` Michael Orlitzky @ 2018-07-24 17:19 ` Rich Freeman 0 siblings, 0 replies; 71+ messages in thread From: Rich Freeman @ 2018-07-24 17:19 UTC (permalink / raw To: gentoo-dev On Tue, Jul 24, 2018 at 12:49 PM Michael Orlitzky <mjo@gentoo.org> wrote: > > On 07/24/2018 12:37 PM, Rich Freeman wrote: > >> harder to customize, because you can't turn it off. > > > > This was already addressed in a previous comment - PMS can be modified > > to nullify flags > Saying that hypothetically we could modify the PMS and wait for a new > EAPI and wait for all package managers to catch up and wait a year after > that for the upgrade path and then update the profiles to a new EAPI and > then implement this new feature is just an indirect way of saying "you > can't do it." > > Changing the PMS won't let me set USE="-udev" in make.conf, anyway. It > would only affect sub-profiles. Certainly it should be implemented so that you could use it in make.conf. I also said nothing about the order of changes here. The PMS change could be made and be effective before the profile change is made. -- Rich ^ permalink raw reply [flat|nested] 71+ messages in thread
* Re: [gentoo-dev] Adding USE=udev to linux profiles 2018-07-24 16:14 ` Rich Freeman 2018-07-24 16:27 ` Michael Orlitzky @ 2018-07-25 7:28 ` Andrew Savchenko 2018-07-25 13:05 ` Ben Kohler 2018-07-26 23:46 ` Benda Xu 2 siblings, 1 reply; 71+ messages in thread From: Andrew Savchenko @ 2018-07-25 7:28 UTC (permalink / raw To: gentoo-dev [-- Attachment #1: Type: text/plain, Size: 988 bytes --] On Tue, 24 Jul 2018 12:14:55 -0400 Rich Freeman wrote: > On Tue, Jul 24, 2018 at 12:06 PM Michael Orlitzky <mjo@gentoo.org> wrote: > > > > On 07/24/2018 11:39 AM, Mike Gilbert wrote: > > > > > > You can run any system without udev, but you need to be very careful > > > about what Linux features you utilize and how you have the system > > > configured. > > > > > > Most Linux servers out in the wild are running udev; your > > > configuration is an exception to the common case. > > > > > > > Gentoo users are Gentoo users because Gentoo is easy to customize. > > I don't believe anybody suggested making Gentoo harder to customize. > This is just about setting reasonable defaults. Adding udev to the base profile will make customization much harder for people unwilling to use udev. This is the problem. > You can run a server without bash, openrc, sysvinit, or glibc. Should > these also be removed from the base profile? Best regards, Andrew Savchenko [-- Attachment #2: Type: application/pgp-signature, Size: 833 bytes --] ^ permalink raw reply [flat|nested] 71+ messages in thread
* Re: [gentoo-dev] Adding USE=udev to linux profiles 2018-07-25 7:28 ` Andrew Savchenko @ 2018-07-25 13:05 ` Ben Kohler 2018-07-26 23:48 ` Benda Xu 0 siblings, 1 reply; 71+ messages in thread From: Ben Kohler @ 2018-07-25 13:05 UTC (permalink / raw To: gentoo-dev On 07/25/2018 02:28 AM, Andrew Savchenko wrote: > > Adding udev to the base profile will make customization much harder > for people unwilling to use udev. This is the problem. > To stay on the original track, I was suggesting adding it to the linux profile component, not base. And people who are unwilling to use udev would disable it globally, like people who are unwilling to use pam or ipv6. But I understand where you're coming from in general-- that we've already achieved a good minimal balance in enabling udev only where it's really needed, and enabling it in linux make.defaults will make it difficult to get back to that state. So I will just continue to ask for IUSE=+udev where I believe it's very important for sane functionality of a particular package. In other words, I'm no longer pushing for the make.defaults change. -Ben ^ permalink raw reply [flat|nested] 71+ messages in thread
* Re: [gentoo-dev] Adding USE=udev to linux profiles 2018-07-25 13:05 ` Ben Kohler @ 2018-07-26 23:48 ` Benda Xu 0 siblings, 0 replies; 71+ messages in thread From: Benda Xu @ 2018-07-26 23:48 UTC (permalink / raw To: gentoo-dev Thanks Ben, Ben Kohler <bkohler@gentoo.org> writes: > To stay on the original track, I was suggesting adding it to the linux > profile component, not base. And people who are unwilling to use udev > would disable it globally, like people who are unwilling to use pam or > ipv6. > > But I understand where you're coming from in general-- that we've > already achieved a good minimal balance in enabling udev only where > it's really needed, and enabling it in linux make.defaults will make > it difficult to get back to that state. > > So I will just continue to ask for IUSE=+udev where I believe it's > very important for sane functionality of a particular package. In > other words, I'm no longer pushing for the make.defaults change. Glad we are back to the common ground again. Have fun hacking. Yours, Benda ^ permalink raw reply [flat|nested] 71+ messages in thread
* Re: [gentoo-dev] Adding USE=udev to linux profiles 2018-07-24 16:14 ` Rich Freeman 2018-07-24 16:27 ` Michael Orlitzky 2018-07-25 7:28 ` Andrew Savchenko @ 2018-07-26 23:46 ` Benda Xu 2 siblings, 0 replies; 71+ messages in thread From: Benda Xu @ 2018-07-26 23:46 UTC (permalink / raw To: gentoo-dev Hi Rich, Rich Freeman <rich0@gentoo.org> writes: > I don't believe anybody suggested making Gentoo harder to customize. > This is just about setting reasonable defaults. > > You can run a server without bash, openrc, sysvinit, or glibc. Should > these also be removed from the base profile? A reasonable default implies a stable default, the one that does not change for a weak reason. The reasons are weak for switching udev on, and weak for switching glibc, openrc, bash etc. off. If it ain't broke don't fix it. Changes without consensus cause more trouble than good. Yours, Benda ^ permalink raw reply [flat|nested] 71+ messages in thread
* Re: [gentoo-dev] Adding USE=udev to linux profiles 2018-07-24 16:06 ` Michael Orlitzky 2018-07-24 16:14 ` Rich Freeman @ 2018-07-24 16:24 ` Mike Gilbert 2018-07-24 16:32 ` Michael Orlitzky 1 sibling, 1 reply; 71+ messages in thread From: Mike Gilbert @ 2018-07-24 16:24 UTC (permalink / raw To: Gentoo Dev On Tue, Jul 24, 2018 at 12:06 PM Michael Orlitzky <mjo@gentoo.org> wrote: > > On 07/24/2018 11:39 AM, Mike Gilbert wrote: > > > > You can run any system without udev, but you need to be very careful > > about what Linux features you utilize and how you have the system > > configured. > > > > Most Linux servers out in the wild are running udev; your > > configuration is an exception to the common case. > > > > udev itself works fine with the flag off. udevd works, but other software will not work optimally. If you are running udevd, it's usually good idea to have other stuff integrate with it, generally to prevent race conditions as devices are enumerated. For example, dhcpcd integrates with udevd via libudev to ensure that udev has finished renaming your network interfaces before dhcpcd attempts to configure them. I believe lvm2 uses libudev to prevent various races in block device setup and metadata gathering. Developers don't add udev support just for the hell of it; they do it to make their software play nice with hardware when udevd is running. ^ permalink raw reply [flat|nested] 71+ messages in thread
* Re: [gentoo-dev] Adding USE=udev to linux profiles 2018-07-24 16:24 ` Mike Gilbert @ 2018-07-24 16:32 ` Michael Orlitzky 2018-07-24 16:46 ` Mike Gilbert 0 siblings, 1 reply; 71+ messages in thread From: Michael Orlitzky @ 2018-07-24 16:32 UTC (permalink / raw To: gentoo-dev On 07/24/2018 12:24 PM, Mike Gilbert wrote: > > For example, dhcpcd integrates with udevd via libudev to ensure that > udev has finished renaming your network interfaces before dhcpcd > attempts to configure them. I believe lvm2 uses libudev to prevent > various races in block device setup and metadata gathering. Both of those have IUSE="+udev", which is fine for any package where the maintainer knows that udev support is critical. You yourself aren't even sure what it does for lvm2, though -- how are you going to convince me I need it? > Developers don't add udev support just for the hell of it hahahahahahaha your premise is that the people writing software aren't all idiots, and I deny it. ^ permalink raw reply [flat|nested] 71+ messages in thread
* Re: [gentoo-dev] Adding USE=udev to linux profiles 2018-07-24 16:32 ` Michael Orlitzky @ 2018-07-24 16:46 ` Mike Gilbert 0 siblings, 0 replies; 71+ messages in thread From: Mike Gilbert @ 2018-07-24 16:46 UTC (permalink / raw To: Gentoo Dev On Tue, Jul 24, 2018 at 12:32 PM Michael Orlitzky <mjo@gentoo.org> wrote: > > On 07/24/2018 12:24 PM, Mike Gilbert wrote: > > > > For example, dhcpcd integrates with udevd via libudev to ensure that > > udev has finished renaming your network interfaces before dhcpcd > > attempts to configure them. I believe lvm2 uses libudev to prevent > > various races in block device setup and metadata gathering. > > Both of those have IUSE="+udev", which is fine for any package where the > maintainer knows that udev support is critical. You yourself aren't even > sure what it does for lvm2, though -- how are you going to convince me I > need it? > > > > Developers don't add udev support just for the hell of it > > hahahahahahaha your premise is that the people writing software aren't > all idiots, and I deny it. > So upstream developers are all idiots, and Gentoo maintainers always know best? If that's your attitude, I won't bother arguing with your further. ^ permalink raw reply [flat|nested] 71+ messages in thread
* Re: [gentoo-dev] Adding USE=udev to linux profiles 2018-07-19 21:51 [gentoo-dev] Adding USE=udev to linux profiles Ben Kohler ` (3 preceding siblings ...) 2018-07-23 5:47 ` Andreas K. Huettel @ 2018-07-26 7:59 ` Andrew Savchenko 2018-07-26 13:07 ` Ben Kohler 4 siblings, 1 reply; 71+ messages in thread From: Andrew Savchenko @ 2018-07-26 7:59 UTC (permalink / raw To: gentoo-dev; +Cc: james [-- Attachment #1: Type: text/plain, Size: 3160 bytes --] Hi! On Thu, 19 Jul 2018 16:51:17 -0500 Ben Kohler wrote: > I'd like to propose adding USE=udev to our linux profiles (in > profiles/default/linux/make.defaults probably). This flag is already > enabled on desktop profiles but it also affects quite a few packages > used on non-desktop linux systems. > > This flag provides useful functionality that most linux users will want. > I'm a bit surprised that we still don't have it in all linux profiles, > but I think we've worked around this in the past by adding IUSE=+udev to > quite a few of those packages (33 packages, 116 ebuilds, by my count). > > This missing flag came to my attention again on bug 661584 where lvm2 > has IUSE=+udev but cryptsetup has only IUSE=udev, so non-desktop users > have a bit of a mismatch between the 2 and get ugly errors on cryptsetup. > > Since this flag only affects linux, I think it makes more sense to set > it in linux profiles than to use IUSE defaults. > > Any objections to this idea? A user had contacted me with his input from the HPC world, I'm redirecting his e-mail here. James is whitelisted now so he can further participate in this discussion himself if necessary. As an HPC user of Gentoo I agree that minimal and highly optimized Gentoo setups are indeed very useful and must stay that way. Begin forwarded message: Date: Wed, 25 Jul 2018 13:31:59 -0400 From: james <garftd@verizon.net> To: bircoph@gentoo.org Subject: udev's future Hello Andrew, Sorry, I do not have direct posting ability to gentoo-dev, so in hopes of finding a dev-sponsor, I hope you will paraphrase this email to you for the sake of preventing 'dev as a default' or base setting of any sort. My research and testing for new HPC configurations, has systemd and udev at the heart of codes to avoid to optimize the heterogeneous nature of the clusters I'm building. In fact my development work, although delayed due to transient-illness, is more of a gentoo-centric convergence of embedded-gentoo, minimal (server) gentoo, gentoo-hpc clusters and unikernels. As far as performance and security are concerned 'less' is always better. Those codes and ebuild that are desired are to added in a higher level; hoping to continue the leverage the portage tree of applications, only as dynamically required. Avoidance of setting udev or in any form mandating any part of systemd will have dire consequences and cost me months, if not years to find a way to 'totally undo' the ravages of udev. Minimized kernels are also fundamental to my loosely-coupled (gentoo) HPC development. Even tiny Rtos based embedded linux systems are in the process of being included in a loosely-coupled gentoo centric heterogeneous HPC cluster. I would 'beg' against making udev primary under any circumstance. Gentoo has a unique and powerful position, just for it's position of choice and minimizational features; After 15 years, I'd hate to have to work in another distro, as gentoo has served me extraordinarily well over the decades. sincerely, James Horton, PE Best regards, Andrew Savchenko [-- Attachment #2: Type: application/pgp-signature, Size: 833 bytes --] ^ permalink raw reply [flat|nested] 71+ messages in thread
* Re: [gentoo-dev] Adding USE=udev to linux profiles 2018-07-26 7:59 ` Andrew Savchenko @ 2018-07-26 13:07 ` Ben Kohler 0 siblings, 0 replies; 71+ messages in thread From: Ben Kohler @ 2018-07-26 13:07 UTC (permalink / raw To: gentoo-dev On 07/26/2018 02:59 AM, Andrew Savchenko wrote: > Hi! > > On Thu, 19 Jul 2018 16:51:17 -0500 Ben Kohler wrote: >> I'd like to propose adding USE=udev to our linux profiles (in >> profiles/default/linux/make.defaults probably). This flag is already >> enabled on desktop profiles but it also affects quite a few packages >> used on non-desktop linux systems. >> >> This flag provides useful functionality that most linux users will want. >> I'm a bit surprised that we still don't have it in all linux profiles, >> but I think we've worked around this in the past by adding IUSE=+udev to >> quite a few of those packages (33 packages, 116 ebuilds, by my count). >> >> This missing flag came to my attention again on bug 661584 where lvm2 >> has IUSE=+udev but cryptsetup has only IUSE=udev, so non-desktop users >> have a bit of a mismatch between the 2 and get ugly errors on cryptsetup. >> >> Since this flag only affects linux, I think it makes more sense to set >> it in linux profiles than to use IUSE defaults. >> >> Any objections to this idea? > > A user had contacted me with his input from the HPC world, I'm > redirecting his e-mail here. James is whitelisted now so he can > further participate in this discussion himself if necessary. > > As an HPC user of Gentoo I agree that minimal and highly optimized > Gentoo setups are indeed very useful and must stay that way. > > Begin forwarded message: > > Date: Wed, 25 Jul 2018 13:31:59 -0400 > From: james <garftd@verizon.net> > To: bircoph@gentoo.org > Subject: udev's future > > > Hello Andrew, > > > Sorry, I do not have direct posting ability to gentoo-dev, so in > hopes of finding a dev-sponsor, I hope you will paraphrase this > email to you for the sake of preventing 'dev as a default' or base > setting of any sort. > > > My research and testing for new HPC configurations, has systemd > and udev at the heart of codes to avoid to optimize the > heterogeneous nature of the clusters I'm building. In fact my > development work, although delayed due to transient-illness, is > more of a gentoo-centric convergence of embedded-gentoo, minimal > (server) gentoo, gentoo-hpc clusters and unikernels. As far as > performance and security are concerned 'less' is always better. > Those codes and ebuild that are desired are to added in a higher > level; hoping to continue the leverage the portage tree of > applications, only as dynamically required. > > > Avoidance of setting udev or in any form mandating any part of > systemd will have dire consequences and cost me months, if not > years to find a way to 'totally undo' the ravages of udev. > Minimized kernels are also fundamental to my loosely-coupled > (gentoo) HPC development. Even tiny Rtos based embedded linux > systems are in the process of being included in a loosely-coupled > gentoo centric heterogeneous HPC cluster. I would 'beg' against > making udev primary under any circumstance. > > > Gentoo has a unique and powerful position, just for it's position of > choice and minimizational features; After 15 years, I'd hate to have > to work in another distro, as gentoo has served me extraordinarily > well over the decades. > > > sincerely, > James Horton, PE > > Best regards, > Andrew Savchenko > No one was ever talking about forcing udev usage, just default-enabling support on a few MORE packages than we already do. Our standard linux stage3's are already udev-enabled. But not udev-forced, anywhere. Nothing about my proposal was going to force udev on people who don't want udev at all-- let's not even go down that rabbit hole of discussion. I was only pushing for more consistency-- either your system would be fully udev-enabled, or not at all. -Ben ^ permalink raw reply [flat|nested] 71+ messages in thread
end of thread, other threads:[~2018-07-26 23:49 UTC | newest] Thread overview: 71+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2018-07-19 21:51 [gentoo-dev] Adding USE=udev to linux profiles Ben Kohler 2018-07-19 22:00 ` Michael Orlitzky 2018-07-19 22:32 ` Ben Kohler 2018-07-20 3:49 ` Aaron Bauman 2018-07-20 4:04 ` Michael Orlitzky 2018-07-20 5:06 ` Mart Raudsepp 2018-07-20 5:58 ` Michael Orlitzky 2018-07-20 6:12 ` Mart Raudsepp 2018-07-20 6:25 ` Michael Orlitzky 2018-07-21 7:01 ` Dennis Schridde 2018-07-21 9:33 ` Zac Medico 2018-07-21 13:33 ` Rich Freeman 2018-07-24 17:15 ` Ian Stakenvicius 2018-07-24 17:55 ` Dennis Schridde 2018-07-24 18:32 ` Ian Stakenvicius 2018-07-24 18:57 ` Rich Freeman 2018-07-24 21:11 ` Dennis Schridde 2018-07-24 21:16 ` Rich Freeman 2018-07-21 14:45 ` Dennis Schridde 2018-07-22 17:52 ` Michael Orlitzky 2018-07-24 17:40 ` Ian Stakenvicius 2018-07-20 11:55 ` Rich Freeman 2018-07-20 13:47 ` Michael Orlitzky 2018-07-20 13:51 ` Rich Freeman 2018-07-20 13:58 ` Peter Stuge 2018-07-20 12:25 ` Ben Kohler 2018-07-20 12:39 ` nado 2018-07-20 12:53 ` Rich Freeman 2018-07-20 13:05 ` nado 2018-07-20 13:14 ` Rich Freeman 2018-07-20 17:08 ` Roy Bamford 2018-07-20 13:17 ` M. J. Everitt 2018-07-20 13:39 ` Rich Freeman 2018-07-20 7:37 ` Matt Turner 2018-07-20 14:13 ` Michael Orlitzky 2018-07-21 16:59 ` Matt Turner 2018-07-22 15:42 ` Chí-Thanh Christopher Nguyễn 2018-07-22 18:13 ` Michael Orlitzky 2018-07-20 1:42 ` Andrew Savchenko 2018-07-20 1:54 ` Mikle Kolyada 2018-07-20 3:52 ` Aaron Bauman 2018-07-20 12:20 ` Ben Kohler 2018-07-20 13:07 ` M. J. Everitt 2018-07-20 1:58 ` Rich Freeman 2018-07-20 3:53 ` Aaron Bauman 2018-07-20 3:51 ` Aaron Bauman 2018-07-20 11:48 ` Andrew Savchenko 2018-07-20 3:40 ` Benda Xu 2018-07-20 5:09 ` Mart Raudsepp 2018-07-20 8:01 ` Benda Xu 2018-07-20 11:09 ` Mart Raudsepp 2018-07-20 12:22 ` Ben Kohler 2018-07-23 5:47 ` Andreas K. Huettel 2018-07-23 15:03 ` Mike Gilbert 2018-07-24 15:05 ` Andrew Savchenko 2018-07-24 15:39 ` Mike Gilbert 2018-07-24 16:06 ` Michael Orlitzky 2018-07-24 16:14 ` Rich Freeman 2018-07-24 16:27 ` Michael Orlitzky 2018-07-24 16:37 ` Rich Freeman 2018-07-24 16:49 ` Michael Orlitzky 2018-07-24 17:19 ` Rich Freeman 2018-07-25 7:28 ` Andrew Savchenko 2018-07-25 13:05 ` Ben Kohler 2018-07-26 23:48 ` Benda Xu 2018-07-26 23:46 ` Benda Xu 2018-07-24 16:24 ` Mike Gilbert 2018-07-24 16:32 ` Michael Orlitzky 2018-07-24 16:46 ` Mike Gilbert 2018-07-26 7:59 ` Andrew Savchenko 2018-07-26 13:07 ` Ben Kohler
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox