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: dc6e6801b3823332b6ca2e9915221aae
46 Source1: http://download.virtualbox.org/virtualbox/%{version}/VBoxGuestAdditions_%{version}.iso
47 # Source1-md5: 3ea70652459c8590efb8c64f83f4736a
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
64 Patch7: %{pname}-build.patch
66 Patch10: 16-no-update.patch
67 Patch11: 18-system-xorg.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-proto-glproto-devel
85 BuildRequires: xorg-xserver-server-devel
87 BuildRequires: OpenGL-GLU-devel
88 BuildRequires: OpenGL-devel
89 BuildRequires: QtGui-devel
90 BuildRequires: QtNetwork-devel
91 BuildRequires: QtOpenGL-devel
92 BuildRequires: SDL-devel >= 1.2.7
94 BuildRequires: alsa-lib-devel >= 1.0.6
98 BuildRequires: curl-devel
99 %{?with_doc:BuildRequires: docbook-dtd44-xml}
100 BuildRequires: gcc >= 5:3.2.3
101 BuildRequires: libIDL-devel
102 BuildRequires: libcap-static
103 BuildRequires: libdrm-devel
104 BuildRequires: libpng-devel >= 1.2.5
105 BuildRequires: libstdc++-devel >= 5:3.2.3
106 BuildRequires: libstdc++-static >= 5:3.2.3
107 BuildRequires: libuuid-devel
108 BuildRequires: libvncserver-devel >= 0.9.7
109 BuildRequires: libxml2-devel >= 2.6.26
110 BuildRequires: libxslt-devel >= 1.1.17
111 BuildRequires: libxslt-progs >= 1.1.17
112 BuildRequires: makeself
113 BuildRequires: mkisofs
114 BuildRequires: pam-devel
115 BuildRequires: pixman-devel
116 BuildRequires: pkgconfig
117 BuildRequires: pulseaudio-devel >= 0.9.0
118 BuildRequires: python-devel
119 BuildRequires: python-modules
120 BuildRequires: qt4-build >= 4.2.0
121 BuildRequires: qt4-linguist
122 BuildRequires: sed >= 4.0
124 BuildRequires: texlive-fonts-bitstream
125 BuildRequires: texlive-fonts-other
126 BuildRequires: texlive-fonts-type1-bitstream
127 BuildRequires: texlive-format-pdflatex
128 BuildRequires: texlive-latex-ucs
129 BuildRequires: texlive-xetex
132 BuildRequires: xalan-c-devel >= 1.10.0
133 BuildRequires: xerces-c-devel >= 2.6.0
134 BuildRequires: zlib-devel >= 1.2.1
136 %if %{with dist_kernel}
137 BuildRequires: kernel%{_alt_kernel}-module-build >= 3:2.6.20
139 Requires(post,preun): /sbin/chkconfig
140 Requires(postun): /usr/sbin/groupdel
141 Requires(pre): /usr/bin/getgid
142 Requires(pre): /usr/sbin/groupadd
143 Requires: QtCore >= 4.7.0
145 Provides: group(vbox)
146 ExclusiveArch: %{ix86} %{x8664}
147 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
150 %define vbox_platform linux.amd64
152 %define vbox_platform linux.x86
154 %define outdir out/%{vbox_platform}/release/bin
155 %define _sbindir /sbin
158 Oracle VirtualBox is a general-purpose full virtualizer for x86
159 hardware. Targeted at server, desktop and embedded use, it is now the
160 only professional-quality virtualization solution that is also Open
163 Some of the features of VirtualBox are:
165 Modularity: VirtualBox has an extremely modular design with
166 well-defined internal programming interfaces and a client/server
167 design. This makes it easy to control it from several interfaces at
168 once: for example, you can start a virtual machine in a typical
169 virtual machine GUI and then control that machine from the command
170 line. VirtualBox also comes with a full Software Development Kit: even
171 though it is Open Source Software, you don't have to hack the source
172 to write a new interface for VirtualBox.
174 Virtual machine descriptions in XML: the configuration settings of
175 virtual machines are stored entirely in XML and are independent of the
176 local machines. Virtual machine definitions can therefore easily be
177 ported to other computers.
179 You should install this package in your Host OS.
181 %description -l pl.UTF-8
182 Oracle VirtualBox jest emulatorem sprzętu x86. Kierowany do zastosowań
183 serwerowych, desktopowych oraz wbudowanych jest obecnie jedynym
184 wysokiej jakości rozwiązaniem wirtualizacyjnym dostępnym również jako
185 Otwarte Oprogramowanie.
187 Przykładowe cechy VirtualBoksa:
189 Modularność: VirtualBox jest wysoce zmodularyzowanym produktem z
190 dobrze zaprojektowanym wewnętrznym interfejsem programowym typu
191 klient/serwer. Dzięki temu można łatwo kontrolować go za pomocą
192 różnych interfejsów. Można na przykład uruchomić maszynę wirtualną z
193 poziomu interfejsu graficznego, a później kontrolować ją z linii
194 poleceń. VirtualBox dostarcza również pełny pakiet deweloperski, co
195 pozwala stworzyć dowolny inny interfejs zarządzania maszyną wirtualną.
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 kernel modules
211 Summary(pl.UTF-8): Reguły udev dla modułów jądra Linuksa dla VirtualBoksa
216 udev rules for VirtualBox 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 guest OS
260 Summary(pl.UTF-8): Sterownik myszy dla systemu gościa w VirtualBoksie
261 Group: X11/Applications
262 Requires: xorg-xserver-server >= 1.0.99.901
263 Requires: xorg-xserver-server(xinput-abi) <= 13.0
264 Requires: xorg-xserver-server(xinput-abi) >= 4.0
266 %description -n xorg-driver-input-vboxmouse
267 X.org mouse driver for VirtualBox 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 guest OS
274 Summary(pl.UTF-8): Sterownik grafiki dla systemu gościa w VirtualBoksie
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) <= 11.0
280 Requires: xorg-xserver-server(videodrv-abi) >= 2.0
282 %description -n xorg-driver-video-vboxvideo
283 X.org video driver for VirtualBox guest OS.
285 %description -n xorg-driver-video-vboxvideo -l pl.UTF-8
286 Sterownik grafiki dla systemu gościa w VirtualBoksie.
289 # KEEP ALL REGULAR SUBPACKAGES BEFORE KERNEL PACKAGES.
290 %package -n kernel%{_alt_kernel}-misc-vboxguest
291 Summary: VirtualBox Guest Additions for Linux Module
292 Summary(pl.UTF-8): Moduł jądra Linuksa dla VirtualBoksa
293 Release: %{rel}@%{_kernel_ver_str}
295 Requires(post,postun): /sbin/depmod
296 Requires: dev >= 2.9.0-7
297 %if %{with dist_kernel}
298 %requires_releq_kernel
299 Requires(postun): %releq_kernel
301 Provides: kernel(vboxguest) = %{version}-%{rel}
302 Obsoletes: kernel%{_alt_kernel}-misc-vboxadd
303 Conflicts: kernel%{_alt_kernel}-misc-vboxdrv
305 %description -n kernel%{_alt_kernel}-misc-vboxguest
306 VirtualBox Guest Additions for Linux Module.
308 You should install this package in your Guest OS.
310 %description -n kernel%{_alt_kernel}-misc-vboxguest -l pl.UTF-8
311 Moduł jądra Linuksa vboxguest dla VirtualBoksa - dodatki dla systemu
314 %package -n kernel%{_alt_kernel}-misc-vboxdrv
315 Summary: VirtualBox Support Driver
316 Summary(pl.UTF-8): Moduł jądra Linuksa dla VirtualBoksa
317 Release: %{rel}@%{_kernel_ver_str}
319 Requires(post,postun): /sbin/depmod
320 Requires: dev >= 2.9.0-7
321 %if %{with dist_kernel}
322 %requires_releq_kernel
323 Requires(postun): %releq_kernel
325 Provides: kernel(vboxdrv) = %{version}-%{rel}
327 %description -n kernel%{_alt_kernel}-misc-vboxdrv
328 VirtualBox Support Driver.
330 You should install this package in your Host OS.
332 %description -n kernel%{_alt_kernel}-misc-vboxdrv -l pl.UTF-8
333 Moduł jądra Linuksa dla VirtualBoksa - sterownik wsparcia dla systemu
336 %package -n kernel%{_alt_kernel}-misc-vboxnetadp
337 Summary: VirtualBox Network Adapter Driver
338 Summary(pl.UTF-8): Moduł jądra Linuksa dla VirtualBoksa
339 Release: %{rel}@%{_kernel_ver_str}
341 Requires(post,postun): /sbin/depmod
342 Requires: dev >= 2.9.0-7
343 Requires: kernel%{_alt_kernel}-misc-vboxdrv
344 %if %{with dist_kernel}
345 %requires_releq_kernel
346 Requires(postun): %releq_kernel
348 Provides: kernel(vboxnetflt) = %{version}-%{rel}
350 %description -n kernel%{_alt_kernel}-misc-vboxnetadp
351 VirtualBox Network Adapter Driver.
353 You should install this package in your Host OS.
355 %description -n kernel%{_alt_kernel}-misc-vboxnetadp -l pl.UTF-8
356 Moduł jądra Linuksa dla VirtualBoksa - sterownik witrualnej karty
359 %package -n kernel%{_alt_kernel}-misc-vboxnetflt
360 Summary: VirtualBox Network Filter Driver
361 Summary(pl.UTF-8): Moduł jądra Linuksa dla VirtualBoksa
362 Release: %{rel}@%{_kernel_ver_str}
364 Requires(post,postun): /sbin/depmod
365 Requires: dev >= 2.9.0-7
366 Requires: kernel%{_alt_kernel}-misc-vboxdrv
367 %if %{with dist_kernel}
368 %requires_releq_kernel
369 Requires(postun): %releq_kernel
371 Provides: kernel(vboxnetflt) = %{version}-%{rel}
373 %description -n kernel%{_alt_kernel}-misc-vboxnetflt
374 VirtualBox Network Filter Driver.
376 You should install this package in your Host OS.
378 %description -n kernel%{_alt_kernel}-misc-vboxnetflt -l pl.UTF-8
379 Moduł jądra Linuksa dla VirtualBoksa - sterownik filtrowania sieci dla
382 %package -n kernel%{_alt_kernel}-misc-vboxpci
383 Summary: VirtualBox PCI card passthrough Driver
384 Summary(pl.UTF-8): Moduł jądra Linuksa dla VirtualBoksa
385 Release: %{rel}@%{_kernel_ver_str}
387 Requires(post,postun): /sbin/depmod
388 Requires: dev >= 2.9.0-7
389 Requires: kernel%{_alt_kernel}-misc-vboxdrv
390 %if %{with dist_kernel}
391 %requires_releq_kernel
392 Requires(postun): %releq_kernel
394 Provides: kernel(vboxpci) = %{version}-%{rel}
396 %description -n kernel%{_alt_kernel}-misc-vboxpci
397 VirtualBox PCI card passthrough driver that works as host proxy
398 between guest and PCI hardware.
400 You should install this package in your Host OS.
402 %description -n kernel%{_alt_kernel}-misc-vboxnetflt -l pl.UTF-8
403 Moduł jądra Linuksa dla VirtualBoksa - sterownik, ktory działa jako
404 proxy między gościem i gospodarzem sprzętu PCI.
406 %package -n kernel%{_alt_kernel}-misc-vboxsf
407 Summary: Host file system access (Shared Folders) for VirtualBox
408 Summary(pl.UTF-8): Moduł jądra Linuksa dla VirtualBoksa
409 Release: %{rel}@%{_kernel_ver_str}
411 Requires(post,postun): /sbin/depmod
412 Requires: dev >= 2.9.0-7
413 Requires: kernel%{_alt_kernel}-misc-vboxguest
414 %if %{with dist_kernel}
415 %requires_releq_kernel
416 Requires(postun): %releq_kernel
418 Provides: kernel(vboxsf) = %{version}-%{rel}
419 Obsoletes: kernel%{_alt_kernel}-misc-vboxvfs
421 %description -n kernel%{_alt_kernel}-misc-vboxsf
422 Host file system access (Shared Folders) for VirtualBox.
424 You should install this package in your Guest OS.
426 %description -n kernel%{_alt_kernel}-misc-vboxsf -l pl.UTF-8
427 Moduł jądra Linuksa dla VirtualBoksa - dostęp do plików systemu
428 głównego z poziomu systemu gościa.
430 %package -n kernel%{_alt_kernel}-misc-vboxvideo
431 Summary: DRM support for VirtualBox
432 Summary(pl.UTF-8): Moduł jądra Linuksa dla VirtualBoksa
433 Release: %{rel}@%{_kernel_ver_str}
435 Requires(post,postun): /sbin/depmod
436 Requires: dev >= 2.9.0-7
437 %if %{with dist_kernel}
438 %requires_releq_kernel
439 %if "%{rpm_build_macros}" >= "1.531"
440 %requires_releq_kernel -n drm
442 Requires(postun): %releq_kernel
444 Provides: kernel(vboxvideo) = %{version}-%{rel}
446 %description -n kernel%{_alt_kernel}-misc-vboxvideo
447 DRM support for VirtualBox.
449 You should install this package in your Guest OS.
451 %description -n kernel%{_alt_kernel}-misc-vboxvideo -l pl.UTF-8
452 Moduł jądra Linuksa dla VirtualBoksa - sterownik obsługi DRM.
455 %setup -q -n %{pname}-%{version}_OSE
465 %{__sed} -i -e 's,@VBOX_DOC_PATH@,%{_docdir}/%{name}-%{version},' \
466 -e 's/Categories=.*/Categories=Utility;Emulator;/' src/VBox/Installer/common/virtualbox.desktop.in
468 sed 's#@LIBDIR@#%{_libdir}#' < %{SOURCE9} > VirtualBox-wrapper.sh
470 install -d PLD-MODULE-BUILD/{GuestDrivers,HostDrivers}
472 ../src/VBox/Additions/linux/export_modules guest-modules.tar.gz
473 tar -zxf guest-modules.tar.gz -C GuestDrivers
475 ../src/VBox/HostDrivers/linux/export_modules host-modules.tar.gz --without-hardening
476 tar -zxf host-modules.tar.gz -C HostDrivers
483 %if %{with userspace}
484 echo "VBOX_WITH_TESTCASES := " > LocalConfig.kmk
486 --with-gcc="%{__cc}" \
487 --with-g++="%{__cxx}" \
488 %{!?with_doc:--disable-docs} \
490 --disable-hardening \
494 XSERVER_VERSION=$(rpm -q --queryformat '%{VERSION}\n' xorg-xserver-server-devel | awk -F. ' { print $1 $2 } ' 2> /dev/null || echo ERROR)
497 %{?with_verbose:KBUILD_VERBOSE=3} \
499 VBOX_VERSION_STRING='$(VBOX_VERSION_MAJOR).$(VBOX_VERSION_MINOR).$(VBOX_VERSION_BUILD)'_PLD \
500 XSERVER_VERSION="$XSERVER_VERSION"
504 cd PLD-MODULE-BUILD/HostDrivers
505 %build_kernel_modules -m vboxdrv -C vboxdrv
506 %build_kernel_modules -m vboxnetadp -C vboxnetadp
507 %build_kernel_modules -m vboxnetflt -C vboxnetflt
508 %build_kernel_modules -m vboxpci -C vboxpci
511 %build_kernel_modules -m vboxguest -C vboxguest
512 cp -a vboxguest/Module.symvers vboxsf
513 %build_kernel_modules -m vboxsf -C vboxsf -c
514 %build_kernel_modules -m vboxvideo -C vboxvideo_drm
516 %{__cc} %{rpmcflags} %{rpmldflags} -Wall -Werror src/VBox/Additions/linux/sharedfolders/{mount.vboxsf.c,vbsfmount.c} -o mount.vboxsf
520 rm -rf $RPM_BUILD_ROOT
522 %if %{with userspace}
523 install -d $RPM_BUILD_ROOT{%{_bindir},%{_sbindir},%{_libdir}/%{pname}/ExtensionPacks} \
524 $RPM_BUILD_ROOT{%{_pixmapsdir},%{_desktopdir}} \
525 $RPM_BUILD_ROOT%{_libdir}/xorg/modules/{drivers,dri,input}
527 # test if we can hardlink -- %{_builddir} and $RPM_BUILD_ROOT on same partition
528 if cp -al VBox.png $RPM_BUILD_ROOT/Vbox.png 2>/dev/null; then
530 rm -f $RPM_BUILD_ROOT/VBox.png
533 cp -a$l %{outdir}/* $RPM_BUILD_ROOT%{_libdir}/%{pname}
535 cp -a %{SOURCE1} $RPM_BUILD_ROOT%{_libdir}/VirtualBox/additions/VBoxGuestAdditions.iso
536 install -p %{SOURCE10} $RPM_BUILD_ROOT%{_sbindir}/mount.vdi
537 install -p VirtualBox-wrapper.sh $RPM_BUILD_ROOT%{_libdir}/%{pname}
538 for f in {VBox{BFE,Headless,Manage,SDL,SVC,Tunctl,XPCOMIPCD},VirtualBox}; do
539 ln -s %{_libdir}/%{pname}/VirtualBox-wrapper.sh $RPM_BUILD_ROOT%{_bindir}/$f
542 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/VBox.png,%{_pixmapsdir}/virtualbox.png}
543 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname},%{_desktopdir}}/virtualbox.desktop
545 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/vboxmouse_drv.so,%{_libdir}/xorg/modules/input/vboxmouse_drv.so}
546 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions/vboxvideo_drv.so,%{_libdir}/xorg/modules/drivers/vboxvideo_drv.so}
547 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions/VBoxOGL.so,%{_libdir}/xorg/modules/dri/vboxvideo_dri.so}
548 # xorg other driver versions
549 rm -vf $RPM_BUILD_ROOT%{_libdir}/%{pname}/vboxmouse_drv*.{o,so}
550 rm -vf $RPM_BUILD_ROOT%{_libdir}/%{pname}/vboxvideo_drv*.{o,so}
552 # XXX: where else to install them that vboxvideo_dri.so finds them? patch with rpath?
553 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLarrayspu.so
554 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLcrutil.so
555 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLerrorspu.so
556 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLfeedbackspu.so
557 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLpackspu.so
558 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLpassthroughspu.so
560 install -d $RPM_BUILD_ROOT/etc/udev/rules.d
561 cp -a %{SOURCE11} $RPM_BUILD_ROOT/etc/udev/rules.d/virtualbox.rules
563 install -d $RPM_BUILD_ROOT/%{_lib}/security
564 mv $RPM_BUILD_ROOT{%{_libdir}/VirtualBox/additions,/%{_lib}/security}/pam_vbox.so
567 rm -r $RPM_BUILD_ROOT%{_libdir}/%{pname}/{src,sdk,testcase}
568 rm -r $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/src
569 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/vboxkeyboard.tar.bz2
570 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/tst*
572 # IPRT Testcase / Tool - Source Code Massager.
573 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/scm
576 install -d $RPM_BUILD_ROOT/etc/{X11/xinit/xinitrc.d,xdg/autostart}
577 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_bindir}}/VBoxService
578 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_bindir}}/VBoxClient
579 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_bindir}}/VBoxControl
580 install -p -D src/VBox/Additions/x11/Installer/98vboxadd-xclient \
581 $RPM_BUILD_ROOT/etc/X11/xinit/xinitrc.d/98vboxadd-xclient.sh
582 cp -p src/VBox/Additions/x11/Installer/vboxclient.desktop \
583 $RPM_BUILD_ROOT/etc/xdg/autostart/vboxclient.desktop
587 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/SUPInstall
588 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/SUPLoggerCtl
589 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/SUPUninstall
590 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/VBox.sh
591 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/vboxshell.py
592 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/xpidl
595 # packaged by kernel part
596 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/mount.vboxsf
600 install -d $RPM_BUILD_ROOT{/etc/{rc.d/init.d,modprobe.d},%{_sbindir}}
601 install -p %{SOURCE3} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxdrv
602 install -p %{SOURCE4} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxguest
603 install -p %{SOURCE5} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxnetflt
604 install -p %{SOURCE6} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxsf
605 install -p %{SOURCE7} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxnetadp
606 install -p %{SOURCE8} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxpci
607 %install_kernel_modules -m PLD-MODULE-BUILD/HostDrivers/vboxdrv/vboxdrv -d misc
608 %install_kernel_modules -m PLD-MODULE-BUILD/HostDrivers/vboxnetadp/vboxnetadp -d misc
609 %install_kernel_modules -m PLD-MODULE-BUILD/HostDrivers/vboxnetflt/vboxnetflt -d misc
610 %install_kernel_modules -m PLD-MODULE-BUILD/HostDrivers/vboxpci/vboxpci -d misc
611 %install_kernel_modules -m PLD-MODULE-BUILD/GuestDrivers/vboxguest/vboxguest -d misc
612 %install_kernel_modules -m PLD-MODULE-BUILD/GuestDrivers/vboxsf/vboxsf -d misc
613 %install_kernel_modules -m PLD-MODULE-BUILD/GuestDrivers/vboxvideo_drm/vboxvideo -d misc
615 install -p mount.vboxsf $RPM_BUILD_ROOT%{_sbindir}/mount.vboxsf
620 rm -rf $RPM_BUILD_ROOT
623 %groupadd -g 221 -r -f vbox
626 %update_desktop_database
629 You must install vboxdrv kernel module for this software to work:
630 kernel-misc-vboxdrv-%{version}-%{rel}@%{_kernel_ver_str}
632 Additionally you might want to install:
633 kernel-misc-vboxnetadp-%{version}-%{rel}@%{_kernel_ver_str}
634 kernel-misc-vboxnetflt-%{version}-%{rel}@%{_kernel_ver_str}
635 kernel-misc-vboxpci-%{version}-%{rel}@%{_kernel_ver_str}
637 On Guest Linux system you might want to install:
638 kernel-misc-vboxguest-%{version}-%{rel}@%{_kernel_ver_str}
639 kernel-misc-vboxsf-%{version}-%{rel}@%{_kernel_ver_str}
640 kernel-misc-vboxvideo-%{version}-%{rel}@%{_kernel_ver_str}
645 if [ "$1" = "0" ]; then
649 %post -n kernel%{_alt_kernel}-misc-vboxguest
650 %depmod %{_kernel_ver}
651 /sbin/chkconfig --add vboxguest
652 %service vboxguest restart "VirtualBox Guest additions driver"
654 %postun -n kernel%{_alt_kernel}-misc-vboxguest
655 %depmod %{_kernel_ver}
657 %preun -n kernel%{_alt_kernel}-misc-vboxguest
658 if [ "$1" = "0" ]; then
659 %service vboxguest stop
660 /sbin/chkconfig --del vboxguest
663 %post -n kernel%{_alt_kernel}-misc-vboxdrv
664 %depmod %{_kernel_ver}
665 /sbin/chkconfig --add vboxdrv
666 %service vboxdrv restart "VirtualBox Support Driver"
668 %postun -n kernel%{_alt_kernel}-misc-vboxdrv
669 %depmod %{_kernel_ver}
671 %preun -n kernel%{_alt_kernel}-misc-vboxdrv
672 if [ "$1" = "0" ]; then
673 %service vboxdrv stop
674 /sbin/chkconfig --del vboxdrv
677 %post -n kernel%{_alt_kernel}-misc-vboxnetadp
678 %depmod %{_kernel_ver}
679 /sbin/chkconfig --add vboxnetadp
680 %service vboxnetadp restart "VirtualBox Network HostOnly driver"
682 %postun -n kernel%{_alt_kernel}-misc-vboxnetadp
683 %depmod %{_kernel_ver}
685 %preun -n kernel%{_alt_kernel}-misc-vboxnetadp
686 if [ "$1" = "0" ]; then
687 %service vboxnetadp stop
688 /sbin/chkconfig --del vboxnetadp
691 %post -n kernel%{_alt_kernel}-misc-vboxnetflt
692 %depmod %{_kernel_ver}
693 /sbin/chkconfig --add vboxnetflt
694 %service vboxnetflt restart "VirtualBox Network Filter driver"
696 %postun -n kernel%{_alt_kernel}-misc-vboxnetflt
697 %depmod %{_kernel_ver}
699 %preun -n kernel%{_alt_kernel}-misc-vboxnetflt
700 if [ "$1" = "0" ]; then
701 %service vboxnetflt stop
702 /sbin/chkconfig --del vboxnetflt
705 %post -n kernel%{_alt_kernel}-misc-vboxpci
706 %depmod %{_kernel_ver}
707 /sbin/chkconfig --add vboxpci
708 %service vboxnetflt restart "VirtualBox PCI passthrough driver"
710 %postun -n kernel%{_alt_kernel}-misc-vboxpci
711 %depmod %{_kernel_ver}
713 %preun -n kernel%{_alt_kernel}-misc-vboxpci
714 if [ "$1" = "0" ]; then
715 %service vboxpci stop
716 /sbin/chkconfig --del vboxpci
719 %post -n kernel%{_alt_kernel}-misc-vboxsf
720 %depmod %{_kernel_ver}
721 /sbin/chkconfig --add vboxsf
722 %service vboxsf restart "VirtualBox Host file system access (Shared Folders)"
724 %postun -n kernel%{_alt_kernel}-misc-vboxsf
725 %depmod %{_kernel_ver}
727 %preun -n kernel%{_alt_kernel}-misc-vboxsf
728 if [ "$1" = "0" ]; then
730 /sbin/chkconfig --del vboxsf
733 %post -n kernel%{_alt_kernel}-misc-vboxvideo
734 %depmod %{_kernel_ver}
736 %postun -n kernel%{_alt_kernel}-misc-vboxvideo
737 %depmod %{_kernel_ver}
739 %if %{with userspace}
741 %defattr(644,root,root,755)
742 %dir %{_libdir}/VirtualBox
743 %dir %{_libdir}/VirtualBox/ExtensionPacks
744 %dir %{_libdir}/VirtualBox/additions
745 %dir %{_libdir}/VirtualBox/components
746 %dir %{_libdir}/VirtualBox/nls
747 %attr(755,root,root) %{_bindir}/VBoxBFE
748 %attr(755,root,root) %{_bindir}/VBoxHeadless
749 %attr(755,root,root) %{_bindir}/VBoxManage
750 %attr(755,root,root) %{_bindir}/VBoxSDL
751 %attr(755,root,root) %{_bindir}/VBoxSVC
752 %attr(755,root,root) %{_bindir}/VBoxTunctl
753 %attr(755,root,root) %{_bindir}/VBoxXPCOMIPCD
754 %attr(755,root,root) %{_bindir}/VirtualBox
755 %attr(755,root,root) %{_sbindir}/mount.vdi
756 %attr(755,root,root) %{_libdir}/VirtualBox/DBGCPlugInDiggers.so
757 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxAuth.so
758 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxAuthSimple.so
759 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxBFE
760 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxBalloonCtrl
761 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxCreateUSBNode.sh
762 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxDbg.so
763 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxDD2.so
764 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxDD.so
765 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxDDU.so
766 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxExtPackHelperApp
767 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxGuestControlSvc.so
768 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxGuestPropSvc.so
769 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxHeadless
770 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxKeyboard.so
771 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxManage
772 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxNetAdpCtl
773 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxNetDHCP
774 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxOGLhostcrutil.so
775 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxOGLhosterrorspu.so
776 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxOGLrenderspu.so
777 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxPython*.so
778 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxREM.so
780 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxREM32.so
781 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxREM64.so
783 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxRT.so
784 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxSDL
785 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxSharedClipboard.so
786 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxSharedCrOpenGL.so
787 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxSharedFolders.so
788 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxSVC
789 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxSysInfo.sh
790 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxTestOGL
791 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxTunctl
792 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxVMM.so
793 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxXPCOMC.so
794 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxXPCOMIPCD
795 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxXPCOM.so
796 %attr(755,root,root) %{_libdir}/VirtualBox/VirtualBox
797 %attr(755,root,root) %{_libdir}/VirtualBox/VirtualBox-wrapper.sh
798 %{_libdir}/VirtualBox/VBoxDD2GC.gc
799 %{_libdir}/VirtualBox/VBoxDDGC.gc
800 %{_libdir}/VirtualBox/VMMGC.gc
801 %{_libdir}/VirtualBox/VBoxDD2R0.r0
802 %{_libdir}/VirtualBox/VBoxDDR0.r0
803 %{_libdir}/VirtualBox/VMMR0.r0
804 %{_libdir}/VirtualBox/EfiThunk
805 %{_libdir}/VirtualBox/VBoxEFI32.fd
806 %{_libdir}/VirtualBox/VBoxEFI64.fd
807 %{_libdir}/VirtualBox/components/VBoxXPCOMBase.xpt
808 %{_libdir}/VirtualBox/components/VirtualBox_XPCOM.xpt
809 %attr(755,root,root) %{_libdir}/VirtualBox/components/VBoxC.so
810 %attr(755,root,root) %{_libdir}/VirtualBox/components/VBoxSVCM.so
811 %attr(755,root,root) %{_libdir}/VirtualBox/components/VBoxXPCOMIPCC.so
812 %lang(ar) %{_libdir}/VirtualBox/nls/*_ar.qm
813 %lang(bg) %{_libdir}/VirtualBox/nls/*_bg.qm
814 %lang(ca) %{_libdir}/VirtualBox/nls/*_ca.qm
815 %lang(ca_VA) %{_libdir}/VirtualBox/nls/*_ca_VA.qm
816 %lang(cs) %{_libdir}/VirtualBox/nls/*_cs.qm
817 %lang(da) %{_libdir}/VirtualBox/nls/*_da.qm
818 %lang(de) %{_libdir}/VirtualBox/nls/*_de.qm
819 %lang(el) %{_libdir}/VirtualBox/nls/*_el.qm
820 %lang(en) %{_libdir}/VirtualBox/nls/*_en.qm
821 %lang(es) %{_libdir}/VirtualBox/nls/*_es.qm
822 %lang(eu) %{_libdir}/VirtualBox/nls/*_eu.qm
823 %lang(fi) %{_libdir}/VirtualBox/nls/*_fi.qm
824 %lang(fr) %{_libdir}/VirtualBox/nls/*_fr.qm
825 %lang(gl_ES) %{_libdir}/VirtualBox/nls/*_gl_ES.qm
826 %lang(hu) %{_libdir}/VirtualBox/nls/*_hu.qm
827 %lang(id) %{_libdir}/VirtualBox/nls/*_id.qm
828 %lang(it) %{_libdir}/VirtualBox/nls/*_it.qm
829 %lang(ja) %{_libdir}/VirtualBox/nls/*_ja.qm
830 %lang(km_KH) %{_libdir}/VirtualBox/nls/*_km_KH.qm
831 %lang(ko) %{_libdir}/VirtualBox/nls/*_ko.qm
832 %lang(lt) %{_libdir}/VirtualBox/nls/*_lt.qm
833 %lang(nl) %{_libdir}/VirtualBox/nls/*_nl.qm
834 %lang(pl) %{_libdir}/VirtualBox/nls/*_pl.qm
835 %lang(pt) %{_libdir}/VirtualBox/nls/*_pt.qm
836 %lang(pt_BR) %{_libdir}/VirtualBox/nls/*_pt_BR.qm
837 %lang(ro) %{_libdir}/VirtualBox/nls/*_ro.qm
838 %lang(ru) %{_libdir}/VirtualBox/nls/*_ru.qm
839 %lang(sk) %{_libdir}/VirtualBox/nls/*_sk.qm
840 %lang(sr) %{_libdir}/VirtualBox/nls/*_sr.qm
841 %lang(sv) %{_libdir}/VirtualBox/nls/*_sv.qm
842 %lang(tr) %{_libdir}/VirtualBox/nls/*_tr.qm
843 %lang(uk) %{_libdir}/VirtualBox/nls/*_uk.qm
844 %lang(zh_CN) %{_libdir}/VirtualBox/nls/*_zh_CN.qm
845 %lang(zh_TW) %{_libdir}/VirtualBox/nls/*_zh_TW.qm
846 %{_pixmapsdir}/virtualbox.png
847 %{_desktopdir}/*.desktop
848 %{_libdir}/VirtualBox/icons
849 %{_libdir}/VirtualBox/virtualbox.xml
852 %defattr(644,root,root,755)
853 %{_libdir}/VirtualBox/additions/VBoxGuestAdditions.iso
856 %defattr(644,root,root,755)
857 # NOTE: unfinished, should contain .desktop files for starting up mouse
858 # integration and other desktop services
859 # NOTE: the filelist is incomplete too
860 %attr(755,root,root) %{_bindir}/VBoxClient
861 %attr(755,root,root) %{_bindir}/VBoxControl
862 %attr(755,root,root) %{_bindir}/VBoxService
863 /etc/X11/xinit/xinitrc.d/98vboxadd-xclient.sh
864 /etc/xdg/autostart/vboxclient.desktop
866 %attr(755,root,root) %{_libdir}/VirtualBox/additions/autorun.sh
867 %attr(755,root,root) %{_libdir}/VirtualBox/additions/vboxadd
868 %attr(755,root,root) %{_libdir}/VirtualBox/additions/vboxadd-service
869 %attr(755,root,root) %{_libdir}/VirtualBox/additions/vboxadd-x11
871 %files -n pam-pam_vbox
872 %defattr(644,root,root,755)
873 %attr(755,root,root) /%{_lib}/security/pam_vbox.so
877 %defattr(644,root,root,755)
878 %doc %{outdir}/UserManual.pdf
882 %defattr(644,root,root,755)
883 %config(noreplace) %verify(not md5 mtime size) /etc/udev/rules.d/virtualbox.rules
885 %files -n xorg-driver-input-vboxmouse
886 %defattr(644,root,root,755)
887 %attr(755,root,root) %{_libdir}/xorg/modules/input/vboxmouse_drv.so
889 %files -n xorg-driver-video-vboxvideo
890 %defattr(644,root,root,755)
891 %attr(755,root,root) %{_libdir}/xorg/modules/drivers/vboxvideo_drv.so
892 %attr(755,root,root) %{_libdir}/xorg/modules/dri/vboxvideo_dri.so
893 # vboxvideo_dri.so deps
894 %attr(755,root,root) %{_libdir}/VBoxOGLarrayspu.so
895 %attr(755,root,root) %{_libdir}/VBoxOGLcrutil.so
896 %attr(755,root,root) %{_libdir}/VBoxOGLerrorspu.so
897 %attr(755,root,root) %{_libdir}/VBoxOGLfeedbackspu.so
898 %attr(755,root,root) %{_libdir}/VBoxOGLpackspu.so
899 %attr(755,root,root) %{_libdir}/VBoxOGLpassthroughspu.so
903 %files -n kernel%{_alt_kernel}-misc-vboxguest
904 %defattr(644,root,root,755)
905 %attr(754,root,root) /etc/rc.d/init.d/vboxguest
906 /lib/modules/%{_kernel_ver}/misc/vboxguest.ko*
908 %files -n kernel%{_alt_kernel}-misc-vboxdrv
909 %defattr(644,root,root,755)
910 %attr(754,root,root) /etc/rc.d/init.d/vboxdrv
911 /lib/modules/%{_kernel_ver}/misc/vboxdrv.ko*
913 %files -n kernel%{_alt_kernel}-misc-vboxnetadp
914 %defattr(644,root,root,755)
915 %attr(754,root,root) /etc/rc.d/init.d/vboxnetadp
916 /lib/modules/%{_kernel_ver}/misc/vboxnetadp.ko*
918 %files -n kernel%{_alt_kernel}-misc-vboxnetflt
919 %defattr(644,root,root,755)
920 %attr(754,root,root) /etc/rc.d/init.d/vboxnetflt
921 /lib/modules/%{_kernel_ver}/misc/vboxnetflt.ko*
923 %files -n kernel%{_alt_kernel}-misc-vboxpci
924 %defattr(644,root,root,755)
925 %attr(754,root,root) /etc/rc.d/init.d/vboxpci
926 /lib/modules/%{_kernel_ver}/misc/vboxpci.ko*
928 %files -n kernel%{_alt_kernel}-misc-vboxsf
929 %defattr(644,root,root,755)
930 %attr(754,root,root) /etc/rc.d/init.d/vboxsf
931 %attr(755,root,root) %{_sbindir}/mount.vboxsf
932 /lib/modules/%{_kernel_ver}/misc/vboxsf.ko*
934 %files -n kernel%{_alt_kernel}-misc-vboxvideo
935 %defattr(644,root,root,755)
936 /lib/modules/%{_kernel_ver}/misc/vboxvideo.ko*