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