mirror of
https://github.com/motioneye-project/motioneyeos.git
synced 2025-07-30 14:46:31 +00:00
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>
This commit is contained in:
parent
1c102abb56
commit
4288da4bb0
@ -1172,6 +1172,7 @@ endif
|
|||||||
source "package/ncdu/Config.in"
|
source "package/ncdu/Config.in"
|
||||||
source "package/numactl/Config.in"
|
source "package/numactl/Config.in"
|
||||||
source "package/nut/Config.in"
|
source "package/nut/Config.in"
|
||||||
|
source "package/openvmtools/Config.in"
|
||||||
source "package/powerpc-utils/Config.in"
|
source "package/powerpc-utils/Config.in"
|
||||||
source "package/polkit/Config.in"
|
source "package/polkit/Config.in"
|
||||||
if BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
|
if BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
|
||||||
|
61
package/openvmtools/Config.in
Normal file
61
package/openvmtools/Config.in
Normal file
@ -0,0 +1,61 @@
|
|||||||
|
config BR2_PACKAGE_OPENVMTOOLS
|
||||||
|
bool "openvmtools"
|
||||||
|
depends on BR2_i386 || BR2_x86_64
|
||||||
|
depends on BR2_USE_MMU # libglib2
|
||||||
|
depends on BR2_USE_WCHAR # libglib2
|
||||||
|
depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2
|
||||||
|
depends on BR2_TOOLCHAIN_HAS_NATIVE_RPC
|
||||||
|
depends on BR2_LARGEFILE
|
||||||
|
depends on BR2_ENABLE_LOCALE
|
||||||
|
select BR2_PACKAGE_LIBGLIB2
|
||||||
|
help
|
||||||
|
Open Virtual Machine Tools for VMware guest OS
|
||||||
|
|
||||||
|
http://open-vm-tools.sourceforge.net/
|
||||||
|
|
||||||
|
ICU locales and X11 tools are currently not supported.
|
||||||
|
|
||||||
|
NOTE: Support for vmblock-fuse will be enabled in openvmtools if the
|
||||||
|
libfuse package is selected.
|
||||||
|
|
||||||
|
if BR2_PACKAGE_OPENVMTOOLS
|
||||||
|
|
||||||
|
config BR2_PACKAGE_OPENVMTOOLS_PROCPS
|
||||||
|
bool "procps support"
|
||||||
|
depends on BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
|
||||||
|
select BR2_PACKAGE_PROCPS_NG
|
||||||
|
help
|
||||||
|
Enable support for procps / meminfo
|
||||||
|
|
||||||
|
comment "procps support needs BR2_PACKAGE_BUSYBOX_SHOW_OTHERS"
|
||||||
|
depends on !BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
|
||||||
|
|
||||||
|
config BR2_PACKAGE_OPENVMTOOLS_DNET
|
||||||
|
bool "dnet support"
|
||||||
|
depends on BR2_INET_IPV6
|
||||||
|
select BR2_PACKAGE_LIBDNET
|
||||||
|
help
|
||||||
|
Enable support for libdnet / nicinfo
|
||||||
|
|
||||||
|
comment "dnet support needs a toolchain w/ IPv6"
|
||||||
|
depends on !BR2_INET_IPV6
|
||||||
|
|
||||||
|
config BR2_PACKAGE_OPENVMTOOLS_PAM
|
||||||
|
bool "PAM support"
|
||||||
|
select BR2_PACKAGE_LINUX_PAM
|
||||||
|
# linux-pam needs locale and wchar, but we already have this
|
||||||
|
# dependency on the main symbol, above.
|
||||||
|
depends on !BR2_PREFER_STATIC_LIB
|
||||||
|
help
|
||||||
|
Support for PAM in openvmtools
|
||||||
|
|
||||||
|
comment "PAM support needs a toolchain w/ dynamic library"
|
||||||
|
depends on BR2_PREFER_STATIC_LIB
|
||||||
|
|
||||||
|
endif
|
||||||
|
|
||||||
|
comment "openvmtools needs a toolchain w/ wchar, threads, RPC, largefile, locale"
|
||||||
|
depends on BR2_i386 || BR2_x86_64
|
||||||
|
depends on BR2_USE_MMU
|
||||||
|
depends on !BR2_USE_WCHAR ||!BR2_TOOLCHAIN_HAS_THREADS || \
|
||||||
|
!BR2_TOOLCHAIN_HAS_NATIVE_RPC || !BR2_LARGEFILE || !BR2_ENABLE_LOCALE
|
33
package/openvmtools/S10vmtoolsd
Normal file
33
package/openvmtools/S10vmtoolsd
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# Starts vmtoolsd for openvmtools
|
||||||
|
#
|
||||||
|
|
||||||
|
EXEC="/usr/bin/vmtoolsd"
|
||||||
|
ARGS="-b"
|
||||||
|
PID="/var/run/vmtoolsd.pid"
|
||||||
|
|
||||||
|
case "$1" in
|
||||||
|
start)
|
||||||
|
echo -n "Starting vmtoolsd: "
|
||||||
|
start-stop-daemon -S -q -x $EXEC -- $ARGS $PID
|
||||||
|
if [ $? != 0 ]; then
|
||||||
|
echo "FAILED"
|
||||||
|
exit 1
|
||||||
|
else
|
||||||
|
echo "OK"
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
stop)
|
||||||
|
echo -n "Stopping vmtoolsd: "
|
||||||
|
start-stop-daemon -K -q -p $PID
|
||||||
|
echo "OK"
|
||||||
|
;;
|
||||||
|
restart|reload)
|
||||||
|
$0 stop
|
||||||
|
$0 start
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "Usage: $0 {start|stop|restart}"
|
||||||
|
exit 1
|
||||||
|
esac
|
26
package/openvmtools/openvmtools-01-has_bsd_printf.patch
Normal file
26
package/openvmtools/openvmtools-01-has_bsd_printf.patch
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
lib/misc/msgList.c: missing #ifdef
|
||||||
|
|
||||||
|
This macro checks for BSD style printf(), which is not present
|
||||||
|
when compiling for uClibc. The linked functions are unnecessary in
|
||||||
|
this case, and they break compilation.
|
||||||
|
|
||||||
|
Signed-off-by: Karoly Kasza <kaszak@gmail.com>
|
||||||
|
|
||||||
|
--- open-vm-tools-9.4.6-1770165.orig/lib/misc/msgList.c 2014-07-02 00:21:14.000000000 +0200
|
||||||
|
+++ open-vm-tools-9.4.6-1770165/lib/misc/msgList.c 2014-07-29 13:40:40.000000000 +0200
|
||||||
|
@@ -487,6 +487,7 @@
|
||||||
|
return messages->id;
|
||||||
|
}
|
||||||
|
|
||||||
|
+#ifdef HAS_BSD_PRINTF
|
||||||
|
|
||||||
|
/*
|
||||||
|
*----------------------------------------------------------------------
|
||||||
|
@@ -566,6 +567,7 @@
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
/*
|
||||||
|
*----------------------------------------------------------------------
|
21
package/openvmtools/openvmtools-02-network_script.patch
Normal file
21
package/openvmtools/openvmtools-02-network_script.patch
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
scripts/linux/network: exit normally if no network control script
|
||||||
|
|
||||||
|
When using suspend/resume from the hypervisor, openvmtools checks for the
|
||||||
|
networking script, and exists with an error if not found, making the hypervisor
|
||||||
|
raise a warning message. This workaround silences that error message.
|
||||||
|
|
||||||
|
Signed-off-by: Karoly Kasza <kaszak@gmail.com>
|
||||||
|
|
||||||
|
--- open-vm-tools-9.4.6-1770165.orig/scripts/linux/network 2014-07-02 00:21:14.000000000 +0200
|
||||||
|
+++ open-vm-tools-9.4.6-1770165/scripts/linux/network 2014-08-07 16:34:21.963514273 +0200
|
||||||
|
@@ -88,7 +88,9 @@
|
||||||
|
run_network_script()
|
||||||
|
{
|
||||||
|
script=`find_networking_script`
|
||||||
|
- [ "$script" != "error" ] || Panic "Cannot find system networking script."
|
||||||
|
+# [ "$script" != "error" ] || Panic "Cannot find system networking script."
|
||||||
|
+# Modified for buildroot
|
||||||
|
+ [ "$script" != "error" ] || exit 0
|
||||||
|
|
||||||
|
# Using SysV "service" if it exists, otherwise fall back to run the script directly
|
||||||
|
service=`which service 2>/dev/null`
|
@ -0,0 +1,28 @@
|
|||||||
|
conditionally define g_info
|
||||||
|
|
||||||
|
glib also defines a g_info macro since 2.39.2, conflicting with the one in
|
||||||
|
openvmtools:
|
||||||
|
|
||||||
|
https://git.gnome.org/browse/glib/commit/?h=glib-2-40&id=36f1a4ce7ed6df6aa8
|
||||||
|
|
||||||
|
Patch from Fedora:
|
||||||
|
|
||||||
|
https://bugzilla.redhat.com/show_bug.cgi?id=1063847
|
||||||
|
http://pkgs.fedoraproject.org/cgit/open-vm-tools.git/tree/g_info_redefine.patch
|
||||||
|
|
||||||
|
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
|
||||||
|
|
||||||
|
diff -uNr open-vm-tools-9.4.0-1280544.orig/lib/include/vmware/tools/log.h open-vm-tools-9.4.0-1280544/lib/include/vmware/tools/log.h
|
||||||
|
--- open-vm-tools-9.4.0-1280544.orig/lib/include/vmware/tools/log.h 2013-09-23 19:51:10.000000000 +0400
|
||||||
|
+++ open-vm-tools-9.4.0-1280544/lib/include/vmware/tools/log.h 2014-02-18 10:56:50.368604176 +0400
|
||||||
|
@@ -134,7 +134,9 @@
|
||||||
|
*******************************************************************************
|
||||||
|
*/
|
||||||
|
|
||||||
|
-#define g_info(fmt, ...) g_log(G_LOG_DOMAIN, G_LOG_LEVEL_INFO, fmt, ## __VA_ARGS__)
|
||||||
|
+#if !defined(g_info)
|
||||||
|
+# define g_info(fmt, ...) g_log(G_LOG_DOMAIN, G_LOG_LEVEL_INFO, fmt, ## __VA_ARGS__)
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
79
package/openvmtools/openvmtools.mk
Normal file
79
package/openvmtools/openvmtools.mk
Normal file
@ -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))
|
7
package/openvmtools/shutdown
Normal file
7
package/openvmtools/shutdown
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
#compatibility script for openvmtools
|
||||||
|
if [ "$1" == "-r" ]; then
|
||||||
|
/sbin/reboot
|
||||||
|
else
|
||||||
|
/sbin/poweroff
|
||||||
|
fi
|
14
package/openvmtools/vmtoolsd.service
Normal file
14
package/openvmtools/vmtoolsd.service
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=vmtoolsd for openvmtools
|
||||||
|
After=syslog.target network.target
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=forking
|
||||||
|
PIDFile=/var/run/vmtoolsd.pid
|
||||||
|
ExecStart=/usr/bin/vmtoolsd -b /var/run/vmtoolsd.pid
|
||||||
|
Restart=on-failure
|
||||||
|
KillMode=process
|
||||||
|
KillSignal=SIGKILL
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
Loading…
x
Reference in New Issue
Block a user