summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Gilbert <floppym@gentoo.org>2017-01-02 12:24:42 -0500
committerMike Gilbert <floppym@gentoo.org>2017-01-02 12:25:39 -0500
commit883a6231317bc0cbf3277248661dc0309a8e1258 (patch)
treeb2db0e153bde13932732c09f3149ce985f9bcf48 /app-emulation
parentdev-python/fusepy: get description right. (diff)
downloadgentoo-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.vmhgfs2
-rw-r--r--app-emulation/open-vm-tools/open-vm-tools-10.1.0-r1.ebuild153
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
+}