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