################################################################################ ### 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