FS#35636 - [systemd] update silently overwrites modified config files

Attached to Project: Arch Linux
Opened by Lubomir Krajcovic (scott32) - Tuesday, 04 June 2013, 09:33 GMT
Last edited by Andrea Scarpino (BaSh) - Tuesday, 04 June 2013, 10:44 GMT
Task Type Bug Report
Category Packages: Core
Status Closed
Assigned To No-one
Architecture All
Severity Medium
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Description:
Today I realized my sysrq sysctl setting was silently overwritten by systemd update. Closer look shows, that systemd packages does not protect (apparently recently added) configation files. The proposed diff (what is protected, a and what _I_ think shall be protected:

--- protect-orig 2013-06-04 11:16:18.345192619 +0200
+++ protect-proposed 2013-06-04 11:17:34.652808437 +0200
@@ -3,8 +3,16 @@
/etc/dbus-1/system.d/org.freedesktop.login1.conf
/etc/dbus-1/system.d/org.freedesktop.locale1.conf
/etc/dbus-1/system.d/org.freedesktop.timedate1.conf
+/etc/systemd/bootchart.conf
/etc/systemd/system.conf
/etc/systemd/user.conf
/etc/systemd/logind.conf
/etc/systemd/journald.conf
/etc/udev/udev.conf
+/usr/lib/sysctl.d/50-coredump.conf
+/usr/lib/sysctl.d/50-default.conf
+/usr/lib/tmpfiles.d/console.conf
+/usr/lib/tmpfiles.d/legacy.conf
+/usr/lib/tmpfiles.d/systemd.conf
+/usr/lib/tmpfiles.d/tmp.conf
+/usr/lib/tmpfiles.d/x11.conf

Background:
Sadly, systemd-sysctl does not allow to specify the same systcl variable multiple times. Because /usr/lib/sysctl.d/* is read _first_, and because kernel.sysrq is _set_ there, the only way to change kernel.sysrq is to edit /usr/lib/sysctl.d/50-default.conf.

Additional info:
* systemd-204-3

Proposed fix:
A. Just instruct package manager to backup modified config files
B. Please consider moving /usr/lib/sysctl.d/* defaults to /etc/sysctl.d/ (and protect them). It makes far more sense.

Steps to reproduce:
1. edit /usr/lib/sysctl.d/50-default.conf
2. pacman -U systemd
This task depends upon

Closed by  Andrea Scarpino (BaSh)
Tuesday, 04 June 2013, 10:44 GMT
Reason for closing:  Not a bug
Additional comments about closing:  see comments
Comment by Ionut Biru (wonder) - Tuesday, 04 June 2013, 10:00 GMT
i don't think you are supposed to modify those. you need to overwrite them in /etc/tmpfiles.d or /etc/sysctl.d
Comment by Lubomir Krajcovic (scott32) - Tuesday, 04 June 2013, 10:13 GMT
please read the "Background" part of bug report to see why the modification of /usr/lib/sysctl.d/50-default.conf is _inevitable_.
Comment by Lubomir Krajcovic (scott32) - Tuesday, 04 June 2013, 10:18 GMT
Oh, I understand now, I need to create a copy of the same file in /etc/sysctl.d/ and I'll work as expected. Requesting close.

Loading...