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