]> git.pld-linux.org Git - packages/VirtualBox.git/blob - VirtualBox.spec
add OpenGL = 2.1, OpenGL-GLX = 1.3 provides to xorg-driver-video-vboxvideo package...
[packages/VirtualBox.git] / VirtualBox.spec
1 # NOTE
2 # - https://www.virtualbox.org/wiki/Linux%20build%20instructions
3 # TODO
4 # - java bindings
5 # - Package SDK.
6 # - Check License of VBoxGuestAdditions_*.iso, it's probably not GPL v2.
7 #   If so check if it is distributable.
8 # - guest x11 additions: currently incomplete/untested
9 # - enable VDE networking: --enable-vde
10 # - initscripts for webservice
11 # - fix desc for dkms packages (proper wording needed), kernel modules desc is mess as well
12 #
13 # Conditional build:
14 %bcond_without  doc             # don't build the documentation
15 %bcond_without  debuginfo               # disable debuginfo creation (to save space when compiling)
16 %bcond_without  dist_kernel     # without distribution kernel
17 %bcond_without  kernel          # don't build kernel module
18 %bcond_without  userspace       # don't build userspace package
19 %bcond_with     webservice      # webservice (SOAP) support
20 %bcond_without  lightdm         # lightdm greeter
21 %bcond_without  dkms            # build dkms package
22 %bcond_without  verbose
23
24 %if %{without kernel}
25 %undefine       with_dist_kernel
26 %else
27 %define         _duplicate_files_terminate_build        0
28 %endif
29
30 # The goal here is to have main, userspace, package built once with
31 # simple release number, and only rebuild kernel packages with kernel
32 # version as part of release number, without the need to bump release
33 # with every kernel change.
34 %if 0%{?_pld_builder:1} && %{with kernel} && %{with userspace}
35 %{error:kernel and userspace cannot be built at the same time on PLD builders}
36 exit 1
37 %endif
38
39 %if "%{_alt_kernel}" != "%{nil}"
40 %if 0%{?build_kernels:1}
41 %{error:alt_kernel and build_kernels are mutually exclusive}
42 exit 1
43 %endif
44 %undefine       with_userspace
45 %global         _build_kernels          %{alt_kernel}
46 %else
47 %global         _build_kernels          %{?build_kernels:,%{?build_kernels}}
48 %endif
49
50 %if %{without userspace}
51 # nothing to be placed to debuginfo package
52 %undefine       with_debuginfo
53 %endif
54
55 %if %{without debuginfo}
56 %define         _enable_debug_packages  0
57 %endif
58
59 %define         kbrs    %(echo %{_build_kernels} | tr , '\\n' | while read n ; do echo %%undefine alt_kernel ; [ -z "$n" ] || echo %%define alt_kernel $n ; echo "BuildRequires:kernel%%{_alt_kernel}-module-build >= 3:2.6.20.2" ; done)
60 %define         kpkg    %(echo %{_build_kernels} | tr , '\\n' | while read n ; do echo %%undefine alt_kernel ; [ -z "$n" ] || echo %%define alt_kernel $n ; echo %%kernel_pkg ; done)
61 %define         bkpkg   %(echo %{_build_kernels} | tr , '\\n' | while read n ; do echo %%undefine alt_kernel ; [ -z "$n" ] || echo %%define alt_kernel $n ; echo %%build_kernel_pkg ; done)
62 %define         ikpkg   %(echo %{_build_kernels} | tr , '\\n' | while read n ; do echo %%undefine alt_kernel ; [ -z "$n" ] || echo %%define alt_kernel $n ; echo %%install_kernel_pkg ; done)
63
64 %define         rel             3
65 %define         pname           VirtualBox
66 Summary:        VirtualBox - x86 hardware virtualizer
67 Summary(pl.UTF-8):      VirtualBox - wirtualizator sprzętu x86
68 Name:           %{pname}%{?_pld_builder:%{?with_kernel:-kernel}}%{_alt_kernel}
69 Version:        4.3.8
70 Release:        %{rel}%{?_pld_builder:%{?with_kernel:@%{_kernel_ver_str}}}
71 License:        GPL v2
72 Group:          Applications/Emulators
73 Source0:        http://download.virtualbox.org/virtualbox/%{version}/%{pname}-%{version}.tar.bz2
74 # Source0-md5:  422ab09b7eb9c0564b55a6a0a6e6678f
75 Source1:        http://download.virtualbox.org/virtualbox/%{version}/VBoxGuestAdditions_%{version}.iso
76 # Source1-md5:  f23d3980a509418b2dcb614483271ffa
77 Source2:        vboxservice.init
78 Source3:        vboxservice.service
79 Source5:        mount.vdi
80 Source6:        udev.rules
81 Source7:        %{pname}-virtualbox-host-modules-load.conf
82 Source8:        %{pname}-virtualbox-guest-modules-load.conf
83 Patch0:         %{pname}-configure-spaces.patch
84 Patch1:         %{pname}-VBoxSysInfo.patch
85 Patch2:         %{pname}-warning_workaround.patch
86 Patch3:         %{pname}-dri.patch
87 Patch4:         wrapper.patch
88 Patch5:         xserver-1.12.patch
89 Patch6:         hardening-shared.patch
90 Patch7:         lightdm-greeter-glib-includes.patch
91 Patch8:         lightdm-greeter-g++-link.patch
92 Patch9:         pld-guest.patch
93 Patch10:        16-no-update.patch
94 Patch11:        18-system-xorg.patch
95 URL:            http://www.virtualbox.org/
96 %if %{with userspace}
97 %ifarch %{x8664}
98 BuildRequires:  gcc-multilib
99 BuildRequires:  glibc-devel(i686)
100 BuildRequires:  libstdc++-multilib-devel
101 BuildRequires:  libstdc++-multilib-static
102 %endif
103 %if "%{pld_release}" == "ac"
104 BuildRequires:  XFree86-devel
105 %else
106 BuildRequires:  xorg-lib-libXcomposite-devel
107 BuildRequires:  xorg-lib-libXcursor-devel
108 BuildRequires:  xorg-lib-libXmu-devel
109 BuildRequires:  xorg-proto-glproto-devel
110 BuildRequires:  xorg-xserver-server-devel
111 %endif
112 BuildRequires:  OpenGL-GLU-devel
113 BuildRequires:  OpenGL-devel
114 BuildRequires:  QtGui-devel
115 BuildRequires:  QtNetwork-devel
116 BuildRequires:  QtOpenGL-devel
117 BuildRequires:  SDL-devel >= 1.2.7
118 BuildRequires:  acpica
119 BuildRequires:  alsa-lib-devel >= 1.0.6
120 BuildRequires:  bash
121 BuildRequires:  bcc
122 BuildRequires:  bin86
123 BuildRequires:  curl-devel
124 BuildRequires:  device-mapper-devel
125 %{?with_doc:BuildRequires:      docbook-dtd44-xml}
126 BuildRequires:  fakeroot
127 %{?with_lightdm:BuildRequires:  fltk-devel}
128 BuildRequires:  gcc >= 5:3.2.3
129 %{?with_webservice:BuildRequires:       gsoap-devel}
130 BuildRequires:  issue
131 BuildRequires:  kBuild >= 0.1.9998.2700
132 BuildRequires:  libIDL-devel
133 BuildRequires:  libcap-static
134 BuildRequires:  libdrm-devel
135 BuildRequires:  libpng-devel >= 1.2.5
136 BuildRequires:  libstdc++-devel >= 5:3.2.3
137 BuildRequires:  libstdc++-static >= 5:3.2.3
138 BuildRequires:  libuuid-devel
139 BuildRequires:  libvncserver-devel >= 0.9.9
140 BuildRequires:  libvpx-devel
141 BuildRequires:  libxml2-devel >= 2.6.26
142 BuildRequires:  libxslt-devel >= 1.1.17
143 BuildRequires:  libxslt-progs >= 1.1.17
144 %{?with_lightdm:BuildRequires:  lightdm-libs-qt-devel}
145 BuildRequires:  makeself
146 BuildRequires:  mkisofs
147 BuildRequires:  pam-devel
148 BuildRequires:  pixman-devel
149 BuildRequires:  pkgconfig
150 BuildRequires:  pulseaudio-devel >= 0.9.0
151 BuildRequires:  python-devel
152 BuildRequires:  python-modules
153 BuildRequires:  qt4-build >= 4.2.0
154 BuildRequires:  qt4-linguist
155 BuildRequires:  rpmbuild(macros) >= 1.678
156 BuildRequires:  sed >= 4.0
157 %if %{with doc}
158 BuildRequires:  texlive-fonts-bitstream
159 BuildRequires:  texlive-fonts-other
160 BuildRequires:  texlive-fonts-type1-bitstream
161 BuildRequires:  texlive-format-pdflatex
162 BuildRequires:  texlive-latex-ucs
163 BuildRequires:  texlive-xetex
164 %endif
165 BuildRequires:  which
166 BuildRequires:  xalan-c-devel >= 1.10.0
167 BuildRequires:  xerces-c-devel >= 2.6.0
168 BuildRequires:  yasm
169 BuildRequires:  zlib-devel >= 1.2.1
170 %endif
171 %{?with_dist_kernel:%{expand:%kbrs}}
172 Requires(post,preun):   /sbin/chkconfig
173 Requires(postun):       /usr/sbin/groupdel
174 Requires(pre):  /usr/bin/getgid
175 Requires(pre):  /usr/sbin/groupadd
176 Requires:       libvncserver >= 0.9.9
177 Requires:       udev-core
178 Provides:       group(vbox)
179 Obsoletes:      VirtualBox-udev < 4.2.10-5
180 ExclusiveArch:  %{ix86} %{x8664}
181 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
182
183 %ifarch %{x8664}
184 %define         vbox_arch       amd64
185 %else
186 %define         vbox_arch       x86
187 %endif
188 %define         vbox_platform   linux.%{vbox_arch}
189 %define         outdir          out/%{vbox_platform}/release/bin
190 %define         objdir          out/%{vbox_platform}/release/obj
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 gui
238 Summary:        Qt GUI part for VirtualBox
239 Group:          X11/Applications
240 Requires:       %{name} = %{version}-%{release}
241 Requires:       QtCore >= 4.7.0
242 Requires:       desktop-file-utils
243 Requires:       desktop-file-utils
244 Requires:       fontconfig
245 Requires:       fonts-Type1-urw
246 Requires:       gtk-update-icon-cache
247 Requires:       hicolor-icon-theme
248 Requires:       shared-mime-info
249 Suggests:       gxmessage
250 Conflicts:      %{name} < 4.3.8-3
251
252 %description gui
253 Qt GUI part for VirtualBox.
254
255 %package doc
256 Summary:        VirtualBox documentation
257 Group:          Documentation
258
259 %description doc
260 This package contains VirtualBox User Manual.
261
262 %package additions
263 Summary:        VirtualBox Guest Additions
264 Group:          Base
265 Requires:       %{name} = %{version}
266 %if "%{_rpmversion}" >= "5"
267 BuildArch:      noarch
268 %endif
269
270 %description additions
271 VirtualBox Guest Additions.
272
273 This package contains ISO9660 image with drivers for Guest OS.
274
275 You should install this package in your Host OS.
276
277 %package guest
278 Summary:        VirtualBox Guest tools
279 Group:          Base
280 Provides:       group(vboxsf)
281 Requires(post): systemd-units >= 38
282 Requires(post,preun):   /sbin/chkconfig
283 Requires(postun):       /usr/sbin/groupdel
284 Requires(pre):  /usr/bin/getgid
285 Requires(pre):  /usr/sbin/groupadd
286 Requires:       rc-scripts
287 Requires:       systemd-units >= 38
288 Suggests:       kernel(vboxguest)
289 Suggests:       kernel(vboxsf)
290 Suggests:       pam-pam_vbox
291
292 %description guest
293 Tools that utilize kernel modules for supporting integration with the
294 Host, including file sharing.
295
296 You should install this package in your Guest OS for base VirtualBox
297 communication
298
299 %package guest-x11
300 Summary:        VirtualBox Guest X11 Additions
301 Group:          X11/Applications
302 Requires:       %{name}-guest = %{version}-%{release}
303 Requires:       xorg-app-xrandr
304 Requires:       xorg-driver-video-vboxvideo = %{version}-%{release}
305 Suggests:       kernel(vboxvideo)
306 Obsoletes:      xorg-driver-input-vboxmouse < %{version}-%{release}
307
308 %description guest-x11
309 Tools for X11 session that utilize kernel modules for supporting
310 integration with the Host, like tracking of mouse pointer movement and
311 X.org X11 video and mouse drivers
312
313 You should install this package in your Guest OS for X11 session.
314
315 %package webservice
316 Summary:        VirtualBox Web Service
317 Group:          Applications/Emulators
318 Requires:       %{name} = %{version}-%{release}
319
320 %description webservice
321 This package contains VirtualBox web service API daemon. It allows to
322 control virtual machines via web interface.
323
324 %package -n lightdm-greeter-vbox
325 Summary:        VirtualBox greeter for lightdm
326 Group:          Themes
327 # NOTE: '#' in url is lost because rpm treats it as comment, even hacking with
328 # macros doesn't help as rpmbuild takes final result to parse
329 URL:            http://www.virtualbox.org/manual/ch09.html#autologon_unix_lightdm
330 Requires:       kernel(vboxguest)
331 Requires:       lightdm >= 1.0.1
332 Requires:       pam-pam_vbox = %{version}-%{release}
333 Provides:       lightdm-greeter
334
335 %description -n lightdm-greeter-vbox
336 VirtualBox greeter for LightDM.
337
338 %package -n pam-pam_vbox
339 Summary:        PAM module to perform automated guest logons
340 Group:          Base
341
342 %description  -n pam-pam_vbox
343 PAM module (Pluggable Authentication Module) which can be used to
344 perform automated guest logons.
345
346 %package -n xorg-driver-video-vboxvideo
347 Summary:        X.org video driver for VirtualBox guest OS
348 Summary(pl.UTF-8):      Sterownik grafiki dla systemu gościa w VirtualBoksie
349 Group:          X11/Applications
350 Requires:       Mesa-dri-driver-swrast
351 Requires:       xorg-xserver-libdri >= 1.7.4
352 Requires:       xorg-xserver-server >= 1.0.99.901
353 Requires:       xorg-xserver-server(videodrv-abi) <= 15.0
354 Requires:       xorg-xserver-server(videodrv-abi) >= 2.0
355 Provides:       OpenGL = 2.1
356 Provides:       OpenGL-GLX = 1.3
357 Provides:       xorg-driver-video
358 Provides:       xorg-xserver-module(glx)
359
360 %description -n xorg-driver-video-vboxvideo
361 X.org video driver for VirtualBox guest OS.
362
363 %description -n xorg-driver-video-vboxvideo -l pl.UTF-8
364 Sterownik grafiki dla systemu gościa w VirtualBoksie.
365
366 %package -n dkms-vboxguest
367 Summary:        VirtualBox kernel modules source for Linux Guest
368 Summary(pl.UTF-8):      Moduły VirtualBoksa do jądra Linuksa dla systemu gościa
369 License:        GPL v2+
370 Group:          Base/Kernel
371 Requires(pre):  dkms
372 Requires(post): dkms
373 %if "%{_rpmversion}" >= "5"
374 BuildArch:      noarch
375 %endif
376
377 %description -n dkms-vboxguest
378 This package contains DKMS-ready VirtualBox Guest Additions for Linux
379 Module, host file system access (Shared Folders) and DRM support for
380 Linux guest system.
381
382 %description -n dkms-vboxguest -l pl.UTF-8
383 Ten pakiet zawiera moduł jądra Linuksa vboxguest dla VirtualBoksa -
384 dodatki dla systemu gościa, dostęp do plików systemu głównego z
385 poziomu systemu gościa i sterownik obsługi DRM.
386
387 %package -n dkms-vboxhost
388 Summary:        VirtualBox Support Drivers source
389 Summary(pl.UTF-8):      Moduły jądra Linuksa dla VirtualBoksa
390 License:        GPL v2+
391 Group:          Base/Kernel
392 Requires(pre):  dkms
393 Requires(post): dkms
394 %if "%{_rpmversion}" >= "5"
395 BuildArch:      noarch
396 %endif
397
398 %description -n dkms-vboxhost
399 This package contains DKMS enabled sourcecode of VirtualBox Support
400 Driver, Network Adapter Driver, Network Filter Driver and PCI card
401 passthrough driver that works as host proxy between guest and PCI
402 hardware.
403
404 %description -n dkms-vboxhost -l pl.UTF-8
405 Ten pakiet zawiera sterownik wsparcia dla systemu głównego, sterownik
406 witrualnej karty sieciowej, sterownik filtrowania sieci dla systemu
407 głównego oraz sterownik, ktory działa jako proxy między gościem i
408 gospodarzem sprzętu PCI.
409
410 # KERNEL PACKAGES
411
412 # KEEP ALL REGULAR SUBPACKAGES BEFORE KERNEL PACKAGES.
413
414 %define kernel_pkg()\
415 %package -n kernel%{_alt_kernel}-virtualbox-guest\
416 Summary:        VirtualBox kernel modules for Linux Guest\
417 Summary(pl.UTF-8):      Moduły VirtualBoksa do jądra Linuksa dla systemu gościa\
418 Release:        %{rel}@%{_kernel_ver_str}\
419 Group:          Base/Kernel\
420 Requires(post,postun):  /sbin/depmod\
421 Requires(post): systemd-units >= 38\
422 Requires:       dev >= 2.9.0-7\
423 Requires:       systemd-units >= 38\
424 %if %{with dist_kernel}\
425 %requires_releq_kernel\
426 Requires:       %{releq_kernel -n drm}\
427 Requires(postun):       %releq_kernel\
428 %endif\
429 Provides:       kernel(vboxguest) = %{version}-%{rel}\
430 Provides:       kernel(vboxsf) = %{version}-%{rel}\
431 Provides:       kernel(vboxvideo) = %{version}-%{rel}\
432 Obsoletes:      kernel-init-guest\
433 Conflicts:      kernel%{_alt_kernel}-virtualbox-host\
434 \
435 %description -n kernel%{_alt_kernel}-virtualbox-guest\
436 This package contains VirtualBox Guest Additions for Linux Module,\
437 host file system access (Shared Folders) and DRM support for\
438 Linux guest system.\
439 \
440 %description -n kernel%{_alt_kernel}-virtualbox-guest -l pl.UTF-8\
441 Ten pakiet zawiera moduł jądra Linuksa vboxguest dla VirtualBoksa -\
442 dodatki dla systemu gościa, dostęp do plików systemu głównego z\
443 poziomu systemu gościa i sterownik obsługi DRM.\
444 \
445 %package -n kernel%{_alt_kernel}-virtualbox-host\
446 Summary:        VirtualBox Support Drivers\
447 Summary(pl.UTF-8):      Moduły jądra Linuksa dla VirtualBoksa\
448 Release:        %{rel}@%{_kernel_ver_str}\
449 Group:          Base/Kernel\
450 Requires(post,postun):  /sbin/depmod\
451 Requires(post): systemd-units >= 38\
452 Requires:       dev >= 2.9.0-7\
453 %if %{with dist_kernel}\
454 %requires_releq_kernel\
455 Requires(postun):       %releq_kernel\
456 %endif\
457 Requires:       systemd-units >= 38\
458 Provides:       kernel(vboxdrv) = %{version}-%{rel}\
459 Provides:       kernel(vboxnetadp) = %{version}-%{rel}\
460 Provides:       kernel(vboxnetflt) = %{version}-%{rel}\
461 Provides:       kernel(vboxpci) = %{version}-%{rel}\
462 Obsoletes:      kernel-init-host\
463 \
464 %description -n kernel%{_alt_kernel}-virtualbox-host\
465 This package contains VirtualBox Support Driver, Network Adapter\
466 Driver, Network Filter Driver and PCI card passthrough driver that\
467 works as host proxy between guest and PCI hardware.\
468 \
469 %description -n kernel%{_alt_kernel}-virtualbox-host -l pl.UTF-8\
470 Ten pakiet zawiera sterownik wsparcia dla systemu głównego, sterownik\
471 witrualnej karty sieciowej, sterownik filtrowania sieci dla systemu\
472 głównego oraz sterownik, ktory działa jako proxy między gościem i\
473 gospodarzem sprzętu PCI.\
474 \
475 %if %{with kernel}\
476 %files -n kernel%{_alt_kernel}-virtualbox-guest\
477 %defattr(644,root,root,755)\
478 %config(noreplace) %verify(not md5 mtime size) /etc/modules-load.d/virtualbox-guest.conf\
479 /lib/modules/%{_kernel_ver}/misc/vboxguest.ko*\
480 /lib/modules/%{_kernel_ver}/misc/vboxsf.ko*\
481 /lib/modules/%{_kernel_ver}/misc/vboxvideo.ko*\
482 \
483 %files -n kernel%{_alt_kernel}-virtualbox-host\
484 %config(noreplace) %verify(not md5 mtime size) /etc/modules-load.d/virtualbox-host.conf\
485 /lib/modules/%{_kernel_ver}/misc/vboxdrv.ko*\
486 /lib/modules/%{_kernel_ver}/misc/vboxnetadp.ko*\
487 /lib/modules/%{_kernel_ver}/misc/vboxnetflt.ko*\
488 /lib/modules/%{_kernel_ver}/misc/vboxpci.ko*\
489 %endif\
490 \
491 %post -n kernel%{_alt_kernel}-virtualbox-guest\
492 %depmod %{_kernel_ver}\
493 \
494 %postun -n kernel%{_alt_kernel}-virtualbox-guest\
495 %depmod %{_kernel_ver}\
496 \
497 %post   -n kernel%{_alt_kernel}-virtualbox-host\
498 %depmod %{_kernel_ver}\
499 \
500 %postun -n kernel%{_alt_kernel}-virtualbox-host\
501 %depmod %{_kernel_ver}\
502 %{nil}
503
504 %define build_kernel_pkg()\
505 export KERN_DIR=%{_kernelsrcdir}\
506 cd PLD-MODULE-BUILD/HostDrivers\
507 %build_kernel_modules -m vboxdrv -C vboxdrv\
508 %build_kernel_modules -m vboxnetadp -C vboxnetadp\
509 %build_kernel_modules -m vboxnetflt -C vboxnetflt\
510 %build_kernel_modules -m vboxpci -C vboxpci\
511 cd ../GuestDrivers\
512 %build_kernel_modules -m vboxguest -C vboxguest\
513 cp -a vboxguest/Module.symvers vboxsf\
514 %build_kernel_modules -m vboxsf -C vboxsf -c\
515 %build_kernel_modules -m vboxvideo -C vboxvideo\
516 cd ../..\
517 %install_kernel_modules -D PLD-MODULE-BUILD/installed -m PLD-MODULE-BUILD/HostDrivers/vboxdrv/vboxdrv -d misc\
518 %install_kernel_modules -D PLD-MODULE-BUILD/installed -m PLD-MODULE-BUILD/HostDrivers/vboxnetadp/vboxnetadp -d misc\
519 %install_kernel_modules -D PLD-MODULE-BUILD/installed -m PLD-MODULE-BUILD/HostDrivers/vboxnetflt/vboxnetflt -d misc\
520 %install_kernel_modules -D PLD-MODULE-BUILD/installed -m PLD-MODULE-BUILD/HostDrivers/vboxpci/vboxpci -d misc\
521 %install_kernel_modules -D PLD-MODULE-BUILD/installed -m PLD-MODULE-BUILD/GuestDrivers/vboxguest/vboxguest -d misc\
522 %install_kernel_modules -D PLD-MODULE-BUILD/installed -m PLD-MODULE-BUILD/GuestDrivers/vboxsf/vboxsf -d misc\
523 %install_kernel_modules -D PLD-MODULE-BUILD/installed -m PLD-MODULE-BUILD/GuestDrivers/vboxvideo/vboxvideo -d misc\
524 %{nil}
525
526 %{?with_kernel:%{expand:%kpkg}}
527
528 %prep
529 %setup -q -n %{pname}-%{version}
530 %patch0 -p1
531 %patch1 -p1
532 %patch2 -p1
533 %patch3 -p1
534 %patch4 -p1
535 %patch5 -p1
536 %patch6 -p1
537 %patch7 -p1
538 %patch8 -p1
539 %patch9 -p1
540 %patch10 -p1
541 %patch11 -p1
542
543 %{__sed} -i -e 's,@VBOX_DOC_PATH@,%{_docdir}/%{name}-%{version},' \
544         -e 's/Categories=.*/Categories=Utility;Emulator;/' src/VBox/Installer/common/virtualbox.desktop.in
545
546 # Respect LDFLAGS
547 %{__sed} -i -e "s@_LDFLAGS\.%{vbox_arch}*.*=@& %{rpmldflags}@g" \
548         -i Config.kmk src/libs/xpcom18a4/Config.kmk
549
550 %{__sed} -i -e 's#@INSTALL_DIR@#%{_libdir}/%{pname}#' src/VBox/Installer/linux/VBox.sh
551
552 %if %{with kernel}
553 install -d PLD-MODULE-BUILD/{GuestDrivers,HostDrivers}
554 cd PLD-MODULE-BUILD
555 ../src/VBox/Additions/linux/export_modules guest-modules.tar.gz
556 tar -zxf guest-modules.tar.gz -C GuestDrivers
557
558 ../src/VBox/HostDrivers/linux/export_modules host-modules.tar.gz --without-hardening
559 tar -zxf host-modules.tar.gz -C HostDrivers
560 cd -
561 %endif
562
563 # using system kBuild package
564 %{__rm} -r kBuild
565
566 # use linux icon for now
567 cp -p src/VBox/Frontends/VirtualBox/images/os_{linux26,pld}.png
568 cp -p src/VBox/Frontends/VirtualBox/images/os_{linux26,pld}_64.png
569
570 cat <<'EOF'>> LocalConfig.kmk
571 %{?with_verbose:KBUILD_VERBOSE=3}
572 USERNAME=%(id -un)
573 __VBOX_BUILD_PUBLISHER=_PLD
574 VBOX_VERSION_STRING=$(VBOX_VERSION_MAJOR).$(VBOX_VERSION_MINOR).$(VBOX_VERSION_BUILD)_PLD
575 XSERVER_VERSION=%(rpm -q --queryformat '%{V}\n' xorg-xserver-server-devel | awk -F. '{ print $1 $2 }' 2>/dev/null || echo ERROR)
576 VBOX_USE_SYSTEM_XORG_HEADERS=1
577 %if %{with lightdm}
578 VBOX_WITH_LIGHTDM_GREETER=1
579 VBOX_WITH_LIGHTDM_GREETER_PACKING=1
580 %endif
581 TOOL_GCC3_CFLAGS=%{rpmcflags}
582 TOOL_GCC3_CXXFLAGS=%{rpmcxxflags}
583 VBOX_GCC_OPT=%{rpmcxxflags}
584
585 VBOX_PATH_APP_PRIVATE_ARCH := %{_libdir}/%{pname}
586 VBOX_PATH_APP_PRIVATE := %{_datadir}/%{pname}
587 VBOX_PATH_SHARED_LIBS := $(VBOX_PATH_APP_PRIVATE_ARCH)
588 VBOX_WITH_ORIGIN :=
589 VBOX_WITH_RUNPATH := $(VBOX_PATH_APP_PRIVATE_ARCH)
590 #VBOX_PATH_APP_DOCS := %{_docdir}/%{pname}-doc-%{version}
591
592 # don't build testcases to save time, they are not needed for the package
593 VBOX_WITH_TESTCASES :=
594 VBOX_WITH_TESTSUITE :=
595 EOF
596
597 %build
598 %if %{with userspace}
599 ./configure \
600         --with-gcc="%{__cc}" \
601         --with-g++="%{__cxx}" \
602         %{!?with_doc:--disable-docs} \
603         --disable-java \
604         --disable-hardening \
605         --disable-kmods \
606         --enable-vnc \
607         %{__enable webservice} \
608         %{nil}
609
610 kmk %{?_smp_mflags}
611
612 %{__cc} %{rpmcflags} %{rpmldflags} -Wall -Werror src/VBox/Additions/linux/sharedfolders/{mount.vboxsf.c,vbsfmount.c} -o mount.vboxsf
613 %endif
614
615 %{?with_kernel:%{expand:%bkpkg}}
616
617 %install
618 rm -rf $RPM_BUILD_ROOT
619
620 %if %{with userspace}
621 install -d $RPM_BUILD_ROOT{%{_bindir},/sbin,%{_sbindir},%{_libdir}/%{pname}/ExtensionPacks} \
622         $RPM_BUILD_ROOT{%{_pixmapsdir},%{_desktopdir},%{_datadir}/mime/packages} \
623         $RPM_BUILD_ROOT%{_libdir}/xorg/modules/{drivers,dri,input} \
624         $RPM_BUILD_ROOT{/lib/udev,/etc/udev/rules.d} \
625         $RPM_BUILD_ROOT{/etc/rc.d/init.d,%{systemdunitdir},%{_usrsrc}}
626
627 # test if we can hardlink -- %{_builddir} and $RPM_BUILD_ROOT on same partition
628 if cp -al COPYING $RPM_BUILD_ROOT/COPYING; then
629         l=l
630         %{__rm} $RPM_BUILD_ROOT/COPYING
631 fi
632
633 cp -a$l %{outdir}/* $RPM_BUILD_ROOT%{_libdir}/%{pname}
634 cp -a$l %{SOURCE1} $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/VBoxGuestAdditions.iso
635
636 # vboxvideo
637 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions/VBoxOGL.so,%{_libdir}/xorg/modules/dri/vboxvideo_dri.so}
638 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions/vboxvideo_drv_system.so,%{_libdir}/xorg/modules/drivers/vboxvideo_drv.so}
639 # XXX: where else to install them that vboxvideo_dri.so finds them? patch with rpath?
640 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLarrayspu.so
641 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLcrutil.so
642 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLerrorspu.so
643 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLfeedbackspu.so
644 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLpackspu.so
645 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLpassthroughspu.so
646
647 # Guest Only Tools
648 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_bindir}}/VBoxClient
649 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_bindir}}/VBoxControl
650 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_bindir}}/VBoxService
651 install -d $RPM_BUILD_ROOT/etc/xdg/autostart
652 cp -p src/VBox/Additions/x11/Installer/vboxclient.desktop \
653         $RPM_BUILD_ROOT/etc/xdg/autostart/vboxclient.desktop
654 install -p src/VBox/Additions/x11/Installer/98vboxadd-xclient $RPM_BUILD_ROOT%{_bindir}/VBoxClient-all
655 install -p %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxservice
656 install -p %{SOURCE3} $RPM_BUILD_ROOT%{systemdunitdir}/vboxservice.service
657
658 %if %{with lightdm}
659 install -d $RPM_BUILD_ROOT%{_datadir}/xgreeters
660 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_sbindir}}/vbox-greeter
661 cp -p %{objdir}/Additions/Installer/linux/share/VBoxGuestAdditions/vbox-greeter.desktop $RPM_BUILD_ROOT%{_datadir}/xgreeters
662 %endif
663
664 # pam
665 install -d $RPM_BUILD_ROOT/%{_lib}/security
666 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,/%{_lib}/security}/pam_vbox.so
667
668 # mount.vboxsf
669 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/mount.vboxsf
670 install -p mount.vboxsf $RPM_BUILD_ROOT/sbin/mount.vboxsf
671
672 # mount.vdi
673 install -p %{SOURCE5} $RPM_BUILD_ROOT/sbin/mount.vdi
674
675 # these belong to .iso
676 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/autorun.sh
677 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/runasroot.sh
678
679 # scripts to setup modules, x11 and service. we have covered that in our packages
680 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/vboxadd
681 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/vboxadd-service
682 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/vboxadd-x11
683
684 # unknown - checkme
685 %if 1
686 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/helpers/generate_service_file
687 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/SUPInstall
688 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/SUPLoggerCtl
689 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/SUPUninstall
690 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/load.sh
691 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/loadall.sh
692 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/scripts/VBoxHeadlessXOrg.sh
693 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/scripts/init_template.sh
694 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/scripts/install_service
695 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/vboxshell.py
696 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/xpidl
697 %{__rm} -r $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/src
698 %endif
699
700 # use upstream installer to relocate rest of the files, fakeroot because it forces uid/gid 0
701 fakeroot sh -x $RPM_BUILD_ROOT%{_libdir}/%{pname}/scripts/install.sh \
702         --ose \
703         --prefix %{_prefix} \
704         %{!?with_webservice:--no-web-service} \
705         --root $RPM_BUILD_ROOT
706
707 %{__mv} $RPM_BUILD_ROOT{%{_datadir}/%{pname},/lib/udev}/VBoxCreateUSBNode.sh
708 cp -p %{SOURCE6} $RPM_BUILD_ROOT/etc/udev/rules.d/virtualbox.rules
709
710 # cleanup lowercased variants, not used in any script (less cruft)
711 %{__rm} -r $RPM_BUILD_ROOT%{_bindir}/vboxautostart
712 %{__rm} -r $RPM_BUILD_ROOT%{_bindir}/vboxballoonctrl
713 %{__rm} -r $RPM_BUILD_ROOT%{_bindir}/vboxheadless
714 %{__rm} -r $RPM_BUILD_ROOT%{_bindir}/vboxmanage
715 %{__rm} -r $RPM_BUILD_ROOT%{_bindir}/vboxsdl
716 %{__rm} -r $RPM_BUILD_ROOT%{_bindir}/virtualbox
717
718 # cleanup unpackaged
719 %{__rm} -r $RPM_BUILD_ROOT%{_libdir}/%{pname}/{sdk,testcase}
720 %{__rm} -r $RPM_BUILD_ROOT%{_libdir}/%{pname}/dtrace
721 %{__rm} -r $RPM_BUILD_ROOT%{_datadir}/%{pname}/src
722 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/vboxkeyboard.tar.bz2
723 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/tst*
724 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/scripts/generated.sh
725 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/ExtensionPacks/VNC/ExtPack-license.*
726 %{__rm} $RPM_BUILD_ROOT%{_usrsrc}/vboxhost-%{version}_PLD
727 %{__rm} -r $RPM_BUILD_ROOT%{py_sitescriptdir}/vboxapi*
728
729 # weird icon size
730 %{__rm} -r $RPM_BUILD_ROOT%{_iconsdir}/hicolor/40x40
731 # duplicate, we already have virtualbox.png (128x128), this is 32x32
732 %{__rm} -r $RPM_BUILD_ROOT%{_pixmapsdir}/VBox.png
733
734 %if %{with doc}
735 ln -sf %{_docdir}/%{pname}-doc-%{version}/UserManual.pdf $RPM_BUILD_ROOT%{_libdir}/%{pname}/UserManual.pdf
736 ln -sf %{_docdir}/%{pname}-doc-%{version}/UserManual_fr_FR.pdf $RPM_BUILD_ROOT%{_libdir}/%{pname}/UserManual_fr_FR.pdf
737 %endif
738
739 %if %{with dkms}
740 install -d $RPM_BUILD_ROOT%{_usrsrc}/vbox{host,guest}-%{version}-%{rel}
741 cp -a PLD-MODULE-BUILD/HostDrivers/* $RPM_BUILD_ROOT%{_usrsrc}/vboxhost-%{version}-%{rel}
742 cp -p src/VBox/HostDrivers/linux/dkms.conf $RPM_BUILD_ROOT%{_usrsrc}/vboxhost-%{version}-%{rel}
743 %{__make} -C $RPM_BUILD_ROOT%{_usrsrc}/vboxhost-%{version}-%{rel} clean
744 rm -rf $RPM_BUILD_ROOT%{_usrsrc}/vboxhost-%{version}-%{rel}/*/o
745
746 cp -a PLD-MODULE-BUILD/GuestDrivers/* $RPM_BUILD_ROOT%{_usrsrc}/vboxguest-%{version}-%{rel}
747 cp -p src/VBox/Additions/common/VBoxGuest/linux/dkms.conf $RPM_BUILD_ROOT%{_usrsrc}/vboxguest-%{version}-%{rel}
748 %{__make} -C $RPM_BUILD_ROOT%{_usrsrc}/vboxguest-%{version}-%{rel} clean
749 rm -rf $RPM_BUILD_ROOT%{_usrsrc}/vboxguest-%{version}-%{rel}/*/o
750 %endif
751 %endif
752
753 %if %{with kernel}
754 install -d $RPM_BUILD_ROOT{/etc/modules-load.d,/sbin}
755
756 cp -a PLD-MODULE-BUILD/installed/* $RPM_BUILD_ROOT
757
758 # Tell systemd to load modules
759 cp -p %{SOURCE7} $RPM_BUILD_ROOT/etc/modules-load.d/virtualbox-host.conf
760 cp -p %{SOURCE8} $RPM_BUILD_ROOT/etc/modules-load.d/virtualbox-guest.conf
761 %endif
762
763 %clean
764 rm -rf $RPM_BUILD_ROOT
765
766 %pre
767 %groupadd -g 221 -r -f vbox
768
769 %post
770 for i in /sys/bus/usb/devices/*; do
771         if [ -r "$i/dev" ]; then
772                 dev="`cat "$i/dev" 2>/dev/null || true`"
773                 major="`expr "$dev" : '\(.*\):' 2> /dev/null || true`"
774                 minor="`expr "$dev" : '.*:\(.*\)' 2> /dev/null || true`"
775                 class="`cat $i/bDeviceClass 2> /dev/null || true`"
776                 /lib/udev/VBoxCreateUSBNode.sh "$major" "$minor" "$class" vbox 2>/dev/null
777         fi
778 done
779
780 cat << 'EOF'
781 You must install vboxdrv kernel modules for this software to work:
782     kernel*-virtualbox-host-%{version}-%{rel}@*
783
784 On Guest Linux system you might want to install:
785     kernel*-virtualbox-guest-%{version}-%{rel}@*
786
787 EOF
788
789 %postun
790 if [ "$1" = "0" ]; then
791         %groupremove vbox
792 fi
793
794 %post gui
795 %update_desktop_database
796 %update_icon_cache hicolor
797 %update_mime_database
798
799 %postun gui
800 %update_desktop_database
801 %update_icon_cache hicolor
802 %update_mime_database
803
804 %pre guest
805 # Add a group "vboxsf" for Shared Folders access
806 # All users which want to access the auto-mounted Shared Folders have to be added to this group.
807 %groupadd -g 266 -r -f vboxsf
808
809 %post guest
810 /sbin/chkconfig --add vboxservice
811 %service vboxservice restart
812 %systemd_post vboxservice.service
813
814 %preun guest
815 if [ "$1" = "0" ]; then
816         /sbin/chkconfig --del vboxservice
817         %service vboxservice -q stop
818 fi
819 %systemd_preun vboxservice.service
820
821 %postun guest
822 if [ "$1" = "0" ]; then
823         %groupremove vboxsf
824 fi
825 %systemd_reload
826
827 %triggerpostun guest -- VirtualBox-guest < 4.3.0-1
828 %systemd_trigger vboxservice.service
829
830 %pre -n lightdm-greeter-vbox
831 %addusertogroup xdm vbox
832
833 %post -n dkms-vboxguest
834 set -x
835 dkms add -m vboxguest -v %{version}-%{rel} --rpm_safe_upgrade && \
836 dkms build -m vboxguest -v %{version}-%{rel} --rpm_safe_upgrade && \
837 dkms install -m vboxguest -v %{version}-%{rel} --rpm_safe_upgrade || :
838
839 %preun -n dkms-vboxguest
840 set -x
841 dkms remove -m vboxguest -v %{version}-%{rel} --rpm_safe_upgrade --all || :
842
843 %post -n dkms-vboxhost
844 set -x
845 dkms add -m vboxhost -v %{version}-%{rel} --rpm_safe_upgrade && \
846 dkms build -m vboxhost -v %{version}-%{rel} --rpm_safe_upgrade && \
847 dkms install -m vboxhost -v %{version}-%{rel} --rpm_safe_upgrade || :
848
849 %preun -n dkms-vboxhost
850 set -x
851 dkms remove -m vboxhost -v %{version}-%{rel} --rpm_safe_upgrade --all || :
852
853 %if %{with userspace}
854 %files
855 %defattr(644,root,root,755)
856 %attr(755,root,root) /sbin/mount.vdi
857 %attr(755,root,root) %{_bindir}/VBox
858 %attr(755,root,root) %{_bindir}/VBoxAutostart
859 %attr(755,root,root) %{_bindir}/VBoxBalloonCtrl
860 %attr(755,root,root) %{_bindir}/VBoxHeadless
861 %attr(755,root,root) %{_bindir}/VBoxManage
862 %attr(755,root,root) %{_bindir}/VBoxSDL
863 %attr(755,root,root) %{_bindir}/VBoxTunctl
864 %dir %{_libdir}/%{pname}
865 # libraries
866 %attr(755,root,root) %{_libdir}/%{pname}/DBGCPlugInDiggers.so
867 %attr(755,root,root) %{_libdir}/%{pname}/VBoxAuth.so
868 %attr(755,root,root) %{_libdir}/%{pname}/VBoxAuthSimple.so
869 %attr(755,root,root) %{_libdir}/%{pname}/VBoxDD.so
870 %attr(755,root,root) %{_libdir}/%{pname}/VBoxDD2.so
871 %attr(755,root,root) %{_libdir}/%{pname}/VBoxDDU.so
872 %attr(755,root,root) %{_libdir}/%{pname}/VBoxDragAndDropSvc.so
873 %attr(755,root,root) %{_libdir}/%{pname}/VBoxGuestControlSvc.so
874 %attr(755,root,root) %{_libdir}/%{pname}/VBoxGuestPropSvc.so
875 %attr(755,root,root) %{_libdir}/%{pname}/VBoxHostChannel.so
876 %attr(755,root,root) %{_libdir}/%{pname}/VBoxKeyboard.so
877 %attr(755,root,root) %{_libdir}/%{pname}/VBoxOGLhostcrutil.so
878 %attr(755,root,root) %{_libdir}/%{pname}/VBoxOGLhosterrorspu.so
879 %attr(755,root,root) %{_libdir}/%{pname}/VBoxOGLrenderspu.so
880 %attr(755,root,root) %{_libdir}/%{pname}/VBoxPython*.so
881 %attr(755,root,root) %{_libdir}/%{pname}/VBoxREM.so
882 %attr(755,root,root) %{_libdir}/%{pname}/VBoxRT.so
883 %attr(755,root,root) %{_libdir}/%{pname}/VBoxSharedClipboard.so
884 %attr(755,root,root) %{_libdir}/%{pname}/VBoxSharedCrOpenGL.so
885 %attr(755,root,root) %{_libdir}/%{pname}/VBoxSharedFolders.so
886 %attr(755,root,root) %{_libdir}/%{pname}/VBoxVMM.so
887 %attr(755,root,root) %{_libdir}/%{pname}/VBoxXPCOM.so
888 %attr(755,root,root) %{_libdir}/%{pname}/VBoxXPCOMC.so
889 %ifarch %{ix86}
890 %attr(755,root,root) %{_libdir}/%{pname}/VBoxREM32.so
891 %attr(755,root,root) %{_libdir}/%{pname}/VBoxREM64.so
892 %endif
893
894 # binaries
895 %attr(755,root,root) %{_libdir}/%{pname}/VBoxAutostart
896 %attr(755,root,root) %{_libdir}/%{pname}/VBoxBalloonCtrl
897 %attr(755,root,root) %{_libdir}/%{pname}/VBoxExtPackHelperApp
898 %attr(755,root,root) %{_libdir}/%{pname}/VBoxHeadless
899 %attr(755,root,root) %{_libdir}/%{pname}/VBoxManage
900 %attr(755,root,root) %{_libdir}/%{pname}/VBoxNetAdpCtl
901 %attr(755,root,root) %{_libdir}/%{pname}/VBoxNetDHCP
902 %attr(755,root,root) %{_libdir}/%{pname}/VBoxNetNAT
903 %attr(755,root,root) %{_libdir}/%{pname}/VBoxSDL
904 %attr(755,root,root) %{_libdir}/%{pname}/VBoxSVC
905 %attr(755,root,root) %{_libdir}/%{pname}/VBoxVMMPreload
906 %attr(755,root,root) %{_libdir}/%{pname}/VBoxVolInfo
907 %attr(755,root,root) %{_libdir}/%{pname}/VBoxXPCOMIPCD
908 %attr(755,root,root) %{_libdir}/%{pname}/iPxeBaseBin
909 %if %{with doc}
910 %attr(755,root,root) %{_libdir}/%{pname}/VBoxManageHelp
911 %endif
912
913 %dir %{_libdir}/%{pname}/ExtensionPacks
914 %{_libdir}/%{pname}/ExtensionPacks/VNC/ExtPack.xml
915 %dir %{_libdir}/%{pname}/ExtensionPacks/VNC
916 %dir %{_libdir}/%{pname}/ExtensionPacks/VNC/linux*
917 %attr(755,root,root) %{_libdir}/%{pname}/ExtensionPacks/VNC/linux*/VBoxVNC*.so
918
919 %{_libdir}/%{pname}/VBoxDD2GC.debug
920 %{_libdir}/%{pname}/VBoxDD2GC.gc
921 %{_libdir}/%{pname}/VBoxDD2R0.debug
922 %{_libdir}/%{pname}/VBoxDD2R0.r0
923 %{_libdir}/%{pname}/VBoxDDGC.debug
924 %{_libdir}/%{pname}/VBoxDDGC.gc
925 %{_libdir}/%{pname}/VBoxDDR0.debug
926 %{_libdir}/%{pname}/VBoxDDR0.r0
927 %{_libdir}/%{pname}/VBoxEFI32.fd
928 %{_libdir}/%{pname}/VBoxEFI64.fd
929 %{_libdir}/%{pname}/VMMGC.debug
930 %{_libdir}/%{pname}/VMMGC.gc
931 %{_libdir}/%{pname}/VMMR0.debug
932 %{_libdir}/%{pname}/VMMR0.r0
933
934 %dir %{_libdir}/%{pname}/components
935 %{_libdir}/%{pname}/components/VBoxXPCOMBase.xpt
936 %{_libdir}/%{pname}/components/VirtualBox_XPCOM.xpt
937 %attr(755,root,root) %{_libdir}/%{pname}/components/VBoxC.so
938 %attr(755,root,root) %{_libdir}/%{pname}/components/VBoxSVCM.so
939 %attr(755,root,root) %{_libdir}/%{pname}/components/VBoxXPCOMIPCC.so
940
941 %dir %{_datadir}/%{pname}
942 %attr(755,root,root) %{_datadir}/%{pname}/VBoxSysInfo.sh
943
944 %config(noreplace) %verify(not md5 mtime size) /etc/udev/rules.d/virtualbox.rules
945 %attr(755,root,root) /lib/udev/VBoxCreateUSBNode.sh
946
947 %files gui
948 %defattr(644,root,root,755)
949 %attr(755,root,root) %{_bindir}/VirtualBox
950 %attr(755,root,root) %{_libdir}/%{pname}/VBoxDbg.so
951 %attr(755,root,root) %{_libdir}/%{pname}/VBoxTestOGL
952 %attr(755,root,root) %{_libdir}/%{pname}/VirtualBox
953 %dir %{_datadir}/%{pname}/nls
954 %lang(bg) %{_datadir}/%{pname}/nls/*_bg.qm
955 %lang(ca) %{_datadir}/%{pname}/nls/*_ca.qm
956 %lang(ca_VA) %{_datadir}/%{pname}/nls/*_ca_VA.qm
957 %lang(cs) %{_datadir}/%{pname}/nls/*_cs.qm
958 %lang(da) %{_datadir}/%{pname}/nls/*_da.qm
959 %lang(de) %{_datadir}/%{pname}/nls/*_de.qm
960 %lang(en) %{_datadir}/%{pname}/nls/*_en.qm
961 %lang(es) %{_datadir}/%{pname}/nls/*_es.qm
962 %lang(eu) %{_datadir}/%{pname}/nls/*_eu.qm
963 %lang(fi) %{_datadir}/%{pname}/nls/*_fa_IR.qm
964 %lang(fi) %{_datadir}/%{pname}/nls/*_fi.qm
965 %lang(fr) %{_datadir}/%{pname}/nls/*_fr.qm
966 %lang(gl_ES) %{_datadir}/%{pname}/nls/*_gl_ES.qm
967 %lang(hu) %{_datadir}/%{pname}/nls/*_hu.qm
968 %lang(id) %{_datadir}/%{pname}/nls/*_id.qm
969 %lang(it) %{_datadir}/%{pname}/nls/*_it.qm
970 %lang(ja) %{_datadir}/%{pname}/nls/*_ja.qm
971 %lang(km_KH) %{_datadir}/%{pname}/nls/*_km_KH.qm
972 %lang(ko) %{_datadir}/%{pname}/nls/*_ko.qm
973 %lang(lt) %{_datadir}/%{pname}/nls/*_lt.qm
974 %lang(nl) %{_datadir}/%{pname}/nls/*_nl.qm
975 %lang(pl) %{_datadir}/%{pname}/nls/*_pl.qm
976 %lang(pt) %{_datadir}/%{pname}/nls/*_pt.qm
977 %lang(pt_BR) %{_datadir}/%{pname}/nls/*_pt_BR.qm
978 %lang(ro) %{_datadir}/%{pname}/nls/*_ro.qm
979 %lang(ru) %{_datadir}/%{pname}/nls/*_ru.qm
980 %lang(sk) %{_datadir}/%{pname}/nls/*_sk.qm
981 %lang(sr) %{_datadir}/%{pname}/nls/*_sr.qm
982 %lang(sv) %{_datadir}/%{pname}/nls/*_sv.qm
983 %lang(tr) %{_datadir}/%{pname}/nls/*_tr.qm
984 %lang(uk) %{_datadir}/%{pname}/nls/*_uk.qm
985 %lang(zh_CN) %{_datadir}/%{pname}/nls/*_zh_CN.qm
986 %lang(zh_TW) %{_datadir}/%{pname}/nls/*_zh_TW.qm
987 %{_desktopdir}/virtualbox.desktop
988 %{_pixmapsdir}/virtualbox.png
989 %{_iconsdir}/hicolor/*/apps/virtualbox.png
990 %{_iconsdir}/hicolor/*/apps/virtualbox.svg
991 %{_iconsdir}/hicolor/*/mimetypes/virtualbox-*.png
992 %{_datadir}/mime/packages/virtualbox.xml
993
994 %files additions
995 %defattr(644,root,root,755)
996 %{_datadir}/%{pname}/VBoxGuestAdditions.iso
997
998 %files guest
999 %defattr(644,root,root,755)
1000 %attr(755,root,root) /sbin/mount.vboxsf
1001 %attr(754,root,root) /etc/rc.d/init.d/vboxservice
1002 %{systemdunitdir}/vboxservice.service
1003 %attr(755,root,root) %{_bindir}/VBoxControl
1004 %attr(755,root,root) %{_bindir}/VBoxService
1005
1006 %files guest-x11
1007 %defattr(644,root,root,755)
1008 /etc/xdg/autostart/vboxclient.desktop
1009 %attr(755,root,root) %{_bindir}/VBoxClient
1010 %attr(755,root,root) %{_bindir}/VBoxClient-all
1011
1012 %if %{with webservice}
1013 %files webservice
1014 %defattr(644,root,root,755)
1015 %attr(755,root,root) %{_bindir}/vboxwebsrv
1016 %attr(755,root,root) %{_libdir}/%{pname}/vboxwebsrv
1017 %attr(755,root,root) %{_libdir}/%{pname}/webtest
1018 %endif
1019
1020 %if %{with lightdm}
1021 %files -n lightdm-greeter-vbox
1022 %defattr(644,root,root,755)
1023 %attr(755,root,root) %{_sbindir}/vbox-greeter
1024 %{_datadir}/xgreeters/vbox-greeter.desktop
1025 %endif
1026
1027 %files -n pam-pam_vbox
1028 %defattr(644,root,root,755)
1029 %attr(755,root,root) /%{_lib}/security/pam_vbox.so
1030
1031 %if %{with doc}
1032 %files doc
1033 %defattr(644,root,root,755)
1034 # this is a symlink...
1035 %doc %{_libdir}/%{pname}/UserManual.pdf
1036 %lang(fr) %doc %{_libdir}/%{pname}/UserManual_fr_FR.pdf
1037 # ..to this file
1038 %doc %{outdir}/UserManual.pdf
1039 %lang(fr) %doc %{outdir}/UserManual_fr_FR.pdf
1040 %endif
1041
1042 %files -n xorg-driver-video-vboxvideo
1043 %defattr(644,root,root,755)
1044 %attr(755,root,root) %{_libdir}/xorg/modules/drivers/vboxvideo_drv.so
1045 %attr(755,root,root) %{_libdir}/xorg/modules/dri/vboxvideo_dri.so
1046 # vboxvideo_dri.so deps
1047 %attr(755,root,root) %{_libdir}/VBoxOGLarrayspu.so
1048 %attr(755,root,root) %{_libdir}/VBoxOGLcrutil.so
1049 %attr(755,root,root) %{_libdir}/VBoxOGLerrorspu.so
1050 %attr(755,root,root) %{_libdir}/VBoxOGLfeedbackspu.so
1051 %attr(755,root,root) %{_libdir}/VBoxOGLpackspu.so
1052 %attr(755,root,root) %{_libdir}/VBoxOGLpassthroughspu.so
1053
1054 %if %{with dkms}
1055 %files -n dkms-vboxguest
1056 %defattr(644,root,root,755)
1057 %{_usrsrc}/vboxguest-%{version}-%{rel}
1058
1059 %files -n dkms-vboxhost
1060 %defattr(644,root,root,755)
1061 %{_usrsrc}/vboxhost-%{version}-%{rel}
1062 %endif
1063 %endif
This page took 0.159213 seconds and 3 git commands to generate.