<html><head></head><body>Hi Armin,<br>
<br>
No. Pyro dropped support for rcS runlevel in commit e6c1765a05 during upgrade to systemd 232. According to commit message support was droped because of dependency loops that can be solved with my patch.<br>
<br>
Regards,<br>
Nikolay<br><br><div class="gmail_quote">26 июля 2017 г. 23:45:00 GMT+05:00, akuster808 <akuster808@gmail.com> пишет:<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<pre class="k9mail"><br />Nikolay,<br /><br />On 07/26/2017 01:05 AM, Nikolay Merinov wrote:<br /><blockquote class="gmail_quote" style="margin: 0pt 0pt 1ex 0.8ex; border-left: 1px solid #729fcf; padding-left: 1ex;"> systemd-sysv-generator translate sysv services on rcS runlevel to<br /> services that starts before <a href="http://sysinit.target">sysinit.target</a>. This behavour conflict<br /> with default dependency on same tartget.<br /><br /> String that define "DefaultDependency=no" was lost from patch for<br /> sysv generator during porting patches to systemd 229 in commit<br /> 64ab17b707dc431aaed880d6d8615971243f46f8.<br /></blockquote><br />is Master or Pyro affected?<br /><br />- armin<br /><blockquote class="gmail_quote" style="margin: 0pt 0pt 1ex 0.8ex; border-left: 1px solid #729fcf; padding-left: 1ex;"><br /> Current commit returns changes required for services that work on<br /> rcS runlevel.<br /><br /> Signed-off-by: Nikolay Merinov <n.merinov@inango-systems.com><br /> ---<br /> ...nerator-add-support-for-executing-scripts-und.patch | 18 ++++++++++++++----<br /> 1 file changed, 14 insertions(+), 4 deletions(-)<br /><br /> 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<br /> index ac67f65685..5736f57814 100644<br /> --- a/meta/recipes-core/systemd/systemd/0013-sysv-generator-add-support-for-executing-scripts-und.patch<br /> +++ b/meta/recipes-core/systemd/systemd/0013-sysv-generator-add-support-for-executing-scripts-und.patch<br /> @@ -57,7 +57,17 @@ index b5925a4..ea06d6a 100644<br /> } SysvStub;<br /> <br /> static void free_sysvstub(SysvStub *s) {<br /> -@@ -711,17 +717,31 @@ static int fix_order(SysvStub *s, Hashmap *all_services) {<br /> +@@ -194,6 +198,9 @@ static int generate_unit_file(SysvStub *s) {<br /> + if (s->description)<br /> + fprintf(f, "Description=%s\n", s->description);<br /> +<br /> ++ if (!s->default_dependencies)<br /> ++ fprintf(f, "DefaultDependencies=no\n");<br /> ++<br /> + STRV_FOREACH(p, s->before)<br /> + fprintf(f, "Before=%s\n", *p);<br /> + STRV_FOREACH(p, s->after)<br /> +@@ -711,17 +720,31 @@ static int fix_order(SysvStub *s, Hashmap *all_services) {<br /> if (s->has_lsb && other->has_lsb)<br /> continue;<br /> <br /> @@ -95,7 +105,7 @@ index b5925a4..ea06d6a 100644<br /> <br /> /* FIXME: Maybe we should compare the name here lexicographically? */<br /> }<br /> -@@ -788,6 +808,8 @@ static int enumerate_sysv(const LookupPaths *lp, Hashmap *all_services) {<br /> +@@ -788,6 +811,8 @@ static int enumerate_sysv(const LookupPaths *lp, Hashmap *all_services) {<br /> return log_oom();<br /> <br /> service->sysv_start_priority = -1;<br /> @@ -104,7 +114,7 @@ index b5925a4..ea06d6a 100644<br /> service->name = name;<br /> service->path = fpath;<br /> name = fpath = NULL;<br /> -@@ -871,9 +893,11 @@ static int set_dependencies_from_rcnd(const LookupPaths *lp, Hashmap *all_servic<br /> +@@ -871,9 +896,11 @@ static int set_dependencies_from_rcnd(const LookupPaths *lp, Hashmap *all_servic<br /> <br /> if (de->d_name[0] == 'S') {<br /> <br /> @@ -118,7 +128,7 @@ index b5925a4..ea06d6a 100644<br /> r = set_ensure_allocated(&runlevel_services[i], NULL);<br /> if (r < 0) {<br /> log_oom();<br /> -@@ -887,7 +911,8 @@ static int set_dependencies_from_rcnd(const LookupPaths *lp, Hashmap *all_servic<br /> +@@ -887,7 +914,8 @@ static int set_dependencies_from_rcnd(const LookupPaths *lp, Hashmap *all_servic<br /> }<br /> <br /> } else if (de->d_name[0] == 'K' &&<br /></blockquote><br /></pre></blockquote></div></body></html>