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