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: 090b02f6a49dd3a4e8617f68e1d2dc7b
30 Source1: http://download3.vmware.com/software/vmplayer/%{name}-%{_ver}-%{_build}.x86_64.tar.gz
31 # NoSource1-md5: 2bfbc79f548f082818b44b980d9e1c71
32 Source2: http://knihovny.cvut.cz/ftp/pub/vmware/vmware-any-any-update%{_urel}.tar.gz
33 # Source2-md5: 6a0c8da95b4c25670c842939e5b92728
34 Source3: %{name}-vmnet.conf
36 Source5: %{name}.desktop
37 Source6: %{name}-nat.conf
38 Source7: %{name}-dhcpd.conf
40 Patch0: %{name}-Makefile.patch
41 Patch1: %{name}-run_script.patch
43 URL: http://www.vmware.com/
44 BuildRequires: gcc-c++
45 %{?with_dist_kernel:BuildRequires: kernel-module-build >= 3:2.6.7}
46 BuildRequires: rpm-perlprov
47 BuildRequires: rpmbuild(macros) >= 1.268
48 BuildRequires: sed >= 4.0
49 Requires: libgnomecanvasmm
50 Requires: libview >= 0.5.5-2
51 ExclusiveArch: %{ix86} %{x8664}
52 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
54 %define _noautoprovfiles %{_libdir}/vmware/lib/.*\.so.*
57 VMware Player Virtual Platform is a thin software layer that allows
58 multiple guest operating systems to run concurrently on a single
59 standard PC, without repartitioning or rebooting, and without
60 significant loss of performance.
62 %description -l pl.UTF-8
63 VMware Player Virtual Platform to cienka warstwa oprogramowania
64 pozwalająca na jednoczesne działanie wielu gościnnych systemów
65 operacyjnych na jednym zwykłym PC, bez repartycjonowania ani
66 rebootowania, bez znacznej utraty wydajności.
69 Summary: VMware debug utility
70 Summary(pl.UTF-8): Narzędzie VMware do odpluskwiania
71 Group: Applications/Emulators
72 Requires: %{name} = %{version}-%{release}
77 %description debug -l pl.UTF-8
78 Narzędzie VMware do odpluskwiania.
81 Summary: VMware Player help files
82 Summary(pl.UTF-8): Pliki pomocy dla VMware Player
83 Group: Applications/Emulators
84 Requires: %{name} = %{version}-%{release}
88 VMware Player help files.
90 %description help -l pl.UTF-8
91 Pliki pomocy dla VMware Player.
94 Summary: VMware networking utilities
95 Summary(pl.UTF-8): Narzędzia VMware do obsługi sieci
96 Group: Applications/Emulators
97 Requires(post,preun): /sbin/chkconfig
98 Requires: %{name} = %{version}-%{release}
100 Obsoletes: VMware-Player-samba
102 %description networking
103 VMware networking utilities.
105 %description networking -l pl.UTF-8
106 Narzędzia VMware do obsługi sieci.
108 %package -n kernel%{_alt_kernel}-misc-vmmon
109 Summary: Kernel module for VMware Player
110 Summary(pl.UTF-8): Moduł jądra dla VMware Player
111 Release: %{_rel}@%{_kernel_ver_str}
113 Requires(post,postun): /sbin/depmod
114 Requires: dev >= 2.9.0-7
115 %if %{with dist_kernel}
116 %requires_releq_kernel
117 Requires(postun): %releq_kernel
119 Provides: kernel(vmmon) = %{version}-%{_rel}
121 %description -n kernel%{_alt_kernel}-misc-vmmon
122 Kernel modules for VMware Player - vmmon.
124 %description -n kernel%{_alt_kernel}-misc-vmmon -l pl.UTF-8
125 Moduły jądra dla VMware Player - vmmon.
127 %package -n kernel%{_alt_kernel}-misc-vmnet
128 Summary: Kernel module for VMware Player
129 Summary(pl.UTF-8): Moduł jądra dla VMware Player
130 Release: %{_rel}@%{_kernel_ver_str}
132 Requires(post,postun): /sbin/depmod
133 Requires: dev >= 2.9.0-7
134 %if %{with dist_kernel}
135 %requires_releq_kernel
136 Requires(postun): %releq_kernel
138 Provides: kernel(vmnet) = %{version}-%{_rel}
140 %description -n kernel%{_alt_kernel}-misc-vmnet
141 Kernel modules for VMware Player - vmnet.
143 %description -n kernel%{_alt_kernel}-misc-vmnet -l pl.UTF-8
144 Moduły jądra dla VMware Player - vmnet.
147 %setup -q -n vmware-player-distrib -a2
148 cd vmware-any-any-update%{_urel}
151 cp -a vmmon-only{,.clean}
152 cp -a vmnet-only{,.clean}
153 sed -e 's/filter x86_64%/filter x86_64% amd64% ia64%/' \
154 -i vmnet-only.clean/Makefile.kernel
158 sed -i 's:vm_db_answer_LIBDIR:VM_LIBDIR:g;s:vm_db_answer_BINDIR:VM_BINDIR:g' bin/vmplayer
160 cd vmware-any-any-update%{_urel}
161 chmod u+w ../lib/bin/vmware-vmx ../lib/bin-debug/vmware-vmx ../bin/vmnet-bridge
167 for mod in vmmon vmnet ; do
168 for cfg in %{?with_dist_kernel:dist}%{!?with_dist_kernel:nondist}; do
169 if [ ! -r "%{_kernelsrcdir}/config-$cfg" ]; then
173 cp -a $mod-only.clean $mod-only
175 install -d o/include/linux
176 ln -sf %{_kernelsrcdir}/config-$cfg o/.config
177 ln -sf %{_kernelsrcdir}/Module.symvers-$cfg o/Module.symvers
178 ln -sf %{_kernelsrcdir}/include/linux/autoconf-$cfg.h o/include/linux/autoconf.h
179 if grep -q "^CONFIG_PREEMPT_RT=y$" o/.config; then
180 sed -e '/pollQueueLock/s/SPIN_LOCK_UNLOCKED/SPIN_LOCK_UNLOCKED(pollQueueLock)/' \
181 -e '/timerLock/s/SPIN_LOCK_UNLOCKED/SPIN_LOCK_UNLOCKED(timerLock)/' \
182 -i ../vmmon-only/linux/driver.c
183 sed -e 's/SPIN_LOCK_UNLOCKED/SPIN_LOCK_UNLOCKED(vnetHubLock)/' \
184 -i ../vmnet-only/hub.c
185 sed -e 's/RW_LOCK_UNLOCKED/RW_LOCK_UNLOCKED(vnetPeerLock)/' \
186 -i ../vmnet-only/driver.c
188 %if %{with dist_kernel}
189 %{__make} -j1 -C %{_kernelsrcdir} O=$PWD/o prepare scripts
191 install -d o/include/config
192 touch o/include/config/MARKER
193 ln -sf %{_kernelsrcdir}/scripts o/scripts
195 %{__make} -C %{_kernelsrcdir} modules \
200 %{?with_verbose:V=1} \
202 mv -f $mod.ko ../built/$mod-$cfg.ko
209 rm -rf $RPM_BUILD_ROOT
211 %if %{with userspace}
213 $RPM_BUILD_ROOT%{_sysconfdir}/vmware \
214 $RPM_BUILD_ROOT%{_sysconfdir}/vmware/vmnet8/{nat,dhcpd} \
215 $RPM_BUILD_ROOT%{_bindir} \
216 $RPM_BUILD_ROOT%{_libdir}/vmware/{bin,lib,share/pixmaps} \
217 $RPM_BUILD_ROOT%{_mandir} \
218 $RPM_BUILD_ROOT%{_pixmapsdir} \
219 $RPM_BUILD_ROOT%{_desktopdir} \
220 $RPM_BUILD_ROOT/etc/rc.d/init.d \
221 $RPM_BUILD_ROOT/var/run/vmware
225 install -d $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}{,smp}/misc
227 cd vmware-any-any-update%{_urel}/built
228 install vmmon* $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}/misc/vmmon.ko
229 install vmnet* $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}/misc/vmnet.ko
233 %if %{with userspace}
234 install %{SOURCE8} $RPM_BUILD_ROOT/etc/rc.d/init.d/vmnet
235 install %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/vmware/vmnet.conf
236 install %{SOURCE4} $RPM_BUILD_ROOT%{_pixmapsdir}
237 install %{SOURCE5} $RPM_BUILD_ROOT%{_desktopdir}
238 install %{SOURCE6} $RPM_BUILD_ROOT%{_sysconfdir}/vmware/vmnet8/nat/nat.conf
239 install %{SOURCE7} $RPM_BUILD_ROOT%{_sysconfdir}/vmware/vmnet8/dhcpd/dhcpd.conf
241 touch $RPM_BUILD_ROOT%{_sysconfdir}/vmware/vmnet8/dhcpd/dhcpd.leases
242 touch $RPM_BUILD_ROOT%{_sysconfdir}/vmware/vmnet8/dhcpd/dhcpd.leases~
244 install lib/share/pixmaps/* $RPM_BUILD_ROOT%{_libdir}/vmware/share/pixmaps
245 install doc/EULA $RPM_BUILD_ROOT%{_libdir}/vmware/share
247 install bin/*-* $RPM_BUILD_ROOT%{_bindir}
248 install lib/bin/vmware-vmx $RPM_BUILD_ROOT%{_libdir}/vmware/bin
249 install lib/lib/libvmwarebase.so.0/libvmwarebase.so.0 $RPM_BUILD_ROOT%{_libdir}
250 install lib/lib/libvmwareui.so.0/libvmwareui.so.0 $RPM_BUILD_ROOT%{_libdir}
252 cp -r lib/{bin-debug,config,help*,messages,xkeymap} \
253 $RPM_BUILD_ROOT%{_libdir}/vmware
255 cat > $RPM_BUILD_ROOT%{_sysconfdir}/vmware/locations <<EOF
257 VM_LIBDIR=%{_libdir}/vmware
260 %if %{with internal_libs}
261 install bin/vmplayer $RPM_BUILD_ROOT%{_bindir}
262 install lib/bin/vmplayer $RPM_BUILD_ROOT%{_libdir}/vmware/bin
263 install lib/lib/* $RPM_BUILD_ROOT%{_libdir}/vmware/lib
264 cp -r lib/libconf $RPM_BUILD_ROOT%{_libdir}/vmware
266 install lib/bin/vmplayer $RPM_BUILD_ROOT%{_bindir}
271 rm -rf $RPM_BUILD_ROOT
274 /sbin/chkconfig --add vmnet
275 %service vmnet restart "VMware networking service"
278 if [ "$1" = "0" ]; then
280 /sbin/chkconfig --del vmnet
283 %post -n kernel%{_alt_kernel}-misc-vmmon
284 %depmod %{_kernel_ver}
286 %postun -n kernel%{_alt_kernel}-misc-vmmon
287 %depmod %{_kernel_ver}
289 %post -n kernel%{_alt_kernel}-misc-vmnet
290 %depmod %{_kernel_ver}
292 %postun -n kernel%{_alt_kernel}-misc-vmnet
293 %depmod %{_kernel_ver}
295 %if %{with userspace}
297 %defattr(644,root,root,755)
298 %doc doc/* lib/configurator/vmnet-{dhcpd,nat}.conf
299 %dir %{_sysconfdir}/vmware
300 %{_sysconfdir}/vmware/locations
301 %attr(755,root,root) %{_bindir}/vmplayer
302 %attr(755,root,root) %{_libdir}/libvmwarebase.so.*
303 %attr(755,root,root) %{_libdir}/libvmwareui.so.*
304 %dir %{_libdir}/vmware
305 %dir %{_libdir}/vmware/bin
306 %dir %{_libdir}/vmware/lib
308 %attr(4755,root,root) %{_libdir}/vmware/bin/vmware-vmx
309 %{_libdir}/vmware/config
310 %if %{with internal_libs}
311 %attr(755,root,root) %{_libdir}/vmware/bin/vmware
312 %{_libdir}/vmware/lib/lib*
313 %attr(755,root,root) %{_libdir}/vmware/lib/wrapper-gtk24.sh
315 %dir %{_libdir}/vmware/messages
316 %lang(en) %{_libdir}/vmware/messages/en
317 %lang(ja) %{_libdir}/vmware/messages/ja
318 %{_libdir}/vmware/share
319 %{_libdir}/vmware/xkeymap
320 %attr(1777,root,root) %dir /var/run/vmware
322 %{_desktopdir}/%{name}.desktop
325 %defattr(644,root,root,755)
326 %dir %{_libdir}/vmware/bin-debug
328 %attr(4755,root,root) %{_libdir}/vmware/bin-debug/vmware-vmx
331 %defattr(644,root,root,755)
332 %{_libdir}/vmware/help*
335 %defattr(644,root,root,755)
336 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vmware/vmnet.conf
337 %attr(754,root,root) /etc/rc.d/init.d/vmnet
338 %attr(755,root,root) %{_bindir}/vmnet-bridge
339 %attr(755,root,root) %{_bindir}/vmnet-dhcpd
340 %attr(755,root,root) %{_bindir}/vmnet-natd
341 %attr(755,root,root) %{_bindir}/vmnet-netifup
342 %attr(755,root,root) %{_bindir}/vmnet-sniffer
343 %attr(755,root,root) %{_bindir}/vmware-ping
344 %dir %{_sysconfdir}/vmware/vmnet8
345 %dir %{_sysconfdir}/vmware/vmnet8/dhcpd
346 %dir %{_sysconfdir}/vmware/vmnet8/nat
347 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vmware/vmnet8/dhcpd/dhcpd.conf
348 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vmware/vmnet8/nat/nat.conf
349 %verify(not md5 mtime size) %{_sysconfdir}/vmware/vmnet8/dhcpd/dhcpd.leases*
354 %files -n kernel%{_alt_kernel}-misc-vmmon
355 %defattr(644,root,root,755)
356 /lib/modules/%{_kernel_ver}/misc/vmmon.ko*
358 %files -n kernel%{_alt_kernel}-misc-vmnet
359 %defattr(644,root,root,755)
360 /lib/modules/%{_kernel_ver}/misc/vmnet.ko*