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