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