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 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}.tar.gz
37 # NoSource0-md5: 115993a6289f6a27a97584f61a9f436a
38 Source1: http://knihovny.cvut.cz/ftp/pub/vmware/vmware-any-any-update%{_urel}.tar.gz
39 # Source1-md5: cb3f91f2196778e6d76d5a6697286d04
41 Source3: %{name}-vmnet.conf
43 Source5: %{name}.desktop
44 Source6: %{name}-nat.conf
45 Source7: %{name}-dhcpd.conf
46 Patch0: %{name}-Makefile.patch
47 Patch1: %{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-vmmon
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(vmmon) = %{version}-%{_rel}
128 %description -n kernel%{_alt_kernel}-misc-vmmon
129 Kernel modules for VMware Workstation - vmmon.
131 %description -n kernel%{_alt_kernel}-misc-vmmon -l pl.UTF-8
132 Moduły jądra dla VMware Workstation - vmmon.
134 %package -n kernel%{_alt_kernel}-misc-vmnet
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(vmnet) = %{version}-%{_rel}
147 %description -n kernel%{_alt_kernel}-misc-vmnet
148 Kernel modules for VMware Workstation - vmnet.
150 %description -n kernel%{_alt_kernel}-misc-vmnet -l pl.UTF-8
151 Moduły jądra dla VMware Workstation - vmnet.
154 %setup -q -n vmware-distrib -a1
155 #%setup -qDT -n vmware-distrib -a1
156 #mkdir vmware-any-any-update%{_urel}
157 cd vmware-any-any-update%{_urel}
160 #tar xf ../lib/modules/source/vmmon.tar
161 #tar xf ../lib/modules/source/vmnet.tar
167 sed -i 's:vm_db_answer_LIBDIR:VM_LIBDIR:g;s:vm_db_answer_BINDIR:VM_BINDIR:g' bin/vmware
169 cd vmware-any-any-update%{_urel}
170 chmod u+w ../lib/bin/vmware-vmx ../lib/bin-debug/vmware-vmx ../bin/vmnet-bridge
174 %{__cc} %{rpmldflags} %{rpmcflags} -o update update.c
175 ./update vmx ../lib/bin/vmware-vmx
176 ./update vmxdebug ../lib/bin-debug/vmware-vmx
177 ./update bridge ../bin/vmnet-bridge
184 %define ModuleBuildArgs VMWARE_VER=VME_V5 SRCROOT=$PWD VM_KBUILD=26 VM_CCVER=%{_ccver}
186 %build_kernel_modules -c -C vmmon-only -m vmmon %{ModuleBuildArgs} <<'EOF'
189 %build_kernel_modules -c -C vmnet-only -m vmnet %{ModuleBuildArgs} <<'EOF'
195 rm -rf $RPM_BUILD_ROOT
197 %if %{with userspace}
199 $RPM_BUILD_ROOT%{_sysconfdir}/vmware \
200 $RPM_BUILD_ROOT%{_sysconfdir}/vmware/vmnet8/{nat,dhcpd} \
201 $RPM_BUILD_ROOT%{_bindir} \
202 $RPM_BUILD_ROOT%{_libdir}/vmware/{bin,share/pixmaps} \
203 $RPM_BUILD_ROOT%{_mandir} \
204 $RPM_BUILD_ROOT%{_pixmapsdir} \
205 $RPM_BUILD_ROOT%{_desktopdir} \
206 $RPM_BUILD_ROOT/etc/rc.d/init.d \
207 $RPM_BUILD_ROOT/var/run/vmware
211 install -d $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}/misc
213 cd vmware-any-any-update%{_urel}
215 %install_kernel_modules -m vmmon-only/vmmon,vmnet-only/vmnet -d misc
220 %if %{with userspace}
221 install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/vmnet
222 install %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/vmware/vmnet.conf
223 install %{SOURCE4} $RPM_BUILD_ROOT%{_pixmapsdir}
224 install %{SOURCE5} $RPM_BUILD_ROOT%{_desktopdir}
225 install %{SOURCE6} $RPM_BUILD_ROOT%{_sysconfdir}/vmware/vmnet8/nat/nat.conf
226 install %{SOURCE7} $RPM_BUILD_ROOT%{_sysconfdir}/vmware/vmnet8/dhcpd/dhcpd.conf
228 touch $RPM_BUILD_ROOT%{_sysconfdir}/vmware/vmnet8/dhcpd/dhcpd.leases
229 touch $RPM_BUILD_ROOT%{_sysconfdir}/vmware/vmnet8/dhcpd/dhcpd.leases~
231 install lib/share/pixmaps/* $RPM_BUILD_ROOT%{_libdir}/vmware/share/pixmaps
232 # required for starting vmware
233 install lib/share/EULA.txt $RPM_BUILD_ROOT%{_libdir}/vmware/share
235 install bin/*-* $RPM_BUILD_ROOT%{_bindir}
236 install lib/bin/vmware-vmx $RPM_BUILD_ROOT%{_libdir}/vmware/bin
238 #cp -r lib/{bin-debug,config,floppies,help*,isoimages,licenses,messages,smb,xkeymap} \
239 cp -r lib/{bin-debug,config,floppies,help*,isoimages,licenses,messages,xkeymap} \
240 $RPM_BUILD_ROOT%{_libdir}/vmware
242 cp -r man/* $RPM_BUILD_ROOT%{_mandir}
243 gunzip $RPM_BUILD_ROOT%{_mandir}/man?/*.gz
245 cat > $RPM_BUILD_ROOT%{_sysconfdir}/vmware/locations <<EOF
247 VM_LIBDIR=%{_libdir}/vmware
250 %if %{with internal_libs}
251 install bin/vmware $RPM_BUILD_ROOT%{_bindir}
252 install lib/bin/vmware $RPM_BUILD_ROOT%{_libdir}/vmware/bin
253 cp -r lib/lib $RPM_BUILD_ROOT%{_libdir}/vmware
254 cp -r lib/libconf $RPM_BUILD_ROOT%{_libdir}/vmware
256 install lib/bin/vmware $RPM_BUILD_ROOT%{_bindir}
261 rm -rf $RPM_BUILD_ROOT
264 /sbin/chkconfig --add vmnet
265 %service vmnet restart "VMware networking service"
268 if [ "$1" = "0" ]; then
270 /sbin/chkconfig --del vmnet
273 %post -n kernel%{_alt_kernel}-misc-vmmon
274 %depmod %{_kernel_ver}
276 %postun -n kernel%{_alt_kernel}-misc-vmmon
277 %depmod %{_kernel_ver}
279 %post -n kernel%{_alt_kernel}-misc-vmnet
280 %depmod %{_kernel_ver}
282 %postun -n kernel%{_alt_kernel}-misc-vmnet
283 %depmod %{_kernel_ver}
285 %if %{with userspace}
287 %defattr(644,root,root,755)
288 %doc doc/* lib/configurator/vmnet-{dhcpd,nat}.conf
289 %dir %{_sysconfdir}/vmware
290 %{_sysconfdir}/vmware/locations
291 %attr(755,root,root) %{_bindir}/vmware
292 %attr(755,root,root) %{_bindir}/vmware-loop
293 %attr(755,root,root) %{_bindir}/vmware-mount.pl
294 %attr(755,root,root) %{_bindir}/vmware-vdiskmanager
295 %dir %{_libdir}/vmware
296 %dir %{_libdir}/vmware/bin
298 %attr(4755,root,root) %{_libdir}/vmware/bin/vmware-vmx
299 %{_libdir}/vmware/config
300 %{_libdir}/vmware/floppies
301 %{_libdir}/vmware/isoimages
302 %if %{with internal_libs}
303 %attr(755,root,root) %{_libdir}/vmware/bin/vmware
304 %dir %{_libdir}/vmware/lib
305 %{_libdir}/vmware/lib/lib*
306 %attr(755,root,root) %{_libdir}/vmware/lib/wrapper-gtk24.sh
308 %{_libdir}/vmware/licenses
309 %dir %{_libdir}/vmware/messages
310 %{_libdir}/vmware/messages/en
311 %lang(ja) %{_libdir}/vmware/messages/ja
312 %{_libdir}/vmware/share
313 %{_libdir}/vmware/xkeymap
315 %attr(1777,root,root) %dir /var/run/vmware
317 %{_desktopdir}/%{name}.desktop
320 %defattr(644,root,root,755)
321 %dir %{_libdir}/vmware/bin-debug
323 %attr(4755,root,root) %{_libdir}/vmware/bin-debug/vmware-vmx
326 %defattr(644,root,root,755)
327 %{_libdir}/vmware/help*
330 %defattr(644,root,root,755)
331 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vmware/vmnet.conf
332 %attr(754,root,root) /etc/rc.d/init.d/vmnet
333 %attr(755,root,root) %{_bindir}/vmnet-bridge
334 %attr(755,root,root) %{_bindir}/vmnet-dhcpd
335 %attr(755,root,root) %{_bindir}/vmnet-natd
336 %attr(755,root,root) %{_bindir}/vmnet-netifup
337 %attr(755,root,root) %{_bindir}/vmnet-sniffer
338 %attr(755,root,root) %{_bindir}/vmware-ping
339 %dir %{_sysconfdir}/vmware/vmnet8
340 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vmware/vmnet8/dhcpd/dhcpd.conf
341 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vmware/vmnet8/nat/nat.conf
342 %verify(not md5 mtime size) %{_sysconfdir}/vmware/vmnet8/dhcpd/dhcpd.leases*
345 %if %{with kernel} || %{without dist_kernel}
346 %files -n kernel%{_alt_kernel}-misc-vmmon
347 %defattr(644,root,root,755)
348 /lib/modules/%{_kernel_ver}/misc/vmmon.ko*
350 %files -n kernel%{_alt_kernel}-misc-vmnet
351 %defattr(644,root,root,755)
352 /lib/modules/%{_kernel_ver}/misc/vmnet.ko*