Sophie

Sophie

distrib > Mageia > 8 > i586 > media > core-release-src > by-pkgid > cda27b1e9fff6ab450c4c1d7e8a0be60 > files > 4

open-vm-tools-11.2.5-1.mga8.src.rpm

################################################################################
### Copyright 2013-16 VMware, Inc.  All rights reserved.
###
### RPM SPEC file for building open-vm-tools packages.
###
###
### This program is free software; you can redistribute it and/or modify
### it under the terms of version 2 of the GNU General Public License as
### published by the Free Software Foundation.
###
### This program is distributed in the hope that it will be useful,
### but WITHOUT ANY WARRANTY; without even the implied warranty of
### MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
### GNU General Public License for more details.
###
### You should have received a copy of the GNU General Public License
### along with this program; if not, write to the Free Software
### Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
################################################################################

%global majorversion    11.2
%global minorversion    5
%global toolsbuild      17337674
%global toolsversion    %{majorversion}.%{minorversion}
%global toolsdaemon     vmtoolsd
%global vgauthdaemon    vgauthd

# temp build fix:
%define _disable_ld_no_undefined 1

Name:             open-vm-tools
Version:          %{toolsversion}
Release:          %mkrel 1
Summary:          Open Virtual Machine Tools for virtual machines hosted on VMware
Group:            System/Base
License:          GPLv2
URL:              https://github.com/vmware/%{name}
Source0:          https://github.com/vmware/%{name}/releases/download/stable-%{version}/%{name}-%{version}-%{toolsbuild}.tar.gz
Source1:          %{toolsdaemon}.service
Source2:          %{vgauthdaemon}.service
Source3:	  run-vmblock\x2dfuse.mount
Source4:	  open-vm-tools.conf
Source5:	  vmtoolsd.pam
ExclusiveArch:    %{ix86} x86_64

Patch1:		  %{name}-gcc11.patch

BuildRequires:    autoconf
BuildRequires:    automake
BuildRequires:    libtool
BuildRequires:    gcc-c++
BuildRequires:    doxygen
# Fuse is optional and enables vmblock-fuse
BuildRequires:    pkgconfig(fuse)
BuildRequires:    glib2-devel >= 2.14.0
BuildRequires:    libicu-devel
BuildRequires:    pkgconfig(libmspack)
BuildRequires:    libtool-devel
BuildRequires:    pkgconfig(x11)
BuildRequires:    pkgconfig(xext)
BuildRequires:    pkgconfig(xi)
BuildRequires:    pkgconfig(xinerama)
BuildRequires:    pkgconfig(xrandr)
BuildRequires:    pkgconfig(xrender)
BuildRequires:    pkgconfig(xtst)
BuildRequires:    pkgconfig(openssl)
BuildRequires:    pam-devel
BuildRequires:    pkgconfig(libprocps)
BuildRequires:    rpcgen
BuildRequires:    systemd
BuildRequires:    pkgconfig(libtirpc)
BuildRequires:    pkgconfig(xmlsec1)
BuildRequires:    pkgconfig(gtkmm-3.0)
BuildRequires:    pkgconfig(gtk+-3.0)
BuildRequires:    pkgconfig(gdk-pixbuf-xlib-2.0)
Requires(post):   rpm-helper
Requires(preun):  rpm-helper

%description
The %{name} project is an open source implementation of VMware Tools. It
is a suite of open source virtualization utilities and drivers to improve the
functionality, user experience and administration of VMware virtual machines.
This package contains only the core user-space programs and libraries of
%{name}.

%package          desktop
Summary:          User experience components for Open Virtual Machine Tools
Group:            System/Libraries
Requires:         %{name} = %{version}-%{release}

%description      desktop
This package contains only the user-space programs and libraries of
%{name} that are essential for improved user experience of VMware virtual
machines.

%package          sdmp
Summary:          Service Discovery components for Open Virtual Machine Tools
Requires:         %{name} = %{version}-%{release}
 
%description      sdmp
This package contains only the user-space programs and utility scripts of
%{name} that are essential for performing service discovery in VMware virtual
machines by vRealize Operations Service Discovery Management Pack.

