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
37 Summary: VirtualBox - x86 hardware virtualizer
38 Summary(pl.UTF-8): VirtualBox - wirtualizator sprzętu x86
39 Name: %{pname}%{_alt_kernel}
43 Group: Applications/Emulators
44 Source0: http://download.virtualbox.org/virtualbox/%{version}/%{pname}-%{version}.tar.bz2
45 # Source0-md5: 03cd0875729558a46f910483e1984316
46 Source1: http://download.virtualbox.org/virtualbox/%{version}/VBoxGuestAdditions_%{version}.iso
47 # Source1-md5: 69d144809cec66c61aadcbbf16005d48
48 Source3: %{pname}-vboxdrv.init
49 Source4: %{pname}-vboxguest.init
50 Source5: %{pname}-vboxnetflt.init
51 Source6: %{pname}-vboxsf.init
52 Source7: %{pname}-vboxnetadp.init
53 Source8: %{pname}-vboxpci.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}-disable_build_NetBiosBin.patch
65 Patch10: 16-no-update.patch
66 Patch11: 18-system-xorg.patch
68 URL: http://www.virtualbox.org/
69 BuildRequires: rpmbuild(macros) >= 1.535
72 BuildRequires: gcc-multilib
73 BuildRequires: glibc-devel(i686)
74 BuildRequires: libstdc++-multilib-devel
75 BuildRequires: libstdc++-multilib-static
77 %if "%{pld_release}" == "ac"
78 BuildRequires: XFree86-devel
80 BuildRequires: xorg-lib-libXcomposite-devel
81 BuildRequires: xorg-lib-libXcursor-devel
82 BuildRequires: xorg-lib-libXmu-devel
83 BuildRequires: xorg-proto-glproto-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 >= 0.9.7
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 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 are:
164 Modularity: VirtualBox 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 also comes with a full Software Development Kit: even
170 though it is Open Source Software, you don't have to hack the source
171 to write a new interface for VirtualBox.
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 jest emulatorem sprzętu x86. Kierowany do zastosowań
182 serwerowych, desktopowych oraz wbudowanych jest obecnie jedynym
183 wysokiej jakości rozwiązaniem wirtualizacyjnym dostępnym również jako
184 Otwarte Oprogramowanie.
186 Przykładowe cechy VirtualBoksa:
188 Modularność: VirtualBox 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 dostarcza również pełny pakiet deweloperski, co
194 pozwala stworzyć dowolny inny interfejs zarządzania maszyną wirtualną.
196 Opisy maszyn wirtualnych w XML-u: konfiguracje poszczególnych maszyn
197 wirtualnych są w całości przechowywane w XML-u i są niezależne od
198 lokalnej maszyny. Dzięki temu można szybko i łatwo przenieść
199 konfigurację maszyny wirtualnej na inny komputer.
202 Summary: VirtualBox documentation
206 This package contains VirtualBox User Manual.
209 Summary: udev rules for VirtualBox kernel modules
210 Summary(pl.UTF-8): Reguły udev dla modułów jądra Linuksa dla VirtualBoksa
215 udev rules for VirtualBox kernel modules.
217 You should install this package in your Host OS and in Guest OS.
219 %description udev -l pl.UTF-8
220 Reguły udev dla modułów jądra Linuksa dla VirtualBoksa.
223 Summary: VirtualBox Guest Additions
225 Requires: %{name} = %{version}-%{release}
227 %description additions
228 VirtualBox Guest Additions.
230 This package contains ISO9660 image with drivers for Guest OS.
232 You should install this package in your Host OS.
235 Summary: VirtualBox Guest Additions
237 Requires: xorg-driver-input-vboxmouse = %{version}-%{release}
238 Requires: xorg-driver-video-vboxvideo = %{version}-%{release}
239 Suggests: kernel%{_alt_kernel}-misc-vboxsf = %{version}-%{rel}@%{_kernel_ver_str}
240 Suggests: kernel%{_alt_kernel}-misc-vboxvideo = %{version}-%{rel}@%{_kernel_ver_str}
243 Tools that utilize kernel modules for supporting integration with the
244 Host, including file sharing and tracking of mouse pointer movement
245 and X.org X11 video and mouse driver.
247 You should install this package in your Guest OS.
249 %package -n pam-pam_vbox
250 Summary: PAM module to perform automated guest logons
253 %description -n pam-pam_vbox
254 PAM module (Pluggable Authentication Module) which can be used to
255 perform automated guest logons.
257 %package -n xorg-driver-input-vboxmouse
258 Summary: X.org mouse driver for VirtualBox guest OS
259 Summary(pl.UTF-8): Sterownik myszy dla systemu gościa w VirtualBoksie
260 Group: X11/Applications
261 Requires: xorg-xserver-server >= 1.0.99.901
262 Requires: xorg-xserver-server(xinput-abi) <= 13.0
263 Requires: xorg-xserver-server(xinput-abi) >= 4.0
265 %description -n xorg-driver-input-vboxmouse
266 X.org mouse driver for VirtualBox guest OS.
268 %description -n xorg-driver-input-vboxmouse -l pl.UTF-8
269 Sterownik myszy dla systemu gościa w VirtualBoksie.
271 %package -n xorg-driver-video-vboxvideo
272 Summary: X.org video driver for VirtualBox guest OS
273 Summary(pl.UTF-8): Sterownik grafiki dla systemu gościa w VirtualBoksie
274 Group: X11/Applications
275 Requires: Mesa-dri-driver-swrast
276 Requires: xorg-xserver-libdri >= 1.7.4
277 Requires: xorg-xserver-server >= 1.0.99.901
278 Requires: xorg-xserver-server(videodrv-abi) <= 11.0
279 Requires: xorg-xserver-server(videodrv-abi) >= 2.0
281 %description -n xorg-driver-video-vboxvideo
282 X.org video driver for VirtualBox guest OS.
284 %description -n xorg-driver-video-vboxvideo -l pl.UTF-8
285 Sterownik grafiki dla systemu gościa w VirtualBoksie.
288 # KEEP ALL REGULAR SUBPACKAGES BEFORE KERNEL PACKAGES.
289 %package -n kernel%{_alt_kernel}-misc-vboxguest
290 Summary: VirtualBox Guest Additions for Linux Module
291 Summary(pl.UTF-8): Moduł jądra Linuksa dla VirtualBoksa
292 Release: %{rel}@%{_kernel_ver_str}
294 Requires(post,postun): /sbin/depmod
295 Requires: dev >= 2.9.0-7
296 %if %{with dist_kernel}
297 %requires_releq_kernel
298 Requires(postun): %releq_kernel
300 Provides: kernel(vboxguest) = %{version}-%{rel}
301 Obsoletes: kernel%{_alt_kernel}-misc-vboxadd
302 Conflicts: kernel%{_alt_kernel}-misc-vboxdrv
304 %description -n kernel%{_alt_kernel}-misc-vboxguest
305 VirtualBox Guest Additions for Linux Module.
307 You should install this package in your Guest OS.
309 %description -n kernel%{_alt_kernel}-misc-vboxguest -l pl.UTF-8
310 Moduł jądra Linuksa vboxguest dla VirtualBoksa - dodatki dla systemu
313 %package -n kernel%{_alt_kernel}-misc-vboxdrv
314 Summary: VirtualBox Support Driver
315 Summary(pl.UTF-8): Moduł jądra Linuksa dla VirtualBoksa
316 Release: %{rel}@%{_kernel_ver_str}
318 Requires(post,postun): /sbin/depmod
319 Requires: dev >= 2.9.0-7
320 %if %{with dist_kernel}
321 %requires_releq_kernel
322 Requires(postun): %releq_kernel
324 Provides: kernel(vboxdrv) = %{version}-%{rel}
326 %description -n kernel%{_alt_kernel}-misc-vboxdrv
327 VirtualBox Support Driver.
329 You should install this package in your Host OS.
331 %description -n kernel%{_alt_kernel}-misc-vboxdrv -l pl.UTF-8
332 Moduł jądra Linuksa dla VirtualBoksa - sterownik wsparcia dla systemu
335 %package -n kernel%{_alt_kernel}-misc-vboxnetadp
336 Summary: VirtualBox Network Adapter Driver
337 Summary(pl.UTF-8): Moduł jądra Linuksa dla VirtualBoksa
338 Release: %{rel}@%{_kernel_ver_str}
340 Requires(post,postun): /sbin/depmod
341 Requires: dev >= 2.9.0-7
342 Requires: kernel%{_alt_kernel}-misc-vboxdrv
343 %if %{with dist_kernel}
344 %requires_releq_kernel
345 Requires(postun): %releq_kernel
347 Provides: kernel(vboxnetflt) = %{version}-%{rel}
349 %description -n kernel%{_alt_kernel}-misc-vboxnetadp
350 VirtualBox Network Adapter Driver.
352 You should install this package in your Host OS.
354 %description -n kernel%{_alt_kernel}-misc-vboxnetadp -l pl.UTF-8
355 Moduł jądra Linuksa dla VirtualBoksa - sterownik witrualnej karty
358 %package -n kernel%{_alt_kernel}-misc-vboxnetflt
359 Summary: VirtualBox Network Filter Driver
360 Summary(pl.UTF-8): Moduł jądra Linuksa dla VirtualBoksa
361 Release: %{rel}@%{_kernel_ver_str}
363 Requires(post,postun): /sbin/depmod
364 Requires: dev >= 2.9.0-7
365 Requires: kernel%{_alt_kernel}-misc-vboxdrv
366 %if %{with dist_kernel}
367 %requires_releq_kernel
368 Requires(postun): %releq_kernel
370 Provides: kernel(vboxnetflt) = %{version}-%{rel}
372 %description -n kernel%{_alt_kernel}-misc-vboxnetflt
373 VirtualBox Network Filter Driver.
375 You should install this package in your Host OS.
377 %description -n kernel%{_alt_kernel}-misc-vboxnetflt -l pl.UTF-8
378 Moduł jądra Linuksa dla VirtualBoksa - sterownik filtrowania sieci dla
381 %package -n kernel%{_alt_kernel}-misc-vboxpci
382 Summary: VirtualBox PCI card passthrough Driver
383 Summary(pl.UTF-8): Moduł jądra Linuksa dla VirtualBoksa
384 Release: %{rel}@%{_kernel_ver_str}
386 Requires(post,postun): /sbin/depmod
387 Requires: dev >= 2.9.0-7
388 Requires: kernel%{_alt_kernel}-misc-vboxdrv
389 %if %{with dist_kernel}
390 %requires_releq_kernel
391 Requires(postun): %releq_kernel
393 Provides: kernel(vboxpci) = %{version}-%{rel}
395 %description -n kernel%{_alt_kernel}-misc-vboxpci
396 VirtualBox PCI card passthrough driver that works as host proxy
397 between guest and PCI hardware.
399 You should install this package in your Host OS.
401 %description -n kernel%{_alt_kernel}-misc-vboxnetflt -l pl.UTF-8
402 Moduł jądra Linuksa dla VirtualBoksa - sterownik, ktory działa jako
403 proxy między gościem i gospodarzem sprzętu PCI.
405 %package -n kernel%{_alt_kernel}-misc-vboxsf
406 Summary: Host file system access (Shared Folders) for VirtualBox
407 Summary(pl.UTF-8): Moduł jądra Linuksa dla VirtualBoksa
408 Release: %{rel}@%{_kernel_ver_str}
410 Requires(post,postun): /sbin/depmod
411 Requires: dev >= 2.9.0-7
412 Requires: kernel%{_alt_kernel}-misc-vboxguest
413 %if %{with dist_kernel}
414 %requires_releq_kernel
415 Requires(postun): %releq_kernel
417 Provides: kernel(vboxsf) = %{version}-%{rel}
418 Obsoletes: kernel%{_alt_kernel}-misc-vboxvfs
420 %description -n kernel%{_alt_kernel}-misc-vboxsf
421 Host file system access (Shared Folders) for VirtualBox.
423 You should install this package in your Guest OS.
425 %description -n kernel%{_alt_kernel}-misc-vboxsf -l pl.UTF-8
426 Moduł jądra Linuksa dla VirtualBoksa - dostęp do plików systemu
427 głównego z poziomu systemu gościa.
429 %package -n kernel%{_alt_kernel}-misc-vboxvideo
430 Summary: DRM support for VirtualBox
431 Summary(pl.UTF-8): Moduł jądra Linuksa dla VirtualBoksa
432 Release: %{rel}@%{_kernel_ver_str}
434 Requires(post,postun): /sbin/depmod
435 Requires: dev >= 2.9.0-7
436 %if %{with dist_kernel}
437 %requires_releq_kernel
438 %if "%{rpm_build_macros}" >= "1.531"
439 %requires_releq_kernel -n drm
441 Requires(postun): %releq_kernel
443 Provides: kernel(vboxvideo) = %{version}-%{rel}
445 %description -n kernel%{_alt_kernel}-misc-vboxvideo
446 DRM support for VirtualBox.
448 You should install this package in your Guest OS.
450 %description -n kernel%{_alt_kernel}-misc-vboxvideo -l pl.UTF-8
451 Moduł jądra Linuksa dla VirtualBoksa - sterownik obsługi DRM.
454 %setup -q -n %{pname}-%{version}_OSE
463 %{__sed} -i -e 's,@VBOX_DOC_PATH@,%{_docdir}/%{name}-%{version},' \
464 -e 's/Categories=.*/Categories=Utility;Emulator;/' src/VBox/Installer/common/virtualbox.desktop.in
466 sed 's#@LIBDIR@#%{_libdir}#' < %{SOURCE9} > VirtualBox-wrapper.sh
468 install -d PLD-MODULE-BUILD/{GuestDrivers,HostDrivers}
470 ../src/VBox/Additions/linux/export_modules guest-modules.tar.gz
471 tar -zxf guest-modules.tar.gz -C GuestDrivers
473 ../src/VBox/HostDrivers/linux/export_modules host-modules.tar.gz --without-hardening
474 tar -zxf host-modules.tar.gz -C HostDrivers
481 %if %{with userspace}
482 echo "VBOX_WITH_TESTCASES := " > LocalConfig.kmk
484 --with-gcc="%{__cc}" \
485 --with-g++="%{__cxx}" \
486 %{!?with_doc:--disable-docs} \
488 --disable-hardening \
492 XSERVER_VERSION=$(rpm -q --queryformat '%{VERSION}\n' xorg-xserver-server-devel | awk -F. ' { print $1 $2 } ' 2> /dev/null || echo ERROR)
495 %{?with_verbose:KBUILD_VERBOSE=3} \
497 VBOX_VERSION_STRING='$(VBOX_VERSION_MAJOR).$(VBOX_VERSION_MINOR).$(VBOX_VERSION_BUILD)'_PLD \
498 XSERVER_VERSION="$XSERVER_VERSION"
502 cd PLD-MODULE-BUILD/HostDrivers
503 %build_kernel_modules -m vboxdrv -C vboxdrv
504 %build_kernel_modules -m vboxnetadp -C vboxnetadp
505 %build_kernel_modules -m vboxnetflt -C vboxnetflt
506 %build_kernel_modules -m vboxpci -C vboxpci
509 %build_kernel_modules -m vboxguest -C vboxguest
510 cp -a vboxguest/Module.symvers vboxsf
511 %build_kernel_modules -m vboxsf -C vboxsf -c
512 %build_kernel_modules -m vboxvideo -C vboxvideo_drm
514 %{__cc} %{rpmcflags} %{rpmldflags} -Wall -Werror src/VBox/Additions/linux/sharedfolders/{mount.vboxsf.c,vbsfmount.c} -o mount.vboxsf
518 rm -rf $RPM_BUILD_ROOT
520 %if %{with userspace}
521 install -d $RPM_BUILD_ROOT{%{_bindir},%{_sbindir},%{_libdir}/%{pname}/ExtensionPacks} \
522 $RPM_BUILD_ROOT{%{_pixmapsdir},%{_desktopdir}} \
523 $RPM_BUILD_ROOT%{_libdir}/xorg/modules/{drivers,dri,input}
525 # test if we can hardlink -- %{_builddir} and $RPM_BUILD_ROOT on same partition
526 if cp -al VBox.png $RPM_BUILD_ROOT/Vbox.png 2>/dev/null; then
528 rm -f $RPM_BUILD_ROOT/VBox.png
531 cp -a$l %{outdir}/* $RPM_BUILD_ROOT%{_libdir}/%{pname}
533 cp -a %{SOURCE1} $RPM_BUILD_ROOT%{_libdir}/VirtualBox/additions/VBoxGuestAdditions.iso
534 install -p %{SOURCE10} $RPM_BUILD_ROOT%{_sbindir}/mount.vdi
535 install -p VirtualBox-wrapper.sh $RPM_BUILD_ROOT%{_libdir}/%{pname}
536 for f in {VBox{BFE,Headless,Manage,SDL,SVC,Tunctl,XPCOMIPCD},VirtualBox}; do
537 ln -s %{_libdir}/%{pname}/VirtualBox-wrapper.sh $RPM_BUILD_ROOT%{_bindir}/$f
540 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/VBox.png,%{_pixmapsdir}/virtualbox.png}
541 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname},%{_desktopdir}}/virtualbox.desktop
543 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/vboxmouse_drv.so,%{_libdir}/xorg/modules/input/vboxmouse_drv.so}
544 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions/vboxvideo_drv.so,%{_libdir}/xorg/modules/drivers/vboxvideo_drv.so}
545 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions/VBoxOGL.so,%{_libdir}/xorg/modules/dri/vboxvideo_dri.so}
546 # xorg other driver versions
547 rm -vf $RPM_BUILD_ROOT%{_libdir}/%{pname}/vboxmouse_drv*.{o,so}
548 rm -vf $RPM_BUILD_ROOT%{_libdir}/%{pname}/vboxvideo_drv*.{o,so}
550 # XXX: where else to install them that vboxvideo_dri.so finds them? patch with rpath?
551 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLarrayspu.so
552 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLcrutil.so
553 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLerrorspu.so
554 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLfeedbackspu.so
555 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLpackspu.so
556 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLpassthroughspu.so
558 install -d $RPM_BUILD_ROOT/etc/udev/rules.d
559 cp -a %{SOURCE11} $RPM_BUILD_ROOT/etc/udev/rules.d/virtualbox.rules
561 install -d $RPM_BUILD_ROOT/%{_lib}/security
562 mv $RPM_BUILD_ROOT{%{_libdir}/VirtualBox/additions,/%{_lib}/security}/pam_vbox.so
565 rm -r $RPM_BUILD_ROOT%{_libdir}/%{pname}/{src,sdk,testcase}
566 rm -r $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/src
567 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/vboxkeyboard.tar.bz2
568 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/tst*
570 # IPRT Testcase / Tool - Source Code Massager.
571 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/scm
574 install -d $RPM_BUILD_ROOT/etc/{X11/xinit/xinitrc.d,xdg/autostart}
575 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_bindir}}/VBoxService
576 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_bindir}}/VBoxClient
577 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_bindir}}/VBoxControl
578 install -p -D src/VBox/Additions/x11/Installer/98vboxadd-xclient \
579 $RPM_BUILD_ROOT/etc/X11/xinit/xinitrc.d/98vboxadd-xclient.sh
580 cp -p src/VBox/Additions/x11/Installer/vboxclient.desktop \
581 $RPM_BUILD_ROOT/etc/xdg/autostart/vboxclient.desktop
585 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/SUPInstall
586 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/SUPLoggerCtl
587 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/SUPUninstall
588 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/VBox.sh
589 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/vboxshell.py
590 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/xpidl
593 # packaged by kernel part
594 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/mount.vboxsf
598 install -d $RPM_BUILD_ROOT{/etc/{rc.d/init.d,modprobe.d},%{_sbindir}}
599 install -p %{SOURCE3} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxdrv
600 install -p %{SOURCE4} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxguest
601 install -p %{SOURCE5} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxnetflt
602 install -p %{SOURCE6} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxsf
603 install -p %{SOURCE7} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxnetadp
604 install -p %{SOURCE8} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxpci
605 %install_kernel_modules -m PLD-MODULE-BUILD/HostDrivers/vboxdrv/vboxdrv -d misc
606 %install_kernel_modules -m PLD-MODULE-BUILD/HostDrivers/vboxnetadp/vboxnetadp -d misc
607 %install_kernel_modules -m PLD-MODULE-BUILD/HostDrivers/vboxnetflt/vboxnetflt -d misc
608 %install_kernel_modules -m PLD-MODULE-BUILD/HostDrivers/vboxpci/vboxpci -d misc
609 %install_kernel_modules -m PLD-MODULE-BUILD/GuestDrivers/vboxguest/vboxguest -d misc
610 %install_kernel_modules -m PLD-MODULE-BUILD/GuestDrivers/vboxsf/vboxsf -d misc
611 %install_kernel_modules -m PLD-MODULE-BUILD/GuestDrivers/vboxvideo_drm/vboxvideo -d misc
613 install -p mount.vboxsf $RPM_BUILD_ROOT%{_sbindir}/mount.vboxsf
618 rm -rf $RPM_BUILD_ROOT
621 %groupadd -g 221 -r -f vbox
624 %update_desktop_database
627 You must install vboxdrv kernel module for this software to work:
628 kernel-misc-vboxdrv-%{version}-%{rel}@%{_kernel_ver_str}
630 Additionally you might want to install:
631 kernel-misc-vboxnetadp-%{version}-%{rel}@%{_kernel_ver_str}
632 kernel-misc-vboxnetflt-%{version}-%{rel}@%{_kernel_ver_str}
633 kernel-misc-vboxpci-%{version}-%{rel}@%{_kernel_ver_str}
635 On Guest Linux system you might want to install:
636 kernel-misc-vboxguest-%{version}-%{rel}@%{_kernel_ver_str}
637 kernel-misc-vboxsf-%{version}-%{rel}@%{_kernel_ver_str}
638 kernel-misc-vboxvideo-%{version}-%{rel}@%{_kernel_ver_str}
643 if [ "$1" = "0" ]; then
647 %post -n kernel%{_alt_kernel}-misc-vboxguest
648 %depmod %{_kernel_ver}
649 /sbin/chkconfig --add vboxguest
650 %service vboxguest restart "VirtualBox Guest additions driver"
652 %postun -n kernel%{_alt_kernel}-misc-vboxguest
653 %depmod %{_kernel_ver}
655 %preun -n kernel%{_alt_kernel}-misc-vboxguest
656 if [ "$1" = "0" ]; then
657 %service vboxguest stop
658 /sbin/chkconfig --del vboxguest
661 %post -n kernel%{_alt_kernel}-misc-vboxdrv
662 %depmod %{_kernel_ver}
663 /sbin/chkconfig --add vboxdrv
664 %service vboxdrv restart "VirtualBox Support Driver"
666 %postun -n kernel%{_alt_kernel}-misc-vboxdrv
667 %depmod %{_kernel_ver}
669 %preun -n kernel%{_alt_kernel}-misc-vboxdrv
670 if [ "$1" = "0" ]; then
671 %service vboxdrv stop
672 /sbin/chkconfig --del vboxdrv
675 %post -n kernel%{_alt_kernel}-misc-vboxnetadp
676 %depmod %{_kernel_ver}
677 /sbin/chkconfig --add vboxnetadp
678 %service vboxnetadp restart "VirtualBox Network HostOnly driver"
680 %postun -n kernel%{_alt_kernel}-misc-vboxnetadp
681 %depmod %{_kernel_ver}
683 %preun -n kernel%{_alt_kernel}-misc-vboxnetadp
684 if [ "$1" = "0" ]; then
685 %service vboxnetadp stop
686 /sbin/chkconfig --del vboxnetadp
689 %post -n kernel%{_alt_kernel}-misc-vboxnetflt
690 %depmod %{_kernel_ver}
691 /sbin/chkconfig --add vboxnetflt
692 %service vboxnetflt restart "VirtualBox Network Filter driver"
694 %postun -n kernel%{_alt_kernel}-misc-vboxnetflt
695 %depmod %{_kernel_ver}
697 %preun -n kernel%{_alt_kernel}-misc-vboxnetflt
698 if [ "$1" = "0" ]; then
699 %service vboxnetflt stop
700 /sbin/chkconfig --del vboxnetflt
703 %post -n kernel%{_alt_kernel}-misc-vboxpci
704 %depmod %{_kernel_ver}
705 /sbin/chkconfig --add vboxpci
706 %service vboxnetflt restart "VirtualBox PCI passthrough driver"
708 %postun -n kernel%{_alt_kernel}-misc-vboxpci
709 %depmod %{_kernel_ver}
711 %preun -n kernel%{_alt_kernel}-misc-vboxpci
712 if [ "$1" = "0" ]; then
713 %service vboxpci stop
714 /sbin/chkconfig --del vboxpci
717 %post -n kernel%{_alt_kernel}-misc-vboxsf
718 %depmod %{_kernel_ver}
719 /sbin/chkconfig --add vboxsf
720 %service vboxsf restart "VirtualBox Host file system access (Shared Folders)"
722 %postun -n kernel%{_alt_kernel}-misc-vboxsf
723 %depmod %{_kernel_ver}
725 %preun -n kernel%{_alt_kernel}-misc-vboxsf
726 if [ "$1" = "0" ]; then
728 /sbin/chkconfig --del vboxsf
731 %post -n kernel%{_alt_kernel}-misc-vboxvideo
732 %depmod %{_kernel_ver}
734 %postun -n kernel%{_alt_kernel}-misc-vboxvideo
735 %depmod %{_kernel_ver}
737 %if %{with userspace}
739 %defattr(644,root,root,755)
740 %dir %{_libdir}/VirtualBox
741 %dir %{_libdir}/VirtualBox/ExtensionPacks
742 %dir %{_libdir}/VirtualBox/additions
743 %dir %{_libdir}/VirtualBox/components
744 %dir %{_libdir}/VirtualBox/nls
745 %attr(755,root,root) %{_bindir}/VBoxBFE
746 %attr(755,root,root) %{_bindir}/VBoxHeadless
747 %attr(755,root,root) %{_bindir}/VBoxManage
748 %attr(755,root,root) %{_bindir}/VBoxSDL
749 %attr(755,root,root) %{_bindir}/VBoxSVC
750 %attr(755,root,root) %{_bindir}/VBoxTunctl
751 %attr(755,root,root) %{_bindir}/VBoxXPCOMIPCD
752 %attr(755,root,root) %{_bindir}/VirtualBox
753 %attr(755,root,root) %{_sbindir}/mount.vdi
754 %attr(755,root,root) %{_libdir}/VirtualBox/DBGCPlugInDiggers.so
755 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxAuth.so
756 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxAuthSimple.so
757 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxBFE
758 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxBalloonCtrl
759 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxCreateUSBNode.sh
760 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxDbg.so
761 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxDD2.so
762 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxDD.so
763 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxDDU.so
764 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxExtPackHelperApp
765 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxGuestControlSvc.so
766 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxGuestPropSvc.so
767 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxHeadless
768 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxKeyboard.so
769 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxManage
770 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxNetAdpCtl
771 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxNetDHCP
772 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxOGLhostcrutil.so
773 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxOGLhosterrorspu.so
774 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxOGLrenderspu.so
775 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxPython*.so
776 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxREM.so
778 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxREM32.so
779 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxREM64.so
781 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxRT.so
782 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxSDL
783 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxSharedClipboard.so
784 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxSharedCrOpenGL.so
785 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxSharedFolders.so
786 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxSVC
787 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxSysInfo.sh
788 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxTestOGL
789 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxTunctl
790 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxVMM.so
791 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxXPCOMC.so
792 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxXPCOMIPCD
793 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxXPCOM.so
794 %attr(755,root,root) %{_libdir}/VirtualBox/VirtualBox
795 %attr(755,root,root) %{_libdir}/VirtualBox/VirtualBox-wrapper.sh
796 %{_libdir}/VirtualBox/VBoxDD2GC.gc
797 %{_libdir}/VirtualBox/VBoxDDGC.gc
798 %{_libdir}/VirtualBox/VMMGC.gc
799 %{_libdir}/VirtualBox/VBoxDD2R0.r0
800 %{_libdir}/VirtualBox/VBoxDDR0.r0
801 %{_libdir}/VirtualBox/VMMR0.r0
802 %{_libdir}/VirtualBox/EfiThunk
803 %{_libdir}/VirtualBox/VBoxEFI32.fd
804 %{_libdir}/VirtualBox/VBoxEFI64.fd
805 %{_libdir}/VirtualBox/components/VBoxXPCOMBase.xpt
806 %{_libdir}/VirtualBox/components/VirtualBox_XPCOM.xpt
807 %attr(755,root,root) %{_libdir}/VirtualBox/components/VBoxC.so
808 %attr(755,root,root) %{_libdir}/VirtualBox/components/VBoxSVCM.so
809 %attr(755,root,root) %{_libdir}/VirtualBox/components/VBoxXPCOMIPCC.so
810 %lang(ar) %{_libdir}/VirtualBox/nls/*_ar.qm
811 %lang(bg) %{_libdir}/VirtualBox/nls/*_bg.qm
812 %lang(ca) %{_libdir}/VirtualBox/nls/*_ca.qm
813 %lang(ca_VA) %{_libdir}/VirtualBox/nls/*_ca_VA.qm
814 %lang(cs) %{_libdir}/VirtualBox/nls/*_cs.qm
815 %lang(da) %{_libdir}/VirtualBox/nls/*_da.qm
816 %lang(de) %{_libdir}/VirtualBox/nls/*_de.qm
817 %lang(el) %{_libdir}/VirtualBox/nls/*_el.qm
818 %lang(en) %{_libdir}/VirtualBox/nls/*_en.qm
819 %lang(es) %{_libdir}/VirtualBox/nls/*_es.qm
820 %lang(eu) %{_libdir}/VirtualBox/nls/*_eu.qm
821 %lang(fi) %{_libdir}/VirtualBox/nls/*_fi.qm
822 %lang(fr) %{_libdir}/VirtualBox/nls/*_fr.qm
823 %lang(gl_ES) %{_libdir}/VirtualBox/nls/*_gl_ES.qm
824 %lang(hu) %{_libdir}/VirtualBox/nls/*_hu.qm
825 %lang(id) %{_libdir}/VirtualBox/nls/*_id.qm
826 %lang(it) %{_libdir}/VirtualBox/nls/*_it.qm
827 %lang(ja) %{_libdir}/VirtualBox/nls/*_ja.qm
828 %lang(km_KH) %{_libdir}/VirtualBox/nls/*_km_KH.qm
829 %lang(ko) %{_libdir}/VirtualBox/nls/*_ko.qm
830 %lang(lt) %{_libdir}/VirtualBox/nls/*_lt.qm
831 %lang(nl) %{_libdir}/VirtualBox/nls/*_nl.qm
832 %lang(pl) %{_libdir}/VirtualBox/nls/*_pl.qm
833 %lang(pt) %{_libdir}/VirtualBox/nls/*_pt.qm
834 %lang(pt_BR) %{_libdir}/VirtualBox/nls/*_pt_BR.qm
835 %lang(ro) %{_libdir}/VirtualBox/nls/*_ro.qm
836 %lang(ru) %{_libdir}/VirtualBox/nls/*_ru.qm
837 %lang(sk) %{_libdir}/VirtualBox/nls/*_sk.qm
838 %lang(sr) %{_libdir}/VirtualBox/nls/*_sr.qm
839 %lang(sv) %{_libdir}/VirtualBox/nls/*_sv.qm
840 %lang(tr) %{_libdir}/VirtualBox/nls/*_tr.qm
841 %lang(uk) %{_libdir}/VirtualBox/nls/*_uk.qm
842 %lang(zh_CN) %{_libdir}/VirtualBox/nls/*_zh_CN.qm
843 %lang(zh_TW) %{_libdir}/VirtualBox/nls/*_zh_TW.qm
844 %{_pixmapsdir}/virtualbox.png
845 %{_desktopdir}/*.desktop
846 %{_libdir}/VirtualBox/icons
847 %{_libdir}/VirtualBox/virtualbox.xml
850 %defattr(644,root,root,755)
851 %{_libdir}/VirtualBox/additions/VBoxGuestAdditions.iso
854 %defattr(644,root,root,755)
855 # NOTE: unfinished, should contain .desktop files for starting up mouse
856 # integration and other desktop services
857 # NOTE: the filelist is incomplete too
858 %attr(755,root,root) %{_bindir}/VBoxClient
859 %attr(755,root,root) %{_bindir}/VBoxControl
860 %attr(755,root,root) %{_bindir}/VBoxService
861 /etc/X11/xinit/xinitrc.d/98vboxadd-xclient.sh
862 /etc/xdg/autostart/vboxclient.desktop
864 %attr(755,root,root) %{_libdir}/VirtualBox/additions/autorun.sh
865 %attr(755,root,root) %{_libdir}/VirtualBox/additions/vboxadd
866 %attr(755,root,root) %{_libdir}/VirtualBox/additions/vboxadd-service
867 %attr(755,root,root) %{_libdir}/VirtualBox/additions/vboxadd-x11
869 %files -n pam-pam_vbox
870 %defattr(644,root,root,755)
871 %attr(755,root,root) /%{_lib}/security/pam_vbox.so
875 %defattr(644,root,root,755)
876 %doc %{outdir}/UserManual.pdf
880 %defattr(644,root,root,755)
881 %config(noreplace) %verify(not md5 mtime size) /etc/udev/rules.d/virtualbox.rules
883 %files -n xorg-driver-input-vboxmouse
884 %defattr(644,root,root,755)
885 %attr(755,root,root) %{_libdir}/xorg/modules/input/vboxmouse_drv.so
887 %files -n xorg-driver-video-vboxvideo
888 %defattr(644,root,root,755)
889 %attr(755,root,root) %{_libdir}/xorg/modules/drivers/vboxvideo_drv.so
890 %attr(755,root,root) %{_libdir}/xorg/modules/dri/vboxvideo_dri.so
891 # vboxvideo_dri.so deps
892 %attr(755,root,root) %{_libdir}/VBoxOGLarrayspu.so
893 %attr(755,root,root) %{_libdir}/VBoxOGLcrutil.so
894 %attr(755,root,root) %{_libdir}/VBoxOGLerrorspu.so
895 %attr(755,root,root) %{_libdir}/VBoxOGLfeedbackspu.so
896 %attr(755,root,root) %{_libdir}/VBoxOGLpackspu.so
897 %attr(755,root,root) %{_libdir}/VBoxOGLpassthroughspu.so
901 %files -n kernel%{_alt_kernel}-misc-vboxguest
902 %defattr(644,root,root,755)
903 %attr(754,root,root) /etc/rc.d/init.d/vboxguest
904 /lib/modules/%{_kernel_ver}/misc/vboxguest.ko*
906 %files -n kernel%{_alt_kernel}-misc-vboxdrv
907 %defattr(644,root,root,755)
908 %attr(754,root,root) /etc/rc.d/init.d/vboxdrv
909 /lib/modules/%{_kernel_ver}/misc/vboxdrv.ko*
911 %files -n kernel%{_alt_kernel}-misc-vboxnetadp
912 %defattr(644,root,root,755)
913 %attr(754,root,root) /etc/rc.d/init.d/vboxnetadp
914 /lib/modules/%{_kernel_ver}/misc/vboxnetadp.ko*
916 %files -n kernel%{_alt_kernel}-misc-vboxnetflt
917 %defattr(644,root,root,755)
918 %attr(754,root,root) /etc/rc.d/init.d/vboxnetflt
919 /lib/modules/%{_kernel_ver}/misc/vboxnetflt.ko*
921 %files -n kernel%{_alt_kernel}-misc-vboxpci
922 %defattr(644,root,root,755)
923 %attr(754,root,root) /etc/rc.d/init.d/vboxpci
924 /lib/modules/%{_kernel_ver}/misc/vboxpci.ko*
926 %files -n kernel%{_alt_kernel}-misc-vboxsf
927 %defattr(644,root,root,755)
928 %attr(754,root,root) /etc/rc.d/init.d/vboxsf
929 %attr(755,root,root) %{_sbindir}/mount.vboxsf
930 /lib/modules/%{_kernel_ver}/misc/vboxsf.ko*
932 %files -n kernel%{_alt_kernel}-misc-vboxvideo
933 %defattr(644,root,root,755)
934 /lib/modules/%{_kernel_ver}/misc/vboxvideo.ko*