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)
13 %include /usr/lib/rpm/macros.perl
16 %undefine with_userspace
20 %undefine with_dist_kernel
27 %define _ccver %(rpm -q --qf "%{VERSION}" gcc)
29 Summary: VMware Workstation
30 Summary(pl.UTF-8): VMware Workstation - wirtualna platforma dla stacji roboczej
31 Name: VMware-workstation
32 Version: %{_ver}.%{_build}
34 License: custom, non-distributable
35 Group: Applications/Emulators
36 Source0: http://download3.vmware.com/software/wkst/%{name}-%{_ver}-%{_build}.i386.tar.gz
37 # NoSource0-md5: a0a8e1d8188f4be03357872a57a767ab
38 Source1: http://knihovny.cvut.cz/ftp/pub/vmware/vmware-any-any-update%{_urel}.tar.gz
39 # Source1-md5: ab33ff7a799fee77f0f4ba5667cd4b9a
41 Source3: %{name}-vmnet.conf
42 Source4: %{name}.desktop
43 Source5: %{name}-nat.conf
44 Source6: %{name}-dhcpd.conf
45 Patch0: %{name}-vmmon.patch
46 Patch1: %{name}-vmblock.patch
47 Patch2: %{name}-run_script.patch
49 URL: http://www.vmware.com/
50 %{?with_kernel:BuildRequires: gcc-c++}
51 %{?with_dist_kernel:BuildRequires: kernel%{_alt_kernel}-module-build >= 3:2.6.7}
52 %{?with_userspace:BuildRequires: rpm-perlprov}
53 BuildRequires: rpmbuild(macros) >= 1.332
54 BuildRequires: sed >= 4.0
55 Requires: libgnomecanvasmm
56 Requires: libview >= 0.5.5-2
57 Obsoletes: VMware-workstation-samba
58 ExclusiveArch: %{ix86} %{x8664}
59 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
61 %define _noautoprovfiles %{_libdir}/vmware/lib/.*\.so.*
64 VMware Workstation Virtual Platform is a thin software layer that
65 allows multiple guest operating systems to run concurrently on a
66 single standard PC, without repartitioning or rebooting, and without
67 significant loss of performance.
69 %description -l pl.UTF-8
70 VMware Workstation Virtual Platform to cienka warstwa oprogramowania
71 pozwalająca na jednoczesne działanie wielu gościnnych systemów
72 operacyjnych na jednym zwykłym PC, bez repartycjonowania ani
73 rebootowania, bez znacznej utraty wydajności.
76 Summary: VMware debug utility
77 Summary(pl.UTF-8): Narzędzie VMware do odpluskwiania
78 Group: Applications/Emulators
79 Requires: %{name} = %{version}-%{release}
84 %description debug -l pl.UTF-8
85 Narzędzie VMware do odpluskwiania.
88 Summary: VMware Workstation help files
89 Summary(pl.UTF-8): Pliki pomocy dla VMware Workstation
90 Group: Applications/Emulators
91 Requires: %{name} = %{version}-%{release}
95 VMware Workstation help files.
97 %description help -l pl.UTF-8
98 Pliki pomocy dla VMware Workstation.
101 Summary: VMware networking utilities
102 Summary(pl.UTF-8): Narzędzia VMware do obsługi sieci
103 Group: Applications/Emulators
104 Requires(post,preun): /sbin/chkconfig
105 Requires: %{name} = %{version}-%{release}
107 Obsoletes: VMware-workstation-samba
109 %description networking
110 VMware networking utilities.
112 %description networking -l pl.UTF-8
113 Narzędzia VMware do obsługi sieci.
115 %package -n kernel%{_alt_kernel}-misc-vmblock
116 Summary: Kernel module for VMware Workstation
117 Summary(pl.UTF-8): Moduł jądra dla VMware Workstation
118 Release: %{_rel}@%{_kernel_ver_str}
120 Requires(post,postun): /sbin/depmod
121 Requires: dev >= 2.9.0-7
122 %if %{with dist_kernel}
123 %requires_releq_kernel
124 Requires(postun): %releq_kernel
126 Provides: kernel(vmblock) = %{version}-%{_rel}
128 %description -n kernel%{_alt_kernel}-misc-vmblock
129 Kernel module for VMware Workstation - vmblock.
131 %description -n kernel%{_alt_kernel}-misc-vmblock -l pl.UTF-8
132 Moduł jądra dla VMware Workstation - vmblock.
134 %package -n kernel%{_alt_kernel}-misc-vmmon
135 Summary: Kernel module for VMware Workstation
136 Summary(pl.UTF-8): Moduł jądra dla VMware Workstation
137 Release: %{_rel}@%{_kernel_ver_str}
139 Requires(post,postun): /sbin/depmod
140 Requires: dev >= 2.9.0-7
141 %if %{with dist_kernel}
142 %requires_releq_kernel
143 Requires(postun): %releq_kernel
145 Provides: kernel(vmmon) = %{version}-%{_rel}
147 %description -n kernel%{_alt_kernel}-misc-vmmon
148 Kernel module for VMware Workstation - vmmon.
150 %description -n kernel%{_alt_kernel}-misc-vmmon -l pl.UTF-8
151 Moduł jądra dla VMware Workstation - vmmon.
153 %package -n kernel%{_alt_kernel}-misc-vmnet
154 Summary: Kernel module for VMware Workstation
155 Summary(pl.UTF-8): Moduł jądra dla VMware Workstation
156 Release: %{_rel}@%{_kernel_ver_str}
158 Requires(post,postun): /sbin/depmod
159 Requires: dev >= 2.9.0-7
160 %if %{with dist_kernel}
161 %requires_releq_kernel
162 Requires(postun): %releq_kernel
164 Provides: kernel(vmnet) = %{version}-%{_rel}
166 %description -n kernel%{_alt_kernel}-misc-vmnet
167 Kernel module for VMware Workstation - vmnet.
169 %description -n kernel%{_alt_kernel}-misc-vmnet -l pl.UTF-8
170 Moduł jądra dla VMware Workstation - vmnet.
173 %setup -q -n vmware-distrib -a1
174 #%setup -qDT -n vmware-distrib -a1
175 #mkdir vmware-any-any-update%{_urel}
176 cd vmware-any-any-update%{_urel}
180 #tar xf ../lib/modules/source/vmmon.tar
181 #tar xf ../lib/modules/source/vmnet.tar
188 sed -i 's:vm_db_answer_LIBDIR:VM_LIBDIR:g;s:vm_db_answer_BINDIR:VM_BINDIR:g' bin/vmware
190 cd vmware-any-any-update%{_urel}
191 chmod u+w ../lib/bin/vmware-vmx ../lib/bin-debug/vmware-vmx ../bin/vmnet-bridge
195 %{__cc} %{rpmldflags} %{rpmcflags} -o update update.c
196 ./update vmx ../lib/bin/vmware-vmx
197 ./update vmxdebug ../lib/bin-debug/vmware-vmx
198 ./update bridge ../bin/vmnet-bridge
205 %define ModuleBuildArgs VMWARE_VER=VME_V6 SRCROOT=$PWD VM_KBUILD=26 VM_CCVER=%{_ccver}
207 %build_kernel_modules -c -C vmblock-only -m vmblock %{ModuleBuildArgs} <<'EOF'
210 %build_kernel_modules -c -C vmmon-only -m vmmon %{ModuleBuildArgs} <<'EOF'
213 %build_kernel_modules -c -C vmnet-only -m vmnet %{ModuleBuildArgs} <<'EOF'
219 rm -rf $RPM_BUILD_ROOT
221 %if %{with userspace}
223 $RPM_BUILD_ROOT%{_sysconfdir}/vmware \
224 $RPM_BUILD_ROOT%{_sysconfdir}/vmware/vmnet8/{nat,dhcpd} \
225 $RPM_BUILD_ROOT%{_bindir} \
226 $RPM_BUILD_ROOT%{_libdir}/vmware/{bin,share/{icons,pixmaps}} \
227 $RPM_BUILD_ROOT%{_mandir} \
228 $RPM_BUILD_ROOT%{_pixmapsdir} \
229 $RPM_BUILD_ROOT%{_desktopdir} \
230 $RPM_BUILD_ROOT/etc/rc.d/init.d \
231 $RPM_BUILD_ROOT/var/run/vmware
235 install -d $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}/misc
237 cd vmware-any-any-update%{_urel}
239 %install_kernel_modules -m vmblock-only/vmblock,vmmon-only/vmmon,vmnet-only/vmnet -d misc
244 %if %{with userspace}
245 install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/vmnet
246 install %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/vmware/vmnet.conf
247 install %{SOURCE4} $RPM_BUILD_ROOT%{_desktopdir}
248 install %{SOURCE5} $RPM_BUILD_ROOT%{_sysconfdir}/vmware/vmnet8/nat/nat.conf
249 install %{SOURCE6} $RPM_BUILD_ROOT%{_sysconfdir}/vmware/vmnet8/dhcpd/dhcpd.conf
251 touch $RPM_BUILD_ROOT%{_sysconfdir}/vmware/vmnet8/dhcpd/dhcpd.leases
252 touch $RPM_BUILD_ROOT%{_sysconfdir}/vmware/vmnet8/dhcpd/dhcpd.leases~
254 install lib/share/pixmaps/* $RPM_BUILD_ROOT%{_libdir}/vmware/share/pixmaps
255 install lib/share/icons/hicolor/48x48/apps/vmware-workstation.png $RPM_BUILD_ROOT%{_pixmapsdir}/%{name}.png
256 # required for starting vmware
257 install doc/EULA $RPM_BUILD_ROOT%{_libdir}/vmware/share/EULA.txt
259 install bin/*-* $RPM_BUILD_ROOT%{_bindir}
260 install lib/bin/vmware-vmx $RPM_BUILD_ROOT%{_libdir}/vmware/bin
262 install lib/lib/libvmwarebase.so.0/libvmwarebase.so.0 $RPM_BUILD_ROOT%{_libdir}
263 install lib/lib/libvmwareui.so.0/libvmwareui.so.0 $RPM_BUILD_ROOT%{_libdir}
265 cp -r lib/{bin-debug,config,floppies,help*,isoimages,licenses,messages,xkeymap} \
266 $RPM_BUILD_ROOT%{_libdir}/vmware
268 cp -r lib/share/icons/* $RPM_BUILD_ROOT%{_libdir}/vmware/share/icons
269 cp -r man/* $RPM_BUILD_ROOT%{_mandir}
270 gunzip $RPM_BUILD_ROOT%{_mandir}/man?/*.gz
272 cat > $RPM_BUILD_ROOT%{_sysconfdir}/vmware/locations <<EOF
274 VM_LIBDIR=%{_libdir}/vmware
277 %if %{with internal_libs}
278 install bin/vmware $RPM_BUILD_ROOT%{_bindir}
279 install lib/bin/vmware $RPM_BUILD_ROOT%{_libdir}/vmware/bin
280 install lib/bin/vmware-tray $RPM_BUILD_ROOT%{_libdir}/vmware/bin
281 cp -r lib/lib $RPM_BUILD_ROOT%{_libdir}/vmware
282 cp -r lib/libconf $RPM_BUILD_ROOT%{_libdir}/vmware
284 install lib/bin/vmware $RPM_BUILD_ROOT%{_bindir}
285 install lib/bin/vmware-tray $RPM_BUILD_ROOT%{_bindir}
290 rm -rf $RPM_BUILD_ROOT
293 /sbin/chkconfig --add vmnet
294 %service vmnet restart "VMware networking service"
297 if [ "$1" = "0" ]; then
299 /sbin/chkconfig --del vmnet
302 %post -n kernel%{_alt_kernel}-misc-vmblock
303 %depmod %{_kernel_ver}
305 %postun -n kernel%{_alt_kernel}-misc-vmblock
306 %depmod %{_kernel_ver}
308 %post -n kernel%{_alt_kernel}-misc-vmmon
309 %depmod %{_kernel_ver}
311 %postun -n kernel%{_alt_kernel}-misc-vmmon
312 %depmod %{_kernel_ver}
314 %post -n kernel%{_alt_kernel}-misc-vmnet
315 %depmod %{_kernel_ver}
317 %postun -n kernel%{_alt_kernel}-misc-vmnet
318 %depmod %{_kernel_ver}
320 %if %{with userspace}
322 %defattr(644,root,root,755)
323 %doc doc/* lib/configurator/vmnet-{dhcpd,nat}.conf
324 %dir %{_sysconfdir}/vmware
325 %{_sysconfdir}/vmware/locations
326 %attr(755,root,root) %{_bindir}/vmware
327 %attr(755,root,root) %{_bindir}/vmware-loop
328 %attr(755,root,root) %{_bindir}/vmware-mount.pl
329 %attr(755,root,root) %{_bindir}/vmware-tray
330 %attr(755,root,root) %{_bindir}/vmware-vdiskmanager
331 %attr(755,root,root) %{_libdir}/libvmwarebase.so.*
332 %attr(755,root,root) %{_libdir}/libvmwareui.so.*
334 %dir %{_libdir}/vmware
335 %dir %{_libdir}/vmware/bin
337 %attr(4755,root,root) %{_libdir}/vmware/bin/vmware-vmx
338 %{_libdir}/vmware/config
339 %{_libdir}/vmware/floppies
340 %{_libdir}/vmware/isoimages
341 %if %{with internal_libs}
342 %attr(755,root,root) %{_libdir}/vmware/bin/vmware
343 %dir %{_libdir}/vmware/lib
344 %{_libdir}/vmware/lib/lib*
345 %attr(755,root,root) %{_libdir}/vmware/lib/wrapper-gtk24.sh
347 %{_libdir}/vmware/licenses
348 %dir %{_libdir}/vmware/messages
349 %{_libdir}/vmware/messages/en
350 %lang(ja) %{_libdir}/vmware/messages/ja
351 %{_libdir}/vmware/share
352 %{_libdir}/vmware/xkeymap
354 %attr(1777,root,root) %dir /var/run/vmware
356 %{_desktopdir}/%{name}.desktop
359 %defattr(644,root,root,755)
360 %dir %{_libdir}/vmware/bin-debug
362 %attr(4755,root,root) %{_libdir}/vmware/bin-debug/vmware-vmx
365 %defattr(644,root,root,755)
366 %{_libdir}/vmware/help*
369 %defattr(644,root,root,755)
370 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vmware/vmnet.conf
371 %attr(754,root,root) /etc/rc.d/init.d/vmnet
372 %attr(755,root,root) %{_bindir}/vmnet-bridge
373 %attr(755,root,root) %{_bindir}/vmnet-detect
374 %attr(755,root,root) %{_bindir}/vmnet-dhcpd
375 %attr(755,root,root) %{_bindir}/vmnet-natd
376 %attr(755,root,root) %{_bindir}/vmnet-netifup
377 %attr(755,root,root) %{_bindir}/vmnet-sniffer
378 %attr(755,root,root) %{_bindir}/vmware-ping
379 %dir %{_sysconfdir}/vmware/vmnet8
380 %dir %{_sysconfdir}/vmware/vmnet8/dhcpd
381 %dir %{_sysconfdir}/vmware/vmnet8/nat
382 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vmware/vmnet8/dhcpd/dhcpd.conf
383 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vmware/vmnet8/nat/nat.conf
384 %verify(not md5 mtime size) %{_sysconfdir}/vmware/vmnet8/dhcpd/dhcpd.leases*
387 %if %{with kernel} || %{with dist_kernel}
388 %files -n kernel%{_alt_kernel}-misc-vmblock
389 %defattr(644,root,root,755)
390 /lib/modules/%{_kernel_ver}/misc/vmblock.ko*
392 %if %{with kernel} || %{with dist_kernel}
393 %files -n kernel%{_alt_kernel}-misc-vmmon
394 %defattr(644,root,root,755)
395 /lib/modules/%{_kernel_ver}/misc/vmmon.ko*
397 %files -n kernel%{_alt_kernel}-misc-vmnet
398 %defattr(644,root,root,755)
399 /lib/modules/%{_kernel_ver}/misc/vmnet.ko*