summaryrefslogtreecommitdiffstats
path: root/meta
diff options
context:
space:
mode:
authorNikolay Merinov <n.merinov@inango-systems.com>2017-07-26 13:05:08 +0500
committerRichard Purdie <richard.purdie@linuxfoundation.org>2017-08-29 16:50:53 +0100
commit0f33bfad25a9016581b89437fe0e346d620e8ed5 (patch)
tree8dfeae77c5fc00bac4199962b7c239eff9b11bd4 /meta
parente45e0dbcca097fb6761d24353debad274d088512 (diff)
downloadpoky-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>
Diffstat (limited to 'meta')
-rw-r--r--meta/recipes-core/systemd/systemd/0013-sysv-generator-add-support-for-executing-scripts-und.patch18
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' &&