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