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.UTF-8): 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.
73 %description -l pl.UTF-8
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.UTF-8): Narzędzie VMware do odpluskwiania
82 Group: Applications/Emulators
83 Requires: %{name} = %{version}-%{release}
88 %description debug -l pl.UTF-8
89 Narzędzie VMware do odpluskwiania.
92 Summary: VMware Workstation help files
93 Summary(pl.UTF-8): Pliki pomocy dla VMware Workstation
94 Group: Applications/Emulators
95 Requires: %{name} = %{version}-%{release}
99 VMware Workstation help files.
101 %description help -l pl.UTF-8
102 Pliki pomocy dla VMware Workstation.
105 Summary: VMware networking utilities
106 Summary(pl.UTF-8): 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.UTF-8
117 Narzędzia VMware do obsługi sieci.
120 Summary: VMware SMB utilities
121 Summary(pl.UTF-8): Narzędzia VMware do SMB
122 Group: Applications/Emulators
123 Requires: %{name} = %{version}-%{release}
126 VMware SMB utilities.
128 %description samba -l pl.UTF-8
129 Narzędzia VMware do SMB.
131 %package -n kernel%{_alt_kernel}-misc-vmmon
132 Summary: Kernel module for VMware Workstation
133 Summary(pl.UTF-8): 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.UTF-8
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.UTF-8): 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.UTF-8
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.UTF-8): 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.UTF-8
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.UTF-8): 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.UTF-8
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.UTF-8): 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.UTF-8
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.UTF-8): 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.UTF-8
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.UTF-8): 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.UTF-8
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.UTF-8): 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.UTF-8
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*