Re: RFC: OpenRC as Init System for Debian
md@Linux.IT (Marco d'Itri) writes:
> On May 11, Gergely Nagy <email@example.com> wrote:
>> And in etc-overrides-lib, config files still remain in /etc. Its just
>> the defaults that live elsewhere. That the defaults are files, and are
>> under /lib, is an implementation detail, similarly how gconf defaults
>> live under /usr/share/gconf/defaults.
> This is not similar to how gconf works, because gconf allows you to only
> set the directives you need in the new file, while udev and systemd
> require copying the whole file from /lib.
But by the wikipedia definition, the gconf defaults are config files
too. My point was to make it clear that blindly following that
definition might not lead to desirable results.
But, a few more examples of config files, or snippets from directories
different than /etc:
* /usr/share/X11/xorg.conf.d/: I would especially like to quote these
lines from the 50-synaptics.conf file from there:
| # DO NOT EDIT THIS FILE, your distribution will likely overwrite
| # it when updating. Copy (and rename) this file into
| # /etc/X11/xorg.conf.d first.
While said file also says it is an example, looking at
xorg.conf.d(5), it suggests that X11 will behave somewhat similar to
systemd, and search for override-able config snippets in directories
outside of /etc. According to the manpage:
"When the same information is supplied in more than one way, the
highest precedence mechanism is used."
In other words, it does *exactly* the same thing systemd is
* /usr/share/alsa/alsa.conf.d/: Files herein will be processed by
alsa-lib, according to the README. They are obviously config file
snippets, and as such, if following the wikipedia definition, should
be in /etc.
I assume - though, haven't checked - that files in /etc can override
I could probably find more, but just two off the top of my /usr/share
seemed enough for now.
It seems to me that etc-overrides-non-etc is already existing practice,
if X11 and ALSA use it too, among others. In light of this, systemd is
no different. It just has more defaults in files under /lib.
Long story short, I still don't see what the fuss is about.