diff options
author | Mike Gilbert <floppym@gentoo.org> | 2017-01-02 12:24:42 -0500 |
---|---|---|
committer | Mike Gilbert <floppym@gentoo.org> | 2017-01-02 12:25:39 -0500 |
commit | 883a6231317bc0cbf3277248661dc0309a8e1258 (patch) | |
tree | b2db0e153bde13932732c09f3149ce985f9bcf48 /app-emulation | |
parent | dev-python/fusepy: get description right. (diff) | |
download | gentoo-883a6231317bc0cbf3277248661dc0309a8e1258.tar.gz gentoo-883a6231317bc0cbf3277248661dc0309a8e1258.tar.bz2 gentoo-883a6231317bc0cbf3277248661dc0309a8e1258.zip |
app-emulation/open-vm-tools: replace mount.vmhgfs with a wrapper
This will allow people to continue using fstype 'vmhgfs' in fstab with
the FUSE mounter.
Package-Manager: Portage-2.3.3_p12, Repoman-2.3.1_p5
Diffstat (limited to 'app-emulation')
-rw-r--r-- | app-emulation/open-vm-tools/files/mount.vmhgfs | 2 | ||||
-rw-r--r-- | app-emulation/open-vm-tools/open-vm-tools-10.1.0-r1.ebuild | 153 |
2 files changed, 155 insertions, 0 deletions
diff --git a/app-emulation/open-vm-tools/files/mount.vmhgfs b/app-emulation/open-vm-tools/files/mount.vmhgfs new file mode 100644 index 000000000000..d4b319c80cb2 --- /dev/null +++ b/app-emulation/open-vm-tools/files/mount.vmhgfs @@ -0,0 +1,2 @@ +#!/bin/sh +hgfsmounter "$@" >/dev/null 2>&1 || vmhgfs-fuse "$@" diff --git a/app-emulation/open-vm-tools/open-vm-tools-10.1.0-r1.ebuild b/app-emulation/open-vm-tools/open-vm-tools-10.1.0-r1.ebuild new file mode 100644 index 000000000000..8cc9d434ceae --- /dev/null +++ b/app-emulation/open-vm-tools/open-vm-tools-10.1.0-r1.ebuild @@ -0,0 +1,153 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=6 +MODULES_OPTIONAL_USE="modules" + +inherit autotools linux-mod pam systemd toolchain-funcs user + +DESCRIPTION="Opensourced tools for VMware guests" +HOMEPAGE="https://github.com/vmware/open-vm-tools" +MY_P="${P}-4449150" +SRC_URI="https://github.com/vmware/open-vm-tools/files/590760/${MY_P}.tar.gz" + +LICENSE="LGPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="X doc grabbitmqproxy icu pam +pic vgauth xinerama" + +COMMON_DEPEND=" + dev-libs/glib:2 + dev-libs/libdnet + sys-fs/fuse + >=sys-process/procps-3.3.2 + grabbitmqproxy? ( dev-libs/openssl:0 ) + icu? ( dev-libs/icu:= ) + pam? ( virtual/pam ) + vgauth? ( + dev-libs/openssl:0 + dev-libs/xerces-c + dev-libs/xml-security-c + ) + X? ( + dev-cpp/gtkmm:3.0 + x11-libs/gtk+:3 + x11-libs/libICE + x11-libs/libSM + x11-libs/libX11 + x11-libs/libXcomposite + x11-libs/libXext + x11-libs/libXi + x11-libs/libXrender + x11-libs/libXrandr + x11-libs/libXtst + xinerama? ( x11-libs/libXinerama ) + ) +" + +DEPEND="${COMMON_DEPEND} + doc? ( app-doc/doxygen ) + virtual/pkgconfig +" + +RDEPEND="${COMMON_DEPEND} +" + +S="${WORKDIR}/${MY_P}/open-vm-tools" + +PATCHES=( + "${FILESDIR}/10.1.0-mount.vmhgfs.patch" + "${FILESDIR}/10.1.0-vgauth.patch" + "${FILESDIR}/10.1.0-Werror.patch" +) + +pkg_setup() { + linux-info_get_any_version + local CONFIG_CHECK="~VMWARE_BALLOON ~VMWARE_PVSCSI ~VMXNET3" + use X && CONFIG_CHECK+=" ~DRM_VMWGFX" + kernel_is -lt 3 9 || CONFIG_CHECK+=" ~VMWARE_VMCI ~VMWARE_VMCI_VSOCKETS" + kernel_is -lt 3 || CONFIG_CHECK+=" ~FUSE_FS" + if use modules; then + linux-mod_pkg_setup + else + linux-info_pkg_setup + fi +} + +src_prepare() { + eapply -p2 "${PATCHES[@]}" + eapply_user + eautoreconf +} + +src_configure() { + local myeconfargs=( + --disable-deploypkg + --disable-static + --disable-tests + --with-procps + --with-dnet + $(use_enable doc docs) + $(use_enable grabbitmqproxy) + $(use_enable vgauth) + $(use_enable xinerama multimon) + $(use_with icu) + $(use_with pam) + $(use_with pic) + --without-gtk2 + --without-gtkmm + $(use_with X gtk3) + $(use_with X gtkmm3) + $(use_with X x) + + # configure locates the kernel object directory by looking for + # "/lib/modules/${KERNEL_RELEASE}/build". + # This will fail if the user is building against an uninstalled kernel. + # Fixing this would mean reworking the build system. + $(use_with modules kernel-modules) + --without-root-privileges + --with-kernel-release="${KV_FULL}" + ) + + econf "${myeconfargs[@]}" +} + +src_compile() { + use modules && set_arch_to_kernel + default +} + +src_install() { + default + prune_libtool_files --modules + + if use pam; then + rm "${ED%/}"/etc/pam.d/vmtoolsd || die + pamd_mimic_system vmtoolsd auth account + fi + + newinitd "${FILESDIR}/open-vm-tools.initd" vmware-tools + newconfd "${FILESDIR}/open-vm-tools.confd" vmware-tools + systemd_dounit "${FILESDIR}"/vmtoolsd.service + + # Replace mount.vmhgfs with a wrapper + mv "${ED%/}"/usr/sbin/{mount.vmhgfs,hgfsmounter} || die + dosbin "${FILESDIR}/mount.vmhgfs" + + # Make fstype = vmhgfs-fuse work in fstab + dosym vmhgfs-fuse /usr/bin/mount.vmhgfs-fuse + + if use X; then + fperms 4711 /usr/bin/vmware-user-suid-wrapper + dobin scripts/common/vmware-xdg-detect-de + + elog "To be able to use the drag'n'drop feature of VMware for file" + elog "exchange, please add the users to the 'vmware' group." + fi +} + +pkg_postinst() { + enewgroup vmware + linux-mod_pkg_postinst +} |