4 # - Find how to compile with PLD CFLAGS/CXXFLAGS/LDFLAGS.
6 # - Package utils (and write initscripts ?) for Guest OS.
7 # - Check License of VBoxGuestAdditions_*.iso, it's probably not GPL v2.
8 # If so check if it is distributable.
11 %bcond_without doc # don't build the documentation
12 %bcond_without dist_kernel # without distribution kernel
13 %bcond_without kernel # don't build kernel module
14 %bcond_without userspace # don't build userspace package
15 %bcond_with force_userspace # force userspace build (useful if alt_kernel is set)
19 %undefine with_dist_kernel
21 %if "%{_alt_kernel}" != "%{nil}"
22 %undefine with_userspace
24 %if %{with force_userspace}
25 %define with_userspace 1
27 %if %{without userspace}
28 # nothing to be placed to debuginfo package
29 %define _enable_debug_packages 0
33 %define pname VirtualBox
35 Summary: VirtualBox OSE - x86 hardware virtualizer
36 Summary(pl.UTF-8): VirtualBox OSE - wirtualizator sprzętu x86
37 Name: %{pname}%{_alt_kernel}
41 Group: Applications/Emulators
42 Source0: http://download.virtualbox.org/virtualbox/%{version}/%{pname}-%{version}.tar.bz2
43 # Source0-md5: b4770ca14d1a8cbad9b3eb0e0028ff4b
44 Source1: http://download.virtualbox.org/virtualbox/%{version}/VBoxGuestAdditions_%{version}.iso
45 # Source1-md5: 88604a0e94bf1b8c0d0f18fe4314cfdf
46 Source3: %{pname}-vboxdrv.init
47 Source4: %{pname}-vboxguest.init
48 Source5: %{pname}-vboxnetflt.init
49 Source6: %{pname}-vboxsf.init
50 Source7: %{pname}-vboxnetadp.init
54 Patch0: %{pname}-configure-spaces.patch
55 Patch1: %{pname}-export_modules.patch
56 Patch2: %{pname}-VBoxSysInfo.patch
57 Patch3: %{pname}-warning_workaround.patch
58 Patch4: %{pname}-vnc.patch
59 Patch5: %{pname}-dri.patch
60 Patch6: %{pname}-vboxnetflt-no-qdisc.patch
62 Patch7: 16-no-update.patch
63 Patch8: 18-system-xorg.patch
64 Patch9: 22-no-static-libstdcpp.patch
66 Patch10: %{pname}-gcc.patch
67 URL: http://www.virtualbox.org/
68 BuildRequires: rpmbuild(macros) >= 1.535
71 BuildRequires: gcc-multilib
72 BuildRequires: glibc-devel(i686)
73 BuildRequires: libstdc++-multilib-devel
74 BuildRequires: libstdc++-multilib-static
76 %if "%{pld_release}" == "ac"
77 BuildRequires: XFree86-devel
79 BuildRequires: xorg-lib-libXcursor-devel
80 BuildRequires: xorg-lib-libXmu-devel
81 BuildRequires: xorg-xserver-server-devel
83 BuildRequires: OpenGL-GLU-devel
84 BuildRequires: OpenGL-devel
85 BuildRequires: QtGui-devel
86 BuildRequires: QtNetwork-devel
87 BuildRequires: QtOpenGL-devel
88 BuildRequires: SDL-devel >= 1.2.7
90 BuildRequires: alsa-lib-devel >= 1.0.6
94 BuildRequires: curl-devel
95 %{?with_doc:BuildRequires: docbook-dtd44-xml}
96 BuildRequires: gcc >= 5:3.2.3
97 BuildRequires: libIDL-devel
98 BuildRequires: libcap-static
99 BuildRequires: libdrm-devel
100 BuildRequires: libpng-devel >= 1.2.5
101 BuildRequires: libstdc++-devel >= 5:3.2.3
102 BuildRequires: libstdc++-static >= 5:3.2.3
103 BuildRequires: libuuid-devel
104 BuildRequires: libvncserver-devel
105 BuildRequires: libxml2-devel >= 2.6.26
106 BuildRequires: libxslt-devel >= 1.1.17
107 BuildRequires: libxslt-progs >= 1.1.17
108 BuildRequires: mkisofs
109 BuildRequires: makeself
110 BuildRequires: pam-devel
111 BuildRequires: pixman-devel
112 BuildRequires: pkgconfig
113 BuildRequires: pulseaudio-devel >= 0.9.0
114 BuildRequires: python-devel
115 BuildRequires: python-modules
116 BuildRequires: qt4-build >= 4.2.0
117 BuildRequires: qt4-linguist
118 BuildRequires: sed >= 4.0
120 BuildRequires: texlive-fonts-bitstream
121 BuildRequires: texlive-fonts-other
122 BuildRequires: texlive-fonts-type1-bitstream
123 BuildRequires: texlive-format-pdflatex
124 BuildRequires: texlive-latex-ucs
127 BuildRequires: xalan-c-devel >= 1.10.0
128 BuildRequires: xerces-c-devel >= 2.6.0
129 BuildRequires: zlib-devel >= 1.2.1
131 %if %{with dist_kernel}
132 BuildRequires: kernel%{_alt_kernel}-module-build >= 3:2.6.20
134 Requires(post,preun): /sbin/chkconfig
135 Requires(postun): /usr/sbin/groupdel
136 Requires(pre): /usr/bin/getgid
137 Requires(pre): /usr/sbin/groupadd
138 Requires: QtCore >= 4.7.0
140 Provides: group(vbox)
141 ExclusiveArch: %{ix86} %{x8664}
142 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
145 %define vbox_platform linux.amd64
147 %define vbox_platform linux.x86
149 %define outdir out/%{vbox_platform}/release/bin
150 %define _sbindir /sbin
153 Oracle VirtualBox OSE is a general-purpose full virtualizer for x86
154 hardware. Targeted at server, desktop and embedded use, it is now the
155 only professional-quality virtualization solution that is also Open
158 Some of the features of VirtualBox OSE are:
160 Modularity: VirtualBox OSE has an extremely modular design with
161 well-defined internal programming interfaces and a client/server
162 design. This makes it easy to control it from several interfaces at
163 once: for example, you can start a virtual machine in a typical
164 virtual machine GUI and then control that machine from the command
165 line. VirtualBox OSE also comes with a full Software Development Kit:
166 even though it is Open Source Software, you don't have to hack the
167 source to write a new interface for VirtualBox OSE.
169 Virtual machine descriptions in XML: the configuration settings of
170 virtual machines are stored entirely in XML and are independent of the
171 local machines. Virtual machine definitions can therefore easily be
172 ported to other computers.
174 You should install this package in your Host OS.
176 %description -l pl.UTF-8
177 Oracle VirtualBox OSE jest emulatorem sprzętu x86. Kierowany do
178 zastosowań serwerowych, desktopowych oraz wbudowanych jest obecnie
179 jedynym wysokiej jakości rozwiązaniem wirtualizacyjnym dostępnym
180 również jako Otwarte Oprogramowanie.
182 Przykładowe cechy VirtualBoksa:
184 Modularność: VirtualBox OSE jest wysoce zmodularyzowanym produktem z
185 dobrze zaprojektowanym wewnętrznym interfejsem programowym typu
186 klient/serwer. Dzięki temu można łatwo kontrolować go za pomocą
187 różnych interfejsów. Można na przykład uruchomić maszynę wirtualną z
188 poziomu interfejsu graficznego, a później kontrolować ją z linii
189 poleceń. VirtualBox OSE dostarcza również pełny pakiet deweloperski,
190 co pozwala stworzyć dowolny inny interfejs zarządzania maszyną
193 Opisy maszyn wirtualnych w XML-u: konfiguracje poszczególnych maszyn
194 wirtualnych są w całości przechowywane w XML-u i są niezależne od
195 lokalnej maszyny. Dzięki temu można szybko i łatwo przenieść
196 konfigurację maszyny wirtualnej na inny komputer.
199 Summary: udev rules for VirtualBox OSE kernel modules
200 Summary(pl.UTF-8): Reguły udev dla modułów jądra Linuksa dla VirtualBoksa
205 udev rules for VirtualBox OSE kernel modules.
207 You should install this package in your Host OS and in Guest OS.
209 %description udev -l pl.UTF-8
210 Reguły udev dla modułów jądra Linuksa dla VirtualBoksa.
213 Summary: VirtualBox Guest Additions
215 Requires: %{name} = %{version}-%{release}
217 %description additions
218 VirtualBox Guest Additions.
220 This package contains ISO9660 image with drivers for Guest OS.
222 You should install this package in your Host OS.
225 Summary: VirtualBox Guest Additions
227 Suggests: kernel%{_alt_kernel}-misc-vboxsf = %{version}-%{rel}@%{_kernel_ver_str}
228 Suggests: kernel%{_alt_kernel}-misc-vboxvideo = %{version}-%{rel}@%{_kernel_ver_str}
229 Requires: xorg-driver-input-vboxmouse = %{version}-%{release}
230 Requires: xorg-driver-video-vboxvideo = %{version}-%{release}
233 Tools that utilize kernel modules for supporting integration with the
234 Host, including file sharing and tracking of mouse pointer movement
235 and X.org X11 video and mouse driver.
237 You should install this package in your Guest OS.
239 %package -n pam-pam_vbox
240 Summary: PAM module to perform automated guest logons
243 %description -n pam-pam_vbox
244 PAM module (Pluggable Authentication Module) which can be used to
245 perform automated guest logons.
247 %package -n xorg-driver-input-vboxmouse
248 Summary: X.org mouse driver for VirtualBox OSE guest OS
249 Summary(pl.UTF-8): Sterownik myszy dla systemu gościa w VirtualBoksie OSE
250 Group: X11/Applications
251 Requires: xorg-xserver-server >= 1.0.99.901
252 Requires: xorg-xserver-server(xinput-abi) <= 12.2
253 Requires: xorg-xserver-server(xinput-abi) >= 4.0
255 %description -n xorg-driver-input-vboxmouse
256 X.org mouse driver for VirtualBox OSE guest OS.
258 %description -n xorg-driver-input-vboxmouse -l pl.UTF-8
259 Sterownik myszy dla systemu gościa w VirtualBoksie.
261 %package -n xorg-driver-video-vboxvideo
262 Summary: X.org video driver for VirtualBox OSE guest OS
263 Summary(pl.UTF-8): Sterownik grafiki dla systemu gościa w VirtualBoksie OSE
264 Group: X11/Applications
265 Requires: Mesa-dri-driver-swrast
266 Requires: xorg-xserver-libdri >= 1.7.4
267 Requires: xorg-xserver-server >= 1.0.99.901
268 Requires: xorg-xserver-server(videodrv-abi) <= 10.0
269 Requires: xorg-xserver-server(videodrv-abi) >= 2.0
271 %description -n xorg-driver-video-vboxvideo
272 X.org video driver for VirtualBox OSE guest OS.
274 %description -n xorg-driver-video-vboxvideo -l pl.UTF-8
275 Sterownik grafiki dla systemu gościa w VirtualBoksie OSE.
277 %package -n kernel%{_alt_kernel}-misc-vboxguest
278 Summary: VirtualBox OSE Guest Additions for Linux Module
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 %if %{with dist_kernel}
285 %requires_releq_kernel
286 Requires(postun): %releq_kernel
288 Provides: kernel(vboxguest) = %{version}-%{rel}
289 Obsoletes: kernel%{_alt_kernel}-misc-vboxadd
290 Conflicts: kernel%{_alt_kernel}-misc-vboxdrv
292 %description -n kernel%{_alt_kernel}-misc-vboxguest
293 VirtualBox OSE Guest Additions for Linux Module.
295 You should install this package in your Guest OS.
297 %description -n kernel%{_alt_kernel}-misc-vboxguest -l pl.UTF-8
298 Moduł jądra Linuksa vboxguest dla VirtualBoksa OSE - dodatki dla
301 %package -n kernel%{_alt_kernel}-misc-vboxdrv
302 Summary: VirtualBox OSE Support Driver
303 Summary(pl.UTF-8): Moduł jądra Linuksa dla VirtualBoksa OSE
304 Release: %{rel}@%{_kernel_ver_str}
306 Requires(post,postun): /sbin/depmod
307 Requires: dev >= 2.9.0-7
308 %if %{with dist_kernel}
309 %requires_releq_kernel
310 Requires(postun): %releq_kernel
312 Provides: kernel(vboxdrv) = %{version}-%{rel}
314 %description -n kernel%{_alt_kernel}-misc-vboxdrv
315 VirtualBox OSE Support Driver.
317 You should install this package in your Host OS.
319 %description -n kernel%{_alt_kernel}-misc-vboxdrv -l pl.UTF-8
320 Moduł jądra Linuksa dla VirtualBoksa OSE - sterownik wsparcia dla
323 %package -n kernel%{_alt_kernel}-misc-vboxnetadp
324 Summary: VirtualBox OSE Network Adapter Driver
325 Summary(pl.UTF-8): Moduł jądra Linuksa dla VirtualBoksa OSE
326 Release: %{rel}@%{_kernel_ver_str}
328 Requires(post,postun): /sbin/depmod
329 Requires: dev >= 2.9.0-7
330 Requires: kernel%{_alt_kernel}-misc-vboxdrv
331 %if %{with dist_kernel}
332 %requires_releq_kernel
333 Requires(postun): %releq_kernel
335 Provides: kernel(vboxnetflt) = %{version}-%{rel}
337 %description -n kernel%{_alt_kernel}-misc-vboxnetadp
338 VirtualBox OSE Network Adapter Driver.
340 You should install this package in your Host OS.
342 %description -n kernel%{_alt_kernel}-misc-vboxnetadp -l pl.UTF-8
343 Moduł jądra Linuksa dla VirtualBoksa OSE - sterownik witrualnej karty
346 %package -n kernel%{_alt_kernel}-misc-vboxnetflt
347 Summary: VirtualBox OSE Network Filter Driver
348 Summary(pl.UTF-8): Moduł jądra Linuksa dla VirtualBoksa OSE
349 Release: %{rel}@%{_kernel_ver_str}
351 Requires(post,postun): /sbin/depmod
352 Requires: dev >= 2.9.0-7
353 Requires: kernel%{_alt_kernel}-misc-vboxdrv
354 %if %{with dist_kernel}
355 %requires_releq_kernel
356 Requires(postun): %releq_kernel
358 Provides: kernel(vboxnetflt) = %{version}-%{rel}
360 %description -n kernel%{_alt_kernel}-misc-vboxnetflt
361 VirtualBox OSE Network Filter Driver.
363 You should install this package in your Host OS.
365 %description -n kernel%{_alt_kernel}-misc-vboxnetflt -l pl.UTF-8
366 Moduł jądra Linuksa dla VirtualBoksa OSE - sterownik filtrowania sieci
367 dla systemu głównego.
369 %package -n kernel%{_alt_kernel}-misc-vboxsf
370 Summary: Host file system access (Shared Folders) for VirtualBox OSE
371 Summary(pl.UTF-8): Moduł jądra Linuksa dla VirtualBoksa OSE
372 Release: %{rel}@%{_kernel_ver_str}
374 Requires(post,postun): /sbin/depmod
375 Requires: dev >= 2.9.0-7
376 Requires: kernel%{_alt_kernel}-misc-vboxguest
377 %if %{with dist_kernel}
378 %requires_releq_kernel
379 Requires(postun): %releq_kernel
381 Provides: kernel(vboxsf) = %{version}-%{rel}
382 Obsoletes: kernel%{_alt_kernel}-misc-vboxvfs
384 %description -n kernel%{_alt_kernel}-misc-vboxsf
385 Host file system access (Shared Folders) for VirtualBox OSE.
387 You should install this package in your Guest OS.
389 %description -n kernel%{_alt_kernel}-misc-vboxsf -l pl.UTF-8
390 Moduł jądra Linuksa dla VirtualBoksa OSE - dostęp do plików systemu
391 głównego z poziomu systemu gościa.
393 %package -n kernel%{_alt_kernel}-misc-vboxvideo
394 Summary: DRM support for VirtualBox OSE
395 Summary(pl.UTF-8): Moduł jądra Linuksa dla VirtualBoksa OSE
396 Release: %{rel}@%{_kernel_ver_str}
398 Requires(post,postun): /sbin/depmod
399 Requires: dev >= 2.9.0-7
400 %if %{with dist_kernel}
401 %requires_releq_kernel
402 %if "%{rpm_build_macros}" >= "1.531"
403 %requires_releq_kernel -n drm
405 Requires(postun): %releq_kernel
407 Provides: kernel(vboxvideo) = %{version}-%{rel}
409 %description -n kernel%{_alt_kernel}-misc-vboxvideo
410 DRM support for VirtualBox OSE.
412 You should install this package in your Guest OS.
414 %description -n kernel%{_alt_kernel}-misc-vboxvideo -l pl.UTF-8
415 Moduł jądra Linuksa dla VirtualBoksa OSE - sterownik obsługi DRM.
418 %setup -q -n %{pname}-%{version}_OSE
426 %{__sed} -i -e 's,@VBOX_DOC_PATH@,%{_docdir}/%{name}-%{version},' \
427 -e 's/Categories=.*/Categories=Utility;Emulator;/' src/VBox/Installer/common/virtualbox.desktop.in
429 sed 's#@LIBDIR@#%{_libdir}#' < %{SOURCE8} > VirtualBox-wrapper.sh
431 install -d PLD-MODULE-BUILD/{GuestDrivers,HostDrivers}
433 ../src/VBox/Additions/linux/export_modules guest-modules.tar.gz
434 tar -zxf guest-modules.tar.gz -C GuestDrivers
436 ../src/VBox/HostDrivers/linux/export_modules host-modules.tar.gz --without-hardening
437 tar -zxf host-modules.tar.gz -C HostDrivers
446 %if %{with userspace}
447 echo "VBOX_WITH_TESTCASES := " > LocalConfig.kmk
449 --with-gcc="%{__cc}" \
450 --with-g++="%{__cxx}" \
451 %{!?with_doc:--disable-docs} \
453 --disable-hardening \
458 %{?with_verbose:KBUILD_VERBOSE=3} \
460 XSERVER_VERSION="$(rpm -q --queryformat '%{VERSION}\n' xorg-xserver-server-devel | awk -F. ' { print $1 $2 } ' 2> /dev/null || echo ERROR)"
464 cd PLD-MODULE-BUILD/HostDrivers
465 %build_kernel_modules -m vboxdrv -C vboxdrv
466 %build_kernel_modules -m vboxnetadp -C vboxnetadp
467 %build_kernel_modules -m vboxnetflt -C vboxnetflt
470 %build_kernel_modules -m vboxguest -C vboxguest
471 cp -a vboxguest/Module.symvers vboxsf
472 %build_kernel_modules -m vboxsf -C vboxsf -c
473 %build_kernel_modules -m vboxvideo -C vboxvideo_drm
475 %{__cc} %{rpmcflags} %{rpmldflags} -Wall -Werror src/VBox/Additions/linux/sharedfolders/{mount.vboxsf.c,vbsfmount.c} -o mount.vboxsf
479 rm -rf $RPM_BUILD_ROOT
481 %if %{with userspace}
482 install -d $RPM_BUILD_ROOT{%{_bindir},%{_sbindir},%{_libdir}/%{pname}/ExtensionPacks} \
483 $RPM_BUILD_ROOT{%{_pixmapsdir},%{_desktopdir}} \
484 $RPM_BUILD_ROOT%{_libdir}/xorg/modules/{drivers,dri,input}
486 # test if we can hardlink -- %{_builddir} and $RPM_BUILD_ROOT on same partition
487 if cp -al VBox.png $RPM_BUILD_ROOT/Vbox.png 2>/dev/null; then
489 rm -f $RPM_BUILD_ROOT/VBox.png
492 cp -a$l %{outdir}/* $RPM_BUILD_ROOT%{_libdir}/%{pname}
494 cp -a %{SOURCE1} $RPM_BUILD_ROOT%{_libdir}/VirtualBox/additions/VBoxGuestAdditions.iso
495 install -p %{SOURCE9} $RPM_BUILD_ROOT%{_sbindir}/mount.vdi
496 install -p VirtualBox-wrapper.sh $RPM_BUILD_ROOT%{_libdir}/%{pname}
497 for f in {VBox{BFE,Headless,Manage,SDL,SVC,Tunctl,XPCOMIPCD},VirtualBox}; do
498 ln -s %{_libdir}/%{pname}/VirtualBox-wrapper.sh $RPM_BUILD_ROOT%{_bindir}/$f
501 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname},%{_pixmapsdir}}/VBox.png
502 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname},%{_desktopdir}}/virtualbox.desktop
504 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions/vboxmouse_drv.so,%{_libdir}/xorg/modules/input/vboxmouse_drv.so}
505 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions/vboxvideo_drv.so,%{_libdir}/xorg/modules/drivers/vboxvideo_drv.so}
506 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions/VBoxOGL.so,%{_libdir}/xorg/modules/dri/vboxvideo_dri.so}
507 # xorg other driver versions
508 rm -vf $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/vboxmouse_drv*.{o,so}
509 rm -vf $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/vboxvideo_drv*.{o,so}
511 # XXX: where else to install them that vboxvideo_dri.so finds them? patch with rpath?
512 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLarrayspu.so
513 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLcrutil.so
514 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLerrorspu.so
515 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLfeedbackspu.so
516 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLpackspu.so
517 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLpassthroughspu.so
519 install -d $RPM_BUILD_ROOT/etc/udev/rules.d
520 cp -a %{SOURCE10} $RPM_BUILD_ROOT/etc/udev/rules.d/virtualbox.rules
522 install -d $RPM_BUILD_ROOT/%{_lib}/security
523 mv $RPM_BUILD_ROOT{%{_libdir}/VirtualBox/additions,/%{_lib}/security}/pam_vbox.so
526 rm -r $RPM_BUILD_ROOT%{_libdir}/%{pname}/{src,sdk,testcase}
527 rm -r $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/src
528 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/vboxkeyboard.tar.bz2
529 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/tst*
531 # IPRT Testcase / Tool - Source Code Massager.
532 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/scm
535 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_bindir}}/VBoxService
539 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/SUPInstall
540 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/SUPLoggerCtl
541 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/SUPUninstall
542 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/VBox.sh
543 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/VBoxClient
544 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/VBoxControl
545 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/vboxshell.py
546 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/xpidl
549 # packaged by kernel part
550 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/mount.vboxsf
554 install -d $RPM_BUILD_ROOT{/etc/{rc.d/init.d,modprobe.d},%{_sbindir}}
555 install -p %{SOURCE3} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxdrv
556 install -p %{SOURCE4} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxguest
557 install -p %{SOURCE5} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxnetflt
558 install -p %{SOURCE6} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxsf
559 install -p %{SOURCE7} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxnetadp
560 %install_kernel_modules -m PLD-MODULE-BUILD/HostDrivers/vboxdrv/vboxdrv -d misc
561 %install_kernel_modules -m PLD-MODULE-BUILD/HostDrivers/vboxnetadp/vboxnetadp -d misc
562 %install_kernel_modules -m PLD-MODULE-BUILD/HostDrivers/vboxnetflt/vboxnetflt -d misc
563 %install_kernel_modules -m PLD-MODULE-BUILD/GuestDrivers/vboxguest/vboxguest -d misc
564 %install_kernel_modules -m PLD-MODULE-BUILD/GuestDrivers/vboxsf/vboxsf -d misc
565 %install_kernel_modules -m PLD-MODULE-BUILD/GuestDrivers/vboxvideo_drm/vboxvideo -d misc
567 install -p mount.vboxsf $RPM_BUILD_ROOT%{_sbindir}/mount.vboxsf
572 rm -rf $RPM_BUILD_ROOT
575 %groupadd -g 221 -r -f vbox
579 You must install vboxdrv kernel module for this software to work:
580 kernel-misc-vboxdrv-%{version}-%{rel}@%{_kernel_ver_str}
582 Additionally you might want to install:
583 kernel-misc-vboxnetadp-%{version}-%{rel}@%{_kernel_ver_str}
584 kernel-misc-vboxnetflt-%{version}-%{rel}@%{_kernel_ver_str}
586 On Guest Linux system you might want to install:
587 kernel-misc-vboxguest-%{version}-%{rel}@%{_kernel_ver_str}
588 kernel-misc-vboxsf-%{version}-%{rel}@%{_kernel_ver_str}
589 kernel-misc-vboxvideo-%{version}-%{rel}@%{_kernel_ver_str}
594 if [ "$1" = "0" ]; then
598 %post -n kernel%{_alt_kernel}-misc-vboxguest
599 %depmod %{_kernel_ver}
600 /sbin/chkconfig --add vboxguest
601 %service vboxguest restart "VirtualBox OSE Guest additions driver"
603 %postun -n kernel%{_alt_kernel}-misc-vboxguest
604 %depmod %{_kernel_ver}
606 %preun -n kernel%{_alt_kernel}-misc-vboxguest
607 if [ "$1" = "0" ]; then
608 %service vboxguest stop
609 /sbin/chkconfig --del vboxguest
612 %post -n kernel%{_alt_kernel}-misc-vboxdrv
613 %depmod %{_kernel_ver}
614 /sbin/chkconfig --add vboxdrv
615 %service vboxdrv restart "VirtualBox OSE Support Driver"
617 %postun -n kernel%{_alt_kernel}-misc-vboxdrv
618 %depmod %{_kernel_ver}
620 %preun -n kernel%{_alt_kernel}-misc-vboxdrv
621 if [ "$1" = "0" ]; then
622 %service vboxdrv stop
623 /sbin/chkconfig --del vboxdrv
626 %post -n kernel%{_alt_kernel}-misc-vboxnetadp
627 %depmod %{_kernel_ver}
628 /sbin/chkconfig --add vboxnetadp
629 %service vboxnetadp restart "VirtualBox OSE Network HostOnly driver"
631 %postun -n kernel%{_alt_kernel}-misc-vboxnetadp
632 %depmod %{_kernel_ver}
634 %preun -n kernel%{_alt_kernel}-misc-vboxnetadp
635 if [ "$1" = "0" ]; then
636 %service vboxnetadp stop
637 /sbin/chkconfig --del vboxnetadp
640 %post -n kernel%{_alt_kernel}-misc-vboxnetflt
641 %depmod %{_kernel_ver}
642 /sbin/chkconfig --add vboxnetflt
643 %service vboxnetflt restart "VirtualBox OSE Network Filter driver"
645 %postun -n kernel%{_alt_kernel}-misc-vboxnetflt
646 %depmod %{_kernel_ver}
648 %preun -n kernel%{_alt_kernel}-misc-vboxnetflt
649 if [ "$1" = "0" ]; then
650 %service vboxnetflt stop
651 /sbin/chkconfig --del vboxnetflt
654 %post -n kernel%{_alt_kernel}-misc-vboxsf
655 %depmod %{_kernel_ver}
656 /sbin/chkconfig --add vboxsf
657 %service vboxsf restart "VirtualBox OSE Host file system access (Shared Folders)"
659 %postun -n kernel%{_alt_kernel}-misc-vboxsf
660 %depmod %{_kernel_ver}
662 %preun -n kernel%{_alt_kernel}-misc-vboxsf
663 if [ "$1" = "0" ]; then
665 /sbin/chkconfig --del vboxsf
668 %post -n kernel%{_alt_kernel}-misc-vboxvideo
669 %depmod %{_kernel_ver}
671 %postun -n kernel%{_alt_kernel}-misc-vboxvideo
672 %depmod %{_kernel_ver}
674 %if %{with userspace}
676 %defattr(644,root,root,755)
677 %{?with_doc:%doc %{outdir}/UserManual.pdf}
678 %dir %{_libdir}/VirtualBox
679 %dir %{_libdir}/VirtualBox/ExtensionPacks
680 %dir %{_libdir}/VirtualBox/additions
681 %dir %{_libdir}/VirtualBox/components
682 %dir %{_libdir}/VirtualBox/icons
683 %dir %{_libdir}/VirtualBox/icons/*x*
684 %dir %{_libdir}/VirtualBox/nls
685 %attr(755,root,root) %{_bindir}/VBoxBFE
686 %attr(755,root,root) %{_bindir}/VBoxHeadless
687 %attr(755,root,root) %{_bindir}/VBoxManage
688 %attr(755,root,root) %{_bindir}/VBoxSDL
689 %attr(755,root,root) %{_bindir}/VBoxSVC
690 %attr(755,root,root) %{_bindir}/VBoxTunctl
691 %attr(755,root,root) %{_bindir}/VBoxXPCOMIPCD
692 %attr(755,root,root) %{_bindir}/VirtualBox
693 %attr(755,root,root) %{_sbindir}/mount.vdi
694 %attr(755,root,root) %{_libdir}/VirtualBox/DBGCPlugInDiggers.so
695 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxAuth.so
696 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxAuthSimple.so
697 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxBFE
698 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxCreateUSBNode.sh
699 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxDbg.so
700 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxDD2.so
701 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxDD.so
702 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxDDU.so
703 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxExtPackHelperApp
704 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxGuestControlSvc.so
705 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxGuestPropSvc.so
706 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxHeadless
707 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxKeyboard.so
708 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxManage
709 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxNetAdpCtl
710 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxNetDHCP
711 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxOGLhostcrutil.so
712 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxOGLhosterrorspu.so
713 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxOGLrenderspu.so
714 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxPython*.so
715 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxREM.so
717 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxREM32.so
718 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxREM64.so
720 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxRT.so
721 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxSDL
722 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxSharedClipboard.so
723 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxSharedCrOpenGL.so
724 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxSharedFolders.so
725 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxSVC
726 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxSysInfo.sh
727 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxTestOGL
728 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxTunctl
729 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxVMM.so
730 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxXPCOMC.so
731 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxXPCOMIPCD
732 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxXPCOM.so
733 %attr(755,root,root) %{_libdir}/VirtualBox/VirtualBox
734 %attr(755,root,root) %{_libdir}/VirtualBox/VirtualBox-wrapper.sh
735 %{_libdir}/VirtualBox/VBoxDD2GC.gc
736 %{_libdir}/VirtualBox/VBoxDDGC.gc
737 %{_libdir}/VirtualBox/VMMGC.gc
738 %{_libdir}/VirtualBox/VBoxDD2R0.r0
739 %{_libdir}/VirtualBox/VBoxDDR0.r0
740 %{_libdir}/VirtualBox/VMMR0.r0
741 %{_libdir}/VirtualBox/EfiThunk
742 %{_libdir}/VirtualBox/VBoxEFI32.fd
743 %{_libdir}/VirtualBox/VBoxEFI64.fd
744 %{_libdir}/VirtualBox/components/VBoxXPCOMBase.xpt
745 %{_libdir}/VirtualBox/components/VirtualBox_XPCOM.xpt
746 %attr(755,root,root) %{_libdir}/VirtualBox/components/VBoxC.so
747 %attr(755,root,root) %{_libdir}/VirtualBox/components/VBoxSVCM.so
748 %attr(755,root,root) %{_libdir}/VirtualBox/components/VBoxXPCOMIPCC.so
749 %lang(ar) %{_libdir}/VirtualBox/nls/*_ar.qm
750 %lang(bg) %{_libdir}/VirtualBox/nls/*_bg.qm
751 %lang(ca) %{_libdir}/VirtualBox/nls/*_ca.qm
752 %lang(ca_VA) %{_libdir}/VirtualBox/nls/*_ca_VA.qm
753 %lang(cs) %{_libdir}/VirtualBox/nls/*_cs.qm
754 %lang(da) %{_libdir}/VirtualBox/nls/*_da.qm
755 %lang(de) %{_libdir}/VirtualBox/nls/*_de.qm
756 %lang(el) %{_libdir}/VirtualBox/nls/*_el.qm
757 %lang(en) %{_libdir}/VirtualBox/nls/*_en.qm
758 %lang(es) %{_libdir}/VirtualBox/nls/*_es.qm
759 %lang(eu) %{_libdir}/VirtualBox/nls/*_eu.qm
760 %lang(fi) %{_libdir}/VirtualBox/nls/*_fi.qm
761 %lang(fr) %{_libdir}/VirtualBox/nls/*_fr.qm
762 %lang(gl_ES) %{_libdir}/VirtualBox/nls/*_gl_ES.qm
763 %lang(hu) %{_libdir}/VirtualBox/nls/*_hu.qm
764 %lang(id) %{_libdir}/VirtualBox/nls/*_id.qm
765 %lang(it) %{_libdir}/VirtualBox/nls/*_it.qm
766 %lang(ja) %{_libdir}/VirtualBox/nls/*_ja.qm
767 %lang(km_KH) %{_libdir}/VirtualBox/nls/*_km_KH.qm
768 %lang(ko) %{_libdir}/VirtualBox/nls/*_ko.qm
769 %lang(lt) %{_libdir}/VirtualBox/nls/*_lt.qm
770 %lang(nl) %{_libdir}/VirtualBox/nls/*_nl.qm
771 %lang(pl) %{_libdir}/VirtualBox/nls/*_pl.qm
772 %lang(pt) %{_libdir}/VirtualBox/nls/*_pt.qm
773 %lang(pt_BR) %{_libdir}/VirtualBox/nls/*_pt_BR.qm
774 %lang(ro) %{_libdir}/VirtualBox/nls/*_ro.qm
775 %lang(ru) %{_libdir}/VirtualBox/nls/*_ru.qm
776 %lang(sk) %{_libdir}/VirtualBox/nls/*_sk.qm
777 %lang(sr) %{_libdir}/VirtualBox/nls/*_sr.qm
778 %lang(sv) %{_libdir}/VirtualBox/nls/*_sv.qm
779 %lang(tr) %{_libdir}/VirtualBox/nls/*_tr.qm
780 %lang(uk) %{_libdir}/VirtualBox/nls/*_uk.qm
781 %lang(zh_CN) %{_libdir}/VirtualBox/nls/*_zh_CN.qm
782 %lang(zh_TW) %{_libdir}/VirtualBox/nls/*_zh_TW.qm
783 %{_pixmapsdir}/VBox.png
784 %{_desktopdir}/*.desktop
785 %{_libdir}/VirtualBox/icons/*/virtualbox-ova.png
786 %{_libdir}/VirtualBox/icons/*/virtualbox-ovf.png
787 %{_libdir}/VirtualBox/icons/*/virtualbox-vbox-extpack.png
788 %{_libdir}/VirtualBox/icons/*/virtualbox-vbox.png
789 %{_libdir}/VirtualBox/virtualbox.xml
792 %defattr(644,root,root,755)
793 %{_libdir}/VirtualBox/additions/VBoxGuestAdditions.iso
796 %defattr(644,root,root,755)
797 # NOTE: unfinished, should contain .desktop files for starting up mouse
798 # integration and other desktop services
799 # NOTE: the filelist is incopmplete too
800 %attr(755,root,root) %{_bindir}/VBoxService
802 %attr(755,root,root) %{_libdir}/VirtualBox/additions/autorun.sh
803 %attr(755,root,root) %{_libdir}/VirtualBox/additions/vboxadd
804 %attr(755,root,root) %{_libdir}/VirtualBox/additions/vboxadd-service
805 %attr(755,root,root) %{_libdir}/VirtualBox/additions/vboxadd-x11
807 %files -n pam-pam_vbox
808 %defattr(644,root,root,755)
809 %attr(755,root,root) /%{_lib}/security/pam_vbox.so
812 %defattr(644,root,root,755)
813 %config(noreplace) %verify(not md5 mtime size) /etc/udev/rules.d/virtualbox.rules
815 %files -n xorg-driver-input-vboxmouse
816 %defattr(644,root,root,755)
817 %attr(755,root,root) %{_libdir}/xorg/modules/input/vboxmouse_drv.so
819 %files -n xorg-driver-video-vboxvideo
820 %defattr(644,root,root,755)
821 %attr(755,root,root) %{_libdir}/xorg/modules/drivers/vboxvideo_drv.so
822 %attr(755,root,root) %{_libdir}/xorg/modules/dri/vboxvideo_dri.so
823 # vboxvideo_dri.so deps
824 %attr(755,root,root) %{_libdir}/VBoxOGLarrayspu.so
825 %attr(755,root,root) %{_libdir}/VBoxOGLcrutil.so
826 %attr(755,root,root) %{_libdir}/VBoxOGLerrorspu.so
827 %attr(755,root,root) %{_libdir}/VBoxOGLfeedbackspu.so
828 %attr(755,root,root) %{_libdir}/VBoxOGLpackspu.so
829 %attr(755,root,root) %{_libdir}/VBoxOGLpassthroughspu.so
833 %files -n kernel%{_alt_kernel}-misc-vboxguest
834 %defattr(644,root,root,755)
835 %attr(754,root,root) /etc/rc.d/init.d/vboxguest
836 /lib/modules/%{_kernel_ver}/misc/vboxguest.ko*
838 %files -n kernel%{_alt_kernel}-misc-vboxdrv
839 %defattr(644,root,root,755)
840 %attr(754,root,root) /etc/rc.d/init.d/vboxdrv
841 /lib/modules/%{_kernel_ver}/misc/vboxdrv.ko*
843 %files -n kernel%{_alt_kernel}-misc-vboxnetadp
844 %defattr(644,root,root,755)
845 %attr(754,root,root) /etc/rc.d/init.d/vboxnetadp
846 /lib/modules/%{_kernel_ver}/misc/vboxnetadp.ko*
848 %files -n kernel%{_alt_kernel}-misc-vboxnetflt
849 %defattr(644,root,root,755)
850 %attr(754,root,root) /etc/rc.d/init.d/vboxnetflt
851 /lib/modules/%{_kernel_ver}/misc/vboxnetflt.ko*
853 %files -n kernel%{_alt_kernel}-misc-vboxsf
854 %defattr(644,root,root,755)
855 %attr(754,root,root) /etc/rc.d/init.d/vboxsf
856 %attr(755,root,root) %{_sbindir}/mount.vboxsf
857 /lib/modules/%{_kernel_ver}/misc/vboxsf.ko*
859 %files -n kernel%{_alt_kernel}-misc-vboxvideo
860 %defattr(644,root,root,755)
861 /lib/modules/%{_kernel_ver}/misc/vboxvideo.ko*