Univention Bugzilla – Bug 43691
Convert legacy SysV init scripts to systemd service units
Last modified: 2023-12-07 21:24:12 CET
We should convert all remaining SysV init scripts into systemd service units: - improves robustness - we can get rid of all those horrible shell scripts - we get service supervision for free if desired - it reduces complexity as only one init system gets used - sysv is deprecated $ find -name testframework -prune -o \( -path \*/debian/init -o -path \*/debian/\*.init\* -o -path \*/conffiles/etc/init.d/ \) -printf '%P\n' saml/univention-saml/debian/univention-saml.init container/univention-docker-container-mode/debian/univention-docker-container-mode.init management/univention-directory-policy/debian/univention-directory-policy.init management/univention-directory-listener/debian/univention-directory-listener.init management/univention-directory-notifier/debian/univention-directory-notifier.init management/univention-management-console/debian/univention-management-console-web-server.init management/univention-management-console/debian/univention-management-console-server.init base/univention-updater/debian/univention-updater.univention-maintenance.init base/univention-firewall/debian/univention-firewall.init base/univention-bootsplash/debian/univention-welcome-screen.init base/univention-runit/debian/univention-runit.init base/univention-network-manager/debian/univention-network-common.init base/univention-system-setup/debian/univention-system-setup-boot.init base/univention-system-setup/debian/univention-system-setup-boot.univention-system-setup-boot-prepare.init virtualization/univention-novnc/debian/univention-novnc.init virtualization/univention-virtual-machine-manager-daemon/debian/univention-virtual-machine-manager-daemon.init virtualization/univention-virtual-machine-manager-node/debian/univention-virtual-machine-manager-node-kvm.init test/univention-demo-configuration/debian/univention-demo-configuration.init services/univention-net-installer/debian/univention-net-installer-daemon.init.d services/univention-ad-connector/debian/univention-ad-connector.init services/univention-cloud-init/debian/univention-cloud-init.init services/univention-s4-connector/debian/univention-s4-connector.init services/univention-dhcp/debian/univention-dhcp.init
With find -name testframework -prune -o \( -path \*/debian/init -o -path \*/debian/\*.init\* -o -path \*/conffiles/etc/init.d/\* \) -printf '%P\n' I find these additional init scripts: base/univention-heimdal/conffiles/etc/init.d/heimdal-kdc base/univention-quota/conffiles/etc/init.d/quotarpc base/univention-base-files/conffiles/etc/init.d/rpcbind base/univention-base-files/conffiles/etc/init.d/rdate base/univention-base-files/conffiles/etc/init.d/nscd base/univention-base-files/conffiles/etc/init.d/networking management/univention-ldap/conffiles/etc/init.d/slapd mail/univention-postgrey/conffiles/etc/init.d/postgrey mail/univention-mail-postfix/conffiles/etc/init.d/postfix mail/univention-mail-dovecot/conffiles/etc/init.d/dovecot services/univention-samba/conffiles/etc/init.d/samba # that's Bug 44137 services/univention-samba4/conffiles/etc/init.d/samba # that's Bug 44137 services/univention-dhcp/conffiles/etc/init.d/isc-dhcp-server # that's Bug 43688 services/univention-bind/conffiles/etc/init.d/bind9 # fixed via Bug 43689 nagios/univention-nagios/conffiles/etc/init.d/nagios nagios/univention-nagios/conffiles/etc/init.d/nagios-nrpe-server
> virtualization/univention-novnc/debian/univention-novnc.init Has been migrated in Bug #35428.
git:fbest/43691-init-script-to-systemd-umc for UMC-Web-Server and UMC-Server.
DONE: UDL DONE: UDN DONE: univention-dhcp AKA isc-dhcp-server
(In reply to Philipp Hahn from comment #4) > DONE: Bug #43686 UDL > DONE: Bug #43687 UDN > DONE: Bug #43688 univention-dhcp AKA isc-dhcp-server
This is a meta bug, only some changes in ucs-test have been done referencing it. We probably won't fix all init scripts in UCS 5.0-0.
DONE: univention-system-setup-* TODO: univention-maintenance Bug #52976
# find -name testframework -prune -o -name \*.init -printf '%P\n' TODO test/univention-demo-configuration/debian/univention-demo-configuration.init Bug #52976 TODO base/univention-updater/debian/univention-updater.univention-maintenance.init TODO base/univention-firewall/debian/univention-firewall.init TODO container/univention-docker-container-mode/debian/univention-docker-container-mode.init TRANSITIONAL saml/univention-saml/debian/univention-saml.init TODO management/univention-management-console/debian/univention-management-console-server.init TODO management/univention-management-console/debian/univention-management-console-web-server.init TODO management/univention-directory-policy/debian/univention-directory-policy.init TODO services/univention-cloud-init/debian/univention-cloud-init.init Bug #53337 TODO services/univention-ad-connector/debian/univention-ad-connector.init TODO services/univention-s4-connector/debian/univention-s4-connector.init
(In reply to Philipp Hahn from comment #8) > TODO management/univention-management-console/debian/univention-management-console-server.init > TODO management/univention-management-console/debian/univention-management-console-web-server.init Moved to Bug #53885. (In reply to Florian Best from comment #3) > git:fbest/43691-init-script-to-systemd-umc for UMC-Web-Server and UMC-Server. Moved to fbest/53885-init-script-to-systemd-umc: https://git.knut.univention.de/univention/ucs/-/merge_requests/137
In UCS-4.4 `dpkg --configure univention-network-common` fails if the package `univention-management-console-web-server` is not installed — there is no dependency on it — as ucs44/base/univention-network-manager/debian/univention-network-common.init:4 > # Required-Start: … univention-management-console-web-server …
As of UCS 5.0-3pre unless Bug #53885 gets reverted: # find -name testframework -prune -o -name \*.init -printf '%P\n' TODO test/univention-demo-configuration/debian/univention-demo-configuration.init Bug #52976 TODO base/univention-updater/debian/univention-updater.univention-maintenance.init TODO base/univention-firewall/debian/univention-firewall.init TRANSITIONAL saml/univention-saml/debian/univention-saml.init TODO management/univention-directory-policy/debian/univention-directory-policy.init TODO services/univention-cloud-init/debian/univention-cloud-init.init Bug #53337 TODO services/univention-ad-connector/debian/univention-ad-connector.init TODO services/univention-s4-connector/debian/univention-s4-connector.init
Can be done in a patchlevel release or even later
services/univention-net-installer/debian/univention-net-installer-daemon.init.d [5.0-6] 2bf4a4e151 fix(net-install): Fix network installation doc/changelog/index.rst | 8 + .../univention-net-installer/81univention-net-installer.inst | 13 +- services/univention-net-installer/debian/changelog | 4 +- services/univention-net-installer/debian/control | 4 +- services/univention-net-installer/debian/rules | 2 +- services/univention-net-installer/debian/ucslint.overrides | 4 +- .../debian/univention-net-installer-daemon.init.d | 235 ---------------------------- .../debian/univention-net-installer-daemon.service | 12 ++ .../debian/univention-net-installer.maintscript | 1 + .../debian/univention-net-installer.postinst | 22 +-- ... 13 files changed, 92 insertions(+), 294 deletions(-) Package: univention-net-installer Version: 13.0.7-1 Branch: ucs_5.0-0 Scope: ucs5.0-6