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