diff options
author | Nikolay Merinov <n.merinov@inango-systems.com> | 2017-07-26 13:05:08 +0500 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2017-08-29 16:50:53 +0100 |
commit | 0f33bfad25a9016581b89437fe0e346d620e8ed5 (patch) | |
tree | 8dfeae77c5fc00bac4199962b7c239eff9b11bd4 | |
parent | e45e0dbcca097fb6761d24353debad274d088512 (diff) | |
download | poky-0f33bfad25a9016581b89437fe0e346d620e8ed5.tar.gz |
systemd: Disable DefaultDependencies for sysv scripts on rcS runlevel
systemd-sysv-generator translate sysv services on rcS runlevel to
services that starts before sysinit.target. This behavour conflict
with default dependency on same tartget.
String that define "DefaultDependency=no" was lost from patch for
sysv generator during porting patches to systemd 229 in commit
64ab17b707dc431aaed880d6d8615971243f46f8.
Current commit returns changes required for services that work on
rcS runlevel.
(From OE-Core rev: 5c0a87c94ab086514039f2f8d0e9b06daa2179a7)
Signed-off-by: Nikolay Merinov <n.merinov@inango-systems.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r-- | meta/recipes-core/systemd/systemd/0013-sysv-generator-add-support-for-executing-scripts-und.patch | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/meta/recipes-core/systemd/systemd/0013-sysv-generator-add-support-for-executing-scripts-und.patch b/meta/recipes-core/systemd/systemd/0013-sysv-generator-add-support-for-executing-scripts-und.patch index ac67f65685..5736f57814 100644 --- a/meta/recipes-core/systemd/systemd/0013-sysv-generator-add-support-for-executing-scripts-und.patch +++ b/meta/recipes-core/systemd/systemd/0013-sysv-generator-add-support-for-executing-scripts-und.patch | |||
@@ -57,7 +57,17 @@ index b5925a4..ea06d6a 100644 | |||
57 | } SysvStub; | 57 | } SysvStub; |
58 | 58 | ||
59 | static void free_sysvstub(SysvStub *s) { | 59 | static void free_sysvstub(SysvStub *s) { |
60 | @@ -711,17 +717,31 @@ static int fix_order(SysvStub *s, Hashmap *all_services) { | 60 | @@ -194,6 +198,9 @@ static int generate_unit_file(SysvStub *s) { |
61 | if (s->description) | ||
62 | fprintf(f, "Description=%s\n", s->description); | ||
63 | |||
64 | + if (!s->default_dependencies) | ||
65 | + fprintf(f, "DefaultDependencies=no\n"); | ||
66 | + | ||
67 | STRV_FOREACH(p, s->before) | ||
68 | fprintf(f, "Before=%s\n", *p); | ||
69 | STRV_FOREACH(p, s->after) | ||
70 | @@ -711,17 +720,31 @@ static int fix_order(SysvStub *s, Hashmap *all_services) { | ||
61 | if (s->has_lsb && other->has_lsb) | 71 | if (s->has_lsb && other->has_lsb) |
62 | continue; | 72 | continue; |
63 | 73 | ||
@@ -95,7 +105,7 @@ index b5925a4..ea06d6a 100644 | |||
95 | 105 | ||
96 | /* FIXME: Maybe we should compare the name here lexicographically? */ | 106 | /* FIXME: Maybe we should compare the name here lexicographically? */ |
97 | } | 107 | } |
98 | @@ -788,6 +808,8 @@ static int enumerate_sysv(const LookupPaths *lp, Hashmap *all_services) { | 108 | @@ -788,6 +811,8 @@ static int enumerate_sysv(const LookupPaths *lp, Hashmap *all_services) { |
99 | return log_oom(); | 109 | return log_oom(); |
100 | 110 | ||
101 | service->sysv_start_priority = -1; | 111 | service->sysv_start_priority = -1; |
@@ -104,7 +114,7 @@ index b5925a4..ea06d6a 100644 | |||
104 | service->name = name; | 114 | service->name = name; |
105 | service->path = fpath; | 115 | service->path = fpath; |
106 | name = fpath = NULL; | 116 | name = fpath = NULL; |
107 | @@ -871,9 +893,11 @@ static int set_dependencies_from_rcnd(const LookupPaths *lp, Hashmap *all_servic | 117 | @@ -871,9 +896,11 @@ static int set_dependencies_from_rcnd(const LookupPaths *lp, Hashmap *all_servic |
108 | 118 | ||
109 | if (de->d_name[0] == 'S') { | 119 | if (de->d_name[0] == 'S') { |
110 | 120 | ||
@@ -118,7 +128,7 @@ index b5925a4..ea06d6a 100644 | |||
118 | r = set_ensure_allocated(&runlevel_services[i], NULL); | 128 | r = set_ensure_allocated(&runlevel_services[i], NULL); |
119 | if (r < 0) { | 129 | if (r < 0) { |
120 | log_oom(); | 130 | log_oom(); |
121 | @@ -887,7 +911,8 @@ static int set_dependencies_from_rcnd(const LookupPaths *lp, Hashmap *all_servic | 131 | @@ -887,7 +914,8 @@ static int set_dependencies_from_rcnd(const LookupPaths *lp, Hashmap *all_servic |
122 | } | 132 | } |
123 | 133 | ||
124 | } else if (de->d_name[0] == 'K' && | 134 | } else if (de->d_name[0] == 'K' && |