sysvinit NMU for implementing the changes to switch the default init system on Linux

Michael Biebl biebl at debian.org
Sun Aug 3 20:21:35 BST 2014


Hi fellow sysvinit maintainers,

in [1] we presented a transition plan to switch the default init system
on Linux for jessie implementing the CTTE decision [2].

We slightly changed the role of the sysvinit  package as currently
available in jessie, as we want to provide different behaviour depending
on whether the system is freshly installed or upgraded. The details and
reasonings can be found at [1].

With the first step of the transition plan having been implemented in
[3], I've proceeded and prepared an NMU for sysvinit to implement the
changes for the sysvinit package. I've uploaded both versions for sid
and experimental as 2.88dsf-53.3 and 2.88dsf-55.3 to DELAYED/3.

Debdiffs for both versions are attached.

If there are open questions, please let us know.

Regards,
Michael



[1] https://lists.debian.org/debian-devel/2014/07/msg00611.html
[2] https://bugs.debian.org/727708
[3]
https://packages.qa.debian.org/i/init-system-helpers/news/20140725T000006Z.html
-- 
Why is it that all of the instruments seeking intelligent life in the
universe are pointed away from Earth?
-------------- next part --------------
diff -Nru sysvinit-2.88dsf/debian/changelog sysvinit-2.88dsf/debian/changelog
--- sysvinit-2.88dsf/debian/changelog	2014-06-08 01:25:19.000000000 +0200
+++ sysvinit-2.88dsf/debian/changelog	2014-08-03 20:59:54.000000000 +0200
@@ -1,3 +1,19 @@
+sysvinit (2.88dsf-53.3) unstable; urgency=medium
+
+  * Non-maintainer upload.
+  * Since the new "init" metapackage has taken over the role to ensure an init
+    system is installed at all times, drop the Essential: yes flag from
+    sysvinit and demote its priority to optional so this package is no longer
+    pulled in on new installations on Linux. Make sysvinit depend on "init" so
+    this new package is installed on upgrades.
+  * Provide a fallback SysV init binary in the sysvinit package which can be
+    used to boot the system via init=/lib/sysvinit/init even if systemd is the
+    default init system and /sbin/init is provided by systemd-sysv.
+  * Demote the priority of sysvinit-core to extra so it is no longer installed
+    by default on Linux.
+
+ -- Michael Biebl <biebl at debian.org>  Sun, 03 Aug 2014 19:29:38 +0200
+
 sysvinit (2.88dsf-53.2) unstable; urgency=medium
 
   * Fix a formatting error in mountnfs which turned a tab character into
diff -Nru sysvinit-2.88dsf/debian/control sysvinit-2.88dsf/debian/control
--- sysvinit-2.88dsf/debian/control	2014-04-01 18:47:32.000000000 +0200
+++ sysvinit-2.88dsf/debian/control	2014-08-03 21:00:43.000000000 +0200
@@ -20,16 +20,23 @@
 Vcs-Browser: http://anonscm.debian.org/gitweb/?p=collab-maint/sysvinit
 
 Package: sysvinit
-Essential: yes
+Priority: optional
 Architecture: any
-Pre-Depends: sysvinit-core | upstart | systemd-sysv
-Depends: ${misc:Depends}
-Description: System-V-like init utilities - metapackage
- This package is an essential metapackage which allows you to select from
- three available init systems in Debian (sysvinit, upstart, systemd) while
- ensuring that one of these is available on the system at all times.
+Pre-Depends: init
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Description: System-V-like init utilities - transitional package
+ This package depends on init, which is an essential package that
+ pulls in the default init system. Starting with jessie, this will be
+ systemd on Linux. It facilitates a smooth transition and provides a
+ fallback SysV init binary which can be used to boot the system via the
+ init=/lib/sysvinit/init kernel command line parameter in case the
+ system fails to start after the switch to systemd.
+ .
+ If your system successfully boots with systemd or if you have chosen
+ to stick with sysvinit-core, this package can be removed safely.
 
 Package: sysvinit-core
+Priority: extra
 Architecture: any
 Depends: initscripts (>= 2.88dsf-13.3),
  sysv-rc | file-rc,
diff -Nru sysvinit-2.88dsf/debian/rules sysvinit-2.88dsf/debian/rules
--- sysvinit-2.88dsf/debian/rules	2014-03-28 13:32:34.000000000 +0100
+++ sysvinit-2.88dsf/debian/rules	2014-08-03 19:43:02.000000000 +0200
@@ -5,6 +5,7 @@
 utiltmp = $(CURDIR)/debian/sysvinit-utils
 rctmp   = $(CURDIR)/debian/sysv-rc
 inittmp = $(CURDIR)/debian/initscripts
+sysvinittmp = $(CURDIR)/debian/sysvinit
 bootlogdtmp = $(CURDIR)/debian/bootlogd
 doc	= /usr/share/doc
 
@@ -68,6 +69,7 @@
 	fi
 
 	$(INSTALL) debian/share/update-rc.d $(sysvtmp)/usr/share/sysvinit/
+	$(INSTALL) $(tmp)/sbin/init $(sysvinittmp)/lib/sysvinit/
 
 	# initscripts package may include /sys
 ifneq (,$(findstring $(DEB_HOST_ARCH_OS),linux kfreebsd))
