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
31 Source1: http://download3.vmware.com/software/vmplayer/%{name}-%{_ver}-%{_build}.x86_64.tar.gz
32 # NoSource1-md5: 2bfbc79f548f082818b44b980d9e1c71
34 Source2: http://knihovny.cvut.cz/ftp/pub/vmware/vmware-any-any-update%{_urel}.tar.gz
35 # Source2-md5: 6a0c8da95b4c25670c842939e5b92728
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 ExclusiveArch: %{ix86} %{x8664}
53 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
55 %define _noautoprovfiles %{_libdir}/vmware/lib/.*\.so.*
58 VMware Player Virtual Platform is a thin software layer that allows
59 multiple guest operating systems to run concurrently on a single
60 standard PC, without repartitioning or rebooting, and without
61 significant loss of performance.
63 %description -l pl.UTF-8
64 VMware Player Virtual Platform to cienka warstwa oprogramowania
65 pozwalająca na jednoczesne działanie wielu gościnnych systemów
66 operacyjnych na jednym zwykłym PC, bez repartycjonowania ani
67 rebootowania, bez znacznej utraty wydajności.
70 Summary: VMware debug utility
71 Summary(pl.UTF-8): Narzędzie VMware do odpluskwiania
72 Group: Applications/Emulators
73 Requires: %{name} = %{version}-%{release}
78 %description debug -l pl.UTF-8
79 Narzędzie VMware do odpluskwiania.
82 Summary: VMware Player help files
83 Summary(pl.UTF-8): Pliki pomocy dla VMware Player
84 Group: Applications/Emulators
85 Requires: %{name} = %{version}-%{release}
89 VMware Player help files.
91 %description help -l pl.UTF-8
92 Pliki pomocy dla VMware Player.
95 Summary: VMware networking utilities
96 Summary(pl.UTF-8): Narzędzia VMware do obsługi sieci
97 Group: Applications/Emulators
98 Requires(post,preun): /sbin/chkconfig
99 Requires: %{name} = %{version}-%{release}
101 Obsoletes: VMware-Player-samba
103 %description networking
104 VMware networking utilities.
106 %description networking -l pl.UTF-8
107 Narzędzia VMware do obsługi sieci.
109 %package -n kernel%{_alt_kernel}-misc-vmmon
110 Summary: Kernel module for VMware Player
111 Summary(pl.UTF-8): Moduł jądra dla VMware Player
112 Release: %{_rel}@%{_kernel_ver_str}
114 Requires(post,postun): /sbin/depmod
115 Requires: dev >= 2.9.0-7
116 %if %{with dist_kernel}
117 %requires_releq_kernel
118 Requires(postun): %releq_kernel
120 Provides: kernel(vmmon) = %{version}-%{_rel}
122 %description -n kernel%{_alt_kernel}-misc-vmmon
123 Kernel modules for VMware Player - vmmon.
125 %description -n kernel%{_alt_kernel}-misc-vmmon -l pl.UTF-8
126 Moduły jądra dla VMware Player - vmmon.
128 %package -n kernel%{_alt_kernel}-misc-vmnet
129 Summary: Kernel module for VMware Player
130 Summary(pl.UTF-8): Moduł jądra dla VMware Player
131 Release: %{_rel}@%{_kernel_ver_str}
133 Requires(post,postun): /sbin/depmod
134 Requires: dev >= 2.9.0-7
135 %if %{with dist_kernel}
136 %requires_releq_kernel
137 Requires(postun): %releq_kernel
139 Provides: kernel(vmnet) = %{version}-%{_rel}
141 %description -n kernel%{_alt_kernel}-misc-vmnet
142 Kernel modules for VMware Player - vmnet.
144 %description -n kernel%{_alt_kernel}-misc-vmnet -l pl.UTF-8
145 Moduły jądra dla VMware Player - vmnet.
148 %setup -q -n vmware-player-distrib -a2
149 cd vmware-any-any-update%{_urel}
152 cp -a vmmon-only{,.clean}
153 cp -a vmnet-only{,.clean}
154 sed -e 's/filter x86_64%/filter x86_64% amd64% ia64%/' \
155 -i vmnet-only.clean/Makefile.kernel
159 sed -i 's:vm_db_answer_LIBDIR:VM_LIBDIR:g;s:vm_db_answer_BINDIR:VM_BINDIR:g' bin/vmplayer
161 cd vmware-any-any-update%{_urel}
162 chmod u+w ../lib/bin/vmware-vmx ../lib/bin-debug/vmware-vmx ../bin/vmnet-bridge
168 for mod in vmmon vmnet ; do
169 for cfg in %{?with_dist_kernel:dist}%{!?with_dist_kernel:nondist}; do
170 if [ ! -r "%{_kernelsrcdir}/config-$cfg" ]; then
174 cp -a $mod-only.clean $mod-only
176 install -d o/include/linux
177 ln -sf %{_kernelsrcdir}/config-$cfg o/.config
178 ln -sf %{_kernelsrcdir}/Module.symvers-$cfg o/Module.symvers
179 ln -sf %{_kernelsrcdir}/include/linux/autoconf-$cfg.h o/include/linux/autoconf.h
180 if grep -q "^CONFIG_PREEMPT_RT=y$" o/.config; then
181 sed -e '/pollQueueLock/s/SPIN_LOCK_UNLOCKED/SPIN_LOCK_UNLOCKED(pollQueueLock)/' \
182 -e '/timerLock/s/SPIN_LOCK_UNLOCKED/SPIN_LOCK_UNLOCKED(timerLock)/' \
183 -i ../vmmon-only/linux/driver.c
184 sed -e 's/SPIN_LOCK_UNLOCKED/SPIN_LOCK_UNLOCKED(vnetHubLock)/' \
185 -i ../vmnet-only/hub.c
186 sed -e 's/RW_LOCK_UNLOCKED/RW_LOCK_UNLOCKED(vnetPeerLock)/' \
187 -i ../vmnet-only/driver.c
189 %if %{with dist_kernel}
190 %{__make} -j1 -C %{_kernelsrcdir} O=$PWD/o prepare scripts
192 install -d o/include/config
193 touch o/include/config/MARKER
194 ln -sf %{_kernelsrcdir}/scripts o/scripts
196 %{__make} -C %{_kernelsrcdir} modules \
201 %{?with_verbose:V=1} \
203 mv -f $mod.ko ../built/$mod-$cfg.ko
210 rm -rf $RPM_BUILD_ROOT
212 %if %{with userspace}
214 $RPM_BUILD_ROOT%{_sysconfdir}/vmware \
215 $RPM_BUILD_ROOT%{_sysconfdir}/vmware/vmnet8/{nat,dhcpd} \
216 $RPM_BUILD_ROOT%{_bindir} \
217 $RPM_BUILD_ROOT%{_libdir}/vmware/{bin,lib,share/pixmaps} \
218 $RPM_BUILD_ROOT%{_mandir} \
219 $RPM_BUILD_ROOT%{_pixmapsdir} \
220 $RPM_BUILD_ROOT%{_desktopdir} \
221 $RPM_BUILD_ROOT/etc/rc.d/init.d \
222 $RPM_BUILD_ROOT/var/run/vmware
226 install -d $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}{,smp}/misc
228 cd vmware-any-any-update%{_urel}/built
229 install vmmon* $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}/misc/vmmon.ko
230 install vmnet* $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}/misc/vmnet.ko
234 %if %{with userspace}
235 install %{SOURCE8} $RPM_BUILD_ROOT/etc/rc.d/init.d/vmnet
236 install %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/vmware/vmnet.conf
237 install %{SOURCE4} $RPM_BUILD_ROOT%{_pixmapsdir}
238 install %{SOURCE5} $RPM_BUILD_ROOT%{_desktopdir}
239 install %{SOURCE6} $RPM_BUILD_ROOT%{_sysconfdir}/vmware/vmnet8/nat/nat.conf
240 install %{SOURCE7} $RPM_BUILD_ROOT%{_sysconfdir}/vmware/vmnet8/dhcpd/dhcpd.conf
242 touch $RPM_BUILD_ROOT%{_sysconfdir}/vmware/vmnet8/dhcpd/dhcpd.leases
243 touch $RPM_BUILD_ROOT%{_sysconfdir}/vmware/vmnet8/dhcpd/dhcpd.leases~
245 install lib/share/pixmaps/* $RPM_BUILD_ROOT%{_libdir}/vmware/share/pixmaps
246 install doc/EULA $RPM_BUILD_ROOT%{_libdir}/vmware/share
248 install bin/*-* $RPM_BUILD_ROOT%{_bindir}
249 install lib/bin/vmware-vmx $RPM_BUILD_ROOT%{_libdir}/vmware/bin
250 install lib/lib/libvmwarebase.so.0/libvmwarebase.so.0 $RPM_BUILD_ROOT%{_libdir}
251 install lib/lib/libvmwareui.so.0/libvmwareui.so.0 $RPM_BUILD_ROOT%{_libdir}
253 cp -r lib/{bin-debug,config,help*,messages,xkeymap} \
254 $RPM_BUILD_ROOT%{_libdir}/vmware
256 cat > $RPM_BUILD_ROOT%{_sysconfdir}/vmware/locations <<EOF
258 VM_LIBDIR=%{_libdir}/vmware
261 %if %{with internal_libs}
262 install bin/vmplayer $RPM_BUILD_ROOT%{_bindir}
263 install lib/bin/vmplayer $RPM_BUILD_ROOT%{_libdir}/vmware/bin
264 install lib/lib/* $RPM_BUILD_ROOT%{_libdir}/vmware/lib
265 cp -r lib/libconf $RPM_BUILD_ROOT%{_libdir}/vmware
267 install lib/bin/vmplayer $RPM_BUILD_ROOT%{_bindir}
272 rm -rf $RPM_BUILD_ROOT
275 /sbin/chkconfig --add vmnet
276 %service vmnet restart "VMware networking service"
279 if [ "$1" = "0" ]; then
281 /sbin/chkconfig --del vmnet
284 %post -n kernel%{_alt_kernel}-misc-vmmon
285 %depmod %{_kernel_ver}
287 %postun -n kernel%{_alt_kernel}-misc-vmmon
288 %depmod %{_kernel_ver}
290 %post -n kernel%{_alt_kernel}-misc-vmnet
291 %depmod %{_kernel_ver}
293 %postun -n kernel%{_alt_kernel}-misc-vmnet
294 %depmod %{_kernel_ver}
296 %if %{with userspace}
298 %defattr(644,root,root,755)
299 %doc doc/* lib/configurator/vmnet-{dhcpd,nat}.conf
300 %dir %{_sysconfdir}/vmware
301 %{_sysconfdir}/vmware/locations
302 %attr(755,root,root) %{_bindir}/vmplayer
303 %attr(755,root,root) %{_libdir}/libvmwarebase.so.*
304 %attr(755,root,root) %{_libdir}/libvmwareui.so.*
305 %dir %{_libdir}/vmware
306 %dir %{_libdir}/vmware/bin
307 %dir %{_libdir}/vmware/lib
309 %attr(4755,root,root) %{_libdir}/vmware/bin/vmware-vmx
310 %{_libdir}/vmware/config
311 %if %{with internal_libs}
312 %attr(755,root,root) %{_libdir}/vmware/bin/vmware
313 %{_libdir}/vmware/lib/lib*
314 %attr(755,root,root) %{_libdir}/vmware/lib/wrapper-gtk24.sh
316 %dir %{_libdir}/vmware/messages
317 %lang(en) %{_libdir}/vmware/messages/en
318 %lang(ja) %{_libdir}/vmware/messages/ja
319 %{_libdir}/vmware/share
320 %{_libdir}/vmware/xkeymap
321 %attr(1777,root,root) %dir /var/run/vmware
323 %{_desktopdir}/%{name}.desktop
326 %defattr(644,root,root,755)
327 %dir %{_libdir}/vmware/bin-debug
329 %attr(4755,root,root) %{_libdir}/vmware/bin-debug/vmware-vmx
332 %defattr(644,root,root,755)
333 %{_libdir}/vmware/help*
336 %defattr(644,root,root,755)
337 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vmware/vmnet.conf
338 %attr(754,root,root) /etc/rc.d/init.d/vmnet
339 %attr(755,root,root) %{_bindir}/vmnet-bridge
340 %attr(755,root,root) %{_bindir}/vmnet-dhcpd
341 %attr(755,root,root) %{_bindir}/vmnet-natd
342 %attr(755,root,root) %{_bindir}/vmnet-netifup
343 %attr(755,root,root) %{_bindir}/vmnet-sniffer
344 %attr(755,root,root) %{_bindir}/vmware-ping
345 %dir %{_sysconfdir}/vmware/vmnet8
346 %dir %{_sysconfdir}/vmware/vmnet8/dhcpd
347 %dir %{_sysconfdir}/vmware/vmnet8/nat
348 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vmware/vmnet8/dhcpd/dhcpd.conf
349 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vmware/vmnet8/nat/nat.conf
350 %verify(not md5 mtime size) %{_sysconfdir}/vmware/vmnet8/dhcpd/dhcpd.leases*
355 %files -n kernel%{_alt_kernel}-misc-vmmon
356 %defattr(644,root,root,755)
357 /lib/modules/%{_kernel_ver}/misc/vmmon.ko*
359 %files -n kernel%{_alt_kernel}-misc-vmnet
360 %defattr(644,root,root,755)
361 /lib/modules/%{_kernel_ver}/misc/vmnet.ko*