]> git.pld-linux.org Git - packages/VirtualBox.git/blob - VirtualBox.spec
userspace can't require kernel packages, suggest them
[packages/VirtualBox.git] / VirtualBox.spec
1 # TODO
2 # - java bindings
3 # - Package SDK.
4 # - Package utils (and write initscripts ?) for Guest OS.
5 # - Check License of VBoxGuestAdditions_*.iso, it's probably not GPL v2.
6 #   If so check if it is distributable.
7 # - resolve mess with subpackages?
8 #   - addtions: iso (containing additions/*.iso)
9 #   - guest: to be installed to guests (deps on x11 drivers)
10 # - enable VDE networking: --enable-vde
11 #
12 # Conditional build:
13 %bcond_without  doc             # don't build the documentation
14 %bcond_without  dist_kernel     # without distribution kernel
15 %bcond_without  kernel          # don't build kernel module
16 %bcond_without  userspace       # don't build userspace package
17 %bcond_with     webservice      # webservice (soap) support
18 %bcond_without  verbose
19 %bcond_with     force_userspace # force userspace build (useful if alt_kernel is set)
20
21 %if %{without kernel}
22 %undefine       with_dist_kernel
23 %endif
24 %if "%{_alt_kernel}" != "%{nil}"
25 %undefine       with_userspace
26 %endif
27 %if %{with force_userspace}
28 %define         with_userspace 1
29 %endif
30 %if %{without userspace}
31 # nothing to be placed to debuginfo package
32 %define         _enable_debug_packages  0
33 %endif
34
35 %define         rel             7
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}
40 Version:        4.2.12
41 Release:        %{rel}
42 License:        GPL v2
43 Group:          Applications/Emulators
44 Source0:        http://download.virtualbox.org/virtualbox/%{version}/%{pname}-%{version}.tar.bz2
45 # Source0-md5:  654e45054ae6589452508d37403dc800
46 Source1:        http://download.virtualbox.org/virtualbox/%{version}/VBoxGuestAdditions_%{version}.iso
47 # Source1-md5:  403098e688f9e7f4273de680f6734983
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
54 Source9:        %{pname}.sh
55 Source10:       mount.vdi
56 Source11:       udev.rules
57 Source12:       %{pname}-vboxdrv-modules-load.conf
58 Source13:       %{pname}-vboxguest-modules-load.conf
59 Source14:       %{pname}-vboxnetflt-modules-load.conf
60 Source15:       %{pname}-vboxsf-modules-load.conf
61 Source16:       %{pname}-vboxnetadp-modules-load.conf
62 Source17:       %{pname}-vboxpci-modules-load.conf
63 Patch0:         %{pname}-configure-spaces.patch
64 Patch1:         %{pname}-VBoxSysInfo.patch
65 Patch2:         %{pname}-warning_workaround.patch
66 Patch3:         %{pname}-dri.patch
67 Patch4:         %{pname}-disable_build_NetBiosBin.patch
68 Patch5:         xserver-1.12.patch
69 Patch6:         gcc48.patch
70 # ubuntu patches
71 Patch10:        16-no-update.patch
72 Patch11:        18-system-xorg.patch
73 # /ubuntu patches
74 URL:            http://www.virtualbox.org/
75 %if %{with userspace}
76 %ifarch %{x8664}
77 BuildRequires:  gcc-multilib
78 BuildRequires:  glibc-devel(i686)
79 BuildRequires:  libstdc++-multilib-devel
80 BuildRequires:  libstdc++-multilib-static
81 %endif
82 %if "%{pld_release}" == "ac"
83 BuildRequires:  XFree86-devel
84 %else
85 BuildRequires:  xorg-lib-libXcomposite-devel
86 BuildRequires:  xorg-lib-libXcursor-devel
87 BuildRequires:  xorg-lib-libXmu-devel
88 BuildRequires:  xorg-proto-glproto-devel
89 BuildRequires:  xorg-xserver-server-devel
90 %endif
91 BuildRequires:  OpenGL-GLU-devel
92 BuildRequires:  OpenGL-devel
93 BuildRequires:  QtGui-devel
94 BuildRequires:  QtNetwork-devel
95 BuildRequires:  QtOpenGL-devel
96 BuildRequires:  SDL-devel >= 1.2.7
97 BuildRequires:  acpica
98 BuildRequires:  alsa-lib-devel >= 1.0.6
99 BuildRequires:  bash
100 BuildRequires:  bcc
101 BuildRequires:  bin86
102 BuildRequires:  curl-devel
103 BuildRequires:  device-mapper-devel
104 %{?with_doc:BuildRequires:      docbook-dtd44-xml}
105 BuildRequires:  gcc >= 5:3.2.3
106 %{?with_webservice:BuildRequires:       gsoap-devel}
107 BuildRequires:  kBuild >= 0.1.9998-2
108 BuildRequires:  libIDL-devel
109 BuildRequires:  libcap-static
110 BuildRequires:  libdrm-devel
111 BuildRequires:  libpng-devel >= 1.2.5
112 BuildRequires:  libstdc++-devel >= 5:3.2.3
113 BuildRequires:  libstdc++-static >= 5:3.2.3
114 BuildRequires:  libuuid-devel
115 BuildRequires:  libvncserver-devel >= 0.9.9
116 BuildRequires:  libxml2-devel >= 2.6.26
117 BuildRequires:  libxslt-devel >= 1.1.17
118 BuildRequires:  libxslt-progs >= 1.1.17
119 BuildRequires:  makeself
120 BuildRequires:  mkisofs
121 BuildRequires:  pam-devel
122 BuildRequires:  pixman-devel
123 BuildRequires:  pkgconfig
124 BuildRequires:  pulseaudio-devel >= 0.9.0
125 BuildRequires:  python-devel
126 BuildRequires:  python-modules
127 BuildRequires:  qt4-build >= 4.2.0
128 BuildRequires:  qt4-linguist
129 BuildRequires:  rpmbuild(macros) >= 1.627
130 BuildRequires:  sed >= 4.0
131 %if %{with doc}
132 BuildRequires:  texlive-fonts-bitstream
133 BuildRequires:  texlive-fonts-other
134 BuildRequires:  texlive-fonts-type1-bitstream
135 BuildRequires:  texlive-format-pdflatex
136 BuildRequires:  texlive-latex-ucs
137 BuildRequires:  texlive-xetex
138 %endif
139 BuildRequires:  which
140 BuildRequires:  xalan-c-devel >= 1.10.0
141 BuildRequires:  xerces-c-devel >= 2.6.0
142 BuildRequires:  yasm
143 BuildRequires:  zlib-devel >= 1.2.1
144 %endif
145 %if %{with dist_kernel}
146 BuildRequires:  kernel%{_alt_kernel}-module-build >= 3:2.6.20
147 %endif
148 Requires(post,preun):   /sbin/chkconfig
149 Requires(postun):       /usr/sbin/groupdel
150 Requires(pre):  /usr/bin/getgid
151 Requires(pre):  /usr/sbin/groupadd
152 Requires:       QtCore >= 4.7.0
153 Requires:       desktop-file-utils
154 Requires:       fontconfig
155 Requires:       fonts-Type1-urw
156 Requires:       libvncserver >= 0.9.9
157 Requires:       udev-core
158 Suggests:       gxmessage
159 Provides:       group(vbox)
160 Obsoletes:      VirtualBox-udev < 4.2.10-5
161 ExclusiveArch:  %{ix86} %{x8664}
162 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
163
164 %ifarch %{x8664}
165 %define         vbox_arch       amd64
166 %else
167 %define         vbox_arch       x86
168 %endif
169 %define         vbox_platform   linux.%{vbox_arch}
170 %define         outdir          out/%{vbox_platform}/release/bin
171 %define         _sbindir        /sbin
172
173 # workaround buggy 'file' results:
174 #
175 # EfiThunk:     \0
176 # qt_ro.qm:     \0 "<\270d\030\312\357\234\225\315!\034\277`\241\275\335B"
177 # VBoxEFI32.fd: \0
178 # VBoxEFI64.fd: \0
179 #
180 # which lead to 'Stripping ... ELF shared libraries... (...)/nls/qt_ro.qm: File format not recognized'
181 %define         _noautostrip    .*%{_libdir}/%{name}/.*
182
183 %define         vbox_kernel_post(d:)    \
184 if [ -x /etc/rc.d/init.d/%{-d*} ]; then \
185         %{expand:%service %%{-d*} restart %%*} \
186 else \
187         /sbin/rmmod %{-d*} || : \
188         /sbin/modprobe -s %{-d*} || : \
189 fi \
190 %{nil}
191
192 %description
193 Oracle VirtualBox is a general-purpose full virtualizer for x86
194 hardware. Targeted at server, desktop and embedded use, it is now the
195 only professional-quality virtualization solution that is also Open
196 Source Software.
197
198 Some of the features of VirtualBox are:
199
200 Modularity: VirtualBox has an extremely modular design with
201 well-defined internal programming interfaces and a client/server
202 design. This makes it easy to control it from several interfaces at
203 once: for example, you can start a virtual machine in a typical
204 virtual machine GUI and then control that machine from the command
205 line. VirtualBox also comes with a full Software Development Kit: even
206 though it is Open Source Software, you don't have to hack the source
207 to write a new interface for VirtualBox.
208
209 Virtual machine descriptions in XML: the configuration settings of
210 virtual machines are stored entirely in XML and are independent of the
211 local machines. Virtual machine definitions can therefore easily be
212 ported to other computers.
213
214 You should install this package in your Host OS.
215
216 %description -l pl.UTF-8
217 Oracle VirtualBox jest emulatorem sprzętu x86. Kierowany do zastosowań
218 serwerowych, desktopowych oraz wbudowanych jest obecnie jedynym
219 wysokiej jakości rozwiązaniem wirtualizacyjnym dostępnym również jako
220 Otwarte Oprogramowanie.
221
222 Przykładowe cechy VirtualBoksa:
223
224 Modularność: VirtualBox jest wysoce zmodularyzowanym produktem z
225 dobrze zaprojektowanym wewnętrznym interfejsem programowym typu
226 klient/serwer. Dzięki temu można łatwo kontrolować go za pomocą
227 różnych interfejsów. Można na przykład uruchomić maszynę wirtualną z
228 poziomu interfejsu graficznego, a później kontrolować ją z linii
229 poleceń. VirtualBox dostarcza również pełny pakiet deweloperski, co
230 pozwala stworzyć dowolny inny interfejs zarządzania maszyną wirtualną.
231
232 Opisy maszyn wirtualnych w XML-u: konfiguracje poszczególnych maszyn
233 wirtualnych są w całości przechowywane w XML-u i są niezależne od
234 lokalnej maszyny. Dzięki temu można szybko i łatwo przenieść
235 konfigurację maszyny wirtualnej na inny komputer.
236
237 %package doc
238 Summary:        VirtualBox documentation
239 Group:          Documentation
240
241 %description doc
242 This package contains VirtualBox User Manual.
243
244 %package additions
245 Summary:        VirtualBox Guest Additions
246 Group:          Base
247 Requires:       %{name} = %{version}-%{release}
248
249 %description additions
250 VirtualBox Guest Additions.
251
252 This package contains ISO9660 image with drivers for Guest OS.
253
254 You should install this package in your Host OS.
255
256 %package guest
257 Summary:        VirtualBox Guest tools
258 Group:          Base
259 Suggests:       kernel(vboxguest)
260 Suggests:       kernel(vboxsf)
261
262 %description guest
263 Tools that utilize kernel modules for supporting integration with the
264 Host, including file sharing.
265
266 You should install this package in your Guest OS for base VirtualBox
267 communication
268
269 %package guest-x11
270 Summary:        VirtualBox Guest Additions
271 Group:          Base
272 Requires:       %{name}-guest = %{version}-%{release}
273 Requires:       xorg-driver-video-vboxvideo = %{version}-%{release}
274 Suggests:       kernel(vboxvideo)
275 Obsoletes:      xorg-driver-input-vboxmouse < %{version}-%{release}
276
277 %description guest-x11
278 Tools for X11 session that utilize kernel modules for supporting
279 integration with the Host, like tracking of mouse pointer movement and
280 X.org X11 video and mouse drivers
281
282 You should install this package in your Guest OS for X11 session.
283
284 %package -n pam-pam_vbox
285 Summary:        PAM module to perform automated guest logons
286 Group:          Base
287
288 %description  -n pam-pam_vbox
289 PAM module (Pluggable Authentication Module) which can be used to
290 perform automated guest logons.
291
292 %package -n xorg-driver-video-vboxvideo
293 Summary:        X.org video driver for VirtualBox guest OS
294 Summary(pl.UTF-8):      Sterownik grafiki dla systemu gościa w VirtualBoksie
295 Group:          X11/Applications
296 Requires:       Mesa-dri-driver-swrast
297 Requires:       xorg-xserver-libdri >= 1.7.4
298 Requires:       xorg-xserver-server >= 1.0.99.901
299 Requires:       xorg-xserver-server(videodrv-abi) <= 14.1
300 Requires:       xorg-xserver-server(videodrv-abi) >= 2.0
301
302 %description -n xorg-driver-video-vboxvideo
303 X.org video driver for VirtualBox guest OS.
304
305 %description -n xorg-driver-video-vboxvideo -l pl.UTF-8
306 Sterownik grafiki dla systemu gościa w VirtualBoksie.
307
308 %package kernel-init-host
309 Summary:        SysV initscripts for host kernel modules
310 Group:          Base/Kernel
311
312 %description kernel-init-host
313 SysV initscripts for host kernel modules.
314
315 %package kernel-init-guest
316 Summary:        SysV initscripts for guest kernel modules
317 Group:          Base/Kernel
318
319 %description kernel-init-guest
320 SysV initscripts for guest kernel modules.
321
322 # KERNEL PACKAGES
323
324 # KEEP ALL REGULAR SUBPACKAGES BEFORE KERNEL PACKAGES.
325
326 %package -n kernel%{_alt_kernel}-misc-vboxguest
327 Summary:        VirtualBox Guest Additions for Linux Module
328 Summary(pl.UTF-8):      Moduł jądra Linuksa dla VirtualBoksa
329 Release:        %{rel}@%{_kernel_ver_str}
330 Group:          Base/Kernel
331 Requires(post,postun):  /sbin/depmod
332 Requires(post): systemd-units >= 38
333 Requires:       dev >= 2.9.0-7
334 %if %{with dist_kernel}
335 %requires_releq_kernel
336 Requires(postun):       %releq_kernel
337 %endif
338 Requires:       systemd-units >= 38
339 Suggests:       %{name}-kernel-init-guest >= %{version}-%{rel}
340 Provides:       kernel(vboxguest) = %{version}-%{rel}
341 Obsoletes:      kernel%{_alt_kernel}-misc-vboxadd
342 Conflicts:      kernel%{_alt_kernel}-misc-vboxdrv
343
344 %description -n kernel%{_alt_kernel}-misc-vboxguest
345 VirtualBox Guest Additions for Linux Module.
346
347 You should install this package in your Guest OS.
348
349 %description -n kernel%{_alt_kernel}-misc-vboxguest -l pl.UTF-8
350 Moduł jądra Linuksa vboxguest dla VirtualBoksa - dodatki dla systemu
351 gościa.
352
353 %package -n kernel%{_alt_kernel}-misc-vboxdrv
354 Summary:        VirtualBox Support Driver
355 Summary(pl.UTF-8):      Moduł jądra Linuksa dla VirtualBoksa
356 Release:        %{rel}@%{_kernel_ver_str}
357 Group:          Base/Kernel
358 Requires(post,postun):  /sbin/depmod
359 Requires(post): systemd-units >= 38
360 Requires:       dev >= 2.9.0-7
361 %if %{with dist_kernel}
362 %requires_releq_kernel
363 Requires(postun):       %releq_kernel
364 %endif
365 Requires:       systemd-units >= 38
366 Suggests:       %{name}-kernel-init-host >= %{version}-%{rel}
367 Provides:       kernel(vboxdrv) = %{version}-%{rel}
368
369 %description -n kernel%{_alt_kernel}-misc-vboxdrv
370 VirtualBox Support Driver.
371
372 You should install this package in your Host OS.
373
374 %description -n kernel%{_alt_kernel}-misc-vboxdrv -l pl.UTF-8
375 Moduł jądra Linuksa dla VirtualBoksa - sterownik wsparcia dla systemu
376 głównego.
377
378 %package -n kernel%{_alt_kernel}-misc-vboxnetadp
379 Summary:        VirtualBox Network Adapter Driver
380 Summary(pl.UTF-8):      Moduł jądra Linuksa dla VirtualBoksa
381 Release:        %{rel}@%{_kernel_ver_str}
382 Group:          Base/Kernel
383 Requires(post,postun):  /sbin/depmod
384 Requires(post): systemd-units >= 38
385 Requires:       dev >= 2.9.0-7
386 Requires:       kernel%{_alt_kernel}-misc-vboxdrv
387 %if %{with dist_kernel}
388 %requires_releq_kernel
389 Requires(postun):       %releq_kernel
390 %endif
391 Requires:       systemd-units >= 38
392 Suggests:       %{name}-kernel-init-host >= %{version}-%{rel}
393 Provides:       kernel(vboxnetflt) = %{version}-%{rel}
394
395 %description -n kernel%{_alt_kernel}-misc-vboxnetadp
396 VirtualBox Network Adapter Driver.
397
398 You should install this package in your Host OS.
399
400 %description -n kernel%{_alt_kernel}-misc-vboxnetadp -l pl.UTF-8
401 Moduł jądra Linuksa dla VirtualBoksa - sterownik witrualnej karty
402 sieciowej.
403
404 %package -n kernel%{_alt_kernel}-misc-vboxnetflt
405 Summary:        VirtualBox Network Filter Driver
406 Summary(pl.UTF-8):      Moduł jądra Linuksa dla VirtualBoksa
407 Release:        %{rel}@%{_kernel_ver_str}
408 Group:          Base/Kernel
409 Requires(post,postun):  /sbin/depmod
410 Requires(post): systemd-units >= 38
411 Requires:       dev >= 2.9.0-7
412 Requires:       kernel%{_alt_kernel}-misc-vboxdrv
413 %if %{with dist_kernel}
414 %requires_releq_kernel
415 Requires(postun):       %releq_kernel
416 %endif
417 Requires:       systemd-units >= 38
418 Suggests:       %{name}-kernel-init-host >= %{version}-%{rel}
419 Provides:       kernel(vboxnetflt) = %{version}-%{rel}
420
421 %description -n kernel%{_alt_kernel}-misc-vboxnetflt
422 VirtualBox Network Filter Driver.
423
424 You should install this package in your Host OS.
425
426 %description -n kernel%{_alt_kernel}-misc-vboxnetflt -l pl.UTF-8
427 Moduł jądra Linuksa dla VirtualBoksa - sterownik filtrowania sieci dla
428 systemu głównego.
429
430 %package -n kernel%{_alt_kernel}-misc-vboxpci
431 Summary:        VirtualBox PCI card passthrough Driver
432 Summary(pl.UTF-8):      Moduł jądra Linuksa dla VirtualBoksa
433 Release:        %{rel}@%{_kernel_ver_str}
434 Group:          Base/Kernel
435 Requires(post,postun):  /sbin/depmod
436 Requires(post): systemd-units >= 38
437 Requires:       dev >= 2.9.0-7
438 Requires:       kernel%{_alt_kernel}-misc-vboxdrv
439 %if %{with dist_kernel}
440 %requires_releq_kernel
441 Requires(postun):       %releq_kernel
442 %endif
443 Requires:       systemd-units >= 38
444 Suggests:       %{name}-kernel-init-host >= %{version}-%{rel}
445 Provides:       kernel(vboxpci) = %{version}-%{rel}
446
447 %description -n kernel%{_alt_kernel}-misc-vboxpci
448 VirtualBox PCI card passthrough driver that works as host proxy
449 between guest and PCI hardware.
450
451 You should install this package in your Host OS.
452
453 %description -n kernel%{_alt_kernel}-misc-vboxnetflt -l pl.UTF-8
454 Moduł jądra Linuksa dla VirtualBoksa - sterownik, ktory działa jako
455 proxy między gościem i gospodarzem sprzętu PCI.
456
457 %package -n kernel%{_alt_kernel}-misc-vboxsf
458 Summary:        Host file system access (Shared Folders) for VirtualBox
459 Summary(pl.UTF-8):      Moduł jądra Linuksa dla VirtualBoksa
460 Release:        %{rel}@%{_kernel_ver_str}
461 Group:          Base/Kernel
462 Requires(post,postun):  /sbin/depmod
463 Requires(post): systemd-units >= 38
464 Requires:       dev >= 2.9.0-7
465 Requires:       kernel%{_alt_kernel}-misc-vboxguest
466 %if %{with dist_kernel}
467 %requires_releq_kernel
468 Requires(postun):       %releq_kernel
469 %endif
470 Requires:       systemd-units >= 38
471 Suggests:       %{name}-kernel-init-guest >= %{version}-%{rel}
472 Provides:       kernel(vboxsf) = %{version}-%{rel}
473 Obsoletes:      kernel%{_alt_kernel}-misc-vboxvfs
474
475 %description -n kernel%{_alt_kernel}-misc-vboxsf
476 Host file system access (Shared Folders) for VirtualBox.
477
478 You should install this package in your Guest OS.
479
480 %description -n kernel%{_alt_kernel}-misc-vboxsf -l pl.UTF-8
481 Moduł jądra Linuksa dla VirtualBoksa - dostęp do plików systemu
482 głównego z poziomu systemu gościa.
483
484 %package -n kernel%{_alt_kernel}-misc-vboxvideo
485 Summary:        DRM support for VirtualBox
486 Summary(pl.UTF-8):      Moduł jądra Linuksa dla VirtualBoksa
487 Release:        %{rel}@%{_kernel_ver_str}
488 Group:          Base/Kernel
489 Requires(post,postun):  /sbin/depmod
490 Requires:       dev >= 2.9.0-7
491 %if %{with dist_kernel}
492 %requires_releq_kernel
493 %requires_releq_kernel -n drm
494 Requires(postun):       %releq_kernel
495 %endif
496 Provides:       kernel(vboxvideo) = %{version}-%{rel}
497
498 %description -n kernel%{_alt_kernel}-misc-vboxvideo
499 DRM support for VirtualBox.
500
501 You should install this package in your Guest OS.
502
503 %description -n kernel%{_alt_kernel}-misc-vboxvideo -l pl.UTF-8
504 Moduł jądra Linuksa dla VirtualBoksa - sterownik obsługi DRM.
505
506 %prep
507 %setup -q -n %{pname}-%{version}
508 %patch0 -p1
509 %patch1 -p1
510 %patch2 -p1
511 %patch3 -p1
512 %patch4 -p1
513 %patch5 -p1
514 %patch6 -p1
515
516 %{__sed} -i -e 's,@VBOX_DOC_PATH@,%{_docdir}/%{name}-%{version},' \
517         -e 's/Categories=.*/Categories=Utility;Emulator;/' src/VBox/Installer/common/virtualbox.desktop.in
518
519 # Respect LDFLAGS
520 %{__sed} -i -e "s@_LDFLAGS\.%{vbox_arch}*.*=@& %{rpmldflags}@g" \
521         -i Config.kmk src/libs/xpcom18a4/Config.kmk
522
523 %{__sed} 's#@LIBDIR@#%{_libdir}#' < %{SOURCE9} > VirtualBox-wrapper.sh
524
525 install -d PLD-MODULE-BUILD/{GuestDrivers,HostDrivers}
526 cd PLD-MODULE-BUILD
527 ../src/VBox/Additions/linux/export_modules guest-modules.tar.gz
528 tar -zxf guest-modules.tar.gz -C GuestDrivers
529
530 ../src/VBox/HostDrivers/linux/export_modules host-modules.tar.gz --without-hardening
531 tar -zxf host-modules.tar.gz -C HostDrivers
532 cd -
533 %patch10 -p1
534 %patch11 -p1
535
536 # using system kBuild package
537 %{__rm} -r kBuild
538
539 %build
540 %if %{with userspace}
541 echo "VBOX_WITH_TESTCASES := " > LocalConfig.kmk
542 ./configure \
543         --with-gcc="%{__cc}" \
544         --with-g++="%{__cxx}" \
545         %{!?with_doc:--disable-docs} \
546         --disable-java \
547         --disable-hardening \
548         --disable-kmods \
549         --enable-vnc \
550         %{__enable webservice} \
551         %{nil}
552
553 XSERVER_VERSION=$(rpm -q --queryformat '%{VERSION}\n' xorg-xserver-server-devel | awk -F. ' { print $1 $2 } ' 2> /dev/null || echo ERROR)
554 kmk %{?_smp_mflags} \
555         %{?with_verbose:KBUILD_VERBOSE=3} \
556         USER=%(id -un) \
557         VBOX_VERSION_STRING='$(VBOX_VERSION_MAJOR).$(VBOX_VERSION_MINOR).$(VBOX_VERSION_BUILD)'_PLD \
558         XSERVER_VERSION="$XSERVER_VERSION" \
559         VBOX_USE_SYSTEM_XORG_HEADERS=1 \
560         TOOL_GCC3_CFLAGS="%{rpmcflags}" \
561         TOOL_GCC3_CXXFLAGS="%{rpmcxxflags}" \
562         VBOX_GCC_OPT="%{rpmcxxflags}" \
563         %{nil}
564 %endif
565
566 %if %{with kernel}
567 export KERN_DIR=%{_kernelsrcdir}
568 cd PLD-MODULE-BUILD/HostDrivers
569 %build_kernel_modules -m vboxdrv -C vboxdrv
570 %build_kernel_modules -m vboxnetadp -C vboxnetadp
571 %build_kernel_modules -m vboxnetflt -C vboxnetflt
572 %build_kernel_modules -m vboxpci -C vboxpci
573
574 cd ../GuestDrivers
575 %build_kernel_modules -m vboxguest -C vboxguest
576 cp -a vboxguest/Module.symvers vboxsf
577 %build_kernel_modules -m vboxsf -C vboxsf -c
578 %build_kernel_modules -m vboxvideo -C vboxvideo
579 cd ../..
580 %{__cc} %{rpmcflags} %{rpmldflags} -Wall -Werror src/VBox/Additions/linux/sharedfolders/{mount.vboxsf.c,vbsfmount.c} -o mount.vboxsf
581 %endif
582
583 %install
584 rm -rf $RPM_BUILD_ROOT
585
586 %if %{with userspace}
587 install -d $RPM_BUILD_ROOT{%{_bindir},%{_sbindir},%{_libdir}/%{pname}/ExtensionPacks} \
588         $RPM_BUILD_ROOT{%{_pixmapsdir},%{_desktopdir}} \
589         $RPM_BUILD_ROOT%{_libdir}/xorg/modules/{drivers,dri,input} \
590         $RPM_BUILD_ROOT{/lib/udev,/etc/udev/rules.d}
591
592 # test if we can hardlink -- %{_builddir} and $RPM_BUILD_ROOT on same partition
593 if cp -al VBox.png $RPM_BUILD_ROOT/Vbox.png 2>/dev/null; then
594         l=l
595         %{__rm} -f $RPM_BUILD_ROOT/VBox.png
596 fi
597
598 cp -a$l %{outdir}/* $RPM_BUILD_ROOT%{_libdir}/%{pname}
599
600 %if %{with doc}
601 ln -sf %{_docdir}/%{pname}-doc-%{version}/UserManual.pdf $RPM_BUILD_ROOT%{_libdir}/%{pname}/UserManual.pdf
602 ln -sf %{_docdir}/%{pname}-doc-%{version}/UserManual_fr_FR.pdf $RPM_BUILD_ROOT%{_libdir}/%{pname}/UserManual_fr_FR.pdf
603 %endif
604
605 install -d $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions
606 cp -a$l %{SOURCE1} $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/VBoxGuestAdditions.iso
607 install -p %{SOURCE10} $RPM_BUILD_ROOT%{_sbindir}/mount.vdi
608 install -p VirtualBox-wrapper.sh $RPM_BUILD_ROOT%{_libdir}/%{pname}
609 for f in {VBox{BFE,Headless,Manage,SDL,SVC,Tunctl,XPCOMIPCD},VirtualBox}; do
610         ln -s %{_libdir}/%{pname}/VirtualBox-wrapper.sh $RPM_BUILD_ROOT%{_bindir}/$f
611 done
612
613 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/VBox.png,%{_pixmapsdir}/virtualbox.png}
614 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname},%{_desktopdir}}/virtualbox.desktop
615
616 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions/vboxvideo_drv_system.so,%{_libdir}/xorg/modules/drivers/vboxvideo_drv.so}
617 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions/VBoxOGL.so,%{_libdir}/xorg/modules/dri/vboxvideo_dri.so}
618
619 # XXX: where else to install them that vboxvideo_dri.so finds them? patch with rpath?
620 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLarrayspu.so
621 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLcrutil.so
622 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLerrorspu.so
623 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLfeedbackspu.so
624 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLpackspu.so
625 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLpassthroughspu.so
626
627 cp -a %{SOURCE11} $RPM_BUILD_ROOT/etc/udev/rules.d/virtualbox.rules
628 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname},/lib/udev}/VBoxCreateUSBNode.sh
629
630 install -d $RPM_BUILD_ROOT/%{_lib}/security
631 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,/%{_lib}/security}/pam_vbox.so
632
633 # cleanup unpackaged
634 %{__rm} -r $RPM_BUILD_ROOT%{_libdir}/%{pname}/{src,sdk,testcase}
635 %{__rm} -r $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/src
636 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/vboxkeyboard.tar.bz2
637 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/tst*
638 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/ExtensionPacks/VNC/ExtPack-license.*
639
640 # Guest Only Tools
641 install -d $RPM_BUILD_ROOT/etc/{X11/xinit/xinitrc.d,xdg/autostart}
642 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_bindir}}/VBoxService
643 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_bindir}}/VBoxClient
644 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_bindir}}/VBoxControl
645 install -p -D src/VBox/Additions/x11/Installer/98vboxadd-xclient \
646         $RPM_BUILD_ROOT/etc/X11/xinit/xinitrc.d/98vboxadd-xclient.sh
647 cp -p src/VBox/Additions/x11/Installer/vboxclient.desktop \
648         $RPM_BUILD_ROOT/etc/xdg/autostart/vboxclient.desktop
649
650 # unknown - checkme
651 %if 1
652 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/SUPInstall
653 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/SUPLoggerCtl
654 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/SUPUninstall
655 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/VBox.sh
656 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/vboxshell.py
657 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/xpidl
658 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/runasroot.sh
659 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/load.sh
660 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/loadall.sh
661 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/dtrace/lib/%{vbox_arch}/CPUMInternal.d
662 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/dtrace/lib/%{vbox_arch}/cpumctx.d
663 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/dtrace/lib/%{vbox_arch}/vbox-arch-types.d
664 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/dtrace/lib/%{vbox_arch}/vbox-types.d
665 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/dtrace/lib/%{vbox_arch}/vm.d
666 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/dtrace/lib/%{vbox_arch}/x86.d
667 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/dtrace/testcase/%{vbox_arch}/vbox-vm-struct-test.d
668 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/helpers/generate_service_file
669 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/scripts/VBoxHeadlessXOrg.sh
670 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/scripts/generated.sh
671 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/scripts/init_template.sh
672 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/scripts/install_service
673 %endif
674
675 # packaged by kernel part
676 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/mount.vboxsf
677 %endif
678
679 %if %{with kernel}
680 install -d $RPM_BUILD_ROOT{/etc/{rc.d/init.d,modules-load.d},%{_sbindir},%{systemdunitdir}}
681 install -p %{SOURCE3} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxdrv
682 install -p %{SOURCE4} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxguest
683 install -p %{SOURCE5} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxnetflt
684 install -p %{SOURCE6} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxsf
685 install -p %{SOURCE7} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxnetadp
686 install -p %{SOURCE8} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxpci
687 %install_kernel_modules -m PLD-MODULE-BUILD/HostDrivers/vboxdrv/vboxdrv -d misc
688 %install_kernel_modules -m PLD-MODULE-BUILD/HostDrivers/vboxnetadp/vboxnetadp -d misc
689 %install_kernel_modules -m PLD-MODULE-BUILD/HostDrivers/vboxnetflt/vboxnetflt -d misc
690 %install_kernel_modules -m PLD-MODULE-BUILD/HostDrivers/vboxpci/vboxpci -d misc
691 %install_kernel_modules -m PLD-MODULE-BUILD/GuestDrivers/vboxguest/vboxguest -d misc
692 %install_kernel_modules -m PLD-MODULE-BUILD/GuestDrivers/vboxsf/vboxsf -d misc
693 %install_kernel_modules -m PLD-MODULE-BUILD/GuestDrivers/vboxvideo/vboxvideo -d misc
694
695 install -p mount.vboxsf $RPM_BUILD_ROOT%{_sbindir}/mount.vboxsf
696
697 # Tell systemd to load modules
698 cp -p %{SOURCE12} $RPM_BUILD_ROOT/etc/modules-load.d/vboxdrv.conf
699 cp -p %{SOURCE13} $RPM_BUILD_ROOT/etc/modules-load.d/vboxguest.conf
700 cp -p %{SOURCE14} $RPM_BUILD_ROOT/etc/modules-load.d/vboxnetflt.conf
701 cp -p %{SOURCE15} $RPM_BUILD_ROOT/etc/modules-load.d/vboxsf.conf
702 cp -p %{SOURCE16} $RPM_BUILD_ROOT/etc/modules-load.d/vboxnetadp.conf
703 cp -p %{SOURCE17} $RPM_BUILD_ROOT/etc/modules-load.d/vboxpci.conf
704
705 # And mask module-loading services
706 ln -sf /dev/null $RPM_BUILD_ROOT%{systemdunitdir}/vboxdrv.service
707 ln -sf /dev/null $RPM_BUILD_ROOT%{systemdunitdir}/vboxguest.service
708 ln -sf /dev/null $RPM_BUILD_ROOT%{systemdunitdir}/vboxnetflt.service
709 ln -sf /dev/null $RPM_BUILD_ROOT%{systemdunitdir}/vboxsf.service
710 ln -sf /dev/null $RPM_BUILD_ROOT%{systemdunitdir}/vboxnetadp.service
711 ln -sf /dev/null $RPM_BUILD_ROOT%{systemdunitdir}/vboxpci.service
712 %endif
713
714 %clean
715 rm -rf $RPM_BUILD_ROOT
716
717 %pre
718 %groupadd -g 221 -r -f vbox
719
720 %post
721 %update_desktop_database
722 for i in /sys/bus/usb/devices/*; do
723         if [ -r "$i/dev" ]; then
724                 dev="`cat "$i/dev" 2>/dev/null || true`"
725                 major="`expr "$dev" : '\(.*\):' 2> /dev/null || true`"
726                 minor="`expr "$dev" : '.*:\(.*\)' 2> /dev/null || true`"
727                 class="`cat $i/bDeviceClass 2> /dev/null || true`"
728                 /lib/udev/VBoxCreateUSBNode.sh "$major" "$minor" "$class" vbox 2>/dev/null
729         fi
730 done
731
732 cat << 'EOF'
733 You must install vboxdrv kernel module for this software to work:
734     kernel-misc-vboxdrv-%{version}-%{rel}@%{_kernel_ver_str}
735
736 Additionally you might want to install:
737     kernel-misc-vboxnetadp-%{version}-%{rel}@%{_kernel_ver_str}
738     kernel-misc-vboxnetflt-%{version}-%{rel}@%{_kernel_ver_str}
739     kernel-misc-vboxpci-%{version}-%{rel}@%{_kernel_ver_str}
740
741 On Guest Linux system you might want to install:
742     kernel-misc-vboxguest-%{version}-%{rel}@%{_kernel_ver_str}
743     kernel-misc-vboxsf-%{version}-%{rel}@%{_kernel_ver_str}
744     kernel-misc-vboxvideo-%{version}-%{rel}@%{_kernel_ver_str}
745
746 EOF
747
748 %postun
749 if [ "$1" = "0" ]; then
750         %groupremove vbox
751 fi
752
753 %post   -n kernel%{_alt_kernel}-misc-vboxdrv
754 %depmod %{_kernel_ver}
755 %vbox_kernel_post -d vboxdrv VirtualBox Support Driver
756
757 %preun -n kernel%{_alt_kernel}-misc-vboxdrv
758 if [ "$1" = "0" ]; then
759         %service vboxdrv stop
760 fi
761
762 %postun -n kernel%{_alt_kernel}-misc-vboxdrv
763 %depmod %{_kernel_ver}
764
765 %post   -n kernel%{_alt_kernel}-misc-vboxnetadp
766 %depmod %{_kernel_ver}
767 %vbox_kernel_post -d vboxnetadp VirtualBox Network HostOnly driver
768
769 %preun -n kernel%{_alt_kernel}-misc-vboxnetadp
770 if [ "$1" = "0" ]; then
771         %service vboxnetadp stop
772 fi
773
774 %postun -n kernel%{_alt_kernel}-misc-vboxnetadp
775 %depmod %{_kernel_ver}
776
777 %post   -n kernel%{_alt_kernel}-misc-vboxnetflt
778 %depmod %{_kernel_ver}
779 %vbox_kernel_post -d vboxnetflt VirtualBox Network Filter driver
780
781 %preun -n kernel%{_alt_kernel}-misc-vboxnetflt
782 if [ "$1" = "0" ]; then
783         %service vboxnetflt stop
784 fi
785
786 %postun -n kernel%{_alt_kernel}-misc-vboxnetflt
787 %depmod %{_kernel_ver}
788
789 %post   -n kernel%{_alt_kernel}-misc-vboxpci
790 %depmod %{_kernel_ver}
791 %vbox_kernel_post -d vboxpci VirtualBox PCI passthrough driver
792
793 %preun -n kernel%{_alt_kernel}-misc-vboxpci
794 if [ "$1" = "0" ]; then
795         %service vboxpci stop
796 fi
797
798 %postun -n kernel%{_alt_kernel}-misc-vboxpci
799 %depmod %{_kernel_ver}
800
801 %post   -n kernel%{_alt_kernel}-misc-vboxguest
802 %depmod %{_kernel_ver}
803 %vbox_kernel_post -d vboxguest VirtualBox Guest additions driver
804
805 %preun -n kernel%{_alt_kernel}-misc-vboxguest
806 if [ "$1" = "0" ]; then
807         %service vboxguest stop
808 fi
809
810 %postun -n kernel%{_alt_kernel}-misc-vboxguest
811 %depmod %{_kernel_ver}
812
813 %post   -n kernel%{_alt_kernel}-misc-vboxsf
814 %depmod %{_kernel_ver}
815 %vbox_kernel_post -d vboxsf VirtualBox Host file system access (Shared Folders)
816
817 %preun -n kernel%{_alt_kernel}-misc-vboxsf
818 if [ "$1" = "0" ]; then
819         %service vboxsf stop
820 fi
821
822 %postun -n kernel%{_alt_kernel}-misc-vboxsf
823 %depmod %{_kernel_ver}
824
825 %post   -n kernel%{_alt_kernel}-misc-vboxvideo
826 %depmod %{_kernel_ver}
827
828 %postun -n kernel%{_alt_kernel}-misc-vboxvideo
829 %depmod %{_kernel_ver}
830
831 %post kernel-init-host
832 /sbin/chkconfig --add vboxdrv
833 /sbin/chkconfig --add vboxnetadp
834 /sbin/chkconfig --add vboxnetflt
835 /sbin/chkconfig --add vboxpci
836 %systemd_reload
837
838 %preun kernel-init-host
839 if [ "$1" = "0" ]; then
840         /sbin/chkconfig --del vboxdrv
841         /sbin/chkconfig --del vboxnetadp
842         /sbin/chkconfig --del vboxnetflt
843         /sbin/chkconfig --del vboxpci
844 fi
845
846 %postun kernel-init-host
847 %systemd_reload
848
849 %post kernel-init-guest
850 /sbin/chkconfig --add vboxguest
851 /sbin/chkconfig --add vboxsf
852 %systemd_reload
853
854 %preun kernel-init-guest
855 if [ "$1" = "0" ]; then
856         /sbin/chkconfig --del vboxguest
857         /sbin/chkconfig --del vboxsf
858 fi
859
860 %postun kernel-init-guest
861 %systemd_reload
862
863 %if %{with userspace}
864 %files
865 %defattr(644,root,root,755)
866 %dir %{_libdir}/%{pname}
867 %dir %{_libdir}/%{pname}/ExtensionPacks
868 %dir %{_libdir}/%{pname}/ExtensionPacks/VNC
869 %dir %{_libdir}/%{pname}/ExtensionPacks/VNC/linux*
870 %dir %{_libdir}/%{pname}/additions
871 %dir %{_libdir}/%{pname}/components
872 %dir %{_libdir}/%{pname}/nls
873 %attr(755,root,root) %{_bindir}/VBoxBFE
874 %attr(755,root,root) %{_bindir}/VBoxHeadless
875 %attr(755,root,root) %{_bindir}/VBoxManage
876 %attr(755,root,root) %{_bindir}/VBoxSDL
877 %attr(755,root,root) %{_bindir}/VBoxSVC
878 %attr(755,root,root) %{_bindir}/VBoxTunctl
879 %attr(755,root,root) %{_bindir}/VBoxXPCOMIPCD
880 %attr(755,root,root) %{_bindir}/VirtualBox
881 %attr(755,root,root) %{_sbindir}/mount.vdi
882 %attr(755,root,root) %{_libdir}/%{pname}/DBGCPlugInDiggers.so
883 %attr(755,root,root) %{_libdir}/%{pname}/VBoxAuth.so
884 %attr(755,root,root) %{_libdir}/%{pname}/VBoxAuthSimple.so
885 %attr(755,root,root) %{_libdir}/%{pname}/VBoxAutostart
886 %attr(755,root,root) %{_libdir}/%{pname}/VBoxBFE
887 %attr(755,root,root) %{_libdir}/%{pname}/VBoxBalloonCtrl
888 %attr(755,root,root) %{_libdir}/%{pname}/VBoxDbg.so
889 %attr(755,root,root) %{_libdir}/%{pname}/VBoxDD2.so
890 %attr(755,root,root) %{_libdir}/%{pname}/VBoxDD.so
891 %attr(755,root,root) %{_libdir}/%{pname}/VBoxDDU.so
892 %attr(755,root,root) %{_libdir}/%{pname}/VBoxDragAndDropSvc.so
893 %attr(755,root,root) %{_libdir}/%{pname}/VBoxExtPackHelperApp
894 %attr(755,root,root) %{_libdir}/%{pname}/VBoxGuestControlSvc.so
895 %attr(755,root,root) %{_libdir}/%{pname}/VBoxGuestPropSvc.so
896 %attr(755,root,root) %{_libdir}/%{pname}/VBoxHeadless
897 %attr(755,root,root) %{_libdir}/%{pname}/VBoxHostChannel.so
898 %attr(755,root,root) %{_libdir}/%{pname}/VBoxKeyboard.so
899 %attr(755,root,root) %{_libdir}/%{pname}/VBoxManage
900 %if %{with doc}
901 %attr(755,root,root) %{_libdir}/%{pname}/VBoxManageHelp
902 %endif
903 %attr(755,root,root) %{_libdir}/%{pname}/VBoxNetAdpCtl
904 %attr(755,root,root) %{_libdir}/%{pname}/VBoxNetDHCP
905 %attr(755,root,root) %{_libdir}/%{pname}/VBoxOGLhostcrutil.so
906 %attr(755,root,root) %{_libdir}/%{pname}/VBoxOGLhosterrorspu.so
907 %attr(755,root,root) %{_libdir}/%{pname}/VBoxOGLrenderspu.so
908 %attr(755,root,root) %{_libdir}/%{pname}/VBoxPython*.so
909 %attr(755,root,root) %{_libdir}/%{pname}/VBoxREM.so
910 %ifarch %{ix86}
911 %attr(755,root,root) %{_libdir}/%{pname}/VBoxREM32.so
912 %attr(755,root,root) %{_libdir}/%{pname}/VBoxREM64.so
913 %endif
914 %attr(755,root,root) %{_libdir}/%{pname}/VBoxRT.so
915 %attr(755,root,root) %{_libdir}/%{pname}/VBoxSDL
916 %attr(755,root,root) %{_libdir}/%{pname}/VBoxSharedClipboard.so
917 %attr(755,root,root) %{_libdir}/%{pname}/VBoxSharedCrOpenGL.so
918 %attr(755,root,root) %{_libdir}/%{pname}/VBoxSharedFolders.so
919 %attr(755,root,root) %{_libdir}/%{pname}/VBoxSVC
920 %attr(755,root,root) %{_libdir}/%{pname}/VBoxSysInfo.sh
921 %attr(755,root,root) %{_libdir}/%{pname}/VBoxTestOGL
922 %attr(755,root,root) %{_libdir}/%{pname}/VBoxTunctl
923 %attr(755,root,root) %{_libdir}/%{pname}/VBoxVMM.so
924 %attr(755,root,root) %{_libdir}/%{pname}/VBoxVMMPreload
925 %attr(755,root,root) %{_libdir}/%{pname}/VBoxXPCOMC.so
926 %attr(755,root,root) %{_libdir}/%{pname}/VBoxXPCOMIPCD
927 %attr(755,root,root) %{_libdir}/%{pname}/VBoxXPCOM.so
928 %attr(755,root,root) %{_libdir}/%{pname}/VirtualBox
929 %attr(755,root,root) %{_libdir}/%{pname}/VirtualBox-wrapper.sh
930 %attr(755,root,root) %{_libdir}/%{pname}/ExtensionPacks/VNC/linux*/VBoxVNC*.so
931 %{_libdir}/%{pname}/VBoxDD2GC.gc
932 %{_libdir}/%{pname}/VBoxDDGC.gc
933 %{_libdir}/%{pname}/VMMGC.gc
934 %{_libdir}/%{pname}/VBoxDD2R0.r0
935 %{_libdir}/%{pname}/VBoxDDR0.r0
936 %{_libdir}/%{pname}/VMMR0.r0
937 #%{_libdir}/%{pname}/EfiThunk
938 %{_libdir}/%{pname}/VBoxEFI32.fd
939 %{_libdir}/%{pname}/VBoxEFI64.fd
940 %{_libdir}/%{pname}/components/VBoxXPCOMBase.xpt
941 %{_libdir}/%{pname}/ExtensionPacks/VNC/ExtPack.xml
942 %{_libdir}/%{pname}/components/VirtualBox_XPCOM.xpt
943 %attr(755,root,root) %{_libdir}/%{pname}/components/VBoxC.so
944 %attr(755,root,root) %{_libdir}/%{pname}/components/VBoxSVCM.so
945 %attr(755,root,root) %{_libdir}/%{pname}/components/VBoxXPCOMIPCC.so
946 %lang(bg) %{_libdir}/%{pname}/nls/*_bg.qm
947 %lang(ca) %{_libdir}/%{pname}/nls/*_ca.qm
948 %lang(ca_VA) %{_libdir}/%{pname}/nls/*_ca_VA.qm
949 %lang(cs) %{_libdir}/%{pname}/nls/*_cs.qm
950 %lang(da) %{_libdir}/%{pname}/nls/*_da.qm
951 %lang(de) %{_libdir}/%{pname}/nls/*_de.qm
952 %lang(en) %{_libdir}/%{pname}/nls/*_en.qm
953 %lang(es) %{_libdir}/%{pname}/nls/*_es.qm
954 %lang(eu) %{_libdir}/%{pname}/nls/*_eu.qm
955 %lang(fi) %{_libdir}/%{pname}/nls/*_fa_IR.qm
956 %lang(fi) %{_libdir}/%{pname}/nls/*_fi.qm
957 %lang(fr) %{_libdir}/%{pname}/nls/*_fr.qm
958 %lang(gl_ES) %{_libdir}/%{pname}/nls/*_gl_ES.qm
959 %lang(hu) %{_libdir}/%{pname}/nls/*_hu.qm
960 %lang(id) %{_libdir}/%{pname}/nls/*_id.qm
961 %lang(it) %{_libdir}/%{pname}/nls/*_it.qm
962 %lang(ja) %{_libdir}/%{pname}/nls/*_ja.qm
963 %lang(km_KH) %{_libdir}/%{pname}/nls/*_km_KH.qm
964 %lang(ko) %{_libdir}/%{pname}/nls/*_ko.qm
965 %lang(lt) %{_libdir}/%{pname}/nls/*_lt.qm
966 %lang(nl) %{_libdir}/%{pname}/nls/*_nl.qm
967 %lang(pl) %{_libdir}/%{pname}/nls/*_pl.qm
968 %lang(pt) %{_libdir}/%{pname}/nls/*_pt.qm
969 %lang(pt_BR) %{_libdir}/%{pname}/nls/*_pt_BR.qm
970 %lang(ro) %{_libdir}/%{pname}/nls/*_ro.qm
971 %lang(ru) %{_libdir}/%{pname}/nls/*_ru.qm
972 %lang(sk) %{_libdir}/%{pname}/nls/*_sk.qm
973 %lang(sr) %{_libdir}/%{pname}/nls/*_sr.qm
974 %lang(sv) %{_libdir}/%{pname}/nls/*_sv.qm
975 %lang(tr) %{_libdir}/%{pname}/nls/*_tr.qm
976 %lang(uk) %{_libdir}/%{pname}/nls/*_uk.qm
977 %lang(zh_CN) %{_libdir}/%{pname}/nls/*_zh_CN.qm
978 %lang(zh_TW) %{_libdir}/%{pname}/nls/*_zh_TW.qm
979 %{_pixmapsdir}/virtualbox.png
980 %{_desktopdir}/*.desktop
981 %{_libdir}/%{pname}/icons
982 %{_libdir}/%{pname}/virtualbox.xml
983
984 %config(noreplace) %verify(not md5 mtime size) /etc/udev/rules.d/virtualbox.rules
985 %attr(755,root,root) /lib/udev/VBoxCreateUSBNode.sh
986
987 %files additions
988 %defattr(644,root,root,755)
989 %{_libdir}/%{pname}/additions/VBoxGuestAdditions.iso
990
991 %files guest
992 %defattr(644,root,root,755)
993 # TODO: initscript for VBoxService
994 %attr(755,root,root) %{_bindir}/VBoxControl
995 %attr(755,root,root) %{_bindir}/VBoxService
996
997 %files guest-x11
998 %defattr(644,root,root,755)
999 # NOTE: unfinished, should contain .desktop files for starting up mouse
1000 # integration and other desktop services
1001 # NOTE: the filelist is incomplete too
1002 %attr(755,root,root) %{_bindir}/VBoxClient
1003 /etc/X11/xinit/xinitrc.d/98vboxadd-xclient.sh
1004 /etc/xdg/autostart/vboxclient.desktop
1005
1006 %attr(755,root,root) %{_libdir}/%{pname}/additions/autorun.sh
1007 %attr(755,root,root) %{_libdir}/%{pname}/additions/vboxadd
1008 %attr(755,root,root) %{_libdir}/%{pname}/additions/vboxadd-service
1009 %attr(755,root,root) %{_libdir}/%{pname}/additions/vboxadd-x11
1010
1011 %files -n pam-pam_vbox
1012 %defattr(644,root,root,755)
1013 %attr(755,root,root) /%{_lib}/security/pam_vbox.so
1014
1015 %if %{with doc}
1016 %files doc
1017 %defattr(644,root,root,755)
1018 # this is a symlink...
1019 %doc %{_libdir}/%{pname}/UserManual.pdf
1020 %lang(fr) %doc %{_libdir}/%{pname}/UserManual_fr_FR.pdf
1021 # ..to this file
1022 %doc %{outdir}/UserManual.pdf
1023 %lang(fr) %doc %{outdir}/UserManual_fr_FR.pdf
1024 %endif
1025
1026 %files -n xorg-driver-video-vboxvideo
1027 %defattr(644,root,root,755)
1028 %attr(755,root,root) %{_libdir}/xorg/modules/drivers/vboxvideo_drv.so
1029 %attr(755,root,root) %{_libdir}/xorg/modules/dri/vboxvideo_dri.so
1030 # vboxvideo_dri.so deps
1031 %attr(755,root,root) %{_libdir}/VBoxOGLarrayspu.so
1032 %attr(755,root,root) %{_libdir}/VBoxOGLcrutil.so
1033 %attr(755,root,root) %{_libdir}/VBoxOGLerrorspu.so
1034 %attr(755,root,root) %{_libdir}/VBoxOGLfeedbackspu.so
1035 %attr(755,root,root) %{_libdir}/VBoxOGLpackspu.so
1036 %attr(755,root,root) %{_libdir}/VBoxOGLpassthroughspu.so
1037 %endif
1038
1039 %if %{with kernel}
1040 %files kernel-init-host
1041 %defattr(644,root,root,755)
1042 %attr(754,root,root) /etc/rc.d/init.d/vboxdrv
1043 %attr(754,root,root) /etc/rc.d/init.d/vboxnetadp
1044 %attr(754,root,root) /etc/rc.d/init.d/vboxnetflt
1045 %attr(754,root,root) /etc/rc.d/init.d/vboxpci
1046 %{systemdunitdir}/vboxdrv.service
1047 %{systemdunitdir}/vboxnetadp.service
1048 %{systemdunitdir}/vboxnetflt.service
1049 %{systemdunitdir}/vboxpci.service
1050
1051 %files kernel-init-guest
1052 %defattr(644,root,root,755)
1053 %attr(754,root,root) /etc/rc.d/init.d/vboxguest
1054 %attr(754,root,root) /etc/rc.d/init.d/vboxsf
1055 %{systemdunitdir}/vboxguest.service
1056 %{systemdunitdir}/vboxsf.service
1057
1058 %files -n kernel%{_alt_kernel}-misc-vboxguest
1059 %defattr(644,root,root,755)
1060 %config(noreplace) %verify(not md5 mtime size) /etc/modules-load.d/vboxguest.conf
1061 /lib/modules/%{_kernel_ver}/misc/vboxguest.ko*
1062
1063 %files -n kernel%{_alt_kernel}-misc-vboxdrv
1064 %defattr(644,root,root,755)
1065 %config(noreplace) %verify(not md5 mtime size) /etc/modules-load.d/vboxdrv.conf
1066 /lib/modules/%{_kernel_ver}/misc/vboxdrv.ko*
1067
1068 %files -n kernel%{_alt_kernel}-misc-vboxnetadp
1069 %defattr(644,root,root,755)
1070 %config(noreplace) %verify(not md5 mtime size) /etc/modules-load.d/vboxnetadp.conf
1071 /lib/modules/%{_kernel_ver}/misc/vboxnetadp.ko*
1072
1073 %files -n kernel%{_alt_kernel}-misc-vboxnetflt
1074 %defattr(644,root,root,755)
1075 %config(noreplace) %verify(not md5 mtime size) /etc/modules-load.d/vboxnetflt.conf
1076 /lib/modules/%{_kernel_ver}/misc/vboxnetflt.ko*
1077
1078 %files -n kernel%{_alt_kernel}-misc-vboxpci
1079 %defattr(644,root,root,755)
1080 %config(noreplace) %verify(not md5 mtime size) /etc/modules-load.d/vboxpci.conf
1081 /lib/modules/%{_kernel_ver}/misc/vboxpci.ko*
1082
1083 %files -n kernel%{_alt_kernel}-misc-vboxsf
1084 %defattr(644,root,root,755)
1085 %config(noreplace) %verify(not md5 mtime size) /etc/modules-load.d/vboxsf.conf
1086 %attr(755,root,root) %{_sbindir}/mount.vboxsf
1087 /lib/modules/%{_kernel_ver}/misc/vboxsf.ko*
1088
1089 %files -n kernel%{_alt_kernel}-misc-vboxvideo
1090 %defattr(644,root,root,755)
1091 /lib/modules/%{_kernel_ver}/misc/vboxvideo.ko*
1092 %endif
This page took 0.119654 seconds and 4 git commands to generate.