1################################################################################
2#
3# openvmtools
4#
5################################################################################
6
7OPENVMTOOLS_VERSION_MAJOR = 11.3.5
8OPENVMTOOLS_VERSION = $(OPENVMTOOLS_VERSION_MAJOR)-18557794
9OPENVMTOOLS_SITE = https://github.com/vmware/open-vm-tools/releases/download/stable-$(OPENVMTOOLS_VERSION_MAJOR)
10OPENVMTOOLS_SOURCE = open-vm-tools-$(OPENVMTOOLS_VERSION).tar.gz
11OPENVMTOOLS_LICENSE = LGPL-2.1
12OPENVMTOOLS_LICENSE_FILES = COPYING
13OPENVMTOOLS_CPE_ID_VENDOR = vmware
14OPENVMTOOLS_CPE_ID_PRODUCT = tools
15
16# 0013-Properly-check-authorization-on-incoming-guestOps-re.patch
17OPENVMTOOLS_IGNORE_CVES += CVE-2022-31676
18
19# configure.ac is patched
20OPENVMTOOLS_AUTORECONF = YES
21OPENVMTOOLS_CONF_OPTS = --with-dnet \
22	--without-icu --without-x --without-gtk2 \
23	--without-gtkmm --without-kernel-modules \
24	--disable-deploypkg --without-xerces
25OPENVMTOOLS_CONF_ENV += \
26	CUSTOM_DNET_CPPFLAGS=" " \
27	LIBS=$(TARGET_NLS_LIBS)
28OPENVMTOOLS_DEPENDENCIES = \
29	host-nfs-utils \
30	libglib2 \
31	libdnet \
32	$(TARGET_NLS_DEPENDENCIES)
33
34ifeq ($(BR2_PACKAGE_LIBTIRPC),y)
35OPENVMTOOLS_DEPENDENCIES += libtirpc
36endif
37
38# When libfuse is available, openvmtools can build vmblock-fuse, so
39# make sure that libfuse gets built first
40ifeq ($(BR2_PACKAGE_LIBFUSE),y)
41OPENVMTOOLS_DEPENDENCIES += libfuse
42endif
43
44ifeq ($(BR2_PACKAGE_OPENSSL),y)
45OPENVMTOOLS_CONF_OPTS += --with-ssl
46OPENVMTOOLS_DEPENDENCIES += openssl
47else
48OPENVMTOOLS_CONF_OPTS += --without-ssl
49endif
50
51ifeq ($(BR2_PACKAGE_OPENVMTOOLS_PAM),y)
52OPENVMTOOLS_CONF_OPTS += --with-pam
53OPENVMTOOLS_DEPENDENCIES += linux-pam
54else
55OPENVMTOOLS_CONF_OPTS += --without-pam
56endif
57
58ifeq ($(BR2_PACKAGE_OPENVMTOOLS_RESOLUTIONKMS),y)
59OPENVMTOOLS_CONF_OPTS += --enable-resolutionkms
60OPENVMTOOLS_DEPENDENCIES += libdrm udev
61else
62OPENVMTOOLS_CONF_OPTS += --disable-resolutionkms
63endif
64
65# symlink needed by lib/system/systemLinux.c (or will cry in /var/log/messages)
66# defined in lib/misc/hostinfoPosix.c
67# /sbin/shutdown needed for Guest OS restart/shutdown from hypervisor
68define OPENVMTOOLS_POST_INSTALL_TARGET_THINGIES
69	ln -fs os-release $(TARGET_DIR)/etc/lfs-release
70	if [ ! -e $(TARGET_DIR)/sbin/shutdown ]; then \
71		$(INSTALL) -D -m 755 package/openvmtools/shutdown \
72			$(TARGET_DIR)/sbin/shutdown; \
73	fi
74endef
75
76OPENVMTOOLS_POST_INSTALL_TARGET_HOOKS += OPENVMTOOLS_POST_INSTALL_TARGET_THINGIES
77
78define OPENVMTOOLS_INSTALL_INIT_SYSV
79	$(INSTALL) -D -m 755 package/openvmtools/S10vmtoolsd \
80		$(TARGET_DIR)/etc/init.d/S10vmtoolsd
81endef
82
83define OPENVMTOOLS_INSTALL_INIT_SYSTEMD
84	$(INSTALL) -D -m 644 package/openvmtools/vmtoolsd.service \
85		$(TARGET_DIR)/usr/lib/systemd/system/vmtoolsd.service
86endef
87
88$(eval $(autotools-package))
89