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