From 752a4370ecb5643a432ad73b1e22c80cd304948f Mon Sep 17 00:00:00 2001 From: Frederic Crozat Date: Fri, 17 May 2013 13:31:46 +0200 Subject: [PATCH] sysctl: handle /boot/sysctl.conf- Add support for kernel release sysctl.conf files (for per-flavor configuration), needed by openSUSE (bnc#809420). --- src/sysctl/sysctl.c | 8 ++++++++ units/systemd-sysctl.service.in | 1 + 2 files changed, 9 insertions(+) diff --git a/src/sysctl/sysctl.c b/src/sysctl/sysctl.c index db18dd9..aa10b79 100644 --- a/src/sysctl/sysctl.c +++ b/src/sysctl/sysctl.c @@ -26,6 +26,7 @@ #include #include #include +#include #include "log.h" #include "strv.h" @@ -297,6 +298,13 @@ int main(int argc, char *argv[]) { } else { _cleanup_strv_free_ char **files = NULL; char **f; + char kernel_sysctl[PATH_MAX]; + struct utsname uts; + + assert_se(uname(&uts) >= 0); + + snprintf(kernel_sysctl, sizeof(kernel_sysctl), "/boot/sysctl.conf-%s", uts.release); + r = parse_file(sysctl_options, kernel_sysctl, true); r = conf_files_list_nulstr(&files, ".conf", NULL, conf_file_dirs); if (r < 0) { diff --git a/units/systemd-sysctl.service.in b/units/systemd-sysctl.service.in index 45e1ceb..61d13c9 100644 --- a/units/systemd-sysctl.service.in +++ b/units/systemd-sysctl.service.in @@ -19,6 +19,7 @@ ConditionDirectoryNotEmpty=|/usr/lib/sysctl.d ConditionDirectoryNotEmpty=|/usr/local/lib/sysctl.d ConditionDirectoryNotEmpty=|/etc/sysctl.d ConditionDirectoryNotEmpty=|/run/sysctl.d +ConditionPathExistsGlob=|/boot/sysctl.conf-* [Service] Type=oneshot -- 1.8.1.4