diff -Nru sysvinit-2.88dsf/debian/sysvinit.dirs sysvinit-2.88dsf/debian/sysvinit.dirs
--- sysvinit-2.88dsf/debian/sysvinit.dirs	1970-01-01 01:00:00.000000000 +0100
+++ sysvinit-2.88dsf/debian/sysvinit.dirs	2014-08-03 19:43:02.000000000 +0200
@@ -0,0 +1 @@
+lib/sysvinit/
diff -Nru sysvinit-2.88dsf/debian/sysvinit.links sysvinit-2.88dsf/debian/sysvinit.links
--- sysvinit-2.88dsf/debian/sysvinit.links	1970-01-01 01:00:00.000000000 +0100
+++ sysvinit-2.88dsf/debian/sysvinit.links	2014-08-03 19:43:02.000000000 +0200
@@ -0,0 +1 @@
+lib/sysvinit/init lib/sysvinit/telinit
-------------- next part --------------
diff -Nru sysvinit-2.88dsf/debian/changelog sysvinit-2.88dsf/debian/changelog
--- sysvinit-2.88dsf/debian/changelog	2014-06-08 01:25:01.000000000 +0200
+++ sysvinit-2.88dsf/debian/changelog	2014-08-03 21:07:15.000000000 +0200
@@ -1,3 +1,19 @@
+sysvinit (2.88dsf-55.3) experimental; urgency=medium
+
+  * Non-maintainer upload.
+  * Since the new "init" metapackage has taken over the role to ensure an init
+    system is installed at all times, drop the Essential: yes flag from
+    sysvinit and demote its priority to optional so this package is no longer
+    pulled in on new installations on Linux. Make sysvinit depend on "init" so
+    this new package is installed on upgrades.
+  * Provide a fallback SysV init binary in the sysvinit package which can be
+    used to boot the system via init=/lib/sysvinit/init even if systemd is the
+    default init system and /sbin/init is provided by systemd-sysv.
+  * Demote the priority of sysvinit-core to extra so it is no longer installed
+    by default on Linux.
+
+ -- Michael Biebl <biebl at debian.org>  Sun, 03 Aug 2014 21:06:44 +0200
+
 sysvinit (2.88dsf-55.2) experimental; urgency=medium
 
   * Fix a formatting error in mountnfs which turned a tab character into
diff -Nru sysvinit-2.88dsf/debian/control sysvinit-2.88dsf/debian/control
--- sysvinit-2.88dsf/debian/control	2014-04-21 09:26:56.000000000 +0200
+++ sysvinit-2.88dsf/debian/control	2014-08-03 21:06:22.000000000 +0200
@@ -20,16 +20,23 @@
 Vcs-Browser: http://anonscm.debian.org/gitweb/?p=collab-maint/sysvinit
 
 Package: sysvinit
-Essential: yes
+Priority: optional
 Architecture: any
-Pre-Depends: sysvinit-core | upstart | systemd-sysv
-Depends: ${misc:Depends}
-Description: System-V-like init utilities - metapackage
- This package is an essential metapackage which allows you to select from
- three available init systems in Debian (sysvinit, upstart, systemd) while
- ensuring that one of these is available on the system at all times.
+Pre-Depends: init
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Description: System-V-like init utilities - transitional package
+ This package depends on init, which is an essential package that
+ pulls in the default init system. Starting with jessie, this will be
+ systemd on Linux. It facilitates a smooth transition and provides a
+ fallback SysV init binary which can be used to boot the system via the
+ init=/lib/sysvinit/init kernel command line parameter in case the
+ system fails to start after the switch to systemd.
+ .
+ If your system successfully boots with systemd or if you have chosen
+ to stick with sysvinit-core, this package can be removed safely.
 
 Package: sysvinit-core
+Priority: extra
 Architecture: any
 Depends: initscripts (>= 2.88dsf-13.3),
  sysv-rc | file-rc,
diff -Nru sysvinit-2.88dsf/debian/rules sysvinit-2.88dsf/debian/rules
--- sysvinit-2.88dsf/debian/rules	2014-03-28 13:32:34.000000000 +0100
+++ sysvinit-2.88dsf/debian/rules	2014-08-03 21:06:22.000000000 +0200
@@ -5,6 +5,7 @@
 utiltmp = $(CURDIR)/debian/sysvinit-utils
 rctmp   = $(CURDIR)/debian/sysv-rc
 inittmp = $(CURDIR)/debian/initscripts
+sysvinittmp = $(CURDIR)/debian/sysvinit
 bootlogdtmp = $(CURDIR)/debian/bootlogd
 doc	= /usr/share/doc
 
@@ -68,6 +69,7 @@
 	fi
 
 	$(INSTALL) debian/share/update-rc.d $(sysvtmp)/usr/share/sysvinit/
+	$(INSTALL) $(tmp)/sbin/init $(sysvinittmp)/lib/sysvinit/
 
 	# initscripts package may include /sys
 ifneq (,$(findstring $(DEB_HOST_ARCH_OS),linux kfreebsd))
diff -Nru sysvinit-2.88dsf/debian/sysvinit.dirs sysvinit-2.88dsf/debian/sysvinit.dirs
--- sysvinit-2.88dsf/debian/sysvinit.dirs	1970-01-01 01:00:00.000000000 +0100
+++ sysvinit-2.88dsf/debian/sysvinit.dirs	2014-08-03 21:06:22.000000000 +0200
@@ -0,0 +1 @@
+lib/sysvinit/
diff -Nru sysvinit-2.88dsf/debian/sysvinit.links sysvinit-2.88dsf/debian/sysvinit.links
--- sysvinit-2.88dsf/debian/sysvinit.links	1970-01-01 01:00:00.000000000 +0100
+++ sysvinit-2.88dsf/debian/sysvinit.links	2014-08-03 21:06:22.000000000 +0200
@@ -0,0 +1 @@
+lib/sysvinit/init lib/sysvinit/telinit
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 884 bytes
Desc: OpenPGP digital signature
URL: <http://lists.alioth.debian.org/pipermail/pkg-systemd-maintainers/attachments/20140803/020d46a6/attachment.sig>


More information about the Pkg-systemd-maintainers mailing list