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