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