VirtualBox.tmpl.spec revision 17d67aeb3722c094c6493a3e9a9d0cdfb9453ecd
0N/A#
196N/A# Spec file for creating VirtualBox rpm packages
0N/A#
0N/A
0N/A#
0N/A# Copyright (C) 2006-2011 Oracle Corporation
0N/A#
0N/A# This file is part of VirtualBox Open Source Edition (OSE), as
0N/A# available from http://www.virtualbox.org. This file is free software;
0N/A# you can redistribute it and/or modify it under the terms of the GNU
0N/A# General Public License as published by the Free Software Foundation,
0N/A# in version 2 as it comes in the "COPYING" file of the VirtualBox OSE
0N/A# distribution. VirtualBox OSE is distributed in the hope that it will
0N/A# be useful, but WITHOUT ANY WARRANTY of any kind.
0N/A#
0N/A
0N/A%define %SPEC% 1
0N/A%{!?python_sitelib: %define python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")}
0N/A
0N/ASummary: Oracle VM VirtualBox
0N/AName: %NAME%
0N/AVersion: %BUILDVER%_%BUILDREL%
0N/ARelease: 1
0N/AURL: http://www.virtualbox.org/
0N/ASource: VirtualBox.tar.bz2
0N/ALicense: GPLv2
0N/AGroup: Applications/System
0N/AVendor: Oracle Corporation
0N/ABuildRoot: %BUILDROOT%
0N/ARequires: %LIBASOUND%
0N/A
0N/A%if %{?rpm_suse:1}%{!?rpm_suse:0}
0N/A%debug_package
0N/A%endif
0N/A
0N/A%MACROSPYTHON%
0N/A
0N/A
0N/A%description
0N/AVirtualBox is a powerful PC virtualization solution allowing
0N/Ayou to run a wide range of PC operating systems on your Linux
0N/Asystem. This includes Windows, Linux, FreeBSD, DOS, OpenBSD
0N/Aand others. VirtualBox comes with a broad feature set and
0N/Aexcellent performance, making it the premier virtualization
0N/Asoftware solution on the market.
0N/A
0N/A
0N/A%prep
0N/A%setup -q
0N/ADESTDIR=""
0N/Aunset DESTDIR
0N/A
116N/A
0N/A%build
0N/A
0N/A
0N/A%install
0N/A# Mandriva: prevent replacing 'echo' by 'gprintf'
0N/Aexport DONT_GPRINTIFY=1
0N/Arm -rf $RPM_BUILD_ROOT
0N/Ainstall -m 755 -d $RPM_BUILD_ROOT/sbin
0N/Ainstall -m 755 -d $RPM_BUILD_ROOT%{_initrddir}
0N/Ainstall -m 755 -d $RPM_BUILD_ROOT/lib/modules
0N/Ainstall -m 755 -d $RPM_BUILD_ROOT/etc/vbox
0N/Ainstall -m 755 -d $RPM_BUILD_ROOT/usr/bin
0N/Ainstall -m 755 -d $RPM_BUILD_ROOT/usr/src
0N/Ainstall -m 755 -d $RPM_BUILD_ROOT/usr/share/applications
0N/Ainstall -m 755 -d $RPM_BUILD_ROOT/usr/share/pixmaps
0N/Ainstall -m 755 -d $RPM_BUILD_ROOT/usr/share/icons/hicolor
0N/Ainstall -m 755 -d $RPM_BUILD_ROOT%{_defaultdocdir}/virtualbox
0N/Ainstall -m 755 -d $RPM_BUILD_ROOT/usr/lib/virtualbox
0N/Ainstall -m 755 -d $RPM_BUILD_ROOT/usr/lib/virtualbox/ExtensionPacks
0N/Ainstall -m 755 -d $RPM_BUILD_ROOT/usr/share/virtualbox
0N/Ainstall -m 755 -d $RPM_BUILD_ROOT/usr/share/mime/packages
0N/Amv VBoxEFI32.fd $RPM_BUILD_ROOT/usr/lib/virtualbox || true
0N/Amv VBoxEFI64.fd $RPM_BUILD_ROOT/usr/lib/virtualbox || true
0N/Amv *.gc $RPM_BUILD_ROOT/usr/lib/virtualbox
0N/Amv *.r0 $RPM_BUILD_ROOT/usr/lib/virtualbox
0N/Amv *.rel $RPM_BUILD_ROOT/usr/lib/virtualbox || true
0N/Amv VBoxNetDHCP $RPM_BUILD_ROOT/usr/lib/virtualbox
0N/Amv VBoxNetAdpCtl $RPM_BUILD_ROOT/usr/lib/virtualbox
0N/Amv VBoxXPCOMIPCD $RPM_BUILD_ROOT/usr/lib/virtualbox
0N/Amv components $RPM_BUILD_ROOT/usr/lib/virtualbox/components
0N/Amv *.so $RPM_BUILD_ROOT/usr/lib/virtualbox
0N/Amv *.so.4 $RPM_BUILD_ROOT/usr/lib/virtualbox || true
0N/Amv VBoxTestOGL $RPM_BUILD_ROOT/usr/lib/virtualbox
0N/Amv vboxshell.py $RPM_BUILD_ROOT/usr/lib/virtualbox
0N/A(export VBOX_INSTALL_PATH=/usr/lib/virtualbox && \
0N/A cd ./sdk/installer && \
0N/A %{__python} ./vboxapisetup.py install --prefix %{_prefix} --root $RPM_BUILD_ROOT)
0N/Arm -rf sdk/installer
0N/Amv sdk $RPM_BUILD_ROOT/usr/lib/virtualbox
0N/Amv nls $RPM_BUILD_ROOT/usr/share/virtualbox
0N/Acp -a src $RPM_BUILD_ROOT/usr/share/virtualbox
0N/Amv VBox.sh $RPM_BUILD_ROOT/usr/bin/VBox
0N/Amv VBoxSysInfo.sh $RPM_BUILD_ROOT/usr/share/virtualbox
0N/Amv VBoxCreateUSBNode.sh $RPM_BUILD_ROOT/usr/share/virtualbox
0N/Acd icons
0N/A for i in *; do
0N/A install -d $RPM_BUILD_ROOT/usr/share/icons/hicolor/$i/mimetypes
0N/A mv $i/* $RPM_BUILD_ROOT/usr/share/icons/hicolor/$i/mimetypes
0N/A rmdir $i
0N/A done
0N/Acd -
0N/Armdir icons
0N/Amv virtualbox.xml $RPM_BUILD_ROOT/usr/share/mime/packages
0N/Afor i in VBoxManage VBoxSVC VBoxSDL VirtualBox VBoxHeadless VBoxExtPackHelperApp VBoxBalloonCtrl vboxwebsrv webtest; do
0N/A mv $i $RPM_BUILD_ROOT/usr/lib/virtualbox; done
0N/Afor i in VBoxSDL VirtualBox VBoxHeadless VBoxNetDHCP VBoxNetAdpCtl; do
0N/A chmod 4511 $RPM_BUILD_ROOT/usr/lib/virtualbox/$i; done
0N/Amv VBoxTunctl $RPM_BUILD_ROOT/usr/bin
0N/Afor d in /lib/modules/*; do
0N/A if [ -L $d/build ]; then
0N/A rm -f /tmp/vboxdrv-Module.symvers
0N/A ./src/vboxhost/vboxdrv/build_in_tmp \
0N/A --save-module-symvers /tmp/vboxdrv-Module.symvers \
0N/A KBUILD_VERBOSE= KERN_DIR=$d/build MODULE_DIR=$RPM_BUILD_ROOT/$d/misc -j4 \
0N/A %INSTMOD%
0N/A ./src/vboxhost/vboxnetflt/build_in_tmp \
0N/A --use-module-symvers /tmp/vboxdrv-Module.symvers \
0N/A KBUILD_VERBOSE= KERN_DIR=$d/build MODULE_DIR=$RPM_BUILD_ROOT/$d/misc -j4 \
0N/A %INSTMOD%
0N/A ./src/vboxhost/vboxnetadp/build_in_tmp \
0N/A --use-module-symvers /tmp/vboxdrv-Module.symvers \
0N/A KBUILD_VERBOSE= KERN_DIR=$d/build MODULE_DIR=$RPM_BUILD_ROOT/$d/misc -j4 \
0N/A %INSTMOD%
0N/A fi
0N/Adone
0N/Amv kchmviewer $RPM_BUILD_ROOT/usr/lib/virtualbox
0N/Afor i in rdesktop-vrdp.tar.gz rdesktop-vrdp-keymaps additions/VBoxGuestAdditions.iso; do
0N/A mv $i $RPM_BUILD_ROOT/usr/share/virtualbox; done
0N/Aif [ -d accessible ]; then
0N/A mv accessible $RPM_BUILD_ROOT/usr/lib/virtualbox
0N/Afi
0N/Amv rdesktop-vrdp $RPM_BUILD_ROOT/usr/bin
0N/Ainstall -D -m 755 vboxdrv.init $RPM_BUILD_ROOT%{_initrddir}/vboxdrv
0N/A%if %{?rpm_suse:1}%{!?rpm_suse:0}
0N/Aln -sf ../etc/init.d/vboxdrv $RPM_BUILD_ROOT/sbin/rcvboxdrv
0N/A%endif
0N/Ainstall -D -m 755 vboxballoonctrl-service.init $RPM_BUILD_ROOT%{_initrddir}/vboxballoonctrl-service
0N/Ainstall -D -m 755 vboxweb-service.init $RPM_BUILD_ROOT%{_initrddir}/vboxweb-service
0N/A%if %{?rpm_suse:1}%{!?rpm_suse:0}
0N/Aln -sf ../etc/init.d/vboxballoonctrl-service $RPM_BUILD_ROOT/sbin/rcvboxballoonctrl-service
0N/Aln -sf ../etc/init.d/vboxweb-service $RPM_BUILD_ROOT/sbin/rcvboxweb-service
0N/A%endif
0N/Aln -s VBox $RPM_BUILD_ROOT/usr/bin/VirtualBox
0N/Aln -s VBox $RPM_BUILD_ROOT/usr/bin/virtualbox
0N/Aln -s VBox $RPM_BUILD_ROOT/usr/bin/VBoxManage
0N/Aln -s VBox $RPM_BUILD_ROOT/usr/bin/vboxmanage
0N/Aln -s VBox $RPM_BUILD_ROOT/usr/bin/VBoxSDL
0N/Aln -s VBox $RPM_BUILD_ROOT/usr/bin/vboxsdl
0N/Aln -s VBox $RPM_BUILD_ROOT/usr/bin/VBoxVRDP
0N/Aln -s VBox $RPM_BUILD_ROOT/usr/bin/VBoxHeadless
0N/Aln -s VBox $RPM_BUILD_ROOT/usr/bin/vboxheadless
0N/Aln -s VBox $RPM_BUILD_ROOT/usr/bin/VBoxBalloonCtrl
0N/Aln -s VBox $RPM_BUILD_ROOT/usr/bin/vboxballoonctrl
0N/Aln -s VBox $RPM_BUILD_ROOT/usr/bin/vboxwebsrv
0N/Aln -s /usr/share/virtualbox/src/vboxhost $RPM_BUILD_ROOT/usr/src/vboxhost-%VER%
0N/Amv virtualbox.desktop $RPM_BUILD_ROOT/usr/share/applications/virtualbox.desktop
0N/Amv VBox.png $RPM_BUILD_ROOT/usr/share/pixmaps/VBox.png
0N/A
0N/A
0N/A%pre
0N/A# defaults
0N/A[ -r /etc/default/virtualbox ] && . /etc/default/virtualbox
0N/A
0N/A# check for active VMs of the installed (old) package
0N/AVBOXSVC_PID=`pidof VBoxSVC 2>/dev/null || true`
0N/Aif [ -n "$VBOXSVC_PID" ]; then
0N/A # executed before the new package is installed!
0N/A if [ -f /etc/init.d/vboxballoonctrl-service ]; then
0N/A # try graceful termination; terminate the balloon control service first
0N/A /etc/init.d/vboxballoonctrl-service stop 2>/dev/null || true
0N/A fi
0N/A if [ -f /etc/init.d/vboxweb-service ]; then
0N/A # try graceful termination; terminate the webservice first
0N/A /etc/init.d/vboxweb-service stop 2>/dev/null || true
0N/A fi
0N/A # ask the daemon to terminate immediately
0N/A kill -USR1 $VBOXSVC_PID
0N/A sleep 1
0N/A if pidof VBoxSVC > /dev/null 2>&1; then
0N/A echo "A copy of VirtualBox is currently running. Please close it and try again."
0N/A echo "Please note that it can take up to ten seconds for VirtualBox (in particular"
0N/A echo "the VBoxSVC daemon) to finish running."
0N/A exit 1
0N/A fi
0N/Afi
0N/A
0N/A# check for old installation
0N/Aif [ -r /etc/vbox/vbox.cfg ]; then
0N/A . /etc/vbox/vbox.cfg
0N/A if [ "x$INSTALL_DIR" != "x" -a -d "$INSTALL_DIR" ]; then
0N/A echo "An old installation of VirtualBox was found. To install this package the"
0N/A echo "old package has to be removed first. Have a look at /etc/vbox/vbox.cfg to"
0N/A echo "determine the installation directory of the previous installation. After"
0N/A echo "uninstalling the old package remove the file /etc/vbox/vbox.cfg."
0N/A exit 1
0N/A fi
0N/Afi
0N/A
0N/A# XXX remove old modules from previous versions (disable with INSTALL_NO_VBOXDRV=1 in /etc/default/virtualbox)
0N/Aif [ "$INSTALL_NO_VBOXDRV" != "1" ]; then
0N/A find /lib/modules -name "vboxdrv\.*" 2>/dev/null|xargs rm -f 2> /dev/null || true
0N/A find /lib/modules -name "vboxnetflt\.*" 2>/dev/null|xargs rm -f 2> /dev/null || true
0N/A find /lib/modules -name "vboxnetadp\.*" 2>/dev/null|xargs rm -f 2> /dev/null || true
0N/Afi
0N/A
0N/A
0N/A%post
0N/ALOG="/var/log/vbox-install.log"
0N/A
0N/A# defaults
0N/A[ -r /etc/default/virtualbox ] && . /etc/default/virtualbox
0N/A
0N/A# remove old cruft
0N/Aif [ -f /etc/init.d/vboxdrv.sh ]; then
0N/A echo "Found old version of /etc/init.d/vboxdrv.sh, removing."
0N/A rm /etc/init.d/vboxdrv.sh
0N/Afi
0N/Aif [ -f /etc/vbox/vbox.cfg ]; then
0N/A echo "Found old version of /etc/vbox/vbox.cfg, removing."
0N/A rm /etc/vbox/vbox.cfg
0N/Afi
0N/Arm -f /etc/vbox/module_not_compiled
0N/A
0N/A# install udev rule (disable with INSTALL_NO_UDEV=1 in /etc/default/virtualbox)
0N/Aif [ -d /etc/udev/rules.d -a "$INSTALL_NO_UDEV" != "1" ]; then
0N/A udev_call=""
0N/A udev_app=`which udevadm 2> /dev/null`
0N/A if [ $? -eq 0 ]; then
0N/A udev_call="${udev_app} version 2> /dev/null"
0N/A else
0N/A udev_app=`which udevinfo 2> /dev/null`
0N/A if [ $? -eq 0 ]; then
0N/A udev_call="${udev_app} -V 2> /dev/null"
0N/A fi
0N/A fi
0N/A udev_fix="="
0N/A if [ "${udev_call}" != "" ]; then
0N/A udev_out=`${udev_call}`
0N/A udev_ver=`expr "$udev_out" : '[^0-9]*\([0-9]*\)'`
0N/A if [ "$udev_ver" = "" -o "$udev_ver" -lt 55 ]; then
0N/A udev_fix=""
0N/A fi
0N/A fi
0N/A usb_createnode="/usr/share/virtualbox/VBoxCreateUSBNode.sh"
0N/A echo "KERNEL=${udev_fix}\"vboxdrv\", NAME=\"vboxdrv\", OWNER=\"root\", GROUP=\"root\", MODE=\"0600\"" \
0N/A > /etc/udev/rules.d/10-vboxdrv.rules
0N/A echo "SUBSYSTEM=${udev_fix}\"usb_device\", ACTION=${udev_fix}\"add\", RUN=\"${usb_createnode} \$major \$minor \$attr{bDeviceClass}\"" \
0N/A >> /etc/udev/rules.d/10-vboxdrv.rules
0N/A echo "SUBSYSTEM=${udev_fix}\"usb\", ACTION=${udev_fix}\"add\", ENV{DEVTYPE}==\"usb_device\", RUN=\"${usb_createnode} \$major \$minor \$attr{bDeviceClass}\"" \
0N/A >> /etc/udev/rules.d/10-vboxdrv.rules
0N/A echo "SUBSYSTEM=${udev_fix}\"usb_device\", ACTION=${udev_fix}\"remove\", RUN=\"${usb_createnode} --remove \$major \$minor\"" \
0N/A >> /etc/udev/rules.d/10-vboxdrv.rules
0N/A echo "SUBSYSTEM=${udev_fix}\"usb\", ACTION=${udev_fix}\"remove\", ENV{DEVTYPE}==\"usb_device\", RUN=\"${usb_createnode} --remove \$major \$minor\"" \
0N/A >> /etc/udev/rules.d/10-vboxdrv.rules
0N/Afi
0N/A# Remove old udev description file
0N/Aif [ -f /etc/udev/rules.d/60-vboxdrv.rules ]; then
0N/A rm -f /etc/udev/rules.d/60-vboxdrv.rules 2> /dev/null
0N/Afi
0N/A# Build our device tree
0N/Afor i in /sys/bus/usb/devices/*; do
0N/A if test -r "$i/dev"; then
0N/A dev="`cat "$i/dev" 2> /dev/null`"
0N/A major="`expr "$dev" : '\(.*\):' 2> /dev/null`"
0N/A minor="`expr "$dev" : '.*:\(.*\)' 2> /dev/null`"
0N/A class="`cat $i/bDeviceClass 2> /dev/null`"
0N/A sh ${usb_createnode} "$major" "$minor" "$class" ${usb_group} 2>/dev/null
0N/A fi
0N/Adone
0N/A
0N/A# XXX SELinux: allow text relocation entries
0N/A%if %{?rpm_redhat:1}%{!?rpm_redhat:0}
0N/Aif [ -x /usr/bin/chcon ]; then
0N/A chcon -t texrel_shlib_t /usr/lib/virtualbox/*VBox* > /dev/null 2>&1
0N/A chcon -t texrel_shlib_t /usr/lib/virtualbox/VirtualBox.so > /dev/null 2>&1
0N/A chcon -t texrel_shlib_t /usr/lib/virtualbox/VBoxAuth.so > /dev/null 2>&1
0N/A chcon -t texrel_shlib_t /usr/lib/virtualbox/components/VBox*.so > /dev/null 2>&1
0N/A chcon -t java_exec_t /usr/lib/virtualbox/VirtualBox > /dev/null 2>&1
0N/A chcon -t java_exec_t /usr/lib/virtualbox/VBoxSDL > /dev/null 2>&1
0N/A chcon -t java_exec_t /usr/lib/virtualbox/VBoxHeadless > /dev/null 2>&1
0N/A chcon -t java_exec_t /usr/lib/virtualbox/VBoxExtPackHelperApp > /dev/null 2>&1
0N/A chcon -t java_exec_t /usr/lib/virtualbox/VBoxBalloonCtrl > /dev/null 2>&1
0N/A chcon -t java_exec_t /usr/lib/virtualbox/vboxwebsrv > /dev/null 2>&1
0N/Afi
0N/A%endif
0N/A
0N/A# create users groups (disable with INSTALL_NO_GROUP=1 in /etc/default/virtualbox)
0N/Aif [ "$INSTALL_NO_GROUP" != "1" ]; then
0N/A echo
0N/A echo "Creating group 'vboxusers'. VM users must be member of that group!"
0N/A echo
0N/A groupadd -f vboxusers 2> /dev/null
0N/Afi
0N/A%if %{?rpm_redhat:1}%{!?rpm_redhat:0}
0N/A/sbin/chkconfig --add vboxdrv
0N/A/sbin/chkconfig --add vboxballoonctrl-service
0N/A/sbin/chkconfig --add vboxweb-service
0N/A%endif
0N/A%if %{?rpm_suse:1}%{!?rpm_suse:0}
0N/A%{fillup_and_insserv -f -y -Y vboxdrv vboxballoonctrl-service vboxweb-service}
0N/A%endif
0N/A%if %{?rpm_mdv:1}%{!?rpm_mdv:0}
0N/A/sbin/ldconfig
0N/A%_post_service vboxdrv
0N/A%_post_service vboxballoonctrl-service
0N/A%_post_service vboxweb-service
0N/A%update_menus
0N/A%endif
0N/Aupdate-mime-database /usr/share/mime &> /dev/null || :
0N/Aupdate-desktop-database -q > /dev/null 2>&1 || :
0N/Atouch --no-create /usr/share/icons/hicolor
0N/Agtk-update-icon-cache -q /usr/share/icons/hicolor 2> /dev/null || :
0N/A
0N/A# Disable module compilation with INSTALL_NO_VBOXDRV=1 in /etc/default/virtualbox
0N/ABUILD_MODULES=0
0N/AREGISTER_MODULES=1
0N/Aif [ ! -f /lib/modules/`uname -r`/misc/vboxdrv.ko ]; then
0N/A REGISTER_MODULES=0
0N/A if [ "$INSTALL_NO_VBOXDRV" != "1" ]; then
0N/A # compile problem
0N/A cat << EOF
0N/ANo precompiled module for this kernel found -- trying to build one. Messages
0N/Aemitted during module compilation will be logged to $LOG.
0N/A
0N/AEOF
0N/A BUILD_MODULES=1
0N/A fi
0N/Afi
0N/A# if INSTALL_NO_VBOXDRV is set to 1, remove all shipped modules
0N/Aif [ "$INSTALL_NO_VBOXDRV" = "1" ]; then
0N/A rm -f /lib/modules/*/misc/vboxdrv.ko
0N/A rm -f /lib/modules/*/misc/vboxnetflt.ko
0N/A rm -f /lib/modules/*/misc/vboxnetadp.ko
0N/Afi
0N/Aif [ $BUILD_MODULES -eq 1 ]; then
0N/A /etc/init.d/vboxdrv setup || true
0N/Aelse
0N/A if lsmod | grep -q "vboxdrv[^_-]"; then
0N/A /etc/init.d/vboxdrv stop || true
0N/A fi
0N/A if [ $REGISTER_MODULES -eq 1 ]; then
0N/A DKMS=`which dkms 2>/dev/null`
0N/A if [ -n "$DKMS" ]; then
0N/A $DKMS remove -m vboxhost -v %VER% --all > /dev/null 2>&1 || true
0N/A fi
0N/A fi
0N/A /etc/init.d/vboxdrv start > /dev/null
0N/Afi
0N/A/etc/init.d/vboxballoonctrl-service start > /dev/null
0N/A/etc/init.d/vboxweb-service start > /dev/null
0N/A
0N/A
0N/A%preun
0N/A# $1==0: remove the last version of the package
0N/A# $1==1: install the first time
0N/A# $1>=2: upgrade
0N/A%if %{?rpm_suse:1}%{!?rpm_suse:0}
0N/A%stop_on_removal vboxballoonctrl-service
0N/A%stop_on_removal vboxweb-service
0N/A%endif
0N/A%if %{?rpm_mdv:1}%{!?rpm_mdv:0}
0N/A%_preun_service vboxballoonctrl-service
0N/A%_preun_service vboxweb-service
0N/A%endif
0N/A%if %{?rpm_redhat:1}%{!?rpm_redhat:0}
0N/Aif [ "$1" = 0 ]; then
0N/A /sbin/service vboxballoonctrl-service stop > /dev/null
0N/A /sbin/chkconfig --del vboxballoonctrl-service
0N/A /sbin/service vboxweb-service stop > /dev/null
0N/A /sbin/chkconfig --del vboxweb-service
0N/Afi
0N/A%endif
0N/A
0N/Aif [ "$1" = 0 ]; then
0N/A # check for active VMs
0N/A VBOXSVC_PID=`pidof VBoxSVC 2>/dev/null || true`
0N/A if [ -n "$VBOXSVC_PID" ]; then
0N/A kill -USR1 $VBOXSVC_PID
0N/A sleep 1
0N/A if pidof VBoxSVC > /dev/null 2>&1; then
0N/A echo "A copy of VirtualBox is currently running. Please close it and try again."
0N/A echo "Please note that it can take up to ten seconds for VirtualBox (in particular"
0N/A echo "the VBoxSVC daemon) to finish running."
0N/A exit 1
0N/A fi
0N/A fi
0N/Afi
0N/A%if %{?rpm_suse:1}%{!?rpm_suse:0}
0N/A%stop_on_removal vboxdrv
0N/A%endif
0N/A%if %{?rpm_mdv:1}%{!?rpm_mdv:0}
0N/A%_preun_service vboxdrv
0N/A%endif
0N/Aif [ "$1" = 0 ]; then
0N/A%if %{?rpm_redhat:1}%{!?rpm_redhat:0}
0N/A /sbin/service vboxdrv stop > /dev/null
0N/A /sbin/chkconfig --del vboxdrv
0N/A%endif
0N/A rm -f /etc/udev/rules.d/10-vboxdrv.rules
0N/A rm -f /etc/vbox/license_agreed
0N/A rm -f /etc/vbox/module_not_compiled
0N/A # remove our USB device tree
0N/A rm -rf /dev/vboxusb 2> /dev/null
0N/Afi
0N/ADKMS=`which dkms 2>/dev/null`
0N/Aif [ -n "$DKMS" ]; then
0N/A $DKMS remove -m vboxhost -v %VER% --all > /dev/null 2>&1 || true
0N/Afi
0N/A
0N/A
0N/A%postun
0N/A%if %{?rpm_redhat:1}%{!?rpm_redhat:0}
0N/Aif [ "$1" -ge 1 ]; then
0N/A /sbin/service vboxdrv restart > /dev/null 2>&1
0N/A /sbin/service vboxballoonctrl-service restart > /dev/null 2>&1
0N/A /sbin/service vboxweb-service restart > /dev/null 2>&1
0N/Afi
0N/A%endif
0N/A%if %{?rpm_suse:1}%{!?rpm_suse:0}
0N/A%restart_on_update vboxdrv vboxballoonctrl-service vboxweb-service
0N/A%insserv_cleanup
0N/A%endif
0N/A%if %{?rpm_mdv:1}%{!?rpm_mdv:0}
0N/A/sbin/ldconfig
0N/A%{clean_desktop_database}
0N/A%clean_menus
0N/A%endif
0N/Aupdate-mime-database /usr/share/mime &> /dev/null || :
0N/Aupdate-desktop-database -q > /dev/null 2>&1 || :
0N/Atouch --no-create /usr/share/icons/hicolor
0N/Agtk-update-icon-cache -q /usr/share/icons/hicolor 2> /dev/null || :
0N/A
0N/A
0N/A%clean
0N/Arm -rf $RPM_BUILD_ROOT
0N/A
0N/A
0N/A%files
0N/A%defattr(-,root,root)
0N/A%doc LICENSE
0N/A%doc UserManual*.pdf
0N/A%doc VirtualBox*.chm
0N/A%{_initrddir}/vboxdrv
0N/A%{_initrddir}/vboxballoonctrl-service
0N/A%{_initrddir}/vboxweb-service
0N/A%{?rpm_suse: %{py_sitedir}/*}
0N/A%{!?rpm_suse: %{python_sitelib}/*}
0N/A%{?rpm_suse: /sbin/rcvboxdrv}
0N/A%{?rpm_suse: /sbin/rcvboxballoonctrl-service}
0N/A%{?rpm_suse: /sbin/rcvboxweb-service}
0N/A/lib/modules
0N/A/etc/vbox
0N/A/usr/bin
0N/A/usr/src/vbox*
0N/A/usr/lib/virtualbox
0N/A/usr/share/applications
0N/A/usr/share/icons
0N/A/usr/share/mime/packages
0N/A/usr/share/pixmaps
0N/A/usr/share/virtualbox
0N/A