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.
10 %bcond_without dist_kernel # without distribution kernel
11 %bcond_without kernel # don't build kernel module
12 %bcond_without userspace # don't build userspace package
13 %bcond_with force_userspace # force userspace build (useful if alt_kernel is set)
17 %undefine with_dist_kernel
19 %if "%{_alt_kernel}" != "%{nil}"
20 %undefine with_userspace
22 %if %{with force_userspace}
23 %define with_userspace 1
25 %if %{without userspace}
26 # nothing to be placed to debuginfo package
27 %define _enable_debug_packages 0
31 %define pname VirtualBox
32 Summary: VirtualBox OSE - x86 hardware virtualizer
33 Summary(pl.UTF-8): VirtualBox OSE - wirtualizator sprzętu x86
34 Name: %{pname}%{_alt_kernel}
38 Group: Applications/Emulators
39 Source0: http://download.virtualbox.org/virtualbox/%{version}/%{pname}-%{version}-OSE.tar.bz2
40 # Source0-md5: d32066cb9ebfa4930a2c5ad6227de26f
41 Source1: http://download.virtualbox.org/virtualbox/%{version}/UserManual.pdf
42 # Source1-md5: 4ceede379f68905b0a0d87c11a22b0e4
43 Source2: http://download.virtualbox.org/virtualbox/%{version}/VBoxGuestAdditions_%{version}.iso
44 # Source2-md5: 2f203836d5168d391ca2fae81e1c52fc
45 Source3: %{pname}-vboxdrv.init
46 Source4: %{pname}-vboxguest.init
47 Source5: %{pname}-vboxnetflt.init
48 Source6: %{pname}-vboxvfs.init
49 Source7: %{pname}-vboxnetadp.init
52 Patch0: %{pname}-configure.patch
53 Patch1: %{pname}-configure-spaces.patch
54 Patch2: %{pname}-export_modules.patch
55 Patch3: %{pname}-VBoxSysInfo.patch
56 URL: http://www.virtualbox.org/
57 BuildRequires: rpmbuild(macros) >= 1.531
60 BuildRequires: gcc-multilib
61 BuildRequires: glibc-devel(i686)
62 BuildRequires: libstdc++-multilib-devel
63 BuildRequires: libstdc++-multilib-static
65 %if "%{pld_release}" == "ac"
66 BuildRequires: XFree86-devel
68 BuildRequires: xorg-lib-libXcursor-devel
69 BuildRequires: xorg-lib-libXmu-devel
71 BuildRequires: OpenGL-GLU-devel
72 BuildRequires: OpenGL-devel
73 BuildRequires: QtGui-devel
74 BuildRequires: QtNetwork-devel
75 BuildRequires: QtOpenGL-devel
76 BuildRequires: SDL-devel >= 1.2.7
78 BuildRequires: alsa-lib-devel >= 1.0.6
82 BuildRequires: curl-devel
83 BuildRequires: gcc >= 5:3.2.3
84 BuildRequires: libIDL-devel
85 BuildRequires: libcap-static
86 BuildRequires: libpng-devel >= 1.2.5
87 BuildRequires: libstdc++-devel >= 5:3.2.3
88 BuildRequires: libstdc++-static >= 5:3.2.3
89 BuildRequires: libuuid-devel
90 BuildRequires: libxml2-devel >= 2.6.26
91 BuildRequires: libxslt-devel >= 1.1.17
92 BuildRequires: libxslt-progs >= 1.1.17
93 BuildRequires: pkgconfig
94 BuildRequires: pulseaudio-devel >= 0.9.0
95 BuildRequires: python-devel
96 BuildRequires: python-modules
97 BuildRequires: qt4-build >= 4.2.0
98 BuildRequires: qt4-linguist
99 BuildRequires: sed >= 4.0
101 BuildRequires: xalan-c-devel >= 1.10.0
102 BuildRequires: xerces-c-devel >= 2.6.0
103 BuildRequires: zlib-devel >= 1.2.1
105 %if %{with dist_kernel}
106 BuildRequires: kernel%{_alt_kernel}-module-build >= 3:2.6.20
108 Requires(post,preun): /sbin/chkconfig
109 Requires(postun): /usr/sbin/groupdel
110 Requires(pre): /usr/bin/getgid
111 Requires(pre): /usr/sbin/groupadd
112 Requires: QtCore >= 4.6.1
114 Provides: group(vbox)
115 ExclusiveArch: %{ix86} %{x8664}
116 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
119 %define vbox_platform linux.amd64
121 %define vbox_platform linux.x86
123 %define outdir out/%{vbox_platform}/release/bin
124 %define _sbindir /sbin
127 InnoTek VirtualBox OSE is a general-purpose full virtualizer for x86
128 hardware. Targeted at server, desktop and embedded use, it is now the
129 only professional-quality virtualization solution that is also Open
132 Some of the features of VirtualBox OSE are:
134 Modularity: VirtualBox OSE has an extremely modular design with
135 well-defined internal programming interfaces and a client/server
136 design. This makes it easy to control it from several interfaces at
137 once: for example, you can start a virtual machine in a typical
138 virtual machine GUI and then control that machine from the command
139 line. VirtualBox OSE also comes with a full Software Development Kit:
140 even though it is Open Source Software, you don't have to hack the
141 source to write a new interface for VirtualBox OSE.
143 Virtual machine descriptions in XML: the configuration settings of
144 virtual machines are stored entirely in XML and are independent of the
145 local machines. Virtual machine definitions can therefore easily be
146 ported to other computers.
148 %description -l pl.UTF-8
149 InnoTek VirtualBox OSE jest emulatorem sprzętu x86. Kierowany do
150 zastosowań serwerowych, desktopowych oraz wbudowanych jest obecnie
151 jedynym wysokiej jakości rozwiązaniem wirtualizacyjnym dostępnym
152 również jako Otwarte Oprogramowanie.
154 Przykładowe cechy VirtualBoksa:
156 Modularność: VirtualBox OSE jest wysoce zmodularyzowanym produktem z
157 dobrze zaprojektowanym wewnętrznym interfejsem programowym typu
158 klient/serwer. Dzięki temu można łatwo kontrolować go za pomocą
159 różnych interfejsów. Można na przykład uruchomić maszynę wirtualną z
160 poziomu interfejsu graficznego, a później kontrolować ją z linii
161 poleceń. VirtualBox OSE dostarcza również pełny pakiet deweloperski,
162 co pozwala stworzyć dowolny inny interfejs zarządzania maszyną
165 Opisy maszyn wirtualnych w XML-u: konfiguracje poszczególnych maszyn
166 wirtualnych są w całości przechowywane w XML-u i są niezależne od
167 lokalnej maszyny. Dzięki temu można szybko i łatwo przenieść
168 konfigurację maszyny wirtualnej na inny komputer.
171 Summary: udev rules for VirtualBox OSE kernel modules
172 Summary(pl.UTF-8): Reguły udev dla modułów jądra Linuksa dla VirtualBoksa
178 udev rules for VirtualBox OSE kernel modules.
180 %description udev -l pl.UTF-8
181 Reguły udev dla modułów jądra Linuksa dla VirtualBoksa.
184 Summary: VirtualBox Guest Additions
186 Requires: %{name} = %{version}-%{release}
188 %description additions
189 VirtualBox Guest Additions.
191 This package contains ISO9660 image with drivers for Guest OS.
193 %package -n kernel%{_alt_kernel}-misc-vboxguest
194 Summary: VirtualBox OSE Guest Additions for Linux Module
195 Summary(pl.UTF-8): Moduł jądra Linuksa dla VirtualBoksa OSE
196 Release: %{rel}@%{_kernel_ver_str}
198 Requires(post,postun): /sbin/depmod
199 Requires: dev >= 2.9.0-7
200 %if %{with dist_kernel}
201 %requires_releq_kernel
202 Requires(postun): %releq_kernel
204 Provides: kernel(vboxguest) = %{version}-%{rel}
205 Obsoletes: kernel%{_alt_kernel}-misc-vboxadd
206 Conflicts: kernel%{_alt_kernel}-misc-vboxdrv
208 %description -n kernel%{_alt_kernel}-misc-vboxguest
209 VirtualBox OSE Guest Additions for Linux Module.
211 %description -n kernel%{_alt_kernel}-misc-vboxguest -l pl.UTF-8
212 Moduł jądra Linuksa vboxguest dla VirtualBoksa OSE - dodatki dla
215 %package -n kernel%{_alt_kernel}-misc-vboxdrv
216 Summary: VirtualBox OSE Support Driver
217 Summary(pl.UTF-8): Moduł jądra Linuksa dla VirtualBoksa OSE
218 Release: %{rel}@%{_kernel_ver_str}
220 Requires(post,postun): /sbin/depmod
221 Requires: dev >= 2.9.0-7
222 %if %{with dist_kernel}
223 %requires_releq_kernel
224 Requires(postun): %releq_kernel
226 Provides: kernel(vboxdrv) = %{version}-%{rel}
228 %description -n kernel%{_alt_kernel}-misc-vboxdrv
229 VirtualBox OSE Support Driver.
231 %description -n kernel%{_alt_kernel}-misc-vboxdrv -l pl.UTF-8
232 Moduł jądra Linuksa dla VirtualBoksa OSE - sterownik wsparcia dla
235 %package -n kernel%{_alt_kernel}-misc-vboxnetadp
236 Summary: VirtualBox OSE Network Adapter Driver
237 Summary(pl.UTF-8): Moduł jądra Linuksa dla VirtualBoksa OSE
238 Release: %{rel}@%{_kernel_ver_str}
240 Requires(post,postun): /sbin/depmod
241 Requires: dev >= 2.9.0-7
242 Requires: kernel%{_alt_kernel}-misc-vboxdrv
243 %if %{with dist_kernel}
244 %requires_releq_kernel
245 Requires(postun): %releq_kernel
247 Provides: kernel(vboxnetflt) = %{version}-%{rel}
249 %description -n kernel%{_alt_kernel}-misc-vboxnetadp
250 VirtualBox OSE Network Adapter Driver.
252 %description -n kernel%{_alt_kernel}-misc-vboxnetadp -l pl.UTF-8
253 Moduł jądra Linuksa dla VirtualBoksa OSE - sterownik witrualnej karty
256 %package -n kernel%{_alt_kernel}-misc-vboxnetflt
257 Summary: VirtualBox OSE Network Filter Driver
258 Summary(pl.UTF-8): Moduł jądra Linuksa dla VirtualBoksa OSE
259 Release: %{rel}@%{_kernel_ver_str}
261 Requires(post,postun): /sbin/depmod
262 Requires: dev >= 2.9.0-7
263 Requires: kernel%{_alt_kernel}-misc-vboxdrv
264 %if %{with dist_kernel}
265 %requires_releq_kernel
266 Requires(postun): %releq_kernel
268 Provides: kernel(vboxnetflt) = %{version}-%{rel}
270 %description -n kernel%{_alt_kernel}-misc-vboxnetflt
271 VirtualBox OSE Network Filter Driver.
273 %description -n kernel%{_alt_kernel}-misc-vboxnetflt -l pl.UTF-8
274 Moduł jądra Linuksa dla VirtualBoksa OSE - sterownik filtrowania sieci
275 dla systemu głównego.
277 %package -n kernel%{_alt_kernel}-misc-vboxvfs
278 Summary: Host file system access VFS for VirtualBox OSE
279 Summary(pl.UTF-8): Moduł jądra Linuksa dla VirtualBoksa OSE
280 Release: %{rel}@%{_kernel_ver_str}
282 Requires(post,postun): /sbin/depmod
283 Requires: dev >= 2.9.0-7
284 Requires: kernel%{_alt_kernel}-misc-vboxguest
285 %if %{with dist_kernel}
286 %requires_releq_kernel
287 Requires(postun): %releq_kernel
289 Provides: kernel(vboxvfs) = %{version}-%{rel}
291 %description -n kernel%{_alt_kernel}-misc-vboxvfs
292 Host file system access VFS for VirtualBox OSE.
294 %description -n kernel%{_alt_kernel}-misc-vboxvfs -l pl.UTF-8
295 Moduł jądra Linuksa dla VirtualBoksa OSE - dostęp do plików systemu
296 głównego z poziomu systemu gościa.
298 %package -n kernel%{_alt_kernel}-misc-vboxvideo
299 Summary: DRM support for VirtualBox OSE
300 Summary(pl.UTF-8): Moduł jądra Linuksa dla VirtualBoksa OSE
301 Release: %{rel}@%{_kernel_ver_str}
303 Requires(post,postun): /sbin/depmod
304 Requires: dev >= 2.9.0-7
305 %if %{with dist_kernel}
306 %requires_releq_kernel
307 %requires_releq_kernel -n drm
308 Requires(postun): %releq_kernel
310 Provides: kernel(vboxvideo) = %{version}-%{rel}
312 %description -n kernel%{_alt_kernel}-misc-vboxvideo
313 DRM support for VirtualBox OSE.
315 %description -n kernel%{_alt_kernel}-misc-vboxvideo -l pl.UTF-8
316 Moduł jądra Linuksa dla VirtualBoksa OSE - sterownik obsługi DRM.
318 %package -n xorg-driver-input-vboxmouse
319 Summary: X.org mouse driver for VirtualBox OSE guest OS
320 Summary(pl.UTF-8): Sterownik myszy dla systemu gościa w VirtualBoksie OSE
322 Group: X11/Applications
323 Requires: xorg-xserver-server >= 1.0.99.901
324 Requires: xorg-xserver-server(xinput-abi) <= 7.0
325 Requires: xorg-xserver-server(xinput-abi) >= 4.0
327 %description -n xorg-driver-input-vboxmouse
328 X.org mouse driver for VirtualBox OSE guest OS.
330 %description -n xorg-driver-input-vboxmouse -l pl.UTF-8
331 Sterownik myszy dla systemu gościa w VirtualBoksie.
333 %package -n xorg-driver-video-vboxvideo
334 Summary: X.org video driver for VirtualBox OSE guest OS
335 Summary(pl.UTF-8): Sterownik grafiki dla systemu gościa w VirtualBoksie OSE
337 Group: X11/Applications
338 Requires: xorg-xserver-libdri >= 1.7.4
339 Requires: xorg-xserver-server >= 1.0.99.901
340 Requires: xorg-xserver-server(videodrv-abi) <= 6.0
341 Requires: xorg-xserver-server(videodrv-abi) >= 2.0
343 %description -n xorg-driver-video-vboxvideo
344 X.org video driver for VirtualBox OSE guest OS.
346 %description -n xorg-driver-video-vboxvideo -l pl.UTF-8
347 Sterownik grafiki dla systemu gościa w VirtualBoksie OSE.
350 %setup -q -n %{pname}-%{version}_OSE
356 %{__sed} -i -e 's,$VBOX_DOC_PATH,%{_docdir}/%{name}-%{version},' src/VBox/Installer/linux/virtualbox.desktop
357 %{__sed} -i -e 's/Categories=.*/Categories=Utility;Emulator;/' src/VBox/Installer/linux/virtualbox.desktop
359 cat <<'EOF' > udev.conf
360 KERNEL=="vboxdrv", GROUP="vbox", MODE="0660"
361 KERNEL=="vboxguest", GROUP="vbox", MODE="0660"
362 KERNEL=="vboxnetctl", GROUP="vbox", MODE="0660"
366 sed 's#@LIBDIR@#%{_libdir}#' < %{SOURCE8} > VirtualBox-wrapper.sh
368 rm -rf PLD-MODULE-BUILD && mkdir PLD-MODULE-BUILD && cd PLD-MODULE-BUILD
369 ../src/VBox/Additions/linux/export_modules modules.tar.gz
370 tar -zxf modules.tar.gz && rm -f modules.tar.gz
371 ../src/VBox/HostDrivers/linux/export_modules modules.tar.gz --without-hardening && \
372 tar -zxf modules.tar.gz && rm -f modules.tar.gz
375 %if %{with userspace}
377 --with-gcc="%{__cc}" \
378 --with-g++="%{__cxx}" \
379 --disable-hardening \
383 kmk -j1 %{?with_verbose:KBUILD_VERBOSE=3} USER=$(id -un)
388 %build_kernel_modules -m vboxguest -C vboxguest
389 %build_kernel_modules -m vboxdrv -C vboxdrv
390 %build_kernel_modules -m vboxnetadp -C vboxnetadp
391 %build_kernel_modules -m vboxnetflt -C vboxnetflt
392 cp -a vboxguest/Module.symvers vboxvfs
393 %build_kernel_modules -m vboxvfs -C vboxvfs -c
394 %build_kernel_modules -m vboxvideo -C vboxvideo_drm
396 %{__cc} %{rpmcflags} %{rpmldflags} -Wall -Werror src/VBox/Additions/linux/sharedfolders/mount.vboxsf.c -o mount.vboxsf
400 rm -rf $RPM_BUILD_ROOT
402 %if %{with userspace}
404 $RPM_BUILD_ROOT{%{_bindir},%{_sbindir},%{_libdir},%{_pixmapsdir},%{_desktopdir}} \
405 $RPM_BUILD_ROOT%{_libdir}/xorg/modules/{drivers,dri,input}
407 # test if we can hardlink -- %{_builddir} and $RPM_BUILD_ROOT on same partition
408 if cp -al VBox.png $RPM_BUILD_ROOT/Vbox.png 2>/dev/null; then
410 rm -f $RPM_BUILD_ROOT/VBox.png
413 cp -a$l %{outdir} $RPM_BUILD_ROOT%{_libdir}/%{pname}
415 cp -a %{SOURCE2} $RPM_BUILD_ROOT%{_libdir}/VirtualBox/additions/VBoxGuestAdditions.iso
416 install -p %{SOURCE9} $RPM_BUILD_ROOT%{_sbindir}/mount.vdi
417 install -p VirtualBox-wrapper.sh $RPM_BUILD_ROOT%{_libdir}/%{pname}
418 for f in {VBox{BFE,Headless,Manage,SDL,SVC,Tunctl,XPCOMIPCD},VirtualBox}; do
419 ln -s %{_libdir}/%{pname}/VirtualBox-wrapper.sh $RPM_BUILD_ROOT%{_bindir}/$f
422 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname},%{_pixmapsdir}}/VBox.png
423 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname},%{_desktopdir}}/virtualbox.desktop
425 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions/vboxmouse_drv_17.so,%{_libdir}/xorg/modules/input/vboxmouse_drv.so}
426 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions/vboxvideo_drv_17.so,%{_libdir}/xorg/modules/drivers/vboxvideo_drv.so}
427 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions/VBoxOGL.so,%{_libdir}/xorg/modules/dri/vboxvideo_dri.so}
428 # xorg other driver versions
429 rm -f $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/vboxmouse_drv*.{o,so}
430 rm -f $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/vboxvideo_drv*.{o,so}
432 # XXX: where else to install them that vboxvideo_dri.so finds them? patch with rpath?
433 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLcrutil.so
434 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLpackspu.so
435 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLerrorspu.so
436 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLfeedbackspu.so
437 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLpassthroughspu.so
439 install -d $RPM_BUILD_ROOT/etc/udev/rules.d
440 cp -a udev.conf $RPM_BUILD_ROOT/etc/udev/rules.d/virtualbox.rules
443 rm -r $RPM_BUILD_ROOT%{_libdir}/%{pname}/{src,sdk,testcase}
444 rm -r $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/src
445 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/vboxkeyboard.tar.gz
446 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/tst*
449 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/EfiThunk
450 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/SUPInstall
451 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/SUPLoggerCtl
452 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/SUPUninstall
453 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/VBox.sh
454 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/VBoxEFI32.fd
455 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/VBoxEFI64.fd
456 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/VBoxClient
457 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/VBoxControl
458 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/VBoxOGLarrayspu.so
459 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/VBoxService
460 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/vboxshell.py
461 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/xpidl
463 # packaged by kernel part
464 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/mount.vboxsf
468 install -d $RPM_BUILD_ROOT{/etc/{rc.d/init.d,modprobe.d},%{_sbindir}}
469 install -p %{SOURCE3} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxdrv
470 install -p %{SOURCE4} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxguest
471 install -p %{SOURCE5} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxnetflt
472 install -p %{SOURCE6} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxvfs
473 install -p %{SOURCE7} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxnetadp
474 %install_kernel_modules -m PLD-MODULE-BUILD/vboxdrv/vboxdrv -d misc
475 %install_kernel_modules -m PLD-MODULE-BUILD/vboxguest/vboxguest -d misc
476 %install_kernel_modules -m PLD-MODULE-BUILD/vboxnetadp/vboxnetadp -d misc
477 %install_kernel_modules -m PLD-MODULE-BUILD/vboxnetflt/vboxnetflt -d misc
478 %install_kernel_modules -m PLD-MODULE-BUILD/vboxvfs/vboxvfs -d misc
479 %install_kernel_modules -m PLD-MODULE-BUILD/vboxvideo_drm/vboxvideo -d misc
481 install -p mount.vboxsf $RPM_BUILD_ROOT%{_sbindir}/mount.vboxsf
483 cat <<'EOF' > $RPM_BUILD_ROOT/etc/modprobe.d/vboxvfs.conf
484 # Filesystem name has got it's name from Shared Folders, while module is from VFS
490 rm -rf $RPM_BUILD_ROOT
493 %groupadd -g 221 -r -f vbox
497 You must also install kernel module for this software to work:
498 kernel-misc-vboxdrv-%{version}-%{rel}@%{_kernel_ver_str}
500 Additionally you might want to install:
501 kernel-misc-vboxnetadp-%{version}-%{rel}@%{_kernel_ver_str}
502 kernel-misc-vboxnetflt-%{version}-%{rel}@%{_kernel_ver_str}
504 On Guest Linux system you might want to install:
505 kernel-misc-vboxguest-%{version}-%{rel}@%{_kernel_ver_str}
506 kernel-misc-vboxvfs-%{version}-%{rel}@%{_kernel_ver_str}
507 kernel-misc-vboxvideo-%{version}-%{rel}@%{_kernel_ver_str}
509 NOTE: for different kernel brands append after word kernel the brand, like:
510 kernel-desktop-misc-vboxdrv-%{version}-%{rel}@%{_kernel_ver_str}
511 kernel-laptop-misc-vboxdrv-%{version}-%{rel}@%{_kernel_ver_str}
512 kernel-vanilla-misc-vboxdrv-%{version}-%{rel}@%{_kernel_ver_str}
515 Depending on which kernel brand You use.
520 if [ "$1" = "0" ]; then
524 %post -n kernel%{_alt_kernel}-misc-vboxguest
525 %depmod %{_kernel_ver}
526 /sbin/chkconfig --add vboxguest
527 %service vboxguest restart "VirtualBox OSE Guest additions driver"
529 %postun -n kernel%{_alt_kernel}-misc-vboxguest
530 %depmod %{_kernel_ver}
532 %preun -n kernel%{_alt_kernel}-misc-vboxguest
533 if [ "$1" = "0" ]; then
534 %service vboxguest stop
535 /sbin/chkconfig --del vboxguest
538 %post -n kernel%{_alt_kernel}-misc-vboxdrv
539 %depmod %{_kernel_ver}
540 /sbin/chkconfig --add vboxdrv
541 %service vboxdrv restart "VirtualBox OSE Support Driver"
543 %postun -n kernel%{_alt_kernel}-misc-vboxdrv
544 %depmod %{_kernel_ver}
546 %preun -n kernel%{_alt_kernel}-misc-vboxdrv
547 if [ "$1" = "0" ]; then
548 %service vboxdrv stop
549 /sbin/chkconfig --del vboxdrv
552 %post -n kernel%{_alt_kernel}-misc-vboxnetadp
553 %depmod %{_kernel_ver}
554 /sbin/chkconfig --add vboxnetadp
555 %service vboxnetadp restart "VirtualBox OSE Network HostOnly driver"
557 %postun -n kernel%{_alt_kernel}-misc-vboxnetadp
558 %depmod %{_kernel_ver}
560 %preun -n kernel%{_alt_kernel}-misc-vboxnetadp
561 if [ "$1" = "0" ]; then
562 %service vboxnetadp stop
563 /sbin/chkconfig --del vboxnetadp
566 %post -n kernel%{_alt_kernel}-misc-vboxnetflt
567 %depmod %{_kernel_ver}
568 /sbin/chkconfig --add vboxnetflt
569 %service vboxnetflt restart "VirtualBox OSE Network Filter driver"
571 %postun -n kernel%{_alt_kernel}-misc-vboxnetflt
572 %depmod %{_kernel_ver}
574 %preun -n kernel%{_alt_kernel}-misc-vboxnetflt
575 if [ "$1" = "0" ]; then
576 %service vboxnetflt stop
577 /sbin/chkconfig --del vboxnetflt
580 %post -n kernel%{_alt_kernel}-misc-vboxvfs
581 %depmod %{_kernel_ver}
582 /sbin/chkconfig --add vboxvfs
583 %service vboxvfs restart "VirtualBox OSE Host file system access VFS"
585 %postun -n kernel%{_alt_kernel}-misc-vboxvfs
586 %depmod %{_kernel_ver}
588 %preun -n kernel%{_alt_kernel}-misc-vboxvfs
589 if [ "$1" = "0" ]; then
590 %service vboxvfs stop
591 /sbin/chkconfig --del vboxvfs
594 %post -n kernel%{_alt_kernel}-misc-vboxvideo
595 %depmod %{_kernel_ver}
597 %postun -n kernel%{_alt_kernel}-misc-vboxvideo
598 %depmod %{_kernel_ver}
600 %if %{with userspace}
602 %defattr(644,root,root,755)
604 %dir %{_libdir}/VirtualBox
605 %dir %{_libdir}/VirtualBox/additions
606 %dir %{_libdir}/VirtualBox/components
607 %dir %{_libdir}/VirtualBox/nls
608 %attr(755,root,root) %{_bindir}/VBoxBFE
609 %attr(755,root,root) %{_bindir}/VBoxHeadless
610 %attr(755,root,root) %{_bindir}/VBoxManage
611 %attr(755,root,root) %{_bindir}/VBoxSDL
612 %attr(755,root,root) %{_bindir}/VBoxSVC
613 %attr(755,root,root) %{_bindir}/VBoxTunctl
614 %attr(755,root,root) %{_bindir}/VBoxXPCOMIPCD
615 %attr(755,root,root) %{_bindir}/VirtualBox
616 %attr(755,root,root) /sbin/mount.vdi
617 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxSVC
618 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxBFE
619 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxHeadless
620 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxManage
621 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxSDL
622 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxTestOGL
623 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxTunctl
624 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxXPCOMIPCD
625 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxDD.so
626 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxDD2.so
627 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxDDU.so
628 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxGuestPropSvc.so
629 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxKeyboard.so
630 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxNetAdpCtl
631 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxNetDHCP
632 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxOGLhostcrutil.so
633 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxOGLhosterrorspu.so
634 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxOGLrenderspu.so
635 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxPython.so
636 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxPython2_6.so
637 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxREM.so
639 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxREM32.so
640 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxREM64.so
642 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxRT.so
643 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxSharedClipboard.so
644 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxSharedCrOpenGL.so
645 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxSharedFolders.so
646 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxVMM.so
647 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxXPCOM.so
648 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxXPCOMC.so
649 %attr(755,root,root) %{_libdir}/VirtualBox/VirtualBox
650 %attr(755,root,root) %{_libdir}/VirtualBox/VirtualBox-wrapper.sh
651 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxSysInfo.sh
652 %{_libdir}/VirtualBox/VBoxDD2GC.gc
653 %{_libdir}/VirtualBox/VBoxDDGC.gc
654 %{_libdir}/VirtualBox/VMMGC.gc
655 %{_libdir}/VirtualBox/VBoxDD2R0.r0
656 %{_libdir}/VirtualBox/VBoxDDR0.r0
657 %{_libdir}/VirtualBox/VMMR0.r0
658 %{_libdir}/VirtualBox/components/VBoxXPCOMBase.xpt
659 %{_libdir}/VirtualBox/components/VirtualBox_XPCOM.xpt
660 %attr(755,root,root) %{_libdir}/VirtualBox/components/VBoxC.so
661 %attr(755,root,root) %{_libdir}/VirtualBox/components/VBoxSVCM.so
662 %attr(755,root,root) %{_libdir}/VirtualBox/components/VBoxXPCOMIPCC.so
663 %lang(ar) %{_libdir}/VirtualBox/nls/*_ar.qm
664 %lang(bg) %{_libdir}/VirtualBox/nls/*_bg.qm
665 %lang(ca) %{_libdir}/VirtualBox/nls/*_ca.qm
666 %lang(cs) %{_libdir}/VirtualBox/nls/*_cs.qm
667 %lang(da) %{_libdir}/VirtualBox/nls/*_da.qm
668 %lang(de) %{_libdir}/VirtualBox/nls/*_de.qm
669 %lang(el) %{_libdir}/VirtualBox/nls/*_el.qm
670 %lang(es) %{_libdir}/VirtualBox/nls/*_es.qm
671 %lang(eu) %{_libdir}/VirtualBox/nls/*_eu.qm
672 %lang(fi) %{_libdir}/VirtualBox/nls/*_fi.qm
673 %lang(fr) %{_libdir}/VirtualBox/nls/*_fr.qm
674 %lang(hu) %{_libdir}/VirtualBox/nls/*_hu.qm
675 %lang(id) %{_libdir}/VirtualBox/nls/*_id.qm
676 %lang(it) %{_libdir}/VirtualBox/nls/*_it.qm
677 %lang(ja) %{_libdir}/VirtualBox/nls/*_ja.qm
678 %lang(km_KH) %{_libdir}/VirtualBox/nls/*_km_KH.qm
679 %lang(ko) %{_libdir}/VirtualBox/nls/*_ko.qm
680 %lang(nl) %{_libdir}/VirtualBox/nls/*_nl.qm
681 %lang(pl) %{_libdir}/VirtualBox/nls/*_pl.qm
682 %lang(pt) %{_libdir}/VirtualBox/nls/*_pt.qm
683 %lang(pt_BR) %{_libdir}/VirtualBox/nls/*_pt_BR.qm
684 %lang(ro) %{_libdir}/VirtualBox/nls/*_ro.qm
685 %lang(ru) %{_libdir}/VirtualBox/nls/*_ru.qm
686 %lang(sk) %{_libdir}/VirtualBox/nls/*_sk.qm
687 %lang(sr) %{_libdir}/VirtualBox/nls/*_sr.qm
688 %lang(sv) %{_libdir}/VirtualBox/nls/*_sv.qm
689 %lang(tr) %{_libdir}/VirtualBox/nls/*_tr.qm
690 %lang(uk) %{_libdir}/VirtualBox/nls/*_uk.qm
691 %lang(zh_CN) %{_libdir}/VirtualBox/nls/*_zh_CN.qm
692 %lang(zh_TW) %{_libdir}/VirtualBox/nls/*_zh_TW.qm
693 %{_pixmapsdir}/VBox.png
694 %{_desktopdir}/*.desktop
697 %defattr(644,root,root,755)
698 %{_libdir}/VirtualBox/additions/VBoxGuestAdditions.iso
701 %defattr(644,root,root,755)
702 %config(noreplace) %verify(not md5 mtime size) /etc/udev/rules.d/virtualbox.rules
704 %files -n xorg-driver-input-vboxmouse
705 %defattr(644,root,root,755)
706 %attr(755,root,root) %{_libdir}/xorg/modules/input/vboxmouse_drv.so
708 %files -n xorg-driver-video-vboxvideo
709 %defattr(644,root,root,755)
710 %attr(755,root,root) %{_libdir}/xorg/modules/drivers/vboxvideo_drv.so
711 %attr(755,root,root) %{_libdir}/xorg/modules/dri/vboxvideo_dri.so
712 # vboxvideo_dri.so deps
713 %attr(755,root,root) %{_libdir}/VBoxOGLcrutil.so
714 %attr(755,root,root) %{_libdir}/VBoxOGLerrorspu.so
715 %attr(755,root,root) %{_libdir}/VBoxOGLfeedbackspu.so
716 %attr(755,root,root) %{_libdir}/VBoxOGLpackspu.so
717 %attr(755,root,root) %{_libdir}/VBoxOGLpassthroughspu.so
721 %files -n kernel%{_alt_kernel}-misc-vboxguest
722 %defattr(644,root,root,755)
723 %attr(754,root,root) /etc/rc.d/init.d/vboxguest
724 /lib/modules/%{_kernel_ver}/misc/vboxguest.ko*
726 %files -n kernel%{_alt_kernel}-misc-vboxdrv
727 %defattr(644,root,root,755)
728 %attr(754,root,root) /etc/rc.d/init.d/vboxdrv
729 /lib/modules/%{_kernel_ver}/misc/vboxdrv.ko*
731 %files -n kernel%{_alt_kernel}-misc-vboxnetadp
732 %defattr(644,root,root,755)
733 %attr(754,root,root) /etc/rc.d/init.d/vboxnetadp
734 /lib/modules/%{_kernel_ver}/misc/vboxnetadp.ko*
736 %files -n kernel%{_alt_kernel}-misc-vboxnetflt
737 %defattr(644,root,root,755)
738 %attr(754,root,root) /etc/rc.d/init.d/vboxnetflt
739 /lib/modules/%{_kernel_ver}/misc/vboxnetflt.ko*
741 %files -n kernel%{_alt_kernel}-misc-vboxvfs
742 %defattr(644,root,root,755)
743 %attr(754,root,root) /etc/rc.d/init.d/vboxvfs
744 %attr(755,root,root) %{_sbindir}/mount.vboxsf
745 /etc/modprobe.d/vboxvfs.conf
746 /lib/modules/%{_kernel_ver}/misc/vboxvfs.ko*
748 %files -n kernel%{_alt_kernel}-misc-vboxvideo
749 %defattr(644,root,root,755)
750 /lib/modules/%{_kernel_ver}/misc/vboxvideo.ko*