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 up # without UP kernel modules
10 %bcond_without smp # without SMP kernel modules
11 %bcond_without userspace # don't build userspace utilities
12 %bcond_with kernel24 # build kernel24 modules (disable kernel26)
13 %bcond_with internal_libs # internal libs stuff
14 %bcond_with verbose # verbose build (V=1)
16 %include /usr/lib/rpm/macros.perl
18 %define _kernelsrcdir /usr/src/linux-2.4
22 %undefine with_userspace
26 %undefine with_dist_kernel
33 %define _ccver %(rpm -q --qf "%{VERSION}" gcc)
35 Summary: VMware Workstation
36 Summary(pl.UTF-8): VMware Workstation - wirtualna platforma dla stacji roboczej
37 Name: VMware-workstation
38 Version: %{_ver}.%{_build}
40 License: custom, non-distributable
41 Group: Applications/Emulators
42 Source0: http://download3.vmware.com/software/wkst/%{name}-%{_ver}-%{_build}.tar.gz
43 # NoSource0-md5: 08a7732afddeb9db41a25a9557fd0397
44 Source1: http://knihovny.cvut.cz/ftp/pub/vmware/vmware-any-any-update%{_urel}.tar.gz
45 # Source1-md5: 2b65f2c3867e45a7b0674591f2ca8015
47 Source3: %{name}-vmnet.conf
49 Source5: %{name}.desktop
50 Source6: %{name}-nat.conf
51 Source7: %{name}-dhcpd.conf
52 Patch0: %{name}-Makefile.patch
53 Patch1: %{name}-run_script.patch
55 URL: http://www.vmware.com/
56 %{?with_kernel:BuildRequires: gcc-c++}
57 %{?with_dist_kernel:BuildRequires: kernel%{_alt_kernel}-module-build >= 3:2.6.7}
58 %{?with_userspace:BuildRequires: rpm-perlprov}
59 BuildRequires: rpmbuild(macros) >= 1.332
60 BuildRequires: sed >= 4.0
61 Requires: libgnomecanvasmm
62 Requires: libview >= 0.5.5-2
63 ExclusiveArch: %{ix86} %{x8664}
64 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
66 %define _noautoprovfiles %{_libdir}/vmware/lib/.*\.so.*
69 VMware Workstation Virtual Platform is a thin software layer that
70 allows multiple guest operating systems to run concurrently on a
71 single standard PC, without repartitioning or rebooting, and without
72 significant loss of performance.
74 %description -l pl.UTF-8
75 VMware Workstation Virtual Platform to cienka warstwa oprogramowania
76 pozwalająca na jednoczesne działanie wielu gościnnych systemów
77 operacyjnych na jednym zwykłym PC, bez repartycjonowania ani
78 rebootowania, bez znacznej utraty wydajności.
81 Summary: VMware debug utility
82 Summary(pl.UTF-8): Narzędzie VMware do odpluskwiania
83 Group: Applications/Emulators
84 Requires: %{name} = %{version}-%{release}
89 %description debug -l pl.UTF-8
90 Narzędzie VMware do odpluskwiania.
93 Summary: VMware Workstation help files
94 Summary(pl.UTF-8): Pliki pomocy dla VMware Workstation
95 Group: Applications/Emulators
96 Requires: %{name} = %{version}-%{release}
100 VMware Workstation help files.
102 %description help -l pl.UTF-8
103 Pliki pomocy dla VMware Workstation.
106 Summary: VMware networking utilities
107 Summary(pl.UTF-8): Narzędzia VMware do obsługi sieci
108 Group: Applications/Emulators
109 Requires(post,preun): /sbin/chkconfig
110 Requires: %{name} = %{version}-%{release}
112 Obsoletes: VMware-workstation-samba
114 %description networking
115 VMware networking utilities.
117 %description networking -l pl.UTF-8
118 Narzędzia VMware do obsługi sieci.
121 Summary: VMware SMB utilities
122 Summary(pl.UTF-8): Narzędzia VMware do SMB
123 Group: Applications/Emulators
124 Requires: %{name} = %{version}-%{release}
127 VMware SMB utilities.
129 %description samba -l pl.UTF-8
130 Narzędzia VMware do SMB.
132 %package -n kernel%{_alt_kernel}-misc-vmmon
133 Summary: Kernel module for VMware Workstation
134 Summary(pl.UTF-8): Moduł jądra dla VMware Workstation
135 Release: %{_rel}@%{_kernel_ver_str}
137 Requires(post,postun): /sbin/depmod
138 Requires: dev >= 2.9.0-7
139 %if %{with dist_kernel}
140 %requires_releq_kernel_up
141 Requires(postun): %releq_kernel_up
143 Provides: kernel(vmmon) = %{version}-%{_rel}
145 %description -n kernel%{_alt_kernel}-misc-vmmon
146 Kernel modules for VMware Workstation - vmmon.
148 %description -n kernel%{_alt_kernel}-misc-vmmon -l pl.UTF-8
149 Moduły jądra dla VMware Workstation - vmmon.
151 %package -n kernel%{_alt_kernel}-misc-vmnet
152 Summary: Kernel module for VMware Workstation
153 Summary(pl.UTF-8): Moduł jądra dla VMware Workstation
154 Release: %{_rel}@%{_kernel_ver_str}
156 Requires(post,postun): /sbin/depmod
157 Requires: dev >= 2.9.0-7
158 %if %{with dist_kernel}
159 %requires_releq_kernel_up
160 Requires(postun): %releq_kernel_up
162 Provides: kernel(vmnet) = %{version}-%{_rel}
164 %description -n kernel%{_alt_kernel}-misc-vmnet
165 Kernel modules for VMware Workstation - vmnet.
167 %description -n kernel%{_alt_kernel}-misc-vmnet -l pl.UTF-8
168 Moduły jądra dla VMware Workstation - vmnet.
170 %package -n kernel%{_alt_kernel}-smp-misc-vmmon
171 Summary: SMP kernel module for VMware Workstation
172 Summary(pl.UTF-8): Moduł jądra SMP dla VMware Workstation
173 Release: %{_rel}@%{_kernel_ver_str}
175 Requires(post,postun): /sbin/depmod
176 Requires: dev >= 2.9.0-7
177 %if %{with dist_kernel}
178 %requires_releq_kernel_smp
179 Requires(postun): %releq_kernel_smp
181 Provides: kernel(vmmon) = %{version}-%{_rel}
183 %description -n kernel%{_alt_kernel}-smp-misc-vmmon
184 SMP kernel modules fov VMware Workstation - vmmon-smp.
186 %description -n kernel%{_alt_kernel}-smp-misc-vmmon -l pl.UTF-8
187 Moduły jądra SMP dla VMware Workstation - vmmon-smp.
189 %package -n kernel%{_alt_kernel}-smp-misc-vmnet
190 Summary: SMP kernel module for VMware Workstation
191 Summary(pl.UTF-8): Moduł jądra SMP dla VMware Workstation
192 Release: %{_rel}@%{_kernel_ver_str}
194 Requires(post,postun): /sbin/depmod
195 Requires: dev >= 2.9.0-7
196 %if %{with dist_kernel}
197 %requires_releq_kernel_smp
198 Requires(postun): %releq_kernel_smp
200 Provides: kernel(vmnet) = %{version}-%{_rel}
202 %description -n kernel%{_alt_kernel}-smp-misc-vmnet
203 SMP kernel module for VMware Workstation - vmnet-smp.
205 %description -n kernel%{_alt_kernel}-smp-misc-vmnet -l pl.UTF-8
206 Moduły jądra SMP dla VMware Workstation - vmnet-smp.
208 %package -n kernel24-misc-vmmon
209 Summary: Kernel module for VMware Workstation
210 Summary(pl.UTF-8): Moduł jądra dla VMware Workstation
211 Release: %{_rel}@%{_kernel_ver_str}
213 Requires(post,postun): /sbin/depmod
214 Requires: dev >= 2.9.0-7
215 %if %{with dist_kernel}
216 %requires_releq_kernel_up
217 Requires(postun): %releq_kernel_up
219 Provides: kernel(vmmon) = %{version}-%{_rel}
221 %description -n kernel24-misc-vmmon
222 Kernel modules for VMware Workstation - vmmon.
224 %description -n kernel24-misc-vmmon -l pl.UTF-8
225 Moduły jądra dla VMware Workstation - vmmon.
227 %package -n kernel24-misc-vmnet
228 Summary: Kernel module for VMware Workstation
229 Summary(pl.UTF-8): Moduł jądra dla VMware Workstation
230 Release: %{_rel}@%{_kernel_ver_str}
232 Requires(post,postun): /sbin/depmod
233 Requires: dev >= 2.9.0-7
234 %if %{with dist_kernel}
235 %requires_releq_kernel_up
236 Requires(postun): %releq_kernel_up
238 Provides: kernel(vmnet) = %{version}-%{_rel}
240 %description -n kernel24-misc-vmnet
241 Kernel modules for VMware Workstation - vmnet.
243 %description -n kernel24-misc-vmnet -l pl.UTF-8
244 Moduły jądra dla VMware Workstation - vmnet.
246 %package -n kernel24-smp-misc-vmmon
247 Summary: SMP kernel module for VMware Workstation
248 Summary(pl.UTF-8): Moduł jądra SMP dla VMware Workstation
249 Release: %{_rel}@%{_kernel_ver_str}
251 Requires(post,postun): /sbin/depmod
252 Requires: dev >= 2.9.0-7
253 %if %{with dist_kernel}
254 %requires_releq_kernel_smp
255 Requires(postun): %releq_kernel_smp
257 Provides: kernel(vmmon) = %{version}-%{_rel}
259 %description -n kernel24-smp-misc-vmmon
260 SMP kernel modules fov VMware Workstation - vmmon-smp.
262 %description -n kernel24-smp-misc-vmmon -l pl.UTF-8
263 Moduły jądra SMP dla VMware Workstation - vmmon-smp.
265 %package -n kernel24-smp-misc-vmnet
266 Summary: SMP kernel module for VMware Workstation
267 Summary(pl.UTF-8): Moduł jądra SMP dla VMware Workstation
268 Release: %{_rel}@%{_kernel_ver_str}
270 Requires(post,postun): /sbin/depmod
271 Requires: dev >= 2.9.0-7
272 %if %{with dist_kernel}
273 %requires_releq_kernel_smp
274 Requires(postun): %releq_kernel_smp
276 Provides: kernel(vmnet) = %{version}-%{_rel}
278 %description -n kernel24-smp-misc-vmnet
279 SMP kernel module for VMware Workstation - vmnet-smp.
281 %description -n kernel24-smp-misc-vmnet -l pl.UTF-8
282 Moduły jądra SMP dla VMware Workstation - vmnet-smp.
285 %setup -q -n vmware-distrib -a1
286 #%setup -qDT -n vmware-distrib -a1
287 #mkdir vmware-any-any-update%{_urel}
288 cd vmware-any-any-update%{_urel}
291 #tar xf ../lib/modules/source/vmmon.tar
292 #tar xf ../lib/modules/source/vmnet.tar
298 sed -i 's:vm_db_answer_LIBDIR:VM_LIBDIR:g;s:vm_db_answer_BINDIR:VM_BINDIR:g' bin/vmware
300 cd vmware-any-any-update%{_urel}
301 chmod u+w ../lib/bin/vmware-vmx ../lib/bin-debug/vmware-vmx ../bin/vmnet-bridge
305 %{__cc} %{rpmldflags} %{rpmcflags} -o update update.c
306 ./update vmx ../lib/bin/vmware-vmx
307 ./update vmxdebug ../lib/bin-debug/vmware-vmx
308 ./update bridge ../bin/vmnet-bridge
315 %if !%{with kernel24}
316 %define ModuleBuildArgs VMWARE_VER=VME_V5 SRCROOT=$PWD VM_KBUILD=26 VM_CCVER=%{_ccver}
318 %build_kernel_modules -c -C vmmon-only -m vmmon %{ModuleBuildArgs} <<'EOF'
321 %build_kernel_modules -c -C vmnet-only -m vmnet %{ModuleBuildArgs} <<'EOF'
326 for mod in vmmon vmnet ; do
328 tar xf ../lib/modules/source/$mod.tar
330 sed -i s/'^HEADER_DIR.*'/'HEADER_DIR = \/usr\/src\/linux-2.4\/include'/ Makefile
331 sed -i s/'^BUILD_DIR.*'/'BUILD_DIR = .'/ Makefile
335 VM_KBUILD=no VMWARE_VER=VME_V5 \
336 M=$PWD O=$PWD CC=%{kgcc} \
337 INCLUDES="%{rpmcflags} -I. -D__KERNEL_SMP=1 -D__SMP__ -I%{_kernelsrcdir}/include"
338 if [ -e $mod-xxx-* ]; then
339 mv -f $mod-xxx-* ../built/$mod-smp.o
341 mv -f driver-*/$mod-xxx-* ../built/$mod-smp.o
344 %{__make} VM_KBUILD=no clean
347 VM_KBUILD=no VMWARE_VER=VME_V5 \
348 M=$PWD O=$PWD CC=%{kgcc} \
349 INCLUDES="%{rpmcflags} -I. -I%{_kernelsrcdir}/include"
350 if [ -e $mod-xxx-* ]; then
351 mv -f $mod-xxx-* ../built/$mod.o
353 mv -f driver-*/$mod-xxx-* ../built/$mod.o
363 rm -rf $RPM_BUILD_ROOT
365 %if %{with userspace}
367 $RPM_BUILD_ROOT%{_sysconfdir}/vmware \
368 $RPM_BUILD_ROOT%{_sysconfdir}/vmware/vmnet8/{nat,dhcpd} \
369 $RPM_BUILD_ROOT%{_bindir} \
370 $RPM_BUILD_ROOT%{_libdir}/vmware/{bin,share/pixmaps} \
371 $RPM_BUILD_ROOT%{_mandir} \
372 $RPM_BUILD_ROOT%{_pixmapsdir} \
373 $RPM_BUILD_ROOT%{_desktopdir} \
374 $RPM_BUILD_ROOT/etc/rc.d/init.d \
375 $RPM_BUILD_ROOT/var/run/vmware
379 install -d $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}{,smp}/misc
381 cd vmware-any-any-update%{_urel}
383 %if !%{with kernel24}
384 %install_kernel_modules -m vmmon-only/vmmon,vmnet-only/vmnet -d misc
387 install built/vmmon.o \
388 $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}/misc/vmmon.o
389 install built/vmnet.o \
390 $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}/misc/vmnet.o
391 %if %{with smp} && %{with dist_kernel}
392 install built/vmmon-smp.o \
393 $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}smp/misc/vmmon.o
394 install built/vmnet-smp.o \
395 $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}smp/misc/vmnet.o
403 %if %{with userspace}
404 install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/vmnet
405 install %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/vmware/vmnet.conf
406 install %{SOURCE4} $RPM_BUILD_ROOT%{_pixmapsdir}
407 install %{SOURCE5} $RPM_BUILD_ROOT%{_desktopdir}
408 install %{SOURCE6} $RPM_BUILD_ROOT%{_sysconfdir}/vmware/vmnet8/nat/nat.conf
409 install %{SOURCE7} $RPM_BUILD_ROOT%{_sysconfdir}/vmware/vmnet8/dhcpd/dhcpd.conf
411 touch $RPM_BUILD_ROOT%{_sysconfdir}/vmware/vmnet8/dhcpd/dhcpd.leases
412 touch $RPM_BUILD_ROOT%{_sysconfdir}/vmware/vmnet8/dhcpd/dhcpd.leases~
414 install lib/share/pixmaps/* $RPM_BUILD_ROOT%{_libdir}/vmware/share/pixmaps
415 # required for starting vmware
416 install lib/share/EULA.txt $RPM_BUILD_ROOT%{_libdir}/vmware/share
418 install bin/*-* $RPM_BUILD_ROOT%{_bindir}
419 install lib/bin/vmware-vmx $RPM_BUILD_ROOT%{_libdir}/vmware/bin
421 #cp -r lib/{bin-debug,config,floppies,help*,isoimages,licenses,messages,smb,xkeymap} \
422 cp -r lib/{bin-debug,config,floppies,help*,isoimages,licenses,messages,xkeymap} \
423 $RPM_BUILD_ROOT%{_libdir}/vmware
425 cp -r man/* $RPM_BUILD_ROOT%{_mandir}
426 gunzip $RPM_BUILD_ROOT%{_mandir}/man?/*.gz
428 cat > $RPM_BUILD_ROOT%{_sysconfdir}/vmware/locations <<EOF
430 VM_LIBDIR=%{_libdir}/vmware
433 %if %{with internal_libs}
434 install bin/vmware $RPM_BUILD_ROOT%{_bindir}
435 install lib/bin/vmware $RPM_BUILD_ROOT%{_libdir}/vmware/bin
436 cp -r lib/lib $RPM_BUILD_ROOT%{_libdir}/vmware
437 cp -r lib/libconf $RPM_BUILD_ROOT%{_libdir}/vmware
439 install lib/bin/vmware $RPM_BUILD_ROOT%{_bindir}
444 rm -rf $RPM_BUILD_ROOT
447 /sbin/chkconfig --add vmnet
448 %service vmnet restart "VMware networking service"
451 if [ "$1" = "0" ]; then
453 /sbin/chkconfig --del vmnet
456 %post -n kernel%{_alt_kernel}-misc-vmmon
457 %depmod %{_kernel_ver}
459 %postun -n kernel%{_alt_kernel}-misc-vmmon
460 %depmod %{_kernel_ver}
462 %post -n kernel%{_alt_kernel}-misc-vmnet
463 %depmod %{_kernel_ver}
465 %postun -n kernel%{_alt_kernel}-misc-vmnet
466 %depmod %{_kernel_ver}
468 %post -n kernel%{_alt_kernel}-smp-misc-vmmon
469 %depmod %{_kernel_ver}smp
471 %postun -n kernel%{_alt_kernel}-smp-misc-vmmon
472 %depmod %{_kernel_ver}smp
474 %post -n kernel%{_alt_kernel}-smp-misc-vmnet
475 %depmod %{_kernel_ver}smp
477 %postun -n kernel%{_alt_kernel}-smp-misc-vmnet
478 %depmod %{_kernel_ver}smp
480 %post -n kernel24-misc-vmmon
481 %depmod %{_kernel_ver}
483 %postun -n kernel24-misc-vmmon
484 %depmod %{_kernel_ver}
486 %post -n kernel24-misc-vmnet
487 %depmod %{_kernel_ver}
489 %postun -n kernel24-misc-vmnet
490 %depmod %{_kernel_ver}
492 %post -n kernel24-smp-misc-vmmon
493 %depmod %{_kernel_ver}smp
495 %postun -n kernel24-smp-misc-vmmon
496 %depmod %{_kernel_ver}smp
498 %post -n kernel24-smp-misc-vmnet
499 %depmod %{_kernel_ver}smp
501 %postun -n kernel24-smp-misc-vmnet
502 %depmod %{_kernel_ver}smp
504 %if %{with userspace}
506 %defattr(644,root,root,755)
507 %doc doc/* lib/configurator/vmnet-{dhcpd,nat}.conf
508 %dir %{_sysconfdir}/vmware
509 %{_sysconfdir}/vmware/locations
510 %attr(755,root,root) %{_bindir}/vmware
511 %attr(755,root,root) %{_bindir}/vmware-loop
512 %attr(755,root,root) %{_bindir}/vmware-mount.pl
513 %attr(755,root,root) %{_bindir}/vmware-vdiskmanager
514 %dir %{_libdir}/vmware
515 %dir %{_libdir}/vmware/bin
517 %attr(4755,root,root) %{_libdir}/vmware/bin/vmware-vmx
518 %{_libdir}/vmware/config
519 %{_libdir}/vmware/floppies
520 %{_libdir}/vmware/isoimages
521 %if %{with internal_libs}
522 %attr(755,root,root) %{_libdir}/vmware/bin/vmware
523 %dir %{_libdir}/vmware/lib
524 %{_libdir}/vmware/lib/lib*
525 %attr(755,root,root) %{_libdir}/vmware/lib/wrapper-gtk24.sh
527 %{_libdir}/vmware/licenses
528 %dir %{_libdir}/vmware/messages
529 %{_libdir}/vmware/messages/en
530 %lang(ja) %{_libdir}/vmware/messages/ja
531 %{_libdir}/vmware/share
532 %{_libdir}/vmware/xkeymap
534 %attr(1777,root,root) %dir /var/run/vmware
536 %{_desktopdir}/%{name}.desktop
539 %defattr(644,root,root,755)
540 %dir %{_libdir}/vmware/bin-debug
542 %attr(4755,root,root) %{_libdir}/vmware/bin-debug/vmware-vmx
545 %defattr(644,root,root,755)
546 %{_libdir}/vmware/help*
549 %defattr(644,root,root,755)
550 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vmware/vmnet.conf
551 %attr(754,root,root) /etc/rc.d/init.d/vmnet
552 %attr(755,root,root) %{_bindir}/vmnet-bridge
553 %attr(755,root,root) %{_bindir}/vmnet-dhcpd
554 %attr(755,root,root) %{_bindir}/vmnet-natd
555 %attr(755,root,root) %{_bindir}/vmnet-netifup
556 %attr(755,root,root) %{_bindir}/vmnet-sniffer
557 %attr(755,root,root) %{_bindir}/vmware-ping
558 %dir %{_sysconfdir}/vmware/vmnet8
559 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vmware/vmnet8/dhcpd/dhcpd.conf
560 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vmware/vmnet8/nat/nat.conf
561 %verify(not md5 mtime size) %{_sysconfdir}/vmware/vmnet8/dhcpd/dhcpd.leases*
565 %defattr(644,root,root,755)
566 %doc lib/configurator/vmnet-smb.conf
567 %attr(755,root,root) %{_bindir}/vmware-nmbd
568 %attr(755,root,root) %{_bindir}/vmware-smbd
569 %attr(755,root,root) %{_bindir}/vmware-smbpasswd
570 %attr(755,root,root) %{_bindir}/vmware-smbpasswd.bin
571 %{_libdir}/vmware/smb
576 %if %{without kernel24}
577 %if %{with up} || %{without dist_kernel}
578 %files -n kernel%{_alt_kernel}-misc-vmmon
579 %defattr(644,root,root,755)
580 /lib/modules/%{_kernel_ver}/misc/vmmon.ko*
582 %files -n kernel%{_alt_kernel}-misc-vmnet
583 %defattr(644,root,root,755)
584 /lib/modules/%{_kernel_ver}/misc/vmnet.ko*
587 %if %{with smp} && %{with dist_kernel}
588 %files -n kernel%{_alt_kernel}-smp-misc-vmmon
589 %defattr(644,root,root,755)
590 /lib/modules/%{_kernel_ver}smp/misc/vmmon.ko*
592 %files -n kernel%{_alt_kernel}-smp-misc-vmnet
593 %defattr(644,root,root,755)
594 /lib/modules/%{_kernel_ver}smp/misc/vmnet.ko*
598 %files -n kernel24-misc-vmmon
599 %defattr(644,root,root,755)
600 /lib/modules/%{_kernel_ver}/misc/vmmon.o*
602 %files -n kernel24-misc-vmnet
603 %defattr(644,root,root,755)
604 /lib/modules/%{_kernel_ver}/misc/vmnet.o*
606 %if %{with smp} && %{with dist_kernel}
607 %files -n kernel24-smp-misc-vmmon
608 %defattr(644,root,root,755)
609 /lib/modules/%{_kernel_ver}smp/misc/vmmon.o*
611 %files -n kernel24-smp-misc-vmnet
612 %defattr(644,root,root,755)
613 /lib/modules/%{_kernel_ver}smp/misc/vmnet.o*