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