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