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: 2092bba46baa62fab5520d67dee2ece8
46 Source1: http://download.virtualbox.org/virtualbox/%{version}/VBoxGuestAdditions_%{version}.iso
47 # Source1-md5: 2eb3daf08b717c76ecf1aa56b82eab03
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
156 # workaround buggy 'file' results:
159 # qt_ro.qm: \0 "<\270d\030\312\357\234\225\315!\034\277`\241\275\335B"
163 # which lead to 'Stripping ... ELF shared libraries... (...)/nls/qt_ro.qm: File format not recognized'
164 %define _noautostrip .*%{_libdir}/%{name}/.*
167 Oracle VirtualBox is a general-purpose full virtualizer for x86
168 hardware. Targeted at server, desktop and embedded use, it is now the
169 only professional-quality virtualization solution that is also Open
172 Some of the features of VirtualBox are:
174 Modularity: VirtualBox has an extremely modular design with
175 well-defined internal programming interfaces and a client/server
176 design. This makes it easy to control it from several interfaces at
177 once: for example, you can start a virtual machine in a typical
178 virtual machine GUI and then control that machine from the command
179 line. VirtualBox also comes with a full Software Development Kit: even
180 though it is Open Source Software, you don't have to hack the source
181 to write a new interface for VirtualBox.
183 Virtual machine descriptions in XML: the configuration settings of
184 virtual machines are stored entirely in XML and are independent of the
185 local machines. Virtual machine definitions can therefore easily be
186 ported to other computers.
188 You should install this package in your Host OS.
190 %description -l pl.UTF-8
191 Oracle VirtualBox jest emulatorem sprzętu x86. Kierowany do zastosowań
192 serwerowych, desktopowych oraz wbudowanych jest obecnie jedynym
193 wysokiej jakości rozwiązaniem wirtualizacyjnym dostępnym również jako
194 Otwarte Oprogramowanie.
196 Przykładowe cechy VirtualBoksa:
198 Modularność: VirtualBox jest wysoce zmodularyzowanym produktem z
199 dobrze zaprojektowanym wewnętrznym interfejsem programowym typu
200 klient/serwer. Dzięki temu można łatwo kontrolować go za pomocą
201 różnych interfejsów. Można na przykład uruchomić maszynę wirtualną z
202 poziomu interfejsu graficznego, a później kontrolować ją z linii
203 poleceń. VirtualBox dostarcza również pełny pakiet deweloperski, co
204 pozwala stworzyć dowolny inny interfejs zarządzania maszyną wirtualną.
206 Opisy maszyn wirtualnych w XML-u: konfiguracje poszczególnych maszyn
207 wirtualnych są w całości przechowywane w XML-u i są niezależne od
208 lokalnej maszyny. Dzięki temu można szybko i łatwo przenieść
209 konfigurację maszyny wirtualnej na inny komputer.
212 Summary: VirtualBox documentation
216 This package contains VirtualBox User Manual.
219 Summary: udev rules for VirtualBox kernel modules
220 Summary(pl.UTF-8): Reguły udev dla modułów jądra Linuksa dla VirtualBoksa
225 udev rules for VirtualBox kernel modules.
227 You should install this package in your Host OS and in Guest OS.
229 %description udev -l pl.UTF-8
230 Reguły udev dla modułów jądra Linuksa dla VirtualBoksa.
233 Summary: VirtualBox Guest Additions
235 Requires: %{name} = %{version}-%{release}
237 %description additions
238 VirtualBox Guest Additions.
240 This package contains ISO9660 image with drivers for Guest OS.
242 You should install this package in your Host OS.
245 Summary: VirtualBox Guest Additions
247 Requires: xorg-driver-input-vboxmouse = %{version}-%{release}
248 Requires: xorg-driver-video-vboxvideo = %{version}-%{release}
249 Suggests: kernel%{_alt_kernel}-misc-vboxsf = %{version}-%{rel}@%{_kernel_ver_str}
250 Suggests: kernel%{_alt_kernel}-misc-vboxvideo = %{version}-%{rel}@%{_kernel_ver_str}
253 Tools that utilize kernel modules for supporting integration with the
254 Host, including file sharing and tracking of mouse pointer movement
255 and X.org X11 video and mouse driver.
257 You should install this package in your Guest OS.
259 %package -n pam-pam_vbox
260 Summary: PAM module to perform automated guest logons
263 %description -n pam-pam_vbox
264 PAM module (Pluggable Authentication Module) which can be used to
265 perform automated guest logons.
267 %package -n xorg-driver-input-vboxmouse
268 Summary: X.org mouse driver for VirtualBox guest OS
269 Summary(pl.UTF-8): Sterownik myszy dla systemu gościa w VirtualBoksie
270 Group: X11/Applications
271 Requires: xorg-xserver-server >= 1.0.99.901
272 Requires: xorg-xserver-server(xinput-abi) <= 13.0
273 Requires: xorg-xserver-server(xinput-abi) >= 4.0
275 %description -n xorg-driver-input-vboxmouse
276 X.org mouse driver for VirtualBox guest OS.
278 %description -n xorg-driver-input-vboxmouse -l pl.UTF-8
279 Sterownik myszy dla systemu gościa w VirtualBoksie.
281 %package -n xorg-driver-video-vboxvideo
282 Summary: X.org video driver for VirtualBox guest OS
283 Summary(pl.UTF-8): Sterownik grafiki dla systemu gościa w VirtualBoksie
284 Group: X11/Applications
285 Requires: Mesa-dri-driver-swrast
286 Requires: xorg-xserver-libdri >= 1.7.4
287 Requires: xorg-xserver-server >= 1.0.99.901
288 Requires: xorg-xserver-server(videodrv-abi) <= 11.0
289 Requires: xorg-xserver-server(videodrv-abi) >= 2.0
291 %description -n xorg-driver-video-vboxvideo
292 X.org video driver for VirtualBox guest OS.
294 %description -n xorg-driver-video-vboxvideo -l pl.UTF-8
295 Sterownik grafiki dla systemu gościa w VirtualBoksie.
298 # KEEP ALL REGULAR SUBPACKAGES BEFORE KERNEL PACKAGES.
299 %package -n kernel%{_alt_kernel}-misc-vboxguest
300 Summary: VirtualBox Guest Additions for Linux Module
301 Summary(pl.UTF-8): Moduł jądra Linuksa dla VirtualBoksa
302 Release: %{rel}@%{_kernel_ver_str}
304 Requires(post,postun): /sbin/depmod
305 Requires: dev >= 2.9.0-7
306 %if %{with dist_kernel}
307 %requires_releq_kernel
308 Requires(postun): %releq_kernel
310 Provides: kernel(vboxguest) = %{version}-%{rel}
311 Obsoletes: kernel%{_alt_kernel}-misc-vboxadd
312 Conflicts: kernel%{_alt_kernel}-misc-vboxdrv
314 %description -n kernel%{_alt_kernel}-misc-vboxguest
315 VirtualBox Guest Additions for Linux Module.
317 You should install this package in your Guest OS.
319 %description -n kernel%{_alt_kernel}-misc-vboxguest -l pl.UTF-8
320 Moduł jądra Linuksa vboxguest dla VirtualBoksa - dodatki dla systemu
323 %package -n kernel%{_alt_kernel}-misc-vboxdrv
324 Summary: VirtualBox Support Driver
325 Summary(pl.UTF-8): Moduł jądra Linuksa dla VirtualBoksa
326 Release: %{rel}@%{_kernel_ver_str}
328 Requires(post,postun): /sbin/depmod
329 Requires: dev >= 2.9.0-7
330 %if %{with dist_kernel}
331 %requires_releq_kernel
332 Requires(postun): %releq_kernel
334 Provides: kernel(vboxdrv) = %{version}-%{rel}
336 %description -n kernel%{_alt_kernel}-misc-vboxdrv
337 VirtualBox Support Driver.
339 You should install this package in your Host OS.
341 %description -n kernel%{_alt_kernel}-misc-vboxdrv -l pl.UTF-8
342 Moduł jądra Linuksa dla VirtualBoksa - sterownik wsparcia dla systemu
345 %package -n kernel%{_alt_kernel}-misc-vboxnetadp
346 Summary: VirtualBox Network Adapter Driver
347 Summary(pl.UTF-8): Moduł jądra Linuksa dla VirtualBoksa
348 Release: %{rel}@%{_kernel_ver_str}
350 Requires(post,postun): /sbin/depmod
351 Requires: dev >= 2.9.0-7
352 Requires: kernel%{_alt_kernel}-misc-vboxdrv
353 %if %{with dist_kernel}
354 %requires_releq_kernel
355 Requires(postun): %releq_kernel
357 Provides: kernel(vboxnetflt) = %{version}-%{rel}
359 %description -n kernel%{_alt_kernel}-misc-vboxnetadp
360 VirtualBox Network Adapter Driver.
362 You should install this package in your Host OS.
364 %description -n kernel%{_alt_kernel}-misc-vboxnetadp -l pl.UTF-8
365 Moduł jądra Linuksa dla VirtualBoksa - sterownik witrualnej karty
368 %package -n kernel%{_alt_kernel}-misc-vboxnetflt
369 Summary: VirtualBox Network Filter Driver
370 Summary(pl.UTF-8): Moduł jądra Linuksa dla VirtualBoksa
371 Release: %{rel}@%{_kernel_ver_str}
373 Requires(post,postun): /sbin/depmod
374 Requires: dev >= 2.9.0-7
375 Requires: kernel%{_alt_kernel}-misc-vboxdrv
376 %if %{with dist_kernel}
377 %requires_releq_kernel
378 Requires(postun): %releq_kernel
380 Provides: kernel(vboxnetflt) = %{version}-%{rel}
382 %description -n kernel%{_alt_kernel}-misc-vboxnetflt
383 VirtualBox Network Filter Driver.
385 You should install this package in your Host OS.
387 %description -n kernel%{_alt_kernel}-misc-vboxnetflt -l pl.UTF-8
388 Moduł jądra Linuksa dla VirtualBoksa - sterownik filtrowania sieci dla
391 %package -n kernel%{_alt_kernel}-misc-vboxpci
392 Summary: VirtualBox PCI card passthrough Driver
393 Summary(pl.UTF-8): Moduł jądra Linuksa dla VirtualBoksa
394 Release: %{rel}@%{_kernel_ver_str}
396 Requires(post,postun): /sbin/depmod
397 Requires: dev >= 2.9.0-7
398 Requires: kernel%{_alt_kernel}-misc-vboxdrv
399 %if %{with dist_kernel}
400 %requires_releq_kernel
401 Requires(postun): %releq_kernel
403 Provides: kernel(vboxpci) = %{version}-%{rel}
405 %description -n kernel%{_alt_kernel}-misc-vboxpci
406 VirtualBox PCI card passthrough driver that works as host proxy
407 between guest and PCI hardware.
409 You should install this package in your Host OS.
411 %description -n kernel%{_alt_kernel}-misc-vboxnetflt -l pl.UTF-8
412 Moduł jądra Linuksa dla VirtualBoksa - sterownik, ktory działa jako
413 proxy między gościem i gospodarzem sprzętu PCI.
415 %package -n kernel%{_alt_kernel}-misc-vboxsf
416 Summary: Host file system access (Shared Folders) for VirtualBox
417 Summary(pl.UTF-8): Moduł jądra Linuksa dla VirtualBoksa
418 Release: %{rel}@%{_kernel_ver_str}
420 Requires(post,postun): /sbin/depmod
421 Requires: dev >= 2.9.0-7
422 Requires: kernel%{_alt_kernel}-misc-vboxguest
423 %if %{with dist_kernel}
424 %requires_releq_kernel
425 Requires(postun): %releq_kernel
427 Provides: kernel(vboxsf) = %{version}-%{rel}
428 Obsoletes: kernel%{_alt_kernel}-misc-vboxvfs
430 %description -n kernel%{_alt_kernel}-misc-vboxsf
431 Host file system access (Shared Folders) for VirtualBox.
433 You should install this package in your Guest OS.
435 %description -n kernel%{_alt_kernel}-misc-vboxsf -l pl.UTF-8
436 Moduł jądra Linuksa dla VirtualBoksa - dostęp do plików systemu
437 głównego z poziomu systemu gościa.
439 %package -n kernel%{_alt_kernel}-misc-vboxvideo
440 Summary: DRM support for VirtualBox
441 Summary(pl.UTF-8): Moduł jądra Linuksa dla VirtualBoksa
442 Release: %{rel}@%{_kernel_ver_str}
444 Requires(post,postun): /sbin/depmod
445 Requires: dev >= 2.9.0-7
446 %if %{with dist_kernel}
447 %requires_releq_kernel
448 %if "%{rpm_build_macros}" >= "1.531"
449 %requires_releq_kernel -n drm
451 Requires(postun): %releq_kernel
453 Provides: kernel(vboxvideo) = %{version}-%{rel}
455 %description -n kernel%{_alt_kernel}-misc-vboxvideo
456 DRM support for VirtualBox.
458 You should install this package in your Guest OS.
460 %description -n kernel%{_alt_kernel}-misc-vboxvideo -l pl.UTF-8
461 Moduł jądra Linuksa dla VirtualBoksa - sterownik obsługi DRM.
464 %setup -q -n %{pname}-%{version}_OSE
473 %{__sed} -i -e 's,@VBOX_DOC_PATH@,%{_docdir}/%{name}-%{version},' \
474 -e 's/Categories=.*/Categories=Utility;Emulator;/' src/VBox/Installer/common/virtualbox.desktop.in
476 sed 's#@LIBDIR@#%{_libdir}#' < %{SOURCE9} > VirtualBox-wrapper.sh
478 install -d PLD-MODULE-BUILD/{GuestDrivers,HostDrivers}
480 ../src/VBox/Additions/linux/export_modules guest-modules.tar.gz
481 tar -zxf guest-modules.tar.gz -C GuestDrivers
483 ../src/VBox/HostDrivers/linux/export_modules host-modules.tar.gz --without-hardening
484 tar -zxf host-modules.tar.gz -C HostDrivers
491 %if %{with userspace}
492 echo "VBOX_WITH_TESTCASES := " > LocalConfig.kmk
494 --with-gcc="%{__cc}" \
495 --with-g++="%{__cxx}" \
496 %{!?with_doc:--disable-docs} \
498 --disable-hardening \
502 XSERVER_VERSION=$(rpm -q --queryformat '%{VERSION}\n' xorg-xserver-server-devel | awk -F. ' { print $1 $2 } ' 2> /dev/null || echo ERROR)
505 %{?with_verbose:KBUILD_VERBOSE=3} \
507 VBOX_VERSION_STRING='$(VBOX_VERSION_MAJOR).$(VBOX_VERSION_MINOR).$(VBOX_VERSION_BUILD)'_PLD \
508 XSERVER_VERSION="$XSERVER_VERSION"
512 cd PLD-MODULE-BUILD/HostDrivers
513 %build_kernel_modules -m vboxdrv -C vboxdrv
514 %build_kernel_modules -m vboxnetadp -C vboxnetadp
515 %build_kernel_modules -m vboxnetflt -C vboxnetflt
516 %build_kernel_modules -m vboxpci -C vboxpci
519 %build_kernel_modules -m vboxguest -C vboxguest
520 cp -a vboxguest/Module.symvers vboxsf
521 %build_kernel_modules -m vboxsf -C vboxsf -c
522 %build_kernel_modules -m vboxvideo -C vboxvideo_drm
524 %{__cc} %{rpmcflags} %{rpmldflags} -Wall -Werror src/VBox/Additions/linux/sharedfolders/{mount.vboxsf.c,vbsfmount.c} -o mount.vboxsf
528 rm -rf $RPM_BUILD_ROOT
530 %if %{with userspace}
531 install -d $RPM_BUILD_ROOT{%{_bindir},%{_sbindir},%{_libdir}/%{pname}/ExtensionPacks} \
532 $RPM_BUILD_ROOT{%{_pixmapsdir},%{_desktopdir}} \
533 $RPM_BUILD_ROOT%{_libdir}/xorg/modules/{drivers,dri,input}
535 # test if we can hardlink -- %{_builddir} and $RPM_BUILD_ROOT on same partition
536 if cp -al VBox.png $RPM_BUILD_ROOT/Vbox.png 2>/dev/null; then
538 rm -f $RPM_BUILD_ROOT/VBox.png
541 cp -a$l %{outdir}/* $RPM_BUILD_ROOT%{_libdir}/%{pname}
543 cp -a %{SOURCE1} $RPM_BUILD_ROOT%{_libdir}/VirtualBox/additions/VBoxGuestAdditions.iso
544 install -p %{SOURCE10} $RPM_BUILD_ROOT%{_sbindir}/mount.vdi
545 install -p VirtualBox-wrapper.sh $RPM_BUILD_ROOT%{_libdir}/%{pname}
546 for f in {VBox{BFE,Headless,Manage,SDL,SVC,Tunctl,XPCOMIPCD},VirtualBox}; do
547 ln -s %{_libdir}/%{pname}/VirtualBox-wrapper.sh $RPM_BUILD_ROOT%{_bindir}/$f
550 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/VBox.png,%{_pixmapsdir}/virtualbox.png}
551 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname},%{_desktopdir}}/virtualbox.desktop
553 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/vboxmouse_drv.so,%{_libdir}/xorg/modules/input/vboxmouse_drv.so}
554 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions/vboxvideo_drv.so,%{_libdir}/xorg/modules/drivers/vboxvideo_drv.so}
555 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions/VBoxOGL.so,%{_libdir}/xorg/modules/dri/vboxvideo_dri.so}
556 # xorg other driver versions
557 rm -vf $RPM_BUILD_ROOT%{_libdir}/%{pname}/vboxmouse_drv*.{o,so}
558 rm -vf $RPM_BUILD_ROOT%{_libdir}/%{pname}/vboxvideo_drv*.{o,so}
560 # XXX: where else to install them that vboxvideo_dri.so finds them? patch with rpath?
561 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLarrayspu.so
562 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLcrutil.so
563 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLerrorspu.so
564 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLfeedbackspu.so
565 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLpackspu.so
566 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLpassthroughspu.so
568 install -d $RPM_BUILD_ROOT/etc/udev/rules.d
569 cp -a %{SOURCE11} $RPM_BUILD_ROOT/etc/udev/rules.d/virtualbox.rules
571 install -d $RPM_BUILD_ROOT/%{_lib}/security
572 mv $RPM_BUILD_ROOT{%{_libdir}/VirtualBox/additions,/%{_lib}/security}/pam_vbox.so
575 rm -r $RPM_BUILD_ROOT%{_libdir}/%{pname}/{src,sdk,testcase}
576 rm -r $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/src
577 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/vboxkeyboard.tar.bz2
578 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/tst*
580 # IPRT Testcase / Tool - Source Code Massager.
581 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/scm
584 install -d $RPM_BUILD_ROOT/etc/{X11/xinit/xinitrc.d,xdg/autostart}
585 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_bindir}}/VBoxService
586 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_bindir}}/VBoxClient
587 mv $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_bindir}}/VBoxControl
588 install -p -D src/VBox/Additions/x11/Installer/98vboxadd-xclient \
589 $RPM_BUILD_ROOT/etc/X11/xinit/xinitrc.d/98vboxadd-xclient.sh
590 cp -p src/VBox/Additions/x11/Installer/vboxclient.desktop \
591 $RPM_BUILD_ROOT/etc/xdg/autostart/vboxclient.desktop
595 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/SUPInstall
596 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/SUPLoggerCtl
597 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/SUPUninstall
598 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/VBox.sh
599 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/vboxshell.py
600 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/xpidl
603 # packaged by kernel part
604 rm $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/mount.vboxsf
608 install -d $RPM_BUILD_ROOT{/etc/{rc.d/init.d,modprobe.d},%{_sbindir}}
609 install -p %{SOURCE3} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxdrv
610 install -p %{SOURCE4} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxguest
611 install -p %{SOURCE5} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxnetflt
612 install -p %{SOURCE6} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxsf
613 install -p %{SOURCE7} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxnetadp
614 install -p %{SOURCE8} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxpci
615 %install_kernel_modules -m PLD-MODULE-BUILD/HostDrivers/vboxdrv/vboxdrv -d misc
616 %install_kernel_modules -m PLD-MODULE-BUILD/HostDrivers/vboxnetadp/vboxnetadp -d misc
617 %install_kernel_modules -m PLD-MODULE-BUILD/HostDrivers/vboxnetflt/vboxnetflt -d misc
618 %install_kernel_modules -m PLD-MODULE-BUILD/HostDrivers/vboxpci/vboxpci -d misc
619 %install_kernel_modules -m PLD-MODULE-BUILD/GuestDrivers/vboxguest/vboxguest -d misc
620 %install_kernel_modules -m PLD-MODULE-BUILD/GuestDrivers/vboxsf/vboxsf -d misc
621 %install_kernel_modules -m PLD-MODULE-BUILD/GuestDrivers/vboxvideo_drm/vboxvideo -d misc
623 install -p mount.vboxsf $RPM_BUILD_ROOT%{_sbindir}/mount.vboxsf
628 rm -rf $RPM_BUILD_ROOT
631 %groupadd -g 221 -r -f vbox
634 %update_desktop_database
637 You must install vboxdrv kernel module for this software to work:
638 kernel-misc-vboxdrv-%{version}-%{rel}@%{_kernel_ver_str}
640 Additionally you might want to install:
641 kernel-misc-vboxnetadp-%{version}-%{rel}@%{_kernel_ver_str}
642 kernel-misc-vboxnetflt-%{version}-%{rel}@%{_kernel_ver_str}
643 kernel-misc-vboxpci-%{version}-%{rel}@%{_kernel_ver_str}
645 On Guest Linux system you might want to install:
646 kernel-misc-vboxguest-%{version}-%{rel}@%{_kernel_ver_str}
647 kernel-misc-vboxsf-%{version}-%{rel}@%{_kernel_ver_str}
648 kernel-misc-vboxvideo-%{version}-%{rel}@%{_kernel_ver_str}
653 if [ "$1" = "0" ]; then
657 %post -n kernel%{_alt_kernel}-misc-vboxguest
658 %depmod %{_kernel_ver}
659 /sbin/chkconfig --add vboxguest
660 %service vboxguest restart "VirtualBox Guest additions driver"
662 %postun -n kernel%{_alt_kernel}-misc-vboxguest
663 %depmod %{_kernel_ver}
665 %preun -n kernel%{_alt_kernel}-misc-vboxguest
666 if [ "$1" = "0" ]; then
667 %service vboxguest stop
668 /sbin/chkconfig --del vboxguest
671 %post -n kernel%{_alt_kernel}-misc-vboxdrv
672 %depmod %{_kernel_ver}
673 /sbin/chkconfig --add vboxdrv
674 %service vboxdrv restart "VirtualBox Support Driver"
676 %postun -n kernel%{_alt_kernel}-misc-vboxdrv
677 %depmod %{_kernel_ver}
679 %preun -n kernel%{_alt_kernel}-misc-vboxdrv
680 if [ "$1" = "0" ]; then
681 %service vboxdrv stop
682 /sbin/chkconfig --del vboxdrv
685 %post -n kernel%{_alt_kernel}-misc-vboxnetadp
686 %depmod %{_kernel_ver}
687 /sbin/chkconfig --add vboxnetadp
688 %service vboxnetadp restart "VirtualBox Network HostOnly driver"
690 %postun -n kernel%{_alt_kernel}-misc-vboxnetadp
691 %depmod %{_kernel_ver}
693 %preun -n kernel%{_alt_kernel}-misc-vboxnetadp
694 if [ "$1" = "0" ]; then
695 %service vboxnetadp stop
696 /sbin/chkconfig --del vboxnetadp
699 %post -n kernel%{_alt_kernel}-misc-vboxnetflt
700 %depmod %{_kernel_ver}
701 /sbin/chkconfig --add vboxnetflt
702 %service vboxnetflt restart "VirtualBox Network Filter driver"
704 %postun -n kernel%{_alt_kernel}-misc-vboxnetflt
705 %depmod %{_kernel_ver}
707 %preun -n kernel%{_alt_kernel}-misc-vboxnetflt
708 if [ "$1" = "0" ]; then
709 %service vboxnetflt stop
710 /sbin/chkconfig --del vboxnetflt
713 %post -n kernel%{_alt_kernel}-misc-vboxpci
714 %depmod %{_kernel_ver}
715 /sbin/chkconfig --add vboxpci
716 %service vboxnetflt restart "VirtualBox PCI passthrough driver"
718 %postun -n kernel%{_alt_kernel}-misc-vboxpci
719 %depmod %{_kernel_ver}
721 %preun -n kernel%{_alt_kernel}-misc-vboxpci
722 if [ "$1" = "0" ]; then
723 %service vboxpci stop
724 /sbin/chkconfig --del vboxpci
727 %post -n kernel%{_alt_kernel}-misc-vboxsf
728 %depmod %{_kernel_ver}
729 /sbin/chkconfig --add vboxsf
730 %service vboxsf restart "VirtualBox Host file system access (Shared Folders)"
732 %postun -n kernel%{_alt_kernel}-misc-vboxsf
733 %depmod %{_kernel_ver}
735 %preun -n kernel%{_alt_kernel}-misc-vboxsf
736 if [ "$1" = "0" ]; then
738 /sbin/chkconfig --del vboxsf
741 %post -n kernel%{_alt_kernel}-misc-vboxvideo
742 %depmod %{_kernel_ver}
744 %postun -n kernel%{_alt_kernel}-misc-vboxvideo
745 %depmod %{_kernel_ver}
747 %if %{with userspace}
749 %defattr(644,root,root,755)
750 %dir %{_libdir}/VirtualBox
751 %dir %{_libdir}/VirtualBox/ExtensionPacks
752 %dir %{_libdir}/VirtualBox/additions
753 %dir %{_libdir}/VirtualBox/components
754 %dir %{_libdir}/VirtualBox/nls
755 %attr(755,root,root) %{_bindir}/VBoxBFE
756 %attr(755,root,root) %{_bindir}/VBoxHeadless
757 %attr(755,root,root) %{_bindir}/VBoxManage
758 %attr(755,root,root) %{_bindir}/VBoxSDL
759 %attr(755,root,root) %{_bindir}/VBoxSVC
760 %attr(755,root,root) %{_bindir}/VBoxTunctl
761 %attr(755,root,root) %{_bindir}/VBoxXPCOMIPCD
762 %attr(755,root,root) %{_bindir}/VirtualBox
763 %attr(755,root,root) %{_sbindir}/mount.vdi
764 %attr(755,root,root) %{_libdir}/VirtualBox/DBGCPlugInDiggers.so
765 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxAuth.so
766 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxAuthSimple.so
767 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxBFE
768 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxBalloonCtrl
769 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxCreateUSBNode.sh
770 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxDbg.so
771 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxDD2.so
772 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxDD.so
773 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxDDU.so
774 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxExtPackHelperApp
775 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxGuestControlSvc.so
776 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxGuestPropSvc.so
777 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxHeadless
778 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxKeyboard.so
779 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxManage
780 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxNetAdpCtl
781 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxNetDHCP
782 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxOGLhostcrutil.so
783 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxOGLhosterrorspu.so
784 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxOGLrenderspu.so
785 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxPython*.so
786 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxREM.so
788 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxREM32.so
789 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxREM64.so
791 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxRT.so
792 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxSDL
793 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxSharedClipboard.so
794 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxSharedCrOpenGL.so
795 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxSharedFolders.so
796 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxSVC
797 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxSysInfo.sh
798 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxTestOGL
799 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxTunctl
800 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxVMM.so
801 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxXPCOMC.so
802 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxXPCOMIPCD
803 %attr(755,root,root) %{_libdir}/VirtualBox/VBoxXPCOM.so
804 %attr(755,root,root) %{_libdir}/VirtualBox/VirtualBox
805 %attr(755,root,root) %{_libdir}/VirtualBox/VirtualBox-wrapper.sh
806 %{_libdir}/VirtualBox/VBoxDD2GC.gc
807 %{_libdir}/VirtualBox/VBoxDDGC.gc
808 %{_libdir}/VirtualBox/VMMGC.gc
809 %{_libdir}/VirtualBox/VBoxDD2R0.r0
810 %{_libdir}/VirtualBox/VBoxDDR0.r0
811 %{_libdir}/VirtualBox/VMMR0.r0
812 %{_libdir}/VirtualBox/EfiThunk
813 %{_libdir}/VirtualBox/VBoxEFI32.fd
814 %{_libdir}/VirtualBox/VBoxEFI64.fd
815 %{_libdir}/VirtualBox/components/VBoxXPCOMBase.xpt
816 %{_libdir}/VirtualBox/components/VirtualBox_XPCOM.xpt
817 %attr(755,root,root) %{_libdir}/VirtualBox/components/VBoxC.so
818 %attr(755,root,root) %{_libdir}/VirtualBox/components/VBoxSVCM.so
819 %attr(755,root,root) %{_libdir}/VirtualBox/components/VBoxXPCOMIPCC.so
820 %lang(ar) %{_libdir}/VirtualBox/nls/*_ar.qm
821 %lang(bg) %{_libdir}/VirtualBox/nls/*_bg.qm
822 %lang(ca) %{_libdir}/VirtualBox/nls/*_ca.qm
823 %lang(ca_VA) %{_libdir}/VirtualBox/nls/*_ca_VA.qm
824 %lang(cs) %{_libdir}/VirtualBox/nls/*_cs.qm
825 %lang(da) %{_libdir}/VirtualBox/nls/*_da.qm
826 %lang(de) %{_libdir}/VirtualBox/nls/*_de.qm
827 %lang(el) %{_libdir}/VirtualBox/nls/*_el.qm
828 %lang(en) %{_libdir}/VirtualBox/nls/*_en.qm
829 %lang(es) %{_libdir}/VirtualBox/nls/*_es.qm
830 %lang(eu) %{_libdir}/VirtualBox/nls/*_eu.qm
831 %lang(fi) %{_libdir}/VirtualBox/nls/*_fi.qm
832 %lang(fr) %{_libdir}/VirtualBox/nls/*_fr.qm
833 %lang(gl_ES) %{_libdir}/VirtualBox/nls/*_gl_ES.qm
834 %lang(hu) %{_libdir}/VirtualBox/nls/*_hu.qm
835 %lang(id) %{_libdir}/VirtualBox/nls/*_id.qm
836 %lang(it) %{_libdir}/VirtualBox/nls/*_it.qm
837 %lang(ja) %{_libdir}/VirtualBox/nls/*_ja.qm
838 %lang(km_KH) %{_libdir}/VirtualBox/nls/*_km_KH.qm
839 %lang(ko) %{_libdir}/VirtualBox/nls/*_ko.qm
840 %lang(lt) %{_libdir}/VirtualBox/nls/*_lt.qm
841 %lang(nl) %{_libdir}/VirtualBox/nls/*_nl.qm
842 %lang(pl) %{_libdir}/VirtualBox/nls/*_pl.qm
843 %lang(pt) %{_libdir}/VirtualBox/nls/*_pt.qm
844 %lang(pt_BR) %{_libdir}/VirtualBox/nls/*_pt_BR.qm
845 %lang(ro) %{_libdir}/VirtualBox/nls/*_ro.qm
846 %lang(ru) %{_libdir}/VirtualBox/nls/*_ru.qm
847 %lang(sk) %{_libdir}/VirtualBox/nls/*_sk.qm
848 %lang(sr) %{_libdir}/VirtualBox/nls/*_sr.qm
849 %lang(sv) %{_libdir}/VirtualBox/nls/*_sv.qm
850 %lang(tr) %{_libdir}/VirtualBox/nls/*_tr.qm
851 %lang(uk) %{_libdir}/VirtualBox/nls/*_uk.qm
852 %lang(zh_CN) %{_libdir}/VirtualBox/nls/*_zh_CN.qm
853 %lang(zh_TW) %{_libdir}/VirtualBox/nls/*_zh_TW.qm
854 %{_pixmapsdir}/virtualbox.png
855 %{_desktopdir}/*.desktop
856 %{_libdir}/VirtualBox/icons
857 %{_libdir}/VirtualBox/virtualbox.xml
860 %defattr(644,root,root,755)
861 %{_libdir}/VirtualBox/additions/VBoxGuestAdditions.iso
864 %defattr(644,root,root,755)
865 # NOTE: unfinished, should contain .desktop files for starting up mouse
866 # integration and other desktop services
867 # NOTE: the filelist is incomplete too
868 %attr(755,root,root) %{_bindir}/VBoxClient
869 %attr(755,root,root) %{_bindir}/VBoxControl
870 %attr(755,root,root) %{_bindir}/VBoxService
871 /etc/X11/xinit/xinitrc.d/98vboxadd-xclient.sh
872 /etc/xdg/autostart/vboxclient.desktop
874 %attr(755,root,root) %{_libdir}/VirtualBox/additions/autorun.sh
875 %attr(755,root,root) %{_libdir}/VirtualBox/additions/vboxadd
876 %attr(755,root,root) %{_libdir}/VirtualBox/additions/vboxadd-service
877 %attr(755,root,root) %{_libdir}/VirtualBox/additions/vboxadd-x11
879 %files -n pam-pam_vbox
880 %defattr(644,root,root,755)
881 %attr(755,root,root) /%{_lib}/security/pam_vbox.so
885 %defattr(644,root,root,755)
886 %doc %{outdir}/UserManual.pdf
890 %defattr(644,root,root,755)
891 %config(noreplace) %verify(not md5 mtime size) /etc/udev/rules.d/virtualbox.rules
893 %files -n xorg-driver-input-vboxmouse
894 %defattr(644,root,root,755)
895 %attr(755,root,root) %{_libdir}/xorg/modules/input/vboxmouse_drv.so
897 %files -n xorg-driver-video-vboxvideo
898 %defattr(644,root,root,755)
899 %attr(755,root,root) %{_libdir}/xorg/modules/drivers/vboxvideo_drv.so
900 %attr(755,root,root) %{_libdir}/xorg/modules/dri/vboxvideo_dri.so
901 # vboxvideo_dri.so deps
902 %attr(755,root,root) %{_libdir}/VBoxOGLarrayspu.so
903 %attr(755,root,root) %{_libdir}/VBoxOGLcrutil.so
904 %attr(755,root,root) %{_libdir}/VBoxOGLerrorspu.so
905 %attr(755,root,root) %{_libdir}/VBoxOGLfeedbackspu.so
906 %attr(755,root,root) %{_libdir}/VBoxOGLpackspu.so
907 %attr(755,root,root) %{_libdir}/VBoxOGLpassthroughspu.so
911 %files -n kernel%{_alt_kernel}-misc-vboxguest
912 %defattr(644,root,root,755)
913 %attr(754,root,root) /etc/rc.d/init.d/vboxguest
914 /lib/modules/%{_kernel_ver}/misc/vboxguest.ko*
916 %files -n kernel%{_alt_kernel}-misc-vboxdrv
917 %defattr(644,root,root,755)
918 %attr(754,root,root) /etc/rc.d/init.d/vboxdrv
919 /lib/modules/%{_kernel_ver}/misc/vboxdrv.ko*
921 %files -n kernel%{_alt_kernel}-misc-vboxnetadp
922 %defattr(644,root,root,755)
923 %attr(754,root,root) /etc/rc.d/init.d/vboxnetadp
924 /lib/modules/%{_kernel_ver}/misc/vboxnetadp.ko*
926 %files -n kernel%{_alt_kernel}-misc-vboxnetflt
927 %defattr(644,root,root,755)
928 %attr(754,root,root) /etc/rc.d/init.d/vboxnetflt
929 /lib/modules/%{_kernel_ver}/misc/vboxnetflt.ko*
931 %files -n kernel%{_alt_kernel}-misc-vboxpci
932 %defattr(644,root,root,755)
933 %attr(754,root,root) /etc/rc.d/init.d/vboxpci
934 /lib/modules/%{_kernel_ver}/misc/vboxpci.ko*
936 %files -n kernel%{_alt_kernel}-misc-vboxsf
937 %defattr(644,root,root,755)
938 %attr(754,root,root) /etc/rc.d/init.d/vboxsf
939 %attr(755,root,root) %{_sbindir}/mount.vboxsf
940 /lib/modules/%{_kernel_ver}/misc/vboxsf.ko*
942 %files -n kernel%{_alt_kernel}-misc-vboxvideo
943 %defattr(644,root,root,755)
944 /lib/modules/%{_kernel_ver}/misc/vboxvideo.ko*