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