diff options
author | Xiami <i@f2light.com> | 2018-07-04 17:54:00 +0800 |
---|---|---|
committer | Mike Gilbert <floppym@gentoo.org> | 2018-07-04 10:56:16 -0400 |
commit | 27cf8b83fbf2cb9394d1c123a4ab237caa5d0d2c (patch) | |
tree | 2b4690c3d2e81ad9a8b1ed28f2b3501a50726076 /app-emulation | |
parent | media-sound/ardour: move 9999 to ardour6 (diff) | |
download | gentoo-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/Manifest | 1 | ||||
-rw-r--r-- | app-emulation/open-vm-tools/files/10.2.5-libtirpc.patch | 45 | ||||
-rw-r--r-- | app-emulation/open-vm-tools/files/vgauthd.service | 14 | ||||
-rw-r--r-- | app-emulation/open-vm-tools/files/vmtoolsd.service | 2 | ||||
-rw-r--r-- | app-emulation/open-vm-tools/files/vmtoolsd.vgauth.service | 14 | ||||
-rw-r--r-- | app-emulation/open-vm-tools/metadata.xml | 16 | ||||
-rw-r--r-- | app-emulation/open-vm-tools/open-vm-tools-10.2.5.ebuild | 172 |
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 +} |