%undefine with_userspace
%endif
-%if %{without kernel}
+%if !%{with kernel}
%undefine with_dist_kernel
%endif
#
%define _ver 5.5.2
%define _build 29772
%define _rel 1
-%define _urel 104
+%define _urel 105
%define _ccver %(rpm -q --qf "%{VERSION}" gcc)
#
Summary: VMware Workstation
Source0: http://download3.vmware.com/software/wkst/%{name}-%{_ver}-%{_build}.tar.gz
# NoSource0-md5: 6463a9bf44e10de9c11f65ed52112ff5
Source1: http://knihovny.cvut.cz/ftp/pub/vmware/vmware-any-any-update%{_urel}.tar.gz
-# Source1-md5: 8cba16d3f6b3723b43d555a5f7cbf850
+# Source1-md5: edad0bd1abf80caaf672498e14ad8727
Source2: %{name}.init
Source3: %{name}-vmnet.conf
Source4: %{name}.png
%{?with_kernel:BuildRequires: gcc-c++}
%{?with_dist_kernel:BuildRequires: kernel%{_alt_kernel}-module-build >= 3:2.6.7}
%{?with_userspace:BuildRequires: rpm-perlprov}
-BuildRequires: rpmbuild(macros) >= 1.308
+BuildRequires: rpmbuild(macros) >= 1.332
BuildRequires: sed >= 4.0
Requires: libgnomecanvasmm
Requires: libview >= 0.5.5-2
#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
rm -rf built
mkdir built
-%if %{without kernel24}
-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
- rm -rf $mod-only
- cp -a $mod-only.clean $mod-only
- cd $mod-only
- 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} -j1 -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 \
- SRCROOT=$PWD \
- M=$PWD O=$PWD/o \
- VM_KBUILD=26 \
- %{?with_verbose:V=1} \
- VM_CCVER=%{_ccver}
- mv -f $mod.ko ../built/$mod-$cfg.ko
- cd -
- done
-done
+%if !%{with kernel24}
+%define ModuleBuildArgs VMWARE_VER=VME_V5 SRCROOT=$PWD VM_KBUILD=26 VM_CCVER=%{_ccver}
+
+%build_kernel_modules -c -C vmmon-only -m vmmon %{ModuleBuildArgs} <<'EOF'
+rm -f */*.o *.o
+EOF
+%build_kernel_modules -c -C vmnet-only -m vmnet %{ModuleBuildArgs} <<'EOF'
+rm -f *.o
+EOF
%else
for mod in vmmon vmnet ; do
cd vmware-any-any-update%{_urel}
-%if %{without kernel24}
-install built/vmmon-%{?with_dist_kernel:up}%{!?with_dist_kernel:nondist}.ko \
- $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}/misc/vmmon.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 built/vmmon-smp.ko \
- $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}smp/misc/vmmon.ko
-install built/vmnet-smp.ko \
- $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}smp/misc/vmnet.ko
-%endif
+%if !%{with kernel24}
+%install_kernel_modules -m vmmon-only/vmmon,vmnet-only/vmnet -d misc
%else
install built/vmmon.o \
%endif
%if %{with kernel}
-%if %{without kernel24}
+%if !%{with kernel24}
%files -n kernel%{_alt_kernel}-misc-vmmon
%defattr(644,root,root,755)
/lib/modules/%{_kernel_ver}/misc/vmmon.ko*