%package          devel
Summary:          Development libraries for Open Virtual Machine Tools
Group:            Development/Other
Requires:         %{name} = %{version}-%{release}

%description      devel
This package contains only the user-space programs and libraries of
%{name} that are essential for developing customized applications for
VMware virtual machines.

%package          test
Summary:          Test utilities for Open Virtual Machine Tools
Requires:         %{name} = %{version}-%{release}

%description      test
This package contains only the test utilities for %{name} that are
useful for verifying the functioning of %{name} in VMware virtual
machines.

%prep
%autosetup -p1 -n %{name}-%{version}-%{toolsbuild}

%build
# Required for regenerating configure script when
# configure.ac get modified
autoreconf -fi

%configure \
    --without-kernel-modules \
    --enable-xmlsec1 \
    --enable-resolutionkms \
    --enable-servicediscovery \
    --with-udev-rules-dir=%{_udevrulesdir} \
    --with-tirpc \
    --disable-static
sed -i -e 's! -shared ! -Wl,--as-needed\0!g' libtool
%make_build

%install
export DONT_STRIP=1
%make_install

# Remove exec bit from config files
chmod a-x %{buildroot}%{_sysconfdir}/pam.d/*
chmod a-x %{buildroot}%{_sysconfdir}/vmware-tools/*.conf
chmod a-x %{buildroot}%{_sysconfdir}/vmware-tools/vgauth/schemas/*

# Remove exec bit on udev rules.
chmod a-x %{buildroot}%{_udevrulesdir}/99-vmware-scsi-udev.rules

# Remove the DOS line endings
sed -i "s|\r||g" README

# Remove "Encoding" key from the "Desktop Entry"
sed -i "s|^Encoding.*$||g" %{buildroot}%{_sysconfdir}/xdg/autostart/vmware-user.desktop

# Remove unnecessary files from packaging
find %{buildroot}%{_libdir} -name '*.la' -delete
rm -fr %{buildroot}%{_defaultdocdir}
rm -f docs/api/build/html/FreeSans.ttf

# Remove mount.vmhgfs & symlink
rm -fr %{buildroot}%{_sbindir} %{buildroot}/sbin/mount.vmhgfs

# Systemd unit files
install -p -m 644 -D %{SOURCE1} %{buildroot}%{_unitdir}/%{toolsdaemon}.service
install -p -m 644 -D %{SOURCE2} %{buildroot}%{_unitdir}/%{vgauthdaemon}.service
install -p -m 644 -D '%{SOURCE3}' %{buildroot}%{_unitdir}/run-vmblock\\x2dfuse.mount
install -p -m 644 -D %{SOURCE4} %{buildroot}%{_modulesloaddir}/open-vm-tools.conf
install -p -m 644 -D %{SOURCE5} %{buildroot}%{_sysconfdir}/pam.d/vmtoolsd 

# 'make check' in open-vm-tools rebuilds docs and ends up regenerating
# the font file. We can add %%check secion once 'make check' is fixed
# upstream

%post
# Setup mount point for Shared Folders
# NOTE: Use systemd-detect-virt to detect VMware platform because
#       vmware-checkvm might misbehave on non-VMware platforms.
if [ -f %{_bindir}/vmware-checkvm -a                     \
     -f %{_bindir}/vmhgfs-fuse ] &&                      \
   %{_bindir}/systemd-detect-virt | grep -iq VMware &&   \
   %{_bindir}/vmware-checkvm &> /dev/null &&             \
   %{_bindir}/vmware-checkvm -p | grep -q Workstation && \
   %{_bindir}/vmhgfs-fuse -e &> /dev/null; then
   mkdir -p /mnt/hgfs
fi

if [ "$1" = "2" ]; then
   # Cleanup GuestProxy certs, relevant for upgrades only
   if [ -f %{_bindir}/vmware-guestproxycerttool ]; then
      %{_bindir}/vmware-guestproxycerttool -e &> /dev/null || /bin/true
   fi
   if [ -d /etc/vmware-tools/GuestProxyData ]; then
      rm -rf /etc/vmware-tools/GuestProxyData &> /dev/null || /bin/true
   fi

   # Cleanup vmtoolsd-init.service in case of upgrades
   %{_bindir}/systemctl disable %{toolsdaemon}-init.service &> /dev/null || /bin/true
fi
%_post_service %{vgauthdaemon}
%_post_service %{toolsdaemon}

%post desktop
%_post_service run-vmblock\x2dfuse.mount

%preun
%_preun_service %{toolsdaemon}
%_preun_service %{vgauthdaemon}

if [ "$1" = "0" -a                                       \
     -f %{_bindir}/vmware-checkvm ] &&                   \
   %{_bindir}/systemd-detect-virt | grep -iq VMware &&   \
   %{_bindir}/vmware-checkvm &> /dev/null; then

   # Tell VMware that open-vm-tools is being uninstalled
   if [ -f %{_bindir}/vmware-rpctool ]; then
      %{_bindir}/vmware-rpctool 'tools.set.version 0' &> /dev/null || /bin/true
   fi

   # Teardown mount point for Shared Folders
   if [ -d /mnt/hgfs ] &&                               \
      %{_bindir}/vmware-checkvm -p | grep -q Workstation; then
      umount /mnt/hgfs &> /dev/null || /bin/true
      rmdir /mnt/hgfs &> /dev/null || /bin/true
   fi
fi

%preun desktop
%_preun_service run-vmblock\x2dfuse.mount

%postun
# Cleanup GuestProxy certs if open-vm-tools is being uninstalled
if [ "$1" = "0" ]; then
   rm -rf %{_sysconfdir}/vmware-tools/GuestProxyData &> /dev/null || /bin/true
fi

%files
%doc AUTHORS ChangeLog COPYING NEWS README
%config(noreplace) %{_sysconfdir}/pam.d/*
%dir %{_sysconfdir}/vmware-tools/
%dir %{_sysconfdir}/vmware-tools/vgauth
%dir %{_sysconfdir}/vmware-tools/vgauth/schemas
%config(noreplace) %{_sysconfdir}/vmware-tools/*.conf
# Don't expect users to modify example tools.conf file
%config %{_sysconfdir}/vmware-tools/tools.conf.example 
# Don't expect users to modify VGAuth schema files
%config %{_sysconfdir}/vmware-tools/vgauth/schemas/*
%{_sysconfdir}/vmware-tools/*-vm-default
%{_sysconfdir}/vmware-tools/scripts
%{_sysconfdir}/vmware-tools/statechange.subr
%{_bindir}/VGAuthService
%{_bindir}/vm-support
%{_bindir}/vmhgfs-fuse
%{_bindir}/vmtoolsd
%{_bindir}/vmware-checkvm
%{_bindir}/vmware-hgfsclient
%{_bindir}/vmware-namespace-cmd
%{_bindir}/vmware-rpctool
%{_bindir}/vmware-toolbox-cmd
%{_bindir}/vmware-vgauth-cmd
%{_bindir}/vmware-xferlogs
%{_libdir}/libDeployPkg.so.*
%{_libdir}/libguestlib.so.*
%{_libdir}/libhgfs.so.*
%{_libdir}/libvgauth.so.*
%{_libdir}/libvmtools.so.*
%dir %{_libdir}/%{name}/
%dir %{_libdir}/%{name}/plugins
%dir %{_libdir}/%{name}/plugins/common
%{_libdir}/%{name}/plugins/common/*.so
%dir %{_libdir}/%{name}/plugins/vmsvc
%{_libdir}/%{name}/plugins/vmsvc/libappInfo.so
%{_libdir}/%{name}/plugins/vmsvc/libdeployPkgPlugin.so
%{_libdir}/%{name}/plugins/vmsvc/libguestInfo.so
%{_libdir}/%{name}/plugins/vmsvc/libpowerOps.so
%{_libdir}/%{name}/plugins/vmsvc/libresolutionKMS.so
%{_libdir}/%{name}/plugins/vmsvc/libtimeSync.so
%{_libdir}/%{name}/plugins/vmsvc/libvmbackup.so

%{_datadir}/%{name}/
%{_udevrulesdir}/99-vmware-scsi-udev.rules
%{_unitdir}/%{toolsdaemon}.service
%{_unitdir}/%{vgauthdaemon}.service
%{_unitdir}/run-vmblock\x2dfuse.mount
%{_modulesloaddir}/open-vm-tools.conf

%files desktop
%{_sysconfdir}/xdg/autostart/*.desktop
%{_bindir}/vmware-user
%attr(4755,-,-) %{_bindir}/vmware-user-suid-wrapper
%{_bindir}/vmware-vmblock-fuse
%{_libdir}/%{name}/plugins/vmusr/

%files sdmp
%{_libdir}/%{name}/plugins/vmsvc/libserviceDiscovery.so
%{_libdir}/%{name}/serviceDiscovery

%files devel
%doc docs/api/build/*
%exclude %{_includedir}/libDeployPkg/
%{_includedir}/vmGuestLib/
%{_libdir}/pkgconfig/*.pc
%{_libdir}/libDeployPkg.so
%{_libdir}/libguestlib.so
%{_libdir}/libhgfs.so
%{_libdir}/libvgauth.so
%{_libdir}/libvmtools.so

%files test
%{_bindir}/vmware-vgauth-smoketest


%changelog
* Mon Jan 18 2021 luigiwalser <luigiwalser> 11.2.5-1.mga8
+ Revision: 1672357
- 11.2.5

* Tue Dec 01 2020 luigiwalser <luigiwalser> 11.2.0-2.mga8
+ Revision: 1651054
- BR: rpcgen from rpcsvc-proto instead of glibc
- rebuild for icu

* Wed Nov 11 2020 luigiwalser <luigiwalser> 11.2.0-1.mga8
+ Revision: 1644743
- 11.2.0
- add gcc11 patch from fedora

* Tue Sep 22 2020 ghibo <ghibo> 11.1.5-2.mga8
+ Revision: 1629461
- Update to release 11.1.5.
- Removed gcc10-warning patch (no longer needed).

* Mon Jun 22 2020 luigiwalser <luigiwalser> 11.1.0-2.mga8
+ Revision: 1598389
- rebuild with gtkmm3 (with fixed libtool)

* Sat Jun 20 2020 luigiwalser <luigiwalser> 11.1.0-1.mga8
+ Revision: 1598134
- 11.1.0
- sync missing changes from fedora

* Sun Feb 16 2020 umeabot <umeabot> 11.0.0-2.mga8
+ Revision: 1534702
- Mageia 8 Mass Rebuild
+ wally <wally>
- replace deprecated %%configure2_5x

* Sun Oct 06 2019 daviddavid <daviddavid> 11.0.0-1.mga8
+ Revision: 1449829
- new version: 11.0.0 build 14549434
- rebuild for new icu 65.1

* Sat Mar 16 2019 kekepower <kekepower> 10.3.10-1.mga7
+ Revision: 1378114
- Update to version 10.3.10 build 12406962

* Sat Dec 29 2018 luigiwalser <luigiwalser> 10.3.5-3.mga7
+ Revision: 1346523
- rebuild for libprocps

* Sat Dec 29 2018 luigiwalser <luigiwalser> 10.3.5-2.mga7
+ Revision: 1346106
- rebuild for icu

* Fri Nov 09 2018 kekepower <kekepower> 10.3.5-1.mga7
+ Revision: 1329229
- Update to version 10.3.5

* Tue Aug 28 2018 daviddavid <daviddavid> 10.3.0-2.mga7
+ Revision: 1255143
- rebuild for new icu

* Tue Aug 07 2018 kekepower <kekepower> 10.3.0-1.mga7
+ Revision: 1248807
- Update to version 10.3.0-8931395

* Fri Apr 06 2018 kekepower <kekepower> 10.2.5-2.mga7
+ Revision: 1215629
- Update to version 10.2.5

* Fri Dec 29 2017 wally <wally> 10.1.10-2.mga7
+ Revision: 1186997
- rebuild for new icu

* Mon Aug 14 2017 luigiwalser <luigiwalser> 10.1.10-1.mga7
+ Revision: 1140176
- 10.1.10

* Wed Jul 26 2017 luigiwalser <luigiwalser> 10.1.5-3.mga7
+ Revision: 1131082
- add patch from fedora to fix CVE-2015-5191

* Wed Mar 15 2017 mrambo3501 <mrambo3501> 10.1.5-2.mga6
+ Revision: 1092756
- Rebuild for icu-58.2

* Sat Mar 04 2017 luigiwalser <luigiwalser> 10.1.5-1.mga6
+ Revision: 1088706
- fix permissions of udev rules file (from fedora)
- 10.1.5-5055683

* Mon Feb 20 2017 luigiwalser <luigiwalser> 10.1.0-1.mga6
+ Revision: 1086991
- 10.1.0-4449150 (sync with fedora)

* Sat Aug 13 2016 luigiwalser <luigiwalser> 10.0.5-2.mga6
+ Revision: 1046151
- rebuild for procps-ng

* Thu Aug 11 2016 luigiwalser <luigiwalser> 10.0.5-1.mga6
+ Revision: 1045636
- 10.0.5-3227872 (sync with fedora)

* Sat May 14 2016 shlomif <shlomif> 10.0.0-5.mga6
+ Revision: 1015304
- Rebuild for the new UCI (new major)

* Thu Mar 03 2016 umeabot <umeabot> 10.0.0-4.mga6
+ Revision: 983850
- Rebuild for openssl

* Sun Jan 03 2016 luigiwalser <luigiwalser> 10.0.0-3.mga6
+ Revision: 918840
- rebuild for libprocps

* Fri Jan 01 2016 luigiwalser <luigiwalser> 10.0.0-2.mga6
+ Revision: 917911
- rebuild for icu

* Fri Dec 25 2015 tv <tv> 10.0.0-1.mga6
+ Revision: 914638
- temporary disable -as-needed
+ luigiwalser <luigiwalser>
- 10.0.0-3000743 (sync with fedora)

* Fri Aug 28 2015 luigiwalser <luigiwalser> 9.4.6-6.mga6
+ Revision: 870735
- do rpm-helper requires correctly

* Fri Aug 28 2015 zezinho <zezinho> 9.4.6-5.mga6
+ Revision: 870730
- add requires for rpm-helper to prevent scriptlet fail at DVD install

* Fri Aug 28 2015 cjw <cjw> 9.4.6-4.mga6
+ Revision: 870523
- patch2: fix a compiler warning that broke the build due to -Werror
- rebuild with gcc 5

* Sat Jul 25 2015 cjw <cjw> 9.4.6-3.mga6
+ Revision: 857381
- add -std=gnu++11 to CXXFLAGS (and fix CXXLAGS typo) to fix build
- rebuild for icu 55

* Sat Sep 06 2014 luigiwalser <luigiwalser> 9.4.6-2.mga5
+ Revision: 672717
- rebuild for procps-ng

* Fri Jul 18 2014 luigiwalser <luigiwalser> 9.4.6-1.mga5
+ Revision: 653553
- sync with fedora:
  - 9.4.6
  - add patch to fix bad strncmp arguments
  - call autoreconf
  - move vm-support to /usr/bin
  - in preun, tell VMWare that open-vm-tools is being uninstalled

* Sat Apr 05 2014 luigiwalser <luigiwalser> 9.4.0-3.mga5
+ Revision: 612012
- fix preun_service argument

* Sat Apr 05 2014 wally <wally> 9.4.0-2.mga5
+ Revision: 611986
- add patch from Fedora to fix g_info redefine build error (rhbz#1063847)
- rebuild for new icu

* Thu Nov 07 2013 luigiwalser <luigiwalser> 9.4.0-1.mga4
+ Revision: 549878
- 9.4.0-1280544

* Mon Oct 21 2013 umeabot <umeabot> 9.2.3-3.mga4
+ Revision: 537668
- Mageia 4 Mass Rebuild

* Fri Sep 27 2013 fwang <fwang> 9.2.3-2.mga4
+ Revision: 487495
- rebuild for icu 52

* Fri Aug 23 2013 luigiwalser <luigiwalser> 9.2.3-1.mga4
+ Revision: 470384
- adapt fedora spec to mageia
- imported package open-vm-tools