]> git.pld-linux.org Git - packages/VirtualBox.git/blobdiff - VirtualBox.spec
deps for guest initscripts
[packages/VirtualBox.git] / VirtualBox.spec
index 4c5933e0141ac700a9992011958c29e2a3d4a368..3c13c26bb2a6f2e04db8355858ffe60e996c67b3 100644 (file)
 %define                _enable_debug_packages  0
 %endif
 
-%define                rel             8
+%define                rel             7
 %define                pname           VirtualBox
 Summary:       VirtualBox - x86 hardware virtualizer
 Summary(pl.UTF-8):     VirtualBox - wirtualizator sprzętu x86
 Name:          %{pname}%{_alt_kernel}
-Version:       4.2.6
+Version:       4.2.12
 Release:       %{rel}
 License:       GPL v2
 Group:         Applications/Emulators
 Source0:       http://download.virtualbox.org/virtualbox/%{version}/%{pname}-%{version}.tar.bz2
-# Source0-md5: d680aeb3b4379b8281527aeb012b2df5
+# Source0-md5: 654e45054ae6589452508d37403dc800
 Source1:       http://download.virtualbox.org/virtualbox/%{version}/VBoxGuestAdditions_%{version}.iso
-# Source1-md5: 53fc6c0e400e1e40d1896d35ba46a945
+# Source1-md5: 403098e688f9e7f4273de680f6734983
+Source2:       vboxservice.init
 Source3:       %{pname}-vboxdrv.init
 Source4:       %{pname}-vboxguest.init
 Source5:       %{pname}-vboxnetflt.init
@@ -66,6 +67,7 @@ Patch2:               %{pname}-warning_workaround.patch
 Patch3:                %{pname}-dri.patch
 Patch4:                %{pname}-disable_build_NetBiosBin.patch
 Patch5:                xserver-1.12.patch
+Patch6:                gcc48.patch
 # ubuntu patches
 Patch10:       16-no-update.patch
 Patch11:       18-system-xorg.patch
@@ -150,9 +152,13 @@ Requires(pre):     /usr/bin/getgid
 Requires(pre): /usr/sbin/groupadd
 Requires:      QtCore >= 4.7.0
 Requires:      desktop-file-utils
+Requires:      fontconfig
+Requires:      fonts-Type1-urw
 Requires:      libvncserver >= 0.9.9
+Requires:      udev-core
 Suggests:      gxmessage
 Provides:      group(vbox)
+Obsoletes:     VirtualBox-udev < 4.2.10-5
 ExclusiveArch: %{ix86} %{x8664}
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
@@ -175,6 +181,15 @@ BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 # which lead to 'Stripping ... ELF shared libraries... (...)/nls/qt_ro.qm: File format not recognized'
 %define                _noautostrip    .*%{_libdir}/%{name}/.*
 
+%define                vbox_kernel_post(d:)    \
+if [ -x /etc/rc.d/init.d/%{-d*} ]; then \
+       %{expand:%service %%{-d*} restart %%*} \
+else \
+       /sbin/rmmod %{-d*} || : \
+       /sbin/modprobe -s %{-d*} || : \
+fi \
+%{nil}
+
 %description
 Oracle VirtualBox is a general-purpose full virtualizer for x86
 hardware. Targeted at server, desktop and embedded use, it is now the
@@ -227,20 +242,6 @@ Group:             Documentation
 %description doc
 This package contains VirtualBox User Manual.
 
-%package udev
-Summary:       udev rules for VirtualBox kernel modules
-Summary(pl.UTF-8):     Reguły udev dla modułów jądra Linuksa dla VirtualBoksa
-Group:         Base/Kernel
-Requires:      udev-core
-
-%description udev
-udev rules for VirtualBox kernel modules.
-
-You should install this package in your Host OS and in Guest OS.
-
-%description udev -l pl.UTF-8
-Reguły udev dla modułów jądra Linuksa dla VirtualBoksa.
-
 %package additions
 Summary:       VirtualBox Guest Additions
 Group:         Base
