]> git.pld-linux.org Git - packages/VirtualBox.git/blob - VirtualBox.spec
- fix build with kernel 5.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             2
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.12
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:  465b52e516a6c57c8c19717bdd8e6456
56 Source1:        http://download.virtualbox.org/virtualbox/%{version}/VBoxGuestAdditions_%{version}.iso
57 # Source1-md5:  40f300532a50775de939838a4f4a5d0d
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:        qt5-gl.patch
87 Patch18:        kernel-5.3.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 KBUILD_EXTRA_SYMBOLS=$PWD/../vboxdrv/Module.symvers\
519 %build_kernel_modules -m vboxnetflt -C vboxnetflt KBUILD_EXTRA_SYMBOLS=$PWD/../vboxdrv/Module.symvers\
520 %build_kernel_modules -m vboxpci -C vboxpci KBUILD_EXTRA_SYMBOLS=$PWD/../vboxdrv/Module.symvers\
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 %patch17 -p1
567 %patch18 -p1
568
569 %{__sed} -i -e 's,@VBOX_DOC_PATH@,%{_docdir}/%{name}-%{version},' \
570         -e 's/Categories=.*/Categories=Utility;Emulator;/' src/VBox/Installer/common/virtualbox.desktop.in
571
572 # Respect LDFLAGS
573 %{__sed} -i -e "s@_LDFLAGS\.%{vbox_arch}*.*=@& %{rpmldflags}@g" \
574         -i Config.kmk src/libs/xpcom18a4/Config.kmk
575
576 %{__sed} -i -e 's#@INSTALL_DIR@#%{_libdir}/%{pname}#' src/VBox/Installer/linux/VBox.sh
577
578 %if %{with kernel}
579 install -d PLD-MODULE-BUILD/{GuestDrivers,HostDrivers}
580 cd PLD-MODULE-BUILD
581 ../src/VBox/Additions/linux/export_modules.sh guest-modules.tar.gz
582 tar -zxf guest-modules.tar.gz -C GuestDrivers
583
584 ../src/VBox/HostDrivers/linux/export_modules.sh --file host-modules.tar.gz --without-hardening
585 tar -zxf host-modules.tar.gz -C HostDrivers
586 cd -
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
691 # Guest Only Tools
692 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_bindir}}/VBoxClient
693 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_bindir}}/VBoxControl
694 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_bindir}}/VBoxService
695 install -d $RPM_BUILD_ROOT/etc/xdg/autostart
696 cp -p src/VBox/Additions/x11/Installer/vboxclient.desktop \
697         $RPM_BUILD_ROOT/etc/xdg/autostart/vboxclient.desktop
698 install -p src/VBox/Additions/x11/Installer/98vboxadd-xclient $RPM_BUILD_ROOT%{_bindir}/VBoxClient-all
699 install -p %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxservice
700 cp -p %{SOURCE3} $RPM_BUILD_ROOT%{systemdunitdir}/vboxservice.service
701 cp -p %{SOURCE4} $RPM_BUILD_ROOT/etc/sysconfig/vboxservice
702
703 cp -p %{SOURCE11} $RPM_BUILD_ROOT%{systemdunitdir}/vboxclient-vmsvga.service
704
705 install -p %{SOURCE9} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxautostart
706 %{__sed} -i -e 's#@INSTALL_DIR@#%{_libdir}/%{pname}#' $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxautostart
707 cp -p %{SOURCE10} $RPM_BUILD_ROOT%{_sysconfdir}/vbox
708
709 %if %{with lightdm}
710 install -d $RPM_BUILD_ROOT%{_datadir}/xgreeters
711 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_sbindir}}/vbox-greeter
712 cp -p %{objdir}/Additions/Installer/linux/other/vbox-greeter.desktop $RPM_BUILD_ROOT%{_datadir}/xgreeters
713 %endif
714
715 %if %{with dkms}
716 mv $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/src $RPM_BUILD_ROOT%{_usrsrc}/vboxguest-%{version}-%{rel}
717 %endif
718
719 # pam
720 install -d $RPM_BUILD_ROOT/%{_lib}/security
721 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,/%{_lib}/security}/pam_vbox.so
722
723 # mount.vboxsf
724 %{__mv} $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/mount.vboxsf $RPM_BUILD_ROOT/sbin/mount.vboxsf
725
726 # mount.vdi
727 install -p %{SOURCE5} $RPM_BUILD_ROOT/sbin/mount.vdi
728
729 # these belong to .iso
730 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/autorun.sh
731 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/runasroot.sh
732
733 # unknown - checkme
734 %if 1
735 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/SUPInstall
736 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/SUPLoggerCtl
737 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/SUPUninstall
738 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/load.sh
739 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/loadall.sh
740 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/vboxshell.py
741 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/xpidl
742 %endif
743
744 # manual installation steps based on src/VBox/Installer/linux/install.sh
745 ln -sf %{_libdir}/%{pname}/VBox.sh $RPM_BUILD_ROOT%{_bindir}/VirtualBox
746 ln -sf %{_libdir}/%{pname}/VBox.sh $RPM_BUILD_ROOT%{_bindir}/VBoxManage
747 ln -sf %{_libdir}/%{pname}/VBox.sh $RPM_BUILD_ROOT%{_bindir}/VBoxSDL
748 ln -sf %{_libdir}/%{pname}/VBox.sh $RPM_BUILD_ROOT%{_bindir}/VBoxVRDP
749 ln -sf %{_libdir}/%{pname}/VBox.sh $RPM_BUILD_ROOT%{_bindir}/VBoxHeadless
750 ln -sf %{_libdir}/%{pname}/VBox.sh $RPM_BUILD_ROOT%{_bindir}/VBoxBalloonCtrl
751 ln -sf %{_libdir}/%{pname}/VBox.sh $RPM_BUILD_ROOT%{_bindir}/VBoxAutostart
752 ln -sf %{_libdir}/%{pname}/VBox.sh $RPM_BUILD_ROOT%{_bindir}/vboxwebsrv
753 ln -sf %{_libdir}/%{pname}/vbox-img $RPM_BUILD_ROOT%{_bindir}/vbox-img
754 ln -sf %{_libdir}/%{pname}/VBox.sh $RPM_BUILD_ROOT%{_bindir}/VBoxDTrace
755 cp -p $RPM_BUILD_ROOT%{_libdir}/%{pname}/icons/128x128/virtualbox.png $RPM_BUILD_ROOT%{_pixmapsdir}/virtualbox.png
756 mv $RPM_BUILD_ROOT%{_libdir}/%{pname}/virtualbox.desktop $RPM_BUILD_ROOT%{_desktopdir}/virtualbox.desktop
757 mv $RPM_BUILD_ROOT%{_libdir}/%{pname}/virtualbox.xml $RPM_BUILD_ROOT%{_datadir}/mime/packages/virtualbox.xml
758
759 mv $RPM_BUILD_ROOT%{_libdir}/%{pname}/nls $RPM_BUILD_ROOT%{_datadir}/%{pname}
760
761 (
762 cd $RPM_BUILD_ROOT%{_libdir}/%{pname}/icons
763 for i in *; do
764 cd $i
765     for j in *; do
766         if expr "$j" : "virtualbox\..*" > /dev/null; then
767             dst=apps
768         else
769             dst=mimetypes
770         fi
771         if [ ! -e $RPM_BUILD_ROOT%{_iconsdir}/hicolor/$i/$dst ]; then
772                 install -d $RPM_BUILD_ROOT%{_iconsdir}/hicolor/$i/$dst
773         fi
774         mv $RPM_BUILD_ROOT%{_libdir}/%{pname}/icons/$i/$j $RPM_BUILD_ROOT%{_iconsdir}/hicolor/$i/$dst/$j
775     done
776 cd -
777 done
778 )
779
780 rm -r $RPM_BUILD_ROOT%{_libdir}/%{pname}/icons
781
782 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname},/lib/udev}/VBoxCreateUSBNode.sh
783 cp -p %{SOURCE6} $RPM_BUILD_ROOT/etc/udev/rules.d/60-vboxdrv.rules
784 cp -p %{SOURCE12} $RPM_BUILD_ROOT/etc/udev/rules.d/60-vboxguest.rules
785
786 %if %{with dkms}
787 mv $RPM_BUILD_ROOT%{_libdir}/%{pname}/src $RPM_BUILD_ROOT%{_usrsrc}/vboxhost-%{version}-%{rel}
788 %endif
789
790 # cleanup unpackaged
791 %{__rm} -r $RPM_BUILD_ROOT%{_libdir}/%{pname}/{sdk,testcase}
792 %{__rm} -r $RPM_BUILD_ROOT%{_libdir}/%{pname}/dtrace
793 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/vboxkeyboard.tar.bz2
794 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/tst*
795 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/scripts/generated.sh
796 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/ExtensionPacks/VNC/ExtPack-license.*
797
798 %if %{with gui}
799 # weird icon size
800 %{__rm} -r $RPM_BUILD_ROOT%{_iconsdir}/hicolor/40x40
801 %endif
802
803 # duplicate, we already have virtualbox.png (128x128), this is 32x32
804 %{__rm} -r $RPM_BUILD_ROOT%{_libdir}/%{pname}/VBox.png
805
806 %if %{with doc}
807 ln -sf %{_docdir}/%{pname}-doc-%{version}/UserManual.pdf $RPM_BUILD_ROOT%{_libdir}/%{pname}/UserManual.pdf
808 %if %{with all_langs}
809 ln -sf %{_docdir}/%{pname}-doc-%{version}/UserManual_fr_FR.pdf $RPM_BUILD_ROOT%{_libdir}/%{pname}/UserManual_fr_FR.pdf
810 %endif
811 %endif
812 %endif
813
814 %if %{with kernel}
815 install -d $RPM_BUILD_ROOT{/etc/modules-load.d,/sbin}
816
817 cp -a PLD-MODULE-BUILD/installed/* $RPM_BUILD_ROOT
818
819 # Tell systemd to load modules
820 cp -p %{SOURCE7} $RPM_BUILD_ROOT/etc/modules-load.d/virtualbox-host.conf
821 cp -p %{SOURCE8} $RPM_BUILD_ROOT/etc/modules-load.d/virtualbox-guest.conf
822 %endif
823
824 %clean
825 rm -rf $RPM_BUILD_ROOT
826
827 %pre
828 %groupadd -g 221 -r -f vbox
829
830 %post
831 /sbin/chkconfig --add vboxautostart
832 %service -n vboxautostart restart
833
834 for i in /sys/bus/usb/devices/*; do
835         if [ -r "$i/dev" ]; then
836                 dev="`cat "$i/dev" 2>/dev/null || true`"
837                 major="`expr "$dev" : '\(.*\):' 2> /dev/null || true`"
838                 minor="`expr "$dev" : '.*:\(.*\)' 2> /dev/null || true`"
839                 class="`cat $i/bDeviceClass 2> /dev/null || true`"
840                 /lib/udev/VBoxCreateUSBNode.sh "$major" "$minor" "$class" vbox 2>/dev/null
841         fi
842 done
843
844 cat << 'EOF'
845 You must install vboxdrv kernel modules for this software to work:
846     kernel*-virtualbox-host-%{version}-%{rel}@*
847
848 On Guest Linux system you might want to install:
849     kernel*-virtualbox-guest-%{version}-%{rel}@*
850
851 EOF
852
853 %preun
854 if [ "$1" = "0" ]; then
855         /sbin/chkconfig --del vboxautostart
856         %service vboxautostart -q stop
857 fi
858
859
860 %postun
861 if [ "$1" = "0" ]; then
862         %groupremove vbox
863 fi
864
865 %post gui
866 %update_desktop_database
867 %update_icon_cache hicolor
868 %update_mime_database
869
870 %postun gui
871 %update_desktop_database
872 %update_icon_cache hicolor
873 %update_mime_database
874
875 %pre guest
876 %useradd -u 336 -d /usr/share/empty -s /bin/false -c "VirtualBox guest additions" -g nobody vboxadd
877 # Add a group "vboxsf" for Shared Folders access
878 # All users which want to access the auto-mounted Shared Folders have to be added to this group.
879 %groupadd -g 266 -r -f vboxsf
880
881 %post guest
882 /sbin/chkconfig --add vboxservice
883 %service vboxservice restart
884 %systemd_post vboxservice.service vboxclient-vmsvga.service
885
886 %preun guest
887 if [ "$1" = "0" ]; then
888         /sbin/chkconfig --del vboxservice
889         %service vboxservice -q stop
890 fi
891 %systemd_preun vboxservice.service vboxclient-vmsvga.service
892
893 %postun guest
894 if [ "$1" = "0" ]; then
895         %userremove vboxadd
896         %groupremove vboxsf
897 fi
898 %systemd_reload
899
900 %triggerpostun guest -- VirtualBox-guest < 4.3.0-1
901 %systemd_trigger vboxservice.service
902
903 %pre -n lightdm-greeter-vbox
904 %addusertogroup xdm vbox
905
906 %post -n dkms-vboxguest
907 dkms add -m vboxguest -v %{version}-%{rel} --rpm_safe_upgrade && \
908 dkms build -m vboxguest -v %{version}-%{rel} --rpm_safe_upgrade && \
909 dkms install -m vboxguest -v %{version}-%{rel} --rpm_safe_upgrade || :
910
911 %preun -n dkms-vboxguest
912 dkms remove -m vboxguest -v %{version}-%{rel} --rpm_safe_upgrade --all || :
913
914 %post -n dkms-vboxhost
915 dkms add -m vboxhost -v %{version}-%{rel} --rpm_safe_upgrade && \
916 dkms build -m vboxhost -v %{version}-%{rel} --rpm_safe_upgrade && \
917 dkms install -m vboxhost -v %{version}-%{rel} --rpm_safe_upgrade || :
918
919 %preun -n dkms-vboxhost
920 dkms remove -m vboxhost -v %{version}-%{rel} --rpm_safe_upgrade --all || :
921
922 %if %{with userspace}
923 %files
924 %defattr(644,root,root,755)
925 %dir %attr(751,root,root) %{_sysconfdir}/vbox
926 %dir %attr(770,root,vbox) %{_sysconfdir}/vbox/autostart
927 %attr(640,root,vbox) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vbox/autostart.cfg
928 %attr(754,root,root) /etc/rc.d/init.d/vboxautostart
929 %attr(755,root,root) /sbin/mount.vdi
930 %attr(755,root,root) %{_bindir}/VBoxAutostart
931 %attr(755,root,root) %{_bindir}/VBoxBalloonCtrl
932 %attr(755,root,root) %{_bindir}/VBoxDTrace
933 %attr(755,root,root) %{_bindir}/VBoxHeadless
934 %attr(755,root,root) %{_bindir}/VBoxManage
935 %attr(755,root,root) %{_bindir}/VBoxSDL
936 %attr(755,root,root) %{_bindir}/VBoxVRDP
937 %attr(755,root,root) %{_bindir}/vbox-img
938 %dir %{_libdir}/%{pname}
939 # libraries
940 %attr(755,root,root) %{_libdir}/%{pname}/DbgPlugInDiggers.so
941 %attr(755,root,root) %{_libdir}/%{pname}/VBoxAuth.so
942 %attr(755,root,root) %{_libdir}/%{pname}/VBoxAuthSimple.so
943 %attr(755,root,root) %{_libdir}/%{pname}/VBoxDD.so
944 %attr(755,root,root) %{_libdir}/%{pname}/VBoxDD2.so
945 %attr(755,root,root) %{_libdir}/%{pname}/VBoxDDU.so
946 %attr(755,root,root) %{_libdir}/%{pname}/VBoxDragAndDropSvc.so
947 %attr(755,root,root) %{_libdir}/%{pname}/VBoxGlobal.so
948 %attr(755,root,root) %{_libdir}/%{pname}/VBoxGuestControlSvc.so
949 %attr(755,root,root) %{_libdir}/%{pname}/VBoxGuestPropSvc.so
950 %attr(755,root,root) %{_libdir}/%{pname}/VBoxHostChannel.so
951 %attr(755,root,root) %{_libdir}/%{pname}/VBoxKeyboard.so
952 %attr(755,root,root) %{_libdir}/%{pname}/VBoxPython*.so
953 %attr(755,root,root) %{_libdir}/%{pname}/VBoxREM.so
954 %attr(755,root,root) %{_libdir}/%{pname}/VBoxRT.so
955 %attr(755,root,root) %{_libdir}/%{pname}/VBoxSVGA3D.so
956 %attr(755,root,root) %{_libdir}/%{pname}/VBoxSharedClipboard.so
957 %attr(755,root,root) %{_libdir}/%{pname}/VBoxSharedCrOpenGL.so
958 %attr(755,root,root) %{_libdir}/%{pname}/VBoxSharedFolders.so
959 %attr(755,root,root) %{_libdir}/%{pname}/VBoxVMM.so
960 %attr(755,root,root) %{_libdir}/%{pname}/VBoxXPCOM.so
961 %attr(755,root,root) %{_libdir}/%{pname}/VBoxXPCOMC.so
962 %ifarch %{ix86}
963 %attr(755,root,root) %{_libdir}/%{pname}/VBoxREM32.so
964 %attr(755,root,root) %{_libdir}/%{pname}/VBoxREM64.so
965 %endif
966
967 # binaries
968 %attr(755,root,root) %{_libdir}/%{pname}/VBox.sh
969 %attr(755,root,root) %{_libdir}/%{pname}/VBoxAutostart
970 %attr(755,root,root) %{_libdir}/%{pname}/VBoxBalloonCtrl
971 %attr(755,root,root) %{_libdir}/%{pname}/VBoxDTrace
972 %attr(755,root,root) %{_libdir}/%{pname}/VBoxExtPackHelperApp
973 %attr(755,root,root) %{_libdir}/%{pname}/VBoxHeadless
974 %attr(755,root,root) %{_libdir}/%{pname}/VBoxManage
975 %attr(755,root,root) %{_libdir}/%{pname}/VBoxNetAdpCtl
976 %attr(755,root,root) %{_libdir}/%{pname}/VBoxNetDHCP
977 %attr(755,root,root) %{_libdir}/%{pname}/VBoxNetNAT
978 %attr(755,root,root) %{_libdir}/%{pname}/VBoxSDL
979 %attr(755,root,root) %{_libdir}/%{pname}/VBoxSVC
980 %attr(755,root,root) %{_libdir}/%{pname}/VBoxTunctl
981 %attr(755,root,root) %{_libdir}/%{pname}/VBoxVMMPreload
982 %attr(755,root,root) %{_libdir}/%{pname}/VBoxVolInfo
983 %attr(755,root,root) %{_libdir}/%{pname}/VBoxXPCOMIPCD
984 %attr(755,root,root) %{_libdir}/%{pname}/VirtualBoxVM
985 %attr(755,root,root) %{_libdir}/%{pname}/bldRTLdrCheckImports
986 %attr(755,root,root) %{_libdir}/%{pname}/iPxeBaseBin
987 %if %{with doc}
988 %attr(755,root,root) %{_libdir}/%{pname}/VBoxManageHelp
989 %endif
990 %dir %{_libdir}/%{pname}/tools
991 %attr(755,root,root) %{_libdir}/%{pname}/tools/RTCat
992 %attr(755,root,root) %{_libdir}/%{pname}/tools/RTChMod
993 %attr(755,root,root) %{_libdir}/%{pname}/tools/RTCp
994 %attr(755,root,root) %{_libdir}/%{pname}/tools/RTDbgSymCache
995 %attr(755,root,root) %{_libdir}/%{pname}/tools/RTFuzzMaster
996 %attr(755,root,root) %{_libdir}/%{pname}/tools/RTGzip
997 %attr(755,root,root) %{_libdir}/%{pname}/tools/RTHttp
998 %attr(755,root,root) %{_libdir}/%{pname}/tools/RTIsoMaker
999 %attr(755,root,root) %{_libdir}/%{pname}/tools/RTKrnlModInfo
1000 %attr(755,root,root) %{_libdir}/%{pname}/tools/RTLdrCheckImports
1001 %attr(755,root,root) %{_libdir}/%{pname}/tools/RTLdrFlt
1002 %attr(755,root,root) %{_libdir}/%{pname}/tools/RTLs
1003 %attr(755,root,root) %{_libdir}/%{pname}/tools/RTManifest
1004 %attr(755,root,root) %{_libdir}/%{pname}/tools/RTMkDir
1005 %attr(755,root,root) %{_libdir}/%{pname}/tools/RTRm
1006 %attr(755,root,root) %{_libdir}/%{pname}/tools/RTRmDir
1007 %attr(755,root,root) %{_libdir}/%{pname}/tools/RTShutdown
1008 %attr(755,root,root) %{_libdir}/%{pname}/tools/RTSignTool
1009 %attr(755,root,root) %{_libdir}/%{pname}/tools/RTTar
1010 %attr(755,root,root) %{_libdir}/%{pname}/tools/RTTraceLogTool
1011 %attr(755,root,root) %{_libdir}/%{pname}/tools/RTUnzip
1012 %attr(755,root,root) %{_libdir}/%{pname}/tools/scm
1013
1014 %dir %{_libdir}/%{pname}/ExtensionPacks
1015 %{_libdir}/%{pname}/ExtensionPacks/VNC/ExtPack.xml
1016 %dir %{_libdir}/%{pname}/ExtensionPacks/VNC
1017 %dir %{_libdir}/%{pname}/ExtensionPacks/VNC/linux*
1018 %attr(755,root,root) %{_libdir}/%{pname}/ExtensionPacks/VNC/linux*/VBoxVNC*.so
1019 %dir %{_libdir}/%{pname}/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack
1020 %{_libdir}/%{pname}/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/ExtPack.xml
1021 %dir %{_libdir}/%{pname}/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux*
1022 %attr(755,root,root) %{_libdir}/%{pname}/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux*/VBoxDTrace*.so
1023 %{_libdir}/%{pname}/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux*/VBoxDTraceR0.debug
1024 %{_libdir}/%{pname}/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux*/VBoxDTraceR0.r0
1025
1026 %{_libdir}/%{pname}/VBoxBugReport
1027 %{_libdir}/%{pname}/VBoxCpuReport
1028 %{_libdir}/%{pname}/VBoxDDRC.debug
1029 %{_libdir}/%{pname}/VBoxDDRC.rc
1030 %{_libdir}/%{pname}/VBoxDDR0.debug
1031 %{_libdir}/%{pname}/VBoxDDR0.r0
1032 %{_libdir}/%{pname}/VBoxEFI32.fd
1033 %{_libdir}/%{pname}/VBoxEFI64.fd
1034 %{_libdir}/%{pname}/VMMRC.debug
1035 %{_libdir}/%{pname}/VMMRC.rc
1036 %{_libdir}/%{pname}/VMMR0.debug
1037 %{_libdir}/%{pname}/VMMR0.r0
1038
1039 %dir %{_libdir}/%{pname}/components
1040 %{_libdir}/%{pname}/components/VBoxXPCOMBase.xpt
1041 %{_libdir}/%{pname}/components/VirtualBox_XPCOM.xpt
1042 %attr(755,root,root) %{_libdir}/%{pname}/components/VBoxC.so
1043 %attr(755,root,root) %{_libdir}/%{pname}/components/VBoxSVCM.so
1044 %attr(755,root,root) %{_libdir}/%{pname}/components/VBoxXPCOMIPCC.so
1045 %attr(755,root,root) %{_libdir}/%{pname}/VBoxSysInfo.sh
1046
1047 %{_libdir}/%{pname}/UnattendedTemplates
1048
1049 %dir %{_datadir}/%{pname}
1050
1051 %config(noreplace) %verify(not md5 mtime size) /etc/udev/rules.d/60-vboxdrv.rules
1052 %attr(755,root,root) /lib/udev/VBoxCreateUSBNode.sh
1053
1054 %if %{with gui}
1055 %files gui
1056 %defattr(644,root,root,755)
1057 %attr(755,root,root) %{_bindir}/VirtualBox
1058 %attr(755,root,root) %{_libdir}/%{pname}/VBoxDbg.so
1059 %attr(755,root,root) %{_libdir}/%{pname}/VBoxTestOGL
1060 %attr(755,root,root) %{_libdir}/%{pname}/VirtualBox
1061 %dir %{_datadir}/%{pname}/nls
1062 %lang(bg) %{_datadir}/%{pname}/nls/*_bg.qm
1063 %lang(ca) %{_datadir}/%{pname}/nls/*_ca.qm
1064 %lang(ca_VA) %{_datadir}/%{pname}/nls/*_ca_VA.qm
1065 %lang(cs) %{_datadir}/%{pname}/nls/*_cs.qm
1066 %lang(da) %{_datadir}/%{pname}/nls/*_da.qm
1067 %lang(de) %{_datadir}/%{pname}/nls/*_de.qm
1068 %lang(en) %{_datadir}/%{pname}/nls/*_el.qm
1069 %lang(en) %{_datadir}/%{pname}/nls/*_en.qm
1070 %lang(es) %{_datadir}/%{pname}/nls/*_es.qm
1071 %lang(eu) %{_datadir}/%{pname}/nls/*_eu.qm
1072 %lang(fa) %{_datadir}/%{pname}/nls/*_fa.qm
1073 %lang(fi) %{_datadir}/%{pname}/nls/*_fi.qm
1074 %lang(fr) %{_datadir}/%{pname}/nls/*_fr.qm
1075 %lang(gl) %{_datadir}/%{pname}/nls/*_gl.qm
1076 %lang(he) %{_datadir}/%{pname}/nls/*_he.qm
1077 %lang(hu) %{_datadir}/%{pname}/nls/*_hu.qm
1078 %lang(id) %{_datadir}/%{pname}/nls/*_id.qm
1079 %lang(it) %{_datadir}/%{pname}/nls/*_it.qm
1080 %lang(ja) %{_datadir}/%{pname}/nls/*_ja.qm
1081 %lang(km_KH) %{_datadir}/%{pname}/nls/*_km_KH.qm
1082 %lang(ko) %{_datadir}/%{pname}/nls/*_ko.qm
1083 %lang(lt) %{_datadir}/%{pname}/nls/*_lt.qm
1084 %lang(nl) %{_datadir}/%{pname}/nls/*_nl.qm
1085 %lang(pl) %{_datadir}/%{pname}/nls/*_pl.qm
1086 %lang(pt) %{_datadir}/%{pname}/nls/*_pt.qm
1087 %lang(pt_BR) %{_datadir}/%{pname}/nls/*_pt_BR.qm
1088 %lang(ro) %{_datadir}/%{pname}/nls/*_ro.qm
1089 %lang(ru) %{_datadir}/%{pname}/nls/*_ru.qm
1090 %lang(sk) %{_datadir}/%{pname}/nls/*_sk.qm
1091 %lang(sk) %{_datadir}/%{pname}/nls/*_sl.qm
1092 %lang(sr) %{_datadir}/%{pname}/nls/*_sr.qm
1093 %lang(sv) %{_datadir}/%{pname}/nls/*_sv.qm
1094 %lang(th) %{_datadir}/%{pname}/nls/*_th.qm
1095 %lang(tr) %{_datadir}/%{pname}/nls/*_tr.qm
1096 %lang(uk) %{_datadir}/%{pname}/nls/*_uk.qm
1097 %lang(zh_CN) %{_datadir}/%{pname}/nls/*_zh_CN.qm
1098 %lang(zh_TW) %{_datadir}/%{pname}/nls/*_zh_TW.qm
1099 %{_desktopdir}/virtualbox.desktop
1100 %{_pixmapsdir}/virtualbox.png
1101 %{_iconsdir}/hicolor/*/apps/virtualbox.png
1102 %{_iconsdir}/hicolor/*/apps/virtualbox.svg
1103 %{_iconsdir}/hicolor/*/mimetypes/virtualbox-*.png
1104 %{_datadir}/mime/packages/virtualbox.xml
1105 %endif
1106
1107 %files additions
1108 %defattr(644,root,root,755)
1109 %{_datadir}/%{pname}/VBoxGuestAdditions.iso
1110
1111 %files guest
1112 %defattr(644,root,root,755)
1113 %attr(755,root,root) /sbin/mount.vboxsf
1114 %attr(754,root,root) /etc/rc.d/init.d/vboxservice
1115 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/vboxservice
1116 %{systemdunitdir}/vboxservice.service
1117 %{systemdunitdir}/vboxclient-vmsvga.service
1118 %attr(755,root,root) %{_bindir}/VBoxControl
1119 %attr(755,root,root) %{_bindir}/VBoxService
1120 %config(noreplace) %verify(not md5 mtime size) /etc/udev/rules.d/60-vboxguest.rules
1121
1122 %files guest-x11
1123 %defattr(644,root,root,755)
1124 /etc/xdg/autostart/vboxclient.desktop
1125 %attr(755,root,root) %{_bindir}/VBoxClient
1126 %attr(755,root,root) %{_bindir}/VBoxClient-all
1127
1128 %if %{with webservice}
1129 %files webservice
1130 %defattr(644,root,root,755)
1131 %attr(755,root,root) %{_bindir}/vboxwebsrv
1132 %attr(755,root,root) %{_libdir}/%{pname}/vboxwebsrv
1133 %attr(755,root,root) %{_libdir}/%{pname}/webtest
1134 %endif
1135
1136 %if %{with lightdm}
1137 %files -n lightdm-greeter-vbox
1138 %defattr(644,root,root,755)
1139 %attr(755,root,root) %{_sbindir}/vbox-greeter
1140 %{_datadir}/xgreeters/vbox-greeter.desktop
1141 %endif
1142
1143 %files -n pam-pam_vbox
1144 %defattr(644,root,root,755)
1145 %attr(755,root,root) /%{_lib}/security/pam_vbox.so
1146
1147 %if %{with doc}
1148 %files doc
1149 %defattr(644,root,root,755)
1150 # this is a symlink...
1151 %doc %{_libdir}/%{pname}/UserManual.pdf
1152 %if %{with all_langs}
1153 %lang(fr) %doc %{_libdir}/%{pname}/UserManual_fr_FR.pdf
1154 %endif
1155 # ..to this file
1156 %doc %{outdir}/UserManual.pdf
1157 %if %{with all_langs}
1158 %lang(fr) %doc %{outdir}/UserManual_fr_FR.pdf
1159 %endif
1160 %endif
1161
1162 %files -n xorg-driver-video-vboxvideo
1163 %defattr(644,root,root,755)
1164 %attr(755,root,root) %{_libdir}/xorg/modules/dri/vboxvideo_dri.so
1165 # vboxvideo_dri.so deps
1166 %attr(755,root,root) %{_libdir}/VBoxEGL.so
1167
1168 %if %{with dkms}
1169 %files -n dkms-vboxguest
1170 %defattr(644,root,root,755)
1171 %{_usrsrc}/vboxguest-%{version}-%{rel}
1172
1173 %files -n dkms-vboxhost
1174 %defattr(644,root,root,755)
1175 %{_usrsrc}/vboxhost-%{version}-%{rel}
1176 %endif
1177 %endif
This page took 0.136579 seconds and 4 git commands to generate.