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