forked from pool/systemd
a6c42807cc
- Update to release 202: + 'systemctl list-jobs' got some polishing. '--type=' argument may now be passed more than once. 'systemctl list-sockets' has been added. + systemd gained a new unit 'systemd-static-nodes.service' that generates static device nodes earlier during boot, and can run in conjunction with udev. + systemd-nspawn now places all containers in the new /machine top-level cgroup directory in the name=systemd hierarchy. + bootchart can now store its data in the journal. + journactl can now take multiple --unit= and --user-unit= switches. + The cryptsetup logic now understands the "luks.key=" kernel command line switch. If a configured key file is missing, it will fallback to prompting the user. - Rebase some patches - Update handle-SYSTEMCTL_OPTIONS-environment-variable.patch to properly handle SYSTEMCTL_OPTIONS - Fix regression in the default for tmp auto-deletion (systemd-tmp-safe-defaults.patch, FATE#314974). - Add chromebook lid switch as a power switch to logind rule to enable suspend on lid close - Update to release 202: + 'systemctl list-jobs' got some polishing. '--type=' argument may now be passed more than once. 'systemctl list-sockets' has been added. + systemd gained a new unit 'systemd-static-nodes.service' OBS-URL: https://build.opensuse.org/request/show/172582 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=365
67 lines
2.5 KiB
Diff
67 lines
2.5 KiB
Diff
From: Frederic Crozat <fcrozat@suse.com>
|
|
Date: Wed, 12 Oct 2011 15:18:29 +0200
|
|
Subject: module-load: handle SUSE /etc/sysconfig/kernel module list
|
|
|
|
---
|
|
src/modules-load/modules-load.c | 27 ++++++++++++++++++++++++++-
|
|
units/systemd-modules-load.service.in | 1 +
|
|
2 files changed, 27 insertions(+), 1 deletion(-)
|
|
|
|
diff --git a/src/modules-load/modules-load.c b/src/modules-load/modules-load.c
|
|
index 7b19ee0..36b1a68 100644
|
|
--- a/src/modules-load/modules-load.c
|
|
+++ b/src/modules-load/modules-load.c
|
|
@@ -262,6 +262,9 @@ static int parse_argv(int argc, char *argv[]) {
|
|
int main(int argc, char *argv[]) {
|
|
int r, k;
|
|
struct kmod_ctx *ctx;
|
|
+#ifdef HAVE_SYSV_COMPAT
|
|
+ _cleanup_free_ char *modules_on_boot = NULL;
|
|
+#endif
|
|
|
|
r = parse_argv(argc, argv);
|
|
if (r <= 0)
|
|
@@ -318,7 +321,29 @@ int main(int argc, char *argv[]) {
|
|
r = k;
|
|
}
|
|
}
|
|
-
|
|
+#ifdef HAVE_SYSV_COMPAT
|
|
+ log_debug("apply: /etc/sysconfig/kernel MODULES_LOADED_ON_BOOT");
|
|
+ if ((r = parse_env_file("/etc/sysconfig/kernel", NEWLINE,
|
|
+ "MODULES_LOADED_ON_BOOT", &modules_on_boot,
|
|
+ NULL)) < 0) {
|
|
+ if (r != -ENOENT)
|
|
+ log_warning("Failed to read /etc/sysconfig/kernel: %s", strerror(-r));
|
|
+ } else
|
|
+ r = EXIT_SUCCESS;
|
|
+ if (modules_on_boot) {
|
|
+ char **modules = strv_split(modules_on_boot,WHITESPACE);
|
|
+ char **module;
|
|
+
|
|
+ if (modules) {
|
|
+ STRV_FOREACH(module, modules) {
|
|
+ k = load_module(ctx, *module);
|
|
+ if (k < 0)
|
|
+ r = EXIT_FAILURE;
|
|
+ }
|
|
+ }
|
|
+ strv_free(modules);
|
|
+ }
|
|
+#endif
|
|
finish:
|
|
kmod_unref(ctx);
|
|
strv_free(arg_proc_cmdline_modules);
|
|
diff --git a/units/systemd-modules-load.service.in b/units/systemd-modules-load.service.in
|
|
index 32deb52..2e26d2f 100644
|
|
--- a/units/systemd-modules-load.service.in
|
|
+++ b/units/systemd-modules-load.service.in
|
|
@@ -13,6 +13,7 @@ Conflicts=shutdown.target
|
|
After=systemd-readahead-collect.service systemd-readahead-replay.service
|
|
Before=sysinit.target shutdown.target
|
|
ConditionCapability=CAP_SYS_MODULE
|
|
+ConditionPathExists=|/etc/sysconfig/kernel
|
|
ConditionDirectoryNotEmpty=|/lib/modules-load.d
|
|
ConditionDirectoryNotEmpty=|/usr/lib/modules-load.d
|
|
ConditionDirectoryNotEmpty=|/usr/local/lib/modules-load.d
|