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.
109 Summary: VMware SMB utilities
110 Summary(pl.UTF-8): Narzędzia VMware do SMB
111 Group: Applications/Emulators
112 Requires: %{name} = %{version}-%{release}
115 VMware SMB utilities.
117 %description samba -l pl.UTF-8
118 Narzędzia VMware do SMB.
120 %package -n kernel%{_alt_kernel}-misc-vmmon
121 Summary: Kernel module for VMware Player
122 Summary(pl.UTF-8): Moduł jądra dla VMware Player
123 Release: %{_rel}@%{_kernel_ver_str}
125 Requires(post,postun): /sbin/depmod
126 Requires: dev >= 2.9.0-7
127 %if %{with dist_kernel}
128 %requires_releq_kernel
129 Requires(postun): %releq_kernel
131 Provides: kernel(vmmon) = %{version}-%{_rel}
133 %description -n kernel%{_alt_kernel}-misc-vmmon
134 Kernel modules for VMware Player - vmmon.
136 %description -n kernel%{_alt_kernel}-misc-vmmon -l pl.UTF-8
137 Moduły jądra dla VMware Player - vmmon.
139 %package -n kernel%{_alt_kernel}-misc-vmnet
140 Summary: Kernel module for VMware Player
141 Summary(pl.UTF-8): Moduł jądra dla VMware Player
142 Release: %{_rel}@%{_kernel_ver_str}
144 Requires(post,postun): /sbin/depmod
145 Requires: dev >= 2.9.0-7
146 %if %{with dist_kernel}
147 %requires_releq_kernel
148 Requires(postun): %releq_kernel
150 Provides: kernel(vmnet) = %{version}-%{_rel}
152 %description -n kernel%{_alt_kernel}-misc-vmnet
153 Kernel modules for VMware Player - vmnet.
155 %description -n kernel%{_alt_kernel}-misc-vmnet -l pl.UTF-8
156 Moduły jądra dla VMware Player - vmnet.
159 %setup -q -n vmware-player-distrib -a2
160 cd vmware-any-any-update%{_urel}
163 cp -a vmmon-only{,.clean}
164 cp -a vmnet-only{,.clean}
165 sed -e 's/filter x86_64%/filter x86_64% amd64% ia64%/' \
166 -i vmnet-only.clean/Makefile.kernel
170 sed -i 's:vm_db_answer_LIBDIR:VM_LIBDIR:g;s:vm_db_answer_BINDIR:VM_BINDIR:g' bin/vmplayer
172 cd vmware-any-any-update%{_urel}
173 chmod u+w ../lib/bin/vmware-vmx ../lib/bin-debug/vmware-vmx ../bin/vmnet-bridge
179 for mod in vmmon vmnet ; do
180 for cfg in %{?with_dist_kernel:dist}%{!?with_dist_kernel:nondist}; do
181 if [ ! -r "%{_kernelsrcdir}/config-$cfg" ]; then
185 cp -a $mod-only.clean $mod-only
187 install -d o/include/linux
188 ln -sf %{_kernelsrcdir}/config-$cfg o/.config
189 ln -sf %{_kernelsrcdir}/Module.symvers-$cfg o/Module.symvers
190 ln -sf %{_kernelsrcdir}/include/linux/autoconf-$cfg.h o/include/linux/autoconf.h
191 if grep -q "^CONFIG_PREEMPT_RT=y$" o/.config; then
192 sed -e '/pollQueueLock/s/SPIN_LOCK_UNLOCKED/SPIN_LOCK_UNLOCKED(pollQueueLock)/' \
193 -e '/timerLock/s/SPIN_LOCK_UNLOCKED/SPIN_LOCK_UNLOCKED(timerLock)/' \
194 -i ../vmmon-only/linux/driver.c
195 sed -e 's/SPIN_LOCK_UNLOCKED/SPIN_LOCK_UNLOCKED(vnetHubLock)/' \
196 -i ../vmnet-only/hub.c
197 sed -e 's/RW_LOCK_UNLOCKED/RW_LOCK_UNLOCKED(vnetPeerLock)/' \
198 -i ../vmnet-only/driver.c
200 %if %{with dist_kernel}
201 %{__make} -j1 -C %{_kernelsrcdir} O=$PWD/o prepare scripts
203 install -d o/include/config
204 touch o/include/config/MARKER
205 ln -sf %{_kernelsrcdir}/scripts o/scripts
207 %{__make} -C %{_kernelsrcdir} modules \
212 %{?with_verbose:V=1} \
214 mv -f $mod.ko ../built/$mod-$cfg.ko
221 rm -rf $RPM_BUILD_ROOT
223 %if %{with userspace}
225 $RPM_BUILD_ROOT%{_sysconfdir}/vmware \
226 $RPM_BUILD_ROOT%{_sysconfdir}/vmware/vmnet8/{nat,dhcpd} \
227 $RPM_BUILD_ROOT%{_bindir} \
228 $RPM_BUILD_ROOT%{_libdir}/vmware/{bin,lib,share/pixmaps} \
229 $RPM_BUILD_ROOT%{_mandir} \
230 $RPM_BUILD_ROOT%{_pixmapsdir} \
231 $RPM_BUILD_ROOT%{_desktopdir} \
232 $RPM_BUILD_ROOT/etc/rc.d/init.d \
233 $RPM_BUILD_ROOT/var/run/vmware
237 install -d $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}{,smp}/misc
239 cd vmware-any-any-update%{_urel}/built
240 install vmmon* $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}/misc/vmmon.ko
241 install vmnet* $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}/misc/vmnet.ko
245 %if %{with userspace}
246 install %{SOURCE8} $RPM_BUILD_ROOT/etc/rc.d/init.d/vmnet
247 install %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/vmware/vmnet.conf
248 install %{SOURCE4} $RPM_BUILD_ROOT%{_pixmapsdir}
249 install %{SOURCE5} $RPM_BUILD_ROOT%{_desktopdir}
250 install %{SOURCE6} $RPM_BUILD_ROOT%{_sysconfdir}/vmware/vmnet8/nat/nat.conf
251 install %{SOURCE7} $RPM_BUILD_ROOT%{_sysconfdir}/vmware/vmnet8/dhcpd/dhcpd.conf
253 touch $RPM_BUILD_ROOT%{_sysconfdir}/vmware/vmnet8/dhcpd/dhcpd.leases
254 touch $RPM_BUILD_ROOT%{_sysconfdir}/vmware/vmnet8/dhcpd/dhcpd.leases~
256 install lib/share/pixmaps/* $RPM_BUILD_ROOT%{_libdir}/vmware/share/pixmaps
257 install doc/EULA $RPM_BUILD_ROOT%{_libdir}/vmware/share
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) %{_libdir}/libvmwarebase.so.*
315 %attr(755,root,root) %{_libdir}/libvmwareui.so.*
316 %dir %{_libdir}/vmware
317 %dir %{_libdir}/vmware/bin
318 %dir %{_libdir}/vmware/lib
320 %attr(4755,root,root) %{_libdir}/vmware/bin/vmware-vmx
321 %{_libdir}/vmware/config
322 %if %{with internal_libs}
323 %attr(755,root,root) %{_libdir}/vmware/bin/vmware
324 %{_libdir}/vmware/lib/lib*
325 %attr(755,root,root) %{_libdir}/vmware/lib/wrapper-gtk24.sh
327 %dir %{_libdir}/vmware/messages
328 %lang(en) %{_libdir}/vmware/messages/en
329 %lang(ja) %{_libdir}/vmware/messages/ja
330 %{_libdir}/vmware/share
331 %{_libdir}/vmware/xkeymap
332 %attr(1777,root,root) %dir /var/run/vmware
334 %{_desktopdir}/%{name}.desktop
337 %defattr(644,root,root,755)
338 %dir %{_libdir}/vmware/bin-debug
340 %attr(4755,root,root) %{_libdir}/vmware/bin-debug/vmware-vmx
343 %defattr(644,root,root,755)
344 %{_libdir}/vmware/help*
347 %defattr(644,root,root,755)
348 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vmware/vmnet.conf
349 %attr(754,root,root) /etc/rc.d/init.d/vmnet
350 %attr(755,root,root) %{_bindir}/vmnet-bridge
351 %attr(755,root,root) %{_bindir}/vmnet-dhcpd
352 %attr(755,root,root) %{_bindir}/vmnet-natd
353 %attr(755,root,root) %{_bindir}/vmnet-netifup
354 %attr(755,root,root) %{_bindir}/vmnet-sniffer
355 %attr(755,root,root) %{_bindir}/vmware-ping
356 %dir %{_sysconfdir}/vmware/vmnet8
357 %dir %{_sysconfdir}/vmware/vmnet8/dhcpd
358 %dir %{_sysconfdir}/vmware/vmnet8/nat
359 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vmware/vmnet8/dhcpd/dhcpd.conf
360 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vmware/vmnet8/nat/nat.conf
361 %verify(not md5 mtime size) %{_sysconfdir}/vmware/vmnet8/dhcpd/dhcpd.leases*
366 %files -n kernel%{_alt_kernel}-misc-vmmon
367 %defattr(644,root,root,755)
368 /lib/modules/%{_kernel_ver}/misc/vmmon.ko*
370 %files -n kernel%{_alt_kernel}-misc-vmnet
371 %defattr(644,root,root,755)
372 /lib/modules/%{_kernel_ver}/misc/vmnet.ko*