forked from pool/virtualbox
- VirtualBox has always been started by systemd utilizing the old-style scripts in /etc/init.d.
These should be converted to the service files native to systemd. This issue has been forced as a recent update to Tumbleweed broke the startup of VB for both TW hosts and guests. This change starts the conversion to native systemd files. The original scripts are still used; however, service files are used to start and stop the VB components. In a later change, all action will be accomplished using systemd service files. OBS-URL: https://build.opensuse.org/package/show/Virtualization/virtualbox?expand=0&rev=327
This commit is contained in:
parent
c3b3915a83
commit
1ffdd9492b
21
vboxadd-service.service
Normal file
21
vboxadd-service.service
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
[Unit]
|
||||||
|
SourcePath=/etc/init.d/vboxadd-service
|
||||||
|
Description=Start/Stop VirtualBox Guest Linux module
|
||||||
|
After=remote-fs.target
|
||||||
|
Wants=remote-fs.target
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=simple
|
||||||
|
Restart=no
|
||||||
|
TimeoutSec=5min
|
||||||
|
IgnoreSIGPIPE=no
|
||||||
|
KillMode=process
|
||||||
|
GuessMainPID=no
|
||||||
|
RemainAfterExit=yes
|
||||||
|
SuccessExitStatus=5 6
|
||||||
|
ExecStart=/etc/init.d/vboxadd-service start
|
||||||
|
ExecStop=/etc/init.d/vboxadd-service stop
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target.wants
|
||||||
|
|
21
vboxdrv.service
Normal file
21
vboxdrv.service
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=Start/Stop VirtualBox host kernel modules
|
||||||
|
SourcePath=/etc/init.d/vboxdrv
|
||||||
|
After=remote-fs.target
|
||||||
|
Wants=remote-fs.target
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=simple
|
||||||
|
Restart=no
|
||||||
|
TimeoutSec=5min
|
||||||
|
IgnoreSIGPIPE=no
|
||||||
|
KillMode=process
|
||||||
|
GuessMainPID=no
|
||||||
|
RemainAfterExit=yes
|
||||||
|
SuccessExitStatus=5 6
|
||||||
|
ExecStart=/etc/init.d/vboxdrv start
|
||||||
|
ExecStop=/etc/init.d/vboxdrv stop
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target.wants
|
||||||
|
|
@ -1,3 +1,13 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Sat Apr 29 04:38:33 UTC 2017 - Larry.Finger@lwfinger.net
|
||||||
|
|
||||||
|
- VirtualBox has always been started by systemd utilizing the old-style scripts in /etc/init.d.
|
||||||
|
These should be converted to the service files native to systemd. This issue has been forced
|
||||||
|
as a recent update to Tumbleweed broke the startup of VB for both TW hosts and guests. This
|
||||||
|
change starts the conversion to native systemd files. The original scripts are still used; however,
|
||||||
|
service files are used to start and stop the VB components. In a later change, all action will
|
||||||
|
be accomplished using systemd service files.
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Thu Apr 20 19:51:27 UTC 2017 - Larry.Finger@lwfinger.net
|
Thu Apr 20 19:51:27 UTC 2017 - Larry.Finger@lwfinger.net
|
||||||
|
|
||||||
|
@ -47,6 +47,8 @@ Source11: %{name}-60-vboxdrv.rules
|
|||||||
# init script to start virtual boxes during boot, to be configured via /etc/sysconfig/vbox bnc#582398
|
# init script to start virtual boxes during boot, to be configured via /etc/sysconfig/vbox bnc#582398
|
||||||
Source12: %{name}-vboxes
|
Source12: %{name}-vboxes
|
||||||
Source13: %{name}-sysconfig.vbox
|
Source13: %{name}-sysconfig.vbox
|
||||||
|
Source14: vboxdrv.service
|
||||||
|
Source15: vboxadd-service.service
|
||||||
Source98: %{name}-rpmlintrc
|
Source98: %{name}-rpmlintrc
|
||||||
Source99: %{name}-patch-source.sh
|
Source99: %{name}-patch-source.sh
|
||||||
#rework init scripts to fit suse needs
|
#rework init scripts to fit suse needs
|
||||||
@ -100,6 +102,7 @@ BuildRequires: SDL-devel
|
|||||||
BuildRequires: acpica
|
BuildRequires: acpica
|
||||||
BuildRequires: alsa-devel
|
BuildRequires: alsa-devel
|
||||||
BuildRequires: bin86
|
BuildRequires: bin86
|
||||||
|
BuildRequires: systemd-rpm-macros
|
||||||
%if 0%{?suse_version} > 1325
|
%if 0%{?suse_version} > 1325
|
||||||
BuildRequires: libboost_headers-devel
|
BuildRequires: libboost_headers-devel
|
||||||
%else
|
%else
|
||||||
@ -181,6 +184,7 @@ BuildRequires: xorg-x11-libXext-devel-32bit
|
|||||||
BuildRequires: xorg-x11-libXmu-devel-32bit
|
BuildRequires: xorg-x11-libXmu-devel-32bit
|
||||||
BuildRequires: xorg-x11-libXt-devel-32bit
|
BuildRequires: xorg-x11-libXt-devel-32bit
|
||||||
%endif
|
%endif
|
||||||
|
%{?systemd_requires}
|
||||||
|
|
||||||
%description
|
%description
|
||||||
VirtualBox is an extremely feature rich, high performance product
|
VirtualBox is an extremely feature rich, high performance product
|
||||||
@ -461,6 +465,8 @@ install -d -m 755 %{buildroot}%{_libdir}/xorg/modules/drivers
|
|||||||
install -d -m 755 %{buildroot}%{_libdir}/xorg/modules/input
|
install -d -m 755 %{buildroot}%{_libdir}/xorg/modules/input
|
||||||
install -d -m 755 %{buildroot}%{_sysconfdir}/default
|
install -d -m 755 %{buildroot}%{_sysconfdir}/default
|
||||||
install -d -m 755 %{buildroot}%{_sysconfdir}/init.d
|
install -d -m 755 %{buildroot}%{_sysconfdir}/init.d
|
||||||
|
install -d %{buildroot}%{_unitdir}
|
||||||
|
install -d %{buildroot}%{_unitdir}/multi-user.target.wants
|
||||||
install -d -m 755 %{buildroot}%{_sysconfdir}/vbox
|
install -d -m 755 %{buildroot}%{_sysconfdir}/vbox
|
||||||
install -d -m 755 %{buildroot}%{_udevrulesdir}
|
install -d -m 755 %{buildroot}%{_udevrulesdir}
|
||||||
install -d -m 755 %{buildroot}%{_sysconfdir}/X11/xinit/xinitrc.d
|
install -d -m 755 %{buildroot}%{_sysconfdir}/X11/xinit/xinitrc.d
|
||||||
@ -580,6 +586,11 @@ sed -i "s|%{NOLSB}%|yes|g;s|%{DEBIAN}%||g;s|%{PACKAGE}%|virtualbox|g" \
|
|||||||
src/VBox/Installer/linux/vboxdrv.sh
|
src/VBox/Installer/linux/vboxdrv.sh
|
||||||
install -m 744 src/VBox/Installer/linux/vboxdrv.sh %{buildroot}%{_sysconfdir}/init.d/vboxdrv
|
install -m 744 src/VBox/Installer/linux/vboxdrv.sh %{buildroot}%{_sysconfdir}/init.d/vboxdrv
|
||||||
ln -s %{_sysconfdir}/init.d/vboxdrv %{buildroot}%{_sbindir}/rcvboxdrv
|
ln -s %{_sysconfdir}/init.d/vboxdrv %{buildroot}%{_sbindir}/rcvboxdrv
|
||||||
|
# Service files to load kernel modules on boot
|
||||||
|
install -m 0644 %{SOURCE14} %{buildroot}%{_unitdir}/vboxdrv.service
|
||||||
|
install -m 0644 %{SOURCE14} %{buildroot}%{_unitdir}/multi-user.target.wants/vboxdrv.service
|
||||||
|
install -m 0644 %{SOURCE15} %{buildroot}%{_unitdir}/vboxadd-service.service
|
||||||
|
install -m 0644 %{SOURCE15} %{buildroot}%{_unitdir}/multi-user.target.wants/vboxadd-service.service
|
||||||
# Init script to start virtual boxes during boot
|
# Init script to start virtual boxes during boot
|
||||||
install -m 755 %{SOURCE12} %{buildroot}%{_sysconfdir}/init.d/vboxes
|
install -m 755 %{SOURCE12} %{buildroot}%{_sysconfdir}/init.d/vboxes
|
||||||
ln -s %{_sysconfdir}/init.d/vboxes %{buildroot}%{_sbindir}/rcvboxes
|
ln -s %{_sysconfdir}/init.d/vboxes %{buildroot}%{_sbindir}/rcvboxes
|
||||||
@ -656,11 +667,13 @@ popd
|
|||||||
|
|
||||||
%pre
|
%pre
|
||||||
getent group vboxusers >/dev/null || groupadd -r vboxusers
|
getent group vboxusers >/dev/null || groupadd -r vboxusers
|
||||||
|
%service_add_pre vboxdrv.service
|
||||||
|
|
||||||
%pre guest-tools
|
%pre guest-tools
|
||||||
# Add groups for seamless mode and shared folders:
|
# Add groups for seamless mode and shared folders:
|
||||||
getent group vboxguest >/dev/null || groupadd -r vboxguest
|
getent group vboxguest >/dev/null || groupadd -r vboxguest
|
||||||
getent group vboxsf >/dev/null || groupadd -r vboxsf
|
getent group vboxsf >/dev/null || groupadd -r vboxsf
|
||||||
|
%service_add_pre vboadd.service
|
||||||
|
|
||||||
#######################################################
|
#######################################################
|
||||||
# scriptlets - post
|
# scriptlets - post
|
||||||
@ -676,6 +689,7 @@ getent group vboxsf >/dev/null || groupadd -r vboxsf
|
|||||||
%set_permissions %{_vbox_instdir}/VBoxNetAdpCtl
|
%set_permissions %{_vbox_instdir}/VBoxNetAdpCtl
|
||||||
%set_permissions %{_vbox_instdir}/VBoxHeadless
|
%set_permissions %{_vbox_instdir}/VBoxHeadless
|
||||||
%set_permissions %{_vbox_instdir}/VBoxSDL
|
%set_permissions %{_vbox_instdir}/VBoxSDL
|
||||||
|
%service_add_post vboxdrv.service
|
||||||
|
|
||||||
%post qt
|
%post qt
|
||||||
%set_permissions %{_vbox_instdir}/VirtualBox
|
%set_permissions %{_vbox_instdir}/VirtualBox
|
||||||
@ -692,6 +706,7 @@ getent group vboxsf >/dev/null || groupadd -r vboxsf
|
|||||||
%post guest-tools
|
%post guest-tools
|
||||||
%fillup_and_insserv -f -y vboxadd
|
%fillup_and_insserv -f -y vboxadd
|
||||||
%fillup_and_insserv -f -y vboxadd-service
|
%fillup_and_insserv -f -y vboxadd-service
|
||||||
|
%service_add_post vboxadd-service.service
|
||||||
|
|
||||||
%post websrv
|
%post websrv
|
||||||
%fillup_and_insserv -f -y vboxweb-service
|
%fillup_and_insserv -f -y vboxweb-service
|
||||||
@ -701,11 +716,13 @@ getent group vboxsf >/dev/null || groupadd -r vboxsf
|
|||||||
|
|
||||||
%preun
|
%preun
|
||||||
%stop_on_removal vboxdrv
|
%stop_on_removal vboxdrv
|
||||||
|
%service_del_preun vboxdrv.service
|
||||||
exit 0
|
exit 0
|
||||||
|
|
||||||
%preun guest-tools
|
%preun guest-tools
|
||||||
%stop_on_removal vboxadd-service
|
%stop_on_removal vboxadd-service
|
||||||
%stop_on_removal vboxadd
|
%stop_on_removal vboxadd
|
||||||
|
%service_del_preun vboxadd-service.service
|
||||||
exit 0
|
exit 0
|
||||||
|
|
||||||
%preun websrv
|
%preun websrv
|
||||||
@ -720,11 +737,15 @@ exit 0
|
|||||||
/sbin/ldconfig
|
/sbin/ldconfig
|
||||||
%restart_on_update vboxdrv
|
%restart_on_update vboxdrv
|
||||||
%insserv_cleanup
|
%insserv_cleanup
|
||||||
|
# immediately restarting virtualbox may not work. As such wait for the next reboot to restart
|
||||||
|
export DISABLE_RESTART_ON_UPDATE=yes
|
||||||
|
%service_del_postun vboxdrv.service
|
||||||
|
|
||||||
%postun guest-tools
|
%postun guest-tools
|
||||||
%restart_on_update vboxadd
|
%restart_on_update vboxadd
|
||||||
%restart_on_update vboxadd-service
|
%restart_on_update vboxadd-service
|
||||||
%insserv_cleanup
|
%insserv_cleanup
|
||||||
|
%service_del_postun vboxadd-service.service
|
||||||
|
|
||||||
%postun websrv
|
%postun websrv
|
||||||
%restart_on_update vboxweb-service
|
%restart_on_update vboxweb-service
|
||||||
@ -794,6 +815,10 @@ exit 0
|
|||||||
%dir %{_datadir}/virtualbox
|
%dir %{_datadir}/virtualbox
|
||||||
%config %{_sysconfdir}/default/virtualbox
|
%config %{_sysconfdir}/default/virtualbox
|
||||||
%config %{_sysconfdir}/init.d/vboxdrv
|
%config %{_sysconfdir}/init.d/vboxdrv
|
||||||
|
%dir %{_unitdir}
|
||||||
|
%dir %{_unitdir}/multi-user.target.wants
|
||||||
|
%{_unitdir}/vboxdrv.service
|
||||||
|
%{_unitdir}/multi-user.target.wants/vboxdrv.service
|
||||||
%dir %{_sysconfdir}/vbox
|
%dir %{_sysconfdir}/vbox
|
||||||
%config %{_sysconfdir}/vbox/vbox.cfg
|
%config %{_sysconfdir}/vbox/vbox.cfg
|
||||||
%{_sysconfdir}/init.d/vboxes
|
%{_sysconfdir}/init.d/vboxes
|
||||||
@ -843,6 +868,8 @@ exit 0
|
|||||||
%{_udevrulesdir}/60-vboxguest.rules
|
%{_udevrulesdir}/60-vboxguest.rules
|
||||||
%config %{_sysconfdir}/init.d/vboxadd
|
%config %{_sysconfdir}/init.d/vboxadd
|
||||||
%config %{_sysconfdir}/init.d/vboxadd-service
|
%config %{_sysconfdir}/init.d/vboxadd-service
|
||||||
|
%{_unitdir}/vboxadd-service.service
|
||||||
|
%{_unitdir}/multi-user.target.wants/vboxadd-service.service
|
||||||
%{_sbindir}/rcvboxadd
|
%{_sbindir}/rcvboxadd
|
||||||
%{_sbindir}/rcvboxadd-service
|
%{_sbindir}/rcvboxadd-service
|
||||||
%if 0%{?suse_version} > 1310
|
%if 0%{?suse_version} > 1310
|
||||||
|
Loading…
Reference in New Issue
Block a user