#
# TODO:
-# -- Dependencies
+# - Dependencies
+# - http://www.vmware.com/support/ws45/doc/devices_linux_kb_ws.html#1040861
#
# Conditional build:
%bcond_with internal_libs # internal libs stuff
%bcond_without smp # without SMP kernel modules
#
%include /usr/lib/rpm/macros.perl
-
-%define _ver 4.5.1
-%define _build 7568
-%define _rel 2
-%define _urel 56
-
+#
+%define _ver 5.0.0
+%define _build 13124
+%define _rel 1
+%define _urel 90
+#
Summary: VMware Workstation
Summary(pl): VMware Workstation - wirtualna platforma dla stacji roboczej
Name: VMware-workstation
License: custom, non-distributable
Group: Applications/Emulators
Source0: http://download3.vmware.com/software/wkst/%{name}-%{_ver}-%{_build}.tar.gz
+# NoSource0-md5: 91821fc2649749911f0e2d0ca37b3eb8
Source1: http://knihovny.cvut.cz/ftp/pub/vmware/vmware-any-any-update%{_urel}.tar.gz
-# Source1-md5: bde9dbcfbaaaefe3afb5223eaf911e1d
+# Source1-md5: b8f6498f5275dc8ef3ea2d2e17061ede
Source2: %{name}.init
Source3: %{name}-vmnet.conf
+Source4: %{name}.png
+Source5: %{name}.desktop
+Source6: %{name}-nat.conf
+Source7: %{name}-dhcpd.conf
Patch0: %{name}-Makefile.patch
-Patch1: %{name}-run_script.patch
+Patch1: %{name}-compat.patch
+Patch2: %{name}-run_script.patch
NoSource: 0
+#Icon: XPM format req.
URL: http://www.vmware.com/
BuildRequires: gcc-c++
-BuildRequires: rpm-perlprov
-BuildRequires: rpmbuild(macros) >= 1.118
-BuildRequires: %{kgcc_package}
Requires: kernel(vmmon) = %{version}-%{_rel}
-%{?with_dist_kernel:BuildRequires: kernel-headers}
+%{?with_dist_kernel:BuildRequires: kernel-module-build >= 2.6.7}
+BuildRequires: rpm-perlprov
+BuildRequires: rpmbuild(macros) >= 1.153
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%define _noautoprovfiles %{_libdir}/vmware/lib/.*\.so.*
%description
VMware Workstation Virtual Platform is a thin software layer that
allows multiple guest operating systems to run concurrently on a
-single standard PC, without repartitioning or rebooting, and
-without significant loss of performance.
+single standard PC, without repartitioning or rebooting, and without
+significant loss of performance.
%description -l pl
VMware Workstation Virtual Platform to cienka warstwa oprogramowania
rebootowania, bez znacznej utraty wydajno¶ci.
%package debug
-Summary: TODO
-Summary(pl): TODO
-Group: Application/Emulators
+Summary: VMware debug utility
+Summary(pl): Narzêdzie VMware do odpluskwiania
+Group: Applications/Emulators
Requires: %{name} = %{version}-%{release}
%description debug
-TODO.
+VMware debug utility.
%description debug -l pl
-TODO.
+Narzêdzie VMware do odpluskwiania.
%package help
Summary: VMware Workstation help files
Summary(pl): Pliki pomocy dla VMware Workstation
-Group: Application/Emulators
+Group: Applications/Emulators
Requires: %{name} = %{version}-%{release}
Requires: mozilla
Pliki pomocy dla VMware Workstation.
%package networking
-Summary: TODO
-Summary(pl): TODO
-Group: Application/Emulators
+Summary: VMware networking utilities
+Summary(pl): Narzêdzia VMware do obs³ugi sieci
+Group: Applications/Emulators
Requires: %{name} = %{version}-%{release}
Requires: kernel(vmnet) = %{version}-%{_rel}
%description networking
-TODO.
+VMware networking utilities.
%description networking -l pl
-TODO.
+Narzêdzia VMware do obs³ugi sieci.
%package samba
-Summary: TODO
-Summary(pl): TODO
-Group: Application/Emulators
+Summary: VMware SMB utilities
+Summary(pl): Narzêdzia VMware do SMB
+Group: Applications/Emulators
Requires: %{name} = %{version}-%{release}
%description samba
-TODO.
+VMware SMB utilities.
%description samba -l pl
-TODO.
+Narzêdzia VMware do SMB.
%package -n kernel-misc-vmmon
Summary: Kernel module for VMware Workstation
Summary(pl): Modu³ j±dra dla VMware Workstation
Release: %{_rel}@%{_kernel_ver_str}
Group: Base/Kernel
-Provides: kernel(vmmon) = %{version}-%{_rel}
Requires(post,postun): /sbin/depmod
-%{?with_dist_kernel:%requires_releq_kernel_up}
+Requires: dev >= 2.9.0-7
+%if %{with dist_kernel}
+%requires_releq_kernel_up
+Requires(postun): %releq_kernel_up
+%endif
+Provides: kernel(vmmon) = %{version}-%{_rel}
%description -n kernel-misc-vmmon
Kernel modules for VMware Workstation - vmmon.
Summary(pl): Modu³ j±dra dla VMware Workstation
Release: %{_rel}@%{_kernel_ver_str}
Group: Base/Kernel
-Provides: kernel(vmnet) = %{version}-%{_rel}
Requires(post,postun): /sbin/depmod
-%{?with_dist_kernel:%requires_releq_kernel_up}
+Requires: dev >= 2.9.0-7
+%if %{with dist_kernel}
+%requires_releq_kernel_up
+Requires(postun): %releq_kernel_up
+%endif
+Provides: kernel(vmnet) = %{version}-%{_rel}
%description -n kernel-misc-vmnet
Kernel modules for VMware Workstation - vmnet.
Summary(pl): Modu³ j±dra SMP dla VMware Workstation
Release: %{_rel}@%{_kernel_ver_str}
Group: Base/Kernel
-Provides: kernel(vmmon) = %{version}-%{_rel}
Requires(post,postun): /sbin/depmod
-%{?with_dist_kernel:%requires_releq_kernel_smp}
+Requires: dev >= 2.9.0-7
+%if %{with dist_kernel}
+%requires_releq_kernel_smp
+Requires(postun): %releq_kernel_smp
+%endif
+Provides: kernel(vmmon) = %{version}-%{_rel}
%description -n kernel-smp-misc-vmmon
SMP kernel modules fov VMware Workstation - vmmon-smp.
Summary(pl): Modu³ j±dra SMP dla VMware Workstation
Release: %{_rel}@%{_kernel_ver_str}
Group: Base/Kernel
-Provides: kernel(vmnet) = %{version}-%{_rel}
Requires(post,postun): /sbin/depmod
-%{?with_dist_kernel:%requires_releq_kernel_smp}
+Requires: dev >= 2.9.0-7
+%if %{with dist_kernel}
+%requires_releq_kernel_smp
+Requires(postun): %releq_kernel_smp
+%endif
+Provides: kernel(vmnet) = %{version}-%{_rel}
%description -n kernel-smp-misc-vmnet
SMP kernel module for VMware Workstation - vmnet-smp.
%description -n kernel-smp-misc-vmnet -l pl
-Modu³y j±dra SMP dla VMware Workstation - vmnet-smp.
+Modu³y j±dra SMP dla VMware Workstation - vmnet-smp.
%prep
%setup -q -n vmware-distrib
tar xf vmmon.tar
tar xf vmnet.tar
%patch0 -p0
+%patch1 -p0
cd -
-%patch1 -p1
+%patch2 -p1
%build
cd vmware-any-any-update%{_urel}
+chmod u+w ../lib/bin/vmware-vmx ../lib/bin-debug/vmware-vmx ../bin/vmnet-bridge
+
+rm -f update
+%{__cc} %{rpmldflags} %{rpmcflags} -o update update.c
+./update vmx ../lib/bin/vmware-vmx
+./update vmxdebug ../lib/bin-debug/vmware-vmx
+./update bridge ../bin/vmnet-bridge
+
+rm -rf built
+mkdir built
+cp -a vmmon-only vmmon-only.clean
+cp -a vmnet-only vmnet-only.clean
for mod in vmmon vmnet ; do
for cfg in %{?with_dist_kernel:%{?with_smp:smp} up}%{!?with_dist_kernel:nondist}; do
if [ ! -r "%{_kernelsrcdir}/config-$cfg" ]; then
exit 1
fi
- cd ${mod}-only
- %{__make} clean
+ rm -rf $mod-only
+ cp -a $mod-only.clean $mod-only
+ cd $mod-only
install -d include/{linux,config}
- %{__make} -C %{_kernelsrcdir} mrproper SUBDIRS=$PWD O=$PWD
+ touch include/config/MARKER
ln -sf %{_kernelsrcdir}/config-$cfg .config
ln -sf %{_kernelsrcdir}/include/linux/autoconf-$cfg.h include/linux/autoconf.h
- touch include/linux/MARKER
- touch includeCheck.h
+ ln -sf %{_kernelsrcdir}/include/asm-%{_target_base_arch} include/asm
%{__make} -C %{_kernelsrcdir} modules \
- %{?with_smp:CPPFLAGS=\"-D__SMP__ SUPPORT_SMP=1\"} \
- SUBDIRS=$PWD O=$PWD \
+ VMWARE_VER=VME_V452 \
+ M=$PWD O=$PWD \
VM_KBUILD=26
- mv ${mod}.ko ${mod}-$cfg.ko
+ mv -f $mod.ko ../built/$mod-$cfg.ko
cd -
done
done
rm -rf $RPM_BUILD_ROOT
install -d \
$RPM_BUILD_ROOT%{_sysconfdir}/vmware \
+ $RPM_BUILD_ROOT%{_sysconfdir}/vmware/vmnet8/{nat,dhcpd} \
$RPM_BUILD_ROOT%{_bindir} \
$RPM_BUILD_ROOT%{_libdir}/vmware/bin \
$RPM_BUILD_ROOT%{_mandir} \
+ $RPM_BUILD_ROOT%{_pixmapsdir} \
+ $RPM_BUILD_ROOT%{_desktopdir} \
$RPM_BUILD_ROOT/etc/rc.d/init.d \
$RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}{,smp}/misc \
$RPM_BUILD_ROOT/var/run/vmware
cd vmware-any-any-update%{_urel}
-install vmmon-only/vmmon-%{?with_dist_kernel:up}%{!?with_dist_kernel:nondist}.ko \
+install built/vmmon-%{?with_dist_kernel:up}%{!?with_dist_kernel:nondist}.ko \
$RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}/misc/vmmon.ko
-install vmnet-only/vmnet-%{?with_dist_kernel:up}%{!?with_dist_kernel:nondist}.ko \
+install built/vmnet-%{?with_dist_kernel:up}%{!?with_dist_kernel:nondist}.ko \
$RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}/misc/vmnet.ko
%if %{with smp} && %{with dist_kernel}
-install vmmon-only/vmmon-smp.ko \
+install built/vmmon-smp.ko \
$RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}smp/misc/vmmon.ko
-install vmnet-only/vmnet-smp.ko \
+install built/vmnet-smp.ko \
$RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}smp/misc/vmnet.ko
%endif
cd -
install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/vmnet
-install %{SOURCE3} $RPM_BUILD_ROOT/etc/vmware/vmnet.conf
+install %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/vmware/vmnet.conf
+install %{SOURCE4} $RPM_BUILD_ROOT%{_pixmapsdir}
+install %{SOURCE5} $RPM_BUILD_ROOT%{_desktopdir}
+install %{SOURCE6} $RPM_BUILD_ROOT%{_sysconfdir}/vmware/vmnet8/nat/nat.conf
+install %{SOURCE7} $RPM_BUILD_ROOT%{_sysconfdir}/vmware/vmnet8/dhcpd/dhcpd.conf
+
+touch $RPM_BUILD_ROOT%{_sysconfdir}/vmware/vmnet8/dhcpd/dhcpd.leases
+touch $RPM_BUILD_ROOT%{_sysconfdir}/vmware/vmnet8/dhcpd/dhcpd.leases~
cp bin/*-* $RPM_BUILD_ROOT%{_bindir}
%if %{with internal_libs}
cp bin/vmware $RPM_BUILD_ROOT%{_bindir}/vmware.sh
-cp -r lib/lib $RPM_BUILD_ROOT%{_libdir}/vmware
+cp -r lib/lib $RPM_BUILD_ROOT%{_libdir}/vmware
%endif
%clean
%depmod %{_kernel_ver}
%post -n kernel-smp-misc-vmmon
-%depmod %{_kernel_ver}
+%depmod %{_kernel_ver}smp
%postun -n kernel-smp-misc-vmmon
-%depmod %{_kernel_ver}
+%depmod %{_kernel_ver}smp
%post -n kernel-smp-misc-vmnet
-%depmod %{_kernel_ver}
+%depmod %{_kernel_ver}smp
%postun -n kernel-smp-misc-vmnet
-%depmod %{_kernel_ver}
+%depmod %{_kernel_ver}smp
%files
%defattr(644,root,root,755)
%doc doc/* lib/configurator/vmnet-{dhcpd,nat}.conf
-%dev (c,10,165) %attr(640,root,root) /dev/vmmon
-%dev (c,119,10) %attr(640,root,root) /dev/vmnet0
-%dev (c,119,10) %attr(640,root,root) /dev/vmnet1
-%dev (c,119,10) %attr(640,root,root) /dev/vmnet2
-%dev (c,119,10) %attr(640,root,root) /dev/vmnet3
-%dev (c,119,10) %attr(640,root,root) /dev/vmnet4
-%dev (c,119,10) %attr(640,root,root) /dev/vmnet5
-%dev (c,119,10) %attr(640,root,root) /dev/vmnet6
-%dev (c,119,10) %attr(640,root,root) /dev/vmnet7
-%dev (c,119,10) %attr(640,root,root) /dev/vmnet8
%dir %{_sysconfdir}/vmware
%{_sysconfdir}/vmware/locations
%attr(755,root,root) %{_bindir}/vmware
%{?with_internal_libs:%attr(755,root,root) %{_bindir}/vmware.sh}
%attr(755,root,root) %{_bindir}/vmware-loop
%attr(755,root,root) %{_bindir}/vmware-mount.pl
-%attr(755,root,root) %{_bindir}/vmware-wizard
+%attr(755,root,root) %{_bindir}/vmware-vdiskmanager
%dir %{_libdir}/vmware
%dir %{_libdir}/vmware/bin
# warning: SUID !!!
%{_libdir}/vmware/xkeymap
%{_mandir}/man1/*
%attr(1777,root,root) %dir /var/run/vmware
+%{_pixmapsdir}/*.png
+%{_desktopdir}/%{name}.desktop
%files debug
%defattr(644,root,root,755)
%files networking
%defattr(644,root,root,755)
-%config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/vmware/vmnet.conf
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vmware/vmnet.conf
%attr(754,root,root) /etc/rc.d/init.d/vmnet
%attr(755,root,root) %{_bindir}/vmnet-bridge
%attr(755,root,root) %{_bindir}/vmnet-dhcpd
%attr(755,root,root) %{_bindir}/vmnet-netifup
%attr(755,root,root) %{_bindir}/vmnet-sniffer
%attr(755,root,root) %{_bindir}/vmware-ping
+%{_sysconfdir}/vmware/vmnet8
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vmware/vmnet8/dhcpd/dhcpd.conf
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vmware/vmnet8/nat/nat.conf
+%verify(not md5 mtime size) %{_sysconfdir}/vmware/vmnet8/dhcpd/dhcpd.leases*
%files samba
%defattr(644,root,root,755)
%files -n kernel-misc-vmmon
%defattr(644,root,root,755)
-/lib/modules/%{_kernel_ver}/misc/vmmon.*
+/lib/modules/%{_kernel_ver}/misc/vmmon.ko*
%files -n kernel-misc-vmnet
%defattr(644,root,root,755)
-/lib/modules/%{_kernel_ver}/misc/vmnet.*
+/lib/modules/%{_kernel_ver}/misc/vmnet.ko*
%if %{with smp} && %{with dist_kernel}
%files -n kernel-smp-misc-vmmon
%defattr(644,root,root,755)
-/lib/modules/%{_kernel_ver}smp/misc/vmmon-smp.*
+/lib/modules/%{_kernel_ver}smp/misc/vmmon.ko*
%files -n kernel-smp-misc-vmnet
%defattr(644,root,root,755)
-/lib/modules/%{_kernel_ver}smp/misc/vmnet-smp.*
+/lib/modules/%{_kernel_ver}smp/misc/vmnet.ko*
%endif