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