X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=VMware-player.spec;h=9428c0609eb239d206cfc4da0f4146f2c39f34ca;hb=f5ea575143992bb70cb0d0881b63f8d9d797d742;hp=fd6d56d4e30bbdd06a5b8b4710de45f62b843c67;hpb=152da99679c7a63754a06eb220f77742e098efba;p=packages%2FVMware-player.git diff --git a/VMware-player.spec b/VMware-player.spec index fd6d56d..9428c06 100644 --- a/VMware-player.spec +++ b/VMware-player.spec @@ -1,56 +1,82 @@ -# +# TODO +# - sync modules -pl # Conditional build: %bcond_without dist_kernel # without distribution kernel %bcond_without kernel # don't build kernel modules %bcond_without userspace # don't build userspace utilities %bcond_with internal_libs # internal libs stuff %bcond_with verbose # verbose build (V=1) -# -%include /usr/lib/rpm/macros.perl +%if %{without kernel} +%undefine with_dist_kernel +%endif %ifarch %{x8664} %undefine with_userspace %endif -# -%define _ver 2.0.1 -%define _build 55017 -%define _rel 0.1 -%define _urel 113 -%define _ccver %(rpm -q --qf "%{VERSION}" gcc) -# + +%define ver 3.0.0 +%define buildid 203739 +%define rel 0.1 + +# point to some working url +%define download_url %{nil} + Summary: VMware player Summary(pl.UTF-8): VMware player - wirtualna platforma dla stacji roboczej Name: VMware-player -Version: %{_ver}.%{_build} -Release: %{_rel} +Version: %{ver}.%{buildid} +Release: %{rel} License: custom, non-distributable Group: Applications/Emulators -Source0: http://download3.vmware.com/software/vmplayer/%{name}-%{_ver}-%{_build}.i386.tar.gz -# NoSource0-md5: 2d1b2d847cf002b2f418b94f5b973ecc +# https://www.vmware.com/go/downloadplayer/ +Source0: %{download_url}VMware-Player-%{ver}-%{buildid}.i386.bundle +# NoSource0-md5: 1c273da70347a381dc685b5fdf922e7d NoSource: 0 -Source1: http://download3.vmware.com/software/vmplayer/%{name}-%{_ver}-%{_build}.x86_64.tar.gz -# NoSource1-md5: dca7a144e1a01c69387401e46e7e3b26 +Source1: %{download_url}VMware-Player-%{ver}-%{buildid}.x86_64.bundle +# NoSource1-md5: cf8ac6a75e4fd51a8c9c527a594f5ffc NoSource: 1 -Source2: http://knihovny.cvut.cz/ftp/pub/vmware/vmware-any-any-update%{_urel}.tar.gz -# Source2-md5: cb3f91f2196778e6d76d5a6697286d04 -Source3: %{name}-vmnet.conf -Source4: %{name}.png -Source5: %{name}.desktop -Source6: %{name}-nat.conf -Source7: %{name}-dhcpd.conf -Source8: %{name}.init -Patch0: %{name}-Makefile.patch -Patch1: %{name}-run_script.patch +Patch0: installer.patch URL: http://www.vmware.com/ -BuildRequires: gcc-c++ -%{?with_dist_kernel:BuildRequires: kernel-module-build >= 3:2.6.7} -BuildRequires: rpm-perlprov +%{?with_dist_kernel:BuildRequires: kernel%{_alt_kernel}-module-build >= 3:2.6.7} BuildRequires: rpmbuild(macros) >= 1.268 BuildRequires: sed >= 4.0 -Requires: libgnomecanvasmm +Requires: atk +Requires: cairo +Requires: cairomm +Requires: curl-libs >= 7.19.7-2 +Requires: expat +Requires: fontconfig-libs +Requires: freetype +Requires: glib2 +Requires: glibmm +Requires: gtk+2 +Requires: gtkmm +Requires: gtkmm-atk +Requires: libaio +Requires: libarchive +Requires: libart_lgpl +Requires: libgcc +Requires: libpng +Requires: librsvg +Requires: libsexy +Requires: libsexymm +Requires: libsigc++ +Requires: libstdc++ Requires: libview >= 0.5.5-2 +Requires: libxml2 Requires: openssl >= 0.9.7 -Requires: openssl < 0.9.8 +Requires: pango +Requires: pangomm +Requires: xorg-lib-libXau +Requires: xorg-lib-libXcomposite +Requires: xorg-lib-libXcursor +Requires: xorg-lib-libXdamage +Requires: xorg-lib-libXdmcp +Requires: xorg-lib-libXfixes +Requires: xorg-lib-libXft +Requires: xorg-lib-libXinerama +Requires: xorg-lib-libXrandr +Requires: xorg-lib-libXrender ExclusiveArch: %{ix86} %{x8664} BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) @@ -85,7 +111,6 @@ Summary: VMware Player help files Summary(pl.UTF-8): Pliki pomocy dla VMware Player Group: Applications/Emulators Requires: %{name} = %{version}-%{release} -Requires: mozilla %description help VMware Player help files. @@ -108,10 +133,47 @@ VMware networking utilities. %description networking -l pl.UTF-8 Narzędzia VMware do obsługi sieci. +%package -n kernel%{_alt_kernel}-misc-vmci +Summary: VMware Virtual Machine Communication Interface (VMCI) +Summary(pl.UTF-8): VMCI (Virtual Machine Communication Interface) - interfejs komunikacyjny VMware +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 +Requires(postun): %releq_kernel +%endif + +%description -n kernel%{_alt_kernel}-misc-vmci +VMware Virtual Machine Communication Interface (VMCI). + +%description -n kernel%{_alt_kernel}-misc-vmci -l pl.UTF-8 +Moduł jądra Linuksa będący interfejsem komunikacyjnym VMware (VMCI - +Virtual Machine Communication Interface). + +%package -n kernel%{_alt_kernel}-misc-vmblock +Summary: VMware Blocking File System +Summary(pl.UTF-8): Moduł jądra dla VMware Player +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 +Requires(postun): %releq_kernel +%endif + +%description -n kernel%{_alt_kernel}-misc-vmblock +VMware Blocking File System. + +%description -n kernel%{_alt_kernel}-misc-vmblock -l pl.UTF-8 +Moduły jądra dla VMware Player - vmblock. + %package -n kernel%{_alt_kernel}-misc-vmmon -Summary: Kernel module for VMware Player +Summary: VMware Virtual Machine Monitor Summary(pl.UTF-8): Moduł jądra dla VMware Player -Release: %{_rel}@%{_kernel_ver_str} +Release: %{rel}@%{_kernel_ver_str} Group: Base/Kernel Requires(post,postun): /sbin/depmod Requires: dev >= 2.9.0-7 @@ -119,18 +181,17 @@ Requires: dev >= 2.9.0-7 %requires_releq_kernel Requires(postun): %releq_kernel %endif -Provides: kernel(vmmon) = %{version}-%{_rel} %description -n kernel%{_alt_kernel}-misc-vmmon -Kernel modules for VMware Player - vmmon. +VMware Virtual Machine Monitor. %description -n kernel%{_alt_kernel}-misc-vmmon -l pl.UTF-8 Moduły jądra dla VMware Player - vmmon. %package -n kernel%{_alt_kernel}-misc-vmnet -Summary: Kernel module for VMware Player +Summary: VMware Virtual Networking Driver Summary(pl.UTF-8): Moduł jądra dla VMware Player -Release: %{_rel}@%{_kernel_ver_str} +Release: %{rel}@%{_kernel_ver_str} Group: Base/Kernel Requires(post,postun): /sbin/depmod Requires: dev >= 2.9.0-7 @@ -138,153 +199,120 @@ Requires: dev >= 2.9.0-7 %requires_releq_kernel Requires(postun): %releq_kernel %endif -Provides: kernel(vmnet) = %{version}-%{_rel} %description -n kernel%{_alt_kernel}-misc-vmnet -Kernel modules for VMware Player - vmnet. +VMware Virtual Networking Driver. %description -n kernel%{_alt_kernel}-misc-vmnet -l pl.UTF-8 Moduły jądra dla VMware Player - vmnet. -%prep -%setup -q -n vmware-player-distrib -a2 -cd vmware-any-any-update%{_urel} -tar xf vmmon.tar -tar xf vmnet.tar -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 - +%package -n kernel%{_alt_kernel}-misc-vsock +Summary: VMware Virtual Socket Family +Summary(pl.UTF-8): Obsługa Virtual Socket Family - rodziny gniazd wirtualnych VMware +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 +Requires(postun): %releq_kernel +%endif +Requires: kernel%{_alt_kernel}-misc-vmci = %{version}-%{rel}@%{_kernel_ver_str} -%build -sed -i 's:vm_db_answer_LIBDIR:VM_LIBDIR:g;s:vm_db_answer_BINDIR:VM_BINDIR:g' bin/vmplayer +%description -n kernel%{_alt_kernel}-misc-vsock +VMware Virtual Socket Family. -cd vmware-any-any-update%{_urel} -chmod u+w ../lib/bin/vmware-vmx ../lib/bin-debug/vmware-vmx ../bin/vmnet-bridge +%description -n kernel%{_alt_kernel}-misc-vsock -l pl.UTF-8 +Moduł jądra Linuksa obsługujący rodzinę gniazd wirtualnych VMware +(Virtual Socket Family). -%if %{with kernel} -rm -rf built -mkdir built - -for mod in vmmon vmnet ; do - for cfg in %{?with_dist_kernel:dist}%{!?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 +%prep +%setup -qcT +%ifarch %{ix86} +export SOURCE=%{SOURCE0} %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,lib,share/pixmaps} \ - $RPM_BUILD_ROOT%{_mandir} \ - $RPM_BUILD_ROOT%{_pixmapsdir} \ - $RPM_BUILD_ROOT%{_iconsdir}/hicolor \ - $RPM_BUILD_ROOT%{_desktopdir} \ - $RPM_BUILD_ROOT/etc/rc.d/init.d \ - $RPM_BUILD_ROOT/var/run/vmware +%ifarch %{x8664} +export SOURCE=%{SOURCE1} %endif -%if %{with kernel} -install -d $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}{,smp}/misc - -cd vmware-any-any-update%{_urel}/built -install vmmon* $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}/misc/vmmon.ko -install vmnet* $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}/misc/vmnet.ko +# extract installer shell blob +%{__sed} -ne '1,/^exit/{s,$0,$SOURCE,;p}' $SOURCE > install.sh +%{__sed} -i -e "2iSOURCE=$SOURCE" install.sh +%patch0 -p1 +chmod a+x install.sh + +./install.sh --extract bundles + +cd bundles/vmware-player-app/lib/modules +%{__tar} xf source/vmblock.tar +%{__tar} xf source/vmci.tar +%{__tar} xf source/vmmon.tar +%{__tar} xf source/vmnet.tar +%{__tar} xf source/vsock.tar +mv vmmon-only/linux/driver.c{,.dist} +mv vmnet-only/hub.c{,.dist} +mv vmnet-only/driver.c{,.dist} +rm -rf binary # unusable cd - -%endif - -%if %{with userspace} -install %{SOURCE8} $RPM_BUILD_ROOT/etc/rc.d/init.d/vmnet -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 -a lib/share/icons/hicolor/* $RPM_BUILD_ROOT%{_iconsdir}/hicolor +find '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f -install lib/share/pixmaps/* $RPM_BUILD_ROOT%{_libdir}/vmware/share/pixmaps -install doc/EULA $RPM_BUILD_ROOT%{_libdir}/vmware/share/EULA.txt - -install bin/*-* $RPM_BUILD_ROOT%{_bindir} -install lib/bin/vmware-vmx $RPM_BUILD_ROOT%{_libdir}/vmware/bin -install lib/lib/libvmwarebase.so.0/libvmwarebase.so.0 $RPM_BUILD_ROOT%{_libdir} -install lib/lib/libvmwareui.so.0/libvmwareui.so.0 $RPM_BUILD_ROOT%{_libdir} - -cp -r lib/{bin-debug,config,help*,messages,xkeymap} \ - $RPM_BUILD_ROOT%{_libdir}/vmware +%build +%if %{with kernel} +cd bundles/vmware-player-app/lib/modules + +%build_kernel_modules -C vmblock-only -m vmblock SRCROOT=$PWD VM_KBUILD=26 VM_CCVER=%{cc_version} +%build_kernel_modules -C vmci-only -m vmci SRCROOT=$PWD VM_KBUILD=26 VM_CCVER=%{cc_version} +%build_kernel_modules -C vmmon-only -m vmmon SRCROOT=$PWD VM_KBUILD=26 VM_CCVER=%{cc_version} <<'EOF' +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)/' \ + linux/driver.c.dist > linux/driver.c +else + cat linux/driver.c.dist > linux/driver.c +fi +EOF -cat > $RPM_BUILD_ROOT%{_sysconfdir}/vmware/locations < hub.c + sed -e 's/RW_LOCK_UNLOCKED/RW_LOCK_UNLOCKED(vnetPeerLock)/' \ + driver.c.dist > driver.c +else + cat hub.c.dist > hub.c + cat driver.c.dist > driver.c +fi EOF -%if %{with internal_libs} -install bin/vmplayer $RPM_BUILD_ROOT%{_bindir} -install lib/bin/vmplayer $RPM_BUILD_ROOT%{_libdir}/vmware/bin -install lib/lib/* $RPM_BUILD_ROOT%{_libdir}/vmware/lib -cp -r lib/libconf $RPM_BUILD_ROOT%{_libdir}/vmware -%else -install lib/bin/vmplayer $RPM_BUILD_ROOT%{_bindir} +cp -a vmci-only/Module.symvers vsock-only +%build_kernel_modules -C vsock-only -m vsock SRCROOT=$PWD VM_KBUILD=26 VM_CCVER=%{cc_version} -c %endif + +%install +rm -rf $RPM_BUILD_ROOT +%if %{with kernel} +%install_kernel_modules -m bundles/vmware-player-app/lib/modules/vmblock-only/vmblock -d misc +%install_kernel_modules -m bundles/vmware-player-app/lib/modules/vmci-only/vmci -d misc +%install_kernel_modules -m bundles/vmware-player-app/lib/modules/vmmon-only/vmmon -d misc +%install_kernel_modules -m bundles/vmware-player-app/lib/modules/vmnet-only/vmnet -d misc +%install_kernel_modules -m bundles/vmware-player-app/lib/modules/vsock-only/vsock -d misc %endif %clean rm -rf $RPM_BUILD_ROOT -%post networking -/sbin/chkconfig --add vmnet -%service vmnet restart "VMware networking service" +%post -n kernel%{_alt_kernel}-misc-vmblock +%depmod %{_kernel_ver} -%preun networking -if [ "$1" = "0" ]; then - %service vmnet stop - /sbin/chkconfig --del vmnet -fi +%postun -n kernel%{_alt_kernel}-misc-vmblock +%depmod %{_kernel_ver} + +%post -n kernel%{_alt_kernel}-misc-vmci +%depmod %{_kernel_ver} + +%postun -n kernel%{_alt_kernel}-misc-vmci +%depmod %{_kernel_ver} %post -n kernel%{_alt_kernel}-misc-vmmon %depmod %{_kernel_ver} @@ -298,70 +326,26 @@ fi %postun -n kernel%{_alt_kernel}-misc-vmnet %depmod %{_kernel_ver} +%post -n kernel%{_alt_kernel}-misc-vsock +%depmod %{_kernel_ver} + +%postun -n kernel%{_alt_kernel}-misc-vsock +%depmod %{_kernel_ver} + %if %{with userspace} %files %defattr(644,root,root,755) -%doc doc/* lib/configurator/vmnet-{dhcpd,nat}.conf -%dir %{_sysconfdir}/vmware -%{_sysconfdir}/vmware/locations -%attr(755,root,root) %{_bindir}/vmplayer -%attr(755,root,root) %{_bindir}/vmware-acetool -%attr(755,root,root) %{_bindir}/vm-support -%attr(755,root,root) %{_libdir}/libvmwarebase.so.* -%attr(755,root,root) %{_libdir}/libvmwareui.so.* -%dir %{_libdir}/vmware -%dir %{_libdir}/vmware/bin -%dir %{_libdir}/vmware/lib -# warning: SUID !!! -%attr(4755,root,root) %{_libdir}/vmware/bin/vmware-vmx -%{_libdir}/vmware/config -%if %{with internal_libs} -%attr(755,root,root) %{_libdir}/vmware/bin/vmware -%{_libdir}/vmware/lib/lib* -%attr(755,root,root) %{_libdir}/vmware/lib/wrapper-gtk24.sh %endif -%dir %{_libdir}/vmware/messages -%lang(en) %{_libdir}/vmware/messages/en -%lang(ja) %{_libdir}/vmware/messages/ja -%{_libdir}/vmware/share -%{_libdir}/vmware/xkeymap -%attr(1777,root,root) %dir /var/run/vmware -%{_iconsdir}/hicolor/*/*/*.png -%{_iconsdir}/hicolor/*/*/*.svg -%{_pixmapsdir}/*.png -%{_desktopdir}/%{name}.desktop - -%files debug -%defattr(644,root,root,755) -%dir %{_libdir}/vmware/bin-debug -# warning: SUID !!! -%attr(4755,root,root) %{_libdir}/vmware/bin-debug/vmware-vmx -%files help +%if %{with kernel} +%files -n kernel%{_alt_kernel}-misc-vmblock %defattr(644,root,root,755) -%{_libdir}/vmware/help* +/lib/modules/%{_kernel_ver}/misc/vmblock.ko* -%files networking +%files -n kernel%{_alt_kernel}-misc-vmci %defattr(644,root,root,755) -%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-detect -%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 -%dir %{_sysconfdir}/vmware/vmnet8 -%dir %{_sysconfdir}/vmware/vmnet8/dhcpd -%dir %{_sysconfdir}/vmware/vmnet8/nat -%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* +/lib/modules/%{_kernel_ver}/misc/vmci.ko* -%endif - -%if %{with kernel} %files -n kernel%{_alt_kernel}-misc-vmmon %defattr(644,root,root,755) /lib/modules/%{_kernel_ver}/misc/vmmon.ko* @@ -370,4 +354,7 @@ fi %defattr(644,root,root,755) /lib/modules/%{_kernel_ver}/misc/vmnet.ko* +%files -n kernel%{_alt_kernel}-misc-vsock +%defattr(644,root,root,755) +/lib/modules/%{_kernel_ver}/misc/vsock.ko* %endif