{"id":845,"date":"2014-10-21T15:07:36","date_gmt":"2014-10-21T13:07:36","guid":{"rendered":"http:\/\/www.lucas-nussbaum.net\/blog\/?p=845"},"modified":"2014-10-22T16:34:27","modified_gmt":"2014-10-22T14:34:27","slug":"tentative-summary-of-the-amendments-of-the-init-system-coupling-gr","status":"publish","type":"post","link":"https:\/\/www.lucas-nussbaum.net\/blog\/?p=845","title":{"rendered":"Tentative summary of the amendments of the init system coupling GR"},"content":{"rendered":"<p>This is an update of <a href=\"https:\/\/lists.debian.org\/20141017202314.GA9393@xanadu.blop.info\">my previous attempt at summarizing this discussion<\/a>. As I proposed one of the amendments, you should not blindly trust me, of course. :-)<\/p>\n<p>First, let&#8217;s address two FAQ:<\/p>\n<p><strong>What is the impact on jessie?<\/strong><br \/>\nOn the technical level, none. The current state of jessie already matches what is expected by all proposals. It&#8217;s a different story on the social level.<\/p>\n<p><strong>Why are we voting now, then?<\/strong><br \/>\nIan Jackson, who submitted the original proposal, explained his motivation in <a href=\"https:\/\/lists.debian.org\/21569.19669.726247.130490@chiark.greenend.org.uk\">this mail<\/a>.<\/p>\n<p>We now have four different proposals: (summaries are mine)<\/p>\n<ul>\n<li><strong>[iwj]<\/strong> Original proposal (Ian Jackson): Packages may not (in general) require one specific init system (<a href=\"https:\/\/www.debian.org\/vote\/2014\/vote_003.en.html\">Choice 1 on this page<\/a>)<\/li>\n<li><strong>[lucas]<\/strong> Amendment A (Lucas Nussbaum): support for alternative init systems is desirable but not mandatory (<a href=\"https:\/\/www.debian.org\/vote\/2014\/vote_003.en.html\">Choice 2 on this page<\/a>)<\/li>\n<li><strong>[dktrkranz]<\/strong> Amendment B (Luca Falavigna): Packages may require a specific init system (<a href=\"https:\/\/www.debian.org\/vote\/2014\/vote_003.en.html\">Choice 3 on this page<\/a>)<\/li>\n<li><strong>[plessy]<\/strong> Amendment C (Charles Plessy): No GR, please: no GR required (<a href=\"https:\/\/www.debian.org\/vote\/2014\/vote_003.en.html\">Choice 4 on this page<\/a>)<\/li>\n<\/ul>\n<p><strong>[plessy]<\/strong> is the simplest, and does not discuss the questions that the other proposals are answering, given it considers\u00a0that the normal Debian decision-making processes have not been exhausted.<\/p>\n<p>In order to understand the three other proposals, it&#8217;s useful to break them down into several questions.<\/p>\n<p><strong>Q1: support for the default init system on Linux<\/strong><br \/>\n<strong>A1.1<\/strong>: packages MUST work with the default init system on Linux as PID 1.<br \/>\n(That is the case in both <strong>[iwj]<\/strong> and <strong>[lucas]<\/strong>)<\/p>\n<p><strong>A1.2<\/strong>: packages SHOULD work with the default init system on Linux as PID 1.<br \/>\nWith <strong>[dktrkranz]<\/strong>, it would no longer be required to support the default init system, as maintainers could choose to require another init system than the default, if they consider this a prerequisite for its proper operation; and no patches or other derived works exist in order to support other init systems. That would not be a policy violation. (see <a href=\"https:\/\/lists.debian.org\/20141018121349.GA22459@xanadu.blop.info\">this mail<\/a> and <a href=\"https:\/\/lists.debian.org\/CADk7b0PWg4Q5hywg--oq=+fz0OZ3+rpOfLKEajXBOxVBLHdUMw@mail.gmail.com\">its reply<\/a> for details). Theoretically, it could also create fragmentation among Debian packages requiring different init systems: you would not be able to run pkgA and pkgB at the same time, because they would require different init systems.<\/p>\n<p><strong>Q2: support for alternative init systems as PID 1<\/strong><br \/>\n<strong>A2.1<\/strong>: packages MUST work with one alternative init system (in <strong>[iwj]<\/strong>)<br \/>\n(Initially, I thought that &#8220;one&#8221; here should be understood as &#8220;sysvinit&#8221;, as <a href=\"https:\/\/lists.debian.org\/21572.4945.914183.446134@chiark.greenend.org.uk\">this mail<\/a>, Ian detailed why he chose to be unspecific about the target init system.  However, in <a href=\"https:\/\/lists.debian.org\/21573.16685.235428.467943@chiark.greenend.org.uk\">that mail<\/a>, he later clarified that a package requiring systemd or uselessd would be fine as well, given that <i>in practice there aren&#8217;t going to be many packages that would want to couple specifically to systemd _or_ uselessd, but where support for other init systems is hard to provide<\/i>.)<br \/>\nTo the user, that brings the freedom to switch init systems (assuming that the package will not just support two init systems with specific interfaces, but rather a generic interface common to many init systems).<br \/>\nHowever, it might require the maintainer to do the required work to support additional init systems, possibly without upstream cooperation.<br \/>\nLack of support is a policy violation (severity &gt;= serious, RC).<br \/>\nBugs about degraded operation on some init systems follow the\u00a0normal bug severity rules.<\/p>\n<p><strong>A2.2<\/strong>: packages SHOULD work with alternative init systems as PID 1. (in <strong>[lucas]<\/strong>)<br \/>\nThis is a recommendation. Lack of support is not a policy\u00a0violation (bug severity &lt; serious, not RC). A2.3: nothing is said about alternative init systems (in [dktrkranz]). Lack of support would likely be a wishlist bug.<\/p>\n<p><strong>Q3: special rule for sysvinit to ease wheezy-&gt;jessie upgrades<br \/>\n<\/strong>(this question is implicitly dealt with in <strong>[iwj]<\/strong>, assuming that one of the\u00a0supported init systems is sysvinit)<br \/>\n<strong><\/strong><\/p>\n<p><strong>A3.1<\/strong>: continue support for sysvinit (in <strong>[lucas]<\/strong>)<br \/>\nFor the jessie release, all software available in Debian &#8216;wheezy&#8217;\u00a0that supports being run under sysvinit should continue to support\u00a0sysvinit unless there is no technically feasible way to do so.<\/p>\n<p><strong>A3.2<\/strong>: no requirement to support sysvinit (in <strong>[dktrkranz]<\/strong>)<br \/>\nTheoretically, this could require two-step upgrades: first reboot with\u00a0systemd, then upgrade other packages<\/p>\n<p><strong>Q4: non-binding recommendation to maintainers<\/strong><br \/>\n<strong>A4.1<\/strong>: recommend that maintainers accept patches that add or improve<br \/>\nsupport for alternative init systems. (in both <strong>[iwj]<\/strong> and <strong>[lucas]<\/strong>, with a different wording)<\/p>\n<p><strong>A4.2<\/strong>: say nothing (in <strong>[dktrkranz]<\/strong>)<\/p>\n<p><strong>Q5: support for init systems with are the default on non-Linux ports<\/strong><br \/>\n<strong>A5.1<\/strong>: non-binding recommendation to add\/improve support with a\u00a0high priority (in <strong>[lucas]<\/strong>)<\/p>\n<p><strong>A5.2<\/strong>: say nothing (in <strong>[iwj]<\/strong> and <strong>[dktrkranz]<\/strong>)<\/p>\n<p>&nbsp;<\/p>\n<p>Comments are closed: please discuss by replying to <a href=\"https:\/\/lists.debian.org\/20141021131459.GA13204@xanadu.blop.info\">that mail<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>This is an update of my previous attempt at summarizing this discussion. As I proposed one of the amendments, you should not blindly trust me, of course. :-) First, let&#8217;s address two FAQ: What is the impact on jessie? On the technical level, none. The current state of jessie already matches what is expected by [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[13],"tags":[],"class_list":["post-845","post","type-post","status-publish","format-standard","hentry","category-planetdebian"],"_links":{"self":[{"href":"https:\/\/www.lucas-nussbaum.net\/blog\/index.php?rest_route=\/wp\/v2\/posts\/845","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.lucas-nussbaum.net\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.lucas-nussbaum.net\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.lucas-nussbaum.net\/blog\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.lucas-nussbaum.net\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=845"}],"version-history":[{"count":7,"href":"https:\/\/www.lucas-nussbaum.net\/blog\/index.php?rest_route=\/wp\/v2\/posts\/845\/revisions"}],"predecessor-version":[{"id":848,"href":"https:\/\/www.lucas-nussbaum.net\/blog\/index.php?rest_route=\/wp\/v2\/posts\/845\/revisions\/848"}],"wp:attachment":[{"href":"https:\/\/www.lucas-nussbaum.net\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=845"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.lucas-nussbaum.net\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=845"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.lucas-nussbaum.net\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=845"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}