[packages/VirtualBox] add autostart service

glen glen at pld-linux.org
Sun Mar 2 22:37:35 CET 2014


commit 38d06cb917f0cc76d823b55f3b3a4a424f8130cd
Author: Elan Ruusamäe <glen at delfi.ee>
Date:   Sun Mar 2 23:36:38 2014 +0200

    add autostart service

 VirtualBox.spec | 20 ++++++++++++++++++++
 autostart.cfg   | 14 ++++++++++++++
 2 files changed, 34 insertions(+)
---
diff --git a/VirtualBox.spec b/VirtualBox.spec
index b5c6a41..21a2189 100644
--- a/VirtualBox.spec
+++ b/VirtualBox.spec
@@ -80,6 +80,8 @@ Source5:	mount.vdi
 Source6:	udev.rules
 Source7:	%{pname}-virtualbox-host-modules-load.conf
 Source8:	%{pname}-virtualbox-guest-modules-load.conf
+Source9:	vboxautostart.init
+Source10:	autostart.cfg
 Patch0:		%{pname}-configure-spaces.patch
 Patch1:		%{pname}-VBoxSysInfo.patch
 Patch2:		%{pname}-warning_workaround.patch
@@ -620,6 +622,7 @@ rm -rf $RPM_BUILD_ROOT
 %if %{with userspace}
 install -d $RPM_BUILD_ROOT{%{_bindir},/sbin,%{_sbindir},%{_libdir}/%{pname}/ExtensionPacks} \
 	$RPM_BUILD_ROOT{%{_pixmapsdir},%{_desktopdir},%{_datadir}/mime/packages} \
+	$RPM_BUILD_ROOT%{_sysconfdir}/vbox \
 	$RPM_BUILD_ROOT%{_libdir}/xorg/modules/{drivers,dri,input} \
 	$RPM_BUILD_ROOT{/lib/udev,/etc/udev/rules.d} \
 	$RPM_BUILD_ROOT{/etc/rc.d/init.d,%{systemdunitdir},%{_usrsrc}}
@@ -655,6 +658,10 @@ install -p src/VBox/Additions/x11/Installer/98vboxadd-xclient $RPM_BUILD_ROOT%{_
 install -p %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxservice
 install -p %{SOURCE3} $RPM_BUILD_ROOT%{systemdunitdir}/vboxservice.service
 
+install -p %{SOURCE9} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxautostart
+%{__sed} -i -e 's#@INSTALL_DIR@#%{_libdir}/%{pname}#' $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxautostart
+cp -p %{SOURCE10} $RPM_BUILD_ROOT%{_sysconfdir}/vbox
+
 %if %{with lightdm}
 install -d $RPM_BUILD_ROOT%{_datadir}/xgreeters
 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_sbindir}}/vbox-greeter
@@ -760,6 +767,9 @@ rm -rf $RPM_BUILD_ROOT
 %groupadd -g 221 -r -f vbox
 
 %post
+/sbin/chkconfig --add vboxautostart
+%service -n vboxautostart restart
+
 for i in /sys/bus/usb/devices/*; do
 	if [ -r "$i/dev" ]; then
 		dev="`cat "$i/dev" 2>/dev/null || true`"
@@ -779,6 +789,13 @@ On Guest Linux system you might want to install:
 
 EOF
 
+%preun
+if [ "$1" = "0" ]; then
+	/sbin/chkconfig --del vboxautostart
+	%service vboxautostart -q stop
+fi
+
+
 %postun
 if [ "$1" = "0" ]; then
 	%groupremove vbox
@@ -846,6 +863,9 @@ dkms remove -m vboxhost -v %{version}-%{rel} --rpm_safe_upgrade --all || :
 %if %{with userspace}
 %files
 %defattr(644,root,root,755)
+%dir %attr(750,root,vbox) %{_sysconfdir}/vbox
+%attr(640,root,vbox) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vbox/autostart.cfg
+%attr(754,root,root) /etc/rc.d/init.d/vboxautostart
 %attr(755,root,root) /sbin/mount.vdi
 %attr(755,root,root) %{_bindir}/VBox
 %attr(755,root,root) %{_bindir}/VBoxAutostart
diff --git a/autostart.cfg b/autostart.cfg
new file mode 100644
index 0000000..f1a21b9
--- /dev/null
+++ b/autostart.cfg
@@ -0,0 +1,14 @@
+# To autostart vms, you need to do the following (as user):
+#
+# 1. set autostart dbpath:
+# $ VBoxManage setproperty autostartdbpath /etc/vbox
+# 2. set autostart enabled
+# $ VBoxManage modifyvm  <uuid|vmname> --autostart-enabled on
+
+# Default policy is to deny starting a VM, the other option is "allow".
+default_policy = deny
+
+# Create an entry for each user allowed to run autostart
+root = {
+	allow = true
+}
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/VirtualBox.git/commitdiff/38d06cb917f0cc76d823b55f3b3a4a424f8130cd



More information about the pld-cvs-commit mailing list