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