4 # - http://www.vmware.com/support/ws45/doc/devices_linux_kb_ws.html#1040861
7 %bcond_without dist_kernel # without distribution kernel
8 %bcond_without kernel # don't build kernel modules
9 %bcond_without smp # without SMP kernel modules
10 %bcond_without userspace # don't build userspace utilities
11 %bcond_with kernel24 # build kernel24 modules (disable kernel26)
12 %bcond_with internal_libs # internal libs stuff
13 %bcond_with verbose # verbose build (V=1)
15 %include /usr/lib/rpm/macros.perl
17 %define _kernelsrcdir /usr/src/linux-2.4
21 %undefine with_userspace
25 %undefine with_dist_kernel
32 %define _ccver %(rpm -q --qf "%{VERSION}" gcc)
34 Summary: VMware Workstation
35 Summary(pl): VMware Workstation - wirtualna platforma dla stacji roboczej
36 Name: VMware-workstation
37 Version: %{_ver}.%{_build}
39 License: custom, non-distributable
40 Group: Applications/Emulators
41 Source0: http://download3.vmware.com/software/wkst/%{name}-%{_ver}-%{_build}.tar.gz
42 # NoSource0-md5: 08a7732afddeb9db41a25a9557fd0397
43 Source1: http://knihovny.cvut.cz/ftp/pub/vmware/vmware-any-any-update%{_urel}.tar.gz
44 # Source1-md5: 0a9388b1bf9c9691ce7864d288f706d4
46 Source3: %{name}-vmnet.conf
48 Source5: %{name}.desktop
49 Source6: %{name}-nat.conf
50 Source7: %{name}-dhcpd.conf
51 Patch0: %{name}-Makefile.patch
52 Patch1: %{name}-run_script.patch
54 URL: http://www.vmware.com/
55 %{?with_kernel:BuildRequires: gcc-c++}
56 %{?with_dist_kernel:BuildRequires: kernel%{_alt_kernel}-module-build >= 3:2.6.7}
57 %{?with_userspace:BuildRequires: rpm-perlprov}
58 BuildRequires: rpmbuild(macros) >= 1.332
59 BuildRequires: sed >= 4.0
60 Requires: libgnomecanvasmm
61 Requires: libview >= 0.5.5-2
62 ExclusiveArch: %{ix86} %{x8664}
63 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
65 %define _noautoprovfiles %{_libdir}/vmware/lib/.*\.so.*
68 VMware Workstation Virtual Platform is a thin software layer that
69 allows multiple guest operating systems to run concurrently on a
70 single standard PC, without repartitioning or rebooting, and without
71 significant loss of performance.
74 VMware Workstation Virtual Platform to cienka warstwa oprogramowania
75 pozwalaj±ca na jednoczesne dzia³anie wielu go¶cinnych systemów
76 operacyjnych na jednym zwyk³ym PC, bez repartycjonowania ani
77 rebootowania, bez znacznej utraty wydajno¶ci.
80 Summary: VMware debug utility
81 Summary(pl): Narzêdzie VMware do odpluskwiania
82 Group: Applications/Emulators
83 Requires: %{name} = %{version}-%{release}
88 %description debug -l pl
89 Narzêdzie VMware do odpluskwiania.
92 Summary: VMware Workstation help files
93 Summary(pl): Pliki pomocy dla VMware Workstation
94 Group: Applications/Emulators
95 Requires: %{name} = %{version}-%{release}
99 VMware Workstation help files.
101 %description help -l pl
102 Pliki pomocy dla VMware Workstation.
105 Summary: VMware networking utilities
106 Summary(pl): Narzêdzia VMware do obs³ugi sieci
107 Group: Applications/Emulators
108 Requires(post,preun): /sbin/chkconfig
109 Requires: %{name} = %{version}-%{release}
111 Obsoletes: VMware-workstation-samba
113 %description networking
114 VMware networking utilities.
116 %description networking -l pl
117 Narzêdzia VMware do obs³ugi sieci.
120 Summary: VMware SMB utilities
121 Summary(pl): Narzêdzia VMware do SMB
122 Group: Applications/Emulators
123 Requires: %{name} = %{version}-%{release}
126 VMware SMB utilities.
128 %description samba -l pl
129 Narzêdzia VMware do SMB.
131 %package -n kernel%{_alt_kernel}-misc-vmmon
132 Summary: Kernel module for VMware Workstation
133 Summary(pl): Modu³ j±dra dla VMware Workstation
134 Release: %{_rel}@%{_kernel_ver_str}
136 Requires(post,postun): /sbin/depmod
137 Requires: dev >= 2.9.0-7
138 %if %{with dist_kernel}
139 %requires_releq_kernel_up
140 Requires(postun): %releq_kernel_up
142 Provides: kernel(vmmon) = %{version}-%{_rel}
144 %description -n kernel%{_alt_kernel}-misc-vmmon
145 Kernel modules for VMware Workstation - vmmon.
147 %description -n kernel%{_alt_kernel}-misc-vmmon -l pl
148 Modu³y j±dra dla VMware Workstation - vmmon.
150 %package -n kernel%{_alt_kernel}-misc-vmnet
151 Summary: Kernel module for VMware Workstation
152 Summary(pl): Modu³ j±dra dla VMware Workstation
153 Release: %{_rel}@%{_kernel_ver_str}
155 Requires(post,postun): /sbin/depmod
156 Requires: dev >= 2.9.0-7
157 %if %{with dist_kernel}
158 %requires_releq_kernel_up
159 Requires(postun): %releq_kernel_up
161 Provides: kernel(vmnet) = %{version}-%{_rel}
163 %description -n kernel%{_alt_kernel}-misc-vmnet
164 Kernel modules for VMware Workstation - vmnet.
166 %description -n kernel%{_alt_kernel}-misc-vmnet -l pl
167 Modu³y j±dra dla VMware Workstation - vmnet.
169 %package -n kernel%{_alt_kernel}-smp-misc-vmmon
170 Summary: SMP kernel module for VMware Workstation
171 Summary(pl): Modu³ j±dra SMP dla VMware Workstation
172 Release: %{_rel}@%{_kernel_ver_str}
174 Requires(post,postun): /sbin/depmod
175 Requires: dev >= 2.9.0-7
176 %if %{with dist_kernel}
177 %requires_releq_kernel_smp
178 Requires(postun): %releq_kernel_smp
180 Provides: kernel(vmmon) = %{version}-%{_rel}
182 %description -n kernel%{_alt_kernel}-smp-misc-vmmon
183 SMP kernel modules fov VMware Workstation - vmmon-smp.
185 %description -n kernel%{_alt_kernel}-smp-misc-vmmon -l pl
186 Modu³y j±dra SMP dla VMware Workstation - vmmon-smp.
188 %package -n kernel%{_alt_kernel}-smp-misc-vmnet
189 Summary: SMP kernel module for VMware Workstation
190 Summary(pl): Modu³ j±dra SMP dla VMware Workstation
191 Release: %{_rel}@%{_kernel_ver_str}
193 Requires(post,postun): /sbin/depmod
194 Requires: dev >= 2.9.0-7
195 %if %{with dist_kernel}
196 %requires_releq_kernel_smp
197 Requires(postun): %releq_kernel_smp
199 Provides: kernel(vmnet) = %{version}-%{_rel}
201 %description -n kernel%{_alt_kernel}-smp-misc-vmnet
202 SMP kernel module for VMware Workstation - vmnet-smp.
204 %description -n kernel%{_alt_kernel}-smp-misc-vmnet -l pl
205 Modu³y j±dra SMP dla VMware Workstation - vmnet-smp.
207 %package -n kernel24-misc-vmmon
208 Summary: Kernel module for VMware Workstation
209 Summary(pl): Modu³ j±dra dla VMware Workstation
210 Release: %{_rel}@%{_kernel_ver_str}
212 Requires(post,postun): /sbin/depmod
213 Requires: dev >= 2.9.0-7
214 %if %{with dist_kernel}
215 %requires_releq_kernel_up
216 Requires(postun): %releq_kernel_up
218 Provides: kernel(vmmon) = %{version}-%{_rel}
220 %description -n kernel24-misc-vmmon
221 Kernel modules for VMware Workstation - vmmon.
223 %description -n kernel24-misc-vmmon -l pl
224 Modu³y j±dra dla VMware Workstation - vmmon.
226 %package -n kernel24-misc-vmnet
227 Summary: Kernel module for VMware Workstation
228 Summary(pl): Modu³ j±dra dla VMware Workstation
229 Release: %{_rel}@%{_kernel_ver_str}
231 Requires(post,postun): /sbin/depmod
232 Requires: dev >= 2.9.0-7
233 %if %{with dist_kernel}
234 %requires_releq_kernel_up
235 Requires(postun): %releq_kernel_up
237 Provides: kernel(vmnet) = %{version}-%{_rel}
239 %description -n kernel24-misc-vmnet
240 Kernel modules for VMware Workstation - vmnet.
242 %description -n kernel24-misc-vmnet -l pl
243 Modu³y j±dra dla VMware Workstation - vmnet.
245 %package -n kernel24-smp-misc-vmmon
246 Summary: SMP kernel module for VMware Workstation
247 Summary(pl): Modu³ j±dra SMP dla VMware Workstation
248 Release: %{_rel}@%{_kernel_ver_str}
250 Requires(post,postun): /sbin/depmod
251 Requires: dev >= 2.9.0-7
252 %if %{with dist_kernel}
253 %requires_releq_kernel_smp
254 Requires(postun): %releq_kernel_smp
256 Provides: kernel(vmmon) = %{version}-%{_rel}
258 %description -n kernel24-smp-misc-vmmon
259 SMP kernel modules fov VMware Workstation - vmmon-smp.
261 %description -n kernel24-smp-misc-vmmon -l pl
262 Modu³y j±dra SMP dla VMware Workstation - vmmon-smp.
264 %package -n kernel24-smp-misc-vmnet
265 Summary: SMP kernel module for VMware Workstation
266 Summary(pl): Modu³ j±dra SMP dla VMware Workstation
267 Release: %{_rel}@%{_kernel_ver_str}
269 Requires(post,postun): /sbin/depmod
270 Requires: dev >= 2.9.0-7
271 %if %{with dist_kernel}
272 %requires_releq_kernel_smp
273 Requires(postun): %releq_kernel_smp
275 Provides: kernel(vmnet) = %{version}-%{_rel}
277 %description -n kernel24-smp-misc-vmnet
278 SMP kernel module for VMware Workstation - vmnet-smp.
280 %description -n kernel24-smp-misc-vmnet -l pl
281 Modu³y j±dra SMP dla VMware Workstation - vmnet-smp.
284 %setup -q -n vmware-distrib -a1
285 #%setup -qDT -n vmware-distrib -a1
286 #mkdir vmware-any-any-update%{_urel}
287 cd vmware-any-any-update%{_urel}
290 #tar xf ../lib/modules/source/vmmon.tar
291 #tar xf ../lib/modules/source/vmnet.tar
297 sed -i 's:vm_db_answer_LIBDIR:VM_LIBDIR:g;s:vm_db_answer_BINDIR:VM_BINDIR:g' bin/vmware
299 cd vmware-any-any-update%{_urel}
300 chmod u+w ../lib/bin/vmware-vmx ../lib/bin-debug/vmware-vmx ../bin/vmnet-bridge
304 %{__cc} %{rpmldflags} %{rpmcflags} -o update update.c
305 ./update vmx ../lib/bin/vmware-vmx
306 ./update vmxdebug ../lib/bin-debug/vmware-vmx
307 ./update bridge ../bin/vmnet-bridge
314 %if !%{with kernel24}
315 %define ModuleBuildArgs VMWARE_VER=VME_V5 SRCROOT=$PWD VM_KBUILD=26 VM_CCVER=%{_ccver}
317 %build_kernel_modules -c -C vmmon-only -m vmmon %{ModuleBuildArgs} <<'EOF'
320 %build_kernel_modules -c -C vmnet-only -m vmnet %{ModuleBuildArgs} <<'EOF'
325 for mod in vmmon vmnet ; do
327 tar xf ../lib/modules/source/$mod.tar
329 sed -i s/'^HEADER_DIR.*'/'HEADER_DIR = \/usr\/src\/linux-2.4\/include'/ Makefile
330 sed -i s/'^BUILD_DIR.*'/'BUILD_DIR = .'/ Makefile
334 VM_KBUILD=no VMWARE_VER=VME_V5 \
335 M=$PWD O=$PWD CC=%{kgcc} \
336 INCLUDES="%{rpmcflags} -I. -D__KERNEL_SMP=1 -D__SMP__ -I%{_kernelsrcdir}/include"
337 if [ -e $mod-xxx-* ]; then
338 mv -f $mod-xxx-* ../built/$mod-smp.o
340 mv -f driver-*/$mod-xxx-* ../built/$mod-smp.o
343 %{__make} VM_KBUILD=no clean
346 VM_KBUILD=no VMWARE_VER=VME_V5 \
347 M=$PWD O=$PWD CC=%{kgcc} \
348 INCLUDES="%{rpmcflags} -I. -I%{_kernelsrcdir}/include"
349 if [ -e $mod-xxx-* ]; then
350 mv -f $mod-xxx-* ../built/$mod.o
352 mv -f driver-*/$mod-xxx-* ../built/$mod.o
362 rm -rf $RPM_BUILD_ROOT
364 %if %{with userspace}
366 $RPM_BUILD_ROOT%{_sysconfdir}/vmware \
367 $RPM_BUILD_ROOT%{_sysconfdir}/vmware/vmnet8/{nat,dhcpd} \
368 $RPM_BUILD_ROOT%{_bindir} \
369 $RPM_BUILD_ROOT%{_libdir}/vmware/{bin,share/pixmaps} \
370 $RPM_BUILD_ROOT%{_mandir} \
371 $RPM_BUILD_ROOT%{_pixmapsdir} \
372 $RPM_BUILD_ROOT%{_desktopdir} \
373 $RPM_BUILD_ROOT/etc/rc.d/init.d \
374 $RPM_BUILD_ROOT/var/run/vmware
378 install -d $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}{,smp}/misc
380 cd vmware-any-any-update%{_urel}
382 %if !%{with kernel24}
383 %install_kernel_modules -m vmmon-only/vmmon,vmnet-only/vmnet -d misc
386 install built/vmmon.o \
387 $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}/misc/vmmon.o
388 install built/vmnet.o \
389 $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}/misc/vmnet.o
390 %if %{with smp} && %{with dist_kernel}
391 install built/vmmon-smp.o \
392 $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}smp/misc/vmmon.o
393 install built/vmnet-smp.o \
394 $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}smp/misc/vmnet.o
402 %if %{with userspace}
403 install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/vmnet
404 install %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/vmware/vmnet.conf
405 install %{SOURCE4} $RPM_BUILD_ROOT%{_pixmapsdir}
406 install %{SOURCE5} $RPM_BUILD_ROOT%{_desktopdir}
407 install %{SOURCE6} $RPM_BUILD_ROOT%{_sysconfdir}/vmware/vmnet8/nat/nat.conf
408 install %{SOURCE7} $RPM_BUILD_ROOT%{_sysconfdir}/vmware/vmnet8/dhcpd/dhcpd.conf
410 touch $RPM_BUILD_ROOT%{_sysconfdir}/vmware/vmnet8/dhcpd/dhcpd.leases
411 touch $RPM_BUILD_ROOT%{_sysconfdir}/vmware/vmnet8/dhcpd/dhcpd.leases~
413 install lib/share/pixmaps/* $RPM_BUILD_ROOT%{_libdir}/vmware/share/pixmaps
414 # required for starting vmware
415 install lib/share/EULA.txt $RPM_BUILD_ROOT%{_libdir}/vmware/share
417 install bin/*-* $RPM_BUILD_ROOT%{_bindir}
418 install lib/bin/vmware-vmx $RPM_BUILD_ROOT%{_libdir}/vmware/bin
420 #cp -r lib/{bin-debug,config,floppies,help*,isoimages,licenses,messages,smb,xkeymap} \
421 cp -r lib/{bin-debug,config,floppies,help*,isoimages,licenses,messages,xkeymap} \
422 $RPM_BUILD_ROOT%{_libdir}/vmware
424 cp -r man/* $RPM_BUILD_ROOT%{_mandir}
425 gunzip $RPM_BUILD_ROOT%{_mandir}/man?/*.gz
427 cat > $RPM_BUILD_ROOT%{_sysconfdir}/vmware/locations <<EOF
429 VM_LIBDIR=%{_libdir}/vmware
432 %if %{with internal_libs}
433 install bin/vmware $RPM_BUILD_ROOT%{_bindir}
434 install lib/bin/vmware $RPM_BUILD_ROOT%{_libdir}/vmware/bin
435 cp -r lib/lib $RPM_BUILD_ROOT%{_libdir}/vmware
436 cp -r lib/libconf $RPM_BUILD_ROOT%{_libdir}/vmware
438 install lib/bin/vmware $RPM_BUILD_ROOT%{_bindir}
443 rm -rf $RPM_BUILD_ROOT
446 /sbin/chkconfig --add vmnet
447 %service vmnet restart "VMware networking service"
450 if [ "$1" = "0" ]; then
452 /sbin/chkconfig --del vmnet
455 %post -n kernel%{_alt_kernel}-misc-vmmon
456 %depmod %{_kernel_ver}
458 %postun -n kernel%{_alt_kernel}-misc-vmmon
459 %depmod %{_kernel_ver}
461 %post -n kernel%{_alt_kernel}-misc-vmnet
462 %depmod %{_kernel_ver}
464 %postun -n kernel%{_alt_kernel}-misc-vmnet
465 %depmod %{_kernel_ver}
467 %post -n kernel%{_alt_kernel}-smp-misc-vmmon
468 %depmod %{_kernel_ver}smp
470 %postun -n kernel%{_alt_kernel}-smp-misc-vmmon
471 %depmod %{_kernel_ver}smp
473 %post -n kernel%{_alt_kernel}-smp-misc-vmnet
474 %depmod %{_kernel_ver}smp
476 %postun -n kernel%{_alt_kernel}-smp-misc-vmnet
477 %depmod %{_kernel_ver}smp
479 %post -n kernel24-misc-vmmon
480 %depmod %{_kernel_ver}
482 %postun -n kernel24-misc-vmmon
483 %depmod %{_kernel_ver}
485 %post -n kernel24-misc-vmnet
486 %depmod %{_kernel_ver}
488 %postun -n kernel24-misc-vmnet
489 %depmod %{_kernel_ver}
491 %post -n kernel24-smp-misc-vmmon
492 %depmod %{_kernel_ver}smp
494 %postun -n kernel24-smp-misc-vmmon
495 %depmod %{_kernel_ver}smp
497 %post -n kernel24-smp-misc-vmnet
498 %depmod %{_kernel_ver}smp
500 %postun -n kernel24-smp-misc-vmnet
501 %depmod %{_kernel_ver}smp
503 %if %{with userspace}
505 %defattr(644,root,root,755)
506 %doc doc/* lib/configurator/vmnet-{dhcpd,nat}.conf
507 %dir %{_sysconfdir}/vmware
508 %{_sysconfdir}/vmware/locations
509 %attr(755,root,root) %{_bindir}/vmware
510 %attr(755,root,root) %{_bindir}/vmware-loop
511 %attr(755,root,root) %{_bindir}/vmware-mount.pl
512 %attr(755,root,root) %{_bindir}/vmware-vdiskmanager
513 %dir %{_libdir}/vmware
514 %dir %{_libdir}/vmware/bin
516 %attr(4755,root,root) %{_libdir}/vmware/bin/vmware-vmx
517 %{_libdir}/vmware/config
518 %{_libdir}/vmware/floppies
519 %{_libdir}/vmware/isoimages
520 %if %{with internal_libs}
521 %attr(755,root,root) %{_libdir}/vmware/bin/vmware
522 %dir %{_libdir}/vmware/lib
523 %{_libdir}/vmware/lib/lib*
524 %attr(755,root,root) %{_libdir}/vmware/lib/wrapper-gtk24.sh
526 %{_libdir}/vmware/licenses
527 %dir %{_libdir}/vmware/messages
528 %{_libdir}/vmware/messages/en
529 %lang(ja) %{_libdir}/vmware/messages/ja
530 %{_libdir}/vmware/share
531 %{_libdir}/vmware/xkeymap
533 %attr(1777,root,root) %dir /var/run/vmware
535 %{_desktopdir}/%{name}.desktop
538 %defattr(644,root,root,755)
539 %dir %{_libdir}/vmware/bin-debug
541 %attr(4755,root,root) %{_libdir}/vmware/bin-debug/vmware-vmx
544 %defattr(644,root,root,755)
545 %{_libdir}/vmware/help*
548 %defattr(644,root,root,755)
549 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vmware/vmnet.conf
550 %attr(754,root,root) /etc/rc.d/init.d/vmnet
551 %attr(755,root,root) %{_bindir}/vmnet-bridge
552 %attr(755,root,root) %{_bindir}/vmnet-dhcpd
553 %attr(755,root,root) %{_bindir}/vmnet-natd
554 %attr(755,root,root) %{_bindir}/vmnet-netifup
555 %attr(755,root,root) %{_bindir}/vmnet-sniffer
556 %attr(755,root,root) %{_bindir}/vmware-ping
557 %dir %{_sysconfdir}/vmware/vmnet8
558 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vmware/vmnet8/dhcpd/dhcpd.conf
559 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vmware/vmnet8/nat/nat.conf
560 %verify(not md5 mtime size) %{_sysconfdir}/vmware/vmnet8/dhcpd/dhcpd.leases*
564 %defattr(644,root,root,755)
565 %doc lib/configurator/vmnet-smb.conf
566 %attr(755,root,root) %{_bindir}/vmware-nmbd
567 %attr(755,root,root) %{_bindir}/vmware-smbd
568 %attr(755,root,root) %{_bindir}/vmware-smbpasswd
569 %attr(755,root,root) %{_bindir}/vmware-smbpasswd.bin
570 %{_libdir}/vmware/smb
575 %if !%{with kernel24}
576 %files -n kernel%{_alt_kernel}-misc-vmmon
577 %defattr(644,root,root,755)
578 /lib/modules/%{_kernel_ver}/misc/vmmon.ko*
580 %files -n kernel%{_alt_kernel}-misc-vmnet
581 %defattr(644,root,root,755)
582 /lib/modules/%{_kernel_ver}/misc/vmnet.ko*
584 %if %{with smp} && %{with dist_kernel}
585 %files -n kernel%{_alt_kernel}-smp-misc-vmmon
586 %defattr(644,root,root,755)
587 /lib/modules/%{_kernel_ver}smp/misc/vmmon.ko*
589 %files -n kernel%{_alt_kernel}-smp-misc-vmnet
590 %defattr(644,root,root,755)
591 /lib/modules/%{_kernel_ver}smp/misc/vmnet.ko*
595 %files -n kernel24-misc-vmmon
596 %defattr(644,root,root,755)
597 /lib/modules/%{_kernel_ver}/misc/vmmon.o*
599 %files -n kernel24-misc-vmnet
600 %defattr(644,root,root,755)
601 /lib/modules/%{_kernel_ver}/misc/vmnet.o*
603 %if %{with smp} && %{with dist_kernel}
604 %files -n kernel24-smp-misc-vmmon
605 %defattr(644,root,root,755)
606 /lib/modules/%{_kernel_ver}smp/misc/vmmon.o*
608 %files -n kernel24-smp-misc-vmnet
609 %defattr(644,root,root,755)
610 /lib/modules/%{_kernel_ver}smp/misc/vmnet.o*