################################################################################ ### 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 10.1 %global minorversion 5 %global toolsbuild 5055683 %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 2 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 ExclusiveArch: %{ix86} x86_64 Patch1: glibc-sysmacros.patch BuildRequires: autoconf BuildRequires: automake BuildRequires: libtool BuildRequires: gcc-c++ BuildRequires: doxygen # Fuse is optional and enables vmblock-fuse BuildRequires: fuse-devel BuildRequires: glib2-devel >= 2.14.0 BuildRequires: gtk2-devel >= 2.4.0 BuildRequires: gtkmm2.4-devel BuildRequires: libdnet-devel BuildRequires: libicu-devel BuildRequires: libmspack-devel BuildRequires: libtool-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: procps-devel BuildRequires: systemd BuildRequires: xmlsec1-devel 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 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. %prep %setup -q -n %{name}-%{version}-%{toolsbuild} %autopatch -p0 %build # Required for regenerating configure script when # configure.ac get modified autoreconf -fi %configure2_5x \ --without-kernel-modules \ --enable-xmlsec1 \ --with-udev-rules-dir=%{_udevrulesdir} \ --disable-static sed -i -e 's! -shared ! -Wl,--as-needed\0!g' libtool %make %install export DONT_STRIP=1 %makeinstall_std # 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 # Move vm-support to /usr/bin mv %{buildroot}%{_sysconfdir}/vmware-tools/vm-support %{buildroot}%{_bindir} # Systemd unit files install -p -m 644 -D %{SOURCE1} %{buildroot}%{_unitdir}/%{toolsdaemon}.service install -p -m 644 -D %{SOURCE2} %{buildroot}%{_unitdir}/%{vgauthdaemon}.service # '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 if [ -f %{_bindir}/vmware-guestproxycerttool ]; then mkdir -p %{_sysconfdir}/vmware-tools/GuestProxyData/server mkdir -p -m 0700 %{_sysconfdir}/vmware-tools/GuestProxyData/trusted %{_bindir}/vmware-guestproxycerttool -g &> /dev/null || /bin/true fi # 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 %_post_service %{vgauthdaemon} %_post_service %{toolsdaemon} %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 %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 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-guestproxycerttool %{_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/*.so %{_datadir}/%{name}/ %{_udevrulesdir}/99-vmware-scsi-udev.rules %{_unitdir}/%{toolsdaemon}.service %{_unitdir}/%{vgauthdaemon}.service %files desktop %{_sysconfdir}/xdg/autostart/*.desktop %{_bindir}/vmware-user-suid-wrapper %{_bindir}/vmware-vmblock-fuse %{_libdir}/%{name}/plugins/vmusr/ %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 %changelog * 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 * Thu Aug 22 2013 Ravindra Kumar <ravindrakumar@vmware.com> - 9.2.3-11 - Added copyright and license text. - Corrected summary for all packages. * Thu Aug 08 2013 Ravindra Kumar <ravindrakumar@vmware.com> - 9.2.3-10 - Added options for hardening build (bug 990549). - Excluded unwanted file mount.vmhgfs from packaging (bug 990547). - Removed deprecated key "Encoding" from "Desktop Entry" (bug 990552). * Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 9.2.3-9 - Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild * Tue Jun 4 2013 Richard W.M. Jones <rjones@redhat.com> - 9.2.3-8 - RHEL 7 now includes libdnet, so re-enable it. * Fri May 24 2013 Richard W.M. Jones <rjones@redhat.com> - 9.2.3-6 - +BR gcc-c++. If this is missing it fails to build. - On RHEL, disable libdnet. * Mon May 06 2013 Ravindra Kumar <ravindrakumar@vmware.com> - 9.2.3-5 - Renamed source file open-vm-tools.service -> vmtoolsd.service to match it with the service name. * Wed May 01 2013 Ravindra Kumar <ravindrakumar@vmware.com> - 9.2.3-4 - Bumped the release to pick the new service definition with no restart directive. * Mon Apr 29 2013 Ravindra Kumar <ravindrakumar@vmware.com> - 9.2.3-3 - open-vm-tools-9.2.3 require glib-2.14.0. * Mon Apr 29 2013 Ravindra Kumar <ravindrakumar@vmware.com> - 9.2.3-2 - Bumped the release to pick the new service definition. * Thu Apr 25 2013 Ravindra Kumar <ravindrakumar@vmware.com> - 9.2.3-1 - Package new upstream version open-vm-tools-9.2.3-1031360. - Removed configure options CUSTOM_PROCPS_NAME (for libproc) and -Wno-deprecated-declarations as these have been addressed in open-vm-tools-9.2.3-1031360. * Wed Apr 24 2013 Ravindra Kumar <ravindrakumar@vmware.com> - 9.2.2-12 - Removed %%defattr and BuildRoot. - Added ExclusiveArch. - Replaced /usr/sbin/ldconfig with /sbin/ldconfig. * Mon Apr 22 2013 Ravindra Kumar <ravindrakumar@vmware.com> - 9.2.2-11 - Removed the conditional steps for old versions of Fedora and RHEL. * Thu Apr 18 2013 Ravindra Kumar <ravindrakumar at vmware.com> - 9.2.2-10 - Addressed formal review comments from Simone Caronni. - Removed %%check section because 'make check' brings font file back. * Wed Apr 17 2013 Simone Caronni <negativo17@gmail.com> - 9.2.2-9 - Removed rm command in %%check section. - Remove blank character at the beginning of each changelog line. * Mon Apr 15 2013 Ravindra Kumar <ravindrakumar@vmware.com> - 9.2.2-8 - Removed FreeSans.ttf font file from packaging. - Added 'rm' command to remove font file in %%check section because 'make check' adds it back. - Added doxygen dependency back. * Thu Apr 11 2013 Ravindra Kumar <ravindrakumar@vmware.com> - 9.2.2-7 - Applied patch from Simone for removal of --docdir option from configure. - Removed unnecessary --enable-docs option from configure. - Removed doxygen dependency. * Thu Apr 11 2013 Ravindra Kumar <ravindrakumar@vmware.com> - 9.2.2-6 - Replaced vmtoolsd with a variable. - Changed summary for subpackages to be more specific. - Removed drivers.txt file as we don't really need it. - Fixed vmGuestLib ownership for devel package. - Removed systemd-sysv from Requires for Fedora 18+ and RHEL 7+. - Made all "if" conditions consistent. * Wed Apr 10 2013 Simone Caronni <negativo17@gmail.com> - 9.2.2-5 - Added RHEL 5/6 init script. - Renamed SysV init script / systemd service file to vmtoolsd. - Fixed ownership of files from review. - Moved api documentation in devel subpackage. - Removed static libraries. * Tue Apr 09 2013 Ravindra Kumar <ravindrakumar@vmware.com> - 9.2.2-4 - Applied part of review fixes patch from Simone Caronni for systemd setup. - Replaced tabs with spaces all over. * Tue Apr 09 2013 Ravindra Kumar <ravindrakumar@vmware.com> - 9.2.2-3 - Applied review fixes patch from Simone Caronni. - Added missing *.a and *.so files for devel package. - Removed unnecessary *.la plugin files from base package. * Mon Apr 08 2013 Ravindra Kumar <ravindrakumar@vmware.com> - 9.2.2-2 - Modified SPEC to follow the conventions and guidelines. - Addressed review comments from Mohamed El Morabity. - Added systemd script. - Verified and built the RPMS for Fedora 18. - Fixed rpmlint warnings. - Split the UX components in a separate package for desktops. - Split the help files in a separate package for help. - Split the guestlib headers in a separate devel package. * Mon Jan 28 2013 Sankar Tanguturi <stanguturi@vmware.com> - 9.2.2-1 - Initial SPEC file to build open-vm-tools for Fedora 17.