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