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