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