]> git.pld-linux.org Git - packages/VirtualBox.git/blame - VirtualBox.spec
don't fail if hardlink iso fails because different build dirs
[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
f35b0ec2 51%define rel 1
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}
28c32eb9 56Version: 4.3.26
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
28c32eb9 61# Source0-md5: df8fa3b1820773556b33ae0405553120
744bc35e 62Source1: http://download.virtualbox.org/virtualbox/%{version}/VBoxGuestAdditions_%{version}.iso
28c32eb9 63# Source1-md5: 0e81ff4d6014c7353df0f7b84db2c2b2
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
29ed465a 84Patch12: %{pname}-all-translations.patch
d5e18103 85Patch13: x32.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
29ed465a 527%patch12 -p0
d5e18103 528%patch13 -p1
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
29ed465a
JP
557# don't force whole userspace to be built with -fPIC
558# see https://www.virtualbox.org/pipermail/vbox-dev/2015-February/012863.html
559%define filterout_c -fPIC
560%define filterout_cxx -fPIC
561
316a5697
ER
562cat <<'EOF'>> LocalConfig.kmk
563%{?with_verbose:KBUILD_VERBOSE=3}
564USERNAME=%(id -un)
565__VBOX_BUILD_PUBLISHER=_PLD
566VBOX_VERSION_STRING=$(VBOX_VERSION_MAJOR).$(VBOX_VERSION_MINOR).$(VBOX_VERSION_BUILD)_PLD
567XSERVER_VERSION=%(rpm -q --queryformat '%{V}\n' xorg-xserver-server-devel | awk -F. '{ print $1 $2 }' 2>/dev/null || echo ERROR)
568VBOX_USE_SYSTEM_XORG_HEADERS=1
569%if %{with lightdm}
570VBOX_WITH_LIGHTDM_GREETER=1
571VBOX_WITH_LIGHTDM_GREETER_PACKING=1
572%endif
573TOOL_GCC3_CFLAGS=%{rpmcflags}
574TOOL_GCC3_CXXFLAGS=%{rpmcxxflags}
575VBOX_GCC_OPT=%{rpmcxxflags}
44a0c82d
ER
576
577VBOX_PATH_APP_PRIVATE_ARCH := %{_libdir}/%{pname}
578VBOX_PATH_APP_PRIVATE := %{_datadir}/%{pname}
579VBOX_PATH_SHARED_LIBS := $(VBOX_PATH_APP_PRIVATE_ARCH)
580VBOX_WITH_ORIGIN :=
581VBOX_WITH_RUNPATH := $(VBOX_PATH_APP_PRIVATE_ARCH)
582#VBOX_PATH_APP_DOCS := %{_docdir}/%{pname}-doc-%{version}
583
584# don't build testcases to save time, they are not needed for the package
585VBOX_WITH_TESTCASES :=
586VBOX_WITH_TESTSUITE :=
316a5697
ER
587EOF
588
29ed465a
JP
589%undefine filterout_c
590%undefine filterout_cxx
591
fddcb741 592%build
83ffcfa8 593%if %{with userspace}
106d8451 594./configure \
ae1bbc88 595 --with-gcc="%{__cc}" \
596 --with-g++="%{__cxx}" \
8da42f47 597 %{!?with_doc:--disable-docs} \
744bc35e 598 --disable-java \
5a497466 599 --disable-hardening \
01e414ba 600 --disable-kmods \
55f7d7d3 601 --enable-vnc \
d7e93912 602 %{!?with_gui:--disable-qt} \
55f7d7d3
ER
603 %{__enable webservice} \
604 %{nil}
48363591 605
316a5697 606kmk %{?_smp_mflags}
74268e47 607
744bc35e 608%{__cc} %{rpmcflags} %{rpmldflags} -Wall -Werror src/VBox/Additions/linux/sharedfolders/{mount.vboxsf.c,vbsfmount.c} -o mount.vboxsf
d1c4ec5b 609%endif
48363591 610
a59a82ea 611%{?with_kernel:%{expand:%build_kernel_packages}}
51ef4838 612
48363591 613%install
614rm -rf $RPM_BUILD_ROOT
615
d1c4ec5b 616%if %{with userspace}
c11f39b3 617install -d $RPM_BUILD_ROOT{%{_bindir},/sbin,%{_sbindir},%{_libdir}/%{pname}/ExtensionPacks} \
501bee39 618 $RPM_BUILD_ROOT{%{_pixmapsdir},%{_desktopdir},%{_datadir}/mime/packages} \
2daf9ea4 619 $RPM_BUILD_ROOT%{_sysconfdir}/vbox/autostart \
12db98a7 620 $RPM_BUILD_ROOT%{_libdir}/xorg/modules/{drivers,dri,input} \
4365ecaf 621 $RPM_BUILD_ROOT{/lib/udev,/etc/udev/rules.d} \
44a0c82d 622 $RPM_BUILD_ROOT{/etc/rc.d/init.d,%{systemdunitdir},%{_usrsrc}}
a70507fb 623
dca6c443 624# test if we can hardlink -- %{_builddir} and $RPM_BUILD_ROOT on same partition
632ec0b7 625if cp -al COPYING $RPM_BUILD_ROOT/COPYING; then
dca6c443 626 l=l
44a0c82d 627 %{__rm} $RPM_BUILD_ROOT/COPYING
dca6c443
ER
628fi
629
33aeed61 630cp -a$l %{outdir}/* $RPM_BUILD_ROOT%{_libdir}/%{pname}
31c02e63
ER
631cp -p$l %{SOURCE1} $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/VBoxGuestAdditions.iso ||
632cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/VBoxGuestAdditions.iso
48363591 633
d7e93912
ER
634%if %{without gui}
635%{__rm} -r $RPM_BUILD_ROOT%{_libdir}/%{pname}/icons
636%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/virtualbox.xml
637%endif
638
44a0c82d 639# vboxvideo
ffd7f18a 640%{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions/VBoxOGL.so,%{_libdir}/xorg/modules/dri/vboxvideo_dri.so}
44a0c82d 641%{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions/vboxvideo_drv_system.so,%{_libdir}/xorg/modules/drivers/vboxvideo_drv.so}
27a1aef6 642# XXX: where else to install them that vboxvideo_dri.so finds them? patch with rpath?
ffd7f18a
JR
643%{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLarrayspu.so
644%{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLcrutil.so
645%{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLerrorspu.so
646%{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLfeedbackspu.so
647%{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLpackspu.so
648%{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_libdir}}/VBoxOGLpassthroughspu.so
d1c4ec5b 649
1067d08d 650# Guest Only Tools
ffd7f18a
JR
651%{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_bindir}}/VBoxClient
652%{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_bindir}}/VBoxControl
44a0c82d 653%{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_bindir}}/VBoxService
4e3859c5 654install -d $RPM_BUILD_ROOT/etc/xdg/autostart
90de3b27
ER
655cp -p src/VBox/Additions/x11/Installer/vboxclient.desktop \
656 $RPM_BUILD_ROOT/etc/xdg/autostart/vboxclient.desktop
4e3859c5 657install -p src/VBox/Additions/x11/Installer/98vboxadd-xclient $RPM_BUILD_ROOT%{_bindir}/VBoxClient-all
44a0c82d
ER
658install -p %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxservice
659install -p %{SOURCE3} $RPM_BUILD_ROOT%{systemdunitdir}/vboxservice.service
1067d08d 660
38d06cb9
ER
661install -p %{SOURCE9} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxautostart
662%{__sed} -i -e 's#@INSTALL_DIR@#%{_libdir}/%{pname}#' $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxautostart
663cp -p %{SOURCE10} $RPM_BUILD_ROOT%{_sysconfdir}/vbox
664
8d08b907
ER
665%if %{with lightdm}
666install -d $RPM_BUILD_ROOT%{_datadir}/xgreeters
29c4b6b6 667%{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_sbindir}}/vbox-greeter
8d08b907
ER
668cp -p %{objdir}/Additions/Installer/linux/share/VBoxGuestAdditions/vbox-greeter.desktop $RPM_BUILD_ROOT%{_datadir}/xgreeters
669%endif
670
bc1ca596
ER
671%if %{with dkms}
672mv $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/src $RPM_BUILD_ROOT%{_usrsrc}/vboxguest-%{version}-%{rel}
673%endif
674
44a0c82d
ER
675# pam
676install -d $RPM_BUILD_ROOT/%{_lib}/security
677%{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,/%{_lib}/security}/pam_vbox.so
678
679# mount.vboxsf
680%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/mount.vboxsf
681install -p mount.vboxsf $RPM_BUILD_ROOT/sbin/mount.vboxsf
682
683# mount.vdi
684install -p %{SOURCE5} $RPM_BUILD_ROOT/sbin/mount.vdi
685
686# these belong to .iso
687%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/autorun.sh
688%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/runasroot.sh
689
ce061de6 690# scripts to setup modules, x11 and service. we have covered that in our packages
44a0c82d
ER
691%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/vboxadd
692%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/vboxadd-service
693%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/vboxadd-x11
ce061de6
ER
694
695# unknown - checkme
696%if 1
44a0c82d 697%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/helpers/generate_service_file
ffd7f18a
JR
698%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/SUPInstall
699%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/SUPLoggerCtl
700%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/SUPUninstall
ffd7f18a
JR
701%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/load.sh
702%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/loadall.sh
ffd7f18a 703%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/scripts/VBoxHeadlessXOrg.sh
ffd7f18a
JR
704%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/scripts/init_template.sh
705%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/scripts/install_service
44a0c82d
ER
706%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/vboxshell.py
707%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/xpidl
1067d08d 708%endif
dca6c443 709
44a0c82d
ER
710# use upstream installer to relocate rest of the files, fakeroot because it forces uid/gid 0
711fakeroot sh -x $RPM_BUILD_ROOT%{_libdir}/%{pname}/scripts/install.sh \
712 --ose \
713 --prefix %{_prefix} \
714 %{!?with_webservice:--no-web-service} \
d7e93912 715 %{!?with_gui:--no-qt} \
44a0c82d 716 --root $RPM_BUILD_ROOT
e56dcfeb 717
44a0c82d 718%{__mv} $RPM_BUILD_ROOT{%{_datadir}/%{pname},/lib/udev}/VBoxCreateUSBNode.sh
aac4c380 719cp -p %{SOURCE6} $RPM_BUILD_ROOT/etc/udev/rules.d/60-vboxdrv.rules
44a0c82d 720
bc1ca596
ER
721%if %{with dkms}
722mv $RPM_BUILD_ROOT%{_datadir}/%{pname}/src $RPM_BUILD_ROOT%{_usrsrc}/vboxhost-%{version}-%{rel}
723%{__rm} $RPM_BUILD_ROOT%{_usrsrc}/vboxhost-%{version}_PLD
724%endif
725
44a0c82d
ER
726# cleanup lowercased variants, not used in any script (less cruft)
727%{__rm} -r $RPM_BUILD_ROOT%{_bindir}/vboxautostart
728%{__rm} -r $RPM_BUILD_ROOT%{_bindir}/vboxballoonctrl
729%{__rm} -r $RPM_BUILD_ROOT%{_bindir}/vboxheadless
730%{__rm} -r $RPM_BUILD_ROOT%{_bindir}/vboxmanage
731%{__rm} -r $RPM_BUILD_ROOT%{_bindir}/vboxsdl
44a0c82d
ER
732
733# cleanup unpackaged
734%{__rm} -r $RPM_BUILD_ROOT%{_libdir}/%{pname}/{sdk,testcase}
735%{__rm} -r $RPM_BUILD_ROOT%{_libdir}/%{pname}/dtrace
44a0c82d
ER
736%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/vboxkeyboard.tar.bz2
737%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/tst*
738%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/scripts/generated.sh
739%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/ExtensionPacks/VNC/ExtPack-license.*
44a0c82d
ER
740%{__rm} -r $RPM_BUILD_ROOT%{py_sitescriptdir}/vboxapi*
741
d7e93912
ER
742%if %{with gui}
743# cleanup lowercased variants, not used in any script (less cruft)
744%{__rm} -r $RPM_BUILD_ROOT%{_bindir}/virtualbox
44a0c82d
ER
745# weird icon size
746%{__rm} -r $RPM_BUILD_ROOT%{_iconsdir}/hicolor/40x40
d7e93912
ER
747%endif
748
44a0c82d
ER
749# duplicate, we already have virtualbox.png (128x128), this is 32x32
750%{__rm} -r $RPM_BUILD_ROOT%{_pixmapsdir}/VBox.png
751
752%if %{with doc}
753ln -sf %{_docdir}/%{pname}-doc-%{version}/UserManual.pdf $RPM_BUILD_ROOT%{_libdir}/%{pname}/UserManual.pdf
4f88ff56 754ln -sf %{_docdir}/%{pname}-doc-%{version}/UserManual_fr_FR.pdf $RPM_BUILD_ROOT%{_libdir}/%{pname}/UserManual_fr_FR.pdf
44a0c82d 755%endif
c38a3946 756%endif
988a8f09 757
da083e45 758%if %{with kernel}
4365ecaf 759install -d $RPM_BUILD_ROOT{/etc/modules-load.d,/sbin}
163ddb28
JR
760
761cp -a PLD-MODULE-BUILD/installed/* $RPM_BUILD_ROOT
fa974331 762
35ccdfcc 763# Tell systemd to load modules
4365ecaf
JR
764cp -p %{SOURCE7} $RPM_BUILD_ROOT/etc/modules-load.d/virtualbox-host.conf
765cp -p %{SOURCE8} $RPM_BUILD_ROOT/etc/modules-load.d/virtualbox-guest.conf
d1c4ec5b 766%endif
05f1b1f5 767
48363591 768%clean
769rm -rf $RPM_BUILD_ROOT
770
3b63d3e8 771%pre
772%groupadd -g 221 -r -f vbox
773
14561782 774%post
38d06cb9
ER
775/sbin/chkconfig --add vboxautostart
776%service -n vboxautostart restart
777
12db98a7
JR
778for i in /sys/bus/usb/devices/*; do
779 if [ -r "$i/dev" ]; then
780 dev="`cat "$i/dev" 2>/dev/null || true`"
781 major="`expr "$dev" : '\(.*\):' 2> /dev/null || true`"
782 minor="`expr "$dev" : '.*:\(.*\)' 2> /dev/null || true`"
783 class="`cat $i/bDeviceClass 2> /dev/null || true`"
784 /lib/udev/VBoxCreateUSBNode.sh "$major" "$minor" "$class" vbox 2>/dev/null
785 fi
786done
1403ac49 787
d8ed80f4 788cat << 'EOF'
4365ecaf 789You must install vboxdrv kernel modules for this software to work:
163ddb28 790 kernel*-virtualbox-host-%{version}-%{rel}@*
05f12a30 791
fa974331 792On Guest Linux system you might want to install:
163ddb28 793 kernel*-virtualbox-guest-%{version}-%{rel}@*
7841ddfd 794
d8ed80f4 795EOF
796
38d06cb9
ER
797%preun
798if [ "$1" = "0" ]; then
799 /sbin/chkconfig --del vboxautostart
800 %service vboxautostart -q stop
801fi
802
803
3b63d3e8 804%postun
805if [ "$1" = "0" ]; then
806 %groupremove vbox
807fi
808
501bee39
ER
809%post gui
810%update_desktop_database
44a0c82d 811%update_icon_cache hicolor
501bee39
ER
812%update_mime_database
813
814%postun gui
815%update_desktop_database
44a0c82d 816%update_icon_cache hicolor
501bee39
ER
817%update_mime_database
818
551622b8
ER
819%pre guest
820# Add a group "vboxsf" for Shared Folders access
821# All users which want to access the auto-mounted Shared Folders have to be added to this group.
822%groupadd -g 266 -r -f vboxsf
823
07e9b84d 824%post guest
31e46441
ER
825/sbin/chkconfig --add vboxservice
826%service vboxservice restart
4365ecaf 827%systemd_post vboxservice.service
07e9b84d 828
b93128e2 829%preun guest
07e9b84d 830if [ "$1" = "0" ]; then
31e46441
ER
831 /sbin/chkconfig --del vboxservice
832 %service vboxservice -q stop
07e9b84d 833fi
4365ecaf 834%systemd_preun vboxservice.service
07e9b84d 835
4365ecaf 836%postun guest
551622b8
ER
837if [ "$1" = "0" ]; then
838 %groupremove vboxsf
839fi
4365ecaf 840%systemd_reload
ece7f2f1 841
4365ecaf
JR
842%triggerpostun guest -- VirtualBox-guest < 4.3.0-1
843%systemd_trigger vboxservice.service
ece7f2f1 844
4365ecaf
JR
845%pre -n lightdm-greeter-vbox
846%addusertogroup xdm vbox
74268e47 847
988a8f09 848%post -n dkms-vboxguest
988a8f09
ER
849dkms add -m vboxguest -v %{version}-%{rel} --rpm_safe_upgrade && \
850dkms build -m vboxguest -v %{version}-%{rel} --rpm_safe_upgrade && \
851dkms install -m vboxguest -v %{version}-%{rel} --rpm_safe_upgrade || :
852
853%preun -n dkms-vboxguest
988a8f09
ER
854dkms remove -m vboxguest -v %{version}-%{rel} --rpm_safe_upgrade --all || :
855
856%post -n dkms-vboxhost
988a8f09
ER
857dkms add -m vboxhost -v %{version}-%{rel} --rpm_safe_upgrade && \
858dkms build -m vboxhost -v %{version}-%{rel} --rpm_safe_upgrade && \
859dkms install -m vboxhost -v %{version}-%{rel} --rpm_safe_upgrade || :
860
861%preun -n dkms-vboxhost
988a8f09
ER
862dkms remove -m vboxhost -v %{version}-%{rel} --rpm_safe_upgrade --all || :
863
d1c4ec5b 864%if %{with userspace}
48363591 865%files
866%defattr(644,root,root,755)
2daf9ea4
ER
867%dir %attr(751,root,root) %{_sysconfdir}/vbox
868%dir %attr(770,root,vbox) %{_sysconfdir}/vbox/autostart
38d06cb9
ER
869%attr(640,root,vbox) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vbox/autostart.cfg
870%attr(754,root,root) /etc/rc.d/init.d/vboxautostart
44a0c82d 871%attr(755,root,root) /sbin/mount.vdi
753cf356
ER
872%attr(755,root,root) %{_bindir}/VBox
873%attr(755,root,root) %{_bindir}/VBoxAutostart
874%attr(755,root,root) %{_bindir}/VBoxBalloonCtrl
85b005e2 875%attr(755,root,root) %{_bindir}/VBoxHeadless
876%attr(755,root,root) %{_bindir}/VBoxManage
877%attr(755,root,root) %{_bindir}/VBoxSDL
85b005e2 878%attr(755,root,root) %{_bindir}/VBoxTunctl
44a0c82d 879%dir %{_libdir}/%{pname}
753cf356 880# libraries
23790586
ER
881%attr(755,root,root) %{_libdir}/%{pname}/DBGCPlugInDiggers.so
882%attr(755,root,root) %{_libdir}/%{pname}/VBoxAuth.so
883%attr(755,root,root) %{_libdir}/%{pname}/VBoxAuthSimple.so
23790586 884%attr(755,root,root) %{_libdir}/%{pname}/VBoxDD.so
753cf356 885%attr(755,root,root) %{_libdir}/%{pname}/VBoxDD2.so
23790586
ER
886%attr(755,root,root) %{_libdir}/%{pname}/VBoxDDU.so
887%attr(755,root,root) %{_libdir}/%{pname}/VBoxDragAndDropSvc.so
23790586
ER
888%attr(755,root,root) %{_libdir}/%{pname}/VBoxGuestControlSvc.so
889%attr(755,root,root) %{_libdir}/%{pname}/VBoxGuestPropSvc.so
23790586
ER
890%attr(755,root,root) %{_libdir}/%{pname}/VBoxHostChannel.so
891%attr(755,root,root) %{_libdir}/%{pname}/VBoxKeyboard.so
23790586
ER
892%attr(755,root,root) %{_libdir}/%{pname}/VBoxOGLhostcrutil.so
893%attr(755,root,root) %{_libdir}/%{pname}/VBoxOGLhosterrorspu.so
894%attr(755,root,root) %{_libdir}/%{pname}/VBoxOGLrenderspu.so
895%attr(755,root,root) %{_libdir}/%{pname}/VBoxPython*.so
896%attr(755,root,root) %{_libdir}/%{pname}/VBoxREM.so
753cf356
ER
897%attr(755,root,root) %{_libdir}/%{pname}/VBoxRT.so
898%attr(755,root,root) %{_libdir}/%{pname}/VBoxSharedClipboard.so
899%attr(755,root,root) %{_libdir}/%{pname}/VBoxSharedCrOpenGL.so
900%attr(755,root,root) %{_libdir}/%{pname}/VBoxSharedFolders.so
901%attr(755,root,root) %{_libdir}/%{pname}/VBoxVMM.so
902%attr(755,root,root) %{_libdir}/%{pname}/VBoxXPCOM.so
903%attr(755,root,root) %{_libdir}/%{pname}/VBoxXPCOMC.so
f701b529 904%ifarch %{ix86}
23790586
ER
905%attr(755,root,root) %{_libdir}/%{pname}/VBoxREM32.so
906%attr(755,root,root) %{_libdir}/%{pname}/VBoxREM64.so
f701b529 907%endif
753cf356
ER
908
909# binaries
910%attr(755,root,root) %{_libdir}/%{pname}/VBoxAutostart
911%attr(755,root,root) %{_libdir}/%{pname}/VBoxBalloonCtrl
912%attr(755,root,root) %{_libdir}/%{pname}/VBoxExtPackHelperApp
913%attr(755,root,root) %{_libdir}/%{pname}/VBoxHeadless
914%attr(755,root,root) %{_libdir}/%{pname}/VBoxManage
915%attr(755,root,root) %{_libdir}/%{pname}/VBoxNetAdpCtl
916%attr(755,root,root) %{_libdir}/%{pname}/VBoxNetDHCP
917%attr(755,root,root) %{_libdir}/%{pname}/VBoxNetNAT
23790586 918%attr(755,root,root) %{_libdir}/%{pname}/VBoxSDL
23790586 919%attr(755,root,root) %{_libdir}/%{pname}/VBoxSVC
23790586 920%attr(755,root,root) %{_libdir}/%{pname}/VBoxVMMPreload
753cf356 921%attr(755,root,root) %{_libdir}/%{pname}/VBoxVolInfo
23790586 922%attr(755,root,root) %{_libdir}/%{pname}/VBoxXPCOMIPCD
753cf356
ER
923%attr(755,root,root) %{_libdir}/%{pname}/iPxeBaseBin
924%if %{with doc}
925%attr(755,root,root) %{_libdir}/%{pname}/VBoxManageHelp
926%endif
28b5d8a8
JP
927%dir %{_libdir}/%{pname}/tools
928%attr(755,root,root) %{_libdir}/%{pname}/tools/RTGzip
929%attr(755,root,root) %{_libdir}/%{pname}/tools/RTLdrFlt
930%attr(755,root,root) %{_libdir}/%{pname}/tools/RTManifest
931%attr(755,root,root) %{_libdir}/%{pname}/tools/RTRm
932%attr(755,root,root) %{_libdir}/%{pname}/tools/RTShutdown
933%attr(755,root,root) %{_libdir}/%{pname}/tools/RTSignTool
934%attr(755,root,root) %{_libdir}/%{pname}/tools/RTTar
44a0c82d
ER
935
936%dir %{_libdir}/%{pname}/ExtensionPacks
937%{_libdir}/%{pname}/ExtensionPacks/VNC/ExtPack.xml
938%dir %{_libdir}/%{pname}/ExtensionPacks/VNC
939%dir %{_libdir}/%{pname}/ExtensionPacks/VNC/linux*
23790586 940%attr(755,root,root) %{_libdir}/%{pname}/ExtensionPacks/VNC/linux*/VBoxVNC*.so
44a0c82d 941
7733446a 942%{_libdir}/%{pname}/VBoxDD2GC.debug
23790586 943%{_libdir}/%{pname}/VBoxDD2GC.gc
7733446a 944%{_libdir}/%{pname}/VBoxDD2R0.debug
23790586 945%{_libdir}/%{pname}/VBoxDD2R0.r0
7733446a
JR
946%{_libdir}/%{pname}/VBoxDDGC.debug
947%{_libdir}/%{pname}/VBoxDDGC.gc
948%{_libdir}/%{pname}/VBoxDDR0.debug
23790586 949%{_libdir}/%{pname}/VBoxDDR0.r0
23790586
ER
950%{_libdir}/%{pname}/VBoxEFI32.fd
951%{_libdir}/%{pname}/VBoxEFI64.fd
7733446a
JR
952%{_libdir}/%{pname}/VMMGC.debug
953%{_libdir}/%{pname}/VMMGC.gc
954%{_libdir}/%{pname}/VMMR0.debug
955%{_libdir}/%{pname}/VMMR0.r0
44a0c82d
ER
956
957%dir %{_libdir}/%{pname}/components
501bee39 958%{_libdir}/%{pname}/components/VBoxXPCOMBase.xpt
23790586
ER
959%{_libdir}/%{pname}/components/VirtualBox_XPCOM.xpt
960%attr(755,root,root) %{_libdir}/%{pname}/components/VBoxC.so
961%attr(755,root,root) %{_libdir}/%{pname}/components/VBoxSVCM.so
962%attr(755,root,root) %{_libdir}/%{pname}/components/VBoxXPCOMIPCC.so
501bee39 963
44a0c82d
ER
964%dir %{_datadir}/%{pname}
965%attr(755,root,root) %{_datadir}/%{pname}/VBoxSysInfo.sh
966
e10592b2 967%config(noreplace) %verify(not md5 mtime size) /etc/udev/rules.d/*.rules
501bee39
ER
968%attr(755,root,root) /lib/udev/VBoxCreateUSBNode.sh
969
d7e93912 970%if %{with gui}
501bee39
ER
971%files gui
972%defattr(644,root,root,755)
973%attr(755,root,root) %{_bindir}/VirtualBox
501bee39
ER
974%attr(755,root,root) %{_libdir}/%{pname}/VBoxDbg.so
975%attr(755,root,root) %{_libdir}/%{pname}/VBoxTestOGL
753cf356 976%attr(755,root,root) %{_libdir}/%{pname}/VirtualBox
44a0c82d
ER
977%dir %{_datadir}/%{pname}/nls
978%lang(bg) %{_datadir}/%{pname}/nls/*_bg.qm
979%lang(ca) %{_datadir}/%{pname}/nls/*_ca.qm
980%lang(ca_VA) %{_datadir}/%{pname}/nls/*_ca_VA.qm
981%lang(cs) %{_datadir}/%{pname}/nls/*_cs.qm
982%lang(da) %{_datadir}/%{pname}/nls/*_da.qm
983%lang(de) %{_datadir}/%{pname}/nls/*_de.qm
984%lang(en) %{_datadir}/%{pname}/nls/*_en.qm
985%lang(es) %{_datadir}/%{pname}/nls/*_es.qm
986%lang(eu) %{_datadir}/%{pname}/nls/*_eu.qm
987%lang(fi) %{_datadir}/%{pname}/nls/*_fa_IR.qm
988%lang(fi) %{_datadir}/%{pname}/nls/*_fi.qm
989%lang(fr) %{_datadir}/%{pname}/nls/*_fr.qm
990%lang(gl_ES) %{_datadir}/%{pname}/nls/*_gl_ES.qm
991%lang(hu) %{_datadir}/%{pname}/nls/*_hu.qm
992%lang(id) %{_datadir}/%{pname}/nls/*_id.qm
993%lang(it) %{_datadir}/%{pname}/nls/*_it.qm
994%lang(ja) %{_datadir}/%{pname}/nls/*_ja.qm
995%lang(km_KH) %{_datadir}/%{pname}/nls/*_km_KH.qm
996%lang(ko) %{_datadir}/%{pname}/nls/*_ko.qm
997%lang(lt) %{_datadir}/%{pname}/nls/*_lt.qm
998%lang(nl) %{_datadir}/%{pname}/nls/*_nl.qm
999%lang(pl) %{_datadir}/%{pname}/nls/*_pl.qm
1000%lang(pt) %{_datadir}/%{pname}/nls/*_pt.qm
1001%lang(pt_BR) %{_datadir}/%{pname}/nls/*_pt_BR.qm
1002%lang(ro) %{_datadir}/%{pname}/nls/*_ro.qm
1003%lang(ru) %{_datadir}/%{pname}/nls/*_ru.qm
1004%lang(sk) %{_datadir}/%{pname}/nls/*_sk.qm
1005%lang(sr) %{_datadir}/%{pname}/nls/*_sr.qm
1006%lang(sv) %{_datadir}/%{pname}/nls/*_sv.qm
1007%lang(tr) %{_datadir}/%{pname}/nls/*_tr.qm
1008%lang(uk) %{_datadir}/%{pname}/nls/*_uk.qm
1009%lang(zh_CN) %{_datadir}/%{pname}/nls/*_zh_CN.qm
1010%lang(zh_TW) %{_datadir}/%{pname}/nls/*_zh_TW.qm
501bee39 1011%{_desktopdir}/virtualbox.desktop
44a0c82d
ER
1012%{_pixmapsdir}/virtualbox.png
1013%{_iconsdir}/hicolor/*/apps/virtualbox.png
1014%{_iconsdir}/hicolor/*/apps/virtualbox.svg
1015%{_iconsdir}/hicolor/*/mimetypes/virtualbox-*.png
501bee39 1016%{_datadir}/mime/packages/virtualbox.xml
d7e93912 1017%endif
12db98a7 1018
ffb38bb6 1019%files additions
9dda6415 1020%defattr(644,root,root,755)
44a0c82d 1021%{_datadir}/%{pname}/VBoxGuestAdditions.iso
ffb38bb6 1022
1067d08d
ER
1023%files guest
1024%defattr(644,root,root,755)
c11f39b3 1025%attr(755,root,root) /sbin/mount.vboxsf
07e9b84d 1026%attr(754,root,root) /etc/rc.d/init.d/vboxservice
4365ecaf 1027%{systemdunitdir}/vboxservice.service
c0372ee9
ER
1028%attr(755,root,root) %{_bindir}/VBoxControl
1029%attr(755,root,root) %{_bindir}/VBoxService
1030
1031%files guest-x11
3d9b19d8 1032%defattr(644,root,root,755)
90de3b27 1033/etc/xdg/autostart/vboxclient.desktop
4e3859c5
ER
1034%attr(755,root,root) %{_bindir}/VBoxClient
1035%attr(755,root,root) %{_bindir}/VBoxClient-all
1067d08d 1036
21a1d8ab
ER
1037%if %{with webservice}
1038%files webservice
1039%defattr(644,root,root,755)
44a0c82d 1040%attr(755,root,root) %{_bindir}/vboxwebsrv
21a1d8ab
ER
1041%attr(755,root,root) %{_libdir}/%{pname}/vboxwebsrv
1042%attr(755,root,root) %{_libdir}/%{pname}/webtest
1043%endif
1044
8d08b907 1045%if %{with lightdm}
9e4dd6a9 1046%files -n lightdm-greeter-vbox
8d08b907
ER
1047%defattr(644,root,root,755)
1048%attr(755,root,root) %{_sbindir}/vbox-greeter
1049%{_datadir}/xgreeters/vbox-greeter.desktop
1050%endif
1051
3613936b
JR
1052%files -n pam-pam_vbox
1053%defattr(644,root,root,755)
3ee6b9d9 1054%attr(755,root,root) /%{_lib}/security/pam_vbox.so
3613936b 1055
90de3b27
ER
1056%if %{with doc}
1057%files doc
1058%defattr(644,root,root,755)
f0a66b84
JR
1059# this is a symlink...
1060%doc %{_libdir}/%{pname}/UserManual.pdf
4f88ff56 1061%lang(fr) %doc %{_libdir}/%{pname}/UserManual_fr_FR.pdf
f0a66b84 1062# ..to this file
90de3b27 1063%doc %{outdir}/UserManual.pdf
4f88ff56 1064%lang(fr) %doc %{outdir}/UserManual_fr_FR.pdf
90de3b27
ER
1065%endif
1066
09c79ddb 1067%files -n xorg-driver-video-vboxvideo
1068%defattr(644,root,root,755)
1069%attr(755,root,root) %{_libdir}/xorg/modules/drivers/vboxvideo_drv.so
27a1aef6
ER
1070%attr(755,root,root) %{_libdir}/xorg/modules/dri/vboxvideo_dri.so
1071# vboxvideo_dri.so deps
1067d08d 1072%attr(755,root,root) %{_libdir}/VBoxOGLarrayspu.so
27a1aef6
ER
1073%attr(755,root,root) %{_libdir}/VBoxOGLcrutil.so
1074%attr(755,root,root) %{_libdir}/VBoxOGLerrorspu.so
1075%attr(755,root,root) %{_libdir}/VBoxOGLfeedbackspu.so
1076%attr(755,root,root) %{_libdir}/VBoxOGLpackspu.so
1077%attr(755,root,root) %{_libdir}/VBoxOGLpassthroughspu.so
988a8f09
ER
1078
1079%if %{with dkms}
1080%files -n dkms-vboxguest
1081%defattr(644,root,root,755)
1082%{_usrsrc}/vboxguest-%{version}-%{rel}
1083
1084%files -n dkms-vboxhost
1085%defattr(644,root,root,755)
1086%{_usrsrc}/vboxhost-%{version}-%{rel}
1087%endif
c38a3946 1088%endif
This page took 0.455305 seconds and 4 git commands to generate.