]>
Commit | Line | Data |
---|---|---|
c744b566 | 1 | # Conditional build: |
2 | %bcond_without dist_kernel # without distribution kernel | |
3 | %bcond_without kernel # don't build kernel modules | |
c744b566 | 4 | %bcond_without userspace # don't build userspace utilities |
c744b566 | 5 | %bcond_with internal_libs # internal libs stuff |
6 | %bcond_with verbose # verbose build (V=1) | |
c744b566 | 7 | |
397503c2 ER |
8 | %if %{without kernel} |
9 | %undefine with_dist_kernel | |
10 | %endif | |
c744b566 | 11 | %ifarch %{x8664} |
12 | %undefine with_userspace | |
13 | %endif | |
8793ed7f ER |
14 | |
15 | %define ver 3.0.0 | |
16 | %define buildid 203739 | |
17 | %define rel 0.1 | |
18 | ||
19 | # point to some working url | |
20 | %define download_url %{nil} | |
21 | ||
c744b566 | 22 | Summary: VMware player |
ae690285 | 23 | Summary(pl.UTF-8): VMware player - wirtualna platforma dla stacji roboczej |
c744b566 | 24 | Name: VMware-player |
397503c2 | 25 | Version: %{ver}.%{buildid} |
8793ed7f | 26 | Release: %{rel} |
c744b566 | 27 | License: custom, non-distributable |
28 | Group: Applications/Emulators | |
8793ed7f ER |
29 | # https://www.vmware.com/go/downloadplayer/ |
30 | Source0: %{download_url}VMware-Player-%{ver}-%{buildid}.i386.bundle | |
31 | # NoSource0-md5: 1c273da70347a381dc685b5fdf922e7d | |
6f6022e1 | 32 | NoSource: 0 |
8793ed7f ER |
33 | Source1: %{download_url}VMware-Player-%{ver}-%{buildid}.x86_64.bundle |
34 | # NoSource1-md5: cf8ac6a75e4fd51a8c9c527a594f5ffc | |
6f6022e1 | 35 | NoSource: 1 |
8793ed7f | 36 | Patch0: installer.patch |
c744b566 | 37 | URL: http://www.vmware.com/ |
7116706d | 38 | %{?with_dist_kernel:BuildRequires: kernel%{_alt_kernel}-module-build >= 3:2.6.7} |
c744b566 | 39 | BuildRequires: rpmbuild(macros) >= 1.268 |
40 | BuildRequires: sed >= 4.0 | |
c744b566 | 41 | Requires: libgnomecanvasmm |
42 | Requires: libview >= 0.5.5-2 | |
4b4af15f | 43 | Requires: openssl >= 0.9.7 |
c744b566 | 44 | ExclusiveArch: %{ix86} %{x8664} |
45 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) | |
46 | ||
47 | %define _noautoprovfiles %{_libdir}/vmware/lib/.*\.so.* | |
48 | ||
49 | %description | |
50 | VMware Player Virtual Platform is a thin software layer that allows | |
51 | multiple guest operating systems to run concurrently on a single | |
52 | standard PC, without repartitioning or rebooting, and without | |
53 | significant loss of performance. | |
54 | ||
8cef0267 | 55 | %description -l pl.UTF-8 |
c744b566 | 56 | VMware Player Virtual Platform to cienka warstwa oprogramowania |
8cef0267 JR |
57 | pozwalająca na jednoczesne działanie wielu gościnnych systemów |
58 | operacyjnych na jednym zwykłym PC, bez repartycjonowania ani | |
59 | rebootowania, bez znacznej utraty wydajności. | |
c744b566 | 60 | |
61 | %package debug | |
62 | Summary: VMware debug utility | |
ae690285 | 63 | Summary(pl.UTF-8): Narzędzie VMware do odpluskwiania |
c744b566 | 64 | Group: Applications/Emulators |
65 | Requires: %{name} = %{version}-%{release} | |
66 | ||
67 | %description debug | |
68 | VMware debug utility. | |
69 | ||
8cef0267 JR |
70 | %description debug -l pl.UTF-8 |
71 | Narzędzie VMware do odpluskwiania. | |
c744b566 | 72 | |
73 | %package help | |
74 | Summary: VMware Player help files | |
ae690285 | 75 | Summary(pl.UTF-8): Pliki pomocy dla VMware Player |
c744b566 | 76 | Group: Applications/Emulators |
77 | Requires: %{name} = %{version}-%{release} | |
c744b566 | 78 | |
79 | %description help | |
80 | VMware Player help files. | |
81 | ||
8cef0267 | 82 | %description help -l pl.UTF-8 |
c744b566 | 83 | Pliki pomocy dla VMware Player. |
84 | ||
85 | %package networking | |
86 | Summary: VMware networking utilities | |
ae690285 | 87 | Summary(pl.UTF-8): Narzędzia VMware do obsługi sieci |
c744b566 | 88 | Group: Applications/Emulators |
89 | Requires(post,preun): /sbin/chkconfig | |
90 | Requires: %{name} = %{version}-%{release} | |
c744b566 | 91 | Requires: rc-scripts |
92 | Obsoletes: VMware-Player-samba | |
93 | ||
94 | %description networking | |
95 | VMware networking utilities. | |
96 | ||
8cef0267 JR |
97 | %description networking -l pl.UTF-8 |
98 | Narzędzia VMware do obsługi sieci. | |
c744b566 | 99 | |
8793ed7f ER |
100 | %package -n kernel%{_alt_kernel}-misc-vmci |
101 | Summary: VMware Virtual Machine Communication Interface (VMCI) | |
102 | Summary(pl.UTF-8): VMCI (Virtual Machine Communication Interface) - interfejs komunikacyjny VMware | |
103 | Release: %{rel}@%{_kernel_ver_str} | |
104 | Group: Base/Kernel | |
105 | Requires(post,postun): /sbin/depmod | |
106 | Requires: dev >= 2.9.0-7 | |
107 | %if %{with dist_kernel} | |
108 | %requires_releq_kernel | |
109 | Requires(postun): %releq_kernel | |
110 | %endif | |
111 | ||
112 | %description -n kernel%{_alt_kernel}-misc-vmci | |
113 | Linux kernel module acting as VMware Virtual Machine Communication | |
114 | Interface (VMCI). | |
115 | ||
116 | %description -n kernel%{_alt_kernel}-misc-vmci -l pl.UTF-8 | |
117 | Moduł jądra Linuksa będący interfejsem komunikacyjnym VMware (VMCI - | |
118 | Virtual Machine Communication Interface). | |
119 | ||
120 | %package -n kernel%{_alt_kernel}-misc-vmblock | |
121 | Summary: Kernel module for VMware Player | |
122 | Summary(pl.UTF-8): Moduł jądra dla VMware Player | |
123 | Release: %{rel}@%{_kernel_ver_str} | |
124 | Group: Base/Kernel | |
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 | |
130 | %endif | |
131 | ||
132 | %description -n kernel%{_alt_kernel}-misc-vmblock | |
133 | Kernel modules for VMware Player - vmblock. | |
134 | ||
135 | %description -n kernel%{_alt_kernel}-misc-vmblock -l pl.UTF-8 | |
136 | Moduły jądra dla VMware Player - vmblock. | |
137 | ||
7eb646b8 | 138 | %package -n kernel%{_alt_kernel}-misc-vmmon |
c744b566 | 139 | Summary: Kernel module for VMware Player |
ae690285 | 140 | Summary(pl.UTF-8): Moduł jądra dla VMware Player |
8793ed7f | 141 | Release: %{rel}@%{_kernel_ver_str} |
c744b566 | 142 | Group: Base/Kernel |
143 | Requires(post,postun): /sbin/depmod | |
144 | Requires: dev >= 2.9.0-7 | |
145 | %if %{with dist_kernel} | |
a0a85295 | 146 | %requires_releq_kernel |
147 | Requires(postun): %releq_kernel | |
c744b566 | 148 | %endif |
c744b566 | 149 | |
7eb646b8 | 150 | %description -n kernel%{_alt_kernel}-misc-vmmon |
c744b566 | 151 | Kernel modules for VMware Player - vmmon. |
152 | ||
8cef0267 JR |
153 | %description -n kernel%{_alt_kernel}-misc-vmmon -l pl.UTF-8 |
154 | Moduły jądra dla VMware Player - vmmon. | |
c744b566 | 155 | |
7eb646b8 | 156 | %package -n kernel%{_alt_kernel}-misc-vmnet |
c744b566 | 157 | Summary: Kernel module for VMware Player |
ae690285 | 158 | Summary(pl.UTF-8): Moduł jądra dla VMware Player |
8793ed7f | 159 | Release: %{rel}@%{_kernel_ver_str} |
c744b566 | 160 | Group: Base/Kernel |
161 | Requires(post,postun): /sbin/depmod | |
162 | Requires: dev >= 2.9.0-7 | |
163 | %if %{with dist_kernel} | |
a0a85295 | 164 | %requires_releq_kernel |
165 | Requires(postun): %releq_kernel | |
c744b566 | 166 | %endif |
c744b566 | 167 | |
7eb646b8 | 168 | %description -n kernel%{_alt_kernel}-misc-vmnet |
c744b566 | 169 | Kernel modules for VMware Player - vmnet. |
170 | ||
8cef0267 JR |
171 | %description -n kernel%{_alt_kernel}-misc-vmnet -l pl.UTF-8 |
172 | Moduły jądra dla VMware Player - vmnet. | |
c744b566 | 173 | |
8793ed7f ER |
174 | %package -n kernel%{_alt_kernel}-misc-vsock |
175 | Summary: VMware Virtual Socket Family support | |
176 | Summary(pl.UTF-8): Obsługa Virtual Socket Family - rodziny gniazd wirtualnych VMware | |
177 | Release: %{rel}@%{_kernel_ver_str} | |
178 | Group: Base/Kernel | |
179 | Requires(post,postun): /sbin/depmod | |
180 | Requires: dev >= 2.9.0-7 | |
181 | %if %{with dist_kernel} | |
182 | %requires_releq_kernel | |
183 | Requires(postun): %releq_kernel | |
184 | %endif | |
185 | Requires: kernel%{_alt_kernel}-misc-vmci = %{version}-%{rel}@%{_kernel_ver_str} | |
1fabf0b8 | 186 | |
8793ed7f ER |
187 | %description -n kernel%{_alt_kernel}-misc-vsock |
188 | Linux kernel module supporting VMware Virtual Socket Family. | |
1fabf0b8 | 189 | |
8793ed7f ER |
190 | %description -n kernel%{_alt_kernel}-misc-vsock -l pl.UTF-8 |
191 | Moduł jądra Linuksa obsługujący rodzinę gniazd wirtualnych VMware | |
192 | (Virtual Socket Family). | |
1fabf0b8 | 193 | |
8793ed7f ER |
194 | %prep |
195 | %setup -qcT | |
196 | %ifarch %{ix86} | |
197 | export SOURCE=%{SOURCE0} | |
198 | %endif | |
199 | %ifarch %{x8664} | |
200 | export SOURCE=%{SOURCE1} | |
201 | %endif | |
c744b566 | 202 | |
8793ed7f ER |
203 | # extract installer shell blob |
204 | %{__sed} -ne '1,/^exit/{s,$0,$SOURCE,;p}' $SOURCE > install.sh | |
205 | %{__sed} -i -e "2iSOURCE=$SOURCE" install.sh | |
397503c2 | 206 | %patch0 -p1 |
8793ed7f ER |
207 | chmod a+x install.sh |
208 | ||
209 | ./install.sh --extract bundles | |
210 | ||
211 | cd bundles/vmware-player-app/lib/modules | |
212 | %{__tar} xf source/vmblock.tar | |
213 | %{__tar} xf source/vmci.tar | |
214 | %{__tar} xf source/vmmon.tar | |
215 | %{__tar} xf source/vmnet.tar | |
216 | %{__tar} xf source/vsock.tar | |
217 | mv vmmon-only/linux/driver.c{,.dist} | |
218 | mv vmnet-only/hub.c{,.dist} | |
219 | mv vmnet-only/driver.c{,.dist} | |
220 | rm -rf binary # unusable | |
221 | cd - | |
397503c2 | 222 | |
8793ed7f ER |
223 | find '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f |
224 | ||
225 | %if 0 | |
226 | # build our local install.sh | |
227 | # grab offsets | |
228 | %{__sed} -ne "/^### Offsets ###/,/^### End offsets/{s,\$0,\$SOURCE,;p}" blob.sh > install.sh | |
229 | # grab product name | |
230 | %{__grep} ^PRODUCT_NAME= blob.sh >> install.sh | |
231 | # install set_lengths function | |
232 | %{__sed} -ne "/^set_lengths/,/^}/p" blob.sh >> install.sh | |
233 | cat <<'EOF' >> install.sh | |
234 | set_lengths $SOURCE | |
235 | dd if="$SOURCE" ibs=$LAUNCHER_SIZE obs=1024 skip=1 | tar xz | |
236 | dd if="$SOURCE" ibs=$SKIP_BYTES obs=1024 skip=1 | tar xz | |
237 | EOF | |
238 | sh -x install.sh | |
397503c2 | 239 | |
8793ed7f ER |
240 | sed -e "s,@@VMWARE_INSTALLER@,$(PWD)/install," install/vmware-installer/bootstrap > install/bootstrap |
241 | . install/bootstrap | |
242 | %endif | |
397503c2 | 243 | |
c744b566 | 244 | %build |
8793ed7f ER |
245 | %if %{with kernel} |
246 | cd bundles/vmware-player-app/lib/modules | |
247 | ||
248 | %build_kernel_modules -C vmblock-only -m vmblock SRCROOT=$PWD VM_KBUILD=26 VM_CCVER=%{cc_version} | |
249 | %build_kernel_modules -C vmci-only -m vmci SRCROOT=$PWD VM_KBUILD=26 VM_CCVER=%{cc_version} | |
250 | %build_kernel_modules -C vmmon-only -m vmmon SRCROOT=$PWD VM_KBUILD=26 VM_CCVER=%{cc_version} <<'EOF' | |
251 | if grep -q "^CONFIG_PREEMPT_RT=y$" o/.config; then | |
252 | sed -e '/pollQueueLock/s/SPIN_LOCK_UNLOCKED/SPIN_LOCK_UNLOCKED(pollQueueLock)/' \ | |
253 | -e '/timerLock/s/SPIN_LOCK_UNLOCKED/SPIN_LOCK_UNLOCKED(timerLock)/' \ | |
254 | linux/driver.c.dist > linux/driver.c | |
255 | else | |
256 | cat linux/driver.c.dist > linux/driver.c | |
257 | fi | |
258 | EOF | |
c744b566 | 259 | |
8793ed7f ER |
260 | %build_kernel_modules -C vmnet-only -m vmnet SRCROOT=$PWD VM_KBUILD=26 VM_CCVER=%{cc_version} <<'EOF' |
261 | if grep -q "^CONFIG_PREEMPT_RT=y$" o/.config; then | |
262 | sed -e 's/SPIN_LOCK_UNLOCKED/SPIN_LOCK_UNLOCKED(vnetHubLock)/' \ | |
263 | hub.c.dist > hub.c | |
264 | sed -e 's/RW_LOCK_UNLOCKED/RW_LOCK_UNLOCKED(vnetPeerLock)/' \ | |
265 | driver.c.dist > driver.c | |
266 | else | |
267 | cat hub.c.dist > hub.c | |
268 | cat driver.c.dist > driver.c | |
269 | fi | |
270 | EOF | |
c744b566 | 271 | |
8793ed7f ER |
272 | cp -a vmci-only/Module.symvers vsock-only |
273 | %build_kernel_modules -C vsock-only -m vsock SRCROOT=$PWD VM_KBUILD=26 VM_CCVER=%{cc_version} -c | |
c744b566 | 274 | %endif |
275 | ||
276 | %install | |
277 | rm -rf $RPM_BUILD_ROOT | |
c744b566 | 278 | %if %{with kernel} |
8793ed7f ER |
279 | %install_kernel_modules -m bundles/vmware-player-app/lib/modules/vmblock-only/vmblock -d misc |
280 | %install_kernel_modules -m bundles/vmware-player-app/lib/modules/vmci-only/vmci -d misc | |
281 | %install_kernel_modules -m bundles/vmware-player-app/lib/modules/vmmon-only/vmmon -d misc | |
282 | %install_kernel_modules -m bundles/vmware-player-app/lib/modules/vmnet-only/vmnet -d misc | |
283 | %install_kernel_modules -m bundles/vmware-player-app/lib/modules/vsock-only/vsock -d misc | |
c744b566 | 284 | %endif |
285 | ||
286 | %clean | |
287 | rm -rf $RPM_BUILD_ROOT | |
288 | ||
8793ed7f ER |
289 | %post -n kernel%{_alt_kernel}-misc-vmblock |
290 | %depmod %{_kernel_ver} | |
397503c2 | 291 | |
8793ed7f ER |
292 | %postun -n kernel%{_alt_kernel}-misc-vmblock |
293 | %depmod %{_kernel_ver} | |
b9c0b061 | 294 | |
8793ed7f ER |
295 | %post -n kernel%{_alt_kernel}-misc-vmci |
296 | %depmod %{_kernel_ver} | |
c744b566 | 297 | |
8793ed7f ER |
298 | %postun -n kernel%{_alt_kernel}-misc-vmci |
299 | %depmod %{_kernel_ver} | |
c744b566 | 300 | |
7eb646b8 | 301 | %post -n kernel%{_alt_kernel}-misc-vmmon |
c744b566 | 302 | %depmod %{_kernel_ver} |
303 | ||
7eb646b8 | 304 | %postun -n kernel%{_alt_kernel}-misc-vmmon |
c744b566 | 305 | %depmod %{_kernel_ver} |
306 | ||
7eb646b8 | 307 | %post -n kernel%{_alt_kernel}-misc-vmnet |
c744b566 | 308 | %depmod %{_kernel_ver} |
309 | ||
7eb646b8 | 310 | %postun -n kernel%{_alt_kernel}-misc-vmnet |
c744b566 | 311 | %depmod %{_kernel_ver} |
312 | ||
8793ed7f ER |
313 | %post -n kernel%{_alt_kernel}-misc-vsock |
314 | %depmod %{_kernel_ver} | |
c744b566 | 315 | |
8793ed7f ER |
316 | %postun -n kernel%{_alt_kernel}-misc-vsock |
317 | %depmod %{_kernel_ver} | |
c744b566 | 318 | |
8793ed7f ER |
319 | %if %{with kernel} |
320 | %files -n kernel%{_alt_kernel}-misc-vmblock | |
c744b566 | 321 | %defattr(644,root,root,755) |
8793ed7f | 322 | /lib/modules/%{_kernel_ver}/misc/vmblock.ko* |
c744b566 | 323 | |
8793ed7f ER |
324 | %files -n kernel%{_alt_kernel}-misc-vmci |
325 | %defattr(644,root,root,755) | |
326 | /lib/modules/%{_kernel_ver}/misc/vmci.ko* | |
c744b566 | 327 | |
7eb646b8 | 328 | %files -n kernel%{_alt_kernel}-misc-vmmon |
c744b566 | 329 | %defattr(644,root,root,755) |
330 | /lib/modules/%{_kernel_ver}/misc/vmmon.ko* | |
331 | ||
7eb646b8 | 332 | %files -n kernel%{_alt_kernel}-misc-vmnet |
c744b566 | 333 | %defattr(644,root,root,755) |
334 | /lib/modules/%{_kernel_ver}/misc/vmnet.ko* | |
335 | ||
8793ed7f ER |
336 | %files -n kernel%{_alt_kernel}-misc-vsock |
337 | %defattr(644,root,root,755) | |
338 | /lib/modules/%{_kernel_ver}/misc/vsock.ko* | |
c744b566 | 339 | %endif |