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
64 Requires: libview >= 0.5.5-2
66 Requires: openssl >= 0.9.7
69 Requires: xorg-lib-libXau
70 Requires: xorg-lib-libXcomposite
71 Requires: xorg-lib-libXcursor
72 Requires: xorg-lib-libXdamage
73 Requires: xorg-lib-libXdmcp
74 Requires: xorg-lib-libXfixes
75 Requires: xorg-lib-libXft
76 Requires: xorg-lib-libXinerama
77 Requires: xorg-lib-libXrandr
78 Requires: xorg-lib-libXrender
79 ExclusiveArch: %{ix86} %{x8664}
80 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
82 %define _noautoprovfiles %{_libdir}/vmware/lib/.*\.so.*
85 VMware Player Virtual Platform is a thin software layer that allows
86 multiple guest operating systems to run concurrently on a single
87 standard PC, without repartitioning or rebooting, and without
88 significant loss of performance.
90 %description -l pl.UTF-8
91 VMware Player Virtual Platform to cienka warstwa oprogramowania
92 pozwalająca na jednoczesne działanie wielu gościnnych systemów
93 operacyjnych na jednym zwykłym PC, bez repartycjonowania ani
94 rebootowania, bez znacznej utraty wydajności.
97 Summary: VMware debug utility
98 Summary(pl.UTF-8): Narzędzie VMware do odpluskwiania
99 Group: Applications/Emulators
100 Requires: %{name} = %{version}-%{release}
103 VMware debug utility.
105 %description debug -l pl.UTF-8
106 Narzędzie VMware do odpluskwiania.
109 Summary: VMware Player help files
110 Summary(pl.UTF-8): Pliki pomocy dla VMware Player
111 Group: Applications/Emulators
112 Requires: %{name} = %{version}-%{release}
115 VMware Player help files.
117 %description help -l pl.UTF-8
118 Pliki pomocy dla VMware Player.
121 Summary: VMware networking utilities
122 Summary(pl.UTF-8): Narzędzia VMware do obsługi sieci
123 Group: Applications/Emulators
124 Requires(post,preun): /sbin/chkconfig
125 Requires: %{name} = %{version}-%{release}
127 Obsoletes: VMware-Player-samba
129 %description networking
130 VMware networking utilities.
132 %description networking -l pl.UTF-8
133 Narzędzia VMware do obsługi sieci.
135 %package -n kernel%{_alt_kernel}-misc-vmci
136 Summary: VMware Virtual Machine Communication Interface (VMCI)
137 Summary(pl.UTF-8): VMCI (Virtual Machine Communication Interface) - interfejs komunikacyjny VMware
138 Release: %{rel}@%{_kernel_ver_str}
140 Requires(post,postun): /sbin/depmod
141 Requires: dev >= 2.9.0-7
142 %if %{with dist_kernel}
143 %requires_releq_kernel
144 Requires(postun): %releq_kernel
147 %description -n kernel%{_alt_kernel}-misc-vmci
148 VMware Virtual Machine Communication Interface (VMCI).
150 %description -n kernel%{_alt_kernel}-misc-vmci -l pl.UTF-8
151 Moduł jądra Linuksa będący interfejsem komunikacyjnym VMware (VMCI -
152 Virtual Machine Communication Interface).
154 %package -n kernel%{_alt_kernel}-misc-vmblock
155 Summary: VMware Blocking File System
156 Summary(pl.UTF-8): Moduł jądra dla VMware Player
157 Release: %{rel}@%{_kernel_ver_str}
159 Requires(post,postun): /sbin/depmod
160 Requires: dev >= 2.9.0-7
161 %if %{with dist_kernel}
162 %requires_releq_kernel
163 Requires(postun): %releq_kernel
166 %description -n kernel%{_alt_kernel}-misc-vmblock
167 VMware Blocking File System.
169 %description -n kernel%{_alt_kernel}-misc-vmblock -l pl.UTF-8
170 Moduły jądra dla VMware Player - vmblock.
172 %package -n kernel%{_alt_kernel}-misc-vmmon
173 Summary: VMware Virtual Machine Monitor
174 Summary(pl.UTF-8): Moduł jądra dla VMware Player
175 Release: %{rel}@%{_kernel_ver_str}
177 Requires(post,postun): /sbin/depmod
178 Requires: dev >= 2.9.0-7
179 %if %{with dist_kernel}
180 %requires_releq_kernel
181 Requires(postun): %releq_kernel
184 %description -n kernel%{_alt_kernel}-misc-vmmon
185 VMware Virtual Machine Monitor.
187 %description -n kernel%{_alt_kernel}-misc-vmmon -l pl.UTF-8
188 Moduły jądra dla VMware Player - vmmon.
190 %package -n kernel%{_alt_kernel}-misc-vmnet
191 Summary: VMware Virtual Networking Driver
192 Summary(pl.UTF-8): Moduł jądra dla VMware Player
193 Release: %{rel}@%{_kernel_ver_str}
195 Requires(post,postun): /sbin/depmod
196 Requires: dev >= 2.9.0-7
197 %if %{with dist_kernel}
198 %requires_releq_kernel
199 Requires(postun): %releq_kernel
202 %description -n kernel%{_alt_kernel}-misc-vmnet
203 VMware Virtual Networking Driver.
205 %description -n kernel%{_alt_kernel}-misc-vmnet -l pl.UTF-8
206 Moduły jądra dla VMware Player - vmnet.
208 %package -n kernel%{_alt_kernel}-misc-vsock
209 Summary: VMware Virtual Socket Family
210 Summary(pl.UTF-8): Obsługa Virtual Socket Family - rodziny gniazd wirtualnych VMware
211 Release: %{rel}@%{_kernel_ver_str}
213 Requires(post,postun): /sbin/depmod
214 Requires: dev >= 2.9.0-7
215 %if %{with dist_kernel}
216 %requires_releq_kernel
217 Requires(postun): %releq_kernel
219 Requires: kernel%{_alt_kernel}-misc-vmci = %{version}-%{rel}@%{_kernel_ver_str}
221 %description -n kernel%{_alt_kernel}-misc-vsock
222 VMware Virtual Socket Family.
224 %description -n kernel%{_alt_kernel}-misc-vsock -l pl.UTF-8
225 Moduł jądra Linuksa obsługujący rodzinę gniazd wirtualnych VMware
226 (Virtual Socket Family).
231 export SOURCE=%{SOURCE0}
234 export SOURCE=%{SOURCE1}
237 # extract installer shell blob
238 %{__sed} -ne '1,/^exit/{s,$0,$SOURCE,;p}' $SOURCE > install.sh
239 %{__sed} -i -e "2iSOURCE=$SOURCE" install.sh
243 ./install.sh --extract bundles
245 cd bundles/vmware-player-app/lib/modules
246 %{__tar} xf source/vmblock.tar
247 %{__tar} xf source/vmci.tar
248 %{__tar} xf source/vmmon.tar
249 %{__tar} xf source/vmnet.tar
250 %{__tar} xf source/vsock.tar
251 mv vmmon-only/linux/driver.c{,.dist}
252 mv vmnet-only/hub.c{,.dist}
253 mv vmnet-only/driver.c{,.dist}
254 rm -rf binary # unusable
257 find '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f
261 cd bundles/vmware-player-app/lib/modules
263 %build_kernel_modules -C vmblock-only -m vmblock SRCROOT=$PWD VM_KBUILD=26 VM_CCVER=%{cc_version}
264 %build_kernel_modules -C vmci-only -m vmci SRCROOT=$PWD VM_KBUILD=26 VM_CCVER=%{cc_version}
265 %build_kernel_modules -C vmmon-only -m vmmon SRCROOT=$PWD VM_KBUILD=26 VM_CCVER=%{cc_version} <<'EOF'
266 if grep -q "^CONFIG_PREEMPT_RT=y$" o/.config; then
267 sed -e '/pollQueueLock/s/SPIN_LOCK_UNLOCKED/SPIN_LOCK_UNLOCKED(pollQueueLock)/' \
268 -e '/timerLock/s/SPIN_LOCK_UNLOCKED/SPIN_LOCK_UNLOCKED(timerLock)/' \
269 linux/driver.c.dist > linux/driver.c
271 cat linux/driver.c.dist > linux/driver.c
275 %build_kernel_modules -C vmnet-only -m vmnet SRCROOT=$PWD VM_KBUILD=26 VM_CCVER=%{cc_version} <<'EOF'
276 if grep -q "^CONFIG_PREEMPT_RT=y$" o/.config; then
277 sed -e 's/SPIN_LOCK_UNLOCKED/SPIN_LOCK_UNLOCKED(vnetHubLock)/' \
279 sed -e 's/RW_LOCK_UNLOCKED/RW_LOCK_UNLOCKED(vnetPeerLock)/' \
280 driver.c.dist > driver.c
282 cat hub.c.dist > hub.c
283 cat driver.c.dist > driver.c
287 cp -a vmci-only/Module.symvers vsock-only
288 %build_kernel_modules -C vsock-only -m vsock SRCROOT=$PWD VM_KBUILD=26 VM_CCVER=%{cc_version} -c
292 rm -rf $RPM_BUILD_ROOT
294 %install_kernel_modules -m bundles/vmware-player-app/lib/modules/vmblock-only/vmblock -d misc
295 %install_kernel_modules -m bundles/vmware-player-app/lib/modules/vmci-only/vmci -d misc
296 %install_kernel_modules -m bundles/vmware-player-app/lib/modules/vmmon-only/vmmon -d misc
297 %install_kernel_modules -m bundles/vmware-player-app/lib/modules/vmnet-only/vmnet -d misc
298 %install_kernel_modules -m bundles/vmware-player-app/lib/modules/vsock-only/vsock -d misc
302 rm -rf $RPM_BUILD_ROOT
304 %post -n kernel%{_alt_kernel}-misc-vmblock
305 %depmod %{_kernel_ver}
307 %postun -n kernel%{_alt_kernel}-misc-vmblock
308 %depmod %{_kernel_ver}
310 %post -n kernel%{_alt_kernel}-misc-vmci
311 %depmod %{_kernel_ver}
313 %postun -n kernel%{_alt_kernel}-misc-vmci
314 %depmod %{_kernel_ver}
316 %post -n kernel%{_alt_kernel}-misc-vmmon
317 %depmod %{_kernel_ver}
319 %postun -n kernel%{_alt_kernel}-misc-vmmon
320 %depmod %{_kernel_ver}
322 %post -n kernel%{_alt_kernel}-misc-vmnet
323 %depmod %{_kernel_ver}
325 %postun -n kernel%{_alt_kernel}-misc-vmnet
326 %depmod %{_kernel_ver}
328 %post -n kernel%{_alt_kernel}-misc-vsock
329 %depmod %{_kernel_ver}
331 %postun -n kernel%{_alt_kernel}-misc-vsock
332 %depmod %{_kernel_ver}
334 %if %{with userspace}
336 %defattr(644,root,root,755)
340 %files -n kernel%{_alt_kernel}-misc-vmblock
341 %defattr(644,root,root,755)
342 /lib/modules/%{_kernel_ver}/misc/vmblock.ko*
344 %files -n kernel%{_alt_kernel}-misc-vmci
345 %defattr(644,root,root,755)
346 /lib/modules/%{_kernel_ver}/misc/vmci.ko*
348 %files -n kernel%{_alt_kernel}-misc-vmmon
349 %defattr(644,root,root,755)
350 /lib/modules/%{_kernel_ver}/misc/vmmon.ko*
352 %files -n kernel%{_alt_kernel}-misc-vmnet
353 %defattr(644,root,root,755)
354 /lib/modules/%{_kernel_ver}/misc/vmnet.ko*
356 %files -n kernel%{_alt_kernel}-misc-vsock
357 %defattr(644,root,root,755)
358 /lib/modules/%{_kernel_ver}/misc/vsock.ko*