4 %bcond_without dist_kernel # without distribution kernel
5 %bcond_without kernel # don't build kernel modules
6 %bcond_without userspace # don't build userspace utilities
7 %bcond_with internal_libs # internal libs stuff
8 %bcond_with verbose # verbose build (V=1)
11 %undefine with_dist_kernel
14 %undefine with_userspace
18 %define buildid 203739
21 # point to some working url
22 %define download_url %{nil}
24 Summary: VMware player
25 Summary(pl.UTF-8): VMware player - wirtualna platforma dla stacji roboczej
27 Version: %{ver}.%{buildid}
29 License: custom, non-distributable
30 Group: Applications/Emulators
31 # https://www.vmware.com/go/downloadplayer/
32 Source0: %{download_url}VMware-Player-%{ver}-%{buildid}.i386.bundle
33 # NoSource0-md5: 1c273da70347a381dc685b5fdf922e7d
35 Source1: %{download_url}VMware-Player-%{ver}-%{buildid}.x86_64.bundle
36 # NoSource1-md5: cf8ac6a75e4fd51a8c9c527a594f5ffc
38 Patch0: installer.patch
39 URL: http://www.vmware.com/
40 %{?with_dist_kernel:BuildRequires: kernel%{_alt_kernel}-module-build >= 3:2.6.7}
41 BuildRequires: rpmbuild(macros) >= 1.268
42 BuildRequires: sed >= 4.0
46 Requires: curl-libs >= 7.19.7-2
48 Requires: fontconfig-libs
65 Requires: libview >= 0.5.5-2
67 Requires: openssl >= 0.9.7
70 Requires: xorg-lib-libXau
71 Requires: xorg-lib-libXcomposite
72 Requires: xorg-lib-libXcursor
73 Requires: xorg-lib-libXdamage
74 Requires: xorg-lib-libXdmcp
75 Requires: xorg-lib-libXfixes
76 Requires: xorg-lib-libXft
77 Requires: xorg-lib-libXinerama
78 Requires: xorg-lib-libXrandr
79 Requires: xorg-lib-libXrender
80 ExclusiveArch: %{ix86} %{x8664}
81 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
83 %define _noautoprovfiles %{_libdir}/vmware/lib/.*\.so.*
86 VMware Player Virtual Platform is a thin software layer that allows
87 multiple guest operating systems to run concurrently on a single
88 standard PC, without repartitioning or rebooting, and without
89 significant loss of performance.
91 %description -l pl.UTF-8
92 VMware Player Virtual Platform to cienka warstwa oprogramowania
93 pozwalająca na jednoczesne działanie wielu gościnnych systemów
94 operacyjnych na jednym zwykłym PC, bez repartycjonowania ani
95 rebootowania, bez znacznej utraty wydajności.
98 Summary: VMware debug utility
99 Summary(pl.UTF-8): Narzędzie VMware do odpluskwiania
100 Group: Applications/Emulators
101 Requires: %{name} = %{version}-%{release}
104 VMware debug utility.
106 %description debug -l pl.UTF-8
107 Narzędzie VMware do odpluskwiania.
110 Summary: VMware Player help files
111 Summary(pl.UTF-8): Pliki pomocy dla VMware Player
112 Group: Applications/Emulators
113 Requires: %{name} = %{version}-%{release}
116 VMware Player help files.
118 %description help -l pl.UTF-8
119 Pliki pomocy dla VMware Player.
122 Summary: VMware networking utilities
123 Summary(pl.UTF-8): Narzędzia VMware do obsługi sieci
124 Group: Applications/Emulators
125 Requires(post,preun): /sbin/chkconfig
126 Requires: %{name} = %{version}-%{release}
128 Obsoletes: VMware-Player-samba
130 %description networking
131 VMware networking utilities.
133 %description networking -l pl.UTF-8
134 Narzędzia VMware do obsługi sieci.
136 %package -n kernel%{_alt_kernel}-misc-vmci
137 Summary: VMware Virtual Machine Communication Interface (VMCI)
138 Summary(pl.UTF-8): VMCI (Virtual Machine Communication Interface) - interfejs komunikacyjny VMware
139 Release: %{rel}@%{_kernel_ver_str}
141 Requires(post,postun): /sbin/depmod
142 Requires: dev >= 2.9.0-7
143 %if %{with dist_kernel}
144 %requires_releq_kernel
145 Requires(postun): %releq_kernel
148 %description -n kernel%{_alt_kernel}-misc-vmci
149 VMware Virtual Machine Communication Interface (VMCI).
151 %description -n kernel%{_alt_kernel}-misc-vmci -l pl.UTF-8
152 Moduł jądra Linuksa będący interfejsem komunikacyjnym VMware (VMCI -
153 Virtual Machine Communication Interface).
155 %package -n kernel%{_alt_kernel}-misc-vmblock
156 Summary: VMware Blocking File System
157 Summary(pl.UTF-8): Moduł jądra dla VMware Player
158 Release: %{rel}@%{_kernel_ver_str}
160 Requires(post,postun): /sbin/depmod
161 Requires: dev >= 2.9.0-7
162 %if %{with dist_kernel}
163 %requires_releq_kernel
164 Requires(postun): %releq_kernel
167 %description -n kernel%{_alt_kernel}-misc-vmblock
168 VMware Blocking File System.
170 %description -n kernel%{_alt_kernel}-misc-vmblock -l pl.UTF-8
171 Moduły jądra dla VMware Player - vmblock.
173 %package -n kernel%{_alt_kernel}-misc-vmmon
174 Summary: VMware Virtual Machine Monitor
175 Summary(pl.UTF-8): Moduł jądra dla VMware Player
176 Release: %{rel}@%{_kernel_ver_str}
178 Requires(post,postun): /sbin/depmod
179 Requires: dev >= 2.9.0-7
180 %if %{with dist_kernel}
181 %requires_releq_kernel
182 Requires(postun): %releq_kernel
185 %description -n kernel%{_alt_kernel}-misc-vmmon
186 VMware Virtual Machine Monitor.
188 %description -n kernel%{_alt_kernel}-misc-vmmon -l pl.UTF-8
189 Moduły jądra dla VMware Player - vmmon.
191 %package -n kernel%{_alt_kernel}-misc-vmnet
192 Summary: VMware Virtual Networking Driver
193 Summary(pl.UTF-8): Moduł jądra dla VMware Player
194 Release: %{rel}@%{_kernel_ver_str}
196 Requires(post,postun): /sbin/depmod
197 Requires: dev >= 2.9.0-7
198 %if %{with dist_kernel}
199 %requires_releq_kernel
200 Requires(postun): %releq_kernel
203 %description -n kernel%{_alt_kernel}-misc-vmnet
204 VMware Virtual Networking Driver.
206 %description -n kernel%{_alt_kernel}-misc-vmnet -l pl.UTF-8
207 Moduły jądra dla VMware Player - vmnet.
209 %package -n kernel%{_alt_kernel}-misc-vsock
210 Summary: VMware Virtual Socket Family
211 Summary(pl.UTF-8): Obsługa Virtual Socket Family - rodziny gniazd wirtualnych VMware
212 Release: %{rel}@%{_kernel_ver_str}
214 Requires(post,postun): /sbin/depmod
215 Requires: dev >= 2.9.0-7
216 %if %{with dist_kernel}
217 %requires_releq_kernel
218 Requires(postun): %releq_kernel
220 Requires: kernel%{_alt_kernel}-misc-vmci = %{version}-%{rel}@%{_kernel_ver_str}
222 %description -n kernel%{_alt_kernel}-misc-vsock
223 VMware Virtual Socket Family.
225 %description -n kernel%{_alt_kernel}-misc-vsock -l pl.UTF-8
226 Moduł jądra Linuksa obsługujący rodzinę gniazd wirtualnych VMware
227 (Virtual Socket Family).
232 export SOURCE=%{SOURCE0}
235 export SOURCE=%{SOURCE1}
238 # extract installer shell blob
239 %{__sed} -ne '1,/^exit/{s,$0,$SOURCE,;p}' $SOURCE > install.sh
240 %{__sed} -i -e "2iSOURCE=$SOURCE" install.sh
244 ./install.sh --extract bundles
246 cd bundles/vmware-player-app/lib/modules
247 %{__tar} xf source/vmblock.tar
248 %{__tar} xf source/vmci.tar
249 %{__tar} xf source/vmmon.tar
250 %{__tar} xf source/vmnet.tar
251 %{__tar} xf source/vsock.tar
252 mv vmmon-only/linux/driver.c{,.dist}
253 mv vmnet-only/hub.c{,.dist}
254 mv vmnet-only/driver.c{,.dist}
255 rm -rf binary # unusable
258 find '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f
262 cd bundles/vmware-player-app/lib/modules
264 %build_kernel_modules -C vmblock-only -m vmblock SRCROOT=$PWD VM_KBUILD=26 VM_CCVER=%{cc_version}
265 %build_kernel_modules -C vmci-only -m vmci SRCROOT=$PWD VM_KBUILD=26 VM_CCVER=%{cc_version}
266 %build_kernel_modules -C vmmon-only -m vmmon SRCROOT=$PWD VM_KBUILD=26 VM_CCVER=%{cc_version} <<'EOF'
267 if grep -q "^CONFIG_PREEMPT_RT=y$" o/.config; then
268 sed -e '/pollQueueLock/s/SPIN_LOCK_UNLOCKED/SPIN_LOCK_UNLOCKED(pollQueueLock)/' \
269 -e '/timerLock/s/SPIN_LOCK_UNLOCKED/SPIN_LOCK_UNLOCKED(timerLock)/' \
270 linux/driver.c.dist > linux/driver.c
272 cat linux/driver.c.dist > linux/driver.c
276 %build_kernel_modules -C vmnet-only -m vmnet SRCROOT=$PWD VM_KBUILD=26 VM_CCVER=%{cc_version} <<'EOF'
277 if grep -q "^CONFIG_PREEMPT_RT=y$" o/.config; then
278 sed -e 's/SPIN_LOCK_UNLOCKED/SPIN_LOCK_UNLOCKED(vnetHubLock)/' \
280 sed -e 's/RW_LOCK_UNLOCKED/RW_LOCK_UNLOCKED(vnetPeerLock)/' \
281 driver.c.dist > driver.c
283 cat hub.c.dist > hub.c
284 cat driver.c.dist > driver.c
288 cp -a vmci-only/Module.symvers vsock-only
289 %build_kernel_modules -C vsock-only -m vsock SRCROOT=$PWD VM_KBUILD=26 VM_CCVER=%{cc_version} -c
293 rm -rf $RPM_BUILD_ROOT
295 %install_kernel_modules -m bundles/vmware-player-app/lib/modules/vmblock-only/vmblock -d misc
296 %install_kernel_modules -m bundles/vmware-player-app/lib/modules/vmci-only/vmci -d misc
297 %install_kernel_modules -m bundles/vmware-player-app/lib/modules/vmmon-only/vmmon -d misc
298 %install_kernel_modules -m bundles/vmware-player-app/lib/modules/vmnet-only/vmnet -d misc
299 %install_kernel_modules -m bundles/vmware-player-app/lib/modules/vsock-only/vsock -d misc
303 rm -rf $RPM_BUILD_ROOT
305 %post -n kernel%{_alt_kernel}-misc-vmblock
306 %depmod %{_kernel_ver}
308 %postun -n kernel%{_alt_kernel}-misc-vmblock
309 %depmod %{_kernel_ver}
311 %post -n kernel%{_alt_kernel}-misc-vmci
312 %depmod %{_kernel_ver}
314 %postun -n kernel%{_alt_kernel}-misc-vmci
315 %depmod %{_kernel_ver}
317 %post -n kernel%{_alt_kernel}-misc-vmmon
318 %depmod %{_kernel_ver}
320 %postun -n kernel%{_alt_kernel}-misc-vmmon
321 %depmod %{_kernel_ver}
323 %post -n kernel%{_alt_kernel}-misc-vmnet
324 %depmod %{_kernel_ver}
326 %postun -n kernel%{_alt_kernel}-misc-vmnet
327 %depmod %{_kernel_ver}
329 %post -n kernel%{_alt_kernel}-misc-vsock
330 %depmod %{_kernel_ver}
332 %postun -n kernel%{_alt_kernel}-misc-vsock
333 %depmod %{_kernel_ver}
335 %if %{with userspace}
337 %defattr(644,root,root,755)
341 %files -n kernel%{_alt_kernel}-misc-vmblock
342 %defattr(644,root,root,755)
343 /lib/modules/%{_kernel_ver}/misc/vmblock.ko*
345 %files -n kernel%{_alt_kernel}-misc-vmci
346 %defattr(644,root,root,755)
347 /lib/modules/%{_kernel_ver}/misc/vmci.ko*
349 %files -n kernel%{_alt_kernel}-misc-vmmon
350 %defattr(644,root,root,755)
351 /lib/modules/%{_kernel_ver}/misc/vmmon.ko*
353 %files -n kernel%{_alt_kernel}-misc-vmnet
354 %defattr(644,root,root,755)
355 /lib/modules/%{_kernel_ver}/misc/vmnet.ko*
357 %files -n kernel%{_alt_kernel}-misc-vsock
358 %defattr(644,root,root,755)
359 /lib/modules/%{_kernel_ver}/misc/vsock.ko*