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