VirtualBox.tmpl.spec revision 17d67aeb3722c094c6493a3e9a9d0cdfb9453ecd
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync#
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync# Spec file for creating VirtualBox rpm packages
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync#
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync#
17d67aeb3722c094c6493a3e9a9d0cdfb9453ecdvboxsync# Copyright (C) 2006-2011 Oracle Corporation
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync#
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync# This file is part of VirtualBox Open Source Edition (OSE), as
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync# available from http://www.virtualbox.org. This file is free software;
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync# you can redistribute it and/or modify it under the terms of the GNU
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync# General Public License as published by the Free Software Foundation,
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync# in version 2 as it comes in the "COPYING" file of the VirtualBox OSE
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync# distribution. VirtualBox OSE is distributed in the hope that it will
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync# be useful, but WITHOUT ANY WARRANTY of any kind.
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync#
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync%define %SPEC% 1
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync%{!?python_sitelib: %define python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")}
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncSummary: Oracle VM VirtualBox
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncName: %NAME%
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncVersion: %BUILDVER%_%BUILDREL%
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncRelease: 1
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncURL: http://www.virtualbox.org/
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncSource: VirtualBox.tar.bz2
88350256a6c78b8631aba5aa5ce249d90a8514a2vboxsyncLicense: GPLv2
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncGroup: Applications/System
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncVendor: Oracle Corporation
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncBuildRoot: %BUILDROOT%
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncRequires: %LIBASOUND%
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync%if %{?rpm_suse:1}%{!?rpm_suse:0}
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync%debug_package
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync%endif
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync%MACROSPYTHON%
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync%description
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncVirtualBox is a powerful PC virtualization solution allowing
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncyou to run a wide range of PC operating systems on your Linux
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncsystem. This includes Windows, Linux, FreeBSD, DOS, OpenBSD
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncand others. VirtualBox comes with a broad feature set and
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncexcellent performance, making it the premier virtualization
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncsoftware solution on the market.
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync%prep
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync%setup -q
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncDESTDIR=""
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncunset DESTDIR
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync%build
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync%install
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync# Mandriva: prevent replacing 'echo' by 'gprintf'
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncexport DONT_GPRINTIFY=1
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncrm -rf $RPM_BUILD_ROOT
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncinstall -m 755 -d $RPM_BUILD_ROOT/sbin
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncinstall -m 755 -d $RPM_BUILD_ROOT%{_initrddir}
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncinstall -m 755 -d $RPM_BUILD_ROOT/lib/modules
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncinstall -m 755 -d $RPM_BUILD_ROOT/etc/vbox
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncinstall -m 755 -d $RPM_BUILD_ROOT/usr/bin
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncinstall -m 755 -d $RPM_BUILD_ROOT/usr/src
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncinstall -m 755 -d $RPM_BUILD_ROOT/usr/share/applications
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncinstall -m 755 -d $RPM_BUILD_ROOT/usr/share/pixmaps
c6adb272ec43d5eaadb1493cb2bf45f2f8adf588vboxsyncinstall -m 755 -d $RPM_BUILD_ROOT/usr/share/icons/hicolor
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncinstall -m 755 -d $RPM_BUILD_ROOT%{_defaultdocdir}/virtualbox
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncinstall -m 755 -d $RPM_BUILD_ROOT/usr/lib/virtualbox
58b7773f17a933ab8d53f450bed0afcf2f003508vboxsyncinstall -m 755 -d $RPM_BUILD_ROOT/usr/lib/virtualbox/ExtensionPacks
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncinstall -m 755 -d $RPM_BUILD_ROOT/usr/share/virtualbox
c48c4d769ded37e2496f97dddbbd36dc62f244b1vboxsyncinstall -m 755 -d $RPM_BUILD_ROOT/usr/share/mime/packages
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncmv VBoxEFI32.fd $RPM_BUILD_ROOT/usr/lib/virtualbox || true
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncmv VBoxEFI64.fd $RPM_BUILD_ROOT/usr/lib/virtualbox || true
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncmv *.gc $RPM_BUILD_ROOT/usr/lib/virtualbox
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncmv *.r0 $RPM_BUILD_ROOT/usr/lib/virtualbox
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncmv *.rel $RPM_BUILD_ROOT/usr/lib/virtualbox || true
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncmv VBoxNetDHCP $RPM_BUILD_ROOT/usr/lib/virtualbox
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncmv VBoxNetAdpCtl $RPM_BUILD_ROOT/usr/lib/virtualbox
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncmv VBoxXPCOMIPCD $RPM_BUILD_ROOT/usr/lib/virtualbox
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncmv components $RPM_BUILD_ROOT/usr/lib/virtualbox/components
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncmv *.so $RPM_BUILD_ROOT/usr/lib/virtualbox
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncmv *.so.4 $RPM_BUILD_ROOT/usr/lib/virtualbox || true
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncmv VBoxTestOGL $RPM_BUILD_ROOT/usr/lib/virtualbox
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncmv vboxshell.py $RPM_BUILD_ROOT/usr/lib/virtualbox
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync(export VBOX_INSTALL_PATH=/usr/lib/virtualbox && \
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync cd ./sdk/installer && \
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync %{__python} ./vboxapisetup.py install --prefix %{_prefix} --root $RPM_BUILD_ROOT)
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncrm -rf sdk/installer
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncmv sdk $RPM_BUILD_ROOT/usr/lib/virtualbox
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncmv nls $RPM_BUILD_ROOT/usr/share/virtualbox
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsynccp -a src $RPM_BUILD_ROOT/usr/share/virtualbox
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncmv VBox.sh $RPM_BUILD_ROOT/usr/bin/VBox
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncmv VBoxSysInfo.sh $RPM_BUILD_ROOT/usr/share/virtualbox
c6adb272ec43d5eaadb1493cb2bf45f2f8adf588vboxsyncmv VBoxCreateUSBNode.sh $RPM_BUILD_ROOT/usr/share/virtualbox
c48c4d769ded37e2496f97dddbbd36dc62f244b1vboxsynccd icons
c48c4d769ded37e2496f97dddbbd36dc62f244b1vboxsync for i in *; do
24a8dd4360c4b4588fd2c340dd7687379a45e02evboxsync install -d $RPM_BUILD_ROOT/usr/share/icons/hicolor/$i/mimetypes
1d17a5f9688f3622ffe088b664588629b1e95801vboxsync mv $i/* $RPM_BUILD_ROOT/usr/share/icons/hicolor/$i/mimetypes
c48c4d769ded37e2496f97dddbbd36dc62f244b1vboxsync rmdir $i
c48c4d769ded37e2496f97dddbbd36dc62f244b1vboxsync done
c48c4d769ded37e2496f97dddbbd36dc62f244b1vboxsynccd -
c48c4d769ded37e2496f97dddbbd36dc62f244b1vboxsyncrmdir icons
1d17a5f9688f3622ffe088b664588629b1e95801vboxsyncmv virtualbox.xml $RPM_BUILD_ROOT/usr/share/mime/packages
17d67aeb3722c094c6493a3e9a9d0cdfb9453ecdvboxsyncfor i in VBoxManage VBoxSVC VBoxSDL VirtualBox VBoxHeadless VBoxExtPackHelperApp VBoxBalloonCtrl vboxwebsrv webtest; do
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync mv $i $RPM_BUILD_ROOT/usr/lib/virtualbox; done
81d1b221c2dfff6900e970e273dbb4e81ef6b5d9vboxsyncfor i in VBoxSDL VirtualBox VBoxHeadless VBoxNetDHCP VBoxNetAdpCtl; do
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync chmod 4511 $RPM_BUILD_ROOT/usr/lib/virtualbox/$i; done
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncmv VBoxTunctl $RPM_BUILD_ROOT/usr/bin
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncfor d in /lib/modules/*; do
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync if [ -L $d/build ]; then
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync rm -f /tmp/vboxdrv-Module.symvers
254365851c06fac7efeae0a0bf727ed6c6940611vboxsync ./src/vboxhost/vboxdrv/build_in_tmp \
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync --save-module-symvers /tmp/vboxdrv-Module.symvers \
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync KBUILD_VERBOSE= KERN_DIR=$d/build MODULE_DIR=$RPM_BUILD_ROOT/$d/misc -j4 \
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync %INSTMOD%
254365851c06fac7efeae0a0bf727ed6c6940611vboxsync ./src/vboxhost/vboxnetflt/build_in_tmp \
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync --use-module-symvers /tmp/vboxdrv-Module.symvers \
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync KBUILD_VERBOSE= KERN_DIR=$d/build MODULE_DIR=$RPM_BUILD_ROOT/$d/misc -j4 \
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync %INSTMOD%
254365851c06fac7efeae0a0bf727ed6c6940611vboxsync ./src/vboxhost/vboxnetadp/build_in_tmp \
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync --use-module-symvers /tmp/vboxdrv-Module.symvers \
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync KBUILD_VERBOSE= KERN_DIR=$d/build MODULE_DIR=$RPM_BUILD_ROOT/$d/misc -j4 \
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync %INSTMOD%
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync fi
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncdone
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncmv kchmviewer $RPM_BUILD_ROOT/usr/lib/virtualbox
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncfor i in rdesktop-vrdp.tar.gz rdesktop-vrdp-keymaps additions/VBoxGuestAdditions.iso; do
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync mv $i $RPM_BUILD_ROOT/usr/share/virtualbox; done
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncif [ -d accessible ]; then
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync mv accessible $RPM_BUILD_ROOT/usr/lib/virtualbox
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncfi
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncmv rdesktop-vrdp $RPM_BUILD_ROOT/usr/bin
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncinstall -D -m 755 vboxdrv.init $RPM_BUILD_ROOT%{_initrddir}/vboxdrv
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync%if %{?rpm_suse:1}%{!?rpm_suse:0}
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncln -sf ../etc/init.d/vboxdrv $RPM_BUILD_ROOT/sbin/rcvboxdrv
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync%endif
17d67aeb3722c094c6493a3e9a9d0cdfb9453ecdvboxsyncinstall -D -m 755 vboxballoonctrl-service.init $RPM_BUILD_ROOT%{_initrddir}/vboxballoonctrl-service
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncinstall -D -m 755 vboxweb-service.init $RPM_BUILD_ROOT%{_initrddir}/vboxweb-service
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync%if %{?rpm_suse:1}%{!?rpm_suse:0}
17d67aeb3722c094c6493a3e9a9d0cdfb9453ecdvboxsyncln -sf ../etc/init.d/vboxballoonctrl-service $RPM_BUILD_ROOT/sbin/rcvboxballoonctrl-service
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncln -sf ../etc/init.d/vboxweb-service $RPM_BUILD_ROOT/sbin/rcvboxweb-service
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync%endif
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncln -s VBox $RPM_BUILD_ROOT/usr/bin/VirtualBox
58b7773f17a933ab8d53f450bed0afcf2f003508vboxsyncln -s VBox $RPM_BUILD_ROOT/usr/bin/virtualbox
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncln -s VBox $RPM_BUILD_ROOT/usr/bin/VBoxManage
58b7773f17a933ab8d53f450bed0afcf2f003508vboxsyncln -s VBox $RPM_BUILD_ROOT/usr/bin/vboxmanage
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncln -s VBox $RPM_BUILD_ROOT/usr/bin/VBoxSDL
58b7773f17a933ab8d53f450bed0afcf2f003508vboxsyncln -s VBox $RPM_BUILD_ROOT/usr/bin/vboxsdl
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncln -s VBox $RPM_BUILD_ROOT/usr/bin/VBoxVRDP
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncln -s VBox $RPM_BUILD_ROOT/usr/bin/VBoxHeadless
58b7773f17a933ab8d53f450bed0afcf2f003508vboxsyncln -s VBox $RPM_BUILD_ROOT/usr/bin/vboxheadless
17d67aeb3722c094c6493a3e9a9d0cdfb9453ecdvboxsyncln -s VBox $RPM_BUILD_ROOT/usr/bin/VBoxBalloonCtrl
17d67aeb3722c094c6493a3e9a9d0cdfb9453ecdvboxsyncln -s VBox $RPM_BUILD_ROOT/usr/bin/vboxballoonctrl
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncln -s VBox $RPM_BUILD_ROOT/usr/bin/vboxwebsrv
7eaaa8a4480370b82ef3735994f986f338fb4df2vboxsyncln -s /usr/share/virtualbox/src/vboxhost $RPM_BUILD_ROOT/usr/src/vboxhost-%VER%
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncmv virtualbox.desktop $RPM_BUILD_ROOT/usr/share/applications/virtualbox.desktop
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncmv VBox.png $RPM_BUILD_ROOT/usr/share/pixmaps/VBox.png
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync%pre
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync# defaults
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync[ -r /etc/default/virtualbox ] && . /etc/default/virtualbox
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync
0c587d7af645db20acefebcfc15b6f46c440ba4avboxsync# check for active VMs of the installed (old) package
cf5af7fccfec4bef83f4ec21662d6a6e6cbe3835vboxsyncVBOXSVC_PID=`pidof VBoxSVC 2>/dev/null || true`
cf5af7fccfec4bef83f4ec21662d6a6e6cbe3835vboxsyncif [ -n "$VBOXSVC_PID" ]; then
0c587d7af645db20acefebcfc15b6f46c440ba4avboxsync # executed before the new package is installed!
17d67aeb3722c094c6493a3e9a9d0cdfb9453ecdvboxsync if [ -f /etc/init.d/vboxballoonctrl-service ]; then
17d67aeb3722c094c6493a3e9a9d0cdfb9453ecdvboxsync # try graceful termination; terminate the balloon control service first
17d67aeb3722c094c6493a3e9a9d0cdfb9453ecdvboxsync /etc/init.d/vboxballoonctrl-service stop 2>/dev/null || true
17d67aeb3722c094c6493a3e9a9d0cdfb9453ecdvboxsync fi
0c587d7af645db20acefebcfc15b6f46c440ba4avboxsync if [ -f /etc/init.d/vboxweb-service ]; then
0c587d7af645db20acefebcfc15b6f46c440ba4avboxsync # try graceful termination; terminate the webservice first
0c587d7af645db20acefebcfc15b6f46c440ba4avboxsync /etc/init.d/vboxweb-service stop 2>/dev/null || true
0c587d7af645db20acefebcfc15b6f46c440ba4avboxsync fi
17d67aeb3722c094c6493a3e9a9d0cdfb9453ecdvboxsync # ask the daemon to terminate immediately
17d67aeb3722c094c6493a3e9a9d0cdfb9453ecdvboxsync kill -USR1 $VBOXSVC_PID
cf5af7fccfec4bef83f4ec21662d6a6e6cbe3835vboxsync sleep 1
cf5af7fccfec4bef83f4ec21662d6a6e6cbe3835vboxsync if pidof VBoxSVC > /dev/null 2>&1; then
0c587d7af645db20acefebcfc15b6f46c440ba4avboxsync echo "A copy of VirtualBox is currently running. Please close it and try again."
0c587d7af645db20acefebcfc15b6f46c440ba4avboxsync echo "Please note that it can take up to ten seconds for VirtualBox (in particular"
0c587d7af645db20acefebcfc15b6f46c440ba4avboxsync echo "the VBoxSVC daemon) to finish running."
cf5af7fccfec4bef83f4ec21662d6a6e6cbe3835vboxsync exit 1
cf5af7fccfec4bef83f4ec21662d6a6e6cbe3835vboxsync fi
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncfi
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync# check for old installation
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncif [ -r /etc/vbox/vbox.cfg ]; then
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync . /etc/vbox/vbox.cfg
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync if [ "x$INSTALL_DIR" != "x" -a -d "$INSTALL_DIR" ]; then
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync echo "An old installation of VirtualBox was found. To install this package the"
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync echo "old package has to be removed first. Have a look at /etc/vbox/vbox.cfg to"
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync echo "determine the installation directory of the previous installation. After"
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync echo "uninstalling the old package remove the file /etc/vbox/vbox.cfg."
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync exit 1
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync fi
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncfi
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync# XXX remove old modules from previous versions (disable with INSTALL_NO_VBOXDRV=1 in /etc/default/virtualbox)
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncif [ "$INSTALL_NO_VBOXDRV" != "1" ]; then
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync find /lib/modules -name "vboxdrv\.*" 2>/dev/null|xargs rm -f 2> /dev/null || true
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync find /lib/modules -name "vboxnetflt\.*" 2>/dev/null|xargs rm -f 2> /dev/null || true
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync find /lib/modules -name "vboxnetadp\.*" 2>/dev/null|xargs rm -f 2> /dev/null || true
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncfi
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync%post
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncLOG="/var/log/vbox-install.log"
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync# defaults
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync[ -r /etc/default/virtualbox ] && . /etc/default/virtualbox
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync# remove old cruft
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncif [ -f /etc/init.d/vboxdrv.sh ]; then
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync echo "Found old version of /etc/init.d/vboxdrv.sh, removing."
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync rm /etc/init.d/vboxdrv.sh
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncfi
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncif [ -f /etc/vbox/vbox.cfg ]; then
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync echo "Found old version of /etc/vbox/vbox.cfg, removing."
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync rm /etc/vbox/vbox.cfg
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncfi
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncrm -f /etc/vbox/module_not_compiled
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync# install udev rule (disable with INSTALL_NO_UDEV=1 in /etc/default/virtualbox)
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncif [ -d /etc/udev/rules.d -a "$INSTALL_NO_UDEV" != "1" ]; then
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync udev_call=""
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync udev_app=`which udevadm 2> /dev/null`
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync if [ $? -eq 0 ]; then
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync udev_call="${udev_app} version 2> /dev/null"
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync else
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync udev_app=`which udevinfo 2> /dev/null`
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync if [ $? -eq 0 ]; then
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync udev_call="${udev_app} -V 2> /dev/null"
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync fi
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync fi
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync udev_fix="="
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync if [ "${udev_call}" != "" ]; then
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync udev_out=`${udev_call}`
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync udev_ver=`expr "$udev_out" : '[^0-9]*\([0-9]*\)'`
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync if [ "$udev_ver" = "" -o "$udev_ver" -lt 55 ]; then
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync udev_fix=""
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync fi
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync fi
c6adb272ec43d5eaadb1493cb2bf45f2f8adf588vboxsync usb_createnode="/usr/share/virtualbox/VBoxCreateUSBNode.sh"
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync echo "KERNEL=${udev_fix}\"vboxdrv\", NAME=\"vboxdrv\", OWNER=\"root\", GROUP=\"root\", MODE=\"0600\"" \
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync > /etc/udev/rules.d/10-vboxdrv.rules
9671051adb2703364fe12ed9927291639a0f1c35vboxsync echo "SUBSYSTEM=${udev_fix}\"usb_device\", ACTION=${udev_fix}\"add\", RUN=\"${usb_createnode} \$major \$minor \$attr{bDeviceClass}\"" \
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync >> /etc/udev/rules.d/10-vboxdrv.rules
9671051adb2703364fe12ed9927291639a0f1c35vboxsync echo "SUBSYSTEM=${udev_fix}\"usb\", ACTION=${udev_fix}\"add\", ENV{DEVTYPE}==\"usb_device\", RUN=\"${usb_createnode} \$major \$minor \$attr{bDeviceClass}\"" \
c6adb272ec43d5eaadb1493cb2bf45f2f8adf588vboxsync >> /etc/udev/rules.d/10-vboxdrv.rules
9671051adb2703364fe12ed9927291639a0f1c35vboxsync echo "SUBSYSTEM=${udev_fix}\"usb_device\", ACTION=${udev_fix}\"remove\", RUN=\"${usb_createnode} --remove \$major \$minor\"" \
c6adb272ec43d5eaadb1493cb2bf45f2f8adf588vboxsync >> /etc/udev/rules.d/10-vboxdrv.rules
9671051adb2703364fe12ed9927291639a0f1c35vboxsync echo "SUBSYSTEM=${udev_fix}\"usb\", ACTION=${udev_fix}\"remove\", ENV{DEVTYPE}==\"usb_device\", RUN=\"${usb_createnode} --remove \$major \$minor\"" \
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync >> /etc/udev/rules.d/10-vboxdrv.rules
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncfi
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync# Remove old udev description file
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncif [ -f /etc/udev/rules.d/60-vboxdrv.rules ]; then
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync rm -f /etc/udev/rules.d/60-vboxdrv.rules 2> /dev/null
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncfi
c6adb272ec43d5eaadb1493cb2bf45f2f8adf588vboxsync# Build our device tree
c6adb272ec43d5eaadb1493cb2bf45f2f8adf588vboxsyncfor i in /sys/bus/usb/devices/*; do
c6adb272ec43d5eaadb1493cb2bf45f2f8adf588vboxsync if test -r "$i/dev"; then
c6adb272ec43d5eaadb1493cb2bf45f2f8adf588vboxsync dev="`cat "$i/dev" 2> /dev/null`"
c6adb272ec43d5eaadb1493cb2bf45f2f8adf588vboxsync major="`expr "$dev" : '\(.*\):' 2> /dev/null`"
c6adb272ec43d5eaadb1493cb2bf45f2f8adf588vboxsync minor="`expr "$dev" : '.*:\(.*\)' 2> /dev/null`"
c6adb272ec43d5eaadb1493cb2bf45f2f8adf588vboxsync class="`cat $i/bDeviceClass 2> /dev/null`"
c6adb272ec43d5eaadb1493cb2bf45f2f8adf588vboxsync sh ${usb_createnode} "$major" "$minor" "$class" ${usb_group} 2>/dev/null
c6adb272ec43d5eaadb1493cb2bf45f2f8adf588vboxsync fi
c6adb272ec43d5eaadb1493cb2bf45f2f8adf588vboxsyncdone
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync# XXX SELinux: allow text relocation entries
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync%if %{?rpm_redhat:1}%{!?rpm_redhat:0}
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncif [ -x /usr/bin/chcon ]; then
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync chcon -t texrel_shlib_t /usr/lib/virtualbox/*VBox* > /dev/null 2>&1
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync chcon -t texrel_shlib_t /usr/lib/virtualbox/VirtualBox.so > /dev/null 2>&1
b8908d384db2324f04a2f68a13e67ea32ebf609avboxsync chcon -t texrel_shlib_t /usr/lib/virtualbox/VBoxAuth.so > /dev/null 2>&1
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync chcon -t texrel_shlib_t /usr/lib/virtualbox/components/VBox*.so > /dev/null 2>&1
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync chcon -t java_exec_t /usr/lib/virtualbox/VirtualBox > /dev/null 2>&1
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync chcon -t java_exec_t /usr/lib/virtualbox/VBoxSDL > /dev/null 2>&1
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync chcon -t java_exec_t /usr/lib/virtualbox/VBoxHeadless > /dev/null 2>&1
e00d701bbdc8f27f25cc232d9e507622a731b390vboxsync chcon -t java_exec_t /usr/lib/virtualbox/VBoxExtPackHelperApp > /dev/null 2>&1
17d67aeb3722c094c6493a3e9a9d0cdfb9453ecdvboxsync chcon -t java_exec_t /usr/lib/virtualbox/VBoxBalloonCtrl > /dev/null 2>&1
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync chcon -t java_exec_t /usr/lib/virtualbox/vboxwebsrv > /dev/null 2>&1
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncfi
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync%endif
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync# create users groups (disable with INSTALL_NO_GROUP=1 in /etc/default/virtualbox)
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncif [ "$INSTALL_NO_GROUP" != "1" ]; then
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync echo
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync echo "Creating group 'vboxusers'. VM users must be member of that group!"
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync echo
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync groupadd -f vboxusers 2> /dev/null
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncfi
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync%if %{?rpm_redhat:1}%{!?rpm_redhat:0}
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync/sbin/chkconfig --add vboxdrv
17d67aeb3722c094c6493a3e9a9d0cdfb9453ecdvboxsync/sbin/chkconfig --add vboxballoonctrl-service
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync/sbin/chkconfig --add vboxweb-service
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync%endif
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync%if %{?rpm_suse:1}%{!?rpm_suse:0}
17d67aeb3722c094c6493a3e9a9d0cdfb9453ecdvboxsync%{fillup_and_insserv -f -y -Y vboxdrv vboxballoonctrl-service vboxweb-service}
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync%endif
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync%if %{?rpm_mdv:1}%{!?rpm_mdv:0}
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync/sbin/ldconfig
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync%_post_service vboxdrv
17d67aeb3722c094c6493a3e9a9d0cdfb9453ecdvboxsync%_post_service vboxballoonctrl-service
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync%_post_service vboxweb-service
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync%update_menus
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync%endif
c48c4d769ded37e2496f97dddbbd36dc62f244b1vboxsyncupdate-mime-database /usr/share/mime &> /dev/null || :
47eb60db91f50291b3bd9b72b64d36341972a155vboxsyncupdate-desktop-database -q > /dev/null 2>&1 || :
c48c4d769ded37e2496f97dddbbd36dc62f244b1vboxsynctouch --no-create /usr/share/icons/hicolor
c48c4d769ded37e2496f97dddbbd36dc62f244b1vboxsyncgtk-update-icon-cache -q /usr/share/icons/hicolor 2> /dev/null || :
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync
7eaaa8a4480370b82ef3735994f986f338fb4df2vboxsync# Disable module compilation with INSTALL_NO_VBOXDRV=1 in /etc/default/virtualbox
7eaaa8a4480370b82ef3735994f986f338fb4df2vboxsyncBUILD_MODULES=0
f5ab5688c35373443d953e2a9fa8a054defdece8vboxsyncREGISTER_MODULES=1
f5ab5688c35373443d953e2a9fa8a054defdece8vboxsyncif [ ! -f /lib/modules/`uname -r`/misc/vboxdrv.ko ]; then
f5ab5688c35373443d953e2a9fa8a054defdece8vboxsync REGISTER_MODULES=0
f5ab5688c35373443d953e2a9fa8a054defdece8vboxsync if [ "$INSTALL_NO_VBOXDRV" != "1" ]; then
f5ab5688c35373443d953e2a9fa8a054defdece8vboxsync # compile problem
f5ab5688c35373443d953e2a9fa8a054defdece8vboxsync cat << EOF
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncNo precompiled module for this kernel found -- trying to build one. Messages
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncemitted during module compilation will be logged to $LOG.
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncEOF
f5ab5688c35373443d953e2a9fa8a054defdece8vboxsync BUILD_MODULES=1
f5ab5688c35373443d953e2a9fa8a054defdece8vboxsync fi
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncfi
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync# if INSTALL_NO_VBOXDRV is set to 1, remove all shipped modules
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncif [ "$INSTALL_NO_VBOXDRV" = "1" ]; then
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync rm -f /lib/modules/*/misc/vboxdrv.ko
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync rm -f /lib/modules/*/misc/vboxnetflt.ko
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync rm -f /lib/modules/*/misc/vboxnetadp.ko
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncfi
7eaaa8a4480370b82ef3735994f986f338fb4df2vboxsyncif [ $BUILD_MODULES -eq 1 ]; then
7eaaa8a4480370b82ef3735994f986f338fb4df2vboxsync /etc/init.d/vboxdrv setup || true
7eaaa8a4480370b82ef3735994f986f338fb4df2vboxsyncelse
0c587d7af645db20acefebcfc15b6f46c440ba4avboxsync if lsmod | grep -q "vboxdrv[^_-]"; then
0c587d7af645db20acefebcfc15b6f46c440ba4avboxsync /etc/init.d/vboxdrv stop || true
0c587d7af645db20acefebcfc15b6f46c440ba4avboxsync fi
f5ab5688c35373443d953e2a9fa8a054defdece8vboxsync if [ $REGISTER_MODULES -eq 1 ]; then
f5ab5688c35373443d953e2a9fa8a054defdece8vboxsync DKMS=`which dkms 2>/dev/null`
f5ab5688c35373443d953e2a9fa8a054defdece8vboxsync if [ -n "$DKMS" ]; then
f5ab5688c35373443d953e2a9fa8a054defdece8vboxsync $DKMS remove -m vboxhost -v %VER% --all > /dev/null 2>&1 || true
f5ab5688c35373443d953e2a9fa8a054defdece8vboxsync fi
f5ab5688c35373443d953e2a9fa8a054defdece8vboxsync fi
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync /etc/init.d/vboxdrv start > /dev/null
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncfi
17d67aeb3722c094c6493a3e9a9d0cdfb9453ecdvboxsync/etc/init.d/vboxballoonctrl-service start > /dev/null
7eaaa8a4480370b82ef3735994f986f338fb4df2vboxsync/etc/init.d/vboxweb-service start > /dev/null
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync%preun
0c587d7af645db20acefebcfc15b6f46c440ba4avboxsync# $1==0: remove the last version of the package
0c587d7af645db20acefebcfc15b6f46c440ba4avboxsync# $1==1: install the first time
0c587d7af645db20acefebcfc15b6f46c440ba4avboxsync# $1>=2: upgrade
aca7a56d52c58d8b388343450503c22822fd6620vboxsync%if %{?rpm_suse:1}%{!?rpm_suse:0}
17d67aeb3722c094c6493a3e9a9d0cdfb9453ecdvboxsync%stop_on_removal vboxballoonctrl-service
aca7a56d52c58d8b388343450503c22822fd6620vboxsync%stop_on_removal vboxweb-service
aca7a56d52c58d8b388343450503c22822fd6620vboxsync%endif
aca7a56d52c58d8b388343450503c22822fd6620vboxsync%if %{?rpm_mdv:1}%{!?rpm_mdv:0}
17d67aeb3722c094c6493a3e9a9d0cdfb9453ecdvboxsync%_preun_service vboxballoonctrl-service
aca7a56d52c58d8b388343450503c22822fd6620vboxsync%_preun_service vboxweb-service
aca7a56d52c58d8b388343450503c22822fd6620vboxsync%endif
aca7a56d52c58d8b388343450503c22822fd6620vboxsync%if %{?rpm_redhat:1}%{!?rpm_redhat:0}
aca7a56d52c58d8b388343450503c22822fd6620vboxsyncif [ "$1" = 0 ]; then
17d67aeb3722c094c6493a3e9a9d0cdfb9453ecdvboxsync /sbin/service vboxballoonctrl-service stop > /dev/null
17d67aeb3722c094c6493a3e9a9d0cdfb9453ecdvboxsync /sbin/chkconfig --del vboxballoonctrl-service
aca7a56d52c58d8b388343450503c22822fd6620vboxsync /sbin/service vboxweb-service stop > /dev/null
aca7a56d52c58d8b388343450503c22822fd6620vboxsync /sbin/chkconfig --del vboxweb-service
aca7a56d52c58d8b388343450503c22822fd6620vboxsyncfi
aca7a56d52c58d8b388343450503c22822fd6620vboxsync%endif
0c587d7af645db20acefebcfc15b6f46c440ba4avboxsync
0c587d7af645db20acefebcfc15b6f46c440ba4avboxsyncif [ "$1" = 0 ]; then
0c587d7af645db20acefebcfc15b6f46c440ba4avboxsync # check for active VMs
0c587d7af645db20acefebcfc15b6f46c440ba4avboxsync VBOXSVC_PID=`pidof VBoxSVC 2>/dev/null || true`
0c587d7af645db20acefebcfc15b6f46c440ba4avboxsync if [ -n "$VBOXSVC_PID" ]; then
0c587d7af645db20acefebcfc15b6f46c440ba4avboxsync kill -USR1 $VBOXSVC_PID
0c587d7af645db20acefebcfc15b6f46c440ba4avboxsync sleep 1
0c587d7af645db20acefebcfc15b6f46c440ba4avboxsync if pidof VBoxSVC > /dev/null 2>&1; then
0c587d7af645db20acefebcfc15b6f46c440ba4avboxsync echo "A copy of VirtualBox is currently running. Please close it and try again."
0c587d7af645db20acefebcfc15b6f46c440ba4avboxsync echo "Please note that it can take up to ten seconds for VirtualBox (in particular"
0c587d7af645db20acefebcfc15b6f46c440ba4avboxsync echo "the VBoxSVC daemon) to finish running."
0c587d7af645db20acefebcfc15b6f46c440ba4avboxsync exit 1
0c587d7af645db20acefebcfc15b6f46c440ba4avboxsync fi
cf5af7fccfec4bef83f4ec21662d6a6e6cbe3835vboxsync fi
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncfi
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync%if %{?rpm_suse:1}%{!?rpm_suse:0}
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync%stop_on_removal vboxdrv
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync%endif
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync%if %{?rpm_mdv:1}%{!?rpm_mdv:0}
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync%_preun_service vboxdrv
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync%endif
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncif [ "$1" = 0 ]; then
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync%if %{?rpm_redhat:1}%{!?rpm_redhat:0}
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync /sbin/service vboxdrv stop > /dev/null
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync /sbin/chkconfig --del vboxdrv
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync%endif
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync rm -f /etc/udev/rules.d/10-vboxdrv.rules
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync rm -f /etc/vbox/license_agreed
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync rm -f /etc/vbox/module_not_compiled
60b3bb99d58c291474ef79573ae7738ce769fdbbvboxsync # remove our USB device tree
60b3bb99d58c291474ef79573ae7738ce769fdbbvboxsync rm -rf /dev/vboxusb 2> /dev/null
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncfi
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncDKMS=`which dkms 2>/dev/null`
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncif [ -n "$DKMS" ]; then
7eaaa8a4480370b82ef3735994f986f338fb4df2vboxsync $DKMS remove -m vboxhost -v %VER% --all > /dev/null 2>&1 || true
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncfi
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync%postun
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync%if %{?rpm_redhat:1}%{!?rpm_redhat:0}
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncif [ "$1" -ge 1 ]; then
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync /sbin/service vboxdrv restart > /dev/null 2>&1
17d67aeb3722c094c6493a3e9a9d0cdfb9453ecdvboxsync /sbin/service vboxballoonctrl-service restart > /dev/null 2>&1
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync /sbin/service vboxweb-service restart > /dev/null 2>&1
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncfi
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync%endif
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync%if %{?rpm_suse:1}%{!?rpm_suse:0}
17d67aeb3722c094c6493a3e9a9d0cdfb9453ecdvboxsync%restart_on_update vboxdrv vboxballoonctrl-service vboxweb-service
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync%insserv_cleanup
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync%endif
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync%if %{?rpm_mdv:1}%{!?rpm_mdv:0}
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync/sbin/ldconfig
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync%{clean_desktop_database}
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync%clean_menus
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync%endif
c48c4d769ded37e2496f97dddbbd36dc62f244b1vboxsyncupdate-mime-database /usr/share/mime &> /dev/null || :
47eb60db91f50291b3bd9b72b64d36341972a155vboxsyncupdate-desktop-database -q > /dev/null 2>&1 || :
c48c4d769ded37e2496f97dddbbd36dc62f244b1vboxsynctouch --no-create /usr/share/icons/hicolor
c48c4d769ded37e2496f97dddbbd36dc62f244b1vboxsyncgtk-update-icon-cache -q /usr/share/icons/hicolor 2> /dev/null || :
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync%clean
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncrm -rf $RPM_BUILD_ROOT
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync%files
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync%defattr(-,root,root)
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync%doc LICENSE
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync%doc UserManual*.pdf
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync%doc VirtualBox*.chm
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync%{_initrddir}/vboxdrv
17d67aeb3722c094c6493a3e9a9d0cdfb9453ecdvboxsync%{_initrddir}/vboxballoonctrl-service
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync%{_initrddir}/vboxweb-service
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync%{?rpm_suse: %{py_sitedir}/*}
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync%{!?rpm_suse: %{python_sitelib}/*}
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync%{?rpm_suse: /sbin/rcvboxdrv}
17d67aeb3722c094c6493a3e9a9d0cdfb9453ecdvboxsync%{?rpm_suse: /sbin/rcvboxballoonctrl-service}
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync%{?rpm_suse: /sbin/rcvboxweb-service}
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync/lib/modules
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync/etc/vbox
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync/usr/bin
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync/usr/src/vbox*
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync/usr/lib/virtualbox
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync/usr/share/applications
c48c4d769ded37e2496f97dddbbd36dc62f244b1vboxsync/usr/share/icons
c48c4d769ded37e2496f97dddbbd36dc62f244b1vboxsync/usr/share/mime/packages
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync/usr/share/pixmaps
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync/usr/share/virtualbox