diff --git a/files.systemd b/files.systemd index 1a2d79a8..79a3cc49 100644 --- a/files.systemd +++ b/files.systemd @@ -30,10 +30,6 @@ %dir %{_journalcatalogdir} %dir %{_localstatedir}/lib/systemd %dir %{_localstatedir}/lib/systemd/catalog -%if %{with sysvcompat} -%dir %{_localstatedir}/lib/systemd/migrated -%dir %{_localstatedir}/lib/systemd/sysv-convert -%endif %dir %{_modprobedir} %dir %{_modulesloaddir} %dir %{_prefix}/lib/kernel @@ -82,13 +78,6 @@ %dir %{_unitdir}/reboot.target.wants %dir %{_unitdir}/remote-fs.target.wants %dir %{_unitdir}/rescue.target.wants -%if %{with sysvcompat} -%dir %{_unitdir}/runlevel1.target.wants -%dir %{_unitdir}/runlevel2.target.wants -%dir %{_unitdir}/runlevel3.target.wants -%dir %{_unitdir}/runlevel4.target.wants -%dir %{_unitdir}/runlevel5.target.wants -%endif %dir %{_unitdir}/shutdown.target.wants %dir %{_unitdir}/sockets.target.wants %dir %{_unitdir}/sysinit.target.wants @@ -236,6 +225,7 @@ %endif %{_mandir}/man1/busctl.1.gz %{_mandir}/man1/hostnamectl.1.gz +%{_mandir}/man1/init.1.gz %{_mandir}/man1/journalctl.1.gz %{_mandir}/man1/localectl.1.gz %{_mandir}/man1/loginctl.1.gz @@ -347,9 +337,13 @@ %{_mandir}/man7/systemd.syntax.7.gz %{_mandir}/man7/systemd.time.7.gz %{_mandir}/man8/30-systemd-environment-d-generator.8.gz +%{_mandir}/man8/halt.8.gz %{_mandir}/man8/kernel-install.8.gz %{_mandir}/man8/pam_systemd.8.gz +%{_mandir}/man8/poweroff.8.gz %{_mandir}/man8/rc-local.service.8.gz +%{_mandir}/man8/reboot.8.gz +%{_mandir}/man8/shutdown.8.gz %{_mandir}/man8/systemd-ask-password-console.path.8.gz %{_mandir}/man8/systemd-ask-password-console.service.8.gz %{_mandir}/man8/systemd-ask-password-wall.path.8.gz @@ -389,9 +383,6 @@ %{_mandir}/man8/systemd-hostnamed.8.gz %{_mandir}/man8/systemd-hostnamed.service.8.gz %{_mandir}/man8/systemd-hybrid-sleep.service.8.gz -%{_mandir}/man8/systemd-initctl.8.gz -%{_mandir}/man8/systemd-initctl.service.8.gz -%{_mandir}/man8/systemd-initctl.socket.8.gz %{_mandir}/man8/systemd-journald-audit.socket.8.gz %{_mandir}/man8/systemd-journald-dev-log.socket.8.gz %{_mandir}/man8/systemd-journald-varlink@.socket.8.gz @@ -416,7 +407,6 @@ %{_mandir}/man8/systemd-quotacheck.service.8.gz %{_mandir}/man8/systemd-random-seed.8.gz %{_mandir}/man8/systemd-random-seed.service.8.gz -%{_mandir}/man8/systemd-rc-local-generator.8.gz %{_mandir}/man8/systemd-reboot.service.8.gz %{_mandir}/man8/systemd-remount-fs.8.gz %{_mandir}/man8/systemd-remount-fs.service.8.gz @@ -436,7 +426,6 @@ %{_mandir}/man8/systemd-system-update-generator.8.gz %{_mandir}/man8/systemd-sysusers.8.gz %{_mandir}/man8/systemd-sysusers.service.8.gz -%{_mandir}/man8/systemd-sysv-generator.8.gz %{_mandir}/man8/systemd-time-wait-sync.8.gz %{_mandir}/man8/systemd-time-wait-sync.service.8.gz %{_mandir}/man8/systemd-timedated.8.gz @@ -450,7 +439,6 @@ %{_mandir}/man8/systemd-tmpfiles.8.gz %{_mandir}/man8/systemd-update-done.8.gz %{_mandir}/man8/systemd-update-done.service.8.gz -%{_mandir}/man8/systemd-update-utmp-runlevel.service.8.gz %{_mandir}/man8/systemd-update-utmp.8.gz %{_mandir}/man8/systemd-update-utmp.service.8.gz %{_mandir}/man8/systemd-user-sessions.8.gz @@ -470,6 +458,11 @@ %{_prefix}/lib/kernel/install.d/00-entry-directory.install %{_prefix}/lib/kernel/install.d/50-depmod.install %{_prefix}/lib/kernel/install.d/90-loaderentry.install +%{_sbindir}/halt +%{_sbindir}/init +%{_sbindir}/poweroff +%{_sbindir}/reboot +%{_sbindir}/shutdown %{_sysconfdir}/xdg/systemd/user %{_sysctldir}/99-sysctl.conf %{_systemd_user_env_generator_dir}/30-systemd-environment-d-generator @@ -500,9 +493,6 @@ %{_systemd_util_dir}/systemd-growfs %{_systemd_util_dir}/systemd-hibernate-resume %{_systemd_util_dir}/systemd-hostnamed -%if %{with sysvcompat} -%{_systemd_util_dir}/systemd-initctl -%endif %{_systemd_util_dir}/systemd-journald %{_systemd_util_dir}/systemd-localed %{_systemd_util_dir}/systemd-logind @@ -518,10 +508,6 @@ %{_systemd_util_dir}/systemd-socket-proxyd %{_systemd_util_dir}/systemd-sulogin-shell %{_systemd_util_dir}/systemd-sysctl -%if %{with sysvcompat} -%{_systemd_util_dir}/systemd-sysv-convert -%{_systemd_util_dir}/systemd-sysv-install -%endif %{_systemd_util_dir}/systemd-time-wait-sync %{_systemd_util_dir}/systemd-timedated %{_systemd_util_dir}/systemd-timesyncd @@ -570,14 +556,8 @@ %{_systemdgeneratordir}/systemd-getty-generator %{_systemdgeneratordir}/systemd-gpt-auto-generator %{_systemdgeneratordir}/systemd-hibernate-resume-generator -%if %{with sysvcompat} -%{_systemdgeneratordir}/systemd-rc-local-generator -%endif %{_systemdgeneratordir}/systemd-run-generator %{_systemdgeneratordir}/systemd-system-update-generator -%if %{with sysvcompat} -%{_systemdgeneratordir}/systemd-sysv-generator -%endif %if ! 0%{?bootstrap} %{_systemdgeneratordir}/systemd-veritysetup-generator %endif @@ -628,9 +608,6 @@ %{_unitdir}/getty.target %{_unitdir}/getty@.service %{_unitdir}/graphical.target -%if %{with sysvcompat} -%{_unitdir}/graphical.target.wants/systemd-update-utmp-runlevel.service -%endif %{_unitdir}/halt.target %{_unitdir}/hibernate.target %{_unitdir}/hybrid-sleep.target @@ -651,18 +628,11 @@ %{_unitdir}/local-fs-pre.target %{_unitdir}/local-fs.target %{_unitdir}/local-fs.target.wants/tmp.mount -%if %{with sysvcompat} -%{_unitdir}/local-fs.target.wants/var-lock.mount -%{_unitdir}/local-fs.target.wants/var-run.mount -%endif %{_unitdir}/modprobe@.service %{_unitdir}/multi-user.target %{_unitdir}/multi-user.target.wants/after-local.service %{_unitdir}/multi-user.target.wants/getty.target %{_unitdir}/multi-user.target.wants/systemd-logind.service -%if %{with sysvcompat} -%{_unitdir}/multi-user.target.wants/systemd-update-utmp-runlevel.service -%endif %{_unitdir}/multi-user.target.wants/systemd-user-sessions.service %{_unitdir}/network-online.target %{_unitdir}/network-pre.target @@ -675,9 +645,6 @@ %{_unitdir}/proc-sys-fs-binfmt_misc.automount %{_unitdir}/proc-sys-fs-binfmt_misc.mount %{_unitdir}/quotaon.service -%if %{with sysvcompat} -%{_unitdir}/rc-local.service -%endif %{_unitdir}/reboot.target %if ! 0%{?bootstrap} %{_unitdir}/remote-cryptsetup.target @@ -689,19 +656,7 @@ %endif %{_unitdir}/rescue.service %{_unitdir}/rescue.target -%if %{with sysvcompat} -%{_unitdir}/rescue.target.wants/systemd-update-utmp-runlevel.service -%endif %{_unitdir}/rpcbind.target -%if %{with sysvcompat} -%{_unitdir}/runlevel0.target -%{_unitdir}/runlevel1.target -%{_unitdir}/runlevel2.target -%{_unitdir}/runlevel3.target -%{_unitdir}/runlevel4.target -%{_unitdir}/runlevel5.target -%{_unitdir}/runlevel6.target -%endif %{_unitdir}/serial-getty@.service %{_unitdir}/shutdown.target %{_unitdir}/sigpwr.target @@ -709,9 +664,6 @@ %{_unitdir}/slices.target %{_unitdir}/smartcard.target %{_unitdir}/sockets.target -%if %{with sysvcompat} -%{_unitdir}/sockets.target.wants/systemd-initctl.socket -%endif %{_unitdir}/sockets.target.wants/systemd-journald-dev-log.socket %{_unitdir}/sockets.target.wants/systemd-journald.socket %{_unitdir}/sound.target @@ -783,10 +735,6 @@ %{_unitdir}/systemd-hibernate.service %{_unitdir}/systemd-hostnamed.service %{_unitdir}/systemd-hybrid-sleep.service -%if %{with sysvcompat} -%{_unitdir}/systemd-initctl.service -%{_unitdir}/systemd-initctl.socket -%endif %{_unitdir}/systemd-journal-catalog-update.service %{_unitdir}/systemd-journal-flush.service %{_unitdir}/systemd-journald-dev-log.socket @@ -820,9 +768,6 @@ %{_unitdir}/systemd-tmpfiles-setup-dev.service %{_unitdir}/systemd-tmpfiles-setup.service %{_unitdir}/systemd-update-done.service -%if %{with sysvcompat} -%{_unitdir}/systemd-update-utmp-runlevel.service -%endif %{_unitdir}/systemd-update-utmp.service %{_unitdir}/systemd-user-sessions.service %{_unitdir}/systemd-vconsole-setup.service @@ -839,14 +784,15 @@ %{_unitdir}/user-runtime-dir@.service %{_unitdir}/user.slice %{_unitdir}/user@.service -%if %{with sysvcompat} -%{_unitdir}/var-lock.mount -%{_unitdir}/var-run.mount -%endif %if ! 0%{?bootstrap} %{_unitdir}/veritysetup-pre.target %{_unitdir}/veritysetup.target %endif %if %{with split_usr} /bin/systemctl +/sbin/halt +/sbin/init +/sbin/poweroff +/sbin/reboot +/sbin/shutdown %endif diff --git a/files.sysvcompat b/files.sysvcompat new file mode 100644 index 00000000..3a62dc74 --- /dev/null +++ b/files.sysvcompat @@ -0,0 +1,96 @@ +# +# Please keep the list sorted (with `LC_ALL=C sort`). +# +%dir %{_localstatedir}/lib/systemd/migrated +%dir %{_localstatedir}/lib/systemd/sysv-convert +%dir %{_unitdir}/runlevel1.target.wants +%dir %{_unitdir}/runlevel2.target.wants +%dir %{_unitdir}/runlevel3.target.wants +%dir %{_unitdir}/runlevel4.target.wants +%dir %{_unitdir}/runlevel5.target.wants +%{_mandir}/man8/runlevel.8.gz +%{_mandir}/man8/systemd-initctl.8.gz +%{_mandir}/man8/systemd-initctl.service.8.gz +%{_mandir}/man8/systemd-initctl.socket.8.gz +%{_mandir}/man8/systemd-rc-local-generator.8.gz +%{_mandir}/man8/systemd-sysv-generator.8.gz +%{_mandir}/man8/systemd-update-utmp-runlevel.service.8.gz +%{_mandir}/man8/telinit.8.gz +%{_sbindir}/runlevel +%{_sbindir}/telinit +%{_systemd_util_dir}/systemd-initctl +%{_systemd_util_dir}/systemd-sysv-convert +%{_systemd_util_dir}/systemd-sysv-install +%{_systemdgeneratordir}/systemd-rc-local-generator +%{_systemdgeneratordir}/systemd-sysv-generator +%{_unitdir}/graphical.target.wants/systemd-update-utmp-runlevel.service +%{_unitdir}/local-fs.target.wants/var-lock.mount +%{_unitdir}/local-fs.target.wants/var-run.mount +%{_unitdir}/multi-user.target.wants/systemd-update-utmp-runlevel.service +%{_unitdir}/rc-local.service +%{_unitdir}/rescue.target.wants/systemd-update-utmp-runlevel.service +%{_unitdir}/runlevel0.target +%{_unitdir}/runlevel1.target +%{_unitdir}/runlevel2.target +%{_unitdir}/runlevel3.target +%{_unitdir}/runlevel4.target +%{_unitdir}/runlevel5.target +%{_unitdir}/runlevel6.target +%{_unitdir}/sockets.target.wants/systemd-initctl.socket +%{_unitdir}/systemd-initctl.service +%{_unitdir}/systemd-initctl.socket +%{_unitdir}/systemd-update-utmp-runlevel.service +%{_unitdir}/var-lock.mount +%{_unitdir}/var-run.mount +%if %{with split_usr} +/sbin/runlevel +/sbin/telinit +%endif +# +# Please keep the list sorted (with `LC_ALL=C sort`). +# +%dir %{_localstatedir}/lib/systemd/migrated +%dir %{_localstatedir}/lib/systemd/sysv-convert +%dir %{_unitdir}/runlevel1.target.wants +%dir %{_unitdir}/runlevel2.target.wants +%dir %{_unitdir}/runlevel3.target.wants +%dir %{_unitdir}/runlevel4.target.wants +%dir %{_unitdir}/runlevel5.target.wants +%{_mandir}/man8/runlevel.8.gz +%{_mandir}/man8/systemd-initctl.8.gz +%{_mandir}/man8/systemd-initctl.service.8.gz +%{_mandir}/man8/systemd-initctl.socket.8.gz +%{_mandir}/man8/systemd-rc-local-generator.8.gz +%{_mandir}/man8/systemd-sysv-generator.8.gz +%{_mandir}/man8/systemd-update-utmp-runlevel.service.8.gz +%{_mandir}/man8/telinit.8.gz +%{_sbindir}/runlevel +%{_sbindir}/telinit +%{_systemd_util_dir}/systemd-initctl +%{_systemd_util_dir}/systemd-sysv-convert +%{_systemd_util_dir}/systemd-sysv-install +%{_systemdgeneratordir}/systemd-rc-local-generator +%{_systemdgeneratordir}/systemd-sysv-generator +%{_unitdir}/graphical.target.wants/systemd-update-utmp-runlevel.service +%{_unitdir}/local-fs.target.wants/var-lock.mount +%{_unitdir}/local-fs.target.wants/var-run.mount +%{_unitdir}/multi-user.target.wants/systemd-update-utmp-runlevel.service +%{_unitdir}/rc-local.service +%{_unitdir}/rescue.target.wants/systemd-update-utmp-runlevel.service +%{_unitdir}/runlevel0.target +%{_unitdir}/runlevel1.target +%{_unitdir}/runlevel2.target +%{_unitdir}/runlevel3.target +%{_unitdir}/runlevel4.target +%{_unitdir}/runlevel5.target +%{_unitdir}/runlevel6.target +%{_unitdir}/sockets.target.wants/systemd-initctl.socket +%{_unitdir}/systemd-initctl.service +%{_unitdir}/systemd-initctl.socket +%{_unitdir}/systemd-update-utmp-runlevel.service +%{_unitdir}/var-lock.mount +%{_unitdir}/var-run.mount +%if %{with split_usr} +/sbin/runlevel +/sbin/telinit +%endif diff --git a/systemd.changes b/systemd.changes index 5f793260..de632c3b 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,20 @@ +------------------------------------------------------------------- +Mon Feb 14 07:39:12 UTC 2022 - Franck Bui + +- Rename systemd-sysvinit into systemd-sysvcompat + + systemd-sysvinit was probably provided to allow systems to switch from + sysvinit to systemd by overwriting /sbin/init with a link to systemd. But this + isn't very useful anymore due to the fact that sysvinit is not supported since + several years. Therefore the subpackage contains now the files needed to keep + backward compatibility with SysV init scripts (most notably sysv-generator) + and has been renamed accordingly. The few files that are not specific to + sysvinit (such as /bin/init) have been moved to the main package. + + Normally this new subpackage shouldn't be needed (since all packages use + systemd unit files) unless a 3rd party application is installed and still + relies on SysV init scripts. + ------------------------------------------------------------------- Mon Feb 14 07:31:49 UTC 2022 - Franck Bui diff --git a/systemd.spec b/systemd.spec index 64466d96..5fe9b17d 100644 --- a/systemd.spec +++ b/systemd.spec @@ -167,9 +167,14 @@ Requires(post): pam-config >= 0.79-5 %endif Conflicts: filesystem < 11.5 Conflicts: mkinitrd < 2.7.0 +Provides: sbin_init +Provides: sysvinit:/sbin/init +Conflicts: sbin_init Conflicts: sysvinit Provides: systemd-logger = %{version}-%{release} Obsoletes: systemd-logger < %{version}-%{release} +Provides: systemd-sysvinit = %{version}-%{release} +Obsoletes: systemd-sysvinit < %{version}-%{release} Provides: systemd-analyze = %{version}-%{release} Obsoletes: pm-utils <= 1.4.1 Obsoletes: suspend <= 1.0 @@ -195,6 +200,7 @@ Source201: files.udev Source202: files.container Source203: files.network Source204: files.devel +Source205: files.sysvcompat # Patches listed below are openSUSE specific and should be kept at its # minimum. We try hard to push our changes to upstream but sometimes they are @@ -258,17 +264,24 @@ Conflicts: libudev-devel Development headers and files for libsystemd and libudev libraries for developing and building applications linking to these libraries. -%package sysvinit -Summary: System V init tools +%if %{with sysvcompat} +%package sysvcompat +Summary: SySV and LSB init script support for systemd (deprecated) License: LGPL-2.1-or-later Requires: %{name} = %{version}-%{release} -Provides: sbin_init -Conflicts: sbin_init -Provides: systemd-sysvinit = %{version}-%{release} -Provides: sysvinit:/sbin/init +Provides: systemd-sysvinit:%{_sbindir}/runlevel +Provides: systemd-sysvinit:%{_sbindir}/telinit -%description sysvinit -Drop-in replacement of System V init tools. +%description sysvcompat +This package ships the necessary files that enable minimal SysV and LSB init +scripts support in systemd. It also contains the obsolete SysV init tools +telinit(8) and runlevel(8). You should consider using systemctl(1) instead. + +Unless you have a 3rd party application installed on your system that still +relies on such scripts, this package should not be needed at all. + +Please note that the content of this package is considered as deprecated. +%endif %package -n libsystemd0%{?mini} Summary: Component library for systemd @@ -724,12 +737,13 @@ mkdir -p %{buildroot}/{bin,sbin} # Legacy paths ln -s ../usr/bin/udevadm %{buildroot}/sbin/ ln -s ../usr/bin/systemctl %{buildroot}/bin/ -# Legacy sysvinit tools + ln -s ../usr/lib/systemd/systemd %{buildroot}/sbin/init ln -s ../usr/bin/systemctl %{buildroot}/sbin/reboot ln -s ../usr/bin/systemctl %{buildroot}/sbin/halt ln -s ../usr/bin/systemctl %{buildroot}/sbin/shutdown ln -s ../usr/bin/systemctl %{buildroot}/sbin/poweroff +# Legacy sysvinit tools %if %{with sysvcompat} ln -s ../usr/bin/systemctl %{buildroot}/sbin/telinit ln -s ../usr/bin/systemctl %{buildroot}/sbin/runlevel @@ -1242,36 +1256,10 @@ fi %license LICENSE.LGPL2.1 %include %{SOURCE204} -%files sysvinit +%if %{with sysvcompat} +%files sysvcompat %defattr(-,root,root,-) -%if %{with split_usr} -/sbin/halt -/sbin/init -/sbin/poweroff -/sbin/reboot -/sbin/shutdown -%if %{with sysvcompat} -/sbin/telinit -/sbin/runlevel -%endif -%endif -%{_sbindir}/halt -%{_sbindir}/init -%{_sbindir}/poweroff -%{_sbindir}/reboot -%{_sbindir}/shutdown -%if %{with sysvcompat} -%{_sbindir}/runlevel -%{_sbindir}/telinit -%endif -%if ! 0%{?bootstrap} -%{_mandir}/man1/init.1.gz -%{_mandir}/man8/halt.8.gz -%{_mandir}/man8/poweroff.8.gz -%{_mandir}/man8/reboot.8.gz -%{_mandir}/man8/runlevel.8.gz -%{_mandir}/man8/shutdown.8.gz -%{_mandir}/man8/telinit.8.gz +%include %{SOURCE205} %endif %files -n libsystemd0%{?mini}