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 # Requires: openssl >= 0.9.7
53 # Requires: openssl < 0.9.8
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
170 for mod in vmmon vmnet ; do
171 for cfg in %{?with_dist_kernel:dist}%{!?with_dist_kernel:nondist}; do
172 if [ ! -r "%{_kernelsrcdir}/config-$cfg" ]; then
176 cp -a $mod-only.clean $mod-only
178 install -d o/include/linux
179 ln -sf %{_kernelsrcdir}/config-$cfg o/.config
180 ln -sf %{_kernelsrcdir}/Module.symvers-$cfg o/Module.symvers
181 ln -sf %{_kernelsrcdir}/include/linux/autoconf-$cfg.h o/include/linux/autoconf.h
182 if grep -q "^CONFIG_PREEMPT_RT=y$" o/.config; then
183 sed -e '/pollQueueLock/s/SPIN_LOCK_UNLOCKED/SPIN_LOCK_UNLOCKED(pollQueueLock)/' \
184 -e '/timerLock/s/SPIN_LOCK_UNLOCKED/SPIN_LOCK_UNLOCKED(timerLock)/' \
185 -i ../vmmon-only/linux/driver.c
186 sed -e 's/SPIN_LOCK_UNLOCKED/SPIN_LOCK_UNLOCKED(vnetHubLock)/' \
187 -i ../vmnet-only/hub.c
188 sed -e 's/RW_LOCK_UNLOCKED/RW_LOCK_UNLOCKED(vnetPeerLock)/' \
189 -i ../vmnet-only/driver.c
191 %if %{with dist_kernel}
192 %{__make} -j1 -C %{_kernelsrcdir} O=$PWD/o prepare scripts
194 install -d o/include/config
195 touch o/include/config/MARKER
196 ln -sf %{_kernelsrcdir}/scripts o/scripts
198 %{__make} -C %{_kernelsrcdir} modules \
203 %{?with_verbose:V=1} \
205 mv -f $mod.ko ../built/$mod-$cfg.ko
212 rm -rf $RPM_BUILD_ROOT
214 %if %{with userspace}
216 $RPM_BUILD_ROOT%{_sysconfdir}/vmware \
217 $RPM_BUILD_ROOT%{_sysconfdir}/vmware/vmnet8/{nat,dhcpd} \
218 $RPM_BUILD_ROOT%{_bindir} \
219 $RPM_BUILD_ROOT%{_libdir}/vmware/{bin,lib,share/pixmaps} \
220 $RPM_BUILD_ROOT%{_mandir} \
221 $RPM_BUILD_ROOT%{_pixmapsdir} \
222 $RPM_BUILD_ROOT%{_iconsdir}/hicolor \
223 $RPM_BUILD_ROOT%{_desktopdir} \
224 $RPM_BUILD_ROOT/etc/rc.d/init.d \
225 $RPM_BUILD_ROOT/var/run/vmware
229 install -d $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}{,smp}/misc
231 cd vmware-any-any-update%{_urel}/built
232 install vmmon* $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}/misc/vmmon.ko
233 install vmnet* $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}/misc/vmnet.ko
237 %if %{with userspace}
238 install %{SOURCE8} $RPM_BUILD_ROOT/etc/rc.d/init.d/vmnet
239 install %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/vmware/vmnet.conf
240 install %{SOURCE4} $RPM_BUILD_ROOT%{_pixmapsdir}
241 install %{SOURCE5} $RPM_BUILD_ROOT%{_desktopdir}
242 install %{SOURCE6} $RPM_BUILD_ROOT%{_sysconfdir}/vmware/vmnet8/nat/nat.conf
243 install %{SOURCE7} $RPM_BUILD_ROOT%{_sysconfdir}/vmware/vmnet8/dhcpd/dhcpd.conf
245 touch $RPM_BUILD_ROOT%{_sysconfdir}/vmware/vmnet8/dhcpd/dhcpd.leases
246 touch $RPM_BUILD_ROOT%{_sysconfdir}/vmware/vmnet8/dhcpd/dhcpd.leases~
248 cp -a lib/share/icons/hicolor/* $RPM_BUILD_ROOT%{_iconsdir}/hicolor
250 install lib/share/pixmaps/* $RPM_BUILD_ROOT%{_libdir}/vmware/share/pixmaps
251 install doc/EULA $RPM_BUILD_ROOT%{_libdir}/vmware/share/EULA.txt
253 install bin/*-* $RPM_BUILD_ROOT%{_bindir}
254 install lib/bin/vmware-vmx $RPM_BUILD_ROOT%{_libdir}/vmware/bin
255 install lib/lib/libvmwarebase.so.0/libvmwarebase.so.0 $RPM_BUILD_ROOT%{_libdir}
256 install lib/lib/libvmwareui.so.0/libvmwareui.so.0 $RPM_BUILD_ROOT%{_libdir}
258 cp -r lib/{bin-debug,config,help*,messages,xkeymap} \
259 $RPM_BUILD_ROOT%{_libdir}/vmware
261 cat > $RPM_BUILD_ROOT%{_sysconfdir}/vmware/locations <<EOF
263 VM_LIBDIR=%{_libdir}/vmware
266 %if %{with internal_libs}
267 install bin/vmplayer $RPM_BUILD_ROOT%{_bindir}
268 install lib/bin/vmplayer $RPM_BUILD_ROOT%{_libdir}/vmware/bin
269 install lib/lib/* $RPM_BUILD_ROOT%{_libdir}/vmware/lib
270 cp -r lib/libconf $RPM_BUILD_ROOT%{_libdir}/vmware
272 install lib/bin/vmplayer $RPM_BUILD_ROOT%{_bindir}
277 rm -rf $RPM_BUILD_ROOT
280 /sbin/chkconfig --add vmnet
281 %service vmnet restart "VMware networking service"
284 if [ "$1" = "0" ]; then
286 /sbin/chkconfig --del vmnet
289 %post -n kernel%{_alt_kernel}-misc-vmmon
290 %depmod %{_kernel_ver}
292 %postun -n kernel%{_alt_kernel}-misc-vmmon
293 %depmod %{_kernel_ver}
295 %post -n kernel%{_alt_kernel}-misc-vmnet
296 %depmod %{_kernel_ver}
298 %postun -n kernel%{_alt_kernel}-misc-vmnet
299 %depmod %{_kernel_ver}
301 %if %{with userspace}
303 %defattr(644,root,root,755)
304 %doc doc/* lib/configurator/vmnet-{dhcpd,nat}.conf
305 %dir %{_sysconfdir}/vmware
306 %{_sysconfdir}/vmware/locations
307 %attr(755,root,root) %{_bindir}/vmplayer
308 %attr(755,root,root) %{_libdir}/libvmwarebase.so.*
309 %attr(755,root,root) %{_libdir}/libvmwareui.so.*
310 %dir %{_libdir}/vmware
311 %dir %{_libdir}/vmware/bin
312 %dir %{_libdir}/vmware/lib
314 %attr(4755,root,root) %{_libdir}/vmware/bin/vmware-vmx
315 %{_libdir}/vmware/config
316 %if %{with internal_libs}
317 %attr(755,root,root) %{_libdir}/vmware/bin/vmware
318 %{_libdir}/vmware/lib/lib*
319 %attr(755,root,root) %{_libdir}/vmware/lib/wrapper-gtk24.sh
321 %dir %{_libdir}/vmware/messages
322 %lang(en) %{_libdir}/vmware/messages/en
323 %lang(ja) %{_libdir}/vmware/messages/ja
324 %{_libdir}/vmware/share
325 %{_libdir}/vmware/xkeymap
326 %attr(1777,root,root) %dir /var/run/vmware
327 %{_iconsdir}/hicolor/*/*/*.png
328 %{_iconsdir}/hicolor/*/*/*.svg
330 %{_desktopdir}/%{name}.desktop
333 %defattr(644,root,root,755)
334 %dir %{_libdir}/vmware/bin-debug
336 %attr(4755,root,root) %{_libdir}/vmware/bin-debug/vmware-vmx
339 %defattr(644,root,root,755)
340 %{_libdir}/vmware/help*
343 %defattr(644,root,root,755)
344 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vmware/vmnet.conf
345 %attr(754,root,root) /etc/rc.d/init.d/vmnet
346 %attr(755,root,root) %{_bindir}/vmnet-bridge
347 %attr(755,root,root) %{_bindir}/vmnet-dhcpd
348 %attr(755,root,root) %{_bindir}/vmnet-natd
349 %attr(755,root,root) %{_bindir}/vmnet-netifup
350 %attr(755,root,root) %{_bindir}/vmnet-sniffer
351 %attr(755,root,root) %{_bindir}/vmware-ping
352 %dir %{_sysconfdir}/vmware/vmnet8
353 %dir %{_sysconfdir}/vmware/vmnet8/dhcpd
354 %dir %{_sysconfdir}/vmware/vmnet8/nat
355 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vmware/vmnet8/dhcpd/dhcpd.conf
356 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vmware/vmnet8/nat/nat.conf
357 %verify(not md5 mtime size) %{_sysconfdir}/vmware/vmnet8/dhcpd/dhcpd.leases*
362 %files -n kernel%{_alt_kernel}-misc-vmmon
363 %defattr(644,root,root,755)
364 /lib/modules/%{_kernel_ver}/misc/vmmon.ko*
366 %files -n kernel%{_alt_kernel}-misc-vmnet
367 %defattr(644,root,root,755)
368 /lib/modules/%{_kernel_ver}/misc/vmnet.ko*