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