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