X-Git-Url: http://git.pld-linux.org/?p=packages%2FVMware-workstation.git;a=blobdiff_plain;f=VMware-workstation.spec;h=3f38a34be9a1d1f7fb9c0885391cb72e9a6f3035;hp=221eb0f762056e48b08ffbc81cbb436e7c7d8cd4;hb=b2a44f583a5367024ed1567e41a90f41f1185a35;hpb=1795526ea65e1866bb6965250517ad2502f93fcf diff --git a/VMware-workstation.spec b/VMware-workstation.spec index 221eb0f..3f38a34 100644 --- a/VMware-workstation.spec +++ b/VMware-workstation.spec @@ -1,37 +1,55 @@ # +# TODO: +# - Dependencies +# - .desktop +# - http://www.vmware.com/support/ws45/doc/devices_linux_kb_ws.html#1040861 +# # Conditional build: -# _without_dist_kernel - without distribution kernel -# _without_smp - without UP kernel modules -# _without_up - without SMP kernel modules +%bcond_with internal_libs # internal libs stuff +%bcond_without dist_kernel # without distribution kernel +%bcond_without smp # without SMP kernel modules # - -%define _build 4460 - %include /usr/lib/rpm/macros.perl +# +%define _ver 4.5.2 +%define _build 8848 +%define _rel 1 +%define _urel 78 +# Summary: VMware Workstation Summary(pl): VMware Workstation - wirtualna platforma dla stacji roboczej Name: VMware-workstation -Version: 4.0.0 -%define _rel %{_build}.2 +Version: %{_ver}.%{_build} Release: %{_rel} License: custom, non-distributable Group: Applications/Emulators -Source0: http://vmware-chil.www.conxion.com/software/%{name}-%{version}-%{_build}.tar.gz -URL: http://www.vmware.com/ +Source0: http://download3.vmware.com/software/wkst/%{name}-%{_ver}-%{_build}.tar.gz +Source1: http://knihovny.cvut.cz/ftp/pub/vmware/vmware-any-any-update%{_urel}.tar.gz +# Source1-md5: 1b8cbb8c409fa5b16ae0ccccf1afe7de +Source2: %{name}.init +Source3: %{name}-vmnet.conf +Source4: %{name}.png +Patch0: %{name}-Makefile.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: rpmbuild(macros) >= 1.153 BuildRequires: %{kgcc_package} -Requires: kernel(vmmon) = %{version}-%{_build} -Requires: kernel(vmnet) = %{version}-%{_build} -%{!?_without_dist_kernel:BuildRequires: kernel-headers} +Requires: kernel(vmmon) = %{version}-%{_rel} +%{?with_dist_kernel:BuildRequires: kernel-module-build >= 2.6.7} 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 @@ -39,155 +57,311 @@ pozwalaj operacyjnych na jednym zwyk³ym PC, bez repartycjonowania ani rebootowania, bez znacznej utraty wydajno¶ci. -%package -n kernel-misc-vmware_workstation -Summary: Kernel modules for VMware Workstation -Summary(pl): Modu³y j±dra dla VMware Workstation +%package debug +Summary: TODO +Group: Applications/Emulators +Requires: %{name} = %{version}-%{release} + +%description debug +TODO. + +%package help +Summary: VMware Workstation help files +Summary(pl): Pliki pomocy dla VMware Workstation +Group: Applications/Emulators +Requires: %{name} = %{version}-%{release} +Requires: mozilla + +%description help +VMware Workstation help files. + +%description help -l pl +Pliki pomocy dla VMware Workstation. + +%package networking +Summary: TODO +Group: Applications/Emulators +Requires: %{name} = %{version}-%{release} +Requires: kernel(vmnet) = %{version}-%{_rel} + +%description networking +TODO. + +%package samba +Summary: TODO +Group: Applications/Emulators +Requires: %{name} = %{version}-%{release} + +%description samba +TODO. + +%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}-%{_build} -Provides: kernel(vmnet) = %{version}-%{_build} +Provides: kernel(vmmon) = %{version}-%{_rel} +Requires: dev >= 2.9.0-7 Requires(post,postun): /sbin/depmod -%{!?_without_dist_kernel:%requires_releq_kernel_up} +%{?with_dist_kernel:%requires_releq_kernel_up} -%description -n kernel-misc-vmware_workstation -Kernel modules for VMware Workstation: vmmon and vmnet. +%description -n kernel-misc-vmmon +Kernel modules for VMware Workstation - vmmon. -%description -n kernel-misc-vmware_workstation -l pl -Modu³y j±dra dla VMware Workstation: vmmon i vmnet. +%description -n kernel-misc-vmmon -l pl +Modu³y j±dra dla VMware Workstation - vmmon. -%package -n kernel-smp-misc-vmware_workstation -Summary: SMP kernel modules for VMware Workstation -Summary(pl): Modu³y j±dra SMP dla VMware Workstation +%package -n kernel-misc-vmnet +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}-%{_build} -Provides: kernel(vmnet) = %{version}-%{_build} +Provides: kernel(vmnet) = %{version}-%{_rel} +Requires: dev >= 2.9.0-7 Requires(post,postun): /sbin/depmod -%{!?_without_dist_kernel:%requires_releq_kernel_smp} +%{?with_dist_kernel:%requires_releq_kernel_up} -%description -n kernel-smp-misc-vmware_workstation -SMP kernel modules fov VMware Workstation: vmmon-smp and vmnet-smp. +%description -n kernel-misc-vmnet +Kernel modules for VMware Workstation - vmnet. -%description -n kernel-smp-misc-vmware_workstation -l pl -Modu³y j±dra SMP dla VMware Workstation: vmmon-smp i vmnet-smp. +%description -n kernel-misc-vmnet -l pl +Modu³y j±dra dla VMware Workstation - vmnet. -%prep -%setup -q -n vmware-distrib -tar xf lib/modules/source/vmmon.tar -tar xf lib/modules/source/vmnet.tar +%package -n kernel-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 +Provides: kernel(vmmon) = %{version}-%{_rel} +Requires(post,postun): /sbin/depmod +%{?with_dist_kernel:%requires_releq_kernel_smp} -%build -FLAGS="-D__KERNEL__ -DMODULE -Wall -Wstrict-prototypes \ - -fomit-frame-pointer -fno-strict-aliasing \ - -pipe -fno-strength-reduce %{rpmcflags}" -export FLAGS - -# vmmon -%if %{?!_without_smp:1}0 -%{__make} -C vmmon-only \ - HEADER_DIR=%{_kernelsrcdir}/include \ - CC_OPTS="$FLAGS -DVMWARE__FIX_IO_APIC_BASE=FIX_IO_APIC_BASE_0 -D__SMP__" \ - SUPPORT_SMP=1 -mv vmmon-only/driver-*/vmmon-smp-* vmmon-smp.o -%endif +%description -n kernel-smp-misc-vmmon +SMP kernel modules fov VMware Workstation - vmmon-smp. -%if %{?!_without_up:1}0 -%{__make} -C vmmon-only clean -%{__make} -C vmmon-only \ - HEADER_DIR=%{_kernelsrcdir}/include \ - CC_OPTS="$FLAGS -DVMWARE__FIX_IO_APIC_BASE=FIX_IO_APIC_BASE_0" -mv vmmon-only/driver-*/vmmon-* vmmon.o -%endif +%description -n kernel-smp-misc-vmmon -l pl +Modu³y j±dra SMP dla VMware Workstation - vmmon-smp. -# vmnet, makefile passes also -falign-loops=2 -falign-jumps=2 -falign-functions=2 -%if %{?!_without_smp:1}0 -%{__make} -C vmnet-only \ - HEADER_DIR=%{_kernelsrcdir}/include \ - CFLAGS="$FLAGS "'$(INCLUDE) -D__SMP__' \ - SUPPORT_SMP=1 -mv vmnet-only/vmnet-smp-* vmnet-smp.o -%endif +%package -n kernel-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 +Provides: kernel(vmnet) = %{version}-%{_rel} +Requires(post,postun): /sbin/depmod +%{?with_dist_kernel:%requires_releq_kernel_smp} -%if %{?!_without_up:1}0 -%{__make} -C vmnet-only clean -%{__make} -C vmnet-only \ - HEADER_DIR=%{_kernelsrcdir}/include \ - CFLAGS="$FLAGS "'$(INCLUDE)' -mv vmnet-only/vmnet-up-* vmnet.o -%endif +%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. + +%prep +%setup -q -n vmware-distrib +%setup -qDT -n vmware-distrib -a1 +cd vmware-any-any-update%{_urel} +tar xf vmmon.tar +tar xf vmnet.tar +%patch0 -p0 +%patch1 -p0 +cd - +%patch2 -p1 + +%build +cd vmware-any-any-update%{_urel} +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 + 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 + %{__make} -C %{_kernelsrcdir} modules \ + M=$PWD O=$PWD \ + VM_KBUILD=26 + mv -f $mod.ko ../built/$mod-$cfg.ko + cd - + done +done +cd - %install rm -rf $RPM_BUILD_ROOT install -d \ + $RPM_BUILD_ROOT%{_sysconfdir}/vmware \ $RPM_BUILD_ROOT%{_bindir} \ - $RPM_BUILD_ROOT%{_sysconfdir} \ + $RPM_BUILD_ROOT%{_libdir}/vmware/bin \ $RPM_BUILD_ROOT%{_mandir} \ - $RPM_BUILD_ROOT%{_libdir}/vmware \ - $RPM_BUILD_ROOT%{_datadir}/vmware \ - $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}/misc \ - $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}smp/misc + $RPM_BUILD_ROOT%{_pixmapsdir} \ + $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 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 +cd - + +install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/vmnet +install %{SOURCE3} $RPM_BUILD_ROOT/etc/vmware/vmnet.conf +install %{SOURCE4} $RPM_BUILD_ROOT%{_pixmapsdir} +#install *.desktop $RPM_BUILD_ROOT%{_desktopdir} -%{?!_without_smp:mv vm*-smp.o $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}smp/misc} -%{?!_without_up: mv vm*.o $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}/misc} +cp bin/*-* $RPM_BUILD_ROOT%{_bindir} -cp bin/* $RPM_BUILD_ROOT%{_bindir} -cp -r etc $RPM_BUILD_ROOT%{_sysconfdir}/vmware -cp -r man/* $RPM_BUILD_ROOT%{_mandir} +cp lib/bin/vmware $RPM_BUILD_ROOT%{_bindir} -cp -r lib/{bin*,config*,floppies,isoimages,lib,licenses,messages,smb,xkeymap} \ +cp -r lib/bin/vmware-vmx \ + $RPM_BUILD_ROOT%{_libdir}/vmware/bin + +cp -r lib/{bin-debug,config,floppies,help*,isoimages,licenses,messages,smb,xkeymap} \ $RPM_BUILD_ROOT%{_libdir}/vmware -gunzip $RPM_BUILD_ROOT%{_mandir}/man?/*.gz +cp -r man/* $RPM_BUILD_ROOT%{_mandir} +gunzip $RPM_BUILD_ROOT%{_mandir}/man?/*.gz + +cat > $RPM_BUILD_ROOT%{_sysconfdir}/vmware/locations <&2 +else + echo "Run \"/etc/rc.d/init.d/vmnet start\" to start VMware networking service." +fi + +%preun networking +if [ "$1" = "0" ]; then + if [ -r /var/lock/subsys/vmnet ]; then + /etc/rc.d/init.d/vmnet stop >&2 + fi + /sbin/chkconfig --del vmnet +fi + +%post -n kernel-misc-vmmon +%depmod %{_kernel_ver} + +%postun -n kernel-misc-vmmon +%depmod %{_kernel_ver} + +%post -n kernel-misc-vmnet +%depmod %{_kernel_ver} + +%postun -n kernel-misc-vmnet +%depmod %{_kernel_ver} + +%post -n kernel-smp-misc-vmmon %depmod %{_kernel_ver} -%postun -n kernel-misc-vmware_workstation +%postun -n kernel-smp-misc-vmmon %depmod %{_kernel_ver} -%post -n kernel-smp-misc-vmware_workstation +%post -n kernel-smp-misc-vmnet %depmod %{_kernel_ver} -%postun -n kernel-smp-misc-vmware_workstation +%postun -n kernel-smp-misc-vmnet %depmod %{_kernel_ver} %files %defattr(644,root,root,755) -%doc doc/* -%attr(755,root,root) %{_bindir}/* -%{_mandir}/man1/* - +%doc doc/* lib/configurator/vmnet-{dhcpd,nat}.conf %dir %{_sysconfdir}/vmware -%ghost %{_sysconfdir}/vmware/not_configured -%attr(755,root,root) %{_sysconfdir}/vmware/*.sh - +%{_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-vdiskmanager %dir %{_libdir}/vmware -%dir %{_libdir}/vmware/bin* -%attr(755,root,root) %{_libdir}/vmware/bin*/* +%dir %{_libdir}/vmware/bin +# warning: SUID !!! +%attr(4755,root,root) %{_libdir}/vmware/bin/vmware-vmx %{_libdir}/vmware/config -%{_libdir}/vmware/configurator %{_libdir}/vmware/floppies %{_libdir}/vmware/isoimages -%{_libdir}/vmware/lib +%{?with_internal_libs:%{_libdir}/vmware/lib} %{_libdir}/vmware/licenses %dir %{_libdir}/vmware/messages +%{_libdir}/vmware/messages/en %lang(ja) %{_libdir}/vmware/messages/ja -%{_libdir}/vmware/smb %{_libdir}/vmware/xkeymap +%{_mandir}/man1/* +%attr(1777,root,root) %dir /var/run/vmware +%{_pixmapsdir}/*.png -%if %{?!_without_up:1}0 -%files -n kernel-misc-vmware_workstation +%files debug %defattr(644,root,root,755) -/lib/modules/%{_kernel_ver}/misc/vmmon.o* -/lib/modules/%{_kernel_ver}/misc/vmnet.o* -%endif +%dir %{_libdir}/vmware/bin-debug +# warning: SUID !!! +%attr(4755,root,root) %{_libdir}/vmware/bin-debug/vmware-vmx + +%files help +%defattr(644,root,root,755) +%{_libdir}/vmware/help* + +%files networking +%defattr(644,root,root,755) +%config(noreplace) %verify(not size mtime md5) %{_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-natd +%attr(755,root,root) %{_bindir}/vmnet-netifup +%attr(755,root,root) %{_bindir}/vmnet-sniffer +%attr(755,root,root) %{_bindir}/vmware-ping + +%files samba +%defattr(644,root,root,755) +%doc lib/configurator/vmnet-smb.conf +%attr(755,root,root) %{_bindir}/vmware-nmbd +%attr(755,root,root) %{_bindir}/vmware-smbd +%attr(755,root,root) %{_bindir}/vmware-smbpasswd +%attr(755,root,root) %{_bindir}/vmware-smbpasswd.bin +%{_libdir}/vmware/smb + +%files -n kernel-misc-vmmon +%defattr(644,root,root,755) +/lib/modules/%{_kernel_ver}/misc/vmmon.ko* + +%files -n kernel-misc-vmnet +%defattr(644,root,root,755) +/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.ko* -%if %{?!_without_smp:1}0 -%files -n kernel-smp-misc-vmware_workstation +%files -n kernel-smp-misc-vmnet %defattr(644,root,root,755) -/lib/modules/%{_kernel_ver}smp/misc/vmmon-smp.o* -/lib/modules/%{_kernel_ver}smp/misc/vmnet-smp.o* +/lib/modules/%{_kernel_ver}smp/misc/vmnet.ko* %endif