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