[oe] [meta-oe][PATCH v2] 01/17] add open-vm-tools recipe

Martin Kelly mkelly at xevo.com
Fri Jun 23 22:48:32 UTC 2017


This recipe is modified from the recipe originally found in the Open-Switch
repository:

https://github.com/open-switch/ops-build
yocto/openswitch/meta-foss-openswitch/recipes-extended/open-vm-tools/open-vm-tools_10.0.5.bb
Commit 9008de2d8e100f3f868c66765742bca9fa98f3f9

Although the original recipe packaging was Apache-licensed, I received
permission from the author (Diego Dompe) to relicense it under the MIT license
for inclusion in meta-openembedded:

https://lists.openswitch.net/pipermail/ops-dev/2017-April/014715.html
https://lists.openswitch.net/pipermail/ops-dev/2017-April/014716.html

Signed-off-by: Martin Kelly <mkelly at xevo.com>
---
 .../recipes-support/open-vm-tools/files/tools.conf |  2 +
 .../open-vm-tools/files/vmtoolsd.service           | 11 ++++
 .../open-vm-tools/0001-Fix-kernel-detection.patch  | 35 ++++++++++
 .../open-vm-tools/open-vm-tools_10.0.5.bb          | 75 ++++++++++++++++++++++
 4 files changed, 123 insertions(+)
 create mode 100644 meta-oe/recipes-support/open-vm-tools/files/tools.conf
 create mode 100644 meta-oe/recipes-support/open-vm-tools/files/vmtoolsd.service
 create mode 100644 meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-Fix-kernel-detection.patch
 create mode 100644 meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.0.5.bb

