From 5f063ad3b633d7bc990872453c23233846366a89 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Sat, 22 Dec 2018 20:05:35 -0800 Subject: open-vm-tools: Upgrade to 10.3.5 Add a patch to fix build with gcc9 Signed-off-by: Khem Raj --- ...1-misc-Do-not-print-NULL-string-into-logs.patch | 31 ++++++ .../open-vm-tools/open-vm-tools_10.3.0.bb | 105 -------------------- .../open-vm-tools/open-vm-tools_10.3.5.bb | 107 +++++++++++++++++++++ 3 files changed, 138 insertions(+), 105 deletions(-) create mode 100644 meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-misc-Do-not-print-NULL-string-into-logs.patch delete mode 100644 meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.3.0.bb create mode 100644 meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.3.5.bb (limited to 'meta-oe/recipes-support') diff --git a/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-misc-Do-not-print-NULL-string-into-logs.patch b/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-misc-Do-not-print-NULL-string-into-logs.patch new file mode 100644 index 0000000000..7af265a999 --- /dev/null +++ b/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-misc-Do-not-print-NULL-string-into-logs.patch @@ -0,0 +1,31 @@ +From e25d00d8297cba044c3a4d2e38749e54adac66c1 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sat, 22 Dec 2018 19:59:02 -0800 +Subject: [PATCH] misc: Do not print NULL string into logs + +string format %s is getting a NULL pointer for 'expand' +parameter always since the check for chunks[i] == NULL will ensure that +its always null when the Log() API is called + +Upstream-Status: Submitted [https://github.com/vmware/open-vm-tools/pull/312] + +Signed-off-by: Khem Raj +--- + open-vm-tools/lib/misc/util_misc.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git open-vm-tools/lib/misc/util_misc.c b/open-vm-tools/lib/misc/util_misc.c +index 198c23d2..0ac0a335 100644 +--- open-vm-tools/lib/misc/util_misc.c ++++ open-vm-tools/lib/misc/util_misc.c +@@ -719,8 +719,8 @@ Util_ExpandString(const char *fileName) // IN file path to expand + ASSERT(!freeChunk[i]); + chunks[i] = expand; + if (chunks[i] == NULL) { +- Log("%s: Cannot allocate memory to expand \"%s\" in \"%s\".\n", +- __FUNCTION__, expand, fileName); ++ Log("%s: Cannot allocate memory to expand in \"%s\".\n", ++ __FUNCTION__, fileName); + goto out; + } + chunkSize[i] = strlen(expand); diff --git a/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.3.0.bb b/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.3.0.bb deleted file mode 100644 index 2d7486da34..0000000000 --- a/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.3.0.bb +++ /dev/null @@ -1,105 +0,0 @@ -# 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). -# - -SUMMARY = "Tools to enhance VMWare guest integration and performance" -HOMEPAGE = "https://github.com/vmware/open-vm-tools" -SECTION = "vmware-tools" - -LICENSE = "LGPL-2.0 & GPL-2.0 & BSD & CDDL-1.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=559317809c5444fb39ceaf6ac45c43ac" -LICENSE_modules/freebsd/vmblock = "BSD" -LICENSE_modules/freebsd/vmmemctl = "GPL-2.0" -LICENSE_modules/freebsd/vmxnet = "GPL-2.0" -LICENSE_modules/linux = "GPL-2.0" -LICENSE_modules/solaris = "CDDL-1.0" - -SRC_URI = "git://github.com/vmware/open-vm-tools.git;protocol=https \ - file://tools.conf \ - file://vmtoolsd.service \ - file://vmtoolsd.init \ - file://0001-configure.ac-don-t-use-dnet-config.patch \ - file://0002-add-include-sys-sysmacros.h.patch \ - file://0005-Use-configure-test-for-struct-timespec.patch \ - file://0006-Fix-definition-of-ALLPERMS-and-ACCESSPERMS.patch \ - file://0007-Use-configure-to-test-for-feature-instead-of-platfor.patch \ - file://0011-Use-configure-test-for-sys-stat.h-include.patch \ - file://fix-subdir-objects-configure-error.patch \ - file://0001-include-poll.h-instead-of-sys-poll.h.patch \ - file://0002-Rename-poll.h-to-vm_poll.h.patch \ - file://0003-use-posix-strerror_r-unless-on-gnu-libc-system.patch \ - file://0004-Use-uintmax_t-for-handling-rlim_t.patch \ - file://0001-Use-off64_t-instead-of-__off64_t.patch \ -" -SRCREV = "2147df6aabe639fc5ff423ed791a8e7f02bf8d0a" - -S = "${WORKDIR}/git/open-vm-tools" - -DEPENDS = "glib-2.0 glib-2.0-native util-linux libdnet procps libtirpc" - -# open-vm-tools is supported only on x86. -COMPATIBLE_HOST = '(x86_64.*|i.86.*)-linux' - -inherit autotools pkgconfig systemd update-rc.d - -SYSTEMD_SERVICE_${PN} = "vmtoolsd.service" - -EXTRA_OECONF = "--without-icu --disable-multimon --disable-docs \ - --disable-tests --without-gtkmm --without-xerces --without-pam \ - --disable-grabbitmqproxy --disable-vgauth --disable-deploypkg \ - --without-root-privileges --without-kernel-modules" - -NO_X11_FLAGS = "--without-x --without-gtk2 --without-gtk3" -X11_DEPENDS = "libxext libxi libxrender libxrandr libxtst gtk+ gdk-pixbuf" -PACKAGECONFIG[x11] = ",${NO_X11_FLAGS},${X11_DEPENDS}" - -# fuse gets implicitly detected; there is no --without-fuse option. -PACKAGECONFIG[fuse] = ",,fuse" - -CFLAGS_append_toolchain-clang = " -Wno-address-of-packed-member" -FILES_${PN} += "\ - ${libdir}/open-vm-tools/plugins/vmsvc/lib*.so \ - ${libdir}/open-vm-tools/plugins/common/lib*.so \ - ${sysconfdir}/vmware-tools/tools.conf \ -" -FILES_${PN}-locale += "${datadir}/open-vm-tools/messages" -FILES_${PN}-dev += "${libdir}/open-vm-tools/plugins/common/lib*.la" - -CONFFILES_${PN} += "${sysconfdir}/vmware-tools/tools.conf" - -RDEPENDS_${PN} = "util-linux libdnet fuse" - -do_install_append() { - ln -sf ${sbindir}/mount.vmhgfs ${D}/sbin/mount.vmhgfs - install -d ${D}${sysconfdir}/vmware-tools - if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then - install -d ${D}${systemd_unitdir}/system - install -m 644 ${WORKDIR}/*.service ${D}${systemd_unitdir}/system - else - install -d ${D}${sysconfdir}/init.d - install -m 0755 ${WORKDIR}/vmtoolsd.init ${D}${sysconfdir}/init.d/vmtoolsd - fi - install -m 0644 ${WORKDIR}/tools.conf ${D}${sysconfdir}/vmware-tools/tools.conf -} - -do_configure_prepend() { - export CUSTOM_DNET_NAME=dnet - export CUSTOM_DNET_LIBS=-L${STAGING_LIBDIR}/libdnet.so -} - -INITSCRIPT_PACKAGES = "${PN}" -INITSCRIPT_NAME_${PN} = "vmtoolsd" -INITSCRIPT_PARAMS_${PN} = "start 90 2 3 4 5 . stop 60 0 1 6 ." - -python() { - if 'networking-layer' not in d.getVar('BBFILE_COLLECTIONS').split() or \ - 'filesystems-layer' not in d.getVar('BBFILE_COLLECTIONS').split(): - raise bb.parse.SkipRecipe('Requires meta-networking and meta-filesystems to be present.') -} diff --git a/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.3.5.bb b/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.3.5.bb new file mode 100644 index 0000000000..7ed6593727 --- /dev/null +++ b/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.3.5.bb @@ -0,0 +1,107 @@ +# 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). +# + +SUMMARY = "Tools to enhance VMWare guest integration and performance" +HOMEPAGE = "https://github.com/vmware/open-vm-tools" +SECTION = "vmware-tools" + +LICENSE = "LGPL-2.0 & GPL-2.0 & BSD & CDDL-1.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=559317809c5444fb39ceaf6ac45c43ac" +LICENSE_modules/freebsd/vmblock = "BSD" +LICENSE_modules/freebsd/vmmemctl = "GPL-2.0" +LICENSE_modules/freebsd/vmxnet = "GPL-2.0" +LICENSE_modules/linux = "GPL-2.0" +LICENSE_modules/solaris = "CDDL-1.0" + +SRC_URI = "git://github.com/vmware/open-vm-tools.git;protocol=https \ + file://tools.conf \ + file://vmtoolsd.service \ + file://vmtoolsd.init \ + file://0001-configure.ac-don-t-use-dnet-config.patch \ + file://0002-add-include-sys-sysmacros.h.patch \ + file://0005-Use-configure-test-for-struct-timespec.patch \ + file://0006-Fix-definition-of-ALLPERMS-and-ACCESSPERMS.patch \ + file://0007-Use-configure-to-test-for-feature-instead-of-platfor.patch \ + file://0011-Use-configure-test-for-sys-stat.h-include.patch \ + file://fix-subdir-objects-configure-error.patch \ + file://0001-include-poll.h-instead-of-sys-poll.h.patch \ + file://0002-Rename-poll.h-to-vm_poll.h.patch \ + file://0003-use-posix-strerror_r-unless-on-gnu-libc-system.patch \ + file://0004-Use-uintmax_t-for-handling-rlim_t.patch \ + file://0001-Use-off64_t-instead-of-__off64_t.patch \ + file://0001-misc-Do-not-print-NULL-string-into-logs.patch \ + " +# stable-10.3.5 +SRCREV = "f2ff192717375b95a6b7e278fb47dbb3d3bc56d1" + +S = "${WORKDIR}/git/open-vm-tools" + +DEPENDS = "glib-2.0 glib-2.0-native util-linux libdnet procps libtirpc" + +# open-vm-tools is supported only on x86. +COMPATIBLE_HOST = '(x86_64.*|i.86.*)-linux' + +inherit autotools pkgconfig systemd update-rc.d + +SYSTEMD_SERVICE_${PN} = "vmtoolsd.service" + +EXTRA_OECONF = "--without-icu --disable-multimon --disable-docs \ + --disable-tests --without-gtkmm --without-xerces --without-pam \ + --disable-grabbitmqproxy --disable-vgauth --disable-deploypkg \ + --without-root-privileges --without-kernel-modules" + +NO_X11_FLAGS = "--without-x --without-gtk2 --without-gtk3" +X11_DEPENDS = "libxext libxi libxrender libxrandr libxtst gtk+ gdk-pixbuf" +PACKAGECONFIG[x11] = ",${NO_X11_FLAGS},${X11_DEPENDS}" + +# fuse gets implicitly detected; there is no --without-fuse option. +PACKAGECONFIG[fuse] = ",,fuse" + +CFLAGS_append_toolchain-clang = " -Wno-address-of-packed-member" +FILES_${PN} += "\ + ${libdir}/open-vm-tools/plugins/vmsvc/lib*.so \ + ${libdir}/open-vm-tools/plugins/common/lib*.so \ + ${sysconfdir}/vmware-tools/tools.conf \ +" +FILES_${PN}-locale += "${datadir}/open-vm-tools/messages" +FILES_${PN}-dev += "${libdir}/open-vm-tools/plugins/common/lib*.la" + +CONFFILES_${PN} += "${sysconfdir}/vmware-tools/tools.conf" + +RDEPENDS_${PN} = "util-linux libdnet fuse" + +do_install_append() { + ln -sf ${sbindir}/mount.vmhgfs ${D}/sbin/mount.vmhgfs + install -d ${D}${sysconfdir}/vmware-tools + if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then + install -d ${D}${systemd_unitdir}/system + install -m 644 ${WORKDIR}/*.service ${D}${systemd_unitdir}/system + else + install -d ${D}${sysconfdir}/init.d + install -m 0755 ${WORKDIR}/vmtoolsd.init ${D}${sysconfdir}/init.d/vmtoolsd + fi + install -m 0644 ${WORKDIR}/tools.conf ${D}${sysconfdir}/vmware-tools/tools.conf +} + +do_configure_prepend() { + export CUSTOM_DNET_NAME=dnet + export CUSTOM_DNET_LIBS=-L${STAGING_LIBDIR}/libdnet.so +} + +INITSCRIPT_PACKAGES = "${PN}" +INITSCRIPT_NAME_${PN} = "vmtoolsd" +INITSCRIPT_PARAMS_${PN} = "start 90 2 3 4 5 . stop 60 0 1 6 ." + +python() { + if 'networking-layer' not in d.getVar('BBFILE_COLLECTIONS').split() or \ + 'filesystems-layer' not in d.getVar('BBFILE_COLLECTIONS').split(): + raise bb.parse.SkipRecipe('Requires meta-networking and meta-filesystems to be present.') +} -- cgit 1.2.3-korg