open-vm-tools/open-vm-tools.spec
Miroslav Rezanina cb1855937a Update license to SPDX format
Resolves: RHEL-43582
2024-08-27 08:28:08 +02:00

835 lines
31 KiB
RPMSpec

################################################################################
### Copyright 2013-2023 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 12.4
%global minorversion 0
%global toolsbuild 23259341
%global toolsversion %{majorversion}.%{minorversion}
%global toolsdaemon vmtoolsd
%global vgauthdaemon vgauthd
# gtkmm3 is removed from RHEL 10, bundle it until the project is ported
# GTK 4, see RHEL-35537
%global bundle_gtkmm3 1
Name: open-vm-tools
Version: %{toolsversion}
Release: 5%{?dist}
Summary: Open Virtual Machine Tools for virtual machines hosted on VMware
%if 0%{?bundle_gtkmm3}
# atkmm: LGPL-2.1-or-later
# cairomm: LGPL-2.0-or-later
# glibmm2.4: LGPL-2.1-or-later AND GPL-2.0-or-later
# gtkmm3.0: LGPL-2.1-or-later AND GPL-2.0-or-later
# libsigc++20: LGPL-2.1-or-later
# pangomm: LGPL-2.1-or-later AND GPL-2.0-only
License: GPL-2.0-only AND W3C AND LGPL-2.1-only AND ICU AND ISC AND MIT AND LGPL-2.1-or-later AND LGPL-2.0-or-later AND GPL-2.0-or-later
%else
License: GPL-2.0-only AND W3C AND LGPL-2.1-only AND ICU AND ISC AND MIT
%endif
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
%if 0%{?bundle_gtkmm3}
%global bundled_install_path %{_libdir}/%{name}
%global __provides_exclude_from ^%{bundled_install_path}
%global __requires_exclude ^(libatkmm|libcairomm|libgdkmm|libgiomm|libglibmm|libgtkmm|libpangomm|libsigc).*$
# Generally use the content that was already part of RHEL 10 apart from libsigc++20
# as it was modified to not build documentation because of docbook5, see i.e. RHEL-45565
# In order of use:
Source101: libsigc++20-2.12.1-4.el9.src.rpm
Source102: https://kojihub.stream.centos.org/kojifiles/vol/koji02/packages/glibmm2.4/2.66.6/5.el10/src/glibmm2.4-2.66.6-5.el10.src.rpm
Source103: https://kojihub.stream.centos.org/kojifiles/vol/koji02/packages/atkmm/2.28.4/2.el10/src/atkmm-2.28.4-2.el10.src.rpm
Source104: https://kojihub.stream.rdu2.redhat.com/kojifiles/vol/koji02/packages/cairomm/1.14.5/5.el10/src/cairomm-1.14.5-5.el10.src.rpm
Source105: https://kojihub.stream.rdu2.redhat.com/kojifiles/vol/koji02/packages/pangomm/2.46.4/2.el10/src/pangomm-2.46.4-2.el10.src.rpm
Source106: https://kojihub.stream.rdu2.redhat.com/kojifiles/vol/koji02/packages/gtkmm3.0/3.24.8/6.el10/src/gtkmm3.0-3.24.8-6.el10.src.rpm
%endif
%if 0%{?rhel} >= 7
ExclusiveArch: x86_64 aarch64
%else
ExclusiveArch: %{ix86} x86_64 aarch64
%endif
# Patches
#Patch0: <patch-name0>.patch
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: libtool
BuildRequires: make
BuildRequires: gcc-c++
BuildRequires: doxygen
# Fuse is optional and enables vmblock-fuse
# Switching Fedora to use fuse3. Red Hat to switch on their own schedule.
%if 0%{?fedora} || 0%{?rhel} > 8
BuildRequires: fuse3-devel
%else
BuildRequires: fuse-devel
%endif
BuildRequires: glib2-devel >= 2.14.0
BuildRequires: libicu-devel
BuildRequires: libmspack-devel
# Unfortunately, xmlsec1-openssl does not add libtool-ltdl dependency, so we
# need to add it ourselves.
BuildRequires: libtool-ltdl-devel
BuildRequires: libX11-devel
BuildRequires: libXext-devel
BuildRequires: libXi-devel
BuildRequires: libXinerama-devel
BuildRequires: libXrandr-devel
BuildRequires: libXrender-devel
BuildRequires: libXtst-devel
BuildRequires: openssl-devel
BuildRequires: pam-devel
BuildRequires: pkgconfig(libdrm)
BuildRequires: pkgconfig(libudev)
BuildRequires: procps-devel
BuildRequires: xmlsec1-openssl-devel
%if 0%{?fedora} || 0%{?rhel} >= 8
BuildRequires: gtk3-devel >= 3.10.0
%if 0%{?bundle_gtkmm3}
BuildRequires: atk-devel
# For cairomm tests, could be dropped
BuildRequires: boost-devel
BuildRequires: libxslt
BuildRequires: m4
BuildRequires: meson
BuildRequires: mm-common
BuildRequires: perl-generators
BuildRequires: perl-interpreter
BuildRequires: perl(Getopt::Long)
%else
BuildRequires: gtkmm30-devel >= 3.10.0
%endif
BuildRequires: libtirpc-devel
BuildRequires: rpcgen
BuildRequires: systemd-udev
%else
BuildRequires: gtk2-devel >= 2.4.0
BuildRequires: gtkmm24-devel
BuildRequires: systemd
%endif
Requires: coreutils
%if 0%{?fedora} || 0%{?rhel} > 8
Requires: fuse3
%else
Requires: fuse
%endif
Requires: iproute
Requires: grep
Requires: pciutils
Requires: sed
Requires: systemd
Requires: tar
Requires: util-linux
Requires: which
# xmlsec1-openssl needs to be added explicitly
Requires: xmlsec1-openssl
# DeployPkg pluggin require dbus-uuidgen
Requires: dbus-tools
# open-vm-tools >= 10.0.0 do not require open-vm-tools-deploypkg provided by
# VMware. That functionality is now available as part of open-vm-tools package
# itself.
Obsoletes: open-vm-tools-deploypkg <= 10.0.5
%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
Requires: %{name}%{?_isa} = %{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}%{?_isa} = %{version}-%{release}
Requires: coreutils
Requires: gawk
Requires: glibc-common
Requires: grep
Requires: iproute
Requires: procps
%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 salt-minion
Summary: Script file to install/uninstall salt-minion
Group: System Environment/Libraries
Requires: %{name}%{?_isa} = %{version}-%{release}, systemd, curl, coreutils, gawk, grep
ExclusiveArch: x86_64
%description salt-minion
This package contains a script to setup Salt Minion on VMware virtual machines.
%package devel
Summary: Development libraries for Open Virtual Machine Tools
Requires: %{name}%{?_isa} = %{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}%{?_isa} = %{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 -p2 -n %{name}-%{version}-%{toolsbuild}
%build
%if 0%{?bundle_gtkmm3}
export PATH="%{_buildrootdir}/bin:$PATH"
# Cleanup buildroot for existing rpms
rm -rf %{_buildrootdir}/*
function install_rpms_to_current_dir() {
PACKAGE_RPM=$(eval echo $1)
PACKAGE_DIR=%{_rpmdir}
echo "install_rpms_to_current_dir() for $PACKAGE_DIR/$PACKAGE_RPM"
if [ ! -f $PACKAGE_DIR/$PACKAGE_RPM ]; then
# Hack for tps tests
ARCH_STR=%{_arch}
%ifarch %{ix86}
ARCH_STR="i?86"
%endif
PACKAGE_DIR="$PACKAGE_DIR/$ARCH_STR"
fi
for package in $(ls $PACKAGE_DIR/$PACKAGE_RPM)
do
echo "$package"
rpm2cpio "$package" | cpio -ivdu
done
}
export LDFLAGS="-L%{_buildrootdir}%{bundled_install_path}/%{_lib} $LDFLAGS"
export LDFLAGS="-Wl,-rpath,%{bundled_install_path}/%{_lib} $LDFLAGS"
export LDFLAGS="-Wl,-rpath-link,%{_buildrootdir}%{bundled_install_path}/%{_lib} $LDFLAGS"
export PKG_CONFIG_PATH=%{_buildrootdir}%{bundled_install_path}/%{_lib}/pkgconfig
export PATH="%{_buildrootdir}%{bundled_install_path}/bin:$PATH"
# libsigc++20
rpm -ivh %{SOURCE101}
rpmbuild --nodeps --define '_prefix %{bundled_install_path}' -ba %{_specdir}/libsigc++20.spec
pushd %{_buildrootdir}
install_rpms_to_current_dir libsigc++20*.rpm
popd
sed -i 's@prefix=%{bundled_install_path}@prefix=%{_buildrootdir}%{bundled_install_path}@g' \
%{_buildrootdir}%{bundled_install_path}/%{_lib}/pkgconfig/*.pc
# glibmm2.4
rpm -ivh %{SOURCE102}
rpmbuild --nodeps --define '_prefix %{bundled_install_path}' -ba %{_specdir}/glibmm2.4.spec
pushd %{_buildrootdir}
install_rpms_to_current_dir glibmm2.4*.rpm
popd
sed -i 's@prefix=%{bundled_install_path}@prefix=%{_buildrootdir}%{bundled_install_path}@g' \
%{_buildrootdir}%{bundled_install_path}/%{_lib}/pkgconfig/*.pc
# atkmm
rpm -ivh %{SOURCE103}
rpmbuild --nodeps --define '_prefix %{bundled_install_path}' -ba %{_specdir}/atkmm.spec
pushd %{_buildrootdir}
install_rpms_to_current_dir atkmm*.rpm
popd
sed -i 's@prefix=%{bundled_install_path}@prefix=%{_buildrootdir}%{bundled_install_path}@g' \
%{_buildrootdir}%{bundled_install_path}/%{_lib}/pkgconfig/*.pc
# cairomm
rpm -ivh %{SOURCE104}
rpmbuild --nodeps --define '_prefix %{bundled_install_path}' --without=doc_pdf -ba %{_specdir}/cairomm.spec
pushd %{_buildrootdir}
install_rpms_to_current_dir cairomm*.rpm
popd
sed -i 's@prefix=%{bundled_install_path}@prefix=%{_buildrootdir}%{bundled_install_path}@g' \
%{_buildrootdir}%{bundled_install_path}/%{_lib}/pkgconfig/*.pc
# pangomm
rpm -ivh %{SOURCE105}
rpmbuild --nodeps --define '_prefix %{bundled_install_path}' -ba %{_specdir}/pangomm.spec
pushd %{_buildrootdir}
install_rpms_to_current_dir pangomm*.rpm
popd
sed -i 's@prefix=%{bundled_install_path}@prefix=%{_buildrootdir}%{bundled_install_path}@g' \
%{_buildrootdir}%{bundled_install_path}/%{_lib}/pkgconfig/*.pc
# gtkmm3.0
rpm -ivh %{SOURCE106}
rpmbuild --nodeps --define '_prefix %{bundled_install_path}' -ba %{_specdir}/gtkmm3.0.spec
pushd %{_buildrootdir}
install_rpms_to_current_dir gtkmm*.rpm
popd
sed -i 's@prefix=%{bundled_install_path}@prefix=%{_buildrootdir}%{bundled_install_path}@g' \
%{_buildrootdir}%{bundled_install_path}/%{_lib}/pkgconfig/*.pc
# Remove the doc subpackages as we don't need them
find %{_rpmdir} -name "*doc*.rpm" -delete
%endif
autoreconf -vif
%configure \
--without-kernel-modules \
--enable-xmlsec1 \
--enable-resolutionkms \
--enable-servicediscovery \
%ifarch x86_64
--enable-salt-minion \
%endif
%if 0%{?fedora} || 0%{?rhel} >= 8
--with-tirpc \
--without-gtk2 \
--without-gtkmm \
%if 0%{?bundle_gtk3mm}
--without-gtkmm3 \
%endif
%else
--without-tirpc \
--without-gtk3 \
--without-gtkmm3 \
%endif
--disable-static
sed -i -e 's! -shared ! -Wl,--as-needed\0!g' libtool
%make_build
%install
export DONT_STRIP=1
%if 0%{?bundle_gtkmm3}
set -e
function install_rpms_to_current_dir() {
PACKAGE_RPM=$(eval echo $1)
PACKAGE_DIR=%{_rpmdir}
echo "install_rpms_to_current_dir() for $PACKAGE_DIR/$PACKAGE_RPM"
if [ ! -f $PACKAGE_DIR/$PACKAGE_RPM ]; then
# Hack for tps tests
ARCH_STR=%{_arch}
%ifarch %{ix86}
ARCH_STR="i?86"
%endif
PACKAGE_DIR="$PACKAGE_DIR/$ARCH_STR"
fi
for package in $(ls $PACKAGE_DIR/$PACKAGE_RPM)
do
echo "$package"
rpm2cpio "$package" | cpio -ivdu
done
}
pushd %{buildroot}
# Install only what we need in runtime
install_rpms_to_current_dir atkmm-2.28.4-*.rpm
install_rpms_to_current_dir cairomm-1.14.5-*.rpm
install_rpms_to_current_dir glibmm2.4-2.66*.rpm
install_rpms_to_current_dir gtkmm3.0-3.24.8*.rpm
install_rpms_to_current_dir libsigc++20-2.12.1*.rpm
install_rpms_to_current_dir pangomm-2.46.4*.rpm
popd
# clean the created bundled rpms if there are any
rm -rf %{_srcrpmdir}/libsigc++20*.src.rpm
find %{_rpmdir} -name "libsigc++20*.rpm" -delete
rm -rf %{_srcrpmdir}/glibmm2.4*.src.rpm
find %{_rpmdir} -name "glibmm2.4*.rpm" -delete
rm -rf %{_srcrpmdir}/atkmm*.src.rpm
find %{_rpmdir} -name "atkmm*.rpm" -delete
rm -rf %{_srcrpmdir}/cairomm*.src.rpm
find %{_rpmdir} -name "cairomm*.rpm" -delete
rm -rf %{_srcrpmdir}/pangomm*.src.rpm
find %{_rpmdir} -name "pangomm*.rpm" -delete
rm -rf %{_srcrpmdir}/gtkmm*.src.rpm
find %{_rpmdir} -name "gtkmm*.rpm" -delete
%endif
%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
%?ldconfig
# 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
%systemd_post %{vgauthdaemon}.service %{toolsdaemon}.service
%post desktop
%systemd_post run-vmblock\\x2dfuse.mount
# Need to enable the service as it is not enabled by default.
# Enabling an already-enabled service is not an error. So, we can perform this
# step everytime during the post-install.
if [ -f %{_bindir}/vmware-checkvm ] && \
%{_bindir}/systemd-detect-virt | grep -iq VMware && \
%{_bindir}/vmware-checkvm &> /dev/null && \
%{_bindir}/vmware-checkvm -p | grep -q Workstation; then
%{_bindir}/systemctl enable run-vmblock\\x2dfuse.mount &> /dev/null || /bin/true
fi
%post sdmp
# Load the newly installed or upgraded SDMP plugin
if %{_bindir}/systemctl is-active %{toolsdaemon}.service &> /dev/null; then
%{_bindir}/systemctl restart %{toolsdaemon}.service &> /dev/null || /bin/true
fi
%preun
%?ldconfig
%systemd_preun %{toolsdaemon}.service %{vgauthdaemon}.service
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
%systemd_preun run-vmblock\\x2dfuse.mount
%postun
%?ldconfig
%systemd_postun_with_restart %{toolsdaemon}.service %{vgauthdaemon}.service
%postun desktop
%systemd_postun run-vmblock\\x2dfuse.mount
%postun sdmp
# In case of uninstall, unload the uninstalled SDMP plugin
if [ "$1" = "0" ] && \
%{_bindir}/systemctl is-active %{toolsdaemon}.service &> /dev/null; then
%{_bindir}/systemctl restart %{toolsdaemon}.service &> /dev/null || /bin/true
fi
%files
%license COPYING
%doc AUTHORS ChangeLog 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-alias-import
%{_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}/libguestStoreClient.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/libcomponentMgr.so
%{_libdir}/%{name}/plugins/vmsvc/libdeployPkgPlugin.so
%{_libdir}/%{name}/plugins/vmsvc/libgdp.so
%{_libdir}/%{name}/plugins/vmsvc/libguestInfo.so
%{_libdir}/%{name}/plugins/vmsvc/libguestStore.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
%{_modulesloaddir}/open-vm-tools.conf
%files desktop
%{_sysconfdir}/xdg/autostart/*.desktop
%{_bindir}/vmware-user
%{_bindir}/vmwgfxctrl
%attr(4755,-,-) %{_bindir}/vmware-user-suid-wrapper
%{_bindir}/vmware-vmblock-fuse
%{_libdir}/%{name}/plugins/vmusr/
%{_unitdir}/run-vmblock\x2dfuse.mount
%if 0%{?bundle_gtkmm3}
%{bundled_install_path}/share/doc/
%{bundled_install_path}/share/licenses/
%{bundled_install_path}/%{_lib}/libatkmm*
%{bundled_install_path}/%{_lib}/libcairomm*
%{bundled_install_path}/%{_lib}/libgdkmm*
%{bundled_install_path}/%{_lib}/libgiomm*
%{bundled_install_path}/%{_lib}/libglibmm*
%{bundled_install_path}/%{_lib}/libgtkmm*
%{bundled_install_path}/%{_lib}/libpangomm*
%{bundled_install_path}/%{_lib}/libsigc*
%endif
%files sdmp
%{_libdir}/%{name}/plugins/vmsvc/libserviceDiscovery.so
%{_libdir}/%{name}/serviceDiscovery
%ifarch x86_64
%files salt-minion
%dir %{_libdir}/%{name}/componentMgr/
%dir %{_libdir}/%{name}/componentMgr/saltMinion/
%{_libdir}/%{name}/componentMgr/saltMinion/svtminion.sh
%endif
%files devel
%doc docs/api/build/*
%exclude %{_includedir}/libDeployPkg/
%{_includedir}/vmGuestLib/
%{_libdir}/pkgconfig/*.pc
%{_libdir}/libDeployPkg.so
%{_libdir}/libguestlib.so
%{_libdir}/libguestStoreClient.so
%{_libdir}/libhgfs.so
%{_libdir}/libvgauth.so
%{_libdir}/libvmtools.so
%files test
%{_bindir}/vmware-vgauth-smoketest
%changelog
* Thu Aug 22 2024 Tomas Popela <tpopela@redhat.com> - 12.4.0-5
- Bundle gtkmm3.0 stack on RHEL 10 to allow its removal
- Update license string to SPDX format
* Mon Jun 24 2024 Troy Dawson <tdawson@redhat.com> - 12.4.0-4
- Bump release for June 2024 mass rebuild
* Wed Jun 12 2024 Miroslav Rezanina <mrezanin@redhat.com> - 12.4.0-3
- ovt-Drop-now-unneeded-gdk-pixbuf-xlib-dependency.patch [RHEL-40732]
- Resolves: RHEL-40732
(Drop unneeded gdk-pixbuf-xlib dependency)
* Mon May 20 2024 Miroslav Rezanina <mrezanin@redhat.com> - 12.4.0-2
- ovt-Require-dbus-tools.patch [RHEL-36292]
- Resolves: RHEL-36292
([ESXi][open-vm-tools]The open-vm-tools should depend on dbus-tools [rhel-10])
* Fri Apr 19 2024 Miroslav Rezanina <mrezanin@redhat.com> - 12.4.0-1
- Rebase to 12.4.0 [RHEL-30345]
- Resolves: [RHEL-30345]
([ESXi][RHEL10]open-vm-tools version 12.4.0 has been released - please rebase)
* Thu Jan 25 2024 Fedora Release Engineering <releng@fedoraproject.org> - 12.3.5-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Sun Jan 21 2024 Fedora Release Engineering <releng@fedoraproject.org> - 12.3.5-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Wed Nov 8 2023 John Wolfe <jwolfe@vmware.com> - 12.3.5-1
- Package new upstream version of open-vm-tools-12.3.5-22544099.
. fix for CVE-2023-34058 - another SAML token signature bypass vulnerability.
. fix for CVE-2023-34059 - a file descriptor hijack vulnerability in the
vmware-user-suid-wrapper.
. address https://github.com/vmware/open-vm-tools/issues/310
- Remove CVE-2023-34058.patch and CVE-2023-34059.patch as no longer needed.
* Mon Oct 30 2023 John Wolfe <jwolfe@vmware.com> - 12.3.0-3
- Address CVE-2023-34058 - BZ 2246963 - SAML token signature token bypass.
- Address CVE-2023-34059 - BZ 2246962 - vmware-user-suid-wrapper
file descriptor hijack vulnerability
* Thu Oct 05 2023 Peter Robinson <pbrobinson@fedoraproject.org> - 12.3.0-2
- Use fuse3 on new RHEL
* Sat Sep 9 2023 John Wolfe <jwolfe@vmware.com> - 12.3.0-1
- Package new upstream version of open-vm-tools-12.3.0-22234872.
- Fix for CVE-2023-20900 - a SAML token signature bypass vulnerability.
- Fix for CVE-2023-20867 - an Authentication Bypass vulnerability.
- Linux quiesced snapshots have been updated to avoid intermittent hangs
of the vmtoolsd process.
- File systems prefrozen by custom quiescing scripts must be listed on the
"excludedFileSystems" setting in the "vmbackup" section of the tools.conf
file.
- A tools.conf configuration setting is available to temporaily direct
Linux quiesced snaphots to restore pre open-vm-tools 12.2.0 behavior
of ignoring file systems already frozen.
- A number of Coverity reported issues have been addressed.
- A number of GitHub issues and pull requests have been handled.
* Thu Jul 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 12.1.5-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 12.1.5-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Sun Jan 1 2023 John Wolfe <jwolfe@vmware.com> - 12.1.5-2
- Update the copyright date in the open-vm-tools.spec file.
* Sun Jan 1 2023 John Wolfe <jwolfe@vmware.com> - 12.1.5-1
- Package new upstream version of open-vm-tools-12.1.5-20735119.
- The deployPkg plugin may prematurely reboot the guest VM before cloud-init
has completed user data setup
- A SIGSEGV may be encountered when a non-quiescing snapshot times out.
- A number of Coverity reported issues have been addressed.
* Thu Sep 8 2022 John Wolfe <jwolfe@VMWARE.COM> - 12.1.0-1
- Package new upstream version open-vm-tools-12.1.0-20219665.
. fix for CVE-2022-31676 - a local privilege escalation vulnerability.
. address a number of Coverity reported issues.
- Remove patch 1205-Properly-check-authorization-on-incoming-guestOps-re.patch
as no longer needed.
* Sun Sep 4 2022 John Wolfe <jwolfe@vmware.com> - 12.0.5-3
- Add patch 1205-Properly-check-authorization-on-incoming-guestOps-re.patch
to fix CVE-2022-31676 in open-vm-tools 12.0.5 tracked in PR 120976.
- Correct build requirements - replace systemd-rpm-macros with systemd_udev.
* Fri Jul 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 12.0.5-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Mon May 30 2022 John Wolfe <jwolfe@vmware.com> - 12.0.5-1
- Package new upstream version open-vm-tools-12.0.5-19716617.
- Maintenance release addressing some potential FTBFS issues.
- Remove asyncsocket.patch as no longer needed.
* Mon May 9 2022 John Wolfe <jwolfe@vmware.com> - 12.0.0-1
- Package new upstream version open-vm-tools-12.0.0-19345655.
- Enable build of the new salt-minion plugin package.
- Deferring enablement of new containerInfo plugin until a later revision.
- Build with fuse3 on Fedora.
* Thu Feb 24 2022 John Wolfe <jwolfe@vmware.com> - 11.3.5-1
- Package new upstream version open-vm-tools-11.3.5-18557794.
* Wed Feb 9 2022 John Wolfe <jwolfe@vmware.com> - 11.3.0-6
- Refactored asyncsocket.c patch to use size_t size and index variables.
* Tue Feb 1 2022 John Wolfe <jwolfe@vmware.com> - 11.3.0-5
- Address (fix) strings or array bounds warnings from GCC 12.0.x.
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 11.3.0-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Tue Sep 14 2021 Sahana Prasad <sahana@redhat.com> - 11.3.0-3
- Rebuilt with OpenSSL 3.0.0
* Thu Jul 22 2021 Fedora Release Engineering <releng@fedoraproject.org> - 11.3.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Thu Jul 15 2021 Ravindra Kumar <ravindrakumar@vmware.com> - 11.3.0-1
- Package new upstream version open-vm-tools-11.3.0-18090558.
- Add vmware-alias-import, vmwgfxctrl, libgdp.so, libguestStore.so
and libguestStoreClient.so.*.
- Remove open-vm-tools-fix-kms-autodetection.patch,
open-vm-tools-gcc11.patch and open-vm-tools-gdk-glib.patch
as no longer needed.
* Tue Jun 01 2021 Simone Caronni <negativo17@gmail.com> - 11.2.5-9
- Backport patch for KMS autodetection.
* Tue Jun 01 2021 Simone Caronni <negativo17@gmail.com> - 11.2.5-8
- Trim changelog.
- Fix libdrm/udev build requirement.
* Tue Jun 01 2021 Simone Caronni <negativo17@gmail.com> - 11.2.5-7
- Fix build on CentOS/RHEL 7.
- Allow building on aarch64 for CentOS/RHEL 8+ and Fedora.
- Clean up SPEC file (conditionals, build requirements, scriptlets, formatting).
* Mon Apr 05 2021 Ravindra Kumar <ravindrakumar@vmware.com> - 11.2.5-6
- Added missing escape char in run-vmblock\\x2dfuse.mount service name.
- Enabled run-vmblock\\x2dfuse.mount service during post-install.
- Moved run-vmblock\x2dfuse.mount service unit to desktop package.
* Fri Mar 19 2021 Ravindra Kumar <ravindrakumar@vmware.com> - 11.2.5-5
- Added open-vm-tools-gdk-glib.patch to fix RHBZ#1939718.
* Tue Mar 16 2021 Neal Gompa <ngompa13@gmail.com> - 11.2.5-4
- Add missing BRs
- Clean up conditionals to build correctly with EL8+
- Simplify systemd scriptlets
* Tue Mar 02 2021 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 11.2.5-3
- Rebuilt for updated systemd-rpm-macros
See https://pagure.io/fesco/issue/2583.
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 11.2.5-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Fri Jan 15 2021 Ravindra Kumar <ravindrakumar@vmware.com> - 11.2.5-1
- Package new upstream version open-vm-tools-11.2.5-17337674.
- libdnet dependency was removed in open-vm-tools 11.0.0. So,
removed the stale BuildRequires for libdnet.
* Thu Jan 14 2021 Richard W.M. Jones <rjones@redhat.com> - 11.2.0-2
- Bump and rebuild against libdnet 1.14 (RHBZ#1915838).
* Fri Nov 06 2020 Ravindra Kumar <ravindrakumar@vmware.com> - 11.2.0-1
- Package new upstream version open-vm-tools-11.2.0-16938113.
* Fri Oct 30 2020 Jeff Law <law@redhat.com> - 11.1.5-2
- Fix incorrect volatile exposed by gcc-11
* Tue Sep 08 2020 Ravindra Kumar <ravindrakumar@vmware.com> - 11.1.5-1
- Package new upstream version open-vm-tools-11.1.5-16724464.
- Removed gcc10-warning.patch and sdmp-fixes.patch (no longer needed).
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 11.1.0-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Thu Jul 09 2020 Merlin Mathesius <mmathesi@redhat.com> - 11.1.0-3
- Conditional fixes to build for ELN
* Sun Jun 21 2020 Ravindra Kumar <ravindrakumar@vmware.com> - 11.1.0-2
- Added sdmp-fixes.patch from upstream to remove net-tools dependency
and couple of important fixes
* Mon May 25 2020 Ravindra Kumar <ravindrakumar@vmware.com> - 11.1.0-1
- Package new upstream version open-vm-tools-11.1.0-16036546.
- Added new open-vm-tools-sdmp package.
- Workaround for vm-support script path is no longer needed.
- Added missing dependencies for vm-support script.
- Updated gcc10-warning.patch.
- Removed gcc9-static-inline.patch and diskinfo-log-spew.patch that
are no longer needed.
* Sun May 17 2020 Ravindra Kumar <ravindrakumar@vmware.com> - 11.0.5-4
- Updated PAM configuration file to follow configured authn scheme.
* Tue Mar 24 2020 Ravindra Kumar <ravindrakumar@vmware.com> - 11.0.5-3
- Use /sbin/ldconfig on older than Fedora 28 and RHEL 8 platforms.
* Fri Feb 07 2020 Ravindra Kumar <ravindrakumar@vmware.com> - 11.0.5-2
- Added patch diskinfo-log-spew.patch.
* Tue Feb 04 2020 Ravindra Kumar <ravindrakumar@vmware.com> - 11.0.5-1
- Package new upstream version open-vm-tools-11.0.5-15389592.
- Removed vix-memleak.patch which is no longer needed.
* Tue Feb 04 2020 Ravindra Kumar <ravindrakumar@vmware.com> - 11.0.0-6
- Added gcc10-warning.patch for fixing compilation issues.
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 11.0.0-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild