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)
9 %include /usr/lib/rpm/macros.perl
12 %undefine with_userspace
19 %define _ccver %(rpm -q --qf "%{VERSION}" gcc)
21 Summary: VMware player
22 Summary(pl.UTF-8): VMware player - wirtualna platforma dla stacji roboczej
24 Version: %{_ver}.%{_build}
26 License: custom, non-distributable
27 Group: Applications/Emulators
28 Source0: http://download3.vmware.com/software/vmplayer/%{name}-%{_ver}-%{_build}.i386.tar.gz
29 # NoSource0-md5: 2d1b2d847cf002b2f418b94f5b973ecc
31 Source1: http://download3.vmware.com/software/vmplayer/%{name}-%{_ver}-%{_build}.x86_64.tar.gz
32 # NoSource1-md5: dca7a144e1a01c69387401e46e7e3b26
34 Source2: http://knihovny.cvut.cz/ftp/pub/vmware/vmware-any-any-update%{_urel}.tar.gz
35 # Source2-md5: cb3f91f2196778e6d76d5a6697286d04
36 Source3: %{name}-vmnet.conf
38 Source5: %{name}.desktop
39 Source6: %{name}-nat.conf
40 Source7: %{name}-dhcpd.conf
42 Patch0: %{name}-Makefile.patch
43 Patch1: %{name}-run_script.patch
44 URL: http://www.vmware.com/
45 BuildRequires: gcc-c++
46 %{?with_dist_kernel:BuildRequires: kernel-module-build >= 3:2.6.7}
47 BuildRequires: rpm-perlprov
48 BuildRequires: rpmbuild(macros) >= 1.268
49 BuildRequires: sed >= 4.0
50 Requires: libgnomecanvasmm
51 Requires: libview >= 0.5.5-2
52 Requires: openssl < 0.9.8
53 Requires: openssl >= 0.9.7
54 ExclusiveArch: %{ix86} %{x8664}
55 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
57 %define _noautoprovfiles %{_libdir}/vmware/lib/.*\.so.*
60 VMware Player Virtual Platform is a thin software layer that allows
61 multiple guest operating systems to run concurrently on a single
62 standard PC, without repartitioning or rebooting, and without
63 significant loss of performance.
65 %description -l pl.UTF-8
66 VMware Player Virtual Platform to cienka warstwa oprogramowania
67 pozwalająca na jednoczesne działanie wielu gościnnych systemów
68 operacyjnych na jednym zwykłym PC, bez repartycjonowania ani
69 rebootowania, bez znacznej utraty wydajności.
72 Summary: VMware debug utility
73 Summary(pl.UTF-8): Narzędzie VMware do odpluskwiania
74 Group: Applications/Emulators
75 Requires: %{name} = %{version}-%{release}
80 %description debug -l pl.UTF-8
81 Narzędzie VMware do odpluskwiania.
84 Summary: VMware Player help files
85 Summary(pl.UTF-8): Pliki pomocy dla VMware Player
86 Group: Applications/Emulators
87 Requires: %{name} = %{version}-%{release}
91 VMware Player help files.
93 %description help -l pl.UTF-8
94 Pliki pomocy dla VMware Player.
97 Summary: VMware networking utilities
98 Summary(pl.UTF-8): Narzędzia VMware do obsługi sieci
99 Group: Applications/Emulators
100 Requires(post,preun): /sbin/chkconfig
101 Requires: %{name} = %{version}-%{release}
103 Obsoletes: VMware-Player-samba
105 %description networking
106 VMware networking utilities.
108 %description networking -l pl.UTF-8
109 Narzędzia VMware do obsługi sieci.
111 %package -n kernel%{_alt_kernel}-misc-vmmon
112 Summary: Kernel module for VMware Player
113 Summary(pl.UTF-8): Moduł jądra dla VMware Player
114 Release: %{_rel}@%{_kernel_ver_str}
116 Requires(post,postun): /sbin/depmod
117 Requires: dev >= 2.9.0-7
118 %if %{with dist_kernel}
119 %requires_releq_kernel
120 Requires(postun): %releq_kernel
122 Provides: kernel(vmmon) = %{version}-%{_rel}
124 %description -n kernel%{_alt_kernel}-misc-vmmon
125 Kernel modules for VMware Player - vmmon.
127 %description -n kernel%{_alt_kernel}-misc-vmmon -l pl.UTF-8
128 Moduły jądra dla VMware Player - vmmon.
130 %package -n kernel%{_alt_kernel}-misc-vmnet
131 Summary: Kernel module for VMware Player
132 Summary(pl.UTF-8): Moduł jądra dla VMware Player
133 Release: %{_rel}@%{_kernel_ver_str}
135 Requires(post,postun): /sbin/depmod
136 Requires: dev >= 2.9.0-7
137 %if %{with dist_kernel}
138 %requires_releq_kernel
139 Requires(postun): %releq_kernel
141 Provides: kernel(vmnet) = %{version}-%{_rel}
143 %description -n kernel%{_alt_kernel}-misc-vmnet
144 Kernel modules for VMware Player - vmnet.
146 %description -n kernel%{_alt_kernel}-misc-vmnet -l pl.UTF-8
147 Moduły jądra dla VMware Player - vmnet.
150 %setup -q -n vmware-player-distrib -a2
151 cd vmware-any-any-update%{_urel}
154 cp -a vmmon-only{,.clean}
155 cp -a vmnet-only{,.clean}
156 sed -e 's/filter x86_64%/filter x86_64% amd64% ia64%/' \
157 -i vmnet-only.clean/Makefile.kernel
161 sed -i 's:vm_db_answer_LIBDIR:VM_LIBDIR:g;s:vm_db_answer_BINDIR:VM_BINDIR:g' bin/vmplayer
163 cd vmware-any-any-update%{_urel}
164 chmod u+w ../lib/bin/vmware-vmx ../lib/bin-debug/vmware-vmx ../bin/vmnet-bridge
166 # hack until new any-any-update version available
167 sed -i -e 's/#define.*VMMON_VERSION_V6.*/#define VMMON_VERSION_V6 (167 << 16 | 0)/g' vmmon-only.clean/include/iocontrols_compat.h
173 for mod in vmmon vmnet ; do
174 for cfg in %{?with_dist_kernel:dist}%{!?with_dist_kernel:nondist}; do
175 if [ ! -r "%{_kernelsrcdir}/config-$cfg" ]; then
179 cp -a $mod-only.clean $mod-only
181 install -d o/include/linux
182 ln -sf %{_kernelsrcdir}/config-$cfg o/.config
183 ln -sf %{_kernelsrcdir}/Module.symvers-$cfg o/Module.symvers
184 ln -sf %{_kernelsrcdir}/include/linux/autoconf-$cfg.h o/include/linux/autoconf.h
185 if grep -q "^CONFIG_PREEMPT_RT=y$" o/.config; then
186 sed -e '/pollQueueLock/s/SPIN_LOCK_UNLOCKED/SPIN_LOCK_UNLOCKED(pollQueueLock)/' \
187 -e '/timerLock/s/SPIN_LOCK_UNLOCKED/SPIN_LOCK_UNLOCKED(timerLock)/' \
188 -i ../vmmon-only/linux/driver.c
189 sed -e 's/SPIN_LOCK_UNLOCKED/SPIN_LOCK_UNLOCKED(vnetHubLock)/' \
190 -i ../vmnet-only/hub.c
191 sed -e 's/RW_LOCK_UNLOCKED/RW_LOCK_UNLOCKED(vnetPeerLock)/' \
192 -i ../vmnet-only/driver.c
194 %if %{with dist_kernel}
195 %{__make} -j1 -C %{_kernelsrcdir} O=$PWD/o prepare scripts
197 install -d o/include/config
198 touch o/include/config/MARKER
199 ln -sf %{_kernelsrcdir}/scripts o/scripts
201 %{__make} -C %{_kernelsrcdir} modules \
206 %{?with_verbose:V=1} \
208 mv -f $mod.ko ../built/$mod-$cfg.ko
215 rm -rf $RPM_BUILD_ROOT
217 %if %{with userspace}
219 $RPM_BUILD_ROOT%{_sysconfdir}/vmware \
220 $RPM_BUILD_ROOT%{_sysconfdir}/vmware/vmnet8/{nat,dhcpd} \
221 $RPM_BUILD_ROOT%{_bindir} \
222 $RPM_BUILD_ROOT%{_libdir}/vmware/{bin,lib,share/pixmaps} \
223 $RPM_BUILD_ROOT%{_mandir} \
224 $RPM_BUILD_ROOT%{_pixmapsdir} \
225 $RPM_BUILD_ROOT%{_iconsdir}/hicolor \
226 $RPM_BUILD_ROOT%{_desktopdir} \
227 $RPM_BUILD_ROOT/etc/rc.d/init.d \
228 $RPM_BUILD_ROOT/var/run/vmware
232 install -d $RPM_BUILD_ROOT%{_sysconfdir}/modprobe.d
233 echo "options vmmon vmversion=16" > $RPM_BUILD_ROOT%{_sysconfdir}/modprobe.d/%{name}-vmmon.conf
235 install -d $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}{,smp}/misc
237 cd vmware-any-any-update%{_urel}/built
238 install vmmon* $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}/misc/vmmon.ko
239 install vmnet* $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}/misc/vmnet.ko
243 %if %{with userspace}
244 install %{SOURCE8} $RPM_BUILD_ROOT/etc/rc.d/init.d/vmnet
245 install %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/vmware/vmnet.conf
246 install %{SOURCE4} $RPM_BUILD_ROOT%{_pixmapsdir}
247 install %{SOURCE5} $RPM_BUILD_ROOT%{_desktopdir}
248 install %{SOURCE6} $RPM_BUILD_ROOT%{_sysconfdir}/vmware/vmnet8/nat/nat.conf
249 install %{SOURCE7} $RPM_BUILD_ROOT%{_sysconfdir}/vmware/vmnet8/dhcpd/dhcpd.conf
251 touch $RPM_BUILD_ROOT%{_sysconfdir}/vmware/vmnet8/dhcpd/dhcpd.leases
252 touch $RPM_BUILD_ROOT%{_sysconfdir}/vmware/vmnet8/dhcpd/dhcpd.leases~
254 cp -a lib/share/icons/hicolor/* $RPM_BUILD_ROOT%{_iconsdir}/hicolor
256 install lib/share/pixmaps/* $RPM_BUILD_ROOT%{_libdir}/vmware/share/pixmaps
257 install doc/EULA $RPM_BUILD_ROOT%{_libdir}/vmware/share/EULA.txt
259 install bin/*-* $RPM_BUILD_ROOT%{_bindir}
260 install lib/bin/vmware-vmx $RPM_BUILD_ROOT%{_libdir}/vmware/bin
261 install lib/lib/libvmwarebase.so.0/libvmwarebase.so.0 $RPM_BUILD_ROOT%{_libdir}
262 install lib/lib/libvmwareui.so.0/libvmwareui.so.0 $RPM_BUILD_ROOT%{_libdir}
264 cp -r lib/{bin-debug,config,help*,messages,xkeymap} \
265 $RPM_BUILD_ROOT%{_libdir}/vmware
267 cat > $RPM_BUILD_ROOT%{_sysconfdir}/vmware/locations <<EOF
269 VM_LIBDIR=%{_libdir}/vmware
272 %if %{with internal_libs}
273 install bin/vmplayer $RPM_BUILD_ROOT%{_bindir}
274 install lib/bin/vmplayer $RPM_BUILD_ROOT%{_libdir}/vmware/bin
275 install lib/lib/* $RPM_BUILD_ROOT%{_libdir}/vmware/lib
276 cp -r lib/libconf $RPM_BUILD_ROOT%{_libdir}/vmware
278 install lib/bin/vmplayer $RPM_BUILD_ROOT%{_bindir}
283 rm -rf $RPM_BUILD_ROOT
286 /sbin/chkconfig --add vmnet
287 %service vmnet restart "VMware networking service"
290 if [ "$1" = "0" ]; then
292 /sbin/chkconfig --del vmnet
295 %post -n kernel%{_alt_kernel}-misc-vmmon
296 %depmod %{_kernel_ver}
298 %postun -n kernel%{_alt_kernel}-misc-vmmon
299 %depmod %{_kernel_ver}
301 %post -n kernel%{_alt_kernel}-misc-vmnet
302 %depmod %{_kernel_ver}
304 %postun -n kernel%{_alt_kernel}-misc-vmnet
305 %depmod %{_kernel_ver}
307 %if %{with userspace}
309 %defattr(644,root,root,755)
310 %doc doc/* lib/configurator/vmnet-{dhcpd,nat}.conf
311 %dir %{_sysconfdir}/vmware
312 %{_sysconfdir}/vmware/locations
313 %attr(755,root,root) %{_bindir}/vmplayer
314 %attr(755,root,root) %{_bindir}/vmware-acetool
315 %attr(755,root,root) %{_bindir}/vm-support
316 %attr(755,root,root) %{_libdir}/libvmwarebase.so.*
317 %attr(755,root,root) %{_libdir}/libvmwareui.so.*
318 %dir %{_libdir}/vmware
319 %dir %{_libdir}/vmware/bin
320 %dir %{_libdir}/vmware/lib
322 %attr(4755,root,root) %{_libdir}/vmware/bin/vmware-vmx
323 %{_libdir}/vmware/config
324 %if %{with internal_libs}
325 %attr(755,root,root) %{_libdir}/vmware/bin/vmware
326 %{_libdir}/vmware/lib/lib*
327 %attr(755,root,root) %{_libdir}/vmware/lib/wrapper-gtk24.sh
329 %dir %{_libdir}/vmware/messages
330 %lang(en) %{_libdir}/vmware/messages/en
331 %lang(ja) %{_libdir}/vmware/messages/ja
332 %{_libdir}/vmware/share
333 %{_libdir}/vmware/xkeymap
334 %attr(1777,root,root) %dir /var/run/vmware
335 %{_iconsdir}/hicolor/*/*/*.png
336 %{_iconsdir}/hicolor/*/*/*.svg
338 %{_desktopdir}/%{name}.desktop
341 %defattr(644,root,root,755)
342 %dir %{_libdir}/vmware/bin-debug
344 %attr(4755,root,root) %{_libdir}/vmware/bin-debug/vmware-vmx
347 %defattr(644,root,root,755)
348 %{_libdir}/vmware/help*
351 %defattr(644,root,root,755)
352 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vmware/vmnet.conf
353 %attr(754,root,root) /etc/rc.d/init.d/vmnet
354 %attr(755,root,root) %{_bindir}/vmnet-bridge
355 %attr(755,root,root) %{_bindir}/vmnet-detect
356 %attr(755,root,root) %{_bindir}/vmnet-dhcpd
357 %attr(755,root,root) %{_bindir}/vmnet-natd
358 %attr(755,root,root) %{_bindir}/vmnet-netifup
359 %attr(755,root,root) %{_bindir}/vmnet-sniffer
360 %attr(755,root,root) %{_bindir}/vmware-ping
361 %dir %{_sysconfdir}/vmware/vmnet8
362 %dir %{_sysconfdir}/vmware/vmnet8/dhcpd
363 %dir %{_sysconfdir}/vmware/vmnet8/nat
364 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vmware/vmnet8/dhcpd/dhcpd.conf
365 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vmware/vmnet8/nat/nat.conf
366 %verify(not md5 mtime size) %{_sysconfdir}/vmware/vmnet8/dhcpd/dhcpd.leases*
371 %files -n kernel%{_alt_kernel}-misc-vmmon
372 %defattr(644,root,root,755)
373 %{_sysconfdir}/modprobe.d/%{name}-vmmon.conf
374 /lib/modules/%{_kernel_ver}/misc/vmmon.ko*
376 %files -n kernel%{_alt_kernel}-misc-vmnet
377 %defattr(644,root,root,755)
378 /lib/modules/%{_kernel_ver}/misc/vmnet.ko*