@@ -254,19 +255,34 @@ This package contains ISO9660 image with drivers for Guest OS.
 You should install this package in your Host OS.
 
 %package guest
-Summary:       VirtualBox Guest Additions
+Summary:       VirtualBox Guest tools
 Group:         Base
-Requires:      xorg-driver-input-vboxmouse = %{version}-%{release}
-Requires:      xorg-driver-video-vboxvideo = %{version}-%{release}
-Suggests:      kernel%{_alt_kernel}-misc-vboxsf = %{version}-%{rel}@%{_kernel_ver_str}
-Suggests:      kernel%{_alt_kernel}-misc-vboxvideo = %{version}-%{rel}@%{_kernel_ver_str}
+Requires(post,preun):  /sbin/chkconfig
+Requires:      rc-scripts
+Suggests:      kernel(vboxguest)
+Suggests:      kernel(vboxsf)
 
 %description guest
 Tools that utilize kernel modules for supporting integration with the
-Host, including file sharing and tracking of mouse pointer movement
-and X.org X11 video and mouse driver.
+Host, including file sharing.
 
-You should install this package in your Guest OS.
+You should install this package in your Guest OS for base VirtualBox
+communication
+
+%package guest-x11
+Summary:       VirtualBox Guest Additions
+Group:         Base
+Requires:      %{name}-guest = %{version}-%{release}
+Requires:      xorg-driver-video-vboxvideo = %{version}-%{release}
+Suggests:      kernel(vboxvideo)
+Obsoletes:     xorg-driver-input-vboxmouse < %{version}-%{release}
+
+%description guest-x11
+Tools for X11 session that utilize kernel modules for supporting
+integration with the Host, like tracking of mouse pointer movement and
+X.org X11 video and mouse drivers
+
+You should install this package in your Guest OS for X11 session.
 
 %package -n pam-pam_vbox
 Summary:       PAM module to perform automated guest logons
@@ -276,20 +292,6 @@ Group:             Base
 PAM module (Pluggable Authentication Module) which can be used to
 perform automated guest logons.
 
-%package -n xorg-driver-input-vboxmouse
-Summary:       X.org mouse driver for VirtualBox guest OS
-Summary(pl.UTF-8):     Sterownik myszy dla systemu gościa w VirtualBoksie
-Group:         X11/Applications
-Requires:      xorg-xserver-server >= 1.0.99.901
-Requires:      xorg-xserver-server(xinput-abi) <= 18.0
-Requires:      xorg-xserver-server(xinput-abi) >= 4.0
-
-%description -n xorg-driver-input-vboxmouse
-X.org mouse driver for VirtualBox guest OS.
-
-%description -n xorg-driver-input-vboxmouse  -l pl.UTF-8
-Sterownik myszy dla systemu gościa w VirtualBoksie.
-
 %package -n xorg-driver-video-vboxvideo
 Summary:       X.org video driver for VirtualBox guest OS
 Summary(pl.UTF-8):     Sterownik grafiki dla systemu gościa w VirtualBoksie
@@ -297,7 +299,7 @@ Group:              X11/Applications
 Requires:      Mesa-dri-driver-swrast
 Requires:      xorg-xserver-libdri >= 1.7.4
 Requires:      xorg-xserver-server >= 1.0.99.901
-Requires:      xorg-xserver-server(videodrv-abi) <= 13.1
+Requires:      xorg-xserver-server(videodrv-abi) <= 14.1
 Requires:      xorg-xserver-server(videodrv-abi) >= 2.0
 
 %description -n xorg-driver-video-vboxvideo
@@ -512,6 +514,7 @@ Moduł jądra Linuksa dla VirtualBoksa - sterownik obsługi DRM.
 %patch3 -p1
 %patch4 -p1
 %patch5 -p1
