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,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
262 cp -r lib/{bin-debug,config,help*,messages,xkeymap} \
263 $RPM_BUILD_ROOT%{_libdir}/vmware
265 cat > $RPM_BUILD_ROOT%{_sysconfdir}/vmware/locations <<EOF
267 VM_LIBDIR=%{_libdir}/vmware
270 %if %{with internal_libs}
271 install bin/vmplayer $RPM_BUILD_ROOT%{_bindir}
272 install lib/bin/vmplayer $RPM_BUILD_ROOT%{_libdir}/vmware/bin
273 cp -r lib/lib $RPM_BUILD_ROOT%{_libdir}/vmware
274 cp -r lib/libconf $RPM_BUILD_ROOT%{_libdir}/vmware
276 install lib/bin/vmplayer $RPM_BUILD_ROOT%{_bindir}
281 rm -rf $RPM_BUILD_ROOT
284 /sbin/chkconfig --add vmnet
285 %service vmnet restart "VMware networking service"
288 if [ "$1" = "0" ]; then
290 /sbin/chkconfig --del vmnet
293 %post -n kernel%{_alt_kernel}-misc-vmmon
294 %depmod %{_kernel_ver}
296 %postun -n kernel%{_alt_kernel}-misc-vmmon
297 %depmod %{_kernel_ver}
299 %post -n kernel%{_alt_kernel}-misc-vmnet
300 %depmod %{_kernel_ver}
302 %postun -n kernel%{_alt_kernel}-misc-vmnet
303 %depmod %{_kernel_ver}
305 %if %{with userspace}
307 %defattr(644,root,root,755)
308 %doc doc/* lib/configurator/vmnet-{dhcpd,nat}.conf
309 %dir %{_sysconfdir}/vmware
310 %{_sysconfdir}/vmware/locations
311 %attr(755,root,root) %{_bindir}/vmplayer
312 %dir %{_libdir}/vmware
313 %dir %{_libdir}/vmware/bin
315 %attr(4755,root,root) %{_libdir}/vmware/bin/vmware-vmx
316 %{_libdir}/vmware/config
317 %if %{with internal_libs}
318 %attr(755,root,root) %{_libdir}/vmware/bin/vmware
319 %dir %{_libdir}/vmware/lib
320 %{_libdir}/vmware/lib/lib*
321 %attr(755,root,root) %{_libdir}/vmware/lib/wrapper-gtk24.sh
323 %dir %{_libdir}/vmware/messages
324 %lang(ja) %{_libdir}/vmware/messages/ja
325 %{_libdir}/vmware/share
326 %{_libdir}/vmware/xkeymap
327 %attr(1777,root,root) %dir /var/run/vmware
329 %{_desktopdir}/%{name}.desktop
332 %defattr(644,root,root,755)
333 %dir %{_libdir}/vmware/bin-debug
335 %attr(4755,root,root) %{_libdir}/vmware/bin-debug/vmware-vmx
338 %defattr(644,root,root,755)
339 %{_libdir}/vmware/help*
342 %defattr(644,root,root,755)
343 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vmware/vmnet.conf
344 %attr(754,root,root) /etc/rc.d/init.d/vmnet
345 %attr(755,root,root) %{_bindir}/vmnet-bridge
346 %attr(755,root,root) %{_bindir}/vmnet-dhcpd
347 %attr(755,root,root) %{_bindir}/vmnet-natd
348 %attr(755,root,root) %{_bindir}/vmnet-netifup
349 %attr(755,root,root) %{_bindir}/vmnet-sniffer
350 %attr(755,root,root) %{_bindir}/vmware-ping
351 %dir %{_sysconfdir}/vmware/vmnet8
352 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vmware/vmnet8/dhcpd/dhcpd.conf
353 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vmware/vmnet8/nat/nat.conf
354 %verify(not md5 mtime size) %{_sysconfdir}/vmware/vmnet8/dhcpd/dhcpd.leases*
359 %files -n kernel%{_alt_kernel}-misc-vmmon
360 %defattr(644,root,root,755)
361 /lib/modules/%{_kernel_ver}/misc/vmmon.ko*
363 %files -n kernel%{_alt_kernel}-misc-vmnet
364 %defattr(644,root,root,755)
365 /lib/modules/%{_kernel_ver}/misc/vmnet.ko*