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