summaryrefslogtreecommitdiff
path: root/package/openvmtools/openvmtools.mk
diff options
context:
space:
mode:
authorKaroly Kasza <kaszak@gmail.com>2014-09-02 18:13:36 +0200
committerPeter Korsgaard <peter@korsgaard.com>2014-09-13 23:50:13 +0200
commit4288da4bb0f678829e7d24392831f086e5f22582 (patch)
treef8a88404bf194421df213ae4fa8cf4f2f4df3794 /package/openvmtools/openvmtools.mk
parent1c102abb56a5396c9822bb630b6d1a31f0751548 (diff)
openvmtools: new package
New package: openvmtools [Peter: add patch to fix compilation against modern glib versions] Signed-off-by: Karoly Kasza <kaszak@gmail.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Diffstat (limited to 'package/openvmtools/openvmtools.mk')
-rw-r--r--package/openvmtools/openvmtools.mk79
1 files changed, 79 insertions, 0 deletions
diff --git a/package/openvmtools/openvmtools.mk b/package/openvmtools/openvmtools.mk
new file mode 100644
index 000000000..6361d6b58
--- /dev/null
+++ b/package/openvmtools/openvmtools.mk
@@ -0,0 +1,79 @@
+################################################################################
+#
+# openvmtools
+#
+################################################################################
+
+OPENVMTOOLS_VERSION = 9.4.6-1770165
+OPENVMTOOLS_SOURCE = open-vm-tools-$(OPENVMTOOLS_VERSION).tar.gz
+OPENVMTOOLS_SITE = http://downloads.sourceforge.net/project/open-vm-tools/open-vm-tools/stable-9.4.x
+OPENVMTOOLS_LICENSE = LGPLv2.1
+OPENVMTOOLS_LICENSE_FILES = COPYING
+# Autoreconf needed because package is distributed without a configure script
+# See http://sourceforge.net/p/open-vm-tools/mailman/message/32550385/
+OPENVMTOOLS_AUTORECONF = YES
+OPENVMTOOLS_CONF_OPT = --without-icu --without-x --without-gtk2 --without-gtkmm --without-kernel-modules
+# -Wno-deprecated-declarations is a workaround for a bug in open-vm-tools
+# See http://sourceforge.net/p/open-vm-tools/mailman/message/31473171/
+OPENVMTOOLS_CONF_ENV = CFLAGS="$(TARGET_CFLAGS) -Wno-deprecated-declarations"
+
+OPENVMTOOLS_DEPENDENCIES = libglib2
+
+# When libfuse is available, openvmtools can build vmblock-fuse, so
+# make sure that libfuse gets built first
+ifeq ($(BR2_PACKAGE_LIBFUSE),y)
+OPENVMTOOLS_DEPENDENCIES += libfuse
+endif
+
+ifeq ($(BR2_PACKAGE_OPENVMTOOLS_PROCPS),y)
+OPENVMTOOLS_CONF_ENV += CUSTOM_PROCPS_NAME=procps
+OPENVMTOOLS_CONF_OPT += --with-procps
+OPENVMTOOLS_DEPENDENCIES += procps-ng
+else
+OPENVMTOOLS_CONF_OPT += --without-procps
+endif
+
+ifeq ($(BR2_PACKAGE_OPENVMTOOLS_DNET),y)
+# Needed because if it is defined configure will
+# use a different method to check for dnet
+OPENVMTOOLS_CONF_ENV += CUSTOM_DNET_CPPFLAGS=" "
+OPENVMTOOLS_CONF_OPT += --with-dnet
+OPENVMTOOLS_DEPENDENCIES += libdnet
+else
+OPENVMTOOLS_CONF_OPT += --without-dnet
+endif
+
+ifeq ($(BR2_PACKAGE_OPENVMTOOLS_PAM),y)
+OPENVMTOOLS_CONF_OPT += --with-pam
+OPENVMTOOLS_MAKE_OPT += CFLAGS+="-Wno-unused-local-typedefs"
+OPENVMTOOLS_DEPENDENCIES += linux-pam
+else
+OPENVMTOOLS_CONF_OPT += --without-pam
+endif
+
+# symlink needed by lib/system/systemLinux.c (or will cry in /var/log/messages)
+# /sbin/shutdown needed for Guest OS restart/shutdown from hypervisor
+define OPENVMTOOLS_POST_INSTALL_TARGET_THINGIES
+ ln -fs os-release $(TARGET_DIR)/etc/lfs-release
+ if [ ! -e $(TARGET_DIR)/sbin/shutdown ]; then \
+ $(INSTALL) -D -m 755 package/openvmtools/shutdown \
+ $(TARGET_DIR)/sbin/shutdown; \
+ fi
+endef
+
+OPENVMTOOLS_POST_INSTALL_TARGET_HOOKS += OPENVMTOOLS_POST_INSTALL_TARGET_THINGIES
+
+define OPENVMTOOLS_INSTALL_INIT_SYSV
+ $(INSTALL) -D -m 755 package/openvmtools/S10vmtoolsd \
+ $(TARGET_DIR)/etc/init.d/S10vmtoolsd
+endef
+
+define OPENVMTOOLS_INSTALL_INIT_SYSTEMD
+ $(INSTALL) -D -m 644 package/openvmtools/vmtoolsd.service \
+ $(TARGET_DIR)/etc/systemd/system/vmtoolsd.service
+ mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
+ ln -fs ../vmtoolsd.service \
+ $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/vmtoolsd.service
+endef
+
+$(eval $(autotools-package))