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