+%patch6 -p1
 
 %{__sed} -i -e 's,@VBOX_DOC_PATH@,%{_docdir}/%{name}-%{version},' \
        -e 's/Categories=.*/Categories=Utility;Emulator;/' src/VBox/Installer/common/virtualbox.desktop.in
@@ -556,6 +559,7 @@ kmk %{?_smp_mflags} \
        USER=%(id -un) \
        VBOX_VERSION_STRING='$(VBOX_VERSION_MAJOR).$(VBOX_VERSION_MINOR).$(VBOX_VERSION_BUILD)'_PLD \
        XSERVER_VERSION="$XSERVER_VERSION" \
+       VBOX_USE_SYSTEM_XORG_HEADERS=1 \
        TOOL_GCC3_CFLAGS="%{rpmcflags}" \
        TOOL_GCC3_CXXFLAGS="%{rpmcxxflags}" \
        VBOX_GCC_OPT="%{rpmcxxflags}" \
@@ -585,12 +589,13 @@ rm -rf $RPM_BUILD_ROOT
 %if %{with userspace}
 install -d $RPM_BUILD_ROOT{%{_bindir},%{_sbindir},%{_libdir}/%{pname}/ExtensionPacks} \
        $RPM_BUILD_ROOT{%{_pixmapsdir},%{_desktopdir}} \
-       $RPM_BUILD_ROOT%{_libdir}/xorg/modules/{drivers,dri,input}
+       $RPM_BUILD_ROOT%{_libdir}/xorg/modules/{drivers,dri,input} \
+       $RPM_BUILD_ROOT{/lib/udev,/etc/udev/rules.d}
 
 # test if we can hardlink -- %{_builddir} and $RPM_BUILD_ROOT on same partition
 if cp -al VBox.png $RPM_BUILD_ROOT/Vbox.png 2>/dev/null; then
        l=l
