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.
9 # - resolve mess with subpackages?
10 # - addtions: iso (containing additions/*.iso)
11 # - guest: to be installed to guests (deps on x11 drivers)
14 %bcond_without doc # don't build the documentation
15 %bcond_without dist_kernel # without distribution kernel
16 %bcond_without kernel # don't build kernel module
17 %bcond_without userspace # don't build userspace package
18 %bcond_with force_userspace # force userspace build (useful if alt_kernel is set)
22 %undefine with_dist_kernel
24 %if "%{_alt_kernel}" != "%{nil}"
25 %undefine with_userspace
27 %if %{with force_userspace}
28 %define with_userspace 1
30 %if %{without userspace}
31 # nothing to be placed to debuginfo package
32 %define _enable_debug_packages 0
36 %define pname VirtualBox
38 Summary: VirtualBox OSE - x86 hardware virtualizer
39 Summary(pl.UTF-8): VirtualBox OSE - wirtualizator sprzętu x86
40 Name: %{pname}%{_alt_kernel}
44 Group: Applications/Emulators
45 Source0: http://download.virtualbox.org/virtualbox/%{version}/%{pname}-%{version}.tar.bz2
46 # Source0-md5: a3e81289f2357fcf4bbe3e77805f38b6
47 Source1: http://download.virtualbox.org/virtualbox/%{version}/VBoxGuestAdditions_%{version}.iso
48 # Source1-md5: 598ca9b231c1f1ff7817aa76c80f55d6
49 Source3: %{pname}-vboxdrv.init
50 Source4: %{pname}-vboxguest.init
51 Source5: %{pname}-vboxnetflt.init
52 Source6: %{pname}-vboxsf.init
53 Source7: %{pname}-vboxnetadp.init
57 Patch0: %{pname}-configure-spaces.patch
58 Patch1: %{pname}-export_modules.patch
59 Patch2: %{pname}-VBoxSysInfo.patch
60 Patch3: %{pname}-warning_workaround.patch
61 Patch4: %{pname}-vnc.patch
62 Patch5: %{pname}-dri.patch
63 Patch6: %{pname}-vboxnetflt-no-qdisc.patch
65 Patch7: 16-no-update.patch
66 Patch8: 18-system-xorg.patch
67 Patch9: 22-no-static-libstdcpp.patch
69 URL: http://www.virtualbox.org/
70 BuildRequires: rpmbuild(macros) >= 1.535
73 BuildRequires: gcc-multilib
74 BuildRequires: glibc-devel(i686)
75 BuildRequires: libstdc++-multilib-devel
76 BuildRequires: libstdc++-multilib-static
78 %if "%{pld_release}" == "ac"
79 BuildRequires: XFree86-devel
81 BuildRequires: xorg-lib-libXcomposite-devel
82 BuildRequires: xorg-lib-libXcursor-devel
83 BuildRequires: xorg-lib-libXmu-devel
84 BuildRequires: xorg-xserver-server-devel
86 BuildRequires: OpenGL-GLU-devel
87 BuildRequires: OpenGL-devel
88 BuildRequires: QtGui-devel
89 BuildRequires: QtNetwork-devel
90 BuildRequires: QtOpenGL-devel
91 BuildRequires: SDL-devel >= 1.2.7
93 BuildRequires: alsa-lib-devel >= 1.0.6
97 BuildRequires: curl-devel
98 %{?with_doc:BuildRequires: docbook-dtd44-xml}
99 BuildRequires: gcc >= 5:3.2.3
100 BuildRequires: libIDL-devel
101 BuildRequires: libcap-static
102 BuildRequires: libdrm-devel
103 BuildRequires: libpng-devel >= 1.2.5
104 BuildRequires: libstdc++-devel >= 5:3.2.3
105 BuildRequires: libstdc++-static >= 5:3.2.3
106 BuildRequires: libuuid-devel
107 BuildRequires: libvncserver-devel
108 BuildRequires: libxml2-devel >= 2.6.26
109 BuildRequires: libxslt-devel >= 1.1.17
110 BuildRequires: libxslt-progs >= 1.1.17
111 BuildRequires: makeself
112 BuildRequires: mkisofs
113 BuildRequires: pam-devel
114 BuildRequires: pixman-devel
115 BuildRequires: pkgconfig
116 BuildRequires: pulseaudio-devel >= 0.9.0
117 BuildRequires: python-devel
118 BuildRequires: python-modules
119 BuildRequires: qt4-build >= 4.2.0
120 BuildRequires: qt4-linguist
121 BuildRequires: sed >= 4.0
123 BuildRequires: texlive-fonts-bitstream
124 BuildRequires: texlive-fonts-other
125 BuildRequires: texlive-fonts-type1-bitstream
126 BuildRequires: texlive-format-pdflatex
127 BuildRequires: texlive-latex-ucs
128 BuildRequires: texlive-xetex
131 BuildRequires: xalan-c-devel >= 1.10.0
132 BuildRequires: xerces-c-devel >= 2.6.0
133 BuildRequires: zlib-devel >= 1.2.1
135 %if %{with dist_kernel}
136 BuildRequires: kernel%{_alt_kernel}-module-build >= 3:2.6.20
138 Requires(post,preun): /sbin/chkconfig
139 Requires(postun): /usr/sbin/groupdel
140 Requires(pre): /usr/bin/getgid
141 Requires(pre): /usr/sbin/groupadd
142 Requires: QtCore >= 4.7.0
144 Provides: group(vbox)
145 ExclusiveArch: %{ix86} %{x8664}
146 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
149 %define vbox_platform linux.amd64
151 %define vbox_platform linux.x86
153 %define outdir out/%{vbox_platform}/release/bin
154 %define _sbindir /sbin
157 Oracle VirtualBox OSE is a general-purpose full virtualizer for x86
158 hardware. Targeted at server, desktop and embedded use, it is now the
159 only professional-quality virtualization solution that is also Open
162 Some of the features of VirtualBox OSE are:
164 Modularity: VirtualBox OSE has an extremely modular design with
165 well-defined internal programming interfaces and a client/server
166 design. This makes it easy to control it from several interfaces at
167 once: for example, you can start a virtual machine in a typical
168 virtual machine GUI and then control that machine from the command
169 line. VirtualBox OSE also comes with a full Software Development Kit:
170 even though it is Open Source Software, you don't have to hack the
171 source to write a new interface for VirtualBox OSE.
173 Virtual machine descriptions in XML: the configuration settings of
174 virtual machines are stored entirely in XML and are independent of the
175 local machines. Virtual machine definitions can therefore easily be
176 ported to other computers.
178 You should install this package in your Host OS.
180 %description -l pl.UTF-8
181 Oracle VirtualBox OSE jest emulatorem sprzętu x86. Kierowany do
182 zastosowań serwerowych, desktopowych oraz wbudowanych jest obecnie
183 jedynym wysokiej jakości rozwiązaniem wirtualizacyjnym dostępnym
184 również jako Otwarte Oprogramowanie.
186 Przykładowe cechy VirtualBoksa:
188 Modularność: VirtualBox OSE jest wysoce zmodularyzowanym produktem z
189 dobrze zaprojektowanym wewnętrznym interfejsem programowym typu
190 klient/serwer. Dzięki temu można łatwo kontrolować go za pomocą
191 różnych interfejsów. Można na przykład uruchomić maszynę wirtualną z
192 poziomu interfejsu graficznego, a później kontrolować ją z linii
193 poleceń. VirtualBox OSE dostarcza również pełny pakiet deweloperski,
194 co pozwala stworzyć dowolny inny interfejs zarządzania maszyną
197 Opisy maszyn wirtualnych w XML-u: konfiguracje poszczególnych maszyn
198 wirtualnych są w całości przechowywane w XML-u i są niezależne od
199 lokalnej maszyny. Dzięki temu można szybko i łatwo przenieść
200 konfigurację maszyny wirtualnej na inny komputer.
203 Summary: VirtualBox documentation
207 This package contains VirtualBox User Manual.
210 Summary: udev rules for VirtualBox OSE kernel modules
211 Summary(pl.UTF-8): Reguły udev dla modułów jądra Linuksa dla VirtualBoksa
216 udev rules for VirtualBox OSE kernel modules.
218 You should install this package in your Host OS and in Guest OS.
220 %description udev -l pl.UTF-8
221 Reguły udev dla modułów jądra Linuksa dla VirtualBoksa.
224 Summary: VirtualBox Guest Additions
226 Requires: %{name} = %{version}-%{release}
228 %description additions
229 VirtualBox Guest Additions.
231 This package contains ISO9660 image with drivers for Guest OS.
233 You should install this package in your Host OS.
236 Summary: VirtualBox Guest Additions
238 Requires: xorg-driver-input-vboxmouse = %{version}-%{release}
239 Requires: xorg-driver-video-vboxvideo = %{version}-%{release}
240 Suggests: kernel%{_alt_kernel}-misc-vboxsf = %{version}-%{rel}@%{_kernel_ver_str}
241 Suggests: kernel%{_alt_kernel}-misc-vboxvideo = %{version}-%{rel}@%{_kernel_ver_str}
244 Tools that utilize kernel modules for supporting integration with the
245 Host, including file sharing and tracking of mouse pointer movement
246 and X.org X11 video and mouse driver.
248 You should install this package in your Guest OS.
250 %package -n pam-pam_vbox
251 Summary: PAM module to perform automated guest logons
254 %description -n pam-pam_vbox
255 PAM module (Pluggable Authentication Module) which can be used to
256 perform automated guest logons.
258 %package -n xorg-driver-input-vboxmouse
259 Summary: X.org mouse driver for VirtualBox OSE guest OS
260 Summary(pl.UTF-8): Sterownik myszy dla systemu gościa w VirtualBoksie OSE
261 Group: X11/Applications
262 Requires: xorg-xserver-server >= 1.0.99.901
263 Requires: xorg-xserver-server(xinput-abi) <= 12.2
264 Requires: xorg-xserver-server(xinput-abi) >= 4.0
266 %description -n xorg-driver-input-vboxmouse
267 X.org mouse driver for VirtualBox OSE guest OS.
269 %description -n xorg-driver-input-vboxmouse -l pl.UTF-8
270 Sterownik myszy dla systemu gościa w VirtualBoksie.
272 %package -n xorg-driver-video-vboxvideo
273 Summary: X.org video driver for VirtualBox OSE guest OS
274 Summary(pl.UTF-8): Sterownik grafiki dla systemu gościa w VirtualBoksie OSE
275 Group: X11/Applications
276 Requires: Mesa-dri-driver-swrast
277 Requires: xorg-xserver-libdri >= 1.7.4
278 Requires: xorg-xserver-server >= 1.0.99.901
279 Requires: xorg-xserver-server(videodrv-abi) <= 10.0
280 Requires: xorg-xserver-server(videodrv-abi) >= 2.0
282 %description -n xorg-driver-video-vboxvideo
283 X.org video driver for VirtualBox OSE guest OS.
285 %description -n xorg-driver-video-vboxvideo -l pl.UTF-8
286 Sterownik grafiki dla systemu gościa w VirtualBoksie OSE.
288 %package -n kernel%{_alt_kernel}-misc-vboxguest
289 Summary: VirtualBox OSE Guest Additions for Linux Module
290 Summary(pl.UTF-8): Moduł jądra Linuksa dla VirtualBoksa OSE
291 Release: %{rel}@%{_kernel_ver_str}
293 Requires(post,postun): /sbin/depmod
294 Requires: dev >= 2.9.0-7
295 %if %{with dist_kernel}
296 %requires_releq_kernel
297 Requires(postun): %releq_kernel
299 Provides: kernel(vboxguest) = %{version}-%{rel}
300 Obsoletes: kernel%{_alt_kernel}-misc-vboxadd
301 Conflicts: kernel%{_alt_kernel}-misc-vboxdrv
303 %description -n kernel%{_alt_kernel}-misc-vboxguest
304 VirtualBox OSE Guest Additions for Linux Module.
306 You should install this package in your Guest OS.
308 %description -n kernel%{_alt_kernel}-misc-vboxguest -l pl.UTF-8
309 Moduł jądra Linuksa vboxguest dla VirtualBoksa OSE - dodatki dla
312 %package -n kernel%{_alt_kernel}-misc-vboxdrv
313 Summary: VirtualBox OSE Support Driver
314 Summary(pl.UTF-8): Moduł jądra Linuksa dla VirtualBoksa OSE
315 Release: %{rel}@%{_kernel_ver_str}
317 Requires(post,postun): /sbin/depmod
318 Requires: dev >= 2.9.0-7
319 %if %{with dist_kernel}
320 %requires_releq_kernel
321 Requires(postun): %releq_kernel
323 Provides: kernel(vboxdrv) = %{version}-%{rel}
325 %description -n kernel%{_alt_kernel}-misc-vboxdrv
326 VirtualBox OSE Support Driver.
328 You should install this package in your Host OS.
330 %description -n kernel%{_alt_kernel}-misc-vboxdrv -l pl.UTF-8
331 Moduł jądra Linuksa dla VirtualBoksa OSE - sterownik wsparcia dla
334 %package -n kernel%{_alt_kernel}-misc-vboxnetadp
335 Summary: VirtualBox OSE Network Adapter Driver
336 Summary(pl.UTF-8): Moduł jądra Linuksa dla VirtualBoksa OSE
337 Release: %{rel}@%{_kernel_ver_str}
339 Requires(post,postun): /sbin/depmod
340 Requires: dev >= 2.9.0-7
341 Requires: kernel%{_alt_kernel}-misc-vboxdrv
342 %if %{with dist_kernel}
343 %requires_releq_kernel
344 Requires(postun): %releq_kernel
346 Provides: kernel(vboxnetflt) = %{version}-%{rel}
348 %description -n kernel%{_alt_kernel}-misc-vboxnetadp
349 VirtualBox OSE Network Adapter Driver.
351 You should install this package in your Host OS.
353 %description -n kernel%{_alt_kernel}-misc-vboxnetadp -l pl.UTF-8
354 Moduł jądra Linuksa dla VirtualBoksa OSE - sterownik witrualnej karty
357 %package -n kernel%{_alt_kernel}-misc-vboxnetflt
358 Summary: VirtualBox OSE Network Filter Driver
359 Summary(pl.UTF-8): Moduł jądra Linuksa dla VirtualBoksa OSE
360 Release: %{rel}@%{_kernel_ver_str}
362 Requires(post,postun): /sbin/depmod
363 Requires: dev >= 2.9.0-7
364 Requires: kernel%{_alt_kernel}-misc-vboxdrv
365 %if %{with dist_kernel}
366 %requires_releq_kernel
367 Requires(postun): %releq_kernel
369 Provides: kernel(vboxnetflt) = %{version}-%{rel}
371 %description -n kernel%{_alt_kernel}-misc-vboxnetflt
372 VirtualBox OSE Network Filter Driver.
374 You should install this package in your Host OS.
376 %description -n kernel%{_alt_kernel}-misc-vboxnetflt -l pl.UTF-8
377 Moduł jądra Linuksa dla VirtualBoksa OSE - sterownik filtrowania sieci
378 dla systemu głównego.
380 %package -n kernel%{_alt_kernel}-misc-vboxsf
381 Summary: Host file system access (Shared Folders) for VirtualBox OSE
382 Summary(pl.UTF-8): Moduł jądra Linuksa dla VirtualBoksa OSE
383 Release: %{rel}@%{_kernel_ver_str}
385 Requires(post,postun): /sbin/depmod
386 Requires: dev >= 2.9.0-7
387 Requires: kernel%{_alt_kernel}-misc-vboxguest
388 %if %{with dist_kernel}
389 %requires_releq_kernel
390 Requires(postun): %releq_kernel
392 Provides: kernel(vboxsf) = %{version}-%{rel}
393 Obsoletes: kernel%{_alt_kernel}-misc-vboxvfs
395 %description -n kernel%{_alt_kernel}-misc-vboxsf
396 Host file system access (Shared Folders) for VirtualBox OSE.
398 You should install this package in your Guest OS.
400 %description -n kernel%{_alt_kernel}-misc-vboxsf -l pl.UTF-8
401 Moduł jądra Linuksa dla VirtualBoksa OSE - dostęp do plików systemu
402 głównego z poziomu systemu gościa.
404 %package -n kernel%{_alt_kernel}-misc-vboxvideo
405 Summary: DRM support for VirtualBox OSE
406 Summary(pl.UTF-8): Moduł jądra Linuksa dla VirtualBoksa OSE
407 Release: %{rel}@%{_kernel_ver_str}
409 Requires(post,postun): /sbin/depmod
410 Requires: dev >= 2.9.0-7
411 %if %{with dist_kernel}
412 %requires_releq_kernel
413 %if "%{rpm_build_macros}" >= "1.531"
414 %requires_releq_kernel -n drm
416 Requires(postun): %releq_kernel
418 Provides: kernel(vboxvideo) = %{version}-%{rel}
420 %description -n kernel%{_alt_kernel}-misc-vboxvideo
421 DRM support for VirtualBox OSE.
423 You should install this package in your Guest OS.
425 %description -n kernel%{_alt_kernel}-misc-vboxvideo -l pl.UTF-8
426 Moduł jądra Linuksa dla VirtualBoksa OSE - sterownik obsługi DRM.
429 %setup -q -n %{pname}-%{version}_OSE
437 %{__sed} -i -e 's,@VBOX_DOC_PATH@,%{_docdir}/%{name}-%{version},' \
438 -e 's/Categories=.*/Categories=Utility;Emulator;/' src/VBox/Installer/common/virtualbox.desktop.in
440 sed 's#@LIBDIR@#%{_libdir}#' < %{SOURCE8} > VirtualBox-wrapper.sh
442 install -d PLD-MODULE-BUILD/{GuestDrivers,HostDrivers}
444 ../src/VBox/Additions/linux/export_modules guest-modules.tar.gz
445 tar -zxf guest-modules.tar.gz -C GuestDrivers
447 ../src/VBox/HostDrivers/linux/export_modules host-modules.tar.gz --without-hardening
448 tar -zxf host-modules.tar.gz -C HostDrivers
456 %if %{with userspace}
457 echo "VBOX_WITH_TESTCASES := " > LocalConfig.kmk
459 --with-gcc="%{__cc}" \
460 --with-g++="%{__cxx}" \
461 %{!?with_doc:--disable-docs} \
463 --disable-hardening \
466 XSERVER_VERSION=$(rpm -q --queryformat '%{VERSION}\n' xorg-xserver-server-devel | awk -F. ' { print $1 $2 } ' 2> /dev/null || echo ERROR)
469 %{?with_verbose:KBUILD_VERBOSE=3} \
471 VBOX_VERSION_STRING='$(VBOX_VERSION_MAJOR).$(VBOX_VERSION_MINOR).$(VBOX_VERSION_BUILD)'_PLD \
472 XSERVER_VERSION="$XSERVER_VERSION"
476 cd PLD-MODULE-BUILD/HostDrivers
477 %build_kernel_modules -m vboxdrv -C vboxdrv
478 %build_kernel_modules -m vboxnetadp -C vboxnetadp
479 %build_kernel_modules -m vboxnetflt -C vboxnetflt
482 %build_kernel_modules -m vboxguest -C vboxguest
483 cp -a vboxguest/Module.symvers vboxsf
484 %build_kernel_modules -m vboxsf -C vboxsf -c
485 %build_kernel_modules -m vboxvideo -C vboxvideo_drm
487 %{__cc} %{rpmcflags} %{rpmldflags} -Wall -Werror src/VBox/Additions/linux/sharedfolders/{mount.vboxsf.c,vbsfmount.c} -o mount.vboxsf
491 rm -rf $RPM_BUILD_ROOT
493 %if %{with userspace}
494 install -d $RPM_BUILD_ROOT{%{_bindir},%{_sbindir},%{_libdir}/%{pname}/ExtensionPacks} \
495 $RPM_BUILD_ROOT{%{_pixmapsdir},%{_desktopdir}} \
496 $RPM_BUILD_ROOT%{_libdir}/xorg/modules/{drivers,dri,input}
498 # test if we can hardlink -- %{_builddir} and $RPM_BUILD_ROOT on same partition
499 if cp -al VBox.png $RPM_BUILD_ROOT/Vbox.png 2>/dev/null; then
501 rm -f $RPM_BUILD_ROOT/VBox.png
504 cp -a$l %{outdir}/* $RPM_BUILD_ROOT%{_libdir}/%{pname}
506 cp -a %{SOURCE1} $RPM_BUILD_ROOT%{_libdir}/VirtualBox/additions/VBoxGuestAdditions.iso
507 install -p %{SOURCE9} $RPM_BUILD_ROOT%{_sbindir}/mount.vdi
508 install -p VirtualBox-wrapper.sh $RPM_BUILD_ROOT%{_libdir}/%{pname}
509 for f in {VBox{BFE,Headless,Manage,SDL,SVC,Tunctl,XPCOMIPCD},VirtualBox}; do
510 ln -s %{_libdir}/%{pname}/VirtualBox-wrapper.sh $RPM_BUILD_ROOT%{_bindir}/$f
513 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/VBox.png,%{_pixmapsdir}/virtualbox.png}
514 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname},%{_desktopdir}}/virtualbox.desktop
516 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions/vboxmouse_drv.so,%{_libdir}/xorg/modules/input/vboxmouse_drv.so}
517 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions/vboxvideo_drv.so,%{_libdir}/xorg/modules/drivers/vboxvideo_drv.so}
518 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions/VBoxOGL.so,%{_libdir}/xorg/modules/dri/vboxvideo_dri.so}
519 # xorg other driver versions
520 rm -vf $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/vboxmouse_drv*.{o,so}
521 rm -vf $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/vboxvideo_drv*.{o,so}
523 # XXX: where else to install them that vboxvideo_dri.so finds them? patch with rpath?
524 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLarrayspu.so
525 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLcrutil.so
526 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLerrorspu.so
527 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLfeedbackspu.so
528 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLpackspu.so
529 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLpassthroughspu.so
531 install -d $RPM_BUILD_ROOT/etc/udev/rules.d
532 cp -a %{SOURCE10} $RPM_BUILD_ROOT/etc/udev/rules.d/virtualbox.rules
534 install -d $RPM_BUILD_ROOT/%{_lib}/security
535 mv $RPM_BUILD_ROOT{%{_libdir}/VirtualBox/additions,/%{_lib}/security}/pam_vbox.so
538 rm -r $RPM_BUILD_ROOT%{_libdir}/%{pname}/{src,sdk,testcase}
539 rm -r $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/src
540 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/vboxkeyboard.tar.bz2
541 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/tst*
543 # IPRT Testcase / Tool - Source Code Massager.
544 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/scm
547 install -d $RPM_BUILD_ROOT/etc/{X11/xinit/xinitrc.d,xdg/autostart}
548 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_bindir}}/VBoxService
549 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_bindir}}/VBoxClient
550 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_bindir}}/VBoxControl
551 install -p -D src/VBox/Additions/x11/Installer/98vboxadd-xclient \
552 $RPM_BUILD_ROOT/etc/X11/xinit/xinitrc.d/98vboxadd-xclient.sh
553 cp -p src/VBox/Additions/x11/Installer/vboxclient.desktop \
554 $RPM_BUILD_ROOT/etc/xdg/autostart/vboxclient.desktop
558 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/SUPInstall
559 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/SUPLoggerCtl
560 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/SUPUninstall
561 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/VBox.sh
562 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/vboxshell.py
563 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/xpidl
566 # packaged by kernel part
567 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/mount.vboxsf
571 install -d $RPM_BUILD_ROOT{/etc/{rc.d/init.d,modprobe.d},%{_sbindir}}
572 install -p %{SOURCE3} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxdrv
573 install -p %{SOURCE4} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxguest
574 install -p %{SOURCE5} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxnetflt
575 install -p %{SOURCE6} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxsf
576 install -p %{SOURCE7} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxnetadp
577 %install_kernel_modules -m PLD-MODULE-BUILD/HostDrivers/vboxdrv/vboxdrv -d misc
578 %install_kernel_modules -m PLD-MODULE-BUILD/HostDrivers/vboxnetadp/vboxnetadp -d misc
579 %install_kernel_modules -m PLD-MODULE-BUILD/HostDrivers/vboxnetflt/vboxnetflt -d misc
580 %install_kernel_modules -m PLD-MODULE-BUILD/GuestDrivers/vboxguest/vboxguest -d misc
581 %install_kernel_modules -m PLD-MODULE-BUILD/GuestDrivers/vboxsf/vboxsf -d misc
582 %install_kernel_modules -m PLD-MODULE-BUILD/GuestDrivers/vboxvideo_drm/vboxvideo -d misc
584 install -p mount.vboxsf $RPM_BUILD_ROOT%{_sbindir}/mount.vboxsf
589 rm -rf $RPM_BUILD_ROOT
592 %groupadd -g 221 -r -f vbox
596 You must install vboxdrv kernel module for this software to work:
597 kernel-misc-vboxdrv-%{version}-%{rel}@%{_kernel_ver_str}
599 Additionally you might want to install:
600 kernel-misc-vboxnetadp-%{version}-%{rel}@%{_kernel_ver_str}
601 kernel-misc-vboxnetflt-%{version}-%{rel}@%{_kernel_ver_str}
603 On Guest Linux system you might want to install:
604 kernel-misc-vboxguest-%{version}-%{rel}@%{_kernel_ver_str}
605 kernel-misc-vboxsf-%{version}-%{rel}@%{_kernel_ver_str}
606 kernel-misc-vboxvideo-%{version}-%{rel}@%{_kernel_ver_str}
611 if [ "$1" = "0" ]; then
615 %post -n kernel%{_alt_kernel}-misc-vboxguest
616 %depmod %{_kernel_ver}
617 /sbin/chkconfig --add vboxguest
618 %service vboxguest restart "VirtualBox OSE Guest additions driver"
620 %postun -n kernel%{_alt_kernel}-misc-vboxguest
621 %depmod %{_kernel_ver}
623 %preun -n kernel%{_alt_kernel}-misc-vboxguest
624 if [ "$1" = "0" ]; then
625 %service vboxguest stop
626 /sbin/chkconfig --del vboxguest
629 %post -n kernel%{_alt_kernel}-misc-vboxdrv
630 %depmod %{_kernel_ver}
631 /sbin/chkconfig --add vboxdrv
632 %service vboxdrv restart "VirtualBox OSE Support Driver"
634 %postun -n kernel%{_alt_kernel}-misc-vboxdrv
635 %depmod %{_kernel_ver}
637 %preun -n kernel%{_alt_kernel}-misc-vboxdrv
638 if [ "$1" = "0" ]; then
639 %service vboxdrv stop
640 /sbin/chkconfig --del vboxdrv
643 %post -n kernel%{_alt_kernel}-misc-vboxnetadp
644 %depmod %{_kernel_ver}
645 /sbin/chkconfig --add vboxnetadp
646 %service vboxnetadp restart "VirtualBox OSE Network HostOnly driver"
648 %postun -n kernel%{_alt_kernel}-misc-vboxnetadp
649 %depmod %{_kernel_ver}
651 %preun -n kernel%{_alt_kernel}-misc-vboxnetadp
652 if [ "$1" = "0" ]; then
653 %service vboxnetadp stop
654 /sbin/chkconfig --del vboxnetadp
657 %post -n kernel%{_alt_kernel}-misc-vboxnetflt
658 %depmod %{_kernel_ver}
659 /sbin/chkconfig --add vboxnetflt
660 %service vboxnetflt restart "VirtualBox OSE Network Filter driver"
662 %postun -n kernel%{_alt_kernel}-misc-vboxnetflt
663 %depmod %{_kernel_ver}
665 %preun -n kernel%{_alt_kernel}-misc-vboxnetflt
666 if [ "$1" = "0" ]; then
667 %service vboxnetflt stop
668 /sbin/chkconfig --del vboxnetflt
671 %post -n kernel%{_alt_kernel}-misc-vboxsf
672 %depmod %{_kernel_ver}
673 /sbin/chkconfig --add vboxsf
674 %service vboxsf restart "VirtualBox OSE Host file system access (Shared Folders)"
676 %postun -n kernel%{_alt_kernel}-misc-vboxsf
677 %depmod %{_kernel_ver}
679 %preun -n kernel%{_alt_kernel}-misc-vboxsf
680 if [ "$1" = "0" ]; then
682 /sbin/chkconfig --del vboxsf
685 %post -n kernel%{_alt_kernel}-misc-vboxvideo
686 %depmod %{_kernel_ver}
688 %postun -n kernel%{_alt_kernel}-misc-vboxvideo
689 %depmod %{_kernel_ver}
691 %if %{with userspace}
693 %defattr(644,root,root,755)
694 %dir %{_libdir}/VirtualBox
695 %dir %{_libdir}/VirtualBox/ExtensionPacks
696 %dir %{_libdir}/VirtualBox/additions
697 %dir %{_libdir}/VirtualBox/components
698 %dir %{_libdir}/VirtualBox/nls
699 %attr(755,root,root) %{_bindir}/VBoxBFE
700 %attr(755,root,root) %{_bindir}/VBoxHeadless
701 %attr(755,root,root) %{_bindir}/VBoxManage
702 %attr(755,root,root) %{_bindir}/VBoxSDL
703 %attr(755,root,root) %{_bindir}/VBoxSVC
704 %attr(755,root,root) %{_bindir}/VBoxTunctl
705 %attr(755,root,root) %{_bindir}/VBoxXPCOMIPCD
706 %attr(755,root,root) %{_bindir}/VirtualBox
707 %attr(755,root,root) %{_sbindir}/mount.vdi
708 %attr(755,root,root) %{_libdir}/VirtualBox/DBGCPlugInDiggers.so
709 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxAuth.so
710 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxAuthSimple.so
711 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxBFE
712 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxCreateUSBNode.sh
713 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxDbg.so
714 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxDD2.so
715 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxDD.so
716 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxDDU.so
717 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxExtPackHelperApp
718 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxGuestControlSvc.so
719 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxGuestPropSvc.so
720 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxHeadless
721 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxKeyboard.so
722 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxManage
723 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxNetAdpCtl
724 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxNetDHCP
725 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxOGLhostcrutil.so
726 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxOGLhosterrorspu.so
727 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxOGLrenderspu.so
728 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxPython*.so
729 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxREM.so
731 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxREM32.so
732 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxREM64.so
734 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxRT.so
735 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxSDL
736 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxSharedClipboard.so
737 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxSharedCrOpenGL.so
738 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxSharedFolders.so
739 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxSVC
740 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxSysInfo.sh
741 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxTestOGL
742 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxTunctl
743 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxVMM.so
744 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxXPCOMC.so
745 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxXPCOMIPCD
746 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxXPCOM.so
747 %attr(755,root,root) %{_libdir}/VirtualBox/VirtualBox
748 %attr(755,root,root) %{_libdir}/VirtualBox/VirtualBox-wrapper.sh
749 %{_libdir}/VirtualBox/VBoxDD2GC.gc
750 %{_libdir}/VirtualBox/VBoxDDGC.gc
751 %{_libdir}/VirtualBox/VMMGC.gc
752 %{_libdir}/VirtualBox/VBoxDD2R0.r0
753 %{_libdir}/VirtualBox/VBoxDDR0.r0
754 %{_libdir}/VirtualBox/VMMR0.r0
755 %{_libdir}/VirtualBox/EfiThunk
756 %{_libdir}/VirtualBox/VBoxEFI32.fd
757 %{_libdir}/VirtualBox/VBoxEFI64.fd
758 %{_libdir}/VirtualBox/components/VBoxXPCOMBase.xpt
759 %{_libdir}/VirtualBox/components/VirtualBox_XPCOM.xpt
760 %attr(755,root,root) %{_libdir}/VirtualBox/components/VBoxC.so
761 %attr(755,root,root) %{_libdir}/VirtualBox/components/VBoxSVCM.so
762 %attr(755,root,root) %{_libdir}/VirtualBox/components/VBoxXPCOMIPCC.so
763 %lang(ar) %{_libdir}/VirtualBox/nls/*_ar.qm
764 %lang(bg) %{_libdir}/VirtualBox/nls/*_bg.qm
765 %lang(ca) %{_libdir}/VirtualBox/nls/*_ca.qm
766 %lang(ca_VA) %{_libdir}/VirtualBox/nls/*_ca_VA.qm
767 %lang(cs) %{_libdir}/VirtualBox/nls/*_cs.qm
768 %lang(da) %{_libdir}/VirtualBox/nls/*_da.qm
769 %lang(de) %{_libdir}/VirtualBox/nls/*_de.qm
770 %lang(el) %{_libdir}/VirtualBox/nls/*_el.qm
771 %lang(en) %{_libdir}/VirtualBox/nls/*_en.qm
772 %lang(es) %{_libdir}/VirtualBox/nls/*_es.qm
773 %lang(eu) %{_libdir}/VirtualBox/nls/*_eu.qm
774 %lang(fi) %{_libdir}/VirtualBox/nls/*_fi.qm
775 %lang(fr) %{_libdir}/VirtualBox/nls/*_fr.qm
776 %lang(gl_ES) %{_libdir}/VirtualBox/nls/*_gl_ES.qm
777 %lang(hu) %{_libdir}/VirtualBox/nls/*_hu.qm
778 %lang(id) %{_libdir}/VirtualBox/nls/*_id.qm
779 %lang(it) %{_libdir}/VirtualBox/nls/*_it.qm
780 %lang(ja) %{_libdir}/VirtualBox/nls/*_ja.qm
781 %lang(km_KH) %{_libdir}/VirtualBox/nls/*_km_KH.qm
782 %lang(ko) %{_libdir}/VirtualBox/nls/*_ko.qm
783 %lang(lt) %{_libdir}/VirtualBox/nls/*_lt.qm
784 %lang(nl) %{_libdir}/VirtualBox/nls/*_nl.qm
785 %lang(pl) %{_libdir}/VirtualBox/nls/*_pl.qm
786 %lang(pt) %{_libdir}/VirtualBox/nls/*_pt.qm
787 %lang(pt_BR) %{_libdir}/VirtualBox/nls/*_pt_BR.qm
788 %lang(ro) %{_libdir}/VirtualBox/nls/*_ro.qm
789 %lang(ru) %{_libdir}/VirtualBox/nls/*_ru.qm
790 %lang(sk) %{_libdir}/VirtualBox/nls/*_sk.qm
791 %lang(sr) %{_libdir}/VirtualBox/nls/*_sr.qm
792 %lang(sv) %{_libdir}/VirtualBox/nls/*_sv.qm
793 %lang(tr) %{_libdir}/VirtualBox/nls/*_tr.qm
794 %lang(uk) %{_libdir}/VirtualBox/nls/*_uk.qm
795 %lang(zh_CN) %{_libdir}/VirtualBox/nls/*_zh_CN.qm
796 %lang(zh_TW) %{_libdir}/VirtualBox/nls/*_zh_TW.qm
797 %{_pixmapsdir}/virtualbox.png
798 %{_desktopdir}/*.desktop
799 %{_libdir}/VirtualBox/icons
800 %{_libdir}/VirtualBox/virtualbox.xml
803 %defattr(644,root,root,755)
804 %{_libdir}/VirtualBox/additions/VBoxGuestAdditions.iso
807 %defattr(644,root,root,755)
808 # NOTE: unfinished, should contain .desktop files for starting up mouse
809 # integration and other desktop services
810 # NOTE: the filelist is incomplete too
811 %attr(755,root,root) %{_bindir}/VBoxClient
812 %attr(755,root,root) %{_bindir}/VBoxControl
813 %attr(755,root,root) %{_bindir}/VBoxService
814 /etc/X11/xinit/xinitrc.d/98vboxadd-xclient.sh
815 /etc/xdg/autostart/vboxclient.desktop
817 %attr(755,root,root) %{_libdir}/VirtualBox/additions/autorun.sh
818 %attr(755,root,root) %{_libdir}/VirtualBox/additions/vboxadd
819 %attr(755,root,root) %{_libdir}/VirtualBox/additions/vboxadd-service
820 %attr(755,root,root) %{_libdir}/VirtualBox/additions/vboxadd-x11
822 %files -n pam-pam_vbox
823 %defattr(644,root,root,755)
824 %attr(755,root,root) /%{_lib}/security/pam_vbox.so
828 %defattr(644,root,root,755)
829 %doc %{outdir}/UserManual.pdf
833 %defattr(644,root,root,755)
834 %config(noreplace) %verify(not md5 mtime size) /etc/udev/rules.d/virtualbox.rules
836 %files -n xorg-driver-input-vboxmouse
837 %defattr(644,root,root,755)
838 %attr(755,root,root) %{_libdir}/xorg/modules/input/vboxmouse_drv.so
840 %files -n xorg-driver-video-vboxvideo
841 %defattr(644,root,root,755)
842 %attr(755,root,root) %{_libdir}/xorg/modules/drivers/vboxvideo_drv.so
843 %attr(755,root,root) %{_libdir}/xorg/modules/dri/vboxvideo_dri.so
844 # vboxvideo_dri.so deps
845 %attr(755,root,root) %{_libdir}/VBoxOGLarrayspu.so
846 %attr(755,root,root) %{_libdir}/VBoxOGLcrutil.so
847 %attr(755,root,root) %{_libdir}/VBoxOGLerrorspu.so
848 %attr(755,root,root) %{_libdir}/VBoxOGLfeedbackspu.so
849 %attr(755,root,root) %{_libdir}/VBoxOGLpackspu.so
850 %attr(755,root,root) %{_libdir}/VBoxOGLpassthroughspu.so
854 %files -n kernel%{_alt_kernel}-misc-vboxguest
855 %defattr(644,root,root,755)
856 %attr(754,root,root) /etc/rc.d/init.d/vboxguest
857 /lib/modules/%{_kernel_ver}/misc/vboxguest.ko*
859 %files -n kernel%{_alt_kernel}-misc-vboxdrv
860 %defattr(644,root,root,755)
861 %attr(754,root,root) /etc/rc.d/init.d/vboxdrv
862 /lib/modules/%{_kernel_ver}/misc/vboxdrv.ko*
864 %files -n kernel%{_alt_kernel}-misc-vboxnetadp
865 %defattr(644,root,root,755)
866 %attr(754,root,root) /etc/rc.d/init.d/vboxnetadp
867 /lib/modules/%{_kernel_ver}/misc/vboxnetadp.ko*
869 %files -n kernel%{_alt_kernel}-misc-vboxnetflt
870 %defattr(644,root,root,755)
871 %attr(754,root,root) /etc/rc.d/init.d/vboxnetflt
872 /lib/modules/%{_kernel_ver}/misc/vboxnetflt.ko*
874 %files -n kernel%{_alt_kernel}-misc-vboxsf
875 %defattr(644,root,root,755)
876 %attr(754,root,root) /etc/rc.d/init.d/vboxsf
877 %attr(755,root,root) %{_sbindir}/mount.vboxsf
878 /lib/modules/%{_kernel_ver}/misc/vboxsf.ko*
880 %files -n kernel%{_alt_kernel}-misc-vboxvideo
881 %defattr(644,root,root,755)
882 /lib/modules/%{_kernel_ver}/misc/vboxvideo.ko*