]> git.pld-linux.org Git - packages/VirtualBox.git/blame - VirtualBox.spec
initial update to 6.1.0
[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}\
447Provides: kernel(vboxpci) = %{version}-%{rel}\
448Obsoletes: kernel-init-host\
449\
450%description -n kernel%{_alt_kernel}-virtualbox-host\
451This package contains VirtualBox Support Driver, Network Adapter\
452Driver, Network Filter Driver and PCI card passthrough driver that\
453works as host proxy between guest and PCI hardware.\
454\
455%description -n kernel%{_alt_kernel}-virtualbox-host -l pl.UTF-8\
456Ten pakiet zawiera sterownik wsparcia dla systemu głównego, sterownik\
457witrualnej karty sieciowej, sterownik filtrowania sieci dla systemu\
458głównego oraz sterownik, ktory działa jako proxy między gościem i\
459gospodarzem sprzętu PCI.\
460\
461%if %{with kernel}\
462%files -n kernel%{_alt_kernel}-virtualbox-guest\
463%defattr(644,root,root,755)\
8b840295
JP
464%if %{_kernel_version_code} >= %{_kernel_version_magic 4 16 0}\
465%config(noreplace) %verify(not md5 mtime size) /etc/depmod.d/%{_kernel_ver}/vboxguest.conf\
466%endif\
163ddb28
JR
467%config(noreplace) %verify(not md5 mtime size) /etc/modules-load.d/virtualbox-guest.conf\
468/lib/modules/%{_kernel_ver}/misc/vboxguest.ko*\
469/lib/modules/%{_kernel_ver}/misc/vboxsf.ko*\
14c2cd1f 470%if %{_kernel_version_code} < %{_kernel_version_magic 4 13 0}\
163ddb28 471/lib/modules/%{_kernel_ver}/misc/vboxvideo.ko*\
14c2cd1f 472%endif\
163ddb28
JR
473\
474%files -n kernel%{_alt_kernel}-virtualbox-host\
475%config(noreplace) %verify(not md5 mtime size) /etc/modules-load.d/virtualbox-host.conf\
476/lib/modules/%{_kernel_ver}/misc/vboxdrv.ko*\
477/lib/modules/%{_kernel_ver}/misc/vboxnetadp.ko*\
478/lib/modules/%{_kernel_ver}/misc/vboxnetflt.ko*\
479/lib/modules/%{_kernel_ver}/misc/vboxpci.ko*\
480%endif\
481\
482%post -n kernel%{_alt_kernel}-virtualbox-guest\
483%depmod %{_kernel_ver}\
484\
485%postun -n kernel%{_alt_kernel}-virtualbox-guest\
486%depmod %{_kernel_ver}\
487\
488%post -n kernel%{_alt_kernel}-virtualbox-host\
489%depmod %{_kernel_ver}\
490\
491%postun -n kernel%{_alt_kernel}-virtualbox-host\
492%depmod %{_kernel_ver}\
493%{nil}
494
495%define build_kernel_pkg()\
496export KERN_DIR=%{_kernelsrcdir}\
497cd PLD-MODULE-BUILD/HostDrivers\
498%build_kernel_modules -m vboxdrv -C vboxdrv\
e33b6e7e
JP
499%build_kernel_modules -m vboxnetadp -C vboxnetadp KBUILD_EXTRA_SYMBOLS=$PWD/../vboxdrv/Module.symvers\
500%build_kernel_modules -m vboxnetflt -C vboxnetflt KBUILD_EXTRA_SYMBOLS=$PWD/../vboxdrv/Module.symvers\
501%build_kernel_modules -m vboxpci -C vboxpci KBUILD_EXTRA_SYMBOLS=$PWD/../vboxdrv/Module.symvers\
163ddb28
JR
502cd ../GuestDrivers\
503%build_kernel_modules -m vboxguest -C vboxguest\
504cp -a vboxguest/Module.symvers vboxsf\
505%build_kernel_modules -m vboxsf -C vboxsf -c\
14c2cd1f 506%if %{_kernel_version_code} < %{_kernel_version_magic 4 13 0}\
163ddb28 507%build_kernel_modules -m vboxvideo -C vboxvideo\
14c2cd1f 508%endif\
163ddb28 509cd ../..\
801a2b31 510%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/HostDrivers/vboxpci/vboxpci,PLD-MODULE-BUILD/GuestDrivers/vboxsf/vboxsf -d misc\
801a2b31 511%install_kernel_modules -D PLD-MODULE-BUILD/installed -m PLD-MODULE-BUILD/GuestDrivers/vboxguest/vboxguest -d misc\
14c2cd1f
JP
512%if %{_kernel_version_code} < %{_kernel_version_magic 4 13 0}\
513%install_kernel_modules -D PLD-MODULE-BUILD/installed -m PLD-MODULE-BUILD/GuestDrivers/vboxvideo/vboxvideo -d misc\
514%endif\
163ddb28
JR
515%{nil}
516
8b840295
JP
517%define install_kernel_pkg()\
518%if %{_kernel_version_code} >= %{_kernel_version_magic 4 16 0}\
519install -d PLD-MODULE-BUILD/installed/etc/depmod.d/%{_kernel_ver}\
520echo override vboxguest %{_kernel_ver} misc > PLD-MODULE-BUILD/installed/etc/depmod.d/%{_kernel_ver}/vboxguest.conf\
521%endif\
522%{nil}
523
a59a82ea 524%{?with_kernel:%{expand:%create_kernel_packages}}
67a4f3c1 525
48363591 526%prep
33aeed61 527%setup -q -n %{pname}-%{version}
e709ce6b 528%patch0 -p1
db6f33e3 529%patch1 -p1
006342ee 530%patch2 -p1
8473a80d 531%patch3 -p1
44a0c82d 532%patch4 -p1
44a0c82d 533%patch6 -p1
d3884acf 534%patch7 -p1
8d08b907 535%patch8 -p1
621cd96c 536%patch9 -p1
077e37dc 537%patch10 -p1
8c008609 538%if %{with all_langs}
fdf4c273 539%patch11 -p0
8c008609 540%endif
fdf4c273 541%patch12 -p1
d5e18103 542%patch13 -p1
fdf4c273 543%patch14 -p0
66afd212 544%patch15 -p0
1792543c 545%patch16 -p0
5a761265 546%patch17 -p1
fddcb741 547
744bc35e
JR
548%{__sed} -i -e 's,@VBOX_DOC_PATH@,%{_docdir}/%{name}-%{version},' \
549 -e 's/Categories=.*/Categories=Utility;Emulator;/' src/VBox/Installer/common/virtualbox.desktop.in
0b6de2b7 550
f471b832
ER
551# Respect LDFLAGS
552%{__sed} -i -e "s@_LDFLAGS\.%{vbox_arch}*.*=@& %{rpmldflags}@g" \
553 -i Config.kmk src/libs/xpcom18a4/Config.kmk
554
44a0c82d 555%{__sed} -i -e 's#@INSTALL_DIR@#%{_libdir}/%{pname}#' src/VBox/Installer/linux/VBox.sh
fa19f650 556
bc1ca596 557%if %{with kernel}
1794e74d
ER
558install -d PLD-MODULE-BUILD/{GuestDrivers,HostDrivers}
559cd PLD-MODULE-BUILD
fdf4c273 560../src/VBox/Additions/linux/export_modules.sh guest-modules.tar.gz
1794e74d
ER
561tar -zxf guest-modules.tar.gz -C GuestDrivers
562
ebc5ec73 563../src/VBox/HostDrivers/linux/export_modules.sh --file host-modules.tar.gz --without-hardening
1794e74d
ER
564tar -zxf host-modules.tar.gz -C HostDrivers
565cd -
077e37dc 566%endif
59d12745 567
e9ed9ec1
ER
568# using system kBuild package
569%{__rm} -r kBuild
570
621cd96c
ER
571# use linux icon for now
572cp -p src/VBox/Frontends/VirtualBox/images/os_{linux26,pld}.png
573cp -p src/VBox/Frontends/VirtualBox/images/os_{linux26,pld}_64.png
574
29ed465a
JP
575# don't force whole userspace to be built with -fPIC
576# see https://www.virtualbox.org/pipermail/vbox-dev/2015-February/012863.html
577%define filterout_c -fPIC
578%define filterout_cxx -fPIC
579
316a5697
ER
580cat <<'EOF'>> LocalConfig.kmk
581%{?with_verbose:KBUILD_VERBOSE=3}
582USERNAME=%(id -un)
a174188e 583VBOX_BUILD_PUBLISHER=_PLD
316a5697
ER
584VBOX_VERSION_STRING=$(VBOX_VERSION_MAJOR).$(VBOX_VERSION_MINOR).$(VBOX_VERSION_BUILD)_PLD
585XSERVER_VERSION=%(rpm -q --queryformat '%{V}\n' xorg-xserver-server-devel | awk -F. '{ print $1 $2 }' 2>/dev/null || echo ERROR)
586VBOX_USE_SYSTEM_XORG_HEADERS=1
fdf4c273 587VBOX_USE_SYSTEM_GL_HEADERS=1
316a5697
ER
588%if %{with lightdm}
589VBOX_WITH_LIGHTDM_GREETER=1
590VBOX_WITH_LIGHTDM_GREETER_PACKING=1
591%endif
592TOOL_GCC3_CFLAGS=%{rpmcflags}
593TOOL_GCC3_CXXFLAGS=%{rpmcxxflags}
594VBOX_GCC_OPT=%{rpmcxxflags}
44a0c82d
ER
595
596VBOX_PATH_APP_PRIVATE_ARCH := %{_libdir}/%{pname}
597VBOX_PATH_APP_PRIVATE := %{_datadir}/%{pname}
598VBOX_PATH_SHARED_LIBS := $(VBOX_PATH_APP_PRIVATE_ARCH)
599VBOX_WITH_ORIGIN :=
600VBOX_WITH_RUNPATH := $(VBOX_PATH_APP_PRIVATE_ARCH)
601#VBOX_PATH_APP_DOCS := %{_docdir}/%{pname}-doc-%{version}
8c008609 602VBOX_PATH_DOCBOOK_DTD := %{_datadir}/sgml/docbook/xml-dtd-4.4
44a0c82d
ER
603
604# don't build testcases to save time, they are not needed for the package
605VBOX_WITH_TESTCASES :=
606VBOX_WITH_TESTSUITE :=
640931aa
JP
607
608VBOX_WITH_VRDP_RDESKTOP=
077fc60d 609VBOX_WITH_MULTIVERSION_PYTHON=0
316a5697
ER
610EOF
611
29ed465a
JP
612%undefine filterout_c
613%undefine filterout_cxx
614
fddcb741 615%build
83ffcfa8 616%if %{with userspace}
106d8451 617./configure \
ae1bbc88 618 --with-gcc="%{__cc}" \
619 --with-g++="%{__cxx}" \
8da42f47 620 %{!?with_doc:--disable-docs} \
744bc35e 621 --disable-java \
5a497466 622 --disable-hardening \
01e414ba 623 --disable-kmods \
55f7d7d3 624 --enable-vnc \
d7e93912 625 %{!?with_gui:--disable-qt} \
55f7d7d3
ER
626 %{__enable webservice} \
627 %{nil}
48363591 628
147c698e 629. "$PWD/env.sh"
316a5697 630kmk %{?_smp_mflags}
d1c4ec5b 631%endif
48363591 632
a59a82ea 633%{?with_kernel:%{expand:%build_kernel_packages}}
8b840295 634%{?with_kernel:%{expand:%install_kernel_packages}}
51ef4838 635
48363591 636%install
637rm -rf $RPM_BUILD_ROOT
638
d1c4ec5b 639%if %{with userspace}
c11f39b3 640install -d $RPM_BUILD_ROOT{%{_bindir},/sbin,%{_sbindir},%{_libdir}/%{pname}/ExtensionPacks} \
501bee39 641 $RPM_BUILD_ROOT{%{_pixmapsdir},%{_desktopdir},%{_datadir}/mime/packages} \
eee69130 642 $RPM_BUILD_ROOT/etc/sysconfig \
2daf9ea4 643 $RPM_BUILD_ROOT%{_sysconfdir}/vbox/autostart \
12db98a7 644 $RPM_BUILD_ROOT%{_libdir}/xorg/modules/{drivers,dri,input} \
4365ecaf 645 $RPM_BUILD_ROOT{/lib/udev,/etc/udev/rules.d} \
44a0c82d 646 $RPM_BUILD_ROOT{/etc/rc.d/init.d,%{systemdunitdir},%{_usrsrc}}
a70507fb 647
dca6c443 648# test if we can hardlink -- %{_builddir} and $RPM_BUILD_ROOT on same partition
632ec0b7 649if cp -al COPYING $RPM_BUILD_ROOT/COPYING; then
dca6c443 650 l=l
44a0c82d 651 %{__rm} $RPM_BUILD_ROOT/COPYING
dca6c443
ER
652fi
653
244b344b
JP
654install -d $RPM_BUILD_ROOT%{_datadir}/%{pname}
655
33aeed61 656cp -a$l %{outdir}/* $RPM_BUILD_ROOT%{_libdir}/%{pname}
244b344b
JP
657cp -p$l %{SOURCE1} $RPM_BUILD_ROOT%{_datadir}/%{pname}/VBoxGuestAdditions.iso ||
658cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_datadir}/%{pname}/VBoxGuestAdditions.iso
48363591 659
d7e93912
ER
660%if %{without gui}
661%{__rm} -r $RPM_BUILD_ROOT%{_libdir}/%{pname}/icons
662%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/virtualbox.xml
663%endif
664
1067d08d 665# Guest Only Tools
ffd7f18a
JR
666%{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_bindir}}/VBoxClient
667%{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_bindir}}/VBoxControl
44a0c82d 668%{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_bindir}}/VBoxService
4e3859c5 669install -d $RPM_BUILD_ROOT/etc/xdg/autostart
90de3b27
ER
670cp -p src/VBox/Additions/x11/Installer/vboxclient.desktop \
671 $RPM_BUILD_ROOT/etc/xdg/autostart/vboxclient.desktop
4e3859c5 672install -p src/VBox/Additions/x11/Installer/98vboxadd-xclient $RPM_BUILD_ROOT%{_bindir}/VBoxClient-all
44a0c82d 673install -p %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxservice
122ca0f2
ER
674cp -p %{SOURCE3} $RPM_BUILD_ROOT%{systemdunitdir}/vboxservice.service
675cp -p %{SOURCE4} $RPM_BUILD_ROOT/etc/sysconfig/vboxservice
1067d08d 676
cee25933
JP
677cp -p %{SOURCE11} $RPM_BUILD_ROOT%{systemdunitdir}/vboxclient-vmsvga.service
678
38d06cb9
ER
679install -p %{SOURCE9} $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxautostart
680%{__sed} -i -e 's#@INSTALL_DIR@#%{_libdir}/%{pname}#' $RPM_BUILD_ROOT/etc/rc.d/init.d/vboxautostart
681cp -p %{SOURCE10} $RPM_BUILD_ROOT%{_sysconfdir}/vbox
682
8d08b907
ER
683%if %{with lightdm}
684install -d $RPM_BUILD_ROOT%{_datadir}/xgreeters
29c4b6b6 685%{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,%{_sbindir}}/vbox-greeter
fdf4c273 686cp -p %{objdir}/Additions/Installer/linux/other/vbox-greeter.desktop $RPM_BUILD_ROOT%{_datadir}/xgreeters
8d08b907
ER
687%endif
688
bc1ca596
ER
689%if %{with dkms}
690mv $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/src $RPM_BUILD_ROOT%{_usrsrc}/vboxguest-%{version}-%{rel}
691%endif
692
44a0c82d
ER
693# pam
694install -d $RPM_BUILD_ROOT/%{_lib}/security
695%{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname}/additions,/%{_lib}/security}/pam_vbox.so
696
697# mount.vboxsf
fa478ef5 698%{__mv} $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/mount.vboxsf $RPM_BUILD_ROOT/sbin/mount.vboxsf
44a0c82d
ER
699
700# mount.vdi
701install -p %{SOURCE5} $RPM_BUILD_ROOT/sbin/mount.vdi
702
703# these belong to .iso
704%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/autorun.sh
705%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/additions/runasroot.sh
706
ce061de6
ER
707# unknown - checkme
708%if 1
ffd7f18a
JR
709%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/SUPInstall
710%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/SUPLoggerCtl
711%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/SUPUninstall
ffd7f18a
JR
712%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/load.sh
713%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/loadall.sh
44a0c82d
ER
714%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/vboxshell.py
715%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/xpidl
1067d08d 716%endif
dca6c443 717
d19b622b
JP
718# manual installation steps based on src/VBox/Installer/linux/install.sh
719ln -sf %{_libdir}/%{pname}/VBox.sh $RPM_BUILD_ROOT%{_bindir}/VirtualBox
720ln -sf %{_libdir}/%{pname}/VBox.sh $RPM_BUILD_ROOT%{_bindir}/VBoxManage
721ln -sf %{_libdir}/%{pname}/VBox.sh $RPM_BUILD_ROOT%{_bindir}/VBoxSDL
722ln -sf %{_libdir}/%{pname}/VBox.sh $RPM_BUILD_ROOT%{_bindir}/VBoxVRDP
723ln -sf %{_libdir}/%{pname}/VBox.sh $RPM_BUILD_ROOT%{_bindir}/VBoxHeadless
724ln -sf %{_libdir}/%{pname}/VBox.sh $RPM_BUILD_ROOT%{_bindir}/VBoxBalloonCtrl
725ln -sf %{_libdir}/%{pname}/VBox.sh $RPM_BUILD_ROOT%{_bindir}/VBoxAutostart
726ln -sf %{_libdir}/%{pname}/VBox.sh $RPM_BUILD_ROOT%{_bindir}/vboxwebsrv
727ln -sf %{_libdir}/%{pname}/vbox-img $RPM_BUILD_ROOT%{_bindir}/vbox-img
728ln -sf %{_libdir}/%{pname}/VBox.sh $RPM_BUILD_ROOT%{_bindir}/VBoxDTrace
d19b622b
JP
729cp -p $RPM_BUILD_ROOT%{_libdir}/%{pname}/icons/128x128/virtualbox.png $RPM_BUILD_ROOT%{_pixmapsdir}/virtualbox.png
730mv $RPM_BUILD_ROOT%{_libdir}/%{pname}/virtualbox.desktop $RPM_BUILD_ROOT%{_desktopdir}/virtualbox.desktop
731mv $RPM_BUILD_ROOT%{_libdir}/%{pname}/virtualbox.xml $RPM_BUILD_ROOT%{_datadir}/mime/packages/virtualbox.xml
732
c88c6ac8
JP
733mv $RPM_BUILD_ROOT%{_libdir}/%{pname}/nls $RPM_BUILD_ROOT%{_datadir}/%{pname}
734
d19b622b
JP
735(
736cd $RPM_BUILD_ROOT%{_libdir}/%{pname}/icons
737for i in *; do
738cd $i
739 for j in *; do
740 if expr "$j" : "virtualbox\..*" > /dev/null; then
741 dst=apps
742 else
743 dst=mimetypes
744 fi
745 if [ ! -e $RPM_BUILD_ROOT%{_iconsdir}/hicolor/$i/$dst ]; then
746 install -d $RPM_BUILD_ROOT%{_iconsdir}/hicolor/$i/$dst
747 fi
748 mv $RPM_BUILD_ROOT%{_libdir}/%{pname}/icons/$i/$j $RPM_BUILD_ROOT%{_iconsdir}/hicolor/$i/$dst/$j
749 done
750cd -
751done
752)
e56dcfeb 753
e6d149f0 754rm -r $RPM_BUILD_ROOT%{_libdir}/%{pname}/icons
d19b622b
JP
755
756%{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{pname},/lib/udev}/VBoxCreateUSBNode.sh
aac4c380 757cp -p %{SOURCE6} $RPM_BUILD_ROOT/etc/udev/rules.d/60-vboxdrv.rules
b1e693b8 758cp -p %{SOURCE12} $RPM_BUILD_ROOT/etc/udev/rules.d/60-vboxguest.rules
44a0c82d 759
bc1ca596 760%if %{with dkms}
d19b622b 761mv $RPM_BUILD_ROOT%{_libdir}/%{pname}/src $RPM_BUILD_ROOT%{_usrsrc}/vboxhost-%{version}-%{rel}
bc1ca596
ER
762%endif
763
44a0c82d
ER
764# cleanup unpackaged
765%{__rm} -r $RPM_BUILD_ROOT%{_libdir}/%{pname}/{sdk,testcase}
766%{__rm} -r $RPM_BUILD_ROOT%{_libdir}/%{pname}/dtrace
44a0c82d 767%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/vboxkeyboard.tar.bz2
44a0c82d
ER
768%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/scripts/generated.sh
769%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{pname}/ExtensionPacks/VNC/ExtPack-license.*
44a0c82d 770
d7e93912 771%if %{with gui}
44a0c82d
ER
772# weird icon size
773%{__rm} -r $RPM_BUILD_ROOT%{_iconsdir}/hicolor/40x40
d7e93912
ER
774%endif
775
44a0c82d 776# duplicate, we already have virtualbox.png (128x128), this is 32x32
d19b622b 777%{__rm} -r $RPM_BUILD_ROOT%{_libdir}/%{pname}/VBox.png
44a0c82d
ER
778
779%if %{with doc}
780ln -sf %{_docdir}/%{pname}-doc-%{version}/UserManual.pdf $RPM_BUILD_ROOT%{_libdir}/%{pname}/UserManual.pdf
8c008609 781%if %{with all_langs}
4f88ff56 782ln -sf %{_docdir}/%{pname}-doc-%{version}/UserManual_fr_FR.pdf $RPM_BUILD_ROOT%{_libdir}/%{pname}/UserManual_fr_FR.pdf
44a0c82d 783%endif
c38a3946 784%endif
8c008609 785%endif
988a8f09 786
da083e45 787%if %{with kernel}
4365ecaf 788install -d $RPM_BUILD_ROOT{/etc/modules-load.d,/sbin}
163ddb28
JR
789
790cp -a PLD-MODULE-BUILD/installed/* $RPM_BUILD_ROOT
fa974331 791
35ccdfcc 792# Tell systemd to load modules
4365ecaf
JR
793cp -p %{SOURCE7} $RPM_BUILD_ROOT/etc/modules-load.d/virtualbox-host.conf
794cp -p %{SOURCE8} $RPM_BUILD_ROOT/etc/modules-load.d/virtualbox-guest.conf
d1c4ec5b 795%endif
05f1b1f5 796
48363591 797%clean
798rm -rf $RPM_BUILD_ROOT
799
3b63d3e8 800%pre
801%groupadd -g 221 -r -f vbox
802
14561782 803%post
38d06cb9
ER
804/sbin/chkconfig --add vboxautostart
805%service -n vboxautostart restart
806
12db98a7
JR
807for i in /sys/bus/usb/devices/*; do
808 if [ -r "$i/dev" ]; then
809 dev="`cat "$i/dev" 2>/dev/null || true`"
810 major="`expr "$dev" : '\(.*\):' 2> /dev/null || true`"
811 minor="`expr "$dev" : '.*:\(.*\)' 2> /dev/null || true`"
812 class="`cat $i/bDeviceClass 2> /dev/null || true`"
813 /lib/udev/VBoxCreateUSBNode.sh "$major" "$minor" "$class" vbox 2>/dev/null
814 fi
815done
1403ac49 816
d8ed80f4 817cat << 'EOF'
4365ecaf 818You must install vboxdrv kernel modules for this software to work:
163ddb28 819 kernel*-virtualbox-host-%{version}-%{rel}@*
05f12a30 820
fa974331 821On Guest Linux system you might want to install:
163ddb28 822 kernel*-virtualbox-guest-%{version}-%{rel}@*
7841ddfd 823
d8ed80f4 824EOF
825
38d06cb9
ER
826%preun
827if [ "$1" = "0" ]; then
828 /sbin/chkconfig --del vboxautostart
829 %service vboxautostart -q stop
830fi
831
832
3b63d3e8 833%postun
834if [ "$1" = "0" ]; then
835 %groupremove vbox
836fi
837
501bee39
ER
838%post gui
839%update_desktop_database
44a0c82d 840%update_icon_cache hicolor
501bee39
ER
841%update_mime_database
842
843%postun gui
844%update_desktop_database
44a0c82d 845%update_icon_cache hicolor
501bee39
ER
846%update_mime_database
847
551622b8 848%pre guest
b1e693b8 849%useradd -u 336 -d /usr/share/empty -s /bin/false -c "VirtualBox guest additions" -g nobody vboxadd
551622b8
ER
850# Add a group "vboxsf" for Shared Folders access
851# All users which want to access the auto-mounted Shared Folders have to be added to this group.
852%groupadd -g 266 -r -f vboxsf
853
07e9b84d 854%post guest
31e46441
ER
855/sbin/chkconfig --add vboxservice
856%service vboxservice restart
cee25933 857%systemd_post vboxservice.service vboxclient-vmsvga.service
07e9b84d 858
b93128e2 859%preun guest
07e9b84d 860if [ "$1" = "0" ]; then
31e46441
ER
861 /sbin/chkconfig --del vboxservice
862 %service vboxservice -q stop
07e9b84d 863fi
cee25933 864%systemd_preun vboxservice.service vboxclient-vmsvga.service
07e9b84d 865
4365ecaf 866%postun guest
551622b8 867if [ "$1" = "0" ]; then
b1e693b8 868 %userremove vboxadd
551622b8
ER
869 %groupremove vboxsf
870fi
4365ecaf 871%systemd_reload
ece7f2f1 872
4365ecaf
JR
873%triggerpostun guest -- VirtualBox-guest < 4.3.0-1
874%systemd_trigger vboxservice.service
ece7f2f1 875
4365ecaf
JR
876%pre -n lightdm-greeter-vbox
877%addusertogroup xdm vbox
74268e47 878
988a8f09 879%post -n dkms-vboxguest
988a8f09
ER
880dkms add -m vboxguest -v %{version}-%{rel} --rpm_safe_upgrade && \
881dkms build -m vboxguest -v %{version}-%{rel} --rpm_safe_upgrade && \
882dkms install -m vboxguest -v %{version}-%{rel} --rpm_safe_upgrade || :
883
884%preun -n dkms-vboxguest
988a8f09
ER
885dkms remove -m vboxguest -v %{version}-%{rel} --rpm_safe_upgrade --all || :
886
887%post -n dkms-vboxhost
988a8f09
ER
888dkms add -m vboxhost -v %{version}-%{rel} --rpm_safe_upgrade && \
889dkms build -m vboxhost -v %{version}-%{rel} --rpm_safe_upgrade && \
890dkms install -m vboxhost -v %{version}-%{rel} --rpm_safe_upgrade || :
891
892%preun -n dkms-vboxhost
988a8f09
ER
893dkms remove -m vboxhost -v %{version}-%{rel} --rpm_safe_upgrade --all || :
894
d1c4ec5b 895%if %{with userspace}
48363591 896%files
897%defattr(644,root,root,755)
2daf9ea4
ER
898%dir %attr(751,root,root) %{_sysconfdir}/vbox
899%dir %attr(770,root,vbox) %{_sysconfdir}/vbox/autostart
38d06cb9
ER
900%attr(640,root,vbox) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vbox/autostart.cfg
901%attr(754,root,root) /etc/rc.d/init.d/vboxautostart
44a0c82d 902%attr(755,root,root) /sbin/mount.vdi
753cf356
ER
903%attr(755,root,root) %{_bindir}/VBoxAutostart
904%attr(755,root,root) %{_bindir}/VBoxBalloonCtrl
8c008609 905%attr(755,root,root) %{_bindir}/VBoxDTrace
85b005e2 906%attr(755,root,root) %{_bindir}/VBoxHeadless
907%attr(755,root,root) %{_bindir}/VBoxManage
908%attr(755,root,root) %{_bindir}/VBoxSDL
4c9a69b2 909%attr(755,root,root) %{_bindir}/VBoxVRDP
8c008609 910%attr(755,root,root) %{_bindir}/vbox-img
44a0c82d 911%dir %{_libdir}/%{pname}
753cf356 912# libraries
8c008609 913%attr(755,root,root) %{_libdir}/%{pname}/DbgPlugInDiggers.so
23790586
ER
914%attr(755,root,root) %{_libdir}/%{pname}/VBoxAuth.so
915%attr(755,root,root) %{_libdir}/%{pname}/VBoxAuthSimple.so
23790586 916%attr(755,root,root) %{_libdir}/%{pname}/VBoxDD.so
753cf356 917%attr(755,root,root) %{_libdir}/%{pname}/VBoxDD2.so
23790586
ER
918%attr(755,root,root) %{_libdir}/%{pname}/VBoxDDU.so
919%attr(755,root,root) %{_libdir}/%{pname}/VBoxDragAndDropSvc.so
23790586
ER
920%attr(755,root,root) %{_libdir}/%{pname}/VBoxGuestControlSvc.so
921%attr(755,root,root) %{_libdir}/%{pname}/VBoxGuestPropSvc.so
23790586
ER
922%attr(755,root,root) %{_libdir}/%{pname}/VBoxHostChannel.so
923%attr(755,root,root) %{_libdir}/%{pname}/VBoxKeyboard.so
23790586 924%attr(755,root,root) %{_libdir}/%{pname}/VBoxPython*.so
753cf356 925%attr(755,root,root) %{_libdir}/%{pname}/VBoxRT.so
ebc5ec73 926%attr(755,root,root) %{_libdir}/%{pname}/VBoxSVGA3D.so
753cf356 927%attr(755,root,root) %{_libdir}/%{pname}/VBoxSharedClipboard.so
753cf356
ER
928%attr(755,root,root) %{_libdir}/%{pname}/VBoxSharedFolders.so
929%attr(755,root,root) %{_libdir}/%{pname}/VBoxVMM.so
930%attr(755,root,root) %{_libdir}/%{pname}/VBoxXPCOM.so
931%attr(755,root,root) %{_libdir}/%{pname}/VBoxXPCOMC.so
f701b529 932%ifarch %{ix86}
23790586
ER
933%attr(755,root,root) %{_libdir}/%{pname}/VBoxREM32.so
934%attr(755,root,root) %{_libdir}/%{pname}/VBoxREM64.so
f701b529 935%endif
753cf356
ER
936
937# binaries
d19b622b 938%attr(755,root,root) %{_libdir}/%{pname}/VBox.sh
753cf356
ER
939%attr(755,root,root) %{_libdir}/%{pname}/VBoxAutostart
940%attr(755,root,root) %{_libdir}/%{pname}/VBoxBalloonCtrl
d19b622b 941%attr(755,root,root) %{_libdir}/%{pname}/VBoxDTrace
753cf356
ER
942%attr(755,root,root) %{_libdir}/%{pname}/VBoxExtPackHelperApp
943%attr(755,root,root) %{_libdir}/%{pname}/VBoxHeadless
944%attr(755,root,root) %{_libdir}/%{pname}/VBoxManage
945%attr(755,root,root) %{_libdir}/%{pname}/VBoxNetAdpCtl
946%attr(755,root,root) %{_libdir}/%{pname}/VBoxNetDHCP
947%attr(755,root,root) %{_libdir}/%{pname}/VBoxNetNAT
23790586 948%attr(755,root,root) %{_libdir}/%{pname}/VBoxSDL
23790586 949%attr(755,root,root) %{_libdir}/%{pname}/VBoxSVC
d19b622b 950%attr(755,root,root) %{_libdir}/%{pname}/VBoxTunctl
23790586 951%attr(755,root,root) %{_libdir}/%{pname}/VBoxVMMPreload
753cf356 952%attr(755,root,root) %{_libdir}/%{pname}/VBoxVolInfo
23790586 953%attr(755,root,root) %{_libdir}/%{pname}/VBoxXPCOMIPCD
ebc5ec73
JP
954%attr(755,root,root) %{_libdir}/%{pname}/VirtualBoxVM
955%attr(755,root,root) %{_libdir}/%{pname}/bldRTLdrCheckImports
753cf356
ER
956%attr(755,root,root) %{_libdir}/%{pname}/iPxeBaseBin
957%if %{with doc}
958%attr(755,root,root) %{_libdir}/%{pname}/VBoxManageHelp
959%endif
28b5d8a8 960%dir %{_libdir}/%{pname}/tools
fdf4c273
JP
961%attr(755,root,root) %{_libdir}/%{pname}/tools/RTCat
962%attr(755,root,root) %{_libdir}/%{pname}/tools/RTChMod
ebc5ec73 963%attr(755,root,root) %{_libdir}/%{pname}/tools/RTCp
8c008609 964%attr(755,root,root) %{_libdir}/%{pname}/tools/RTDbgSymCache
e313de71
JP
965%attr(755,root,root) %{_libdir}/%{pname}/tools/RTEfiFatExtract
966%attr(755,root,root) %{_libdir}/%{pname}/tools/RTFuzzClient
ebc5ec73 967%attr(755,root,root) %{_libdir}/%{pname}/tools/RTFuzzMaster
28b5d8a8 968%attr(755,root,root) %{_libdir}/%{pname}/tools/RTGzip
f93501c2 969%attr(755,root,root) %{_libdir}/%{pname}/tools/RTHttp
fdf4c273
JP
970%attr(755,root,root) %{_libdir}/%{pname}/tools/RTIsoMaker
971%attr(755,root,root) %{_libdir}/%{pname}/tools/RTKrnlModInfo
ebc5ec73 972%attr(755,root,root) %{_libdir}/%{pname}/tools/RTLdrCheckImports
28b5d8a8 973%attr(755,root,root) %{_libdir}/%{pname}/tools/RTLdrFlt
fdf4c273 974%attr(755,root,root) %{_libdir}/%{pname}/tools/RTLs
28b5d8a8 975%attr(755,root,root) %{_libdir}/%{pname}/tools/RTManifest
fdf4c273 976%attr(755,root,root) %{_libdir}/%{pname}/tools/RTMkDir
28b5d8a8 977%attr(755,root,root) %{_libdir}/%{pname}/tools/RTRm
fdf4c273 978%attr(755,root,root) %{_libdir}/%{pname}/tools/RTRmDir
28b5d8a8
JP
979%attr(755,root,root) %{_libdir}/%{pname}/tools/RTShutdown
980%attr(755,root,root) %{_libdir}/%{pname}/tools/RTSignTool
981%attr(755,root,root) %{_libdir}/%{pname}/tools/RTTar
73731089 982%attr(755,root,root) %{_libdir}/%{pname}/tools/RTTraceLogTool
8c008609
JP
983%attr(755,root,root) %{_libdir}/%{pname}/tools/RTUnzip
984%attr(755,root,root) %{_libdir}/%{pname}/tools/scm
44a0c82d
ER
985
986%dir %{_libdir}/%{pname}/ExtensionPacks
987%{_libdir}/%{pname}/ExtensionPacks/VNC/ExtPack.xml
988%dir %{_libdir}/%{pname}/ExtensionPacks/VNC
989%dir %{_libdir}/%{pname}/ExtensionPacks/VNC/linux*
23790586 990%attr(755,root,root) %{_libdir}/%{pname}/ExtensionPacks/VNC/linux*/VBoxVNC*.so
8c008609
JP
991%dir %{_libdir}/%{pname}/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack
992%{_libdir}/%{pname}/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/ExtPack.xml
993%dir %{_libdir}/%{pname}/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux*
994%attr(755,root,root) %{_libdir}/%{pname}/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux*/VBoxDTrace*.so
995%{_libdir}/%{pname}/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux*/VBoxDTraceR0.debug
996%{_libdir}/%{pname}/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux*/VBoxDTraceR0.r0
997
b8593b70 998%{_libdir}/%{pname}/VBoxBugReport
8c008609 999%{_libdir}/%{pname}/VBoxCpuReport
7733446a 1000%{_libdir}/%{pname}/VBoxDDR0.debug
23790586 1001%{_libdir}/%{pname}/VBoxDDR0.r0
23790586
ER
1002%{_libdir}/%{pname}/VBoxEFI32.fd
1003%{_libdir}/%{pname}/VBoxEFI64.fd
7733446a
JR
1004%{_libdir}/%{pname}/VMMR0.debug
1005%{_libdir}/%{pname}/VMMR0.r0
44a0c82d
ER
1006
1007%dir %{_libdir}/%{pname}/components
501bee39 1008%{_libdir}/%{pname}/components/VBoxXPCOMBase.xpt
23790586
ER
1009%{_libdir}/%{pname}/components/VirtualBox_XPCOM.xpt
1010%attr(755,root,root) %{_libdir}/%{pname}/components/VBoxC.so
1011%attr(755,root,root) %{_libdir}/%{pname}/components/VBoxSVCM.so
1012%attr(755,root,root) %{_libdir}/%{pname}/components/VBoxXPCOMIPCC.so
d19b622b 1013%attr(755,root,root) %{_libdir}/%{pname}/VBoxSysInfo.sh
44a0c82d 1014
fdf4c273
JP
1015%{_libdir}/%{pname}/UnattendedTemplates
1016
c88c6ac8
JP
1017%dir %{_datadir}/%{pname}
1018
b1e693b8 1019%config(noreplace) %verify(not md5 mtime size) /etc/udev/rules.d/60-vboxdrv.rules
501bee39
ER
1020%attr(755,root,root) /lib/udev/VBoxCreateUSBNode.sh
1021
d7e93912 1022%if %{with gui}
501bee39
ER
1023%files gui
1024%defattr(644,root,root,755)
1025%attr(755,root,root) %{_bindir}/VirtualBox
e313de71 1026%attr(755,root,root) %{_libdir}/%{pname}/UICommon.so
501bee39
ER
1027%attr(755,root,root) %{_libdir}/%{pname}/VBoxDbg.so
1028%attr(755,root,root) %{_libdir}/%{pname}/VBoxTestOGL
753cf356 1029%attr(755,root,root) %{_libdir}/%{pname}/VirtualBox
c88c6ac8
JP
1030%dir %{_datadir}/%{pname}/nls
1031%lang(bg) %{_datadir}/%{pname}/nls/*_bg.qm
1032%lang(ca) %{_datadir}/%{pname}/nls/*_ca.qm
1033%lang(ca_VA) %{_datadir}/%{pname}/nls/*_ca_VA.qm
1034%lang(cs) %{_datadir}/%{pname}/nls/*_cs.qm
1035%lang(da) %{_datadir}/%{pname}/nls/*_da.qm
1036%lang(de) %{_datadir}/%{pname}/nls/*_de.qm
1037%lang(en) %{_datadir}/%{pname}/nls/*_el.qm
1038%lang(en) %{_datadir}/%{pname}/nls/*_en.qm
1039%lang(es) %{_datadir}/%{pname}/nls/*_es.qm
1040%lang(eu) %{_datadir}/%{pname}/nls/*_eu.qm
fdf4c273 1041%lang(fa) %{_datadir}/%{pname}/nls/*_fa.qm
c88c6ac8
JP
1042%lang(fi) %{_datadir}/%{pname}/nls/*_fi.qm
1043%lang(fr) %{_datadir}/%{pname}/nls/*_fr.qm
fdf4c273 1044%lang(gl) %{_datadir}/%{pname}/nls/*_gl.qm
c88c6ac8
JP
1045%lang(he) %{_datadir}/%{pname}/nls/*_he.qm
1046%lang(hu) %{_datadir}/%{pname}/nls/*_hu.qm
1047%lang(id) %{_datadir}/%{pname}/nls/*_id.qm
1048%lang(it) %{_datadir}/%{pname}/nls/*_it.qm
1049%lang(ja) %{_datadir}/%{pname}/nls/*_ja.qm
1050%lang(km_KH) %{_datadir}/%{pname}/nls/*_km_KH.qm
1051%lang(ko) %{_datadir}/%{pname}/nls/*_ko.qm
1052%lang(lt) %{_datadir}/%{pname}/nls/*_lt.qm
1053%lang(nl) %{_datadir}/%{pname}/nls/*_nl.qm
1054%lang(pl) %{_datadir}/%{pname}/nls/*_pl.qm
1055%lang(pt) %{_datadir}/%{pname}/nls/*_pt.qm
1056%lang(pt_BR) %{_datadir}/%{pname}/nls/*_pt_BR.qm
1057%lang(ro) %{_datadir}/%{pname}/nls/*_ro.qm
1058%lang(ru) %{_datadir}/%{pname}/nls/*_ru.qm
1059%lang(sk) %{_datadir}/%{pname}/nls/*_sk.qm
1060%lang(sk) %{_datadir}/%{pname}/nls/*_sl.qm
1061%lang(sr) %{_datadir}/%{pname}/nls/*_sr.qm
1062%lang(sv) %{_datadir}/%{pname}/nls/*_sv.qm
70211746 1063%lang(th) %{_datadir}/%{pname}/nls/*_th.qm
c88c6ac8
JP
1064%lang(tr) %{_datadir}/%{pname}/nls/*_tr.qm
1065%lang(uk) %{_datadir}/%{pname}/nls/*_uk.qm
1066%lang(zh_CN) %{_datadir}/%{pname}/nls/*_zh_CN.qm
1067%lang(zh_TW) %{_datadir}/%{pname}/nls/*_zh_TW.qm
501bee39 1068%{_desktopdir}/virtualbox.desktop
44a0c82d
ER
1069%{_pixmapsdir}/virtualbox.png
1070%{_iconsdir}/hicolor/*/apps/virtualbox.png
1071%{_iconsdir}/hicolor/*/apps/virtualbox.svg
1072%{_iconsdir}/hicolor/*/mimetypes/virtualbox-*.png
501bee39 1073%{_datadir}/mime/packages/virtualbox.xml
d7e93912 1074%endif
12db98a7 1075
ffb38bb6 1076%files additions
9dda6415 1077%defattr(644,root,root,755)
244b344b 1078%{_datadir}/%{pname}/VBoxGuestAdditions.iso
ffb38bb6 1079
1067d08d
ER
1080%files guest
1081%defattr(644,root,root,755)
c11f39b3 1082%attr(755,root,root) /sbin/mount.vboxsf
07e9b84d 1083%attr(754,root,root) /etc/rc.d/init.d/vboxservice
122ca0f2 1084%config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/vboxservice
4365ecaf 1085%{systemdunitdir}/vboxservice.service
cee25933 1086%{systemdunitdir}/vboxclient-vmsvga.service
c0372ee9
ER
1087%attr(755,root,root) %{_bindir}/VBoxControl
1088%attr(755,root,root) %{_bindir}/VBoxService
b1e693b8 1089%config(noreplace) %verify(not md5 mtime size) /etc/udev/rules.d/60-vboxguest.rules
c0372ee9
ER
1090
1091%files guest-x11
3d9b19d8 1092%defattr(644,root,root,755)
90de3b27 1093/etc/xdg/autostart/vboxclient.desktop
4e3859c5
ER
1094%attr(755,root,root) %{_bindir}/VBoxClient
1095%attr(755,root,root) %{_bindir}/VBoxClient-all
1067d08d 1096
21a1d8ab
ER
1097%if %{with webservice}
1098%files webservice
1099%defattr(644,root,root,755)
44a0c82d 1100%attr(755,root,root) %{_bindir}/vboxwebsrv
21a1d8ab
ER
1101%attr(755,root,root) %{_libdir}/%{pname}/vboxwebsrv
1102%attr(755,root,root) %{_libdir}/%{pname}/webtest
1103%endif
1104
8d08b907 1105%if %{with lightdm}
9e4dd6a9 1106%files -n lightdm-greeter-vbox
8d08b907
ER
1107%defattr(644,root,root,755)
1108%attr(755,root,root) %{_sbindir}/vbox-greeter
1109%{_datadir}/xgreeters/vbox-greeter.desktop
1110%endif
1111
3613936b
JR
1112%files -n pam-pam_vbox
1113%defattr(644,root,root,755)
3ee6b9d9 1114%attr(755,root,root) /%{_lib}/security/pam_vbox.so
3613936b 1115
90de3b27
ER
1116%if %{with doc}
1117%files doc
1118%defattr(644,root,root,755)
f0a66b84
JR
1119# this is a symlink...
1120%doc %{_libdir}/%{pname}/UserManual.pdf
8c008609 1121%if %{with all_langs}
4f88ff56 1122%lang(fr) %doc %{_libdir}/%{pname}/UserManual_fr_FR.pdf
8c008609 1123%endif
f0a66b84 1124# ..to this file
90de3b27 1125%doc %{outdir}/UserManual.pdf
8c008609 1126%if %{with all_langs}
4f88ff56 1127%lang(fr) %doc %{outdir}/UserManual_fr_FR.pdf
90de3b27 1128%endif
8c008609 1129%endif
90de3b27 1130
988a8f09
ER
1131%if %{with dkms}
1132%files -n dkms-vboxguest
1133%defattr(644,root,root,755)
1134%{_usrsrc}/vboxguest-%{version}-%{rel}
1135
1136%files -n dkms-vboxhost
1137%defattr(644,root,root,755)
1138%{_usrsrc}/vboxhost-%{version}-%{rel}
1139%endif
c38a3946 1140%endif
This page took 3.654182 seconds and 4 git commands to generate.