Bug 89397 - Empty conf.d directories are not created, for configuration files that support it
Summary: Empty conf.d directories are not created, for configuration files that suppor...
Status: RESOLVED FIXED
Alias: None
Product: systemd
Classification: Unclassified
Component: general (show other bugs)
Version: unspecified
Hardware: All Linux (All)
: medium minor
Assignee: systemd-bugs
QA Contact: systemd-bugs
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-03-02 21:16 UTC by iTanguy
Modified: 2015-03-04 00:18 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments
Adding missing empty directories for conf.d (1.66 KB, text/plain)
2015-03-02 21:16 UTC, iTanguy
Details

Description iTanguy 2015-03-02 21:16:57 UTC
Created attachment 113928 [details]
Adding missing empty directories for conf.d

Systemd supports "conf.d" subfolders for several of its configuration files. It helps configuration customization by separating hardware- and user-specific configuration from systemd and/or distribution presets.

So It think that it would help end-users and Linux distributions if those directories were created by systemd directly. Especialy when the files provided by systemd mention them.

The attached patch is a very naïve one, I am no good developper, in fact it lacks testing, so it probably can't be used as-is. But I hope it helps.

It adds the following empty directories :
/etc/systemd/bootchart.conf.d/
/etc/systemd/coredump.conf.d/
/etc/systemd/journald.conf.d/
/etc/systemd/logind.conf.d/
/etc/systemd/resolved.conf.d/
/etc/systemd/system.conf.d/
/etc/systemd/timesyncd.conf.d/
/etc/systemd/user.conf.d/
Comment 1 Lennart Poettering 2015-03-02 22:00:12 UTC
I am not convinced this really helps users, it have the suspicion this would just confuse users. I mean, I am pretty sure that editing the .conf files themselves should be the simple solution to changing settings, the .d/ drop-ins are there for more knowledgeable users who understand the reasons why .d/ drop-ins might be better for them thatn just editing config files. But the less knowledgeable users shouldn't be confused by the dirs, and the more knowledgeable users are able to create the dirs on their own.
Comment 2 iTanguy 2015-03-03 21:13:05 UTC
IMHO, it would promote further the use of the .d/ dropins.
They are already advocated in the comments of .conf files :
# You can override the directives in this file by creating files in
# /etc/systemd/logind.conf.d/*.conf.

The .d/ drop-ins add complexity to systemd, but it is part of systemd, already available, useful, and it remains an option. If it's too complex and adds confusion, maybe it should be improved. The goal of such a feature is that it e used as widely as possible.

In fact, not having these folders by default could block users. Or at least it's happened to me : I was hesitating between a documentation/comment bug, or a feature not finished, or a feature not enabled in my distribution (ArchLinux)...

More pragmaticaly :
- I don't know which rights, user and group I should set to these folders, for it to work, but also to be secure. 
- ArchLinux package build system can't create empty folders unless they are created by the upstream project.
Comment 3 Zbigniew Jedrzejewski-Szmek 2015-03-03 21:26:38 UTC
(In reply to iTanguy from comment #2)
> The .d/ drop-ins add complexity to systemd, but it is part of systemd,
> already available, useful, and it remains an option. If it's too complex and
> adds confusion, maybe it should be improved. The goal of such a feature is
> that it e used as widely as possible.
Not in this case. /etc/systemd/logind.conf.d/*.conf is a mechanism for packagers to provide configuration snippets without creating conflicts. The administrator should simply modify /etc/systemd/logind.conf. The situation for those configuration files is different than for unit files because by default no configuration is required and there's no downside to using /etc/systemd/logind.conf directly.

> They are already advocated in the comments of .conf files :
> # You can override the directives in this file by creating files in
> # /etc/systemd/logind.conf.d/*.conf.
I'll update the comment to deemphasize those directories.
Comment 4 Zbigniew Jedrzejewski-Szmek 2015-03-04 00:18:50 UTC
http://cgit.freedesktop.org/systemd/systemd/commit/?id=e93549ef29 updates the documentation. There's not enough reason in creating those directories because they are mainly useful for packaged configuration snippets and they would add clutter.


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.