%if %{with kernel24}
%define _kernelsrcdir /usr/src/linux-2.4
%endif
+
+%ifarch %{x8664}
+%undefine with_userspace
+%endif
#
-%define _ver 5.0.0
-%define _build 13124
-%define _rel 2
-%define _urel 96
+%define _ver 5.5.1
+%define _build 19175
+%define _rel 0.2
+%define _urel 101
+%define _ccver %(rpm -q --qf "%{VERSION}" gcc)
#
Summary: VMware Workstation
Summary(pl): VMware Workstation - wirtualna platforma dla stacji roboczej
License: custom, non-distributable
Group: Applications/Emulators
Source0: http://download3.vmware.com/software/wkst/%{name}-%{_ver}-%{_build}.tar.gz
-# NoSource0-md5: 91821fc2649749911f0e2d0ca37b3eb8
+# NoSource0-md5: 6101deb381beb49f5b99cb1f8a81a532
Source1: http://knihovny.cvut.cz/ftp/pub/vmware/vmware-any-any-update%{_urel}.tar.gz
-# Source1-md5: 79dd91c65f3719bb7847d63b314706c3
+# Source1-md5: b3ce457f5b9ae8b606fd70f56084877d
Source2: %{name}.init
Source3: %{name}-vmnet.conf
Source4: %{name}.png
NoSource: 0
URL: http://www.vmware.com/
BuildRequires: gcc-c++
-%{?with_dist_kernel:BuildRequires: kernel-module-build >= 2.6.7}
+%{?with_dist_kernel:BuildRequires: kernel-module-build >= 3:2.6.7}
BuildRequires: rpm-perlprov
-BuildRequires: rpmbuild(macros) >= 1.217
+BuildRequires: rpmbuild(macros) >= 1.268
BuildRequires: sed >= 4.0
Requires: kernel(vmmon) = %{version}-%{_rel}
Requires: libgnomecanvasmm
-ExclusiveArch: %{ix86}
+Requires: libview >= 0.5.5-2
+ExclusiveArch: %{ix86} %{x8664}
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%define _noautoprovfiles %{_libdir}/vmware/lib/.*\.so.*
Modu³y j±dra SMP dla VMware Workstation - vmnet-smp.
%prep
-%setup -q -n vmware-distrib
+#%setup -q -n vmware-distrib
%setup -qDT -n vmware-distrib -a1
+#mkdir vmware-any-any-update%{_urel}
cd vmware-any-any-update%{_urel}
tar xf vmmon.tar
tar xf vmnet.tar
-%patch0 -p0
+#tar xf ../lib/modules/source/vmmon.tar
+#tar xf ../lib/modules/source/vmnet.tar
+#%patch0 -p0
cp -a vmmon-only{,.clean}
cp -a vmnet-only{,.clean}
+sed -e 's/filter x86_64%/filter x86_64% amd64% ia64%/' \
+ -i vmnet-only.clean/Makefile.kernel
cd -
-%patch1 -p1
+#%patch1 -p1
%build
sed -i 's:vm_db_answer_LIBDIR:VM_LIBDIR:g;s:vm_db_answer_BINDIR:VM_BINDIR:g' bin/vmware
rm -rf $mod-only
cp -a $mod-only.clean $mod-only
cd $mod-only
- install -d include/{linux,config}
- touch include/config/MARKER
- ln -sf %{_kernelsrcdir}/config-$cfg .config
- ln -sf %{_kernelsrcdir}/include/linux/autoconf-$cfg.h include/linux/autoconf.h
- ln -sf %{_kernelsrcdir}/include/asm-%{_target_base_arch} include/asm
- ln -sf %{_kernelsrcdir}/include/asm-%{_target_base_arch} include/asm-%{_target_base_arch}
- ln -sf %{_kernelsrcdir}/Module.symvers-$cfg Module.symvers
+ install -d o/include/linux
+ ln -sf %{_kernelsrcdir}/config-$cfg o/.config
+ ln -sf %{_kernelsrcdir}/Module.symvers-$cfg o/Module.symvers
+ ln -sf %{_kernelsrcdir}/include/linux/autoconf-$cfg.h o/include/linux/autoconf.h
+ if grep -q "^CONFIG_PREEMPT_RT=y$" o/.config; then
+ sed -e '/pollQueueLock/s/SPIN_LOCK_UNLOCKED/SPIN_LOCK_UNLOCKED(pollQueueLock)/' \
+ -e '/timerLock/s/SPIN_LOCK_UNLOCKED/SPIN_LOCK_UNLOCKED(timerLock)/' \
+ -i ../vmmon-only/linux/driver.c
+ sed -e 's/SPIN_LOCK_UNLOCKED/SPIN_LOCK_UNLOCKED(vnetHubLock)/' \
+ -i ../vmnet-only/hub.c
+ sed -e 's/RW_LOCK_UNLOCKED/RW_LOCK_UNLOCKED(vnetPeerLock)/' \
+ -i ../vmnet-only/driver.c
+ fi
+ %if %{with dist_kernel}
+ %{__make} -C %{_kernelsrcdir} O=$PWD/o prepare scripts
+ %else
+ install -d o/include/config
+ touch o/include/config/MARKER
+ ln -sf %{_kernelsrcdir}/scripts o/scripts
+ %endif
%{__make} -C %{_kernelsrcdir} modules \
VMWARE_VER=VME_V5 \
- M=$PWD O=$PWD \
+ SRCROOT=$PWD \
+ M=$PWD O=$PWD/o \
VM_KBUILD=26 \
- %{?with_verbose:V=1}
+ %{?with_verbose:V=1} \
+ VM_CCVER=%{_ccver}
mv -f $mod.ko ../built/$mod-$cfg.ko
cd -
done
%else
for mod in vmmon vmnet ; do
rm -rf $mod-only
- tar xf $mod.tar
+ tar xf ../lib/modules/source/$mod.tar
cd $mod-only
sed -i s/'^HEADER_DIR.*'/'HEADER_DIR = \/usr\/src\/linux-2.4\/include'/ Makefile
sed -i s/'^BUILD_DIR.*'/'BUILD_DIR = .'/ Makefile
$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%{_libdir}/vmware/{bin,share/pixmaps} \
$RPM_BUILD_ROOT%{_mandir} \
$RPM_BUILD_ROOT%{_pixmapsdir} \
$RPM_BUILD_ROOT%{_desktopdir} \
touch $RPM_BUILD_ROOT%{_sysconfdir}/vmware/vmnet8/dhcpd/dhcpd.leases
touch $RPM_BUILD_ROOT%{_sysconfdir}/vmware/vmnet8/dhcpd/dhcpd.leases~
+install lib/share/pixmaps/* $RPM_BUILD_ROOT%{_libdir}/vmware/share/pixmaps
+
install bin/*-* $RPM_BUILD_ROOT%{_bindir}
install lib/bin/vmware-vmx $RPM_BUILD_ROOT%{_libdir}/vmware/bin
install bin/vmware $RPM_BUILD_ROOT%{_bindir}
install lib/bin/vmware $RPM_BUILD_ROOT%{_libdir}/vmware/bin
cp -r lib/lib $RPM_BUILD_ROOT%{_libdir}/vmware
+cp -r lib/libconf $RPM_BUILD_ROOT%{_libdir}/vmware
%else
install lib/bin/vmware $RPM_BUILD_ROOT%{_bindir}
%endif
%post networking
/sbin/chkconfig --add vmnet
-if [ -r /var/lock/subsys/vmnet ]; then
- /etc/rc.d/init.d/vmnet restart >&2
-else
- echo "Run \"/etc/rc.d/init.d/vmnet start\" to start VMware networking service."
-fi
+%service vmnet restart "VMware networking service"
%preun networking
if [ "$1" = "0" ]; then
- if [ -r /var/lock/subsys/vmnet ]; then
- /etc/rc.d/init.d/vmnet stop >&2
- fi
+ %service vmnet stop
/sbin/chkconfig --del vmnet
fi
%{_libdir}/vmware/isoimages
%if %{with internal_libs}
%attr(755,root,root) %{_libdir}/vmware/bin/vmware
-%{_libdir}/vmware/lib
+%dir %{_libdir}/vmware/lib
+%{_libdir}/vmware/lib/lib*
%attr(755,root,root) %{_libdir}/vmware/lib/wrapper-gtk24.sh
%endif
%{_libdir}/vmware/licenses
%dir %{_libdir}/vmware/messages
%{_libdir}/vmware/messages/en
%lang(ja) %{_libdir}/vmware/messages/ja
+%{_libdir}/vmware/share
%{_libdir}/vmware/xkeymap
%{_mandir}/man1/*
%attr(1777,root,root) %dir /var/run/vmware