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