diff --git a/meta-oe/recipes-support/open-vm-tools/files/tools.conf b/meta-oe/recipes-support/open-vm-tools/files/tools.conf
new file mode 100644
index 000000000..f6cae70cc
--- /dev/null
+++ b/meta-oe/recipes-support/open-vm-tools/files/tools.conf
@@ -0,0 +1,2 @@
+[guestinfo]
+disable-perf-mon=1
diff --git a/meta-oe/recipes-support/open-vm-tools/files/vmtoolsd.service b/meta-oe/recipes-support/open-vm-tools/files/vmtoolsd.service
new file mode 100644
index 000000000..d30e38055
--- /dev/null
+++ b/meta-oe/recipes-support/open-vm-tools/files/vmtoolsd.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=Open Virtual Machine Tools (VMware Tools)
+ConditionVirtualization=vmware
+
+[Service]
+ExecStart=/usr/bin/vmtoolsd
+Restart=on-failure
+KillSignal=SIGKILL
+
+[Install]
+WantedBy=multi-user.target
diff --git a/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-Fix-kernel-detection.patch b/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-Fix-kernel-detection.patch
new file mode 100644
index 000000000..63ea45324
--- /dev/null
+++ b/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-Fix-kernel-detection.patch
@@ -0,0 +1,35 @@
+From 5d8814f4b4f016a633984822a6dfbc9426fef333 Mon Sep 17 00:00:00 2001
+From: Diego Dompe <dompe at hpe.com>
+Date: Thu, 7 Jan 2016 15:06:16 -0600
+Subject: [PATCH] Fix-kernel-detection
+
+Signed-off-by: Diego Dompe <dompe at hpe.com>
+---
+ configure.ac | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 04e3bac..1ab3f29 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -151,7 +151,7 @@ if test "$with_kernel_modules" = "yes"; then
+          if test ! -d "$LINUXDIR/kernel/"; then
+              AC_MSG_ERROR([$LINUXDIR/kernel does not exist])
+          fi
+-         LINUXINCLUDE="$LINUXDIR/build/include"
++         LINUXINCLUDE="$LINUXDIR/include"
+          if test ! -d "$LINUXINCLUDE"; then
+             AC_MSG_ERROR([Can't find include dir under $LINUXDIR])
+          fi
+@@ -1034,7 +1034,7 @@ MODULES_DIR=""
+ buildHgfsmounter=no
+ 
+ if test "$os" = "linux"; then
+-   MODULES_DIR="$LINUXDIR/kernel/"
++   MODULES_DIR="/lib/modules/$KERNEL_RELEASE"
+ 
+    CPPFLAGS="$CPPFLAGS -D_FILE_OFFSET_BITS=64"
+    CPPFLAGS="$CPPFLAGS -D_LARGEFILE64_SOURCE"
+-- 
+1.9.1
+
diff --git a/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.0.5.bb b/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.0.5.bb
new file mode 100644
index 000000000..4dee03a23
--- /dev/null
+++ b/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.0.5.bb
@@ -0,0 +1,75 @@
+# This recipe is modified from the recipe originally found in the Open-Switch
+# repository:
+#
+# https://github.com/open-switch/ops-build
+# yocto/openswitch/meta-foss-openswitch/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.0.5.bb
+# Commit 9008de2d8e100f3f868c66765742bca9fa98f3f9
+#
+# The recipe packaging has been relicensed under the MIT license for inclusion
+# in meta-openembedded by agreement of the author (Diego Dompe).
+#
+
+DECRIPTION = "open-vm-tools"
+SECTION = "vmware-tools"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=5804fe91d3294da4ac47c02b454bbc8a"
+
+PR = "r5"
+
+SRC_URI = "git://github.com/vmware/open-vm-tools.git;protocol=https \
+           file://tools.conf \
+           file://vmtoolsd.service \
+           file://0001-Fix-kernel-detection.patch \
+           "
+
+SRCREV = "538ea037a1549b6fd4e57529f7448a3fd2aa47af"
+
+S = "${WORKDIR}/git/open-vm-tools"
+
+DEPENDS = "virtual/kernel glib-2.0 util-linux libdnet procps libmspack"
+RDEPENDS_${PN} = "util-linux libdnet kernel-module-vmhgfs"
+
+inherit module-base kernel-module-split autotools systemd
+
+# from module.bbclass...
+addtask make_scripts after do_patch before do_compile
+do_make_scripts[lockfiles] = "${TMPDIR}/kernel-scripts.lock"
+do_make_scripts[depends] = "virtual/kernel:do_shared_workdir"
+# add all splitted modules to PN RDEPENDS, PN can be empty now
+KERNEL_MODULES_META_PACKAGE = "${PN}"
+
+SYSTEMD_SERVICE_${PN} = "vmtoolsd.service"
+
+EXTRA_OECONF = "--without-icu --disable-multimon --disable-docs --disable-tests \
+		--without-gtk2 --without-gtkmm --without-xerces --without-pam \
+                --disable-grabbitmqproxy --disable-vgauth --disable-deploypkg \
+		--with-linuxdir=${STAGING_KERNEL_DIR} --with-kernel-release=${KERNEL_VERSION} --without-root-privileges"
+
+EXTRA_OECONF += "${@base_contains('DISTRO_FEATURES', 'x11', '', '--without-x', d)}"
+
+EXTRA_OEMAKE = "KERNEL_RELEASE=${KERNEL_VERSION}"
+
+
+CFLAGS += '-Wno-error=deprecated-declarations'
+
+FILES_${PN} += "/usr/lib/open-vm-tools/plugins/vmsvc/lib*.so \
+		/usr/lib/open-vm-tools/plugins/common/lib*.so \
+    ${sysconfdir}/vmware-tools/tools.conf"
+FILES_${PN}-locale += "/usr/share/open-vm-tools/messages"
+FILES_${PN}-dev += "/usr/lib/open-vm-tools/plugins/common/lib*.la"
+FILES_${PN}-dbg += "/usr/lib/open-vm-tools/plugins/common/.debug \
+		    /usr/lib/open-vm-tools/plugins/vmsvc/.debug"
+
+CONFFILES_${PN} += "${sysconfdir}/vmware-tools/tools.conf"
+
+do_install_append() {
+    ln -sf /usr/sbin/mount.vmhgfs ${D}/sbin/mount.vmhgfs
+    install -d ${D}${systemd_unitdir}/system ${D}${sysconfdir}/vmware-tools
+    install -m 644 ${WORKDIR}/*.service ${D}${systemd_unitdir}/system
+    install -m 0644 ${WORKDIR}/tools.conf ${D}${sysconfdir}/vmware-tools/tools.conf
+}
+
+do_configure_prepend() {
+    export CUSTOM_PROCPS_NAME=procps
+    export CUSTOM_PROCPS_LIBS=-L${STAGING_LIBDIR}/libprocps.so
+}
-- 
2.11.0




More information about the Openembedded-devel mailing list