]> git.pld-linux.org Git - packages/VMware-player.git/blob - VMware-player.spec
- massive change ( validate errors warrings from desktop-file-validate)
[packages/VMware-player.git] / VMware-player.spec
1 #
2 # Conditional build:
3 %bcond_without  dist_kernel     # without distribution kernel
4 %bcond_without  kernel          # don't build kernel modules
5 %bcond_without  userspace       # don't build userspace utilities
6 %bcond_with     internal_libs   # internal libs stuff
7 %bcond_with     verbose         # verbose build (V=1)
8 #
9 %include        /usr/lib/rpm/macros.perl
10
11 %if %{without kernel}
12 %undefine       with_dist_kernel
13 %endif
14 %ifarch %{x8664}
15 %undefine       with_userspace
16 %endif
17 #
18 %define         ver             2.0.2
19 %define         buildid 59824
20 %define         urel    115
21 %define         ccver   %(rpm -q --qf '%{V}' gcc)
22 %define         _rel    0.11
23 #
24 Summary:        VMware player
25 Summary(pl.UTF-8):      VMware player - wirtualna platforma dla stacji roboczej
26 Name:           VMware-player
27 Version:        %{ver}.%{buildid}
28 Release:        %{_rel}
29 License:        custom, non-distributable
30 Group:          Applications/Emulators
31 Source0:        http://download3.vmware.com/software/vmplayer/%{name}-%{ver}-%{buildid}.i386.tar.gz
32 # NoSource0-md5:        0c108db615943d71b78f18826611acce
33 NoSource:       0
34 Source1:        http://download3.vmware.com/software/vmplayer/%{name}-%{ver}-%{buildid}.x86_64.tar.gz
35 # NoSource1-md5:        f59a77f3e3b8e87591eff605c4bbb796
36 NoSource:       1
37 Source2:        http://knihovny.cvut.cz/ftp/pub/vmware/vmware-any-any-update%{urel}.tar.gz
38 # Source2-md5:  ab33ff7a799fee77f0f4ba5667cd4b9a
39 Source3:        %{name}-vmnet.conf
40 Source4:        %{name}.png
41 Source5:        %{name}.desktop
42 Source6:        %{name}-nat.conf
43 Source7:        %{name}-dhcpd.conf
44 Source8:        %{name}.init
45 Patch0:         %{name}-Makefile.patch
46 Patch1:         %{name}-run_script.patch
47 URL:            http://www.vmware.com/
48 %{?with_dist_kernel:BuildRequires:      kernel%{_alt_kernel}-module-build >= 3:2.6.7}
49 BuildRequires:  libstdc++-devel
50 BuildRequires:  rpm-perlprov
51 BuildRequires:  rpmbuild(macros) >= 1.268
52 BuildRequires:  sed >= 4.0
53 Requires:       libgnomecanvasmm
54 Requires:       libview >= 0.5.5-2
55 Requires:       openssl >= 0.9.7
56 Requires(post,postun):  desktop-file-utils
57 ExclusiveArch:  %{ix86} %{x8664}
58 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
59
60 %define         _noautoprovfiles %{_libdir}/vmware/lib/.*\.so.*
61
62 %description
63 VMware Player Virtual Platform is a thin software layer that allows
64 multiple guest operating systems to run concurrently on a single
65 standard PC, without repartitioning or rebooting, and without
66 significant loss of performance.
67
68 %description -l pl.UTF-8
69 VMware Player Virtual Platform to cienka warstwa oprogramowania
70 pozwalająca na jednoczesne działanie wielu gościnnych systemów
71 operacyjnych na jednym zwykłym PC, bez repartycjonowania ani
72 rebootowania, bez znacznej utraty wydajności.
73
74 %package debug
75 Summary:        VMware debug utility
76 Summary(pl.UTF-8):      Narzędzie VMware do odpluskwiania
77 Group:          Applications/Emulators
78 Requires:       %{name} = %{version}-%{release}
79
80 %description debug
81 VMware debug utility.
82
83 %description debug -l pl.UTF-8
84 Narzędzie VMware do odpluskwiania.
85
86 %package help
87 Summary:        VMware Player help files
88 Summary(pl.UTF-8):      Pliki pomocy dla VMware Player
89 Group:          Applications/Emulators
90 Requires:       %{name} = %{version}-%{release}
91
92 %description help
93 VMware Player help files.
94
95 %description help -l pl.UTF-8
96 Pliki pomocy dla VMware Player.
97
98 %package networking
99 Summary:        VMware networking utilities
100 Summary(pl.UTF-8):      Narzędzia VMware do obsługi sieci
101 Group:          Applications/Emulators
102 Requires(post,preun):   /sbin/chkconfig
103 Requires:       %{name} = %{version}-%{release}
104 Requires:       rc-scripts
105 Obsoletes:      VMware-Player-samba
106
107 %description networking
108 VMware networking utilities.
109
110 %description networking -l pl.UTF-8
111 Narzędzia VMware do obsługi sieci.
112
113 %package -n kernel%{_alt_kernel}-misc-vmmon
114 Summary:        Kernel module for VMware Player
115 Summary(pl.UTF-8):      Moduł jądra dla VMware Player
116 Release:        %{_rel}@%{_kernel_ver_str}
117 Group:          Base/Kernel
118 Requires(post,postun):  /sbin/depmod
119 Requires:       dev >= 2.9.0-7
120 %if %{with dist_kernel}
121 %requires_releq_kernel
122 Requires(postun):       %releq_kernel
123 %endif
124 Provides:       kernel(vmmon) = %{version}-%{_rel}
125
126 %description -n kernel%{_alt_kernel}-misc-vmmon
127 Kernel modules for VMware Player - vmmon.
128
129 %description -n kernel%{_alt_kernel}-misc-vmmon -l pl.UTF-8
130 Moduły jądra dla VMware Player - vmmon.
131
132 %package -n kernel%{_alt_kernel}-misc-vmnet
133 Summary:        Kernel module for VMware Player
134 Summary(pl.UTF-8):      Moduł jądra dla VMware Player
135 Release:        %{_rel}@%{_kernel_ver_str}
136 Group:          Base/Kernel
137 Requires(post,postun):  /sbin/depmod
138 Requires:       dev >= 2.9.0-7
139 %if %{with dist_kernel}
140 %requires_releq_kernel
141 Requires(postun):       %releq_kernel
142 %endif
143 Provides:       kernel(vmnet) = %{version}-%{_rel}
144
145 %description -n kernel%{_alt_kernel}-misc-vmnet
146 Kernel modules for VMware Player - vmnet.
147
148 %description -n kernel%{_alt_kernel}-misc-vmnet -l pl.UTF-8
149 Moduły jądra dla VMware Player - vmnet.
150
151 %prep
152 %setup -q -n vmware-player-distrib -a2
153 cd vmware-any-any-update%{urel}
154 tar xf vmmon.tar
155 tar xf vmnet.tar
156 cp -a vmmon-only{,.clean}
157 cp -a vmnet-only{,.clean}
158 sed -e 's/filter x86_64%/filter x86_64% amd64% ia64%/' \
159         -i vmnet-only.clean/Makefile.kernel
160 cd -
161
162 %patch0 -p1
163 %patch1 -p1
164
165 # will never use these
166 rm -f lib/libconf/lib/gtk-2.0/2.10.0/engines/*.a
167 rm -f lib/libconf/lib/gtk-2.0/2.10.0/immodules/*.a
168 rm -f lib/libconf/lib/gtk-2.0/2.10.0/loaders/*.a
169 rm -f lib/libconf/lib/pango/1.5.0/modules/*.a
170
171 %{__sed} -i -e 's#/build/.*/libconf/#%{_libdir}/vmware/libconf/#' \
172         lib/libconf/etc/gtk-2.0/{gdk-pixbuf.loaders,gtk.immodules} \
173         lib/libconf/etc/pango/{pango.modules,pangorc}
174
175 # typo?
176 %{__sed} -i -e 's#/etc/pango/pango/pangox.aliases#/etc/pango/pangox.aliases#' \
177         lib/libconf/etc/pango/pangorc
178
179 %build
180 sed -i 's:vm_db_answer_LIBDIR:VM_LIBDIR:g;s:vm_db_answer_BINDIR:VM_BINDIR:g' bin/vmplayer
181
182 cd vmware-any-any-update%{urel}
183 chmod u+w ../lib/bin/vmware-vmx ../lib/bin-debug/vmware-vmx ../bin/vmnet-bridge
184
185 # hack until new any-any-update version available
186 sed -i -e 's/#define.*VMMON_VERSION_V6.*/#define VMMON_VERSION_V6               (167 << 16 | 0)/g' vmmon-only.clean/include/iocontrols_compat.h
187
188 %if %{with kernel}
189 rm -rf built
190 mkdir built
191
192 for mod in vmmon vmnet ; do
193         for cfg in %{?with_dist_kernel:dist}%{!?with_dist_kernel:nondist}; do
194                 if [ ! -r "%{_kernelsrcdir}/config-$cfg" ]; then
195                         exit 1
196                 fi
197                 rm -rf $mod-only
198                 cp -a $mod-only.clean $mod-only
199                 cd $mod-only
200                 install -d o/include/linux
201                 ln -sf %{_kernelsrcdir}/config-$cfg o/.config
202                 ln -sf %{_kernelsrcdir}/Module.symvers-$cfg o/Module.symvers
203                 ln -sf %{_kernelsrcdir}/include/linux/autoconf-$cfg.h o/include/linux/autoconf.h
204         if grep -q "^CONFIG_PREEMPT_RT=y$" o/.config; then
205                 sed -e '/pollQueueLock/s/SPIN_LOCK_UNLOCKED/SPIN_LOCK_UNLOCKED(pollQueueLock)/' \
206                         -e '/timerLock/s/SPIN_LOCK_UNLOCKED/SPIN_LOCK_UNLOCKED(timerLock)/' \
207                         -i ../vmmon-only/linux/driver.c
208                 sed -e 's/SPIN_LOCK_UNLOCKED/SPIN_LOCK_UNLOCKED(vnetHubLock)/' \
209                         -i ../vmnet-only/hub.c
210                 sed -e 's/RW_LOCK_UNLOCKED/RW_LOCK_UNLOCKED(vnetPeerLock)/' \
211                         -i ../vmnet-only/driver.c
212         fi
213         %if %{with dist_kernel}
214                 %{__make} -j1 -C %{_kernelsrcdir} O=$PWD/o prepare scripts
215         %else
216                 install -d o/include/config
217                 touch o/include/config/MARKER
218                 ln -sf %{_kernelsrcdir}/scripts o/scripts
219                 %endif
220                 %{__make} -C %{_kernelsrcdir} modules \
221                         VMWARE_VER=VME_V5 \
222                         SRCROOT=$PWD \
223                         M=$PWD O=$PWD/o \
224                         VM_KBUILD=26 \
225                         %{?with_verbose:V=1} \
226                         VM_CCVER=%{ccver}
227                 mv -f $mod.ko ../built/$mod-$cfg.ko
228                 cd -
229         done
230 done
231 %endif
232
233 %install
234 rm -rf $RPM_BUILD_ROOT
235
236 %if %{with userspace}
237 install -d \
238         $RPM_BUILD_ROOT%{_sysconfdir}/vmware \
239         $RPM_BUILD_ROOT%{_sysconfdir}/vmware/vmnet8/{nat,dhcpd} \
240         $RPM_BUILD_ROOT%{_bindir} \
241         $RPM_BUILD_ROOT%{_libdir}/vmware/{bin,lib,share/pixmaps} \
242         $RPM_BUILD_ROOT%{_mandir} \
243         $RPM_BUILD_ROOT%{_pixmapsdir} \
244         $RPM_BUILD_ROOT%{_iconsdir}/hicolor \
245         $RPM_BUILD_ROOT%{_desktopdir} \
246         $RPM_BUILD_ROOT/etc/rc.d/init.d \
247         $RPM_BUILD_ROOT/var/run/vmware
248 %endif
249
250 %if %{with kernel}
251 install -d $RPM_BUILD_ROOT%{_sysconfdir}/modprobe.d
252 echo "options vmmon vmversion=16" > $RPM_BUILD_ROOT%{_sysconfdir}/modprobe.d/%{name}-vmmon.conf
253
254 install -d $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}{,smp}/misc
255
256 cd vmware-any-any-update%{urel}/built
257 install vmmon* $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}/misc/vmmon.ko
258 install vmnet* $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}/misc/vmnet.ko
259 cd -
260 %endif
261
262 %if %{with userspace}
263 install %{SOURCE8} $RPM_BUILD_ROOT/etc/rc.d/init.d/vmnet
264 install %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/vmware/vmnet.conf
265 install %{SOURCE4} $RPM_BUILD_ROOT%{_pixmapsdir}
266 install %{SOURCE5} $RPM_BUILD_ROOT%{_desktopdir}
267 install %{SOURCE6} $RPM_BUILD_ROOT%{_sysconfdir}/vmware/vmnet8/nat/nat.conf
268 install %{SOURCE7} $RPM_BUILD_ROOT%{_sysconfdir}/vmware/vmnet8/dhcpd/dhcpd.conf
269
270 touch $RPM_BUILD_ROOT%{_sysconfdir}/vmware/vmnet8/dhcpd/dhcpd.leases
271 touch $RPM_BUILD_ROOT%{_sysconfdir}/vmware/vmnet8/dhcpd/dhcpd.leases~
272
273 cp -a lib/share/icons/hicolor/* $RPM_BUILD_ROOT%{_iconsdir}/hicolor
274
275 install lib/share/pixmaps/* $RPM_BUILD_ROOT%{_libdir}/vmware/share/pixmaps
276 install doc/EULA $RPM_BUILD_ROOT%{_libdir}/vmware/share/EULA.txt
277
278 install bin/*-* $RPM_BUILD_ROOT%{_bindir}
279 install lib/bin/vmware-vmx $RPM_BUILD_ROOT%{_libdir}/vmware/bin
280 install lib/lib/libvmwarebase.so.0/libvmwarebase.so.0 $RPM_BUILD_ROOT%{_libdir}
281 install lib/lib/libvmwareui.so.0/libvmwareui.so.0 $RPM_BUILD_ROOT%{_libdir}
282
283 cp -r   lib/{bin-debug,config,help*,messages,xkeymap} \
284         $RPM_BUILD_ROOT%{_libdir}/vmware
285
286 cat > $RPM_BUILD_ROOT%{_sysconfdir}/vmware/locations <<EOF
287 VM_BINDIR=%{_bindir}
288 VM_LIBDIR=%{_libdir}/vmware
289 EOF
290
291 %if %{with internal_libs}
292 install bin/vmplayer $RPM_BUILD_ROOT%{_bindir}
293 install lib/bin/vmplayer $RPM_BUILD_ROOT%{_libdir}/vmware/bin
294 cp -a   lib/lib/* $RPM_BUILD_ROOT%{_libdir}/vmware/lib
295 cp -a   lib/libconf $RPM_BUILD_ROOT%{_libdir}/vmware
296 %else
297 install lib/bin/vmplayer $RPM_BUILD_ROOT%{_bindir}
298 install -d $RPM_BUILD_ROOT%{_libdir}/vmware/lib/lib{crypto,ssl}.so.0.9.7
299 ln -s %{_libdir}/libcrypto.so $RPM_BUILD_ROOT%{_libdir}/vmware/lib/libcrypto.so.0.9.7/libcrypto.so.0.9.7
300 ln -s %{_libdir}/libssl.so $RPM_BUILD_ROOT%{_libdir}/vmware/lib/libssl.so.0.9.7/libssl.so.0.9.7
301 %endif
302
303 # remove not needed files
304 rm -rf $RPM_BUILD_ROOT%{_bindir}/vmware-{config,uninstall}.pl $RPM_BUILD_ROOT%{_iconsdir}/hicolor/index.theme
305 %endif
306
307 %clean
308 rm -rf $RPM_BUILD_ROOT
309
310 %post
311 %update_icon_cache hicolor
312 %if %{with internal_libs}
313 gdk-pixbuf-query-loaders %{_libdir}/vmware/libconf/lib/gtk-2.0/2.10.0/loaders/*.so \
314         > %{_libdir}/vmware/libconf/etc/gtk-2.0/gdk-pixbuf.loaders
315 gtk-query-immodules-2.0 %{_libdir}/vmware/libconf/lib/gtk-2.0/2.10.0/immodules/*.so \
316         > %{_libdir}/vmware/libconf/etc/gtk-2.0/gtk.immodules
317 pango-querymodules %{_libdir}/vmware/libconf/lib/pango/1.5.0/modules/*.so \
318         > %{_libdir}/vmware/libconf/etc/pango/pango.modules
319 %endif
320
321 %postun
322 %update_icon_cache hicolor
323
324 %post networking
325 /sbin/chkconfig --add vmnet
326 %service vmnet restart "VMware networking service"
327
328 %preun networking
329 if [ "$1" = "0" ]; then
330         %service vmnet stop
331         /sbin/chkconfig --del vmnet
332 fi
333
334 %post   -n kernel%{_alt_kernel}-misc-vmmon
335 %depmod %{_kernel_ver}
336
337 %postun -n kernel%{_alt_kernel}-misc-vmmon
338 %depmod %{_kernel_ver}
339
340 %post   -n kernel%{_alt_kernel}-misc-vmnet
341 %depmod %{_kernel_ver}
342
343 %postun -n kernel%{_alt_kernel}-misc-vmnet
344 %depmod %{_kernel_ver}
345
346 %if %{with userspace}
347 %files
348 %defattr(644,root,root,755)
349 %doc doc/* lib/configurator/vmnet-{dhcpd,nat}.conf
350 %dir %{_sysconfdir}/vmware
351 %{_sysconfdir}/vmware/locations
352 %attr(755,root,root) %{_bindir}/vmplayer
353 %attr(755,root,root) %{_bindir}/vmware-acetool
354 %attr(755,root,root) %{_bindir}/vm-support
355 %attr(755,root,root) %{_libdir}/libvmwarebase.so.*
356 %attr(755,root,root) %{_libdir}/libvmwareui.so.*
357 %dir %{_libdir}/vmware
358 %dir %{_libdir}/vmware/bin
359 # warning: SUID !!!
360 %attr(4755,root,root) %{_libdir}/vmware/bin/vmware-vmx
361 %dir %{_libdir}/vmware/lib
362 %{_libdir}/vmware/config
363 %if %{with internal_libs}
364 %attr(755,root,root) %{_libdir}/vmware/bin/vmplayer
365 %attr(755,root,root) %{_libdir}/vmware/lib/lib*
366 %attr(755,root,root) %{_libdir}/vmware/lib/wrapper-gtk24.sh
367
368 %dir %{_libdir}/vmware/libconf
369 %dir %{_libdir}/vmware/libconf/etc
370 %{_libdir}/vmware/libconf/etc/fonts
371 %{_libdir}/vmware/libconf/etc/gtk-2.0
372 %{_libdir}/vmware/libconf/etc/pango
373 %dir %{_libdir}/vmware/libconf/lib
374 %dir %{_libdir}/vmware/libconf/lib/gtk-2.0
375 %dir %{_libdir}/vmware/libconf/lib/gtk-2.0/2.10.0
376 %dir %{_libdir}/vmware/libconf/lib/gtk-2.0/2.10.0/engines
377 %attr(755,root,root) %{_libdir}/vmware/libconf/lib/gtk-2.0/2.10.0/engines/*.so
378 %dir %{_libdir}/vmware/libconf/lib/gtk-2.0/2.10.0/immodules
379 %attr(755,root,root) %{_libdir}/vmware/libconf/lib/gtk-2.0/2.10.0/immodules/*.so
380 %dir %{_libdir}/vmware/libconf/lib/gtk-2.0/2.10.0/loaders
381 %attr(755,root,root) %{_libdir}/vmware/libconf/lib/gtk-2.0/2.10.0/loaders/*.so
382 %dir %{_libdir}/vmware/libconf/lib/pango
383 %dir %{_libdir}/vmware/libconf/lib/pango/1.5.0
384 %dir %{_libdir}/vmware/libconf/lib/pango/1.5.0/modules
385 %attr(755,root,root) %{_libdir}/vmware/libconf/lib/pango/1.5.0/modules/*.so
386 %else
387 # package old openssl (buggy but needed to work)
388 %dir %{_libdir}/vmware/lib/libcrypto.so.0.9.7
389 %attr(755,root,root) %{_libdir}/vmware/lib/libcrypto.so.0.9.7/libcrypto.so.0.9.7
390 %dir %{_libdir}/vmware/lib/libssl.so.0.9.7
391 %attr(755,root,root) %{_libdir}/vmware/lib/libssl.so.0.9.7/libssl.so.0.9.7
392 %endif
393 %dir %{_libdir}/vmware/messages
394 %lang(en) %{_libdir}/vmware/messages/en
395 %lang(ja) %{_libdir}/vmware/messages/ja
396 %{_libdir}/vmware/share
397 %{_libdir}/vmware/xkeymap
398 %attr(1777,root,root) %dir /var/run/vmware
399 %{_iconsdir}/hicolor/*/*/*.png
400 %{_iconsdir}/hicolor/*/*/*.svg
401 %{_pixmapsdir}/*.png
402 %{_desktopdir}/%{name}.desktop
403
404 %files debug
405 %defattr(644,root,root,755)
406 %dir %{_libdir}/vmware/bin-debug
407 # warning: SUID !!!
408 %attr(4755,root,root) %{_libdir}/vmware/bin-debug/vmware-vmx
409
410 %files help
411 %defattr(644,root,root,755)
412 %{_libdir}/vmware/help*
413
414 %files networking
415 %defattr(644,root,root,755)
416 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vmware/vmnet.conf
417 %attr(754,root,root) /etc/rc.d/init.d/vmnet
418 %attr(755,root,root) %{_bindir}/vmnet-bridge
419 %attr(755,root,root) %{_bindir}/vmnet-detect
420 %attr(755,root,root) %{_bindir}/vmnet-dhcpd
421 %attr(755,root,root) %{_bindir}/vmnet-natd
422 %attr(755,root,root) %{_bindir}/vmnet-netifup
423 %attr(755,root,root) %{_bindir}/vmnet-sniffer
424 %attr(755,root,root) %{_bindir}/vmware-ping
425 %dir %{_sysconfdir}/vmware/vmnet8
426 %dir %{_sysconfdir}/vmware/vmnet8/dhcpd
427 %dir %{_sysconfdir}/vmware/vmnet8/nat
428 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vmware/vmnet8/dhcpd/dhcpd.conf
429 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vmware/vmnet8/nat/nat.conf
430 %verify(not md5 mtime size) %{_sysconfdir}/vmware/vmnet8/dhcpd/dhcpd.leases*
431
432 %endif
433
434 %if %{with kernel}
435 %files -n kernel%{_alt_kernel}-misc-vmmon
436 %defattr(644,root,root,755)
437 %{_sysconfdir}/modprobe.d/%{name}-vmmon.conf
438 /lib/modules/%{_kernel_ver}/misc/vmmon.ko*
439
440 %files -n kernel%{_alt_kernel}-misc-vmnet
441 %defattr(644,root,root,755)
442 /lib/modules/%{_kernel_ver}/misc/vmnet.ko*
443
444 %endif
This page took 0.286236 seconds and 3 git commands to generate.