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
25 Summary: VMware Workstation
26 Summary(pl): VMware Workstation - wirtualna platforma dla stacji roboczej
27 Name: VMware-workstation
28 Version: %{_ver}.%{_build}
30 License: custom, non-distributable
31 Group: Applications/Emulators
32 Source0: http://download3.vmware.com/software/wkst/%{name}-%{_ver}-%{_build}.tar.gz
33 # NoSource0-md5: 91821fc2649749911f0e2d0ca37b3eb8
34 Source1: http://knihovny.cvut.cz/ftp/pub/vmware/vmware-any-any-update%{_urel}.tar.gz
35 # Source1-md5: b8f6498f5275dc8ef3ea2d2e17061ede
37 Source3: %{name}-vmnet.conf
39 Source5: %{name}.desktop
40 Source6: %{name}-nat.conf
41 Source7: %{name}-dhcpd.conf
42 Patch0: %{name}-Makefile.patch
43 Patch1: %{name}-compat.patch
44 Patch2: %{name}-run_script.patch
46 URL: http://www.vmware.com/
47 BuildRequires: gcc-c++
48 %{?with_dist_kernel:BuildRequires: kernel-module-build >= 2.6.7}
49 BuildRequires: rpm-perlprov
50 BuildRequires: rpmbuild(macros) >= 1.217
51 BuildRequires: sed >= 4.0
52 Requires: kernel(vmmon) = %{version}-%{_rel}
53 Requires: libgnomecanvasmm
54 ExclusiveArch: %{ix86}
55 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
57 %define _noautoprovfiles %{_libdir}/vmware/lib/.*\.so.*
60 VMware Workstation Virtual Platform is a thin software layer that
61 allows multiple guest operating systems to run concurrently on a
62 single standard PC, without repartitioning or rebooting, and without
63 significant loss of performance.
66 VMware Workstation Virtual Platform to cienka warstwa oprogramowania
67 pozwalaj±ca na jednoczesne dzia³anie wielu go¶cinnych systemów
68 operacyjnych na jednym zwyk³ym PC, bez repartycjonowania ani
69 rebootowania, bez znacznej utraty wydajno¶ci.
72 Summary: VMware debug utility
73 Summary(pl): Narzêdzie VMware do odpluskwiania
74 Group: Applications/Emulators
75 Requires: %{name} = %{version}-%{release}
80 %description debug -l pl
81 Narzêdzie VMware do odpluskwiania.
84 Summary: VMware Workstation help files
85 Summary(pl): Pliki pomocy dla VMware Workstation
86 Group: Applications/Emulators
87 Requires: %{name} = %{version}-%{release}
91 VMware Workstation help files.
93 %description help -l pl
94 Pliki pomocy dla VMware Workstation.
97 Summary: VMware networking utilities
98 Summary(pl): Narzêdzia VMware do obs³ugi sieci
99 Group: Applications/Emulators
100 Requires: %{name} = %{version}-%{release}
101 Requires: kernel(vmnet) = %{version}-%{_rel}
102 Obsoletes: VMware-workstation-samba
104 %description networking
105 VMware networking utilities.
107 %description networking -l pl
108 Narzêdzia VMware do obs³ugi sieci.
111 Summary: VMware SMB utilities
112 Summary(pl): Narzêdzia VMware do SMB
113 Group: Applications/Emulators
114 Requires: %{name} = %{version}-%{release}
117 VMware SMB utilities.
119 %description samba -l pl
120 Narzêdzia VMware do SMB.
122 %package -n kernel-misc-vmmon
123 Summary: Kernel module for VMware Workstation
124 Summary(pl): Modu³ j±dra dla VMware Workstation
125 Release: %{_rel}@%{_kernel_ver_str}
127 Requires(post,postun): /sbin/depmod
128 Requires: dev >= 2.9.0-7
129 %if %{with dist_kernel}
130 %requires_releq_kernel_up
131 Requires(postun): %releq_kernel_up
133 Provides: kernel(vmmon) = %{version}-%{_rel}
135 %description -n kernel-misc-vmmon
136 Kernel modules for VMware Workstation - vmmon.
138 %description -n kernel-misc-vmmon -l pl
139 Modu³y j±dra dla VMware Workstation - vmmon.
141 %package -n kernel-misc-vmnet
142 Summary: Kernel module for VMware Workstation
143 Summary(pl): Modu³ j±dra dla VMware Workstation
144 Release: %{_rel}@%{_kernel_ver_str}
146 Requires(post,postun): /sbin/depmod
147 Requires: dev >= 2.9.0-7
148 %if %{with dist_kernel}
149 %requires_releq_kernel_up
150 Requires(postun): %releq_kernel_up
152 Provides: kernel(vmnet) = %{version}-%{_rel}
154 %description -n kernel-misc-vmnet
155 Kernel modules for VMware Workstation - vmnet.
157 %description -n kernel-misc-vmnet -l pl
158 Modu³y j±dra dla VMware Workstation - vmnet.
160 %package -n kernel-smp-misc-vmmon
161 Summary: SMP kernel module for VMware Workstation
162 Summary(pl): Modu³ j±dra SMP dla VMware Workstation
163 Release: %{_rel}@%{_kernel_ver_str}
165 Requires(post,postun): /sbin/depmod
166 Requires: dev >= 2.9.0-7
167 %if %{with dist_kernel}
168 %requires_releq_kernel_smp
169 Requires(postun): %releq_kernel_smp
171 Provides: kernel(vmmon) = %{version}-%{_rel}
173 %description -n kernel-smp-misc-vmmon
174 SMP kernel modules fov VMware Workstation - vmmon-smp.
176 %description -n kernel-smp-misc-vmmon -l pl
177 Modu³y j±dra SMP dla VMware Workstation - vmmon-smp.
179 %package -n kernel-smp-misc-vmnet
180 Summary: SMP kernel module for VMware Workstation
181 Summary(pl): Modu³ j±dra SMP dla VMware Workstation
182 Release: %{_rel}@%{_kernel_ver_str}
184 Requires(post,postun): /sbin/depmod
185 Requires: dev >= 2.9.0-7
186 %if %{with dist_kernel}
187 %requires_releq_kernel_smp
188 Requires(postun): %releq_kernel_smp
190 Provides: kernel(vmnet) = %{version}-%{_rel}
192 %description -n kernel-smp-misc-vmnet
193 SMP kernel module for VMware Workstation - vmnet-smp.
195 %description -n kernel-smp-misc-vmnet -l pl
196 Modu³y j±dra SMP dla VMware Workstation - vmnet-smp.
198 %package -n kernel24-misc-vmmon
199 Summary: Kernel module for VMware Workstation
200 Summary(pl): Modu³ j±dra dla VMware Workstation
201 Release: %{_rel}@%{_kernel_ver_str}
203 Requires(post,postun): /sbin/depmod
204 Requires: dev >= 2.9.0-7
205 %if %{with dist_kernel}
206 %requires_releq_kernel_up
207 Requires(postun): %releq_kernel_up
209 Provides: kernel(vmmon) = %{version}-%{_rel}
211 %description -n kernel24-misc-vmmon
212 Kernel modules for VMware Workstation - vmmon.
214 %description -n kernel24-misc-vmmon -l pl
215 Modu³y j±dra dla VMware Workstation - vmmon.
217 %package -n kernel24-misc-vmnet
218 Summary: Kernel module for VMware Workstation
219 Summary(pl): Modu³ j±dra dla VMware Workstation
220 Release: %{_rel}@%{_kernel_ver_str}
222 Requires(post,postun): /sbin/depmod
223 Requires: dev >= 2.9.0-7
224 %if %{with dist_kernel}
225 %requires_releq_kernel_up
226 Requires(postun): %releq_kernel_up
228 Provides: kernel(vmnet) = %{version}-%{_rel}
230 %description -n kernel24-misc-vmnet
231 Kernel modules for VMware Workstation - vmnet.
233 %description -n kernel24-misc-vmnet -l pl
234 Modu³y j±dra dla VMware Workstation - vmnet.
236 %package -n kernel24-smp-misc-vmmon
237 Summary: SMP kernel module for VMware Workstation
238 Summary(pl): Modu³ j±dra SMP dla VMware Workstation
239 Release: %{_rel}@%{_kernel_ver_str}
241 Requires(post,postun): /sbin/depmod
242 Requires: dev >= 2.9.0-7
243 %if %{with dist_kernel}
244 %requires_releq_kernel_smp
245 Requires(postun): %releq_kernel_smp
247 Provides: kernel(vmmon) = %{version}-%{_rel}
249 %description -n kernel24-smp-misc-vmmon
250 SMP kernel modules fov VMware Workstation - vmmon-smp.
252 %description -n kernel24-smp-misc-vmmon -l pl
253 Modu³y j±dra SMP dla VMware Workstation - vmmon-smp.
255 %package -n kernel24-smp-misc-vmnet
256 Summary: SMP kernel module for VMware Workstation
257 Summary(pl): Modu³ j±dra SMP dla VMware Workstation
258 Release: %{_rel}@%{_kernel_ver_str}
260 Requires(post,postun): /sbin/depmod
261 Requires: dev >= 2.9.0-7
262 %if %{with dist_kernel}
263 %requires_releq_kernel_smp
264 Requires(postun): %releq_kernel_smp
266 Provides: kernel(vmnet) = %{version}-%{_rel}
268 %description -n kernel24-smp-misc-vmnet
269 SMP kernel module for VMware Workstation - vmnet-smp.
271 %description -n kernel24-smp-misc-vmnet -l pl
272 Modu³y j±dra SMP dla VMware Workstation - vmnet-smp.
275 %setup -q -n vmware-distrib
276 %setup -qDT -n vmware-distrib -a1
277 cd vmware-any-any-update%{_urel}
286 sed -i 's:vm_db_answer_LIBDIR:VM_LIBDIR:g;s:vm_db_answer_BINDIR:VM_BINDIR:g' bin/vmware
288 cd vmware-any-any-update%{_urel}
289 chmod u+w ../lib/bin/vmware-vmx ../lib/bin-debug/vmware-vmx ../bin/vmnet-bridge
293 %{__cc} %{rpmldflags} %{rpmcflags} -o update update.c
294 ./update vmx ../lib/bin/vmware-vmx
295 ./update vmxdebug ../lib/bin-debug/vmware-vmx
296 ./update bridge ../bin/vmnet-bridge
303 %if %{without kernel24}
304 cp -a vmmon-only vmmon-only.clean
305 cp -a vmnet-only vmnet-only.clean
306 for mod in vmmon vmnet ; do
307 for cfg in %{?with_dist_kernel:%{?with_smp:smp} up}%{!?with_dist_kernel:nondist}; do
308 if [ ! -r "%{_kernelsrcdir}/config-$cfg" ]; then
312 cp -a $mod-only.clean $mod-only
314 install -d include/{linux,config}
315 touch include/config/MARKER
316 ln -sf %{_kernelsrcdir}/config-$cfg .config
317 ln -sf %{_kernelsrcdir}/include/linux/autoconf-$cfg.h include/linux/autoconf.h
318 ln -sf %{_kernelsrcdir}/include/asm-%{_target_base_arch} include/asm
319 ln -sf %{_kernelsrcdir}/Module.symvers-$cfg Module.symvers
320 %{__make} -C %{_kernelsrcdir} modules \
325 mv -f $mod.ko ../built/$mod-$cfg.ko
331 for mod in vmmon vmnet ; do
335 sed -i s/'^HEADER_DIR.*'/'HEADER_DIR = \/usr\/src\/linux-2.4\/include'/ Makefile
336 sed -i s/'^BUILD_DIR.*'/'BUILD_DIR = .'/ Makefile
340 VM_KBUILD=no VMWARE_VER=VME_V5 \
341 M=$PWD O=$PWD CC=%{kgcc} \
342 INCLUDES="%{rpmcflags} -I. -D__KERNEL_SMP=1 -D__SMP__ -I%{_kernelsrcdir}/include"
343 if [ -e $mod-xxx-* ]; then
344 mv -f $mod-xxx-* ../built/$mod-smp.o
346 mv -f driver-*/$mod-xxx-* ../built/$mod-smp.o
349 %{__make} VM_KBUILD=no clean
352 VM_KBUILD=no VMWARE_VER=VME_V5 \
353 M=$PWD O=$PWD CC=%{kgcc} \
354 INCLUDES="%{rpmcflags} -I. -I%{_kernelsrcdir}/include"
355 if [ -e $mod-xxx-* ]; then
356 mv -f $mod-xxx-* ../built/$mod.o
358 mv -f driver-*/$mod-xxx-* ../built/$mod.o
368 rm -rf $RPM_BUILD_ROOT
370 %if %{with userspace}
372 $RPM_BUILD_ROOT%{_sysconfdir}/vmware \
373 $RPM_BUILD_ROOT%{_sysconfdir}/vmware/vmnet8/{nat,dhcpd} \
374 $RPM_BUILD_ROOT%{_bindir} \
375 $RPM_BUILD_ROOT%{_libdir}/vmware/bin \
376 $RPM_BUILD_ROOT%{_mandir} \
377 $RPM_BUILD_ROOT%{_pixmapsdir} \
378 $RPM_BUILD_ROOT%{_desktopdir} \
379 $RPM_BUILD_ROOT/etc/rc.d/init.d \
380 $RPM_BUILD_ROOT/var/run/vmware
384 install -d $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}{,smp}/misc
386 cd vmware-any-any-update%{_urel}
388 %if %{without kernel24}
389 install built/vmmon-%{?with_dist_kernel:up}%{!?with_dist_kernel:nondist}.ko \
390 $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}/misc/vmmon.ko
391 install built/vmnet-%{?with_dist_kernel:up}%{!?with_dist_kernel:nondist}.ko \
392 $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}/misc/vmnet.ko
393 %if %{with smp} && %{with dist_kernel}
394 install built/vmmon-smp.ko \
395 $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}smp/misc/vmmon.ko
396 install built/vmnet-smp.ko \
397 $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}smp/misc/vmnet.ko
401 install built/vmmon.o \
402 $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}/misc/vmmon.o
403 install built/vmnet.o \
404 $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}/misc/vmnet.o
405 %if %{with smp} && %{with dist_kernel}
406 install built/vmmon-smp.o \
407 $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}smp/misc/vmmon.o
408 install built/vmnet-smp.o \
409 $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}smp/misc/vmnet.o
417 %if %{with userspace}
418 install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/vmnet
419 install %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/vmware/vmnet.conf
420 install %{SOURCE4} $RPM_BUILD_ROOT%{_pixmapsdir}
421 install %{SOURCE5} $RPM_BUILD_ROOT%{_desktopdir}
422 install %{SOURCE6} $RPM_BUILD_ROOT%{_sysconfdir}/vmware/vmnet8/nat/nat.conf
423 install %{SOURCE7} $RPM_BUILD_ROOT%{_sysconfdir}/vmware/vmnet8/dhcpd/dhcpd.conf
425 touch $RPM_BUILD_ROOT%{_sysconfdir}/vmware/vmnet8/dhcpd/dhcpd.leases
426 touch $RPM_BUILD_ROOT%{_sysconfdir}/vmware/vmnet8/dhcpd/dhcpd.leases~
428 install bin/*-* $RPM_BUILD_ROOT%{_bindir}
429 install lib/bin/vmware-vmx $RPM_BUILD_ROOT%{_libdir}/vmware/bin
431 #cp -r lib/{bin-debug,config,floppies,help*,isoimages,licenses,messages,smb,xkeymap} \
432 cp -r lib/{bin-debug,config,floppies,help*,isoimages,licenses,messages,xkeymap} \
433 $RPM_BUILD_ROOT%{_libdir}/vmware
435 cp -r man/* $RPM_BUILD_ROOT%{_mandir}
436 gunzip $RPM_BUILD_ROOT%{_mandir}/man?/*.gz
438 cat > $RPM_BUILD_ROOT%{_sysconfdir}/vmware/locations <<EOF
440 VM_LIBDIR=%{_libdir}/vmware
443 %if %{with internal_libs}
444 install bin/vmware $RPM_BUILD_ROOT%{_bindir}
445 install lib/bin/vmware $RPM_BUILD_ROOT%{_libdir}/vmware/bin
446 cp -r lib/lib $RPM_BUILD_ROOT%{_libdir}/vmware
448 install lib/bin/vmware $RPM_BUILD_ROOT%{_bindir}
453 rm -rf $RPM_BUILD_ROOT
456 /sbin/chkconfig --add vmnet
457 if [ -r /var/lock/subsys/vmnet ]; then
458 /etc/rc.d/init.d/vmnet restart >&2
460 echo "Run \"/etc/rc.d/init.d/vmnet start\" to start VMware networking service."
464 if [ "$1" = "0" ]; then
465 if [ -r /var/lock/subsys/vmnet ]; then
466 /etc/rc.d/init.d/vmnet stop >&2
468 /sbin/chkconfig --del vmnet
471 %post -n kernel-misc-vmmon
472 %depmod %{_kernel_ver}
474 %postun -n kernel-misc-vmmon
475 %depmod %{_kernel_ver}
477 %post -n kernel-misc-vmnet
478 %depmod %{_kernel_ver}
480 %postun -n kernel-misc-vmnet
481 %depmod %{_kernel_ver}
483 %post -n kernel-smp-misc-vmmon
484 %depmod %{_kernel_ver}smp
486 %postun -n kernel-smp-misc-vmmon
487 %depmod %{_kernel_ver}smp
489 %post -n kernel-smp-misc-vmnet
490 %depmod %{_kernel_ver}smp
492 %postun -n kernel-smp-misc-vmnet
493 %depmod %{_kernel_ver}smp
495 %post -n kernel24-misc-vmmon
496 %depmod %{_kernel_ver}
498 %postun -n kernel24-misc-vmmon
499 %depmod %{_kernel_ver}
501 %post -n kernel24-misc-vmnet
502 %depmod %{_kernel_ver}
504 %postun -n kernel24-misc-vmnet
505 %depmod %{_kernel_ver}
507 %post -n kernel24-smp-misc-vmmon
508 %depmod %{_kernel_ver}smp
510 %postun -n kernel24-smp-misc-vmmon
511 %depmod %{_kernel_ver}smp
513 %post -n kernel24-smp-misc-vmnet
514 %depmod %{_kernel_ver}smp
516 %postun -n kernel24-smp-misc-vmnet
517 %depmod %{_kernel_ver}smp
519 %if %{with userspace}
521 %defattr(644,root,root,755)
522 %doc doc/* lib/configurator/vmnet-{dhcpd,nat}.conf
523 %dir %{_sysconfdir}/vmware
524 %{_sysconfdir}/vmware/locations
525 %attr(755,root,root) %{_bindir}/vmware
526 %attr(755,root,root) %{_bindir}/vmware-loop
527 %attr(755,root,root) %{_bindir}/vmware-mount.pl
528 %attr(755,root,root) %{_bindir}/vmware-vdiskmanager
529 %dir %{_libdir}/vmware
530 %dir %{_libdir}/vmware/bin
532 %attr(4755,root,root) %{_libdir}/vmware/bin/vmware-vmx
533 %{_libdir}/vmware/config
534 %{_libdir}/vmware/floppies
535 %{_libdir}/vmware/isoimages
536 %if %{with internal_libs}
537 %attr(755,root,root) %{_libdir}/vmware/bin/vmware
538 %{_libdir}/vmware/lib
539 %attr(755,root,root) %{_libdir}/vmware/lib/wrapper-gtk24.sh
541 %{_libdir}/vmware/licenses
542 %dir %{_libdir}/vmware/messages
543 %{_libdir}/vmware/messages/en
544 %lang(ja) %{_libdir}/vmware/messages/ja
545 %{_libdir}/vmware/xkeymap
547 %attr(1777,root,root) %dir /var/run/vmware
549 %{_desktopdir}/%{name}.desktop
552 %defattr(644,root,root,755)
553 %dir %{_libdir}/vmware/bin-debug
555 %attr(4755,root,root) %{_libdir}/vmware/bin-debug/vmware-vmx
558 %defattr(644,root,root,755)
559 %{_libdir}/vmware/help*
562 %defattr(644,root,root,755)
563 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vmware/vmnet.conf
564 %attr(754,root,root) /etc/rc.d/init.d/vmnet
565 %attr(755,root,root) %{_bindir}/vmnet-bridge
566 %attr(755,root,root) %{_bindir}/vmnet-dhcpd
567 %attr(755,root,root) %{_bindir}/vmnet-natd
568 %attr(755,root,root) %{_bindir}/vmnet-netifup
569 %attr(755,root,root) %{_bindir}/vmnet-sniffer
570 %attr(755,root,root) %{_bindir}/vmware-ping
571 %dir %{_sysconfdir}/vmware/vmnet8
572 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vmware/vmnet8/dhcpd/dhcpd.conf
573 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vmware/vmnet8/nat/nat.conf
574 %verify(not md5 mtime size) %{_sysconfdir}/vmware/vmnet8/dhcpd/dhcpd.leases*
578 %defattr(644,root,root,755)
579 %doc lib/configurator/vmnet-smb.conf
580 %attr(755,root,root) %{_bindir}/vmware-nmbd
581 %attr(755,root,root) %{_bindir}/vmware-smbd
582 %attr(755,root,root) %{_bindir}/vmware-smbpasswd
583 %attr(755,root,root) %{_bindir}/vmware-smbpasswd.bin
584 %{_libdir}/vmware/smb
589 %if %{without kernel24}
590 %files -n kernel-misc-vmmon
591 %defattr(644,root,root,755)
592 /lib/modules/%{_kernel_ver}/misc/vmmon.ko*
594 %files -n kernel-misc-vmnet
595 %defattr(644,root,root,755)
596 /lib/modules/%{_kernel_ver}/misc/vmnet.ko*
598 %if %{with smp} && %{with dist_kernel}
599 %files -n kernel-smp-misc-vmmon
600 %defattr(644,root,root,755)
601 /lib/modules/%{_kernel_ver}smp/misc/vmmon.ko*
603 %files -n kernel-smp-misc-vmnet
604 %defattr(644,root,root,755)
605 /lib/modules/%{_kernel_ver}smp/misc/vmnet.ko*
609 %files -n kernel24-misc-vmmon
610 %defattr(644,root,root,755)
611 /lib/modules/%{_kernel_ver}/misc/vmmon.o*
613 %files -n kernel24-misc-vmnet
614 %defattr(644,root,root,755)
615 /lib/modules/%{_kernel_ver}/misc/vmnet.o*
617 %if %{with smp} && %{with dist_kernel}
618 %files -n kernel24-smp-misc-vmmon
619 %defattr(644,root,root,755)
620 /lib/modules/%{_kernel_ver}smp/misc/vmmon.o*
622 %files -n kernel24-smp-misc-vmnet
623 %defattr(644,root,root,755)
624 /lib/modules/%{_kernel_ver}smp/misc/vmnet.o*