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