systemd/sysctl-handle-boot-sysctl.conf-kernel_release.patch
Frederic Crozat 37527bb454 Accepting request 184036 from home:elvigia:branches:Base:System
- version 206 , highlights:
* Unit files now understand the new %v specifier which
  resolves to the kernel version string as returned by "uname-r".
* "journalctl -b" may now be used to look for boot output of a
   specific boot. Try "journalctl -b -1"
* Creation of "dead" device nodes has been moved from udev
  into kmod and tmpfiles.
*  The udev "keymap" data files and tools to apply keyboard
   specific mappings of scan to key codes, and force-release
   scan code lists have been entirely replaced by a udev
   "keyboard" builtin and a hwdb data file.
- remove patches now in upstream
- systemd now requires libkmod >=14 and cryptsetup >= 1.6.0
- systemd now require the kmod tool in addition to the library.

- version 206 , highlights:
* Unit files now understand the new %v specifier which
  resolves to the kernel version string as returned by "uname-r".
* "journalctl -b" may now be used to look for boot output of a
   specific boot. Try "journalctl -b -1"
* Creation of "dead" device nodes has been moved from udev
  into kmod and tmpfiles.
*  The udev "keymap" data files and tools to apply keyboard
   specific mappings of scan to key codes, and force-release
   scan code lists have been entirely replaced by a udev
   "keyboard" builtin and a hwdb data file.
- remove patches now in upstream
- systemd now requires libkmod >=14 and cryptsetup >= 1.6.0
- systemd now require the kmod tool in addition to the library. (forwarded request 184035 from elvigia)

OBS-URL: https://build.opensuse.org/request/show/184036
OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=416
2013-07-23 09:21:21 +00:00

47 lines
1.6 KiB
Diff

From 752a4370ecb5643a432ad73b1e22c80cd304948f Mon Sep 17 00:00:00 2001
From: Frederic Crozat <fcrozat@suse.com>
Date: Fri, 17 May 2013 13:31:46 +0200
Subject: [PATCH] sysctl: handle /boot/sysctl.conf-<kernel_release>
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(+)
--- systemd-206.orig/src/sysctl/sysctl.c
+++ systemd-206/src/sysctl/sysctl.c
@@ -26,6 +26,7 @@
#include <stdio.h>
#include <limits.h>
#include <getopt.h>
+#include <sys/utsname.h>
#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) {
--- systemd-206.orig/units/systemd-sysctl.service.in
+++ systemd-206/units/systemd-sysctl.service.in
@@ -20,6 +20,7 @@ ConditionDirectoryNotEmpty=|/usr/lib/sys
ConditionDirectoryNotEmpty=|/usr/local/lib/sysctl.d
ConditionDirectoryNotEmpty=|/etc/sysctl.d
ConditionDirectoryNotEmpty=|/run/sysctl.d
+ConditionPathExistsGlob=|/boot/sysctl.conf-*
[Service]
Type=oneshot