4 # - more files (subpackages?): vmware-authd, vmware-vmci, vmware-vix
7 %bcond_without dist_kernel # without distribution kernel
8 %bcond_without kernel # don't build kernel modules
9 %bcond_without userspace # don't build userspace utilities
10 %bcond_with internal_libs # internal libs stuff
11 %bcond_with verbose # verbose build (V=1)
15 %undefine with_userspace
19 %undefine with_dist_kernel
26 %define _ccver %(rpm -q --qf "%{VERSION}" gcc)
28 Summary: VMware Workstation
29 Summary(pl.UTF-8): VMware Workstation - wirtualna platforma dla stacji roboczej
30 Name: VMware-workstation
31 Version: %{_ver}.%{_build}
33 License: custom, non-distributable
34 Group: Applications/Emulators
35 Source0: http://download3.vmware.com/software/wkst/%{name}-%{_ver}-%{_build}.i386.tar.gz
36 # NoSource0-md5: a0a8e1d8188f4be03357872a57a767ab
37 Source1: http://knihovny.cvut.cz/ftp/pub/vmware/vmware-any-any-update%{_urel}.tar.gz
38 # Source1-md5: ab33ff7a799fee77f0f4ba5667cd4b9a
40 Source3: %{name}-vmnet.conf
41 Source4: %{name}.desktop
42 Source5: %{name}-nat.conf
43 Source6: %{name}-dhcpd.conf
44 Patch0: %{name}-vmmon.patch
45 Patch1: %{name}-vmblock.patch
46 Patch2: %{name}-run_script.patch
48 URL: http://www.vmware.com/
49 # http://securitytracker.com/alerts/2008/Oct/1020991.html
50 BuildRequires: security(VMSA-2008-0016)
51 %{?with_kernel:BuildRequires: gcc-c++}
52 %{?with_dist_kernel:BuildRequires: kernel%{_alt_kernel}-module-build >= 3:2.6.7}
53 %{?with_userspace:BuildRequires: rpm-perlprov}
54 BuildRequires: rpmbuild(macros) >= 1.332
55 BuildRequires: sed >= 4.0
56 Requires: libgnomecanvasmm
57 Requires: libview >= 0.5.5-2
58 Obsoletes: VMware-workstation-samba
59 ExclusiveArch: %{ix86} %{x8664}
60 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
62 %define _noautoprovfiles %{_libdir}/vmware/lib/.*\.so.*
65 VMware Workstation Virtual Platform is a thin software layer that
66 allows multiple guest operating systems to run concurrently on a
67 single standard PC, without repartitioning or rebooting, and without
68 significant loss of performance.
70 %description -l pl.UTF-8
71 VMware Workstation Virtual Platform to cienka warstwa oprogramowania
72 pozwalająca na jednoczesne działanie wielu gościnnych systemów
73 operacyjnych na jednym zwykłym PC, bez repartycjonowania ani
74 rebootowania, bez znacznej utraty wydajności.
77 Summary: VMware debug utility
78 Summary(pl.UTF-8): Narzędzie VMware do odpluskwiania
79 Group: Applications/Emulators
80 Requires: %{name} = %{version}-%{release}
85 %description debug -l pl.UTF-8
86 Narzędzie VMware do odpluskwiania.
89 Summary: VMware Workstation help files
90 Summary(pl.UTF-8): Pliki pomocy dla VMware Workstation
91 Group: Applications/Emulators
92 Requires: %{name} = %{version}-%{release}
96 VMware Workstation help files.
98 %description help -l pl.UTF-8
99 Pliki pomocy dla VMware Workstation.
102 Summary: VMware networking utilities
103 Summary(pl.UTF-8): Narzędzia VMware do obsługi sieci
104 Group: Applications/Emulators
105 Requires(post,preun): /sbin/chkconfig
106 Requires: %{name} = %{version}-%{release}
108 Obsoletes: VMware-workstation-samba
110 %description networking
111 VMware networking utilities.
113 %description networking -l pl.UTF-8
114 Narzędzia VMware do obsługi sieci.
116 %package -n kernel%{_alt_kernel}-misc-vmblock
117 Summary: Kernel module for VMware Workstation
118 Summary(pl.UTF-8): Moduł jądra dla VMware Workstation
119 Release: %{_rel}@%{_kernel_ver_str}
121 Requires(post,postun): /sbin/depmod
122 Requires: dev >= 2.9.0-7
123 %if %{with dist_kernel}
124 %requires_releq_kernel
125 Requires(postun): %releq_kernel
127 Provides: kernel(vmblock) = %{version}-%{_rel}
129 %description -n kernel%{_alt_kernel}-misc-vmblock
130 Kernel module for VMware Workstation - vmblock.
132 %description -n kernel%{_alt_kernel}-misc-vmblock -l pl.UTF-8
133 Moduł jądra dla VMware Workstation - vmblock.
135 %package -n kernel%{_alt_kernel}-misc-vmmon
136 Summary: Kernel module for VMware Workstation
137 Summary(pl.UTF-8): Moduł jądra dla VMware Workstation
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
146 Provides: kernel(vmmon) = %{version}-%{_rel}
148 %description -n kernel%{_alt_kernel}-misc-vmmon
149 Kernel module for VMware Workstation - vmmon.
151 %description -n kernel%{_alt_kernel}-misc-vmmon -l pl.UTF-8
152 Moduł jądra dla VMware Workstation - vmmon.
154 %package -n kernel%{_alt_kernel}-misc-vmnet
155 Summary: Kernel module for VMware Workstation
156 Summary(pl.UTF-8): Moduł jądra dla VMware Workstation
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
165 Provides: kernel(vmnet) = %{version}-%{_rel}
167 %description -n kernel%{_alt_kernel}-misc-vmnet
168 Kernel module for VMware Workstation - vmnet.
170 %description -n kernel%{_alt_kernel}-misc-vmnet -l pl.UTF-8
171 Moduł jądra dla VMware Workstation - vmnet.
174 %setup -q -n vmware-distrib -a1
175 #%setup -qDT -n vmware-distrib -a1
176 #mkdir vmware-any-any-update%{_urel}
177 cd vmware-any-any-update%{_urel}
181 #tar xf ../lib/modules/source/vmmon.tar
182 #tar xf ../lib/modules/source/vmnet.tar
189 sed -i 's:vm_db_answer_LIBDIR:VM_LIBDIR:g;s:vm_db_answer_BINDIR:VM_BINDIR:g' bin/vmware
191 cd vmware-any-any-update%{_urel}
192 chmod u+w ../lib/bin/vmware-vmx ../lib/bin-debug/vmware-vmx ../bin/vmnet-bridge
196 %{__cc} %{rpmldflags} %{rpmcflags} -o update update.c
197 ./update vmx ../lib/bin/vmware-vmx
198 ./update vmxdebug ../lib/bin-debug/vmware-vmx
199 ./update bridge ../bin/vmnet-bridge
206 %define ModuleBuildArgs VMWARE_VER=VME_V6 SRCROOT=$PWD VM_KBUILD=26 VM_CCVER=%{_ccver}
208 %build_kernel_modules -c -C vmblock-only -m vmblock %{ModuleBuildArgs} <<'EOF'
211 %build_kernel_modules -c -C vmmon-only -m vmmon %{ModuleBuildArgs} <<'EOF'
214 %build_kernel_modules -c -C vmnet-only -m vmnet %{ModuleBuildArgs} <<'EOF'
220 rm -rf $RPM_BUILD_ROOT
222 %if %{with userspace}
224 $RPM_BUILD_ROOT%{_sysconfdir}/vmware \
225 $RPM_BUILD_ROOT%{_sysconfdir}/vmware/vmnet8/{nat,dhcpd} \
226 $RPM_BUILD_ROOT%{_bindir} \
227 $RPM_BUILD_ROOT%{_libdir}/vmware/{bin,share/{icons,pixmaps}} \
228 $RPM_BUILD_ROOT%{_mandir} \
229 $RPM_BUILD_ROOT%{_pixmapsdir} \
230 $RPM_BUILD_ROOT%{_desktopdir} \
231 $RPM_BUILD_ROOT/etc/rc.d/init.d \
232 $RPM_BUILD_ROOT/var/run/vmware
236 install -d $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}/misc
238 cd vmware-any-any-update%{_urel}
240 %install_kernel_modules -m vmblock-only/vmblock,vmmon-only/vmmon,vmnet-only/vmnet -d misc
245 %if %{with userspace}
246 install %{SOURCE2} $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%{_desktopdir}
249 install %{SOURCE5} $RPM_BUILD_ROOT%{_sysconfdir}/vmware/vmnet8/nat/nat.conf
250 install %{SOURCE6} $RPM_BUILD_ROOT%{_sysconfdir}/vmware/vmnet8/dhcpd/dhcpd.conf
252 touch $RPM_BUILD_ROOT%{_sysconfdir}/vmware/vmnet8/dhcpd/dhcpd.leases
253 touch $RPM_BUILD_ROOT%{_sysconfdir}/vmware/vmnet8/dhcpd/dhcpd.leases~
255 install lib/share/pixmaps/* $RPM_BUILD_ROOT%{_libdir}/vmware/share/pixmaps
256 install lib/share/icons/hicolor/48x48/apps/vmware-workstation.png $RPM_BUILD_ROOT%{_pixmapsdir}/%{name}.png
257 # required for starting vmware
258 install doc/EULA $RPM_BUILD_ROOT%{_libdir}/vmware/share/EULA.txt
260 install bin/*-* $RPM_BUILD_ROOT%{_bindir}
261 install lib/bin/vmware-vmx $RPM_BUILD_ROOT%{_libdir}/vmware/bin
263 install lib/lib/libvmwarebase.so.0/libvmwarebase.so.0 $RPM_BUILD_ROOT%{_libdir}
264 install lib/lib/libvmwareui.so.0/libvmwareui.so.0 $RPM_BUILD_ROOT%{_libdir}
266 cp -r lib/{bin-debug,config,floppies,help*,isoimages,licenses,messages,xkeymap} \
267 $RPM_BUILD_ROOT%{_libdir}/vmware
269 cp -r lib/share/icons/* $RPM_BUILD_ROOT%{_libdir}/vmware/share/icons
270 cp -r man/* $RPM_BUILD_ROOT%{_mandir}
271 gunzip $RPM_BUILD_ROOT%{_mandir}/man?/*.gz
273 cat > $RPM_BUILD_ROOT%{_sysconfdir}/vmware/locations <<EOF
275 VM_LIBDIR=%{_libdir}/vmware
278 %if %{with internal_libs}
279 install bin/vmware $RPM_BUILD_ROOT%{_bindir}
280 install lib/bin/vmware $RPM_BUILD_ROOT%{_libdir}/vmware/bin
281 install lib/bin/vmware-tray $RPM_BUILD_ROOT%{_libdir}/vmware/bin
282 cp -r lib/lib $RPM_BUILD_ROOT%{_libdir}/vmware
283 cp -r lib/libconf $RPM_BUILD_ROOT%{_libdir}/vmware
285 install lib/bin/vmware $RPM_BUILD_ROOT%{_bindir}
286 install lib/bin/vmware-tray $RPM_BUILD_ROOT%{_bindir}
291 rm -rf $RPM_BUILD_ROOT
294 /sbin/chkconfig --add vmnet
295 %service vmnet restart "VMware networking service"
298 if [ "$1" = "0" ]; then
300 /sbin/chkconfig --del vmnet
303 %post -n kernel%{_alt_kernel}-misc-vmblock
304 %depmod %{_kernel_ver}
306 %postun -n kernel%{_alt_kernel}-misc-vmblock
307 %depmod %{_kernel_ver}
309 %post -n kernel%{_alt_kernel}-misc-vmmon
310 %depmod %{_kernel_ver}
312 %postun -n kernel%{_alt_kernel}-misc-vmmon
313 %depmod %{_kernel_ver}
315 %post -n kernel%{_alt_kernel}-misc-vmnet
316 %depmod %{_kernel_ver}
318 %postun -n kernel%{_alt_kernel}-misc-vmnet
319 %depmod %{_kernel_ver}
321 %if %{with userspace}
323 %defattr(644,root,root,755)
324 %doc doc/* lib/configurator/vmnet-{dhcpd,nat}.conf
325 %dir %{_sysconfdir}/vmware
326 %{_sysconfdir}/vmware/locations
327 %attr(755,root,root) %{_bindir}/vmware
328 %attr(755,root,root) %{_bindir}/vmware-loop
329 %attr(755,root,root) %{_bindir}/vmware-mount.pl
330 %attr(755,root,root) %{_bindir}/vmware-tray
331 %attr(755,root,root) %{_bindir}/vmware-vdiskmanager
332 %attr(755,root,root) %{_libdir}/libvmwarebase.so.*
333 %attr(755,root,root) %{_libdir}/libvmwareui.so.*
335 %dir %{_libdir}/vmware
336 %dir %{_libdir}/vmware/bin
338 %attr(4755,root,root) %{_libdir}/vmware/bin/vmware-vmx
339 %{_libdir}/vmware/config
340 %{_libdir}/vmware/floppies
341 %{_libdir}/vmware/isoimages
342 %if %{with internal_libs}
343 %attr(755,root,root) %{_libdir}/vmware/bin/vmware
344 %dir %{_libdir}/vmware/lib
345 %{_libdir}/vmware/lib/lib*
346 %attr(755,root,root) %{_libdir}/vmware/lib/wrapper-gtk24.sh
348 %{_libdir}/vmware/licenses
349 %dir %{_libdir}/vmware/messages
350 %{_libdir}/vmware/messages/en
351 %lang(ja) %{_libdir}/vmware/messages/ja
352 %{_libdir}/vmware/share
353 %{_libdir}/vmware/xkeymap
355 %attr(1777,root,root) %dir /var/run/vmware
357 %{_desktopdir}/%{name}.desktop
360 %defattr(644,root,root,755)
361 %dir %{_libdir}/vmware/bin-debug
363 %attr(4755,root,root) %{_libdir}/vmware/bin-debug/vmware-vmx
366 %defattr(644,root,root,755)
367 %{_libdir}/vmware/help*
370 %defattr(644,root,root,755)
371 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vmware/vmnet.conf
372 %attr(754,root,root) /etc/rc.d/init.d/vmnet
373 %attr(755,root,root) %{_bindir}/vmnet-bridge
374 %attr(755,root,root) %{_bindir}/vmnet-detect
375 %attr(755,root,root) %{_bindir}/vmnet-dhcpd
376 %attr(755,root,root) %{_bindir}/vmnet-natd
377 %attr(755,root,root) %{_bindir}/vmnet-netifup
378 %attr(755,root,root) %{_bindir}/vmnet-sniffer
379 %attr(755,root,root) %{_bindir}/vmware-ping
380 %dir %{_sysconfdir}/vmware/vmnet8
381 %dir %{_sysconfdir}/vmware/vmnet8/dhcpd
382 %dir %{_sysconfdir}/vmware/vmnet8/nat
383 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vmware/vmnet8/dhcpd/dhcpd.conf
384 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vmware/vmnet8/nat/nat.conf
385 %verify(not md5 mtime size) %{_sysconfdir}/vmware/vmnet8/dhcpd/dhcpd.leases*
388 %if %{with kernel} || %{with dist_kernel}
389 %files -n kernel%{_alt_kernel}-misc-vmblock
390 %defattr(644,root,root,755)
391 /lib/modules/%{_kernel_ver}/misc/vmblock.ko*
393 %if %{with kernel} || %{with dist_kernel}
394 %files -n kernel%{_alt_kernel}-misc-vmmon
395 %defattr(644,root,root,755)
396 /lib/modules/%{_kernel_ver}/misc/vmmon.ko*
398 %files -n kernel%{_alt_kernel}-misc-vmnet
399 %defattr(644,root,root,755)
400 /lib/modules/%{_kernel_ver}/misc/vmnet.ko*