-       rm -f $RPM_BUILD_ROOT/VBox.png
+       %{__rm} -f $RPM_BUILD_ROOT/VBox.png
 fi
 
 cp -a$l %{outdir}/* $RPM_BUILD_ROOT%{_libdir}/%{pname}
@@ -608,42 +613,38 @@ for f in {VBox{BFE,Headless,Manage,SDL,SVC,Tunctl,XPCOMIPCD},VirtualBox}; do
        ln -s %{_libdir}/%{pname}/VirtualBox-wrapper.sh $RPM_BUILD_ROOT%{_bindir}/$f
 done
 
-mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/VBox.png,%{_pixmapsdir}/virtualbox.png}
-mv $RPM_BUILD_ROOT{%{_libdir}/%{pname},%{_desktopdir}}/virtualbox.desktop
+%{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/VBox.png,%{_pixmapsdir}/virtualbox.png}
+%{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname},%{_desktopdir}}/virtualbox.desktop
 
-mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/vboxmouse_drv.so,%{_libdir}/xorg/modules/input/vboxmouse_drv.so}
-mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions/vboxvideo_drv.so,%{_libdir}/xorg/modules/drivers/vboxvideo_drv.so}
-mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions/VBoxOGL.so,%{_libdir}/xorg/modules/dri/vboxvideo_dri.so}
-# xorg other driver versions
-rm -vf $RPM_BUILD_ROOT%{_libdir}/%{pname}/vboxmouse_drv*.{o,so}
-rm -vf $RPM_BUILD_ROOT%{_libdir}/%{pname}/vboxvideo_drv*.{o,so}
+%{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions/vboxvideo_drv_system.so,%{_libdir}/xorg/modules/drivers/vboxvideo_drv.so}
+%{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions/VBoxOGL.so,%{_libdir}/xorg/modules/dri/vboxvideo_dri.so}
 
 # XXX: where else to install them that vboxvideo_dri.so finds them? patch with rpath?
-mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLarrayspu.so
-mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLcrutil.so
-mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLerrorspu.so
-mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLfeedbackspu.so
-mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLpackspu.so
-mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLpassthroughspu.so
-
-install -d $RPM_BUILD_ROOT/etc/udev/rules.d
+%{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLarrayspu.so
+%{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLcrutil.so
+%{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLerrorspu.so
+%{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLfeedbackspu.so
+%{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLpackspu.so
+%{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLpassthroughspu.so
+
 cp -a %{SOURCE11} $RPM_BUILD_ROOT/etc/udev/rules.d/virtualbox.rules
+%{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname},/lib/udev}/VBoxCreateUSBNode.sh
 
 install -d $RPM_BUILD_ROOT/%{_lib}/security
-mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,/%{_lib}/security}/pam_vbox.so
+%{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,/%{_lib}/security}/pam_vbox.so
 
 # cleanup unpackaged
-rm -r $RPM_BUILD_ROOT%{_libdir}/%{pname}/{src,sdk,testcase}
-rm -r $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/src
-rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/vboxkeyboard.tar.bz2
-rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/tst*
-rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/ExtensionPacks/VNC/ExtPack-license.*
+%{__rm} -r $RPM_BUILD_ROOT%{_libdir}/%{pname}/{src,sdk,testcase}
+%{__rm} -r $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/src
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/vboxkeyboard.tar.bz2
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/tst*
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/ExtensionPacks/VNC/ExtPack-license.*
 
 # Guest Only Tools
 install -d $RPM_BUILD_ROOT/etc/{X11/xinit/xinitrc.d,xdg/autostart}
-mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_bindir}}/VBoxService
-mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_bindir}}/VBoxClient
-mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_bindir}}/VBoxControl
+%{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_bindir}}/VBoxService
+%{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_bindir}}/VBoxClient
+%{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_bindir}}/VBoxControl
 install -p -D src/VBox/Additions/x11/Installer/98vboxadd-xclient \
        $RPM_BUILD_ROOT/etc/X11/xinit/xinitrc.d/98vboxadd-xclient.sh
 cp -p src/VBox/Additions/x11/Installer/vboxclient.desktop \
@@ -651,35 +652,36 @@ cp -p src/VBox/Additions/x11/Installer/vboxclient.desktop \
 
 # unknown - checkme
 %if 1
-rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/SUPInstall
-rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/SUPLoggerCtl
-rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/SUPUninstall
-rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/VBox.sh
-rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/vboxshell.py
-rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/xpidl
-rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/runasroot.sh
-rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/load.sh
-rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/loadall.sh
-rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/dtrace/lib/%{vbox_arch}/CPUMInternal.d
-rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/dtrace/lib/%{vbox_arch}/cpumctx.d
-rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/dtrace/lib/%{vbox_arch}/vbox-arch-types.d
-rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/dtrace/lib/%{vbox_arch}/vbox-types.d
-rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/dtrace/lib/%{vbox_arch}/vm.d
-rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/dtrace/lib/%{vbox_arch}/x86.d
-rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/dtrace/testcase/%{vbox_arch}/vbox-vm-struct-test.d
-rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/helpers/generate_service_file
-rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/scripts/VBoxHeadlessXOrg.sh
-rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/scripts/generated.sh
-rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/scripts/init_template.sh
-rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/scripts/install_service
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/SUPInstall
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/SUPLoggerCtl
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/SUPUninstall
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/VBox.sh
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/vboxshell.py
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/xpidl
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/runasroot.sh
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/load.sh
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/loadall.sh
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/dtrace/lib/%{vbox_arch}/CPUMInternal.d
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/dtrace/lib/%{vbox_arch}/cpumctx.d
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/dtrace/lib/%{vbox_arch}/vbox-arch-types.d
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/dtrace/lib/%{vbox_arch}/vbox-types.d
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/dtrace/lib/%{vbox_arch}/vm.d
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/dtrace/lib/%{vbox_arch}/x86.d
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/dtrace/testcase/%{vbox_arch}/vbox-vm-struct-test.d
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/helpers/generate_service_file
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/scripts/VBoxHeadlessXOrg.sh
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/scripts/generated.sh
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/scripts/init_template.sh
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/scripts/install_service
 %endif
 
 # packaged by kernel part
-rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/mount.vboxsf
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/mount.vboxsf
 %endif
 
 %if %{with kernel}
 install -d $RPM_BUILD_ROOT{/etc/{rc.d/init.d,modules-load.d},%{_sbindir},%{systemdunitdir}}
+install -p %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxservice
 install -p %{SOURCE3} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxdrv
 install -p %{SOURCE4} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxguest
 install -p %{SOURCE5} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxnetflt
@@ -721,6 +723,15 @@ rm -rf $RPM_BUILD_ROOT
 
 %post
 %update_desktop_database
+for i in /sys/bus/usb/devices/*; do
+       if [ -r "$i/dev" ]; then
+               dev="`cat "$i/dev" 2>/dev/null || true`"
+               major="`expr "$dev" : '\(.*\):' 2> /dev/null || true`"
+               minor="`expr "$dev" : '.*:\(.*\)' 2> /dev/null || true`"
+               class="`cat $i/bDeviceClass 2> /dev/null || true`"
+               /lib/udev/VBoxCreateUSBNode.sh "$major" "$minor" "$class" vbox 2>/dev/null
+       fi
+done
 
 cat << 'EOF'
 You must install vboxdrv kernel module for this software to work:
@@ -743,102 +754,126 @@ if [ "$1" = "0" ]; then
        %groupremove vbox
 fi
 
-%post  -n kernel%{_alt_kernel}-misc-vboxguest
-%depmod %{_kernel_ver}
-/sbin/chkconfig --add vboxguest
-%service vboxguest restart "VirtualBox Guest additions driver"
-%systemd_reload
+%post guest
+/sbin/chkconfig --add vboxservice
+%service vboxservice restart
 
-%postun        -n kernel%{_alt_kernel}-misc-vboxguest
-%depmod %{_kernel_ver}
-
-%preun -n kernel%{_alt_kernel}-misc-vboxguest
+%postun guest
 if [ "$1" = "0" ]; then
-       %service vboxguest stop
-       /sbin/chkconfig --del vboxguest
+       /sbin/chkconfig --del vboxservice
+       %service vboxservice -q stop
 fi
 
 %post  -n kernel%{_alt_kernel}-misc-vboxdrv
 %depmod %{_kernel_ver}
-/sbin/chkconfig --add vboxdrv
-%service vboxdrv restart "VirtualBox Support Driver"
-%systemd_reload
-
-%postun        -n kernel%{_alt_kernel}-misc-vboxdrv
-%depmod %{_kernel_ver}
+%vbox_kernel_post -d vboxdrv VirtualBox Support Driver
 
 %preun -n kernel%{_alt_kernel}-misc-vboxdrv
 if [ "$1" = "0" ]; then
        %service vboxdrv stop
-       /sbin/chkconfig --del vboxdrv
 fi
 
-%post  -n kernel%{_alt_kernel}-misc-vboxnetadp
+%postun        -n kernel%{_alt_kernel}-misc-vboxdrv
 %depmod %{_kernel_ver}
-/sbin/chkconfig --add vboxnetadp
-%service vboxnetadp restart "VirtualBox Network HostOnly driver"
-%systemd_reload
 
-%postun        -n kernel%{_alt_kernel}-misc-vboxnetadp
+%post  -n kernel%{_alt_kernel}-misc-vboxnetadp
 %depmod %{_kernel_ver}
+%vbox_kernel_post -d vboxnetadp VirtualBox Network HostOnly driver
 
 %preun -n kernel%{_alt_kernel}-misc-vboxnetadp
 if [ "$1" = "0" ]; then
        %service vboxnetadp stop
-       /sbin/chkconfig --del vboxnetadp
 fi
 
-%post  -n kernel%{_alt_kernel}-misc-vboxnetflt
+%postun        -n kernel%{_alt_kernel}-misc-vboxnetadp
 %depmod %{_kernel_ver}
-/sbin/chkconfig --add vboxnetflt
-%service vboxnetflt restart "VirtualBox Network Filter driver"
-%systemd_reload
 
-%postun        -n kernel%{_alt_kernel}-misc-vboxnetflt
+%post  -n kernel%{_alt_kernel}-misc-vboxnetflt
 %depmod %{_kernel_ver}
+%vbox_kernel_post -d vboxnetflt VirtualBox Network Filter driver
 
 %preun -n kernel%{_alt_kernel}-misc-vboxnetflt
 if [ "$1" = "0" ]; then
        %service vboxnetflt stop
-       /sbin/chkconfig --del vboxnetflt
 fi
 
-%post  -n kernel%{_alt_kernel}-misc-vboxpci
+%postun        -n kernel%{_alt_kernel}-misc-vboxnetflt
 %depmod %{_kernel_ver}
-/sbin/chkconfig --add vboxpci
-%service vboxnetflt restart "VirtualBox PCI passthrough driver"
-%systemd_reload
 
-%postun        -n kernel%{_alt_kernel}-misc-vboxpci
+%post  -n kernel%{_alt_kernel}-misc-vboxpci
 %depmod %{_kernel_ver}
+%vbox_kernel_post -d vboxpci VirtualBox PCI passthrough driver
 
 %preun -n kernel%{_alt_kernel}-misc-vboxpci
 if [ "$1" = "0" ]; then
        %service vboxpci stop
-       /sbin/chkconfig --del vboxpci
 fi
 
-%post  -n kernel%{_alt_kernel}-misc-vboxsf
+%postun        -n kernel%{_alt_kernel}-misc-vboxpci
 %depmod %{_kernel_ver}
-/sbin/chkconfig --add vboxsf
-%service vboxsf restart "VirtualBox Host file system access (Shared Folders)"
-%systemd_reload
 
-%postun        -n kernel%{_alt_kernel}-misc-vboxsf
+%post  -n kernel%{_alt_kernel}-misc-vboxguest
+%depmod %{_kernel_ver}
+%vbox_kernel_post -d vboxguest VirtualBox Guest additions driver
+
+%preun -n kernel%{_alt_kernel}-misc-vboxguest
+if [ "$1" = "0" ]; then
+       %service vboxguest stop
+fi
+
+%postun        -n kernel%{_alt_kernel}-misc-vboxguest
 %depmod %{_kernel_ver}
 
+%post  -n kernel%{_alt_kernel}-misc-vboxsf
+%depmod %{_kernel_ver}
+%vbox_kernel_post -d vboxsf VirtualBox Host file system access (Shared Folders)
+
 %preun -n kernel%{_alt_kernel}-misc-vboxsf
 if [ "$1" = "0" ]; then
        %service vboxsf stop
-       /sbin/chkconfig --del vboxsf
 fi
 
+%postun        -n kernel%{_alt_kernel}-misc-vboxsf
+%depmod %{_kernel_ver}
+
 %post  -n kernel%{_alt_kernel}-misc-vboxvideo
 %depmod %{_kernel_ver}
 
 %postun        -n kernel%{_alt_kernel}-misc-vboxvideo
 %depmod %{_kernel_ver}
 
+%post kernel-init-host
+/sbin/chkconfig --add vboxdrv
+/sbin/chkconfig --add vboxnetadp
+/sbin/chkconfig --add vboxnetflt
+/sbin/chkconfig --add vboxpci
+%systemd_reload
+
+%preun kernel-init-host
+if [ "$1" = "0" ]; then
+       /sbin/chkconfig --del vboxdrv
+       /sbin/chkconfig --del vboxnetadp
+       /sbin/chkconfig --del vboxnetflt
+       /sbin/chkconfig --del vboxpci
+fi
+
+%postun kernel-init-host
+%systemd_reload
+
+%post kernel-init-guest
+/sbin/chkconfig --add vboxguest
+/sbin/chkconfig --add vboxsf
+%systemd_reload
+
+%preun kernel-init-guest
+if [ "$1" = "0" ]; then
+       /sbin/chkconfig --del vboxguest
+       /sbin/chkconfig --del vboxsf
+fi
+
+%postun kernel-init-guest
+%systemd_reload
+
 %if %{with userspace}
 %files
 %defattr(644,root,root,755)
@@ -864,7 +899,6 @@ fi
 %attr(755,root,root) %{_libdir}/%{pname}/VBoxAutostart
 %attr(755,root,root) %{_libdir}/%{pname}/VBoxBFE
 %attr(755,root,root) %{_libdir}/%{pname}/VBoxBalloonCtrl
-%attr(755,root,root) %{_libdir}/%{pname}/VBoxCreateUSBNode.sh
 %attr(755,root,root) %{_libdir}/%{pname}/VBoxDbg.so
 %attr(755,root,root) %{_libdir}/%{pname}/VBoxDD2.so
 %attr(755,root,root) %{_libdir}/%{pname}/VBoxDD.so
@@ -961,18 +995,25 @@ fi
 %{_libdir}/%{pname}/icons
 %{_libdir}/%{pname}/virtualbox.xml
 
+%config(noreplace) %verify(not md5 mtime size) /etc/udev/rules.d/virtualbox.rules
+%attr(755,root,root) /lib/udev/VBoxCreateUSBNode.sh
+
 %files additions
 %defattr(644,root,root,755)
 %{_libdir}/%{pname}/additions/VBoxGuestAdditions.iso
 
 %files guest
 %defattr(644,root,root,755)
+%attr(754,root,root) /etc/rc.d/init.d/vboxservice
+%attr(755,root,root) %{_bindir}/VBoxControl
+%attr(755,root,root) %{_bindir}/VBoxService
+
+%files guest-x11
+%defattr(644,root,root,755)
 # NOTE: unfinished, should contain .desktop files for starting up mouse
 # integration and other desktop services
 # NOTE: the filelist is incomplete too
 %attr(755,root,root) %{_bindir}/VBoxClient
-%attr(755,root,root) %{_bindir}/VBoxControl
-%attr(755,root,root) %{_bindir}/VBoxService
 /etc/X11/xinit/xinitrc.d/98vboxadd-xclient.sh
 /etc/xdg/autostart/vboxclient.desktop
 
@@ -980,10 +1021,6 @@ fi
 %attr(755,root,root) %{_libdir}/%{pname}/additions/vboxadd
 %attr(755,root,root) %{_libdir}/%{pname}/additions/vboxadd-service
 %attr(755,root,root) %{_libdir}/%{pname}/additions/vboxadd-x11
-# XXX these files belong to xorg-driver-video-vboxvideo
-# but probably 18-system-xorg.patch patch is broken?
-%attr(755,root,root) %{_libdir}/%{pname}/additions/vboxvideo_drv_111.so
-%attr(755,root,root) %{_libdir}/%{pname}/additions/vboxvideo_drv_112.so
 
 %files -n pam-pam_vbox
 %defattr(644,root,root,755)
@@ -1000,14 +1037,6 @@ fi
 %lang(fr) %doc %{outdir}/UserManual_fr_FR.pdf
 %endif
 
-%files udev
-%defattr(644,root,root,755)
-%config(noreplace) %verify(not md5 mtime size) /etc/udev/rules.d/virtualbox.rules
-
-%files -n xorg-driver-input-vboxmouse
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/xorg/modules/input/vboxmouse_drv.so
-
 %files -n xorg-driver-video-vboxvideo
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/xorg/modules/drivers/vboxvideo_drv.so
This page took 0.161586 seconds and 4 git commands to generate.