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