3 # - Find how to compile with PLD CFLAGS/CXXFLAGS/LDFLAGS.
5 # - Package utils (and write initscripts ?) for Guest OS.
6 # - Check License of VBoxGuestAdditions_*.iso, it's probably not GPL v2.
7 # If so check if it is distributable.
8 # - Add chkconfig script for vboxnetadp.
11 %bcond_without dist_kernel # without distribution kernel
12 %bcond_without kernel # don't build kernel module
13 %bcond_without userspace # don't build userspace package
14 %bcond_with force_userspace # force userspace build (useful if alt_kernel is set)
18 %undefine with_dist_kernel
20 %if "%{_alt_kernel}" != "%{nil}"
21 %undefine with_userspace
23 %if %{with force_userspace}
24 %define with_userspace 1
26 %if %{without userspace}
27 # nothing to be placed to debuginfo package
28 %define _enable_debug_packages 0
32 %define pname VirtualBox
33 Summary: VirtualBox OSE - x86 hardware virtualizer
34 Summary(pl.UTF-8): VirtualBox OSE - wirtualizator sprzętu x86
35 Name: %{pname}%{_alt_kernel}
39 Group: Applications/Emulators
40 Source0: http://download.virtualbox.org/virtualbox/%{version}/%{pname}-%{version}-OSE.tar.bz2
41 # Source0-md5: e7808f16114f5b1a65aa2df1aa33e1a7
42 Source1: http://download.virtualbox.org/virtualbox/%{version}/UserManual.pdf
43 # Source1-md5: 052357bb684515035b3e561b35a1d6f2
44 Source2: http://download.virtualbox.org/virtualbox/%{version}/VBoxGuestAdditions_%{version}.iso
45 # Source2-md5: d1ac5c53fb889338849134e07a6bc16f
46 Source3: %{pname}-vboxdrv.init
47 Source4: %{pname}-vboxguest.init
48 Source5: %{pname}-vboxnetflt.init
49 Source6: %{pname}-vboxvfs.init
50 Source7: %{pname}-vboxnetadp.init
53 Patch0: %{pname}-configure.patch
54 Patch1: %{pname}-configure-spaces.patch
55 Patch2: %{pname}-export_modules.patch
56 Patch3: %{pname}-VBoxSysInfo.patch
57 URL: http://www.virtualbox.org/
58 BuildRequires: rpmbuild(macros) >= 1.531
61 BuildRequires: gcc-multilib
62 BuildRequires: glibc-devel(i686)
63 BuildRequires: libstdc++-multilib-devel
64 BuildRequires: libstdc++-multilib-static
66 %if "%{pld_release}" == "ac"
67 BuildRequires: XFree86-devel
69 BuildRequires: xorg-lib-libXcursor-devel
70 BuildRequires: xorg-lib-libXmu-devel
72 BuildRequires: OpenGL-GLU-devel
73 BuildRequires: OpenGL-devel
74 BuildRequires: QtGui-devel
75 BuildRequires: QtNetwork-devel
76 BuildRequires: QtOpenGL-devel
77 BuildRequires: SDL-devel >= 1.2.7
79 BuildRequires: alsa-lib-devel >= 1.0.6
83 BuildRequires: curl-devel
84 BuildRequires: gcc >= 5:3.2.3
85 BuildRequires: libIDL-devel
86 BuildRequires: libcap-static
87 BuildRequires: libpng-devel >= 1.2.5
88 BuildRequires: libstdc++-devel >= 5:3.2.3
89 BuildRequires: libstdc++-static >= 5:3.2.3
90 BuildRequires: libuuid-devel
91 BuildRequires: libxml2-devel >= 2.6.26
92 BuildRequires: libxslt-devel >= 1.1.17
93 BuildRequires: libxslt-progs >= 1.1.17
94 BuildRequires: pkgconfig
95 BuildRequires: pulseaudio-devel >= 0.9.0
96 BuildRequires: python-devel
97 BuildRequires: python-modules
98 BuildRequires: qt4-build >= 4.2.0
99 BuildRequires: qt4-linguist
100 BuildRequires: sed >= 4.0
102 BuildRequires: xalan-c-devel >= 1.10.0
103 BuildRequires: xerces-c-devel >= 2.6.0
104 BuildRequires: zlib-devel >= 1.2.1
106 %if %{with dist_kernel}
107 BuildRequires: kernel%{_alt_kernel}-module-build >= 3:2.6.20
109 Requires(post,preun): /sbin/chkconfig
110 Requires(postun): /usr/sbin/groupdel
111 Requires(pre): /usr/bin/getgid
112 Requires(pre): /usr/sbin/groupadd
113 Requires: QtCore >= 4.6.1
115 Provides: group(vbox)
116 ExclusiveArch: %{ix86} %{x8664}
117 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
120 %define vbox_platform linux.amd64
122 %define vbox_platform linux.x86
124 %define outdir out/%{vbox_platform}/release/bin
125 %define _sbindir /sbin
128 InnoTek VirtualBox OSE is a general-purpose full virtualizer for x86
129 hardware. Targeted at server, desktop and embedded use, it is now the
130 only professional-quality virtualization solution that is also Open
133 Some of the features of VirtualBox OSE are:
135 Modularity: VirtualBox OSE has an extremely modular design with
136 well-defined internal programming interfaces and a client/server
137 design. This makes it easy to control it from several interfaces at
138 once: for example, you can start a virtual machine in a typical
139 virtual machine GUI and then control that machine from the command
140 line. VirtualBox OSE also comes with a full Software Development Kit:
141 even though it is Open Source Software, you don't have to hack the
142 source to write a new interface for VirtualBox OSE.
144 Virtual machine descriptions in XML: the configuration settings of
145 virtual machines are stored entirely in XML and are independent of the
146 local machines. Virtual machine definitions can therefore easily be
147 ported to other computers.
149 %description -l pl.UTF-8
150 InnoTek VirtualBox OSE jest emulatorem sprzętu x86. Kierowany do
151 zastosowań serwerowych, desktopowych oraz wbudowanych jest obecnie
152 jedynym wysokiej jakości rozwiązaniem wirtualizacyjnym dostępnym
153 również jako Otwarte Oprogramowanie.
155 Przykładowe cechy VirtualBoksa:
157 Modularność: VirtualBox OSE jest wysoce zmodularyzowanym produktem z
158 dobrze zaprojektowanym wewnętrznym interfejsem programowym typu
159 klient/serwer. Dzięki temu można łatwo kontrolować go za pomocą
160 różnych interfejsów. Można na przykład uruchomić maszynę wirtualną z
161 poziomu interfejsu graficznego, a później kontrolować ją z linii
162 poleceń. VirtualBox OSE dostarcza również pełny pakiet deweloperski,
163 co pozwala stworzyć dowolny inny interfejs zarządzania maszyną
166 Opisy maszyn wirtualnych w XML-u: konfiguracje poszczególnych maszyn
167 wirtualnych są w całości przechowywane w XML-u i są niezależne od
168 lokalnej maszyny. Dzięki temu można szybko i łatwo przenieść
169 konfigurację maszyny wirtualnej na inny komputer.
172 Summary: udev rules for VirtualBox OSE kernel modules
173 Summary(pl.UTF-8): Reguły udev dla modułów jądra Linuksa dla VirtualBoksa
179 udev rules for VirtualBox OSE kernel modules.
181 %description udev -l pl.UTF-8
182 Reguły udev dla modułów jądra Linuksa dla VirtualBoksa.
185 Summary: VirtualBox Guest Additions
187 Requires: %{name} = %{version}-%{release}
189 %description additions
190 VirtualBox Guest Additions.
192 This package contains ISO9660 image with drivers for Guest OS.
194 %package -n kernel%{_alt_kernel}-misc-vboxguest
195 Summary: VirtualBox OSE Guest Additions for Linux Module
196 Summary(pl.UTF-8): Moduł jądra Linuksa dla VirtualBoksa OSE
197 Release: %{rel}@%{_kernel_ver_str}
199 Requires(post,postun): /sbin/depmod
200 Requires: dev >= 2.9.0-7
201 %if %{with dist_kernel}
202 %requires_releq_kernel
203 Requires(postun): %releq_kernel
205 Provides: kernel(vboxguest) = %{version}-%{rel}
206 Obsoletes: kernel%{_alt_kernel}-misc-vboxadd
207 Conflicts: kernel%{_alt_kernel}-misc-vboxdrv
209 %description -n kernel%{_alt_kernel}-misc-vboxguest
210 VirtualBox OSE Guest Additions for Linux Module.
212 %description -n kernel%{_alt_kernel}-misc-vboxguest -l pl.UTF-8
213 Moduł jądra Linuksa vboxguest dla VirtualBoksa OSE - dodatki dla
216 %package -n kernel%{_alt_kernel}-misc-vboxdrv
217 Summary: VirtualBox OSE Support Driver
218 Summary(pl.UTF-8): Moduł jądra Linuksa dla VirtualBoksa OSE
219 Release: %{rel}@%{_kernel_ver_str}
221 Requires(post,postun): /sbin/depmod
222 Requires: dev >= 2.9.0-7
223 %if %{with dist_kernel}
224 %requires_releq_kernel
225 Requires(postun): %releq_kernel
227 Provides: kernel(vboxdrv) = %{version}-%{rel}
229 %description -n kernel%{_alt_kernel}-misc-vboxdrv
230 VirtualBox OSE Support Driver.
232 %description -n kernel%{_alt_kernel}-misc-vboxdrv -l pl.UTF-8
233 Moduł jądra Linuksa dla VirtualBoksa OSE - sterownik wsparcia dla
236 %package -n kernel%{_alt_kernel}-misc-vboxnetadp
237 Summary: VirtualBox OSE Network Adapter Driver
238 Summary(pl.UTF-8): Moduł jądra Linuksa dla VirtualBoksa OSE
239 Release: %{rel}@%{_kernel_ver_str}
241 Requires(post,postun): /sbin/depmod
242 Requires: dev >= 2.9.0-7
243 Requires: kernel%{_alt_kernel}-misc-vboxdrv
244 %if %{with dist_kernel}
245 %requires_releq_kernel
246 Requires(postun): %releq_kernel
248 Provides: kernel(vboxnetflt) = %{version}-%{rel}
250 %description -n kernel%{_alt_kernel}-misc-vboxnetadp
251 VirtualBox OSE Network Adapter Driver.
253 %description -n kernel%{_alt_kernel}-misc-vboxnetadp -l pl.UTF-8
254 Moduł jądra Linuksa dla VirtualBoksa OSE - sterownik witrualnej karty
257 %package -n kernel%{_alt_kernel}-misc-vboxnetflt
258 Summary: VirtualBox OSE Network Filter Driver
259 Summary(pl.UTF-8): Moduł jądra Linuksa dla VirtualBoksa OSE
260 Release: %{rel}@%{_kernel_ver_str}
262 Requires(post,postun): /sbin/depmod
263 Requires: dev >= 2.9.0-7
264 Requires: kernel%{_alt_kernel}-misc-vboxdrv
265 %if %{with dist_kernel}
266 %requires_releq_kernel
267 Requires(postun): %releq_kernel
269 Provides: kernel(vboxnetflt) = %{version}-%{rel}
271 %description -n kernel%{_alt_kernel}-misc-vboxnetflt
272 VirtualBox OSE Network Filter Driver.
274 %description -n kernel%{_alt_kernel}-misc-vboxnetflt -l pl.UTF-8
275 Moduł jądra Linuksa dla VirtualBoksa OSE - sterownik filtrowania sieci
276 dla systemu głównego.
278 %package -n kernel%{_alt_kernel}-misc-vboxvfs
279 Summary: Host file system access VFS for VirtualBox OSE
280 Summary(pl.UTF-8): Moduł jądra Linuksa dla VirtualBoksa OSE
281 Release: %{rel}@%{_kernel_ver_str}
283 Requires(post,postun): /sbin/depmod
284 Requires: dev >= 2.9.0-7
285 Requires: kernel%{_alt_kernel}-misc-vboxguest
286 %if %{with dist_kernel}
287 %requires_releq_kernel
288 Requires(postun): %releq_kernel
290 Provides: kernel(vboxvfs) = %{version}-%{rel}
292 %description -n kernel%{_alt_kernel}-misc-vboxvfs
293 Host file system access VFS for VirtualBox OSE.
295 %description -n kernel%{_alt_kernel}-misc-vboxvfs -l pl.UTF-8
296 Moduł jądra Linuksa dla VirtualBoksa OSE - dostęp do plików systemu
297 głównego z poziomu systemu gościa.
299 %package -n kernel%{_alt_kernel}-misc-vboxvideo
300 Summary: DRM support for VirtualBox OSE
301 Summary(pl.UTF-8): Moduł jądra Linuksa dla VirtualBoksa OSE
302 Release: %{rel}@%{_kernel_ver_str}
304 Requires(post,postun): /sbin/depmod
305 Requires: dev >= 2.9.0-7
306 %if %{with dist_kernel}
307 %requires_releq_kernel
308 %requires_releq_kernel -n drm
309 Requires(postun): %releq_kernel
311 Provides: kernel(vboxvideo) = %{version}-%{rel}
313 %description -n kernel%{_alt_kernel}-misc-vboxvideo
314 DRM support for VirtualBox OSE.
316 %description -n kernel%{_alt_kernel}-misc-vboxvideo -l pl.UTF-8
317 Moduł jądra Linuksa dla VirtualBoksa OSE - sterownik obsługi DRM.
319 %package -n xorg-driver-input-vboxmouse
320 Summary: X.org mouse driver for VirtualBox OSE guest OS
321 Summary(pl.UTF-8): Sterownik myszy dla systemu gościa w VirtualBoksie OSE
323 Group: X11/Applications
324 Requires: xorg-xserver-server >= 1.0.99.901
325 Requires: xorg-xserver-server(xinput-abi) <= 7.0
326 Requires: xorg-xserver-server(xinput-abi) >= 4.0
328 %description -n xorg-driver-input-vboxmouse
329 X.org mouse driver for VirtualBox OSE guest OS.
331 %description -n xorg-driver-input-vboxmouse -l pl.UTF-8
332 Sterownik myszy dla systemu gościa w VirtualBoksie.
334 %package -n xorg-driver-video-vboxvideo
335 Summary: X.org video driver for VirtualBox OSE guest OS
336 Summary(pl.UTF-8): Sterownik grafiki dla systemu gościa w VirtualBoksie OSE
338 Group: X11/Applications
339 Requires: xorg-xserver-libdri >= 1.7.4
340 Requires: xorg-xserver-server >= 1.0.99.901
341 Requires: xorg-xserver-server(videodrv-abi) <= 6.0
342 Requires: xorg-xserver-server(videodrv-abi) >= 2.0
344 %description -n xorg-driver-video-vboxvideo
345 X.org video driver for VirtualBox OSE guest OS.
347 %description -n xorg-driver-video-vboxvideo -l pl.UTF-8
348 Sterownik grafiki dla systemu gościa w VirtualBoksie OSE.
351 %setup -q -n %{pname}-%{version}_OSE
357 %{__sed} -i -e 's,$VBOX_DOC_PATH,%{_docdir}/%{name}-%{version},' src/VBox/Installer/linux/virtualbox.desktop
358 %{__sed} -i -e 's/Categories=.*/Categories=Utility;Emulator;/' src/VBox/Installer/linux/virtualbox.desktop
360 cat <<'EOF' > udev.conf
361 KERNEL=="vboxdrv", GROUP="vbox", MODE="0660"
362 KERNEL=="vboxguest", GROUP="vbox", MODE="0660"
363 KERNEL=="vboxnetctl", GROUP="vbox", MODE="0660"
367 sed 's#@LIBDIR@#%{_libdir}#' < %{SOURCE8} > VirtualBox-wrapper.sh
369 rm -rf PLD-MODULE-BUILD && mkdir PLD-MODULE-BUILD && cd PLD-MODULE-BUILD
370 ../src/VBox/Additions/linux/export_modules modules.tar.gz
371 tar -zxf modules.tar.gz && rm -f modules.tar.gz
372 ../src/VBox/HostDrivers/linux/export_modules modules.tar.gz --without-hardening && \
373 tar -zxf modules.tar.gz && rm -f modules.tar.gz
376 %if %{with userspace}
378 --with-gcc="%{__cc}" \
379 --with-g++="%{__cxx}" \
380 --disable-hardening \
384 kmk -j1 %{?with_verbose:KBUILD_VERBOSE=3} USER=$(id -un)
389 %build_kernel_modules -m vboxguest -C vboxguest
390 %build_kernel_modules -m vboxdrv -C vboxdrv
391 %build_kernel_modules -m vboxnetadp -C vboxnetadp
392 %build_kernel_modules -m vboxnetflt -C vboxnetflt
393 cp -a vboxguest/Module.symvers vboxvfs
394 %build_kernel_modules -m vboxvfs -C vboxvfs -c
395 %build_kernel_modules -m vboxvideo -C vboxvideo_drm
397 %{__cc} %{rpmcflags} %{rpmldflags} -Wall -Werror src/VBox/Additions/linux/sharedfolders/mount.vboxsf.c -o mount.vboxsf
401 rm -rf $RPM_BUILD_ROOT
403 %if %{with userspace}
405 $RPM_BUILD_ROOT{%{_bindir},%{_sbindir},%{_libdir},%{_pixmapsdir},%{_desktopdir}} \
406 $RPM_BUILD_ROOT%{_libdir}/xorg/modules/{drivers,dri,input}
408 # test if we can hardlink -- %{_builddir} and $RPM_BUILD_ROOT on same partition
409 if cp -al VBox.png $RPM_BUILD_ROOT/Vbox.png 2>/dev/null; then
411 rm -f $RPM_BUILD_ROOT/VBox.png
414 cp -a$l %{outdir} $RPM_BUILD_ROOT%{_libdir}/%{pname}
416 cp -a %{SOURCE2} $RPM_BUILD_ROOT%{_libdir}/VirtualBox/additions/VBoxGuestAdditions.iso
417 install -p %{SOURCE9} $RPM_BUILD_ROOT%{_sbindir}/mount.vdi
418 install -p VirtualBox-wrapper.sh $RPM_BUILD_ROOT%{_libdir}/%{pname}
419 for f in {VBox{BFE,Headless,Manage,SDL,SVC,Tunctl,XPCOMIPCD},VirtualBox}; do
420 ln -s %{_libdir}/%{pname}/VirtualBox-wrapper.sh $RPM_BUILD_ROOT%{_bindir}/$f
423 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname},%{_pixmapsdir}}/VBox.png
424 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname},%{_desktopdir}}/virtualbox.desktop
426 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions/vboxmouse_drv_17.so,%{_libdir}/xorg/modules/input/vboxmouse_drv.so}
427 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions/vboxvideo_drv_17.so,%{_libdir}/xorg/modules/drivers/vboxvideo_drv.so}
428 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions/VBoxOGL.so,%{_libdir}/xorg/modules/dri/vboxvideo_dri.so}
429 # xorg other driver versions
430 rm -f $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/vboxmouse_drv*.{o,so}
431 rm -f $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/vboxvideo_drv*.{o,so}
433 # XXX: where else to install them that vboxvideo_dri.so finds them? patch with rpath?
434 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLcrutil.so
435 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLpackspu.so
436 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLerrorspu.so
437 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLfeedbackspu.so
438 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLpassthroughspu.so
440 install -d $RPM_BUILD_ROOT/etc/udev/rules.d
441 cp -a udev.conf $RPM_BUILD_ROOT/etc/udev/rules.d/virtualbox.rules
444 rm -r $RPM_BUILD_ROOT%{_libdir}/%{pname}/{src,sdk,testcase}
445 rm -r $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/src
446 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/vboxkeyboard.tar.gz
447 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/tst*
450 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/EfiThunk
451 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/SUPInstall
452 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/SUPLoggerCtl
453 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/SUPUninstall
454 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/VBox.sh
455 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/VBoxEFI32.fd
456 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/VBoxEFI64.fd
457 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/VBoxClient
458 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/VBoxControl
459 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/VBoxOGLarrayspu.so
460 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/VBoxService
461 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/vboxshell.py
462 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/xpidl
464 # packaged by kernel part
465 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/mount.vboxsf
469 install -d $RPM_BUILD_ROOT{/etc/{rc.d/init.d,modprobe.d},%{_sbindir}}
470 install -p %{SOURCE3} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxdrv
471 install -p %{SOURCE4} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxguest
472 install -p %{SOURCE5} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxnetflt
473 install -p %{SOURCE6} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxvfs
474 install -p %{SOURCE7} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxnetadp
475 %install_kernel_modules -m PLD-MODULE-BUILD/vboxdrv/vboxdrv -d misc
476 %install_kernel_modules -m PLD-MODULE-BUILD/vboxguest/vboxguest -d misc
477 %install_kernel_modules -m PLD-MODULE-BUILD/vboxnetadp/vboxnetadp -d misc
478 %install_kernel_modules -m PLD-MODULE-BUILD/vboxnetflt/vboxnetflt -d misc
479 %install_kernel_modules -m PLD-MODULE-BUILD/vboxvfs/vboxvfs -d misc
480 %install_kernel_modules -m PLD-MODULE-BUILD/vboxvideo_drm/vboxvideo -d misc
482 install -p mount.vboxsf $RPM_BUILD_ROOT%{_sbindir}/mount.vboxsf
484 cat <<'EOF' > $RPM_BUILD_ROOT/etc/modprobe.d/vboxvfs.conf
485 # Filesystem name has got it's name from Shared Folders, while module is from VFS
491 rm -rf $RPM_BUILD_ROOT
494 %groupadd -g 221 -r -f vbox
498 You must also install kernel module for this software to work:
499 kernel-misc-vboxdrv-%{version}-%{rel}@%{_kernel_ver_str}
501 Additionally you might want to install:
502 kernel-misc-vboxnetadp-%{version}-%{rel}@%{_kernel_ver_str}
503 kernel-misc-vboxnetflt-%{version}-%{rel}@%{_kernel_ver_str}
505 On Guest Linux system you might want to install:
506 kernel-misc-vboxguest-%{version}-%{rel}@%{_kernel_ver_str}
507 kernel-misc-vboxvfs-%{version}-%{rel}@%{_kernel_ver_str}
508 kernel-misc-vboxvideo-%{version}-%{rel}@%{_kernel_ver_str}
510 NOTE: for different kernel brands append after word kernel the brand, like:
511 kernel-desktop-misc-vboxdrv-%{version}-%{rel}@%{_kernel_ver_str}
512 kernel-laptop-misc-vboxdrv-%{version}-%{rel}@%{_kernel_ver_str}
513 kernel-vanilla-misc-vboxdrv-%{version}-%{rel}@%{_kernel_ver_str}
516 Depending on which kernel brand You use.
521 if [ "$1" = "0" ]; then
525 %post -n kernel%{_alt_kernel}-misc-vboxguest
526 %depmod %{_kernel_ver}
527 /sbin/chkconfig --add vboxguest
528 %service vboxguest restart "VirtualBox OSE Guest additions driver"
530 %postun -n kernel%{_alt_kernel}-misc-vboxguest
531 %depmod %{_kernel_ver}
533 %preun -n kernel%{_alt_kernel}-misc-vboxguest
534 if [ "$1" = "0" ]; then
535 %service vboxguest stop
536 /sbin/chkconfig --del vboxguest
539 %post -n kernel%{_alt_kernel}-misc-vboxdrv
540 %depmod %{_kernel_ver}
541 /sbin/chkconfig --add vboxdrv
542 %service vboxdrv restart "VirtualBox OSE Support Driver"
544 %postun -n kernel%{_alt_kernel}-misc-vboxdrv
545 %depmod %{_kernel_ver}
547 %preun -n kernel%{_alt_kernel}-misc-vboxdrv
548 if [ "$1" = "0" ]; then
549 %service vboxdrv stop
550 /sbin/chkconfig --del vboxdrv
553 %post -n kernel%{_alt_kernel}-misc-vboxnetadp
554 %depmod %{_kernel_ver}
555 /sbin/chkconfig --add vboxnetadp
556 %service vboxnetadp restart "VirtualBox OSE Network HostOnly driver"
558 %postun -n kernel%{_alt_kernel}-misc-vboxnetadp
559 %depmod %{_kernel_ver}
561 %preun -n kernel%{_alt_kernel}-misc-vboxnetadp
562 if [ "$1" = "0" ]; then
563 %service vboxnetadp stop
564 /sbin/chkconfig --del vboxnetadp
567 %post -n kernel%{_alt_kernel}-misc-vboxnetflt
568 %depmod %{_kernel_ver}
569 /sbin/chkconfig --add vboxnetflt
570 %service vboxnetflt restart "VirtualBox OSE Network Filter driver"
572 %postun -n kernel%{_alt_kernel}-misc-vboxnetflt
573 %depmod %{_kernel_ver}
575 %preun -n kernel%{_alt_kernel}-misc-vboxnetflt
576 if [ "$1" = "0" ]; then
577 %service vboxnetflt stop
578 /sbin/chkconfig --del vboxnetflt
581 %post -n kernel%{_alt_kernel}-misc-vboxvfs
582 %depmod %{_kernel_ver}
583 /sbin/chkconfig --add vboxvfs
584 %service vboxvfs restart "VirtualBox OSE Host file system access VFS"
586 %postun -n kernel%{_alt_kernel}-misc-vboxvfs
587 %depmod %{_kernel_ver}
589 %preun -n kernel%{_alt_kernel}-misc-vboxvfs
590 if [ "$1" = "0" ]; then
591 %service vboxvfs stop
592 /sbin/chkconfig --del vboxvfs
595 %post -n kernel%{_alt_kernel}-misc-vboxvideo
596 %depmod %{_kernel_ver}
598 %postun -n kernel%{_alt_kernel}-misc-vboxvideo
599 %depmod %{_kernel_ver}
601 %if %{with userspace}
603 %defattr(644,root,root,755)
605 %dir %{_libdir}/VirtualBox
606 %dir %{_libdir}/VirtualBox/additions
607 %dir %{_libdir}/VirtualBox/components
608 %dir %{_libdir}/VirtualBox/nls
609 %attr(755,root,root) %{_bindir}/VBoxBFE
610 %attr(755,root,root) %{_bindir}/VBoxHeadless
611 %attr(755,root,root) %{_bindir}/VBoxManage
612 %attr(755,root,root) %{_bindir}/VBoxSDL
613 %attr(755,root,root) %{_bindir}/VBoxSVC
614 %attr(755,root,root) %{_bindir}/VBoxTunctl
615 %attr(755,root,root) %{_bindir}/VBoxXPCOMIPCD
616 %attr(755,root,root) %{_bindir}/VirtualBox
617 %attr(755,root,root) /sbin/mount.vdi
618 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxSVC
619 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxBFE
620 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxHeadless
621 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxManage
622 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxSDL
623 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxTestOGL
624 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxTunctl
625 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxXPCOMIPCD
626 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxDD.so
627 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxDD2.so
628 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxDDU.so
629 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxGuestPropSvc.so
630 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxKeyboard.so
631 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxNetAdpCtl
632 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxNetDHCP
633 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxOGLhostcrutil.so
634 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxOGLhosterrorspu.so
635 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxOGLrenderspu.so
636 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxPython.so
637 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxPython2_6.so
638 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxREM.so
640 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxREM32.so
641 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxREM64.so
643 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxRT.so
644 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxSharedClipboard.so
645 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxSharedCrOpenGL.so
646 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxSharedFolders.so
647 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxVMM.so
648 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxXPCOM.so
649 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxXPCOMC.so
650 %attr(755,root,root) %{_libdir}/VirtualBox/VirtualBox
651 %attr(755,root,root) %{_libdir}/VirtualBox/VirtualBox-wrapper.sh
652 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxSysInfo.sh
653 %{_libdir}/VirtualBox/VBoxDD2GC.gc
654 %{_libdir}/VirtualBox/VBoxDDGC.gc
655 %{_libdir}/VirtualBox/VMMGC.gc
656 %{_libdir}/VirtualBox/VBoxDD2R0.r0
657 %{_libdir}/VirtualBox/VBoxDDR0.r0
658 %{_libdir}/VirtualBox/VMMR0.r0
659 %{_libdir}/VirtualBox/components/VBoxXPCOMBase.xpt
660 %{_libdir}/VirtualBox/components/VirtualBox_XPCOM.xpt
661 %attr(755,root,root) %{_libdir}/VirtualBox/components/VBoxC.so
662 %attr(755,root,root) %{_libdir}/VirtualBox/components/VBoxSVCM.so
663 %attr(755,root,root) %{_libdir}/VirtualBox/components/VBoxXPCOMIPCC.so
664 %lang(ar) %{_libdir}/VirtualBox/nls/*_ar.qm
665 %lang(bg) %{_libdir}/VirtualBox/nls/*_bg.qm
666 %lang(ca) %{_libdir}/VirtualBox/nls/*_ca.qm
667 %lang(cs) %{_libdir}/VirtualBox/nls/*_cs.qm
668 %lang(da) %{_libdir}/VirtualBox/nls/*_da.qm
669 %lang(de) %{_libdir}/VirtualBox/nls/*_de.qm
670 %lang(el) %{_libdir}/VirtualBox/nls/*_el.qm
671 %lang(es) %{_libdir}/VirtualBox/nls/*_es.qm
672 %lang(eu) %{_libdir}/VirtualBox/nls/*_eu.qm
673 %lang(fi) %{_libdir}/VirtualBox/nls/*_fi.qm
674 %lang(fr) %{_libdir}/VirtualBox/nls/*_fr.qm
675 %lang(hu) %{_libdir}/VirtualBox/nls/*_hu.qm
676 %lang(id) %{_libdir}/VirtualBox/nls/*_id.qm
677 %lang(it) %{_libdir}/VirtualBox/nls/*_it.qm
678 %lang(ja) %{_libdir}/VirtualBox/nls/*_ja.qm
679 %lang(km_KH) %{_libdir}/VirtualBox/nls/*_km_KH.qm
680 %lang(ko) %{_libdir}/VirtualBox/nls/*_ko.qm
681 %lang(nl) %{_libdir}/VirtualBox/nls/*_nl.qm
682 %lang(pl) %{_libdir}/VirtualBox/nls/*_pl.qm
683 %lang(pt) %{_libdir}/VirtualBox/nls/*_pt.qm
684 %lang(pt_BR) %{_libdir}/VirtualBox/nls/*_pt_BR.qm
685 %lang(ro) %{_libdir}/VirtualBox/nls/*_ro.qm
686 %lang(ru) %{_libdir}/VirtualBox/nls/*_ru.qm
687 %lang(sk) %{_libdir}/VirtualBox/nls/*_sk.qm
688 %lang(sr) %{_libdir}/VirtualBox/nls/*_sr.qm
689 %lang(sv) %{_libdir}/VirtualBox/nls/*_sv.qm
690 %lang(tr) %{_libdir}/VirtualBox/nls/*_tr.qm
691 %lang(uk) %{_libdir}/VirtualBox/nls/*_uk.qm
692 %lang(zh_CN) %{_libdir}/VirtualBox/nls/*_zh_CN.qm
693 %lang(zh_TW) %{_libdir}/VirtualBox/nls/*_zh_TW.qm
694 %{_pixmapsdir}/VBox.png
695 %{_desktopdir}/*.desktop
698 %defattr(644,root,root,755)
699 %{_libdir}/VirtualBox/additions/VBoxGuestAdditions.iso
702 %defattr(644,root,root,755)
703 %config(noreplace) %verify(not md5 mtime size) /etc/udev/rules.d/virtualbox.rules
705 %files -n xorg-driver-input-vboxmouse
706 %defattr(644,root,root,755)
707 %attr(755,root,root) %{_libdir}/xorg/modules/input/vboxmouse_drv.so
709 %files -n xorg-driver-video-vboxvideo
710 %defattr(644,root,root,755)
711 %attr(755,root,root) %{_libdir}/xorg/modules/drivers/vboxvideo_drv.so
712 %attr(755,root,root) %{_libdir}/xorg/modules/dri/vboxvideo_dri.so
713 # vboxvideo_dri.so deps
714 %attr(755,root,root) %{_libdir}/VBoxOGLcrutil.so
715 %attr(755,root,root) %{_libdir}/VBoxOGLerrorspu.so
716 %attr(755,root,root) %{_libdir}/VBoxOGLfeedbackspu.so
717 %attr(755,root,root) %{_libdir}/VBoxOGLpackspu.so
718 %attr(755,root,root) %{_libdir}/VBoxOGLpassthroughspu.so
722 %files -n kernel%{_alt_kernel}-misc-vboxguest
723 %defattr(644,root,root,755)
724 %attr(754,root,root) /etc/rc.d/init.d/vboxguest
725 /lib/modules/%{_kernel_ver}/misc/vboxguest.ko*
727 %files -n kernel%{_alt_kernel}-misc-vboxdrv
728 %defattr(644,root,root,755)
729 %attr(754,root,root) /etc/rc.d/init.d/vboxdrv
730 /lib/modules/%{_kernel_ver}/misc/vboxdrv.ko*
732 %files -n kernel%{_alt_kernel}-misc-vboxnetadp
733 %defattr(644,root,root,755)
734 %attr(754,root,root) /etc/rc.d/init.d/vboxnetadp
735 /lib/modules/%{_kernel_ver}/misc/vboxnetadp.ko*
737 %files -n kernel%{_alt_kernel}-misc-vboxnetflt
738 %defattr(644,root,root,755)
739 %attr(754,root,root) /etc/rc.d/init.d/vboxnetflt
740 /lib/modules/%{_kernel_ver}/misc/vboxnetflt.ko*
742 %files -n kernel%{_alt_kernel}-misc-vboxvfs
743 %defattr(644,root,root,755)
744 %attr(754,root,root) /etc/rc.d/init.d/vboxvfs
745 %attr(755,root,root) %{_sbindir}/mount.vboxsf
746 /etc/modprobe.d/vboxvfs.conf
747 /lib/modules/%{_kernel_ver}/misc/vboxvfs.ko*
749 %files -n kernel%{_alt_kernel}-misc-vboxvideo
750 %defattr(644,root,root,755)
751 /lib/modules/%{_kernel_ver}/misc/vboxvideo.ko*