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