X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=VMware-workstation.spec;h=836e0d3699ae38195c42570d7dee7e984a47bd70;hb=59d828528b323a11e4a840fb04a2fef09f6b95c1;hp=591a9d55b3163aec8b4fb1fc9ac9fc4c658abcbf;hpb=520567ec0a2ebfb4726c38e79e8609a664673c5d;p=packages%2FVMware-workstation.git diff --git a/VMware-workstation.spec b/VMware-workstation.spec index 591a9d5..836e0d3 100644 --- a/VMware-workstation.spec +++ b/VMware-workstation.spec @@ -4,16 +4,28 @@ # - http://www.vmware.com/support/ws45/doc/devices_linux_kb_ws.html#1040861 # # Conditional build: -%bcond_with internal_libs # internal libs stuff %bcond_without dist_kernel # without distribution kernel +%bcond_without kernel # don't build kernel modules %bcond_without smp # without SMP kernel modules +%bcond_without userspace # don't build userspace utilities +%bcond_with kernel24 # build kernel24 modules (disable kernel26) +%bcond_with internal_libs # internal libs stuff +%bcond_with verbose # verbose build (V=1) # %include /usr/lib/rpm/macros.perl +%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 1 -%define _urel 90 +%define _ver 5.5.1 +%define _build 19175 +%define _rel 0.2 +%define _urel 96 +%define _ccver %(rpm -q --qf "%{VERSION}" gcc) # Summary: VMware Workstation Summary(pl): VMware Workstation - wirtualna platforma dla stacji roboczej @@ -23,9 +35,9 @@ Release: %{_rel} 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: b8f6498f5275dc8ef3ea2d2e17061ede +# NoSource0-md5: 6101deb381beb49f5b99cb1f8a81a532 +#Source1: http://knihovny.cvut.cz/ftp/pub/vmware/vmware-any-any-update%{_urel}.tar.gz +## Source1-md5: 79dd91c65f3719bb7847d63b314706c3 Source2: %{name}.init Source3: %{name}-vmnet.conf Source4: %{name}.png @@ -33,16 +45,18 @@ Source5: %{name}.desktop Source6: %{name}-nat.conf Source7: %{name}-dhcpd.conf Patch0: %{name}-Makefile.patch -Patch1: %{name}-compat.patch -Patch2: %{name}-run_script.patch +Patch1: %{name}-run_script.patch NoSource: 0 URL: http://www.vmware.com/ BuildRequires: gcc-c++ -Requires: kernel(vmmon) = %{version}-%{_rel} %{?with_dist_kernel:BuildRequires: kernel-module-build >= 2.6.7} BuildRequires: rpm-perlprov -BuildRequires: rpmbuild(macros) >= 1.153 +BuildRequires: rpmbuild(macros) >= 1.217 BuildRequires: sed >= 4.0 +Requires: kernel(vmmon) = %{version}-%{_rel} +Requires: libgnomecanvasmm +Requires: libview >= 0.5.5-2 +ExclusiveArch: %{ix86} %{x8664} BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) %define _noautoprovfiles %{_libdir}/vmware/lib/.*\.so.* @@ -90,6 +104,7 @@ Summary(pl): Narz Group: Applications/Emulators Requires: %{name} = %{version}-%{release} Requires: kernel(vmnet) = %{version}-%{_rel} +Obsoletes: VMware-workstation-samba %description networking VMware networking utilities. @@ -185,16 +200,98 @@ 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. +%package -n kernel24-misc-vmmon +Summary: Kernel module for VMware Workstation +Summary(pl): Modu³ j±dra dla VMware Workstation +Release: %{_rel}@%{_kernel_ver_str} +Group: Base/Kernel +Requires(post,postun): /sbin/depmod +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 kernel24-misc-vmmon +Kernel modules for VMware Workstation - vmmon. + +%description -n kernel24-misc-vmmon -l pl +Modu³y j±dra dla VMware Workstation - vmmon. + +%package -n kernel24-misc-vmnet +Summary: Kernel module for VMware Workstation +Summary(pl): Modu³ j±dra dla VMware Workstation +Release: %{_rel}@%{_kernel_ver_str} +Group: Base/Kernel +Requires(post,postun): /sbin/depmod +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 kernel24-misc-vmnet +Kernel modules for VMware Workstation - vmnet. + +%description -n kernel24-misc-vmnet -l pl +Modu³y j±dra dla VMware Workstation - vmnet. + +%package -n kernel24-smp-misc-vmmon +Summary: SMP kernel module for VMware Workstation +Summary(pl): Modu³ j±dra SMP dla VMware Workstation +Release: %{_rel}@%{_kernel_ver_str} +Group: Base/Kernel +Requires(post,postun): /sbin/depmod +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 kernel24-smp-misc-vmmon +SMP kernel modules fov VMware Workstation - vmmon-smp. + +%description -n kernel24-smp-misc-vmmon -l pl +Modu³y j±dra SMP dla VMware Workstation - vmmon-smp. + +%package -n kernel24-smp-misc-vmnet +Summary: SMP kernel module for VMware Workstation +Summary(pl): Modu³ j±dra SMP dla VMware Workstation +Release: %{_rel}@%{_kernel_ver_str} +Group: Base/Kernel +Requires(post,postun): /sbin/depmod +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 kernel24-smp-misc-vmnet +SMP kernel module for VMware Workstation - vmnet-smp. + +%description -n kernel24-smp-misc-vmnet -l pl +Modu³y j±dra SMP dla VMware Workstation - vmnet-smp. + %prep %setup -q -n vmware-distrib -%setup -qDT -n vmware-distrib -a1 +#%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 -%patch1 -p0 +#tar xf vmmon.tar +#tar xf vmnet.tar +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 - -%patch2 -p1 +%patch1 -p1 %build sed -i 's:vm_db_answer_LIBDIR:VM_LIBDIR:g;s:vm_db_answer_BINDIR:VM_BINDIR:g' bin/vmware @@ -210,10 +307,11 @@ rm -f update ./update bridge ../bin/vmnet-bridge %endif +%if %{with kernel} rm -rf built mkdir built -cp -a vmmon-only vmmon-only.clean -cp -a vmnet-only vmnet-only.clean + +%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 @@ -222,36 +320,97 @@ for mod in vmmon vmnet ; do 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 + 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 \ - VM_KBUILD=26 + 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 -cd .. + +%else +for mod in vmmon vmnet ; do + rm -rf $mod-only + tar xf $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 + +%if %{with smp} + %{__make} \ + VM_KBUILD=no VMWARE_VER=VME_V5 \ + M=$PWD O=$PWD CC=%{kgcc} \ + INCLUDES="%{rpmcflags} -I. -D__KERNEL_SMP=1 -D__SMP__ -I%{_kernelsrcdir}/include" + if [ -e $mod-xxx-* ]; then + mv -f $mod-xxx-* ../built/$mod-smp.o + else + mv -f driver-*/$mod-xxx-* ../built/$mod-smp.o + fi + + %{__make} VM_KBUILD=no clean +%endif + %{__make} \ + VM_KBUILD=no VMWARE_VER=VME_V5 \ + M=$PWD O=$PWD CC=%{kgcc} \ + INCLUDES="%{rpmcflags} -I. -I%{_kernelsrcdir}/include" + if [ -e $mod-xxx-* ]; then + mv -f $mod-xxx-* ../built/$mod.o + else + mv -f driver-*/$mod-xxx-* ../built/$mod.o + fi + + cd .. +done +%endif # kernel24 + +%endif %install rm -rf $RPM_BUILD_ROOT + +%if %{with userspace} 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%{_libdir}/vmware/{bin,share/pixmaps} \ $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 +%endif + +%if %{with kernel} +install -d $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}{,smp}/misc 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 \ @@ -262,8 +421,25 @@ install built/vmmon-smp.ko \ install built/vmnet-smp.ko \ $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}smp/misc/vmnet.ko %endif + +%else +install built/vmmon.o \ + $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}/misc/vmmon.o +install built/vmnet.o \ + $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}/misc/vmnet.o +%if %{with smp} && %{with dist_kernel} +install built/vmmon-smp.o \ + $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}smp/misc/vmmon.o +install built/vmnet-smp.o \ + $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}smp/misc/vmnet.o +%endif + +%endif + cd - +%endif +%if %{with userspace} install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/vmnet install %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/vmware/vmnet.conf install %{SOURCE4} $RPM_BUILD_ROOT%{_pixmapsdir} @@ -274,6 +450,8 @@ 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~ +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 @@ -296,6 +474,7 @@ cp -r lib/lib $RPM_BUILD_ROOT%{_libdir}/vmware %else install lib/bin/vmware $RPM_BUILD_ROOT%{_bindir} %endif +%endif %clean rm -rf $RPM_BUILD_ROOT @@ -340,6 +519,31 @@ fi %postun -n kernel-smp-misc-vmnet %depmod %{_kernel_ver}smp +%post -n kernel24-misc-vmmon +%depmod %{_kernel_ver} + +%postun -n kernel24-misc-vmmon +%depmod %{_kernel_ver} + +%post -n kernel24-misc-vmnet +%depmod %{_kernel_ver} + +%postun -n kernel24-misc-vmnet +%depmod %{_kernel_ver} + +%post -n kernel24-smp-misc-vmmon +%depmod %{_kernel_ver}smp + +%postun -n kernel24-smp-misc-vmmon +%depmod %{_kernel_ver}smp + +%post -n kernel24-smp-misc-vmnet +%depmod %{_kernel_ver}smp + +%postun -n kernel24-smp-misc-vmnet +%depmod %{_kernel_ver}smp + +%if %{with userspace} %files %defattr(644,root,root,755) %doc doc/* lib/configurator/vmnet-{dhcpd,nat}.conf @@ -365,6 +569,7 @@ fi %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 @@ -406,7 +611,10 @@ fi %attr(755,root,root) %{_bindir}/vmware-smbpasswd.bin %{_libdir}/vmware/smb %endif +%endif +%if %{with kernel} +%if %{without kernel24} %files -n kernel-misc-vmmon %defattr(644,root,root,755) /lib/modules/%{_kernel_ver}/misc/vmmon.ko* @@ -424,3 +632,26 @@ fi %defattr(644,root,root,755) /lib/modules/%{_kernel_ver}smp/misc/vmnet.ko* %endif + +%else +%files -n kernel24-misc-vmmon +%defattr(644,root,root,755) +/lib/modules/%{_kernel_ver}/misc/vmmon.o* + +%files -n kernel24-misc-vmnet +%defattr(644,root,root,755) +/lib/modules/%{_kernel_ver}/misc/vmnet.o* + +%if %{with smp} && %{with dist_kernel} +%files -n kernel24-smp-misc-vmmon +%defattr(644,root,root,755) +/lib/modules/%{_kernel_ver}smp/misc/vmmon.o* + +%files -n kernel24-smp-misc-vmnet +%defattr(644,root,root,755) +/lib/modules/%{_kernel_ver}smp/misc/vmnet.o* +%endif + +%endif + +%endif