summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorXiami <i@f2light.com>2018-07-04 17:54:00 +0800
committerMike Gilbert <floppym@gentoo.org>2018-07-04 10:56:16 -0400
commit27cf8b83fbf2cb9394d1c123a4ab237caa5d0d2c (patch)
tree2b4690c3d2e81ad9a8b1ed28f2b3501a50726076 /app-emulation
parentmedia-sound/ardour: move 9999 to ardour6 (diff)
downloadgentoo-27cf8b83fbf2cb9394d1c123a4ab237caa5d0d2c.tar.gz
gentoo-27cf8b83fbf2cb9394d1c123a4ab237caa5d0d2c.tar.bz2
gentoo-27cf8b83fbf2cb9394d1c123a4ab237caa5d0d2c.zip
app-emulation/open-vm-tools: Bump to 10.2.5 and update the ebuild
- Update LICENSE - According to configure.ac: - Introducing more features - Update IUSE, REQUIRED_USE and DEPENDs - Patches for migrate to libtirpc (and keep -Werror) Package-Manager: Portage-2.3.40, Repoman-2.3.9 Closes: https://github.com/gentoo/gentoo/pull/9039 Closes: https://bugs.gentoo.org/658086
Diffstat (limited to 'app-emulation')
-rw-r--r--app-emulation/open-vm-tools/Manifest1
-rw-r--r--app-emulation/open-vm-tools/files/10.2.5-libtirpc.patch45
-rw-r--r--app-emulation/open-vm-tools/files/vgauthd.service14
-rw-r--r--app-emulation/open-vm-tools/files/vmtoolsd.service2
-rw-r--r--app-emulation/open-vm-tools/files/vmtoolsd.vgauth.service14
-rw-r--r--app-emulation/open-vm-tools/metadata.xml16
-rw-r--r--app-emulation/open-vm-tools/open-vm-tools-10.2.5.ebuild172
7 files changed, 260 insertions, 4 deletions
diff --git a/app-emulation/open-vm-tools/Manifest b/app-emulation/open-vm-tools/Manifest
index a8bf132586f3..09a1e723dfe6 100644
--- a/app-emulation/open-vm-tools/Manifest
+++ b/app-emulation/open-vm-tools/Manifest
@@ -1,2 +1,3 @@
DIST open-vm-tools-10.1.10-6082533.tar.gz 5111726 BLAKE2B 22e2e901c542ae14b7537bc26ff848359f30bde6824a16968b70070dd6e57c92fbf76dca0d02e35ef45bda257725e207632b0602a4336bd2d9c97d10fb094967 SHA512 60c52a24509cb0630f2ad649fe6717fefff624fc2a5c736ced35cbdb8f639264d482e063e8140eedb39216adfb1231d58232bfef0233ebc477ba4f9a732c5965
DIST open-vm-tools-10.1.15-6677369.tar.gz 5153995 BLAKE2B 03c6b359df8f42f1ba65331dcac67e8ce86b0fce9a572c1665d3f385cae14f1757611d3948d30bb5b2e40bb2b4673bb244c45f56098faf09d6de515bb937ea3f SHA512 fe3699a7f704bdadc4c274c963d177f4700067e7436074554b7cf113ffa341ad0e4753016214f947418fd5a7cb4a6f2c0342acf074b6b414b3fd18fd2ea2bc58
+DIST open-vm-tools-10.2.5-8068406.tar.gz 4818035 BLAKE2B 87e3edc42afceaf9efe69ae8cbd1abfbbf959fe09a721dbe4737ca30c6b57dcf1d8bff23bb3ed3d2236c31e7f3e6fd4d10a689b40b3b725eb580609a68bb7090 SHA512 da2f26b4b22e195af111cc16d5819aeb963f0dfa18b5d2677d897549836ec8679808315646f7f86ae36862df9e623bbcb5d553dae97a68b3ef928a5c07ea2e68
diff --git a/app-emulation/open-vm-tools/files/10.2.5-libtirpc.patch b/app-emulation/open-vm-tools/files/10.2.5-libtirpc.patch
new file mode 100644
index 000000000000..a9dfb42b2fc4
--- /dev/null
+++ b/app-emulation/open-vm-tools/files/10.2.5-libtirpc.patch
@@ -0,0 +1,45 @@
+From 75505fed193fc3779560b57c1b0d6d4209b05bf9 Mon Sep 17 00:00:00 2001
+From: Xiami <i@f2light.com>
+Date: Thu, 14 Jun 2018 16:23:00 +0800
+Subject: [PATCH] lib/dynxdr: for libtirpc
+
+glibc-2.26 do not provide RPC support by default.
+This workaround only works for Gentoo as ebuild forces libtirpc.
+---
+ open-vm-tools/lib/dynxdr/dynxdr.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/open-vm-tools/lib/dynxdr/dynxdr.c b/open-vm-tools/lib/dynxdr/dynxdr.c
+index 95fdc7e2..d3182733 100644
+--- a/open-vm-tools/lib/dynxdr/dynxdr.c
++++ b/open-vm-tools/lib/dynxdr/dynxdr.c
+@@ -55,7 +55,7 @@ typedef struct DynXdrData {
+ * Mac OS X, FreeBSD and Solaris don't take a const parameter to the
+ * "x_getpostn" function.
+ */
+-#if defined(__APPLE__) || defined(__FreeBSD__) || defined(sun)
++#if defined(__APPLE__) || defined(__FreeBSD__) || defined(sun) || defined(_TIRPC_XDR_H)
+ # define DYNXDR_GETPOS_CONST
+ #else
+ # define DYNXDR_GETPOS_CONST const
+@@ -172,7 +172,7 @@ DynXdrSetPos(XDR *xdrs, // IN
+ }
+
+
+-#if defined(__GLIBC__) || (defined(sun) && (defined(_LP64) || defined(_KERNEL)))
++#if (defined(__GLIBC__) && !defined(_TIRPC_XDR_H)) || (defined(sun) && (defined(_LP64) || defined(_KERNEL)))
+ /*
+ *-----------------------------------------------------------------------------
+ *
+@@ -322,7 +322,7 @@ DynXdr_Create(XDR *in) // IN
+ DynXdrSetPos, /* x_setpostn */
+ DynXdrInline, /* x_inline */
+ NULL, /* x_destroy */
+-#if defined(__GLIBC__)
++#if defined(__GLIBC__) && !defined(_TIRPC_XDR_H)
+ NULL, /* x_getint32 */
+ DynXdrPutInt32, /* x_putint32 */
+ #elif defined(__APPLE__)
+--
+2.16.4
+
diff --git a/app-emulation/open-vm-tools/files/vgauthd.service b/app-emulation/open-vm-tools/files/vgauthd.service
new file mode 100644
index 000000000000..db27bd56ef51
--- /dev/null
+++ b/app-emulation/open-vm-tools/files/vgauthd.service
@@ -0,0 +1,14 @@
+[Unit]
+Description=VGAuth Service for open-vm-tools
+Documentation=https://github.com/vmware/open-vm-tools
+ConditionVirtualization=vmware
+PartOf=vmtoolsd.service
+
+[Service]
+# For dev-libs/xerces-c[iconv,-icu]
+EnvironmentFile=-/etc/env.d/50xerces-c
+ExecStart=/usr/bin/VGAuthService -s
+TimeoutStopSec=5
+
+[Install]
+RequiredBy=vmtoolsd.service
diff --git a/app-emulation/open-vm-tools/files/vmtoolsd.service b/app-emulation/open-vm-tools/files/vmtoolsd.service
index 426d4fbd993c..1226291bc8da 100644
--- a/app-emulation/open-vm-tools/files/vmtoolsd.service
+++ b/app-emulation/open-vm-tools/files/vmtoolsd.service
@@ -1,6 +1,6 @@
[Unit]
Description=Service for virtual machines hosted on VMware
-Documentation=http://open-vm-tools.sourceforge.net/about.php
+Documentation=https://github.com/vmware/open-vm-tools
ConditionVirtualization=vmware
[Service]
diff --git a/app-emulation/open-vm-tools/files/vmtoolsd.vgauth.service b/app-emulation/open-vm-tools/files/vmtoolsd.vgauth.service
new file mode 100644
index 000000000000..1cb6e00ecf51
--- /dev/null
+++ b/app-emulation/open-vm-tools/files/vmtoolsd.vgauth.service
@@ -0,0 +1,14 @@
+[Unit]
+Description=Service for virtual machines hosted on VMware
+Documentation=https://github.com/vmware/open-vm-tools
+ConditionVirtualization=vmware
+Requires=vgauthd.service
+After=vgauthd.service
+
+[Service]
+ExecStart=/usr/bin/vmtoolsd
+TimeoutStopSec=5
+
+[Install]
+WantedBy=multi-user.target
+Also=vgauthd.service
diff --git a/app-emulation/open-vm-tools/metadata.xml b/app-emulation/open-vm-tools/metadata.xml
index 53c18420cae0..e493eb3e04bf 100644
--- a/app-emulation/open-vm-tools/metadata.xml
+++ b/app-emulation/open-vm-tools/metadata.xml
@@ -16,13 +16,23 @@
of virtual machines.
</longdescription>
<use>
+ <flag name="caf">Build Common Agent Framework</flag>
+ <flag name="deploypkg">Build deploypkg plugin</flag>
+ <flag name="dnet">Enable support for nicinfo</flag>
<flag name="doc">Generate API documentation</flag>
- <flag name="grabbitmqproxy">Enable grabbitmqproxy</flag>
+ <flag name="fuse">Enable vmblock-fuse/vmhgfs-fuse</flag>
+ <flag name="grabbitmqproxy">Build grabbitmqproxy plugin</flag>
+ <flag name="gtk2">Compile with GTK+ 2</flag>
+ <flag name="gtk3">Compile with GTK+ 3 (Recommended)</flag>
+ <flag name="gtkmm">Compile with Gtkmm and sigc++ (Recommended)</flag>
+ <flag name="multimon">Enable multimon (Requires X)</flag>
<flag name="pic">Force shared libraries to be built as PIC</flag>
- <flag name="vgauth">Enable vgauth</flag>
+ <flag name="resolutionkms">Build the linux/unix resolutionkms module</flag>
+ <flag name="vgauth">Build vgauth</flag>
+ <flag name="xml-security-c">Build vgauth with xml-security-c instead of xmlsec1</flag>
+ <flag name="xmlsec">Build vgauth with xmlsec1 instead of xml-security-c</flag>
</use>
<upstream>
<remote-id type="github">vmware/open-vm-tools</remote-id>
- <remote-id type="sourceforge">open-vm-tools</remote-id>
</upstream>
</pkgmetadata>
diff --git a/app-emulation/open-vm-tools/open-vm-tools-10.2.5.ebuild b/app-emulation/open-vm-tools/open-vm-tools-10.2.5.ebuild
new file mode 100644
index 000000000000..9efaa12f5387
--- /dev/null
+++ b/app-emulation/open-vm-tools/open-vm-tools-10.2.5.ebuild
@@ -0,0 +1,172 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit autotools flag-o-matic linux-info pam systemd toolchain-funcs user
+
+DESCRIPTION="Opensourced tools for VMware guests"
+HOMEPAGE="https://github.com/vmware/open-vm-tools"
+MY_P="${P}-8068406"
+SRC_URI="https://github.com/vmware/open-vm-tools/releases/download/stable-${PV}/${MY_P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="X caf +deploypkg +dnet doc +fuse +grabbitmqproxy gtk2 gtk3 gtkmm +icu multimon pam +resolutionkms +ssl static-libs test +vgauth +xml-security-c xmlsec"
+REQUIRED_USE="
+ X? ( ^^ ( gtk2 gtk3 ) )
+ gtk2? ( X )
+ gtk3? ( X )
+ gtkmm? ( || ( gtk2 gtk3 ) )
+ multimon? ( X )
+ vgauth? (
+ ^^ ( xmlsec xml-security-c )
+ ssl
+ )
+ caf? ( vgauth ssl )
+ grabbitmqproxy? ( ssl )
+"
+
+RDEPEND="
+ dev-libs/glib
+ net-libs/libtirpc
+ deploypkg? ( dev-libs/libmspack )
+ fuse? ( sys-fs/fuse:0 )
+ pam? ( virtual/pam )
+ ssl? ( dev-libs/openssl:0 )
+ vgauth? (
+ xml-security-c? ( dev-libs/xerces-c dev-libs/xml-security-c )
+ xmlsec? ( dev-libs/libxml2 dev-libs/xmlsec )
+ )
+ X? (
+ x11-libs/libXext
+ multimon? ( x11-libs/libXinerama )
+ x11-libs/libXi
+ x11-libs/libXrender
+ x11-libs/libXrandr
+ x11-libs/libXtst
+ x11-libs/libSM
+ x11-libs/libXcomposite
+ x11-libs/gdk-pixbuf:2
+ gtk3? (
+ x11-libs/gtk+:3
+ gtkmm? ( dev-cpp/gtkmm:3.0 )
+ )
+ gtk2? (
+ x11-libs/gtk+:2
+ gtkmm? ( dev-cpp/gtkmm:2.4 )
+ )
+ gtkmm? ( dev-libs/libsigc++:2 )
+ )
+ dnet? ( dev-libs/libdnet )
+ icu? ( dev-libs/icu:= )
+ caf? (
+ dev-libs/log4cpp
+ net-libs/rabbitmq-c
+ )
+ resolutionkms? (
+ x11-libs/libdrm
+ virtual/libudev
+ )
+"
+
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ net-libs/rpcsvc-proto
+ doc? ( app-doc/doxygen )
+ test? ( dev-util/cunit )
+"
+
+S="${WORKDIR}/${MY_P}"
+
+PATCHES=(
+ "${FILESDIR}/10.1.0-mount.vmhgfs.patch"
+ "${FILESDIR}/10.2.5-libtirpc.patch"
+)
+
+pkg_setup() {
+ 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"
+ linux-info_pkg_setup
+}
+
+src_prepare() {
+ eapply -p2 "${PATCHES[@]}"
+ eapply_user
+ eautoreconf
+}
+
+src_configure() {
+ # On >=sys-libs/glibc-2.26, SunRPC no longer provided
+ # Use libtirpc and rpcsvc-proto instead
+ append-cppflags "$($(tc-getPKG_CONFIG) --cflags libtirpc)"
+ export LIBVMTOOLS_LIBADD="$($(tc-getPKG_CONFIG) --libs libtirpc)"
+ local myeconfargs=(
+ --without-root-privileges
+ $(use_enable multimon)
+ $(use_with X x)
+ $(use_with gtk3)
+ $(use_with gtk2)
+ $(use gtk3 && use_with gtkmm gtkmm3)
+ $(use gtk2 && use_with gtkmm)
+ $(use_enable doc docs)
+ $(use_enable test tests)
+ $(use_enable resolutionkms)
+ $(use_enable static-libs static)
+ $(use_enable deploypkg)
+ $(use_enable grabbitmqproxy)
+ $(use_with pam)
+ $(use_enable vgauth)
+ $(use vgauth && use_enable xmlsec xmlsec1)
+ $(use vgauth && use_enable xml-security-c xmlsecurity)
+ $(use_enable caf)
+ $(use_with dnet)
+ $(use_with icu)
+ )
+ # Avoid a bug in configure.ac
+ use ssl || myeconfargs+=( --without-ssl )
+
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ default
+ find "${D}" -name '*.la' -delete || die
+
+ 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
+
+ if use vgauth; then
+ systemd_newunit "${FILESDIR}"/vmtoolsd.vgauth.service vmtoolsd.service
+ systemd_dounit "${FILESDIR}"/vgauthd.service
+ else
+ systemd_dounit "${FILESDIR}"/vmtoolsd.service
+ fi
+
+ # 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
+}