summaryrefslogtreecommitdiff
path: root/meta-openembedded/meta-oe
diff options
context:
space:
mode:
authorBrad Bishop <bradleyb@fuzziesquirrel.com>2019-10-28 15:33:36 +0300
committerBrad Bishop <bradleyb@fuzziesquirrel.com>2019-10-28 15:34:01 +0300
commit2d39a06105c717cc742ee37700441975ddd5f81e (patch)
tree37936399c7297c4557ab2f126fd3fa267e25bbf3 /meta-openembedded/meta-oe
parent47ca1972705ab5691c7774a426139ed01af20c55 (diff)
downloadopenbmc-2d39a06105c717cc742ee37700441975ddd5f81e.tar.xz
meta-openembedded: subtree update:64224b92e5..18506b797b
Alistair Francis (3): python3-pako: Initial commit of version 0.2.3 python3-msm: Initial commit of version 0.8.3 mycroft: Fixup remaining issues Andreas Müller (11): gtkmm3: upgrade 3.24.1 -> 3.24.2 geany: upgrade 1.34.1 -> 1.36 geany-plugins: upgrade 1.34 -> 1.36 libstemmer: initial add 2.0.0 appstream-glib: initial add 0.7.16 yelp-xsl: initial add 3.34.0 yelp-tools: initial add 3.32.2 yelp: initial add 3.34.0 glibmm: upgrade 2.60.0 -> 2.62.0 libsigc++-3: initial add 3.0.0 libgusb: initial add 0.3.0+ Ankit Navik (1): glfw: Initial recipe for glfw Armin Kuster (1): renderdoc: package need opengl Christophe PRIOUZEAU (91): spawn-fcgi: Clarify BSD license variant webmin: Clarify BSD license variant cyrus-sasl: Clarify BSD license variant libnet: Clarify BSD license variant openhpi: Clarify BSD license variant ptpd: Clarify BSD license variant pure-ftpd: Clarify BSD license variant corosync: Clarify BSD license variant netkit-ftp: Clarify BSD license variant netkit-rusers: Clarify BSD license variant netkit-rwho: Clarify BSD license variant netkit-telnet: Clarify BSD license variant freediameter: Clarify BSD license variant radiusclient: Clarify BSD license variant celt051: Clarify BSD license variant libmemcached: Clarify BSD license variant spice-protocol: Clarify BSD license variant tcpdump: Clarify BSD license variant libnet: Clarify BSD license variant iperf3: Clarify BSD license variant rfkill: Clarify BSD license variant postgresql: Clarify BSD license variant cscope: Clarify BSD license variant mcpp: Clarify BSD license variant yasm: Clarify BSD license variant cmpi binding: Clarify BSD license variant hwloc: Clarify BSD license variant liblogging: Clarify BSD license variant pmdk: Clarify BSD license variant openwsman: Clarify BSD license variant redis: Clarify BSD license variant scsirastools: Clarify BSD license variant libopus: Clarify BSD license variant opus-tools: Clarify BSD license variant wavpack: Clarify BSD license variant libvpx: Clarify BSD license variant passwdqc: Clarify BSD license variant testfloat: Clarify BSD license variant Python: flask-sqlalchemy: Clarify BSD license variant Python: meld3: Clarify BSD license variant Python: ply: Clarify BSD license variant Python: prompt toolkit: Clarify BSD license variant Python: pocket sphinx: Clarify BSD license variant Python: pysmi: Clarify BSD license variant Python: speaklater: Clarify BSD license variant Python: wrapt: Clarify BSD license variant Python: h5py: Clarify BSD license variant Python: xlrd: Clarify BSD license variant Python: alembic: Clarify BSD license variant Python: feed formatter: Clarify BSD license variant Python: decorator: Clarify BSD license variant Python: flask babel: Clarify BSD license variant Python: falsk mail: Clarify BSD license variant Python: isodate: Clarify BSD license variant Python: passlib: Clarify BSD license variant Python: pynetlinux: Clarify BSD license variant Python: webcolors: Clarify BSD license variant Python: werkzeug: Clarify BSD license variant Python: evdev: Clarify BSD license variant Python: netaddr: Clarify BSD license variant Python: pretend: Clarify BSD license variant Python: prettytable: Clarify BSD license variant Python: pysocks: Clarify BSD license variant Python: rdflib: Clarify BSD license variant Python: wtforms: Clarify BSD license variant Python: supervisor: Clarify BSD license variant Python: pysnmp: Clarify BSD license variant Python: flask pymongo: Clarify BSD license variant Python: flask xstatic: Clarify BSD license variant Python: lazy object proxy: Clarify BSD license variant Python: whoosh: Clarify BSD license variant Python: pyserial: Clarify BSD license variant Python: pika: Clarify BSD license variant Python: flask: Clarify BSD license variant Python: flask wtf: Clarify BSD license variant Python: click: Clarify BSD license variant Python: babel: Clarify BSD license variant Python: flask user: Clarify BSD license variant Python: jsonpointer: Clarify BSD license variant Python: xxhash: Clarify BSD license variant Python: markdown: Clarify BSD license variant Python: dnspython: Clarify BSD license variant Python: flask bcrypt: Clarify BSD license variant Python: jsonpatch: Clarify BSD license variant Python: ndg httpsclient: Clarify BSD license variant Python: flask scrypt: Clarify BSD license variant Python: oauthlib: Clarify BSD license variant Python: psutil: Clarify BSD license variant Python: pyhamcrest: Clarify BSD license variant Python: pyusb: Clarify BSD license variant Python: ujson: Clarify BSD license variant David Roman (1): nlohmann-json: upgrade 3.3.0 -> 3.7.0 Diego Rondini (1): ttf-roboto: add recipe Hongxu Jia (2): postfix: split /etc from ${PN} to ${PN}-cfg for ostree postfix.inc: make deterministic build Kai Kang (1): blueman: fix fail to enable bluetooth issue Khem Raj (8): open-vm-tools: Upgrade to 11.0.1 libftdi: Add target deps for python bindings mraa: Define PYTHON_LIBRARY and PYTHON_INCLUDE_DIR upm: Define PYTHON_INCLUDE_DIR and PYTHON_LIBRARY for cmake python3-astor: Upgrade to 0.8 python3-astor: Fix build with setuptools>=41.4 libiio: Inherit distutils3-base for packaging python files open-vm-tools: Fix build by removing deprecated G_INLINE_FUNC Michal Lower (1): update python setuptools-scm from 2.1.0 to 3.3.3 Paolo Valente (1): s-suite: push SRCREV to version 3.6 Richard Purdie (1): dconf: Fix build with meson 0.52 Tanu Kaskinen (1): pavucontrol: polish the recipe Trevor Gamblin (1): freeradius: fix PIDFile path in radiusd.service file Zang Ruochen (18): ltrace:Bug fix for data type length judgment python-ipaddress: upgrade 1.0.22 -> 1.0.23 python-cryptography: upgrade 2.7 -> 2.8 python-cryptography-vectors: upgrade 2.7 -> 2.8 python-automat: upgrade 0.7.0 -> 0.8.0 python-asn1crypto: upgrade 1.0.1 -> 1.2.0 python-attrs: upgrade 19.2.0 -> 19.3.0 python-cffi: upgrade 1.13.0 -> 1.13.1 python-cmd2: upgrade 0.9.18 -> 0.9.19 python-pip: upgrade 19.3 -> 19.3.1 python-pyro4: upgrade 4.73 -> 4.77 python-pytun: upgrade 2.2.1 -> 2.3.0 python-astroid: upgrade 1.6.5 -> 2.3.2 python-aws-iot-device-sdk-python: upgrade 1.4.0 -> 1.4.7 python-backports-ssl: upgrade 3.5.0.1 -> 3.7.0.1 python-bcrypt: upgrade 3.1.4 -> 3.1.7 snort: upgrade 2.9.14.1 -> 2.9.15 wolfssl: upgrade 4.1.0 -> 4.2.0 Zheng Ruoqin (9): byacc: upgrade 20180510 -> 20190617 drbd-utils: upgrade 9.10.0 -> 9.11.0 hwdata: upgrade 327 -> 328 multipath-tools: upgrade 0.8.2 -> 0.8.3 owfs: upgrade 3.2p2 -> 3.2p3 simple-mtpfs: upgrade to 0.3.0. fuse3: upgrade 3.6.2 -> 3.7.0 f2fs-tools: upgrade 1.11.0 -> 1.13.0 xorriso: upgrade 1.4.0 -> 1.5.0 nick83ola (2): python3-pyconnman: fix import issues with python3 python3-dbus-next: first commit of dbus-next 0.1.2 Change-Id: I6d500f726de3c5369b19c73e6ca7dc92aaf192d8 Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
Diffstat (limited to 'meta-openembedded/meta-oe')
-rw-r--r--meta-openembedded/meta-oe/recipes-benchmark/iperf3/iperf3_3.7.bb2
-rw-r--r--meta-openembedded/meta-oe/recipes-benchmark/s-suite/s-suite_git.bb4
-rw-r--r--meta-openembedded/meta-oe/recipes-connectivity/libnet/libnet_1.2-rc3.bb2
-rw-r--r--meta-openembedded/meta-oe/recipes-connectivity/rfkill/rfkill_0.5.bb2
-rw-r--r--meta-openembedded/meta-oe/recipes-core/glfw/glfw_3.3.bb22
-rw-r--r--meta-openembedded/meta-oe/recipes-core/glib-2.0/glibmm_2.62.0.bb (renamed from meta-openembedded/meta-oe/recipes-core/glib-2.0/glibmm_2.60.0.bb)4
-rw-r--r--meta-openembedded/meta-oe/recipes-core/libsigc++-2.0/libsigc++-3_3.0.0.bb20
-rw-r--r--meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql.inc2
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/cscope/cscope_15.8b.bb2
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/geany/geany-plugins_1.36.bb (renamed from meta-openembedded/meta-oe/recipes-devtools/geany/geany-plugins_1.34.bb)6
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/geany/geany_1.36.bb (renamed from meta-openembedded/meta-oe/recipes-devtools/geany/geany_1.34.1.bb)6
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace/0001-Bug-fix-for-data-type-length-judgment.patch42
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace_git.bb1
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/mcpp/mcpp_2.7.2.bb2
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/nlohmann-json/nlohmann-json_git.bb6
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/yasm/yasm_git.bb2
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/byacc/byacc/0001-byacc-do-not-reorder-CC-and-CFLAGS.patch151
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/byacc/byacc_20190617.bb (renamed from meta-openembedded/meta-oe/recipes-extended/byacc/byacc_20180510.bb)6
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/cmpi-bindings/cmpi-bindings_1.0.1.bb2
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/hwloc/hwloc_1.11.13.bb2
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/liblogging/liblogging_1.0.6.bb2
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/mraa/mraa_git.bb2
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/openwsman/openwsman_2.6.9.bb2
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/pmdk/pmdk_1.7.bb2
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/redis/redis_4.0.14.bb2
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/scsirastools/scsirastools_1.6.6.bb2
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/upm/upm_git.bb2
-rw-r--r--meta-openembedded/meta-oe/recipes-gnome/gtk+/gtkmm3_3.24.2.bb (renamed from meta-openembedded/meta-oe/recipes-gnome/gtk+/gtkmm3_3.24.1.bb)4
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/renderdoc/renderdoc_1.4.bb2
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-roboto_2.138.bb14
-rw-r--r--meta-openembedded/meta-oe/recipes-multimedia/libopus/libopus_1.3.1.bb2
-rw-r--r--meta-openembedded/meta-oe/recipes-multimedia/opus-tools/opus-tools_0.1.8.bb2
-rw-r--r--meta-openembedded/meta-oe/recipes-multimedia/pulseaudio/pavucontrol/0002-build-sys-Add-m4-file-for-AX_CXX_COMPILE_STDCXX_11.patch624
-rw-r--r--meta-openembedded/meta-oe/recipes-multimedia/pulseaudio/pavucontrol_4.0.bb12
-rw-r--r--meta-openembedded/meta-oe/recipes-multimedia/wavpack/wavpack_4.60.1.bb2
-rw-r--r--meta-openembedded/meta-oe/recipes-multimedia/webm/libvpx_1.8.1.bb2
-rw-r--r--meta-openembedded/meta-oe/recipes-security/passwdqc/passwdqc_1.3.1.bb2
-rw-r--r--meta-openembedded/meta-oe/recipes-support/hwdata/hwdata_git.bb4
-rw-r--r--meta-openembedded/meta-oe/recipes-support/libftdi/libftdi_1.4.bb12
-rw-r--r--meta-openembedded/meta-oe/recipes-support/libgusb/libgusb_git.bb12
-rw-r--r--meta-openembedded/meta-oe/recipes-support/libiio/libiio_git.bb2
-rw-r--r--meta-openembedded/meta-oe/recipes-support/multipath-tools/multipath-tools_0.8.3.bb (renamed from meta-openembedded/meta-oe/recipes-support/multipath-tools/multipath-tools_0.8.2.bb)2
-rw-r--r--meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-GitHub-Issue-367.-Remove-references-to-deprecated-G_.patch94
-rw-r--r--meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-configure.ac-don-t-use-dnet-config.patch8
-rw-r--r--meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0009-Rename-poll.h-to-vm_poll.h.patch699
-rw-r--r--meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0013-misc-Do-not-print-NULL-string-into-logs.patch10
-rw-r--r--meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0014-Fix-new-warnings-from-gcc9.patch1281
-rw-r--r--meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools_11.0.1.bb (renamed from meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.3.5.bb)7
-rw-r--r--meta-openembedded/meta-oe/recipes-test/testfloat/testfloat_3a.bb2
49 files changed, 1077 insertions, 2022 deletions
diff --git a/meta-openembedded/meta-oe/recipes-benchmark/iperf3/iperf3_3.7.bb b/meta-openembedded/meta-oe/recipes-benchmark/iperf3/iperf3_3.7.bb
index d5296d733..98d2faabf 100644
--- a/meta-openembedded/meta-oe/recipes-benchmark/iperf3/iperf3_3.7.bb
+++ b/meta-openembedded/meta-oe/recipes-benchmark/iperf3/iperf3_3.7.bb
@@ -8,7 +8,7 @@ HOMEPAGE = "http://software.es.net/iperf/"
SECTION = "console/network"
BUGTRACKER = "https://github.com/esnet/iperf/issues"
AUTHOR = "ESNET <info@es.net>, Lawrence Berkeley National Laboratory <websupport@lbl.gov>"
-LICENSE = "BSD"
+LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://LICENSE;md5=f9088fe7ffdccd042f7645f1012d7f70"
DEPENDS = "openssl"
diff --git a/meta-openembedded/meta-oe/recipes-benchmark/s-suite/s-suite_git.bb b/meta-openembedded/meta-oe/recipes-benchmark/s-suite/s-suite_git.bb
index 8c49b4674..71483d88b 100644
--- a/meta-openembedded/meta-oe/recipes-benchmark/s-suite/s-suite_git.bb
+++ b/meta-openembedded/meta-oe/recipes-benchmark/s-suite/s-suite_git.bb
@@ -2,8 +2,8 @@ SUMMARY = "Small collection of benchmarks for storage I/O"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=b529aaa6a0c50f15d29f89609b5c22f3"
-SRCREV = "3b9eef2259a70f412ab02fbe6b3a4d313d09c38a"
-PV = "3.5"
+SRCREV = "f97f1ae321d1fb8111a2c638075702ed2512ff07"
+PV = "3.6"
SRC_URI = "git://github.com/Algodev-github/S.git;protocol=https;branch=master"
S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/libnet/libnet_1.2-rc3.bb b/meta-openembedded/meta-oe/recipes-connectivity/libnet/libnet_1.2-rc3.bb
index c9913444d..785abf66d 100644
--- a/meta-openembedded/meta-oe/recipes-connectivity/libnet/libnet_1.2-rc3.bb
+++ b/meta-openembedded/meta-oe/recipes-connectivity/libnet/libnet_1.2-rc3.bb
@@ -2,7 +2,7 @@ SUMMARY = "A packet dissection and creation library"
# libnet at packetfactory.net is dead
HOMEPAGE = "https://github.com/sam-github/libnet"
SECTION = "libs"
-LICENSE = "BSD"
+LICENSE = "BSD-2-Clause"
LIC_FILES_CHKSUM = "file://doc/COPYING;md5=3ec839e00408b484d33b472a86b7c266"
DEPENDS = "libpcap"
# There are major API changes beween libnet v1.0 and libnet v1.1
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/rfkill/rfkill_0.5.bb b/meta-openembedded/meta-oe/recipes-connectivity/rfkill/rfkill_0.5.bb
index 3e644760c..5c19e65b0 100644
--- a/meta-openembedded/meta-oe/recipes-connectivity/rfkill/rfkill_0.5.bb
+++ b/meta-openembedded/meta-oe/recipes-connectivity/rfkill/rfkill_0.5.bb
@@ -1,7 +1,7 @@
SUMMARY = "Radio enable/disable command line utility"
HOMEPAGE = "http://linuxwireless.org/en/users/Documentation/rfkill"
SECTION = "base"
-LICENSE = "BSD"
+LICENSE = "BSD-0-Clause"
LIC_FILES_CHKSUM = "file://COPYING;md5=c6036d0eb7edbfced28c4160e5d3fa94"
SRC_URI = "http://www.kernel.org/pub/software/network/${BPN}/${BP}.tar.bz2 \
diff --git a/meta-openembedded/meta-oe/recipes-core/glfw/glfw_3.3.bb b/meta-openembedded/meta-oe/recipes-core/glfw/glfw_3.3.bb
new file mode 100644
index 000000000..e3853a201
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-core/glfw/glfw_3.3.bb
@@ -0,0 +1,22 @@
+SUMMARY = "A multi-platform library for OpenGL, OpenGL ES, Vulkan, window and input"
+HOMEPAGE = "https://www.glfw.org/"
+DESCRIPTION = "GLFW is an Open Source, multi-platform library for OpenGL, \
+OpenGL ES and Vulkan application development. It provides a simple, \
+platform-independent API for creating windows, contexts and surfaces, reading \
+input, handling events, etc."
+LICENSE = "Zlib"
+LIC_FILES_CHKSUM = "file://LICENSE.md;md5=98d93d1ddc537f9b9ea6def64e046b5f"
+SECTION = "lib"
+
+inherit pkgconfig cmake
+
+S = "${WORKDIR}/git"
+SRC_URI = "git://github.com/glfw/glfw.git"
+SRCREV = "d25248343e248337284dfbe5ecd1eddbd37ae66d"
+
+EXTRA_OECMAKE += "-DBUILD_SHARED_LIBS=ON"
+
+DEPENDS = "libpng libglu zlib libxrandr libxinerama libxi libxcursor"
+REQUIRED_DISTRO_FEATURES = "x11"
+
+COMPATIBLE_HOST_libc-musl = "null"
diff --git a/meta-openembedded/meta-oe/recipes-core/glib-2.0/glibmm_2.60.0.bb b/meta-openembedded/meta-oe/recipes-core/glib-2.0/glibmm_2.62.0.bb
index 7163212b5..75eea4e58 100644
--- a/meta-openembedded/meta-oe/recipes-core/glib-2.0/glibmm_2.60.0.bb
+++ b/meta-openembedded/meta-oe/recipes-core/glib-2.0/glibmm_2.62.0.bb
@@ -13,8 +13,8 @@ SHRT_VER = "${@d.getVar('PV').split('.')[0]}.${@d.getVar('PV').split('.')[1]}"
SRC_URI += " \
file://remove-examples.patch \
"
-SRC_URI[archive.md5sum] = "0f6180d185c067bdb2aa30d035f9b867"
-SRC_URI[archive.sha256sum] = "a3a1b1c9805479a16c0018acd84b3bfff23a122aee9e3c5013bb81231aeef2bc"
+SRC_URI[archive.md5sum] = "7da228e3f0c6a10024b9a7708c53691e"
+SRC_URI[archive.sha256sum] = "36659f13cc73282392d1305858f3bbca46fbd1ce2f078cc9db8b9f79b2e93cfe"
do_install_append() {
install -d ${D}${datadir}/glibmm-2.4
diff --git a/meta-openembedded/meta-oe/recipes-core/libsigc++-2.0/libsigc++-3_3.0.0.bb b/meta-openembedded/meta-oe/recipes-core/libsigc++-2.0/libsigc++-3_3.0.0.bb
new file mode 100644
index 000000000..3c0330f50
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-core/libsigc++-2.0/libsigc++-3_3.0.0.bb
@@ -0,0 +1,20 @@
+SUMMARY = "A library for loose coupling of C++ method calls"
+SECTION = "libs"
+LICENSE = "LGPLv3"
+LIC_FILES_CHKSUM = "file://COPYING;md5=959bffe2993816eb32ec4bc1ec1d5875"
+
+DEPENDS = "mm-common"
+
+SRC_URI = "http://ftp.gnome.org/pub/GNOME/sources/libsigc++/3.0/libsigc++-${PV}.tar.xz"
+SRC_URI[md5sum] = "6ffe924f1d8624b5716468cde67dc03f"
+SRC_URI[sha256sum] = "50a0855c1eb26e6044ffe888dbe061938ab4241f96d8f3754ea7ead38ab8ed06"
+
+S = "${WORKDIR}/libsigc++-${PV}"
+
+inherit autotools
+
+FILES_${PN}-dev += "${libdir}/sigc++-*/"
+FILES_${PN}-doc += "${datadir}/devhelp"
+
+BBCLASSEXTEND = "native"
+SECURITY_CFLAGS = "${SECURITY_NO_PIE_CFLAGS}"
diff --git a/meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql.inc b/meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql.inc
index 0fe5d58e1..91d0275b3 100644
--- a/meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql.inc
+++ b/meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql.inc
@@ -18,7 +18,7 @@ DESCRIPTION = "\
this package if you're installing the postgresql-server package. \
"
HOMEPAGE = "http://www.postgresql.com"
-LICENSE = "BSD"
+LICENSE = "BSD-0-Clause"
DEPENDS = "libnsl2 zlib readline tzcode-native"
ARM_INSTRUCTION_SET = "arm"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/cscope/cscope_15.8b.bb b/meta-openembedded/meta-oe/recipes-devtools/cscope/cscope_15.8b.bb
index 8aa5947d0..199c31e15 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/cscope/cscope_15.8b.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/cscope/cscope_15.8b.bb
@@ -11,7 +11,7 @@ DESCRIPTION = "Cscope is a developer's tool for browsing source code. \
HOMEPAGE = "http://cscope.sourceforge.net/"
-LICENSE = "BSD"
+LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://COPYING;md5=d4667b67b483823043fcffa489ea343b"
inherit autotools
diff --git a/meta-openembedded/meta-oe/recipes-devtools/geany/geany-plugins_1.34.bb b/meta-openembedded/meta-oe/recipes-devtools/geany/geany-plugins_1.36.bb
index 84adc7abe..f76899845 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/geany/geany-plugins_1.34.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/geany/geany-plugins_1.36.bb
@@ -29,11 +29,11 @@ inherit distro_features_check autotools pkgconfig gtk-icon-cache
REQUIRED_DISTRO_FEATURES = "x11"
SRC_URI = " \
- http://plugins.geany.org/${BPN}/${BP}.tar.bz2 \
+ https://plugins.geany.org/${BPN}/${BP}.tar.bz2 \
file://0001-Use-pkg-config-to-find-gpgme.patch \
"
-SRC_URI[md5sum] = "bf5fdd50727ad8bbbfe00027ccf2dac5"
-SRC_URI[sha256sum] = "244417c681636e82a63cf6f9901b5b7f3889168f7d9b5ba9b45601767a589c3b"
+SRC_URI[md5sum] = "91fb4634953702f914d9105da7048a33"
+SRC_URI[sha256sum] = "ebe18dd699292174622e8cb8745b020ada8a5be3b604ab980af36e8518df7ce6"
do_configure_prepend() {
rm -f ${S}/build/cache/glib-gettext.m4
diff --git a/meta-openembedded/meta-oe/recipes-devtools/geany/geany_1.34.1.bb b/meta-openembedded/meta-oe/recipes-devtools/geany/geany_1.36.bb
index aab535d85..193c198a1 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/geany/geany_1.34.1.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/geany/geany_1.36.bb
@@ -9,9 +9,9 @@ inherit distro_features_check autotools pkgconfig perlnative pythonnative gettex
REQUIRED_DISTRO_FEATURES = "x11"
-SRC_URI = "http://download.geany.org/${BP}.tar.bz2"
-SRC_URI[md5sum] = "87220f4a0e03623ab9d86820f6be7b5d"
-SRC_URI[sha256sum] = "e765efd89e759defe3fd797d8a2052afbb4b23522efbcc72e3a72b7f1093ec11"
+SRC_URI = "https://download.geany.org/${BP}.tar.bz2"
+SRC_URI[md5sum] = "53216a43345e2b6dbefa02ac24885753"
+SRC_URI[sha256sum] = "9184dd3dd40b7b84fca70083284bb9dbf2ee8022bf2be066bdc36592d909d53e"
FILES_${PN} += "${datadir}/icons"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace/0001-Bug-fix-for-data-type-length-judgment.patch b/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace/0001-Bug-fix-for-data-type-length-judgment.patch
new file mode 100644
index 000000000..98cc9ba90
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace/0001-Bug-fix-for-data-type-length-judgment.patch
@@ -0,0 +1,42 @@
+From 5226333bddb755dbefd780d31450e0238dd5d3bd Mon Sep 17 00:00:00 2001
+From: Zang Ruochen <zangrc.fnst@cn.fujitsu.com>
+Date: Wed, 16 Oct 2019 08:24:23 +0900
+Subject: [PATCH] Bug fix for data type length judgment.
+
+...
+if (byte_size == sizeof(long)) {
+
+ *type = is_signed ? ARGTYPE_LONG : ARGTYPE_ULONG;
+
+ return true;
+
+}
+...
+
+If ltrace's target command has a dbg package, ltrace will look for the debug file and analyze its contents.
+Ltrace determines the type of analysis result variable. The type of the variable is longlong.
+On 32-bit systems, longlong is 8 and long is 4 (same as in).
+An error occurred because the ltrace code did not process a variable of length 8.
+
+Upstream-Status: Pending
+Signed-off-by: Wang Mingyu <wangmy.fnst@cn.fujitsu.com>
+---
+ dwarf_prototypes.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/dwarf_prototypes.c b/dwarf_prototypes.c
+index bfac177..9887d4b 100644
+--- a/dwarf_prototypes.c
++++ b/dwarf_prototypes.c
+@@ -190,7 +190,7 @@ static bool get_integer_base_type(enum arg_type *type, int byte_size,
+ return true;
+ }
+
+- if (byte_size == sizeof(long)) {
++ if (byte_size == sizeof(long long)) {
+ *type = is_signed ? ARGTYPE_LONG : ARGTYPE_ULONG;
+ return true;
+ }
+--
+2.7.4
+
diff --git a/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace_git.bb b/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace_git.bb
index ead637cb7..5c4e7c5b8 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace_git.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace_git.bb
@@ -28,6 +28,7 @@ SRC_URI = "git://github.com/sparkleholic/ltrace.git;branch=master;protocol=http
file://0001-move-fprintf-into-same-block-where-modname-and-symna.patch \
file://0001-hook-Do-not-append-int-to-std-string.patch \
file://include_unistd_nr.patch \
+ file://0001-Bug-fix-for-data-type-length-judgment.patch \
"
S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/mcpp/mcpp_2.7.2.bb b/meta-openembedded/meta-oe/recipes-devtools/mcpp/mcpp_2.7.2.bb
index a7163a35a..b5ca49566 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/mcpp/mcpp_2.7.2.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/mcpp/mcpp_2.7.2.bb
@@ -1,6 +1,6 @@
SUMMARY = "MCPP is a portable C/C++ preprocessor"
HOMEPAGE = "http://mcpp.sourceforge.net/"
-LICENSE = "BSD"
+LICENSE = "BSD-2-Clause"
LIC_FILES_CHKSUM = "file://LICENSE;md5=5ca370b75ec890321888a00cea9bc1d5"
SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}-${PV}.tar.gz \
diff --git a/meta-openembedded/meta-oe/recipes-devtools/nlohmann-json/nlohmann-json_git.bb b/meta-openembedded/meta-oe/recipes-devtools/nlohmann-json/nlohmann-json_git.bb
index 65e49bc95..4399edaab 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/nlohmann-json/nlohmann-json_git.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/nlohmann-json/nlohmann-json_git.bb
@@ -2,13 +2,13 @@ SUMMARY = "JSON for modern C++"
HOMEPAGE = "https://nlohmann.github.io/json/"
SECTION = "libs"
LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE.MIT;md5=9a8ae1c2d606c432a2aa2e2de15be22a"
+LIC_FILES_CHKSUM = "file://LICENSE.MIT;md5=f5f7c71504da070bcf4f090205ce1080"
SRC_URI = "git://github.com/nlohmann/json.git"
-PV = "3.3.0+git${SRCPV}"
+PV = "3.7.0+git${SRCPV}"
-SRCREV = "aafad2be1f3cd259a1e79d2f6fcf267d1ede9ec7"
+SRCREV = "ea60d40f4a60a47d3be9560d8f7bc37c163fe47b"
S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/yasm/yasm_git.bb b/meta-openembedded/meta-oe/recipes-devtools/yasm/yasm_git.bb
index b20d4c05c..dc4fbf7f5 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/yasm/yasm_git.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/yasm/yasm_git.bb
@@ -1,5 +1,5 @@
SUMMARY = "x86 (SSE) assembler supporting NASM and GAS-syntaxes"
-LICENSE = "BSD"
+LICENSE = "MIT"
HOMEPAGE = "http://www.tortall.net/projects/yasm/"
LIC_FILES_CHKSUM = "file://COPYING;md5=a12d8903508fb6bfd49d8d82c6170dd9"
diff --git a/meta-openembedded/meta-oe/recipes-extended/byacc/byacc/0001-byacc-do-not-reorder-CC-and-CFLAGS.patch b/meta-openembedded/meta-oe/recipes-extended/byacc/byacc/0001-byacc-do-not-reorder-CC-and-CFLAGS.patch
index 3bc0db96e..24864ea60 100644
--- a/meta-openembedded/meta-oe/recipes-extended/byacc/byacc/0001-byacc-do-not-reorder-CC-and-CFLAGS.patch
+++ b/meta-openembedded/meta-oe/recipes-extended/byacc/byacc/0001-byacc-do-not-reorder-CC-and-CFLAGS.patch
@@ -10,16 +10,18 @@ Upstream-Status: Inappropriate [OE Specific]
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+Update for 20190617.
+Signed-off-by: Zheng Ruoqin <zhengrq.fnst@cn.fujitsu.com>
---
aclocal.m4 | 1 -
- configure | 140 -------------------------------------------------------------
- 2 files changed, 141 deletions(-)
+ configure | 259 -------------------------------------------------------------
+ 2 files changed, 260 deletions(-)
diff --git a/aclocal.m4 b/aclocal.m4
-index 0d14f26..0cefa08 100644
+index 338465f..3311057 100644
--- a/aclocal.m4
+++ b/aclocal.m4
-@@ -1038,7 +1038,6 @@ CF_GCC_VERSION
+@@ -1231,7 +1231,6 @@ CF_GCC_VERSION
CF_ACVERSION_CHECK(2.52,
[AC_PROG_CC_STDC],
[CF_ANSI_CC_REQD])
@@ -28,21 +30,140 @@ index 0d14f26..0cefa08 100644
dnl ---------------------------------------------------------------------------
dnl CF_PROG_GROFF version: 3 updated: 2018/01/07 13:16:19
diff --git a/configure b/configure
-index d27ae31..077c648 100755
+index ebb1f0f..a56cb17 100755
--- a/configure
+++ b/configure
-@@ -1946,146 +1946,6 @@ esac
+@@ -1957,265 +1957,6 @@ esac
# This should have been defined by AC_PROG_CC
: ${CC:=cc}
--echo "$as_me:1949: checking \$CC variable" >&5
+-echo "$as_me:1960: checking \$CFLAGS variable" >&5
+-echo $ECHO_N "checking \$CFLAGS variable... $ECHO_C" >&6
+-case "x$CFLAGS" in
+-(*-[IUD]*)
+- echo "$as_me:1964: result: broken" >&5
+-echo "${ECHO_T}broken" >&6
+- { echo "$as_me:1966: WARNING: your environment uses the CFLAGS variable to hold CPPFLAGS options" >&5
+-echo "$as_me: WARNING: your environment uses the CFLAGS variable to hold CPPFLAGS options" >&2;}
+- cf_flags="$CFLAGS"
+- CFLAGS=
+- for cf_arg in $cf_flags
+- do
+-
+-cf_fix_cppflags=no
+-cf_new_cflags=
+-cf_new_cppflags=
+-cf_new_extra_cppflags=
+-
+-for cf_add_cflags in $cf_arg
+-do
+-case $cf_fix_cppflags in
+-(no)
+- case $cf_add_cflags in
+- (-undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C)
+- case $cf_add_cflags in
+- (-D*)
+- cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^-D[^=]*='\''\"[^"]*//'`
+-
+- test "x${cf_add_cflags}" != "x${cf_tst_cflags}" \
+- && test -z "${cf_tst_cflags}" \
+- && cf_fix_cppflags=yes
+-
+- if test $cf_fix_cppflags = yes ; then
+-
+- test -n "$cf_new_extra_cppflags" && cf_new_extra_cppflags="$cf_new_extra_cppflags "
+- cf_new_extra_cppflags="${cf_new_extra_cppflags}$cf_add_cflags"
+-
+- continue
+- elif test "${cf_tst_cflags}" = "\"'" ; then
+-
+- test -n "$cf_new_extra_cppflags" && cf_new_extra_cppflags="$cf_new_extra_cppflags "
+- cf_new_extra_cppflags="${cf_new_extra_cppflags}$cf_add_cflags"
+-
+- continue
+- fi
+- ;;
+- esac
+- case "$CPPFLAGS" in
+- (*$cf_add_cflags)
+- ;;
+- (*)
+- case $cf_add_cflags in
+- (-D*)
+- cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'`
+-
+-CPPFLAGS=`echo "$CPPFLAGS" | \
+- sed -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?[ ]/ /g' \
+- -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?$//g'`
+-
+- ;;
+- esac
+-
+- test -n "$cf_new_cppflags" && cf_new_cppflags="$cf_new_cppflags "
+- cf_new_cppflags="${cf_new_cppflags}$cf_add_cflags"
+-
+- ;;
+- esac
+- ;;
+- (*)
+-
+- test -n "$cf_new_cflags" && cf_new_cflags="$cf_new_cflags "
+- cf_new_cflags="${cf_new_cflags}$cf_add_cflags"
+-
+- ;;
+- esac
+- ;;
+-(yes)
+-
+- test -n "$cf_new_extra_cppflags" && cf_new_extra_cppflags="$cf_new_extra_cppflags "
+- cf_new_extra_cppflags="${cf_new_extra_cppflags}$cf_add_cflags"
+-
+- cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^[^"]*"'\''//'`
+-
+- test "x${cf_add_cflags}" != "x${cf_tst_cflags}" \
+- && test -z "${cf_tst_cflags}" \
+- && cf_fix_cppflags=no
+- ;;
+-esac
+-done
+-
+-if test -n "$cf_new_cflags" ; then
+-
+- test -n "$CFLAGS" && CFLAGS="$CFLAGS "
+- CFLAGS="${CFLAGS}$cf_new_cflags"
+-
+-fi
+-
+-if test -n "$cf_new_cppflags" ; then
+-
+- test -n "$CPPFLAGS" && CPPFLAGS="$CPPFLAGS "
+- CPPFLAGS="${CPPFLAGS}$cf_new_cppflags"
+-
+-fi
+-
+-if test -n "$cf_new_extra_cppflags" ; then
+-
+- test -n "$EXTRA_CPPFLAGS" && EXTRA_CPPFLAGS="$EXTRA_CPPFLAGS "
+- EXTRA_CPPFLAGS="${EXTRA_CPPFLAGS}$cf_new_extra_cppflags"
+-
+-fi
+-
+- done
+- ;;
+-(*)
+- echo "$as_me:2074: result: ok" >&5
+-echo "${ECHO_T}ok" >&6
+- ;;
+-esac
+-
+-echo "$as_me:2079: checking \$CC variable" >&5
-echo $ECHO_N "checking \$CC variable... $ECHO_C" >&6
-case "$CC" in
-(*[\ \ ]-*)
-- echo "$as_me:1953: result: broken" >&5
+- echo "$as_me:2083: result: broken" >&5
-echo "${ECHO_T}broken" >&6
-- { echo "$as_me:1955: WARNING: your environment misuses the CC variable to hold CFLAGS/CPPFLAGS options" >&5
--echo "$as_me: WARNING: your environment misuses the CC variable to hold CFLAGS/CPPFLAGS options" >&2;}
+- { echo "$as_me:2085: WARNING: your environment uses the CC variable to hold CFLAGS/CPPFLAGS options" >&5
+-echo "$as_me: WARNING: your environment uses the CC variable to hold CFLAGS/CPPFLAGS options" >&2;}
- # humor him...
- cf_prog=`echo "$CC" | sed -e 's/ / /g' -e 's/[ ]* / /g' -e 's/[ ]*[ ]-[^ ].*//'`
- cf_flags=`echo "$CC" | ${AWK:-awk} -v prog="$cf_prog" '{ printf("%s", substr($0,1+length(prog))); }'`
@@ -158,24 +279,24 @@ index d27ae31..077c648 100755
- done
- test -n "$verbose" && echo " resulting CC: '$CC'" 1>&6
-
--echo "${as_me:-configure}:2072: testing resulting CC: '$CC' ..." 1>&5
+-echo "${as_me:-configure}:2202: testing resulting CC: '$CC' ..." 1>&5
-
- test -n "$verbose" && echo " resulting CFLAGS: '$CFLAGS'" 1>&6
-
--echo "${as_me:-configure}:2076: testing resulting CFLAGS: '$CFLAGS' ..." 1>&5
+-echo "${as_me:-configure}:2206: testing resulting CFLAGS: '$CFLAGS' ..." 1>&5
-
- test -n "$verbose" && echo " resulting CPPFLAGS: '$CPPFLAGS'" 1>&6
-
--echo "${as_me:-configure}:2080: testing resulting CPPFLAGS: '$CPPFLAGS' ..." 1>&5
+-echo "${as_me:-configure}:2210: testing resulting CPPFLAGS: '$CPPFLAGS' ..." 1>&5
-
- ;;
-(*)
-- echo "$as_me:2084: result: ok" >&5
+- echo "$as_me:2214: result: ok" >&5
-echo "${ECHO_T}ok" >&6
- ;;
-esac
-
- echo "$as_me:2089: checking whether ${MAKE-make} sets \${MAKE}" >&5
+ echo "$as_me:2219: checking whether ${MAKE-make} sets \${MAKE}" >&5
echo $ECHO_N "checking whether ${MAKE-make} sets \${MAKE}... $ECHO_C" >&6
set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y,./+-,__p_,'`
--
diff --git a/meta-openembedded/meta-oe/recipes-extended/byacc/byacc_20180510.bb b/meta-openembedded/meta-oe/recipes-extended/byacc/byacc_20190617.bb
index f30c42640..2834b7c5e 100644
--- a/meta-openembedded/meta-oe/recipes-extended/byacc/byacc_20180510.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/byacc/byacc_20190617.bb
@@ -4,9 +4,9 @@
# Setting to PD as this is what the upstream has it as.
LICENSE = "PD"
-LIC_FILES_CHKSUM = "file://package/debian/copyright;md5=8b2933503c0443e041d3168dc0c65640"
+LIC_FILES_CHKSUM = "file://package/debian/copyright;md5=3eb7c635434fafe23ef30fc263e63b2f"
require byacc.inc
-SRC_URI[md5sum] = "97fdc0745e0ff0cef5c09d57d0c6752d"
-SRC_URI[sha256sum] = "d0940dbffbc7e9c9dd4985c25349c390beede84ae1d9fe86b71c0aa659a6d693"
+SRC_URI[md5sum] = "17b3f7e7ed570d785b145064d99df615"
+SRC_URI[sha256sum] = "f87868167b920bf2cb30fc32b62f63ae15671181ef329226d1063100be02518d"
diff --git a/meta-openembedded/meta-oe/recipes-extended/cmpi-bindings/cmpi-bindings_1.0.1.bb b/meta-openembedded/meta-oe/recipes-extended/cmpi-bindings/cmpi-bindings_1.0.1.bb
index 987c09fe5..251c5d0f5 100644
--- a/meta-openembedded/meta-oe/recipes-extended/cmpi-bindings/cmpi-bindings_1.0.1.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/cmpi-bindings/cmpi-bindings_1.0.1.bb
@@ -1,7 +1,7 @@
SUMMARY = "Adapter to write and run CMPI-type CIM providers"
DESCRIPTION = "CMPI-compliant provider interface for various languages via SWIG"
HOMEPAGE = "http://github.com/kkaempf/cmpi-bindings"
-LICENSE = "BSD"
+LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://COPYING;md5=b19ee058d2d5f69af45da98051d91064"
SECTION = "Development/Libraries"
DEPENDS = "swig-native python3 sblim-cmpi-devel"
diff --git a/meta-openembedded/meta-oe/recipes-extended/hwloc/hwloc_1.11.13.bb b/meta-openembedded/meta-oe/recipes-extended/hwloc/hwloc_1.11.13.bb
index 7231484fe..2b0dfe4ea 100644
--- a/meta-openembedded/meta-oe/recipes-extended/hwloc/hwloc_1.11.13.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/hwloc/hwloc_1.11.13.bb
@@ -4,7 +4,7 @@ DESCRIPTION = "The Portable Hardware Locality (hwloc) software package \
architectures."
HOMEPAGE = "https://www.open-mpi.org/software/hwloc/"
SECTION = "base"
-LICENSE = "BSD"
+LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://COPYING;md5=3282e20dc3cec311deda3c6d4b1f990b"
SRC_URI = "https://www.open-mpi.org/software/${BPN}/v1.11/downloads/${BP}.tar.bz2"
diff --git a/meta-openembedded/meta-oe/recipes-extended/liblogging/liblogging_1.0.6.bb b/meta-openembedded/meta-oe/recipes-extended/liblogging/liblogging_1.0.6.bb
index bb5984519..5c1c15159 100644
--- a/meta-openembedded/meta-oe/recipes-extended/liblogging/liblogging_1.0.6.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/liblogging/liblogging_1.0.6.bb
@@ -8,7 +8,7 @@ sophisticated "behind the scenes" with better support for multiple threads \
and flexibility for different log destinations (e.g. syslog and systemd \
journal)."
SECTION = "libs"
-LICENSE = "BSD"
+LICENSE = "BSD-2-Clause"
LIC_FILES_CHKSUM = "file://COPYING;md5=63fe03535d83726f5655072502bef1bc"
SRC_URI = "http://download.rsyslog.com/${BPN}/${BPN}-${PV}.tar.gz"
diff --git a/meta-openembedded/meta-oe/recipes-extended/mraa/mraa_git.bb b/meta-openembedded/meta-oe/recipes-extended/mraa/mraa_git.bb
index 17ca26273..6d42c6771 100644
--- a/meta-openembedded/meta-oe/recipes-extended/mraa/mraa_git.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/mraa/mraa_git.bb
@@ -22,6 +22,8 @@ DEPENDS += "json-c"
EXTRA_OECMAKE_append = " -DINSTALLTOOLS:BOOL=ON -DFIRMATA=ON -DCMAKE_SKIP_RPATH=ON \
-DPYTHON3_PACKAGES_PATH:PATH=${baselib}/python${PYTHON_BASEVERSION}/site-packages \
+ -DPYTHON_LIBRARY=${STAGING_LIBDIR}/lib${PYTHON_DIR}${PYTHON_ABI}.so \
+ -DPYTHON_INCLUDE_DIR=${STAGING_INCDIR}/${PYTHON_DIR}${PYTHON_ABI} \
"
# Prepend mraa-utils to make sure bindir ends up in there
diff --git a/meta-openembedded/meta-oe/recipes-extended/openwsman/openwsman_2.6.9.bb b/meta-openembedded/meta-oe/recipes-extended/openwsman/openwsman_2.6.9.bb
index e5bb0765f..f9292790c 100644
--- a/meta-openembedded/meta-oe/recipes-extended/openwsman/openwsman_2.6.9.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/openwsman/openwsman_2.6.9.bb
@@ -26,7 +26,7 @@ SRC_URI = "git://github.com/Openwsman/openwsman.git \
S = "${WORKDIR}/git"
-LICENSE = "BSD"
+LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://COPYING;md5=d4f53d4c6cf73b9d43186ce3be6dd0ba"
inherit systemd cmake pkgconfig python3native perlnative
diff --git a/meta-openembedded/meta-oe/recipes-extended/pmdk/pmdk_1.7.bb b/meta-openembedded/meta-oe/recipes-extended/pmdk/pmdk_1.7.bb
index 96da266e6..f5066da0d 100644
--- a/meta-openembedded/meta-oe/recipes-extended/pmdk/pmdk_1.7.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/pmdk/pmdk_1.7.bb
@@ -2,7 +2,7 @@ SUMMARY = "Persistent Memory Development Kit"
DESCRIPTION = "Persistent Memory Development Kit"
HOMEPAGE = "http://pmem.io"
SECTION = "libs"
-LICENSE = "BSD"
+LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://LICENSE;md5=7db1106255a1baa80391fd2e21eebab7"
DEPENDS = "ndctl"
diff --git a/meta-openembedded/meta-oe/recipes-extended/redis/redis_4.0.14.bb b/meta-openembedded/meta-oe/recipes-extended/redis/redis_4.0.14.bb
index 45ea29b70..7dc6f9711 100644
--- a/meta-openembedded/meta-oe/recipes-extended/redis/redis_4.0.14.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/redis/redis_4.0.14.bb
@@ -2,7 +2,7 @@ SUMMARY = "Redis key-value store"
DESCRIPTION = "Redis is an open source, advanced key-value store."
HOMEPAGE = "http://redis.io"
SECTION = "libs"
-LICENSE = "BSD"
+LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://COPYING;md5=3c01b49fed4df1a79843688fa3f7b9d6"
DEPENDS = "readline lua ncurses"
diff --git a/meta-openembedded/meta-oe/recipes-extended/scsirastools/scsirastools_1.6.6.bb b/meta-openembedded/meta-oe/recipes-extended/scsirastools/scsirastools_1.6.6.bb
index b922bb1f1..2b7571e23 100644
--- a/meta-openembedded/meta-oe/recipes-extended/scsirastools/scsirastools_1.6.6.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/scsirastools/scsirastools_1.6.6.bb
@@ -5,7 +5,7 @@ DESCRIPTION = "scsirastools were designed to add to the Serviceability of \
maintenance or service functions. It handles SCSI, \
Linux SW RAID, SAS, SATA, and USB devices via SCSI emulation."
HOMEPAGE = "http://scsirastools.sourceforge.net/"
-LICENSE = "BSD"
+LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://COPYING;md5=687ea108478d26152ae46eb29d9d1545"
DEPENDS += "groff-native"
diff --git a/meta-openembedded/meta-oe/recipes-extended/upm/upm_git.bb b/meta-openembedded/meta-oe/recipes-extended/upm/upm_git.bb
index a6b379ec3..fb22e8335 100644
--- a/meta-openembedded/meta-oe/recipes-extended/upm/upm_git.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/upm/upm_git.bb
@@ -36,7 +36,7 @@ BINDINGS_armv5 ??= "python"
PACKAGECONFIG ??= "${@bb.utils.contains('PACKAGES', 'node-${PN}', 'nodejs', '', d)} \
${@bb.utils.contains('PACKAGES', '${PYTHON_PN}-${PN}', 'python', '', d)}"
-PACKAGECONFIG[python] = "-DBUILDSWIGPYTHON=ON, -DBUILDSWIGPYTHON=OFF, swig-native ${PYTHON_PN},"
+PACKAGECONFIG[python] = "-DBUILDSWIGPYTHON=ON -DPYTHON_LIBRARY=${STAGING_LIBDIR}/lib${PYTHON_DIR}${PYTHON_ABI}.so -DPYTHON_INCLUDE_DIR=${STAGING_INCDIR}/${PYTHON_DIR}${PYTHON_ABI}, -DBUILDSWIGPYTHON=OFF, swig-native ${PYTHON_PN},"
PACKAGECONFIG[nodejs] = "-DBUILDSWIGNODE=ON, -DBUILDSWIGNODE=OFF, swig-native nodejs-native,"
FILES_${PYTHON_PN}-${PN} = "${PYTHON_SITEPACKAGES_DIR}"
diff --git a/meta-openembedded/meta-oe/recipes-gnome/gtk+/gtkmm3_3.24.1.bb b/meta-openembedded/meta-oe/recipes-gnome/gtk+/gtkmm3_3.24.2.bb
index 6dd051337..4ded67901 100644
--- a/meta-openembedded/meta-oe/recipes-gnome/gtk+/gtkmm3_3.24.1.bb
+++ b/meta-openembedded/meta-oe/recipes-gnome/gtk+/gtkmm3_3.24.2.bb
@@ -14,8 +14,8 @@ inherit gnomebase distro_features_check
REQUIRED_DISTRO_FEATURES = "x11"
-SRC_URI[archive.md5sum] = "9524ed4e5c821d13eeda49ba2a78f024"
-SRC_URI[archive.sha256sum] = "ddfe42ed2458a20a34de252854bcf4b52d3f0c671c045f56b42aa27c7542d2fd"
+SRC_URI[archive.md5sum] = "e311db484ca9c53f1689d35f5f58a06b"
+SRC_URI[archive.sha256sum] = "6d71091bcd1863133460d4188d04102810e9123de19706fb656b7bb915b4adc3"
SRC_URI += "file://0001-do-not-build-demos.patch"
EXTRA_OECONF = " --disable-documentation "
diff --git a/meta-openembedded/meta-oe/recipes-graphics/renderdoc/renderdoc_1.4.bb b/meta-openembedded/meta-oe/recipes-graphics/renderdoc/renderdoc_1.4.bb
index c7e872409..684a204ea 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/renderdoc/renderdoc_1.4.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/renderdoc/renderdoc_1.4.bb
@@ -16,7 +16,7 @@ RDEPENDS_${PN} = "libxcb xcb-util-keysyms"
inherit cmake python3native distro_features_check
-REQUIRED_DISTRO_FEATURES = "x11"
+REQUIRED_DISTRO_FEATURES = "x11 opengl"
python __anonymous () {
# only works on glibc systems
diff --git a/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-roboto_2.138.bb b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-roboto_2.138.bb
new file mode 100644
index 000000000..521caff74
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-roboto_2.138.bb
@@ -0,0 +1,14 @@
+require ttf.inc
+
+SUMMARY = "Roboto fonts"
+HOMEPAGE = "https://fonts.google.com/specimen/Roboto"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327"
+
+SRC_URI = "https://github.com/google/roboto/releases/download/v${PV}/roboto-android.zip"
+SRC_URI[md5sum] = "3b43a5cb33196ec25e44d5fcb40219e1"
+SRC_URI[sha256sum] = "c825453253f590cfe62557733e7173f9a421fff103b00f57d33c4ad28ae53baf"
+
+S = "${WORKDIR}"
+
+FILES_${PN} = "${datadir}/fonts/truetype/*.ttf"
diff --git a/meta-openembedded/meta-oe/recipes-multimedia/libopus/libopus_1.3.1.bb b/meta-openembedded/meta-oe/recipes-multimedia/libopus/libopus_1.3.1.bb
index 19ec12c88..29ef2fa44 100644
--- a/meta-openembedded/meta-oe/recipes-multimedia/libopus/libopus_1.3.1.bb
+++ b/meta-openembedded/meta-oe/recipes-multimedia/libopus/libopus_1.3.1.bb
@@ -5,7 +5,7 @@ designed by the IETF Codec Working Group and incorporates \
technology from Skype's SILK codec and Xiph.Org's CELT codec."
HOMEPAGE = "http://www.opus-codec.org/"
SECTION = "libs/multimedia"
-LICENSE = "BSD"
+LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://COPYING;md5=e304cdf74c2a1b0a33a5084c128a23a3"
SRC_URI = "http://downloads.xiph.org/releases/opus/opus-${PV}.tar.gz"
diff --git a/meta-openembedded/meta-oe/recipes-multimedia/opus-tools/opus-tools_0.1.8.bb b/meta-openembedded/meta-oe/recipes-multimedia/opus-tools/opus-tools_0.1.8.bb
index ff6311147..a84f2bf07 100644
--- a/meta-openembedded/meta-oe/recipes-multimedia/opus-tools/opus-tools_0.1.8.bb
+++ b/meta-openembedded/meta-oe/recipes-multimedia/opus-tools/opus-tools_0.1.8.bb
@@ -1,7 +1,7 @@
SUMMARY = "Opus Audio Tools"
HOMEPAGE = "http://www.opus-codec.org/"
-LICENSE = "BSD"
+LICENSE = "BSD-2-Clause"
LIC_FILES_CHKSUM = "file://COPYING;md5=843a066da9f1facfcc6ea6f616ffecb1"
SRC_URI = "http://downloads.xiph.org/releases/opus/opus-tools-${PV}.tar.gz"
diff --git a/meta-openembedded/meta-oe/recipes-multimedia/pulseaudio/pavucontrol/0002-build-sys-Add-m4-file-for-AX_CXX_COMPILE_STDCXX_11.patch b/meta-openembedded/meta-oe/recipes-multimedia/pulseaudio/pavucontrol/0002-build-sys-Add-m4-file-for-AX_CXX_COMPILE_STDCXX_11.patch
deleted file mode 100644
index 97ec37d4c..000000000
--- a/meta-openembedded/meta-oe/recipes-multimedia/pulseaudio/pavucontrol/0002-build-sys-Add-m4-file-for-AX_CXX_COMPILE_STDCXX_11.patch
+++ /dev/null
@@ -1,624 +0,0 @@
-From ccb3eb7b4ff65414a56e2294080885b8966da52b Mon Sep 17 00:00:00 2001
-From: Arun Raghavan <git@arunraghavan.net>
-Date: Tue, 2 Feb 2016 17:01:47 +0530
-Subject: [PATCH 2/2] build-sys: Add m4 file for AX_CXX_COMPILE_STDCXX_11
-
----
- m4/ax_cxx_compile_stdcxx.m4 | 558 +++++++++++++++++++++++++++++++++++++++++
- m4/ax_cxx_compile_stdcxx_11.m4 | 39 +++
- 2 files changed, 597 insertions(+)
- create mode 100644 m4/ax_cxx_compile_stdcxx.m4
- create mode 100644 m4/ax_cxx_compile_stdcxx_11.m4
-
-diff --git a/m4/ax_cxx_compile_stdcxx.m4 b/m4/ax_cxx_compile_stdcxx.m4
-new file mode 100644
-index 0000000..079e17d
---- /dev/null
-+++ b/m4/ax_cxx_compile_stdcxx.m4
-@@ -0,0 +1,558 @@
-+# ===========================================================================
-+# http://www.gnu.org/software/autoconf-archive/ax_cxx_compile_stdcxx.html
-+# ===========================================================================
-+#
-+# SYNOPSIS
-+#
-+# AX_CXX_COMPILE_STDCXX(VERSION, [ext|noext], [mandatory|optional])
-+#
-+# DESCRIPTION
-+#
-+# Check for baseline language coverage in the compiler for the specified
-+# version of the C++ standard. If necessary, add switches to CXXFLAGS to
-+# enable support. VERSION may be '11' (for the C++11 standard) or '14'
-+# (for the C++14 standard).
-+#
-+# The second argument, if specified, indicates whether you insist on an
-+# extended mode (e.g. -std=gnu++11) or a strict conformance mode (e.g.
-+# -std=c++11). If neither is specified, you get whatever works, with
-+# preference for an extended mode.
-+#
-+# The third argument, if specified 'mandatory' or if left unspecified,
-+# indicates that baseline support for the specified C++ standard is
-+# required and that the macro should error out if no mode with that
-+# support is found. If specified 'optional', then configuration proceeds
-+# regardless, after defining HAVE_CXX${VERSION} if and only if a
-+# supporting mode is found.
-+#
-+# LICENSE
-+#
-+# Copyright (c) 2008 Benjamin Kosnik <bkoz@redhat.com>
-+# Copyright (c) 2012 Zack Weinberg <zackw@panix.com>
-+# Copyright (c) 2013 Roy Stogner <roystgnr@ices.utexas.edu>
-+# Copyright (c) 2014, 2015 Google Inc.; contributed by Alexey Sokolov <sokolov@google.com>
-+# Copyright (c) 2015 Paul Norman <penorman@mac.com>
-+# Copyright (c) 2015 Moritz Klammler <moritz@klammler.eu>
-+#
-+# Copying and distribution of this file, with or without modification, are
-+# permitted in any medium without royalty provided the copyright notice
-+# and this notice are preserved. This file is offered as-is, without any
-+# warranty.
-+
-+#serial 1
-+
-+dnl This macro is based on the code from the AX_CXX_COMPILE_STDCXX_11 macro
-+dnl (serial version number 13).
-+
-+AC_DEFUN([AX_CXX_COMPILE_STDCXX], [dnl
-+ m4_if([$1], [11], [],
-+ [$1], [14], [],
-+ [$1], [17], [m4_fatal([support for C++17 not yet implemented in AX_CXX_COMPILE_STDCXX])],
-+ [m4_fatal([invalid first argument `$1' to AX_CXX_COMPILE_STDCXX])])dnl
-+ m4_if([$2], [], [],
-+ [$2], [ext], [],
-+ [$2], [noext], [],
-+ [m4_fatal([invalid second argument `$2' to AX_CXX_COMPILE_STDCXX])])dnl
-+ m4_if([$3], [], [ax_cxx_compile_cxx$1_required=true],
-+ [$3], [mandatory], [ax_cxx_compile_cxx$1_required=true],
-+ [$3], [optional], [ax_cxx_compile_cxx$1_required=false],
-+ [m4_fatal([invalid third argument `$3' to AX_CXX_COMPILE_STDCXX])])
-+ AC_LANG_PUSH([C++])dnl
-+ ac_success=no
-+ AC_CACHE_CHECK(whether $CXX supports C++$1 features by default,
-+ ax_cv_cxx_compile_cxx$1,
-+ [AC_COMPILE_IFELSE([AC_LANG_SOURCE([_AX_CXX_COMPILE_STDCXX_testbody_$1])],
-+ [ax_cv_cxx_compile_cxx$1=yes],
-+ [ax_cv_cxx_compile_cxx$1=no])])
-+ if test x$ax_cv_cxx_compile_cxx$1 = xyes; then
-+ ac_success=yes
-+ fi
-+
-+ m4_if([$2], [noext], [], [dnl
-+ if test x$ac_success = xno; then
-+ for switch in -std=gnu++$1 -std=gnu++0x; do
-+ cachevar=AS_TR_SH([ax_cv_cxx_compile_cxx$1_$switch])
-+ AC_CACHE_CHECK(whether $CXX supports C++$1 features with $switch,
-+ $cachevar,
-+ [ac_save_CXXFLAGS="$CXXFLAGS"
-+ CXXFLAGS="$CXXFLAGS $switch"
-+ AC_COMPILE_IFELSE([AC_LANG_SOURCE([_AX_CXX_COMPILE_STDCXX_testbody_$1])],
-+ [eval $cachevar=yes],
-+ [eval $cachevar=no])
-+ CXXFLAGS="$ac_save_CXXFLAGS"])
-+ if eval test x\$$cachevar = xyes; then
-+ CXXFLAGS="$CXXFLAGS $switch"
-+ ac_success=yes
-+ break
-+ fi
-+ done
-+ fi])
-+
-+ m4_if([$2], [ext], [], [dnl
-+ if test x$ac_success = xno; then
-+ dnl HP's aCC needs +std=c++11 according to:
-+ dnl http://h21007.www2.hp.com/portal/download/files/unprot/aCxx/PDF_Release_Notes/769149-001.pdf
-+ dnl Cray's crayCC needs "-h std=c++11"
-+ for switch in -std=c++$1 -std=c++0x +std=c++$1 "-h std=c++$1"; do
-+ cachevar=AS_TR_SH([ax_cv_cxx_compile_cxx$1_$switch])
-+ AC_CACHE_CHECK(whether $CXX supports C++$1 features with $switch,
-+ $cachevar,
-+ [ac_save_CXXFLAGS="$CXXFLAGS"
-+ CXXFLAGS="$CXXFLAGS $switch"
-+ AC_COMPILE_IFELSE([AC_LANG_SOURCE([_AX_CXX_COMPILE_STDCXX_testbody_$1])],
-+ [eval $cachevar=yes],
-+ [eval $cachevar=no])
-+ CXXFLAGS="$ac_save_CXXFLAGS"])
-+ if eval test x\$$cachevar = xyes; then
-+ CXXFLAGS="$CXXFLAGS $switch"
-+ ac_success=yes
-+ break
-+ fi
-+ done
-+ fi])
-+ AC_LANG_POP([C++])
-+ if test x$ax_cxx_compile_cxx$1_required = xtrue; then
-+ if test x$ac_success = xno; then
-+ AC_MSG_ERROR([*** A compiler with support for C++$1 language features is required.])
-+ fi
-+ else
-+ if test x$ac_success = xno; then
-+ HAVE_CXX$1=0
-+ AC_MSG_NOTICE([No compiler with C++$1 support was found])
-+ else
-+ HAVE_CXX$1=1
-+ AC_DEFINE(HAVE_CXX$1,1,
-+ [define if the compiler supports basic C++$1 syntax])
-+ fi
-+
-+ AC_SUBST(HAVE_CXX$1)
-+ fi
-+])
-+
-+
-+dnl Test body for checking C++11 support
-+
-+m4_define([_AX_CXX_COMPILE_STDCXX_testbody_11],
-+ _AX_CXX_COMPILE_STDCXX_testbody_new_in_11
-+)
-+
-+
-+dnl Test body for checking C++14 support
-+
-+m4_define([_AX_CXX_COMPILE_STDCXX_testbody_14],
-+ _AX_CXX_COMPILE_STDCXX_testbody_new_in_11
-+ _AX_CXX_COMPILE_STDCXX_testbody_new_in_14
-+)
-+
-+
-+dnl Tests for new features in C++11
-+
-+m4_define([_AX_CXX_COMPILE_STDCXX_testbody_new_in_11], [[
-+
-+// If the compiler admits that it is not ready for C++11, why torture it?
-+// Hopefully, this will speed up the test.
-+
-+#ifndef __cplusplus
-+
-+#error "This is not a C++ compiler"
-+
-+#elif __cplusplus < 201103L
-+
-+#error "This is not a C++11 compiler"
-+
-+#else
-+
-+namespace cxx11
-+{
-+
-+ namespace test_static_assert
-+ {
-+
-+ template <typename T>
-+ struct check
-+ {
-+ static_assert(sizeof(int) <= sizeof(T), "not big enough");
-+ };
-+
-+ }
-+
-+ namespace test_final_override
-+ {
-+
-+ struct Base
-+ {
-+ virtual void f() {}
-+ };
-+
-+ struct Derived : public Base
-+ {
-+ virtual void f() override {}
-+ };
-+
-+ }
-+
-+ namespace test_double_right_angle_brackets
-+ {
-+
-+ template < typename T >
-+ struct check {};
-+
-+ typedef check<void> single_type;
-+ typedef check<check<void>> double_type;
-+ typedef check<check<check<void>>> triple_type;
-+ typedef check<check<check<check<void>>>> quadruple_type;
-+
-+ }
-+
-+ namespace test_decltype
-+ {
-+
-+ int
-+ f()
-+ {
-+ int a = 1;
-+ decltype(a) b = 2;
-+ return a + b;
-+ }
-+
-+ }
-+
-+ namespace test_type_deduction
-+ {
-+
-+ template < typename T1, typename T2 >
-+ struct is_same
-+ {
-+ static const bool value = false;
-+ };
-+
-+ template < typename T >
-+ struct is_same<T, T>
-+ {
-+ static const bool value = true;
-+ };
-+
-+ template < typename T1, typename T2 >
-+ auto
-+ add(T1 a1, T2 a2) -> decltype(a1 + a2)
-+ {
-+ return a1 + a2;
-+ }
-+
-+ int
-+ test(const int c, volatile int v)
-+ {
-+ static_assert(is_same<int, decltype(0)>::value == true, "");
-+ static_assert(is_same<int, decltype(c)>::value == false, "");
-+ static_assert(is_same<int, decltype(v)>::value == false, "");
-+ auto ac = c;
-+ auto av = v;
-+ auto sumi = ac + av + 'x';
-+ auto sumf = ac + av + 1.0;
-+ static_assert(is_same<int, decltype(ac)>::value == true, "");
-+ static_assert(is_same<int, decltype(av)>::value == true, "");
-+ static_assert(is_same<int, decltype(sumi)>::value == true, "");
-+ static_assert(is_same<int, decltype(sumf)>::value == false, "");
-+ static_assert(is_same<int, decltype(add(c, v))>::value == true, "");
-+ return (sumf > 0.0) ? sumi : add(c, v);
-+ }
-+
-+ }
-+
-+ namespace test_noexcept
-+ {
-+
-+ int f() { return 0; }
-+ int g() noexcept { return 0; }
-+
-+ static_assert(noexcept(f()) == false, "");
-+ static_assert(noexcept(g()) == true, "");
-+
-+ }
-+
-+ namespace test_constexpr
-+ {
-+
-+ template < typename CharT >
-+ unsigned long constexpr
-+ strlen_c_r(const CharT *const s, const unsigned long acc) noexcept
-+ {
-+ return *s ? strlen_c_r(s + 1, acc + 1) : acc;
-+ }
-+
-+ template < typename CharT >
-+ unsigned long constexpr
-+ strlen_c(const CharT *const s) noexcept
-+ {
-+ return strlen_c_r(s, 0UL);
-+ }
-+
-+ static_assert(strlen_c("") == 0UL, "");
-+ static_assert(strlen_c("1") == 1UL, "");
-+ static_assert(strlen_c("example") == 7UL, "");
-+ static_assert(strlen_c("another\0example") == 7UL, "");
-+
-+ }
-+
-+ namespace test_rvalue_references
-+ {
-+
-+ template < int N >
-+ struct answer
-+ {
-+ static constexpr int value = N;
-+ };
-+
-+ answer<1> f(int&) { return answer<1>(); }
-+ answer<2> f(const int&) { return answer<2>(); }
-+ answer<3> f(int&&) { return answer<3>(); }
-+
-+ void
-+ test()
-+ {
-+ int i = 0;
-+ const int c = 0;
-+ static_assert(decltype(f(i))::value == 1, "");
-+ static_assert(decltype(f(c))::value == 2, "");
-+ static_assert(decltype(f(0))::value == 3, "");
-+ }
-+
-+ }
-+
-+ namespace test_uniform_initialization
-+ {
-+
-+ struct test
-+ {
-+ static const int zero {};
-+ static const int one {1};
-+ };
-+
-+ static_assert(test::zero == 0, "");
-+ static_assert(test::one == 1, "");
-+
-+ }
-+
-+ namespace test_lambdas
-+ {
-+
-+ void
-+ test1()
-+ {
-+ auto lambda1 = [](){};
-+ auto lambda2 = lambda1;
-+ lambda1();
-+ lambda2();
-+ }
-+
-+ int
-+ test2()
-+ {
-+ auto a = [](int i, int j){ return i + j; }(1, 2);
-+ auto b = []() -> int { return '0'; }();
-+ auto c = [=](){ return a + b; }();
-+ auto d = [&](){ return c; }();
-+ auto e = [a, &b](int x) mutable {
-+ const auto identity = [](int y){ return y; };
-+ for (auto i = 0; i < a; ++i)
-+ a += b--;
-+ return x + identity(a + b);
-+ }(0);
-+ return a + b + c + d + e;
-+ }
-+
-+ int
-+ test3()
-+ {
-+ const auto nullary = [](){ return 0; };
-+ const auto unary = [](int x){ return x; };
-+ using nullary_t = decltype(nullary);
-+ using unary_t = decltype(unary);
-+ const auto higher1st = [](nullary_t f){ return f(); };
-+ const auto higher2nd = [unary](nullary_t f1){
-+ return [unary, f1](unary_t f2){ return f2(unary(f1())); };
-+ };
-+ return higher1st(nullary) + higher2nd(nullary)(unary);
-+ }
-+
-+ }
-+
-+ namespace test_variadic_templates
-+ {
-+
-+ template <int...>
-+ struct sum;
-+
-+ template <int N0, int... N1toN>
-+ struct sum<N0, N1toN...>
-+ {
-+ static constexpr auto value = N0 + sum<N1toN...>::value;
-+ };
-+
-+ template <>
-+ struct sum<>
-+ {
-+ static constexpr auto value = 0;
-+ };
-+
-+ static_assert(sum<>::value == 0, "");
-+ static_assert(sum<1>::value == 1, "");
-+ static_assert(sum<23>::value == 23, "");
-+ static_assert(sum<1, 2>::value == 3, "");
-+ static_assert(sum<5, 5, 11>::value == 21, "");
-+ static_assert(sum<2, 3, 5, 7, 11, 13>::value == 41, "");
-+
-+ }
-+
-+ // http://stackoverflow.com/questions/13728184/template-aliases-and-sfinae
-+ // Clang 3.1 fails with headers of libstd++ 4.8.3 when using std::function
-+ // because of this.
-+ namespace test_template_alias_sfinae
-+ {
-+
-+ struct foo {};
-+
-+ template<typename T>
-+ using member = typename T::member_type;
-+
-+ template<typename T>
-+ void func(...) {}
-+
-+ template<typename T>
-+ void func(member<T>*) {}
-+
-+ void test();
-+
-+ void test() { func<foo>(0); }
-+
-+ }
-+
-+} // namespace cxx11
-+
-+#endif // __cplusplus >= 201103L
-+
-+]])
-+
-+
-+dnl Tests for new features in C++14
-+
-+m4_define([_AX_CXX_COMPILE_STDCXX_testbody_new_in_14], [[
-+
-+// If the compiler admits that it is not ready for C++14, why torture it?
-+// Hopefully, this will speed up the test.
-+
-+#ifndef __cplusplus
-+
-+#error "This is not a C++ compiler"
-+
-+#elif __cplusplus < 201402L
-+
-+#error "This is not a C++14 compiler"
-+
-+#else
-+
-+namespace cxx14
-+{
-+
-+ namespace test_polymorphic_lambdas
-+ {
-+
-+ int
-+ test()
-+ {
-+ const auto lambda = [](auto&&... args){
-+ const auto istiny = [](auto x){
-+ return (sizeof(x) == 1UL) ? 1 : 0;
-+ };
-+ const int aretiny[] = { istiny(args)... };
-+ return aretiny[0];
-+ };
-+ return lambda(1, 1L, 1.0f, '1');
-+ }
-+
-+ }
-+
-+ namespace test_binary_literals
-+ {
-+
-+ constexpr auto ivii = 0b0000000000101010;
-+ static_assert(ivii == 42, "wrong value");
-+
-+ }
-+
-+ namespace test_generalized_constexpr
-+ {
-+
-+ template < typename CharT >
-+ constexpr unsigned long
-+ strlen_c(const CharT *const s) noexcept
-+ {
-+ auto length = 0UL;
-+ for (auto p = s; *p; ++p)
-+ ++length;
-+ return length;
-+ }
-+
-+ static_assert(strlen_c("") == 0UL, "");
-+ static_assert(strlen_c("x") == 1UL, "");
-+ static_assert(strlen_c("test") == 4UL, "");
-+ static_assert(strlen_c("another\0test") == 7UL, "");
-+
-+ }
-+
-+ namespace test_lambda_init_capture
-+ {
-+
-+ int
-+ test()
-+ {
-+ auto x = 0;
-+ const auto lambda1 = [a = x](int b){ return a + b; };
-+ const auto lambda2 = [a = lambda1(x)](){ return a; };
-+ return lambda2();
-+ }
-+
-+ }
-+
-+ namespace test_digit_seperators
-+ {
-+
-+ constexpr auto ten_million = 100'000'000;
-+ static_assert(ten_million == 100000000, "");
-+
-+ }
-+
-+ namespace test_return_type_deduction
-+ {
-+
-+ auto f(int& x) { return x; }
-+ decltype(auto) g(int& x) { return x; }
-+
-+ template < typename T1, typename T2 >
-+ struct is_same
-+ {
-+ static constexpr auto value = false;
-+ };
-+
-+ template < typename T >
-+ struct is_same<T, T>
-+ {
-+ static constexpr auto value = true;
-+ };
-+
-+ int
-+ test()
-+ {
-+ auto x = 0;
-+ static_assert(is_same<int, decltype(f(x))>::value, "");
-+ static_assert(is_same<int&, decltype(g(x))>::value, "");
-+ return x;
-+ }
-+
-+ }
-+
-+} // namespace cxx14
-+
-+#endif // __cplusplus >= 201402L
-+
-+]])
-diff --git a/m4/ax_cxx_compile_stdcxx_11.m4 b/m4/ax_cxx_compile_stdcxx_11.m4
-new file mode 100644
-index 0000000..09db383
---- /dev/null
-+++ b/m4/ax_cxx_compile_stdcxx_11.m4
-@@ -0,0 +1,39 @@
-+# ============================================================================
-+# http://www.gnu.org/software/autoconf-archive/ax_cxx_compile_stdcxx_11.html
-+# ============================================================================
-+#
-+# SYNOPSIS
-+#
-+# AX_CXX_COMPILE_STDCXX_11([ext|noext], [mandatory|optional])
-+#
-+# DESCRIPTION
-+#
-+# Check for baseline language coverage in the compiler for the C++11
-+# standard; if necessary, add switches to CXXFLAGS to enable support.
-+#
-+# This macro is a convenience alias for calling the AX_CXX_COMPILE_STDCXX
-+# macro with the version set to C++11. The two optional arguments are
-+# forwarded literally as the second and third argument respectively.
-+# Please see the documentation for the AX_CXX_COMPILE_STDCXX macro for
-+# more information. If you want to use this macro, you also need to
-+# download the ax_cxx_compile_stdcxx.m4 file.
-+#
-+# LICENSE
-+#
-+# Copyright (c) 2008 Benjamin Kosnik <bkoz@redhat.com>
-+# Copyright (c) 2012 Zack Weinberg <zackw@panix.com>
-+# Copyright (c) 2013 Roy Stogner <roystgnr@ices.utexas.edu>
-+# Copyright (c) 2014, 2015 Google Inc.; contributed by Alexey Sokolov <sokolov@google.com>
-+# Copyright (c) 2015 Paul Norman <penorman@mac.com>
-+# Copyright (c) 2015 Moritz Klammler <moritz@klammler.eu>
-+#
-+# Copying and distribution of this file, with or without modification, are
-+# permitted in any medium without royalty provided the copyright notice
-+# and this notice are preserved. This file is offered as-is, without any
-+# warranty.
-+
-+#serial 14
-+
-+include([ax_cxx_compile_stdcxx.m4])
-+
-+AC_DEFUN([AX_CXX_COMPILE_STDCXX_11], [AX_CXX_COMPILE_STDCXX([11], [$1], [$2])])
---
-2.12.1
-
diff --git a/meta-openembedded/meta-oe/recipes-multimedia/pulseaudio/pavucontrol_4.0.bb b/meta-openembedded/meta-oe/recipes-multimedia/pulseaudio/pavucontrol_4.0.bb
index 421ea9d5c..3588ce723 100644
--- a/meta-openembedded/meta-oe/recipes-multimedia/pulseaudio/pavucontrol_4.0.bb
+++ b/meta-openembedded/meta-oe/recipes-multimedia/pulseaudio/pavucontrol_4.0.bb
@@ -1,10 +1,16 @@
DESCRIPTION = "PulseAudio Volume Control (pavucontrol) is a simple GTK based volume control tool ("mixer") for the PulseAudio sound server."
-LICENSE = "GPLv2"
+HOMEPAGE = "https://freedesktop.org/software/pulseaudio/pavucontrol/"
+SECTION = "x11/multimedia"
+LICENSE = "GPLv2+"
LIC_FILES_CHKSUM = "file://LICENSE;md5=751419260aa954499f7abaabaa882bbe"
-DEPENDS = "intltool-native gtk+3-native gtkmm3 libcanberra pulseaudio"
+# glib-2.0-native is required for glib-gettextize, which is used by the
+# AM_GLIB_GNU_GETTEXT macro in configure.ac. That macro is deprecated, so the
+# glib-2.0-native dependency may go away at some point (something to keep in
+# mind when doing version upgrades).
+DEPENDS = "intltool-native glib-2.0-native gtkmm3 libcanberra pulseaudio"
-inherit gnomebase distro_features_check
+inherit autotools distro_features_check
REQUIRED_DISTRO_FEATURES = "x11"
diff --git a/meta-openembedded/meta-oe/recipes-multimedia/wavpack/wavpack_4.60.1.bb b/meta-openembedded/meta-oe/recipes-multimedia/wavpack/wavpack_4.60.1.bb
index cc5b84489..021496bd4 100644
--- a/meta-openembedded/meta-oe/recipes-multimedia/wavpack/wavpack_4.60.1.bb
+++ b/meta-openembedded/meta-oe/recipes-multimedia/wavpack/wavpack_4.60.1.bb
@@ -1,5 +1,5 @@
DESCRIPTION = "WavPack is a completely open audio compression format providing lossless, high-quality lossy, and a unique hybrid compression mode."
-LICENSE = "BSD"
+LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://license.txt;md5=f596650807588c61fcab60bec8242df8"
SRC_URI = "http://wavpack.com/wavpack-${PV}.tar.bz2"
diff --git a/meta-openembedded/meta-oe/recipes-multimedia/webm/libvpx_1.8.1.bb b/meta-openembedded/meta-oe/recipes-multimedia/webm/libvpx_1.8.1.bb
index 70278ecca..006e73af4 100644
--- a/meta-openembedded/meta-oe/recipes-multimedia/webm/libvpx_1.8.1.bb
+++ b/meta-openembedded/meta-oe/recipes-multimedia/webm/libvpx_1.8.1.bb
@@ -3,7 +3,7 @@ DESCRIPTION = "The BSD-licensed libvpx reference implementation provides en- and
HOMEPAGE = "http://www.webmproject.org/code/"
BUGTRACKER = "http://code.google.com/p/webm/issues/list"
SECTION = "libs/multimedia"
-LICENSE = "BSD"
+LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://LICENSE;md5=d5b04755015be901744a78cc30d390d4"
diff --git a/meta-openembedded/meta-oe/recipes-security/passwdqc/passwdqc_1.3.1.bb b/meta-openembedded/meta-oe/recipes-security/passwdqc/passwdqc_1.3.1.bb
index 8fc0b3591..ed90352fc 100644
--- a/meta-openembedded/meta-oe/recipes-security/passwdqc/passwdqc_1.3.1.bb
+++ b/meta-openembedded/meta-oe/recipes-security/passwdqc/passwdqc_1.3.1.bb
@@ -24,7 +24,7 @@ DEPENDS += "libpam"
inherit distro_features_check
REQUIRED_DISTRO_FEATURES = "pam"
-LICENSE = "BSD"
+LICENSE = "BSD-1-Clause"
LIC_FILES_CHKSUM = "file://LICENSE;md5=1b4af6f3d4ee079a38107366e93b334d"
SRC_URI = "http://www.openwall.com/${BPN}/${BP}.tar.gz \
diff --git a/meta-openembedded/meta-oe/recipes-support/hwdata/hwdata_git.bb b/meta-openembedded/meta-oe/recipes-support/hwdata/hwdata_git.bb
index e66102064..cd21950ff 100644
--- a/meta-openembedded/meta-oe/recipes-support/hwdata/hwdata_git.bb
+++ b/meta-openembedded/meta-oe/recipes-support/hwdata/hwdata_git.bb
@@ -5,8 +5,8 @@ SECTION = "System/Base"
LICENSE = "GPL-2.0+"
LIC_FILES_CHKSUM = "file://LICENSE;md5=1556547711e8246992b999edd9445a57"
-PV = "0.327"
-SRCREV = "874f7831c64de7ea2203cfcd1b3fc336bc27e468"
+PV = "0.328"
+SRCREV = "9f3125deb78a2e275b1285f935235d34ceda641d"
SRC_URI = "git://github.com/vcrhonek/${BPN}.git"
S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-oe/recipes-support/libftdi/libftdi_1.4.bb b/meta-openembedded/meta-oe/recipes-support/libftdi/libftdi_1.4.bb
index 4fc6eb090..c33c79111 100644
--- a/meta-openembedded/meta-oe/recipes-support/libftdi/libftdi_1.4.bb
+++ b/meta-openembedded/meta-oe/recipes-support/libftdi/libftdi_1.4.bb
@@ -9,7 +9,7 @@ LIC_FILES_CHKSUM= "\
file://COPYING.LIB;md5=5f30f0716dfdd0d91eb439ebec522ec2 \
"
-DEPENDS = "libusb1"
+DEPENDS = "libusb1 python3"
SRC_URI = "http://www.intra2net.com/en/developer/${BPN}/download/${BPN}1-${PV}.tar.bz2"
SRC_URI[md5sum] = "0c09fb2bb19a57c839fa6845c6c780a2"
@@ -17,11 +17,17 @@ SRC_URI[sha256sum] = "ec36fb49080f834690c24008328a5ef42d3cf584ef4060f3a35aa4681c
S = "${WORKDIR}/${BPN}1-${PV}"
-inherit cmake binconfig pkgconfig
+inherit cmake binconfig pkgconfig python3native
PACKAGECONFIG ??= ""
PACKAGECONFIG[cpp-wrapper] = "-DFTDI_BUILD_CPP=on -DFTDIPP=on,-DFTDI_BUILD_CPP=off -DFTDIPP=off,boost"
-EXTRA_OECMAKE = "-DLIB_SUFFIX=${@d.getVar('baselib').replace('lib', '')}"
+EXTRA_OECMAKE = "-DLIB_SUFFIX=${@d.getVar('baselib').replace('lib', '')} \
+ -DPYTHON_LIBRARY=${STAGING_LIBDIR}/lib${PYTHON_DIR}${PYTHON_ABI}.so \
+ -DPYTHON_INCLUDE_DIR=${STAGING_INCDIR}/${PYTHON_DIR}${PYTHON_ABI}"
BBCLASSEXTEND = "native nativesdk"
+
+PACKAGES += "${PN}-python"
+
+FILES_${PN}-python = "${libdir}/${PYTHON_DIR}/site-packages/"
diff --git a/meta-openembedded/meta-oe/recipes-support/libgusb/libgusb_git.bb b/meta-openembedded/meta-oe/recipes-support/libgusb/libgusb_git.bb
new file mode 100644
index 000000000..e3c0bdd15
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/libgusb/libgusb_git.bb
@@ -0,0 +1,12 @@
+SUMMARY = "GUsb is a GObject wrapper for libusb1"
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=2d5025d4aa3495befef8f17206a5b0a1"
+
+DEPENDS = "glib-2.0 libusb"
+
+inherit meson gobject-introspection gtk-doc gettext vala
+
+SRC_URI = "git://github.com/hughsie/libgusb.git"
+SRCREV = "636efc0624aa2a88174220fcabc9764c13d7febf"
+PV = "0.3.0+git${SRCPV}"
+S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-oe/recipes-support/libiio/libiio_git.bb b/meta-openembedded/meta-oe/recipes-support/libiio/libiio_git.bb
index 4e57d5b77..e6e0eaef8 100644
--- a/meta-openembedded/meta-oe/recipes-support/libiio/libiio_git.bb
+++ b/meta-openembedded/meta-oe/recipes-support/libiio/libiio_git.bb
@@ -12,7 +12,7 @@ SRC_URI = "git://github.com/analogdevicesinc/libiio.git;protocol=https"
S = "${WORKDIR}/git"
-inherit cmake python3native systemd
+inherit cmake python3native systemd distutils3-base
DEPENDS = " \
flex-native bison-native libaio \
diff --git a/meta-openembedded/meta-oe/recipes-support/multipath-tools/multipath-tools_0.8.2.bb b/meta-openembedded/meta-oe/recipes-support/multipath-tools/multipath-tools_0.8.3.bb
index 06e78c78c..358f0cb60 100644
--- a/meta-openembedded/meta-oe/recipes-support/multipath-tools/multipath-tools_0.8.2.bb
+++ b/meta-openembedded/meta-oe/recipes-support/multipath-tools/multipath-tools_0.8.3.bb
@@ -47,7 +47,7 @@ SRC_URI = "git://git.opensvc.com/multipath-tools/.git;protocol=http \
LIC_FILES_CHKSUM = "file://COPYING;md5=5f30f0716dfdd0d91eb439ebec522ec2"
-SRCREV = "8a7e9b6648898f2c2d2bbd2d22871f79612e716e"
+SRCREV = "6c3bd369b23e959700527e0e2e6d5b2a1bd36294"
S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-GitHub-Issue-367.-Remove-references-to-deprecated-G_.patch b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-GitHub-Issue-367.-Remove-references-to-deprecated-G_.patch
new file mode 100644
index 000000000..6cb5dfccc
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-GitHub-Issue-367.-Remove-references-to-deprecated-G_.patch
@@ -0,0 +1,94 @@
+From 6fb28085e867d7c3ef46577d9ff193a185693bcb Mon Sep 17 00:00:00 2001
+From: Oliver Kurth <okurth@vmware.com>
+Date: Mon, 30 Sep 2019 16:24:27 -0700
+Subject: [PATCH] GitHub Issue #367. Remove references to deprecated G_INLINE_FUNC.
+
+G_INLINE_FUNC was a work-around for compilers that didn't support
+static inline. Change uses of it to static inline.
+
+Upstream-Status: Backport
+[https://github.com/vmware/open-vm-tools/commit/89c0d444567eb525e8d083fb564c46d68e96660c]
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ open-vm-tools/lib/include/vmware/tools/plugin.h | 2 +-
+ open-vm-tools/lib/include/vmware/tools/threadPool.h | 8 ++++----
+ open-vm-tools/lib/include/vmware/tools/utils.h | 9 ---------
+ 3 files changed, 5 insertions(+), 14 deletions(-)
+
+diff --git a/open-vm-tools/lib/include/vmware/tools/plugin.h b/open-vm-tools/lib/include/vmware/tools/plugin.h
+index f9acc6a2..deefd1f3 100644
+--- a/open-vm-tools/lib/include/vmware/tools/plugin.h
++++ b/open-vm-tools/lib/include/vmware/tools/plugin.h
+@@ -290,7 +290,7 @@ typedef struct ToolsAppCtx {
+ *
+ * @return TRUE if COM is initialized when the function returns.
+ */
+-G_INLINE_FUNC gboolean
++static inline gboolean
+ ToolsCore_InitializeCOM(ToolsAppCtx *ctx)
+ {
+ if (!ctx->comInitialized) {
+diff --git a/open-vm-tools/lib/include/vmware/tools/threadPool.h b/open-vm-tools/lib/include/vmware/tools/threadPool.h
+index 3f2082b3..5880fbcf 100644
+--- a/open-vm-tools/lib/include/vmware/tools/threadPool.h
++++ b/open-vm-tools/lib/include/vmware/tools/threadPool.h
+@@ -91,7 +91,7 @@ typedef struct ToolsCorePool {
+ *******************************************************************************
+ */
+
+-G_INLINE_FUNC ToolsCorePool *
++static inline ToolsCorePool *
+ ToolsCorePool_GetPool(ToolsAppCtx *ctx)
+ {
+ ToolsCorePool *pool = NULL;
+@@ -123,7 +123,7 @@ ToolsCorePool_GetPool(ToolsAppCtx *ctx)
+ *******************************************************************************
+ */
+
+-G_INLINE_FUNC guint
++static inline guint
+ ToolsCorePool_SubmitTask(ToolsAppCtx *ctx,
+ ToolsCorePoolCb cb,
+ gpointer data,
+@@ -153,7 +153,7 @@ ToolsCorePool_SubmitTask(ToolsAppCtx *ctx,
+ *******************************************************************************
+ */
+
+-G_INLINE_FUNC void
++static inline void
+ ToolsCorePool_CancelTask(ToolsAppCtx *ctx,
+ guint taskId)
+ {
+@@ -197,7 +197,7 @@ ToolsCorePool_CancelTask(ToolsAppCtx *ctx,
+ *******************************************************************************
+ */
+
+-G_INLINE_FUNC gboolean
++static inline gboolean
+ ToolsCorePool_StartThread(ToolsAppCtx *ctx,
+ const gchar *threadName,
+ ToolsCorePoolCb cb,
+diff --git a/open-vm-tools/lib/include/vmware/tools/utils.h b/open-vm-tools/lib/include/vmware/tools/utils.h
+index f6574590..a3292d5c 100644
+--- a/open-vm-tools/lib/include/vmware/tools/utils.h
++++ b/open-vm-tools/lib/include/vmware/tools/utils.h
+@@ -51,15 +51,6 @@
+ # include <sys/time.h>
+ #endif
+
+-
+-/* Work around a glib limitation: it doesn't set G_INLINE_FUNC on Win32. */
+-#if defined(G_PLATFORM_WIN32)
+-# if defined(G_INLINE_FUNC)
+-# undef G_INLINE_FUNC
+-# endif
+-# define G_INLINE_FUNC static __inline
+-#endif
+-
+ #ifndef ABS
+ # define ABS(x) (((x) >= 0) ? (x) : -(x))
+ #endif
+--
+2.23.0
+
diff --git a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-configure.ac-don-t-use-dnet-config.patch b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-configure.ac-don-t-use-dnet-config.patch
index 0736572b3..a711f5e5d 100644
--- a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-configure.ac-don-t-use-dnet-config.patch
+++ b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-configure.ac-don-t-use-dnet-config.patch
@@ -14,11 +14,9 @@ Signed-off-by: Martin Kelly <mkelly@xevo.com>
open-vm-tools/configure.ac | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
-diff --git a/open-vm-tools/configure.ac b/open-vm-tools/configure.ac
-index 325a39f5..713ea683 100644
--- a/open-vm-tools/configure.ac
+++ b/open-vm-tools/configure.ac
-@@ -949,7 +949,7 @@ if test "$with_dnet" = "yes"; then
+@@ -937,7 +937,7 @@ if test "$with_dnet" = "yes"; then
AC_VMW_CHECK_LIB([dnet],
[DNET],
[],
@@ -27,11 +25,11 @@ index 325a39f5..713ea683 100644
[],
[dnet.h],
[intf_open],
-@@ -959,7 +959,7 @@ if test "$with_dnet" = "yes"; then
+@@ -947,7 +947,7 @@ if test "$with_dnet" = "yes"; then
if test $have_dnet = "no"; then
AC_MSG_ERROR(
-- [dnet-config was not found on your PATH. Please configure without dnet (using --without-dnet) or install dnet - http://libdnet.sourceforge.net])
+- [dnet-config was not found on your PATH. Please configure without dnet or install dnet - http://libdnet.sourceforge.net])
+ [dnet was not found. Please configure without dnet (using --without-dnet) or install dnet - http://libdnet.sourceforge.net])
fi
fi
diff --git a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0009-Rename-poll.h-to-vm_poll.h.patch b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0009-Rename-poll.h-to-vm_poll.h.patch
index 5c1aa7c40..9cf54f6f4 100644
--- a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0009-Rename-poll.h-to-vm_poll.h.patch
+++ b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0009-Rename-poll.h-to-vm_poll.h.patch
@@ -19,8 +19,6 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
7 files changed, 7 insertions(+), 7 deletions(-)
rename open-vm-tools/lib/include/{poll.h => vm_poll.h} (99%)
-diff --git a/open-vm-tools/lib/asyncsocket/asyncsocket.c b/open-vm-tools/lib/asyncsocket/asyncsocket.c
-index b41aa29d..8691309d 100644
--- a/open-vm-tools/lib/asyncsocket/asyncsocket.c
+++ b/open-vm-tools/lib/asyncsocket/asyncsocket.c
@@ -86,7 +86,7 @@
@@ -32,8 +30,6 @@ index b41aa29d..8691309d 100644
#include "log.h"
#include "err.h"
#include "hostinfo.h"
-diff --git a/open-vm-tools/lib/hgfsServer/hgfsServer.c b/open-vm-tools/lib/hgfsServer/hgfsServer.c
-index 7ea3b7f4..740c4fed 100644
--- a/open-vm-tools/lib/hgfsServer/hgfsServer.c
+++ b/open-vm-tools/lib/hgfsServer/hgfsServer.c
@@ -48,7 +48,7 @@
@@ -45,8 +41,6 @@ index 7ea3b7f4..740c4fed 100644
#include "mutexRankLib.h"
#include "vm_basic_asm.h"
#include "unicodeOperations.h"
-diff --git a/open-vm-tools/lib/include/asyncsocket.h b/open-vm-tools/lib/include/asyncsocket.h
-index ec9b45aa..dc91e738 100644
--- a/open-vm-tools/lib/include/asyncsocket.h
+++ b/open-vm-tools/lib/include/asyncsocket.h
@@ -164,7 +164,7 @@ typedef struct AsyncSocket AsyncSocket;
@@ -58,8 +52,6 @@ index ec9b45aa..dc91e738 100644
struct IVmdbPoll;
typedef struct AsyncSocketPollParams {
int flags; /* Default 0, only POLL_FLAG_NO_BULL is valid */
-diff --git a/open-vm-tools/lib/include/pollImpl.h b/open-vm-tools/lib/include/pollImpl.h
-index 46442e55..8bc66997 100644
--- a/open-vm-tools/lib/include/pollImpl.h
+++ b/open-vm-tools/lib/include/pollImpl.h
@@ -44,7 +44,7 @@
@@ -71,24 +63,672 @@ index 46442e55..8bc66997 100644
#include "vm_basic_asm.h"
#if defined(__cplusplus)
-diff --git a/open-vm-tools/lib/include/poll.h b/open-vm-tools/lib/include/vm_poll.h
-similarity index 99%
-rename from open-vm-tools/lib/include/poll.h
-rename to open-vm-tools/lib/include/vm_poll.h
-index 6acd4f35..fbc88494 100644
--- a/open-vm-tools/lib/include/poll.h
-+++ b/open-vm-tools/lib/include/vm_poll.h
-@@ -60,7 +60,7 @@ extern "C" {
- #if !defined(TARGET_OS_IPHONE) || TARGET_OS_IPHONE == 0
- #include <sys/kernel.h>
- #endif
++++ /dev/null
+@@ -1,330 +0,0 @@
+-/*********************************************************
+- * Copyright (C) 1998-2018 VMware, Inc. All rights reserved.
+- *
+- * This program is free software; you can redistribute it and/or modify it
+- * under the terms of the GNU Lesser General Public License as published
+- * by the Free Software Foundation version 2.1 and no later version.
+- *
+- * This program is distributed in the hope that it will be useful, but
+- * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+- * or FITNESS FOR A PARTICULAR PURPOSE. See the Lesser GNU General Public
+- * License for more details.
+- *
+- * You should have received a copy of the GNU Lesser General Public License
+- * along with this program; if not, write to the Free Software Foundation, Inc.,
+- * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+- *
+- *********************************************************/
+-
+-/*********************************************************
+- * The contents of this file are subject to the terms of the Common
+- * Development and Distribution License (the "License") version 1.0
+- * and no later version. You may not use this file except in
+- * compliance with the License.
+- *
+- * You can obtain a copy of the License at
+- * http://www.opensource.org/licenses/cddl1.php
+- *
+- * See the License for the specific language governing permissions
+- * and limitations under the License.
+- *
+- *********************************************************/
+-
+-
+-#ifndef _POLL_H_
+-#define _POLL_H_
+-
+-#define INCLUDE_ALLOW_USERLEVEL
+-#define INCLUDE_ALLOW_VMCORE
+-#include "includeCheck.h"
+-
+-#include "vm_basic_types.h"
+-#include "vm_basic_defs.h"
+-#include "vmware.h"
+-#include "userlock.h"
+-
+-#if defined(__cplusplus)
+-extern "C" {
+-#endif
+-
+-#ifdef _WIN32
+-#define HZ 100
+-#elif defined linux
+-#include <asm/param.h>
+-#elif __APPLE__
+-#include <TargetConditionals.h>
+-/*
+- * Old SDKs don't define TARGET_OS_IPHONE at all.
+- * New ones define it to 0 on Mac OS X, 1 on iOS.
+- */
+-#if !defined(TARGET_OS_IPHONE) || TARGET_OS_IPHONE == 0
+-#include <sys/kernel.h>
+-#endif
-#include <sys/poll.h>
+-#define HZ 100
+-#endif
+-#ifdef __ANDROID__
+-/*
+- * <poll.h> of android should be included, but its name is same
+- * with this file. So its content is put here to avoid conflict.
+- */
+-#include <asm/poll.h>
+-#define HZ 100
+-typedef unsigned int nfds_t;
+-int poll(struct pollfd *, nfds_t, long);
+-#endif
+-
+-
+-/*
+- * Poll event types: each type has a different reason for firing,
+- * or condition that must be met before firing.
+- */
+-
+-typedef enum {
+- /*
+- * Actual Poll queue types against which you can register callbacks.
+- */
+- POLL_VIRTUALREALTIME = -1, /* Negative because it doesn't have its own Q */
+- POLL_VTIME = 0,
+- POLL_REALTIME,
+- POLL_DEVICE,
+- POLL_MAIN_LOOP,
+- POLL_NUM_QUEUES
+-} PollEventType;
+-
+-
+-/*
+- * Classes of events
+- *
+- * These are the predefined classes. More can be declared
+- * with Poll_AllocClass().
+- */
+-
+-typedef enum PollClass {
+- POLL_CLASS_MAIN,
+- POLL_CLASS_PAUSE,
+- POLL_CLASS_IPC,
+- POLL_CLASS_CPT,
+- POLL_CLASS_MKS,
+- POLL_FIXED_CLASSES,
+- POLL_DEFAULT_FIXED_CLASSES,
+- /* Size enum to maximum */
+- POLL_MAX_CLASSES = 31,
+-} PollClass;
+-
+-/*
+- * Do not use; Special pseudo private poll class supported by
+- * PollDefault only
+- */
+-#define POLL_DEFAULT_CLASS_NET POLL_FIXED_CLASSES
+-#define POLL_DEFAULT_CS_NET PollClassSet_Singleton(POLL_DEFAULT_CLASS_NET)
+-
+-/*
+- * Each callback is registered in a set of classes
+- */
+-
+-typedef struct PollClassSet {
+- uintptr_t bits;
+-} PollClassSet;
+-
+-/* An empty PollClassSet. */
+-static INLINE PollClassSet
+-PollClassSet_Empty(void)
+-{
+- PollClassSet set = { 0 };
+- return set;
+-}
+-
+-/* A PollClassSet with the single member. */
+-static INLINE PollClassSet
+-PollClassSet_Singleton(PollClass c)
+-{
+- PollClassSet s = PollClassSet_Empty();
+-
+- ASSERT_ON_COMPILE(POLL_MAX_CLASSES < sizeof s.bits * 8);
+- ASSERT(c < POLL_MAX_CLASSES);
+-
+- s.bits = CONST3264U(1) << c;
+- return s;
+-}
+-
+-/* Combine two PollClassSets. */
+-static INLINE PollClassSet
+-PollClassSet_Union(PollClassSet lhs, PollClassSet rhs)
+-{
+- PollClassSet set;
+- set.bits = lhs.bits | rhs.bits;
+- return set;
+-}
+-
+-/* Add single class to PollClassSet. */
+-static INLINE PollClassSet
+-PollClassSet_Include(PollClassSet set, PollClass c)
+-{
+- return PollClassSet_Union(set, PollClassSet_Singleton(c));
+-}
+-
+-
+-#define POLL_CS_MAIN PollClassSet_Singleton(POLL_CLASS_MAIN)
+-#define POLL_CS_PAUSE PollClassSet_Union(POLL_CS_MAIN, \
+- PollClassSet_Singleton(POLL_CLASS_PAUSE))
+-#define POLL_CS_CPT PollClassSet_Union(POLL_CS_PAUSE, \
+- PollClassSet_Singleton(POLL_CLASS_CPT))
+-#define POLL_CS_IPC PollClassSet_Union(POLL_CS_CPT, \
+- PollClassSet_Singleton(POLL_CLASS_IPC))
+-#define POLL_CS_VMDB POLL_CS_PAUSE /* POLL_CLASS_VMDB is retired */
+-#define POLL_CS_MKS PollClassSet_Singleton(POLL_CLASS_MKS)
+-/*
+- * DANGER. You don't need POLL_CS_ALWAYS. Really. So don't use it.
+- */
+-#define POLL_CS_ALWAYS PollClassSet_Union(POLL_CS_CPT, POLL_CS_IPC)
+-
+-/*
+- * Poll class-set taxonomy:
+- * POLL_CS_MAIN
+- * - Unless you NEED another class, use POLL_CS_MAIN.
+- * POLL_CS_PAUSE
+- * - For callbacks that must occur even if the guest is paused.
+- * Most VMDB or Foundry commands are in this category.
+- * POLL_CS_CPT
+- * - Only for callbacks which can trigger intermediate Checkpoint
+- * transitions.
+- * The ONLY such callback is Migrate.
+- * POLL_CS_IPC
+- * - Only for callbacks which can contain Msg_(Post|Hint|Question)
+- * responses, and for signal handlers (why)?
+- * Vigor, VMDB, and Foundry can contain Msg_* responses.
+- * POLL_CS_MKS
+- * - Callback runs in MKS thread.
+- * POLL_CS_ALWAYS
+- * - Only for events that must be processed immediately.
+- * The ONLY such callback is OvhdMemVmxSizeCheck.
+- */
+-
+-
+-/*
+- * Poll_Callback flags
+- */
+-
+-#define POLL_FLAG_PERIODIC 0x01 // keep after firing
+-#define POLL_FLAG_REMOVE_AT_POWEROFF 0x02 // self-explanatory
+-#define POLL_FLAG_READ 0x04 // device is ready for reading
+-#define POLL_FLAG_WRITE 0x08 // device is ready for writing
+-#define POLL_FLAG_SOCKET 0x10 // device is a Windows socket
+-#define POLL_FLAG_NO_BULL 0x20 // callback does its own locking
+-#define POLL_FLAG_WINSOCK 0x40 // Winsock style write events
+-#define POLL_FLAG_FD 0x80 // device is a Windows file descriptor.
+-#define POLL_FLAG_ACCEPT_INVALID_FDS 0x100 // For broken 3rd party libs, e.g. curl
+-#define POLL_FLAG_THUNK_TO_WND 0x200 // thunk callback to window message loop
+-
+-
+-typedef void (*PollerFunction)(void *clientData);
+-typedef void (*PollerFireWrapper)(PollerFunction func,
+- void *funcData,
+- void *wrapperData);
+-typedef Bool (*PollerErrorFn)(const char *errorStr);
+-
+-/*
+- * Initialisers:
+- *
+- * For the sake of convenience, we declare the initialisers
+- * for custom implmentations here, even though the actual
+- * implementations are distinct from the core poll code.
+- */
+-
+-typedef struct PollOptions {
+- Bool locked; // Use internal MXUser for locking
+- Bool allowFullQueue; // Don't assert when device event queue is full.
+- VThreadID windowsMsgThread; // thread that processes Windows messages
+- PollerFireWrapper fireWrapperFn; // optional; may be useful for stats
+- void *fireWrapperData; // optional
+- PollerErrorFn errorFn; // optional; called upon unrecoverable error
+-} PollOptions;
+-
+-
+-void Poll_InitDefault(void);
+-void Poll_InitDefaultEx(const PollOptions *opts);
+-void Poll_InitGtk(void); // On top of glib for Linux
+-void Poll_InitCF(void); // On top of CoreFoundation for OSX
+-
+-
+-/*
+- * Functions
+- */
+-int Poll_SocketPair(Bool vmci, Bool stream, int fds[2]);
+-void Poll_Loop(Bool loop, Bool *exit, PollClass c);
+-void Poll_LoopTimeout(Bool loop, Bool *exit, PollClass c, int timeout);
+-Bool Poll_LockingEnabled(void);
+-void Poll_Exit(void);
+-
+-
+-/*
+- * Poll_Callback adds a callback regardless of whether an identical one exists.
+- * The exception to this rule is POLL_DEVICE callbacks: there is a maximum of
+- * one read and one write callback per fd.
+- *
+- * Poll_CallbackRemove removes one callback. If there are multiple identical
+- * callbacks, which one is removed is an implementation detail. Note that in
+- * the case of POLL_DEVICE and POLL_REALTIME callbacks, the fd/delay used to
+- * create the callback is not specified when removing, so all callbacks
+- * of those types with the same flags, function, and clientData are considered
+- * "identical" even if their fd/delay differed.
+- */
+-
+-VMwareStatus Poll_Callback(PollClassSet classSet,
+- int flags,
+- PollerFunction f,
+- void *clientData,
+- PollEventType type,
+- PollDevHandle info, // fd/microsec delay
+- MXUserRecLock *lck);
+-Bool Poll_CallbackRemove(PollClassSet classSet,
+- int flags,
+- PollerFunction f,
+- void *clientData,
+- PollEventType type);
+-Bool Poll_CallbackRemoveOneByCB(PollClassSet classSet,
+- int flags,
+- PollerFunction f,
+- PollEventType type,
+- void **clientData);
+-
+-void Poll_NotifyChange(PollClassSet classSet);
+-
+-/*
+- * Wrappers for Poll_Callback and Poll_CallbackRemove that present
+- * simpler subsets of those interfaces.
+- */
+-
+-VMwareStatus Poll_CB_Device(PollerFunction f,
+- void *clientData,
+- PollDevHandle device,
+- Bool periodic);
+-
+-Bool Poll_CB_DeviceRemove(PollerFunction f,
+- void *clientData,
+- Bool periodic);
+-
+-
+-VMwareStatus Poll_CB_RTime(PollerFunction f,
+- void *clientData,
+- int64 delay, // microseconds
+- Bool periodic,
+- MXUserRecLock *lock);
+-
+-Bool Poll_CB_RTimeRemove(PollerFunction f,
+- void *clientData,
+- Bool periodic);
+-
+-
+-#ifdef _WIN32
+-void Poll_SetPumpsWindowsMessages(Bool pumps);
+-void Poll_SetWindowMessageRecipient(HWND hWnd, UINT msg, Bool alwaysThunk);
+-Bool Poll_FireWndCallback(void *lparam);
+-#endif
+-
+-#if defined(__cplusplus)
+-} // extern "C"
+-#endif
+-
+-#endif // _POLL_H_
+--- /dev/null
++++ b/open-vm-tools/lib/include/vm_poll.h
+@@ -0,0 +1,330 @@
++/*********************************************************
++ * Copyright (C) 1998-2018 VMware, Inc. All rights reserved.
++ *
++ * This program is free software; you can redistribute it and/or modify it
++ * under the terms of the GNU Lesser General Public License as published
++ * by the Free Software Foundation version 2.1 and no later version.
++ *
++ * This program is distributed in the hope that it will be useful, but
++ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
++ * or FITNESS FOR A PARTICULAR PURPOSE. See the Lesser GNU General Public
++ * License for more details.
++ *
++ * You should have received a copy of the GNU Lesser General Public License
++ * along with this program; if not, write to the Free Software Foundation, Inc.,
++ * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
++ *
++ *********************************************************/
++
++/*********************************************************
++ * The contents of this file are subject to the terms of the Common
++ * Development and Distribution License (the "License") version 1.0
++ * and no later version. You may not use this file except in
++ * compliance with the License.
++ *
++ * You can obtain a copy of the License at
++ * http://www.opensource.org/licenses/cddl1.php
++ *
++ * See the License for the specific language governing permissions
++ * and limitations under the License.
++ *
++ *********************************************************/
++
++
++#ifndef _POLL_H_
++#define _POLL_H_
++
++#define INCLUDE_ALLOW_USERLEVEL
++#define INCLUDE_ALLOW_VMCORE
++#include "includeCheck.h"
++
++#include "vm_basic_types.h"
++#include "vm_basic_defs.h"
++#include "vmware.h"
++#include "userlock.h"
++
++#if defined(__cplusplus)
++extern "C" {
++#endif
++
++#ifdef _WIN32
++#define HZ 100
++#elif defined linux
++#include <asm/param.h>
++#elif __APPLE__
++#include <TargetConditionals.h>
++/*
++ * Old SDKs don't define TARGET_OS_IPHONE at all.
++ * New ones define it to 0 on Mac OS X, 1 on iOS.
++ */
++#if !defined(TARGET_OS_IPHONE) || TARGET_OS_IPHONE == 0
++#include <sys/kernel.h>
++#endif
+#include <poll.h>
- #define HZ 100
- #endif
- #ifdef __ANDROID__
-diff --git a/open-vm-tools/lib/rpcIn/rpcin.c b/open-vm-tools/lib/rpcIn/rpcin.c
-index 8eea7d86..c48f5be2 100644
++#define HZ 100
++#endif
++#ifdef __ANDROID__
++/*
++ * <poll.h> of android should be included, but its name is same
++ * with this file. So its content is put here to avoid conflict.
++ */
++#include <asm/poll.h>
++#define HZ 100
++typedef unsigned int nfds_t;
++int poll(struct pollfd *, nfds_t, long);
++#endif
++
++
++/*
++ * Poll event types: each type has a different reason for firing,
++ * or condition that must be met before firing.
++ */
++
++typedef enum {
++ /*
++ * Actual Poll queue types against which you can register callbacks.
++ */
++ POLL_VIRTUALREALTIME = -1, /* Negative because it doesn't have its own Q */
++ POLL_VTIME = 0,
++ POLL_REALTIME,
++ POLL_DEVICE,
++ POLL_MAIN_LOOP,
++ POLL_NUM_QUEUES
++} PollEventType;
++
++
++/*
++ * Classes of events
++ *
++ * These are the predefined classes. More can be declared
++ * with Poll_AllocClass().
++ */
++
++typedef enum PollClass {
++ POLL_CLASS_MAIN,
++ POLL_CLASS_PAUSE,
++ POLL_CLASS_IPC,
++ POLL_CLASS_CPT,
++ POLL_CLASS_MKS,
++ POLL_FIXED_CLASSES,
++ POLL_DEFAULT_FIXED_CLASSES,
++ /* Size enum to maximum */
++ POLL_MAX_CLASSES = 31,
++} PollClass;
++
++/*
++ * Do not use; Special pseudo private poll class supported by
++ * PollDefault only
++ */
++#define POLL_DEFAULT_CLASS_NET POLL_FIXED_CLASSES
++#define POLL_DEFAULT_CS_NET PollClassSet_Singleton(POLL_DEFAULT_CLASS_NET)
++
++/*
++ * Each callback is registered in a set of classes
++ */
++
++typedef struct PollClassSet {
++ uintptr_t bits;
++} PollClassSet;
++
++/* An empty PollClassSet. */
++static INLINE PollClassSet
++PollClassSet_Empty(void)
++{
++ PollClassSet set = { 0 };
++ return set;
++}
++
++/* A PollClassSet with the single member. */
++static INLINE PollClassSet
++PollClassSet_Singleton(PollClass c)
++{
++ PollClassSet s = PollClassSet_Empty();
++
++ ASSERT_ON_COMPILE(POLL_MAX_CLASSES < sizeof s.bits * 8);
++ ASSERT(c < POLL_MAX_CLASSES);
++
++ s.bits = CONST3264U(1) << c;
++ return s;
++}
++
++/* Combine two PollClassSets. */
++static INLINE PollClassSet
++PollClassSet_Union(PollClassSet lhs, PollClassSet rhs)
++{
++ PollClassSet set;
++ set.bits = lhs.bits | rhs.bits;
++ return set;
++}
++
++/* Add single class to PollClassSet. */
++static INLINE PollClassSet
++PollClassSet_Include(PollClassSet set, PollClass c)
++{
++ return PollClassSet_Union(set, PollClassSet_Singleton(c));
++}
++
++
++#define POLL_CS_MAIN PollClassSet_Singleton(POLL_CLASS_MAIN)
++#define POLL_CS_PAUSE PollClassSet_Union(POLL_CS_MAIN, \
++ PollClassSet_Singleton(POLL_CLASS_PAUSE))
++#define POLL_CS_CPT PollClassSet_Union(POLL_CS_PAUSE, \
++ PollClassSet_Singleton(POLL_CLASS_CPT))
++#define POLL_CS_IPC PollClassSet_Union(POLL_CS_CPT, \
++ PollClassSet_Singleton(POLL_CLASS_IPC))
++#define POLL_CS_VMDB POLL_CS_PAUSE /* POLL_CLASS_VMDB is retired */
++#define POLL_CS_MKS PollClassSet_Singleton(POLL_CLASS_MKS)
++/*
++ * DANGER. You don't need POLL_CS_ALWAYS. Really. So don't use it.
++ */
++#define POLL_CS_ALWAYS PollClassSet_Union(POLL_CS_CPT, POLL_CS_IPC)
++
++/*
++ * Poll class-set taxonomy:
++ * POLL_CS_MAIN
++ * - Unless you NEED another class, use POLL_CS_MAIN.
++ * POLL_CS_PAUSE
++ * - For callbacks that must occur even if the guest is paused.
++ * Most VMDB or Foundry commands are in this category.
++ * POLL_CS_CPT
++ * - Only for callbacks which can trigger intermediate Checkpoint
++ * transitions.
++ * The ONLY such callback is Migrate.
++ * POLL_CS_IPC
++ * - Only for callbacks which can contain Msg_(Post|Hint|Question)
++ * responses, and for signal handlers (why)?
++ * Vigor, VMDB, and Foundry can contain Msg_* responses.
++ * POLL_CS_MKS
++ * - Callback runs in MKS thread.
++ * POLL_CS_ALWAYS
++ * - Only for events that must be processed immediately.
++ * The ONLY such callback is OvhdMemVmxSizeCheck.
++ */
++
++
++/*
++ * Poll_Callback flags
++ */
++
++#define POLL_FLAG_PERIODIC 0x01 // keep after firing
++#define POLL_FLAG_REMOVE_AT_POWEROFF 0x02 // self-explanatory
++#define POLL_FLAG_READ 0x04 // device is ready for reading
++#define POLL_FLAG_WRITE 0x08 // device is ready for writing
++#define POLL_FLAG_SOCKET 0x10 // device is a Windows socket
++#define POLL_FLAG_NO_BULL 0x20 // callback does its own locking
++#define POLL_FLAG_WINSOCK 0x40 // Winsock style write events
++#define POLL_FLAG_FD 0x80 // device is a Windows file descriptor.
++#define POLL_FLAG_ACCEPT_INVALID_FDS 0x100 // For broken 3rd party libs, e.g. curl
++#define POLL_FLAG_THUNK_TO_WND 0x200 // thunk callback to window message loop
++
++
++typedef void (*PollerFunction)(void *clientData);
++typedef void (*PollerFireWrapper)(PollerFunction func,
++ void *funcData,
++ void *wrapperData);
++typedef Bool (*PollerErrorFn)(const char *errorStr);
++
++/*
++ * Initialisers:
++ *
++ * For the sake of convenience, we declare the initialisers
++ * for custom implmentations here, even though the actual
++ * implementations are distinct from the core poll code.
++ */
++
++typedef struct PollOptions {
++ Bool locked; // Use internal MXUser for locking
++ Bool allowFullQueue; // Don't assert when device event queue is full.
++ VThreadID windowsMsgThread; // thread that processes Windows messages
++ PollerFireWrapper fireWrapperFn; // optional; may be useful for stats
++ void *fireWrapperData; // optional
++ PollerErrorFn errorFn; // optional; called upon unrecoverable error
++} PollOptions;
++
++
++void Poll_InitDefault(void);
++void Poll_InitDefaultEx(const PollOptions *opts);
++void Poll_InitGtk(void); // On top of glib for Linux
++void Poll_InitCF(void); // On top of CoreFoundation for OSX
++
++
++/*
++ * Functions
++ */
++int Poll_SocketPair(Bool vmci, Bool stream, int fds[2]);
++void Poll_Loop(Bool loop, Bool *exit, PollClass c);
++void Poll_LoopTimeout(Bool loop, Bool *exit, PollClass c, int timeout);
++Bool Poll_LockingEnabled(void);
++void Poll_Exit(void);
++
++
++/*
++ * Poll_Callback adds a callback regardless of whether an identical one exists.
++ * The exception to this rule is POLL_DEVICE callbacks: there is a maximum of
++ * one read and one write callback per fd.
++ *
++ * Poll_CallbackRemove removes one callback. If there are multiple identical
++ * callbacks, which one is removed is an implementation detail. Note that in
++ * the case of POLL_DEVICE and POLL_REALTIME callbacks, the fd/delay used to
++ * create the callback is not specified when removing, so all callbacks
++ * of those types with the same flags, function, and clientData are considered
++ * "identical" even if their fd/delay differed.
++ */
++
++VMwareStatus Poll_Callback(PollClassSet classSet,
++ int flags,
++ PollerFunction f,
++ void *clientData,
++ PollEventType type,
++ PollDevHandle info, // fd/microsec delay
++ MXUserRecLock *lck);
++Bool Poll_CallbackRemove(PollClassSet classSet,
++ int flags,
++ PollerFunction f,
++ void *clientData,
++ PollEventType type);
++Bool Poll_CallbackRemoveOneByCB(PollClassSet classSet,
++ int flags,
++ PollerFunction f,
++ PollEventType type,
++ void **clientData);
++
++void Poll_NotifyChange(PollClassSet classSet);
++
++/*
++ * Wrappers for Poll_Callback and Poll_CallbackRemove that present
++ * simpler subsets of those interfaces.
++ */
++
++VMwareStatus Poll_CB_Device(PollerFunction f,
++ void *clientData,
++ PollDevHandle device,
++ Bool periodic);
++
++Bool Poll_CB_DeviceRemove(PollerFunction f,
++ void *clientData,
++ Bool periodic);
++
++
++VMwareStatus Poll_CB_RTime(PollerFunction f,
++ void *clientData,
++ int64 delay, // microseconds
++ Bool periodic,
++ MXUserRecLock *lock);
++
++Bool Poll_CB_RTimeRemove(PollerFunction f,
++ void *clientData,
++ Bool periodic);
++
++
++#ifdef _WIN32
++void Poll_SetPumpsWindowsMessages(Bool pumps);
++void Poll_SetWindowMessageRecipient(HWND hWnd, UINT msg, Bool alwaysThunk);
++Bool Poll_FireWndCallback(void *lparam);
++#endif
++
++#if defined(__cplusplus)
++} // extern "C"
++#endif
++
++#endif // _POLL_H_
--- a/open-vm-tools/lib/rpcIn/rpcin.c
+++ b/open-vm-tools/lib/rpcIn/rpcin.c
@@ -57,7 +57,7 @@
@@ -100,16 +740,3 @@ index 8eea7d86..c48f5be2 100644
# include "asyncsocket.h"
# include "vmci_defs.h"
#include "dataMap.h"
-diff --git a/open-vm-tools/services/plugins/grabbitmqProxy/grabbitmqProxyPlugin.c b/open-vm-tools/services/plugins/grabbitmqProxy/grabbitmqProxyPlugin.c
-index 03700937..f0b49ad7 100644
---- a/open-vm-tools/services/plugins/grabbitmqProxy/grabbitmqProxyPlugin.c
-+++ b/open-vm-tools/services/plugins/grabbitmqProxy/grabbitmqProxyPlugin.c
-@@ -48,7 +48,7 @@
- #include "rpcout.h"
- #include "rabbitmqProxyConst.h"
- #include "vm_basic_types.h"
--#include "poll.h"
-+#include "vm_poll.h"
- #ifdef OPEN_VM_TOOLS
- #include "vmci_sockets.h"
- #include "sslDirect.h"
diff --git a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0013-misc-Do-not-print-NULL-string-into-logs.patch b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0013-misc-Do-not-print-NULL-string-into-logs.patch
index 88f4f694c..3e4753b2a 100644
--- a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0013-misc-Do-not-print-NULL-string-into-logs.patch
+++ b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0013-misc-Do-not-print-NULL-string-into-logs.patch
@@ -14,18 +14,14 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
open-vm-tools/lib/misc/util_misc.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
-diff --git a/open-vm-tools/lib/misc/util_misc.c b/open-vm-tools/lib/misc/util_misc.c
-index 198c23d2..0ac0a335 100644
--- a/open-vm-tools/lib/misc/util_misc.c
+++ b/open-vm-tools/lib/misc/util_misc.c
-@@ -719,8 +719,8 @@ Util_ExpandString(const char *fileName) // IN file path to expand
+@@ -719,7 +719,7 @@ Util_ExpandString(const char *fileName)
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",
+ Log("%s: Cannot allocate memory to expand in \"%s\".\n",
-+ __FUNCTION__, fileName);
+ __FUNCTION__, fileName);
goto out;
}
- chunkSize[i] = strlen(expand);
diff --git a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0014-Fix-new-warnings-from-gcc9.patch b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0014-Fix-new-warnings-from-gcc9.patch
deleted file mode 100644
index b5ccffd14..000000000
--- a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0014-Fix-new-warnings-from-gcc9.patch
+++ /dev/null
@@ -1,1281 +0,0 @@
-From af9eca8689c97ea8e792902b458a31608286655e Mon Sep 17 00:00:00 2001
-From: Martin Jansa <martin.jansa@lge.com>
-Date: Thu, 13 Jun 2019 16:01:03 +0000
-Subject: [PATCH] Fix new warnings from gcc9
-
-Imported from Fedora:
-https://src.fedoraproject.org/rpms/open-vm-tools/raw/master/f/gcc9-warnings.patch
-
-Upstream bug:
-https://github.com/vmware/open-vm-tools/issues/330
-
-Upstream-Status: Pending
----
- open-vm-tools/hgfsmounter/hgfsmounter.c | 14 +-
- open-vm-tools/lib/hgfsServer/hgfsServer.c | 24 ++-
- open-vm-tools/vmhgfs-fuse/dir.c | 175 ++++++++---------
- open-vm-tools/vmhgfs-fuse/file.c | 217 +++++++++++++---------
- open-vm-tools/vmhgfs-fuse/filesystem.c | 46 ++---
- open-vm-tools/vmhgfs-fuse/fsutil.c | 63 ++++---
- open-vm-tools/vmhgfs-fuse/link.c | 125 +++++++------
- 7 files changed, 367 insertions(+), 297 deletions(-)
-
-diff --git a/open-vm-tools/hgfsmounter/hgfsmounter.c b/open-vm-tools/hgfsmounter/hgfsmounter.c
-index 0921b700..3f6798dc 100644
---- a/open-vm-tools/hgfsmounter/hgfsmounter.c
-+++ b/open-vm-tools/hgfsmounter/hgfsmounter.c
-@@ -1,5 +1,5 @@
- /*********************************************************
-- * Copyright (C) 2006-2017 VMware, Inc. All rights reserved.
-+ * Copyright (C) 2006-2019 VMware, Inc. All rights reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as published
-@@ -514,11 +514,13 @@ ParseFmask(const char *option, // IN: option string along with value
- HgfsMountInfo *mountInfo, // OUT: mount data
- int *flags) // OUT: mount flags
- {
-+ unsigned short fmask = 0;
- ASSERT(option);
- ASSERT(mountInfo);
-
-- if (ParseMask(option, &mountInfo->fmask)) {
-- LOG("Setting mount fmask to %o\n", mountInfo->fmask);
-+ if (ParseMask(option, &fmask)) {
-+ LOG("Setting mount fmask to %o\n", fmask);
-+ mountInfo->fmask = fmask;
- return TRUE;
- }
-
-@@ -548,11 +550,13 @@ ParseDmask(const char *option, // IN: option string along with value
- HgfsMountInfo *mountInfo, // OUT: mount data
- int *flags) // OUT: mount flags
- {
-+ unsigned short dmask = 0;
- ASSERT(option);
- ASSERT(mountInfo);
-
-- if (ParseMask(option, &mountInfo->dmask)) {
-- LOG("Setting mount dmask to %o\n", mountInfo->dmask);
-+ if (ParseMask(option, &dmask)) {
-+ LOG("Setting mount dmask to %o\n", dmask);
-+ mountInfo->dmask = dmask;
- return TRUE;
- }
-
-diff --git a/open-vm-tools/lib/hgfsServer/hgfsServer.c b/open-vm-tools/lib/hgfsServer/hgfsServer.c
-index 740c4fed..422383cd 100644
---- a/open-vm-tools/lib/hgfsServer/hgfsServer.c
-+++ b/open-vm-tools/lib/hgfsServer/hgfsServer.c
-@@ -1,5 +1,5 @@
- /*********************************************************
-- * Copyright (C) 1998-2018 VMware, Inc. All rights reserved.
-+ * Copyright (C) 1998-2019 VMware, Inc. All rights reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as published
-@@ -159,7 +159,7 @@ struct HgfsTransportSessionInfo {
- HgfsServerChannelData channelCapabilities;
- };
-
--/* The input request paramaters object. */
-+/* The input request parameters object. */
- typedef struct HgfsInputParam {
- const void *request; /* Hgfs header followed by operation request */
- size_t requestSize; /* Size of Hgfs header and operation request */
-@@ -2682,8 +2682,8 @@ HgfsSearchHandle2Search(HgfsHandle handle, // IN: handle
- * None
- *
- * Side effects:
-- * If there isnt enough memory to accomodate the new names, those file nodes
-- * that couldnt be updated are deleted.
-+ * If there isn't enough memory to accommodate the new names, those file nodes
-+ * that couldn't be updated are deleted.
- *
- *-----------------------------------------------------------------------------
- */
-@@ -3399,7 +3399,7 @@ HgfsServerSessionReceive(HgfsPacket *packet, // IN: Hgfs Packet
-
- /* Send error if we fail to process the op. */
- if (HGFS_ERROR_SUCCESS != status) {
-- LOG(4, ("Error %d occured parsing the packet\n", (uint32)status));
-+ LOG(4, ("Error %d occurred parsing the packet\n", (uint32)status));
- HgfsServerCompleteRequest(status, 0, input);
- }
- }
-@@ -4131,7 +4131,7 @@ HgfsServerSetSessionCapability(HgfsOp op, // IN: operation code
- result = TRUE;
- }
- }
-- LOG(4, ("%s: Setting capabilitiy flags %x for op code %d %s\n",
-+ LOG(4, ("%s: Setting capability flags %x for op code %d %s\n",
- __FUNCTION__, flags, op, result ? "succeeded" : "failed"));
-
- return result;
-@@ -4143,7 +4143,7 @@ HgfsServerSetSessionCapability(HgfsOp op, // IN: operation code
- *
- * HgfsServerResEnumInit --
- *
-- * Initialize an enumeration of all exisitng resources.
-+ * Initialize an enumeration of all existing resources.
- *
- * Results:
- * The enumeration state object.
-@@ -4239,7 +4239,7 @@ HgfsServerResEnumExit(void *enumState) // IN/OUT: enumeration state
- *
- * HgfsServerEnumerateSharedFolders --
- *
-- * Enumerates all exisitng shared folders and registers shared folders with
-+ * Enumerates all existing shared folders and registers shared folders with
- * directory notification package.
- *
- * Results:
-@@ -6536,11 +6536,13 @@ HgfsServerRead(HgfsInputParam *input) // IN: Input params
- payload = &reply->payload[0];
- }
- if (payload) {
-+ uint32 actualSize = 0;
- status = HgfsPlatformReadFile(readFd, input->session, offset,
- requiredSize, payload,
-- &reply->actualSize);
-+ &actualSize);
- if (HGFS_ERROR_SUCCESS == status) {
- reply->reserved = 0;
-+ reply->actualSize = actualSize;
- replyPayloadSize = sizeof *reply;
-
- if (readUseDataBuffer) {
-@@ -6556,11 +6558,13 @@ HgfsServerRead(HgfsInputParam *input) // IN: Input params
- break;
- }
- case HGFS_OP_READ: {
-+ uint32 actualSize = 0;
- HgfsReplyRead *reply = replyRead;
-
- status = HgfsPlatformReadFile(readFd, input->session, offset, requiredSize,
-- reply->payload, &reply->actualSize);
-+ reply->payload, &actualSize);
- if (HGFS_ERROR_SUCCESS == status) {
-+ reply->actualSize = actualSize;
- replyPayloadSize = sizeof *reply + reply->actualSize;
- } else {
- LOG(4, ("%s: V1 Failed to read-> %d.\n", __FUNCTION__, status));
-diff --git a/open-vm-tools/vmhgfs-fuse/dir.c b/open-vm-tools/vmhgfs-fuse/dir.c
-index 6298a4ea..e71b7afd 100644
---- a/open-vm-tools/vmhgfs-fuse/dir.c
-+++ b/open-vm-tools/vmhgfs-fuse/dir.c
-@@ -1,5 +1,5 @@
- /*********************************************************
-- * Copyright (C) 2013 VMware, Inc. All rights reserved.
-+ * Copyright (C) 2013,2019 VMware, Inc. All rights reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as published
-@@ -54,38 +54,53 @@ HgfsPackDirOpenRequest(const char *path, // IN: Path of the dir to open
- HgfsOp opUsed, // IN: Op to be used
- HgfsReq *req) // IN/OUT: Packet to write into
- {
-- char *name;
-- unsigned int *nameLength = NULL;
- size_t reqSize;
-- int result;
-
- ASSERT(path);
- ASSERT(req);
- LOG(4, ("Path = %s \n", path));
- switch (opUsed) {
- case HGFS_OP_SEARCH_OPEN_V3: {
-+ int result;
- HgfsRequestSearchOpenV3 *requestV3 = HgfsGetRequestPayload(req);
-
-- /* We'll use these later. */
-- name = requestV3->dirName.name;
-- nameLength = &requestV3->dirName.length;
- requestV3->dirName.flags = 0;
- requestV3->dirName.caseType = HGFS_FILE_NAME_CASE_SENSITIVE;
- requestV3->dirName.fid = HGFS_INVALID_HANDLE;
- requestV3->reserved = 0;
- reqSize = sizeof(*requestV3) + HgfsGetRequestHeaderSize();
-+ /* Convert to CP name. */
-+ result = CPName_ConvertTo(path,
-+ HGFS_LARGE_PACKET_MAX - (reqSize - 1),
-+ requestV3->dirName.name);
-+ if (result < 0) {
-+ LOG(4, ("CP conversion failed\n"));
-+ return -EINVAL;
-+ }
-+ LOG(4, ("After conversion = %s\n", requestV3->dirName.name));
-+ requestV3->dirName.length = result;
-+ reqSize += result;
- break;
- }
-
- case HGFS_OP_SEARCH_OPEN: {
-+ int result;
- HgfsRequestSearchOpen *request;
-
- request = (HgfsRequestSearchOpen *)(HGFS_REQ_PAYLOAD(req));
-
-- /* We'll use these later. */
-- name = request->dirName.name;
-- nameLength = &request->dirName.length;
- reqSize = sizeof *request;
-+ /* Convert to CP name. */
-+ result = CPName_ConvertTo(path,
-+ HGFS_LARGE_PACKET_MAX - (reqSize - 1),
-+ request->dirName.name);
-+ if (result < 0) {
-+ LOG(4, ("CP conversion failed\n"));
-+ return -EINVAL;
-+ }
-+ LOG(4, ("After conversion = %s\n", request->dirName.name));
-+ request->dirName.length = result;
-+ reqSize += result;
- break;
- }
-
-@@ -94,21 +109,7 @@ HgfsPackDirOpenRequest(const char *path, // IN: Path of the dir to open
- return -EPROTO;
- }
-
-- /* Convert to CP name. */
--
-- LOG(4, ("After buildPath = %s\n", path));
-- result = CPName_ConvertTo(path,
-- HGFS_LARGE_PACKET_MAX - (reqSize - 1),
-- name);
-- if (result < 0) {
-- LOG(4, ("CP conversion failed\n"));
-- return -EINVAL;
-- }
--
-- LOG(4, ("After conversion = %s\n", name));
--
-- *nameLength = (uint32) result;
-- req->payloadSize = reqSize + result;
-+ req->payloadSize = reqSize;
-
- /* Fill in header here as payloadSize needs to be there. */
- HgfsPackHeader(req, opUsed);
-@@ -149,7 +150,6 @@ HgfsDirOpen(const char* path, // IN: Path of dir to open
- int result;
- HgfsOp opUsed;
- HgfsStatus replyStatus;
-- HgfsHandle *replySearch;
-
- ASSERT(path);
- req = HgfsGetNewRequest();
-@@ -161,16 +161,6 @@ HgfsDirOpen(const char* path, // IN: Path of dir to open
-
- retry:
- opUsed = hgfsVersionSearchOpen;
-- if (opUsed == HGFS_OP_SEARCH_OPEN_V3) {
-- HgfsReplySearchOpenV3 *requestV3 = HgfsGetReplyPayload(req);
--
-- replySearch = &requestV3->search;
--
-- } else {
-- HgfsReplySearchOpen *request = (HgfsReplySearchOpen *)HGFS_REQ_PAYLOAD(req);
--
-- replySearch = &request->search;
-- }
-
- result = HgfsPackDirOpenRequest(path, opUsed, req);
- if (result != 0) {
-@@ -187,8 +177,14 @@ retry:
-
- switch (result) {
- case 0:
-- *handle = *replySearch;
-- LOG(6, ("Set handle to %u\n", *replySearch));
-+ if (opUsed == HGFS_OP_SEARCH_OPEN_V3) {
-+ HgfsReplySearchOpenV3 *requestV3 = HgfsGetReplyPayload(req);
-+ *handle = requestV3->search;
-+ } else {
-+ HgfsReplySearchOpen *request = (HgfsReplySearchOpen *)HGFS_REQ_PAYLOAD(req);
-+ *handle = request->search;
-+ }
-+ LOG(6, ("Set handle to %u\n", *handle));
- break;
- case -EPROTO:
- /* Retry with older version(s). Set globally. */
-@@ -626,25 +622,30 @@ HgfsPackCreateDirRequest(const char *path,
- HgfsOp opUsed, // IN: Op to be used.
- HgfsReq *req) // IN/OUT: Packet to write into
- {
-- char *fileName = NULL;
-- uint32 *fileNameLength;
- size_t reqSize;
-- int result;
-+
-
- ASSERT(req);
-
- switch (opUsed) {
- case HGFS_OP_CREATE_DIR_V3: {
-+ int result;
- HgfsRequestCreateDirV3 *requestV3 = HgfsGetRequestPayload(req);
-
- reqSize = sizeof(*requestV3) + HgfsGetRequestHeaderSize();
-- /* We'll use these later. */
-- fileName = requestV3->fileName.name;
-- fileNameLength = &requestV3->fileName.length;
- requestV3->fileName.flags = 0;
- requestV3->fileName.fid = HGFS_INVALID_HANDLE;
- requestV3->fileName.caseType = HGFS_FILE_NAME_CASE_SENSITIVE;
--
-+ /* Convert to CP name. */
-+ result = CPName_ConvertTo(path,
-+ HGFS_LARGE_PACKET_MAX - (reqSize - 1),
-+ requestV3->fileName.name);
-+ if (result < 0) {
-+ LOG(4, ("CP conversion failed.\n"));
-+ return -EINVAL;
-+ }
-+ requestV3->fileName.length = result;
-+ reqSize += result;
- requestV3->mask = HGFS_CREATE_DIR_MASK;
-
- /* Set permissions. */
-@@ -656,15 +657,23 @@ HgfsPackCreateDirRequest(const char *path,
- break;
- }
- case HGFS_OP_CREATE_DIR_V2: {
-+ int result;
- HgfsRequestCreateDirV2 *requestV2;
-
- requestV2 = (HgfsRequestCreateDirV2 *)(HGFS_REQ_PAYLOAD(req));
-
-- /* We'll use these later. */
-- fileName = requestV2->fileName.name;
-- fileNameLength = &requestV2->fileName.length;
- reqSize = sizeof *requestV2;
-
-+ /* Convert to CP name. */
-+ result = CPName_ConvertTo(path,
-+ HGFS_LARGE_PACKET_MAX - (reqSize - 1),
-+ requestV2->fileName.name);
-+ if (result < 0) {
-+ LOG(4, ("CP conversion failed.\n"));
-+ return -EINVAL;
-+ }
-+ requestV2->fileName.length = result;
-+ reqSize += result;
- requestV2->mask = HGFS_CREATE_DIR_MASK;
-
- /* Set permissions. */
-@@ -675,15 +684,22 @@ HgfsPackCreateDirRequest(const char *path,
- break;
- }
- case HGFS_OP_CREATE_DIR: {
-+ int result;
- HgfsRequestCreateDir *request;
-
- request = (HgfsRequestCreateDir *)(HGFS_REQ_PAYLOAD(req));
-
-- /* We'll use these later. */
-- fileName = request->fileName.name;
-- fileNameLength = &request->fileName.length;
- reqSize = sizeof *request;
--
-+ /* Convert to CP name. */
-+ result = CPName_ConvertTo(path,
-+ HGFS_LARGE_PACKET_MAX - (reqSize - 1),
-+ request->fileName.name);
-+ if (result < 0) {
-+ LOG(4, ("CP conversion failed.\n"));
-+ return -EINVAL;
-+ }
-+ request->fileName.length = result;
-+ reqSize += result;
- /* Set permissions. */
- request->permissions = (permsMode & S_IRWXU) >> 6;
- break;
-@@ -693,18 +709,7 @@ HgfsPackCreateDirRequest(const char *path,
- return -EPROTO;
- }
-
--
-- /* Convert to CP name. */
-- result = CPName_ConvertTo(path,
-- HGFS_LARGE_PACKET_MAX - (reqSize - 1),
-- fileName);
-- if (result < 0) {
-- LOG(4, ("CP conversion failed.\n"));
-- return -EINVAL;
-- }
--
-- *fileNameLength = result;
-- req->payloadSize = reqSize + result;
-+ req->payloadSize = reqSize;
-
- /* Fill in header here as payloadSize needs to be there. */
- HgfsPackHeader(req, opUsed);
-@@ -827,8 +832,6 @@ HgfsDelete(const char* path, // IN: Path to file
- HgfsReq *req = NULL;
- int result = 0;
- HgfsStatus replyStatus;
-- char *fileName = NULL;
-- uint32 *fileNameLength;
- uint32 reqSize;
- HgfsOp opUsed;
- HgfsAttrInfo newAttr = {0};
-@@ -862,8 +865,17 @@ HgfsDelete(const char* path, // IN: Path to file
-
- reqSize = sizeof(*request) + HgfsGetRequestHeaderSize();
- request->hints = 0;
-- fileName = request->fileName.name;
-- fileNameLength = &request->fileName.length;
-+ /* Convert to CP name. */
-+ result = CPName_ConvertTo(path,
-+ HGFS_NAME_BUFFER_SIZET(HGFS_LARGE_PACKET_MAX, reqSize),
-+ request->fileName.name);
-+ if (result < 0) {
-+ LOG(4, ("CP conversion failed.\n"));
-+ result = -EINVAL;
-+ goto out;
-+ }
-+ request->fileName.length = result;
-+ reqSize += result;
- request->fileName.fid = HGFS_INVALID_HANDLE;
- request->fileName.flags = 0;
- request->fileName.caseType = HGFS_FILE_NAME_DEFAULT_CASE;
-@@ -874,24 +886,21 @@ HgfsDelete(const char* path, // IN: Path to file
-
- request = (HgfsRequestDelete *)(HGFS_REQ_PAYLOAD(req));
- /* Fill out the request packet. */
-- fileName = request->fileName.name;
-- fileNameLength = &request->fileName.length;
- reqSize = sizeof *request;
-+ /* Convert to CP name. */
-+ result = CPName_ConvertTo(path,
-+ HGFS_NAME_BUFFER_SIZET(HGFS_LARGE_PACKET_MAX, reqSize),
-+ request->fileName.name);
-+ if (result < 0) {
-+ LOG(4, ("CP conversion failed.\n"));
-+ result = -EINVAL;
-+ goto out;
-+ }
-+ request->fileName.length = result;
-+ reqSize += result;
- }
-
--
-- /* Convert to CP name. */
-- result = CPName_ConvertTo(path,
-- HGFS_NAME_BUFFER_SIZET(HGFS_LARGE_PACKET_MAX, reqSize),
-- fileName);
-- if (result < 0) {
-- LOG(4, ("CP conversion failed.\n"));
-- result = -EINVAL;
-- goto out;
-- }
--
-- *fileNameLength = result;
-- req->payloadSize = reqSize + result;
-+ req->payloadSize = reqSize;
-
- /* Fill in header here as payloadSize needs to be there. */
- HgfsPackHeader(req, opUsed);
-diff --git a/open-vm-tools/vmhgfs-fuse/file.c b/open-vm-tools/vmhgfs-fuse/file.c
-index 389ebba8..0b6c48bc 100644
---- a/open-vm-tools/vmhgfs-fuse/file.c
-+++ b/open-vm-tools/vmhgfs-fuse/file.c
-@@ -1,5 +1,5 @@
- /*********************************************************
-- * Copyright (C) 2013,2017 VMware, Inc. All rights reserved.
-+ * Copyright (C) 2013,2018-2019 VMware, Inc. All rights reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as published
-@@ -66,10 +66,7 @@ HgfsPackOpenRequest(const char *path, // IN: Path to file
- HgfsOp opUsed, // IN: Op to use
- HgfsReq *req) // IN/OUT: Packet to write into
- {
-- char *name;
-- uint32 *nameLength;
- size_t reqSize;
-- int result;
- int openMode, openFlags;
-
- ASSERT(path);
-@@ -88,14 +85,22 @@ HgfsPackOpenRequest(const char *path, // IN: Path to file
-
- switch (opUsed) {
- case HGFS_OP_OPEN_V3: {
-+ int result;
- HgfsRequestOpenV3 *requestV3 = HgfsGetRequestPayload(req);
-
- reqSize = sizeof(*requestV3) + HgfsGetRequestHeaderSize();
-
-- /* We'll use these later. */
-- name = requestV3->fileName.name;
-- nameLength = &requestV3->fileName.length;
-+ /* Convert to CP name. */
-+ result = CPName_ConvertTo(path,
-+ HGFS_LARGE_PACKET_MAX - (reqSize - 1),
-+ requestV3->fileName.name);
-+ if (result < 0) {
-+ LOG(4, ("CP conversion failed.\n"));
-+ return -EINVAL;
-+ }
-
-+ requestV3->fileName.length = result;
-+ reqSize += result;
- /* Linux clients need case-sensitive lookups. */
- requestV3->fileName.flags = 0;
- requestV3->fileName.caseType = HGFS_FILE_NAME_CASE_SENSITIVE;
-@@ -122,15 +127,24 @@ HgfsPackOpenRequest(const char *path, // IN: Path to file
- }
-
- case HGFS_OP_OPEN_V2: {
-+ int result;
- HgfsRequestOpenV2 *requestV2;
-
- requestV2 = (HgfsRequestOpenV2 *)(HGFS_REQ_PAYLOAD(req));
-
-- /* We'll use these later. */
-- name = requestV2->fileName.name;
-- nameLength = &requestV2->fileName.length;
- reqSize = sizeof *requestV2;
-
-+ /* Convert to CP name. */
-+ result = CPName_ConvertTo(path,
-+ HGFS_LARGE_PACKET_MAX - (reqSize - 1),
-+ requestV2->fileName.name);
-+ if (result < 0) {
-+ LOG(4, ("CP conversion failed.\n"));
-+ return -EINVAL;
-+ }
-+
-+ requestV2->fileName.length = result;
-+ reqSize += result;
- requestV2->mask = mask;
- requestV2->mode = openMode;
- requestV2->flags = openFlags;
-@@ -148,14 +162,23 @@ HgfsPackOpenRequest(const char *path, // IN: Path to file
- break;
- }
- case HGFS_OP_OPEN: {
-+ int result;
- HgfsRequestOpen *request;
-
- request = (HgfsRequestOpen *)(HGFS_REQ_PAYLOAD(req));
-- /* We'll use these later. */
-- name = request->fileName.name;
-- nameLength = &request->fileName.length;
- reqSize = sizeof *request;
-
-+ /* Convert to CP name. */
-+ result = CPName_ConvertTo(path,
-+ HGFS_LARGE_PACKET_MAX - (reqSize - 1),
-+ request->fileName.name);
-+ if (result < 0) {
-+ LOG(4, ("CP conversion failed.\n"));
-+ return -EINVAL;
-+ }
-+
-+ request->fileName.length = result;
-+ reqSize += result;
- request->mode = openMode;
- request->flags = openFlags;
-
-@@ -168,18 +191,7 @@ HgfsPackOpenRequest(const char *path, // IN: Path to file
- return -EPROTO;
- }
-
--
-- /* Convert to CP name. */
-- result = CPName_ConvertTo(path,
-- HGFS_LARGE_PACKET_MAX - (reqSize - 1),
-- name);
-- if (result < 0) {
-- LOG(4, ("CP conversion failed.\n"));
-- return -EINVAL;
-- }
--
-- *nameLength = (uint32) result;
-- req->payloadSize = reqSize + result;
-+ req->payloadSize = reqSize;
-
- /* Fill in header here as payloadSize needs to be there. */
- HgfsPackHeader(req, opUsed);
-@@ -915,10 +927,6 @@ int
- HgfsRename(const char* from, const char* to)
- {
- HgfsReq *req = NULL;
-- char *oldName;
-- char *newName;
-- uint32 *oldNameLength;
-- uint32 *newNameLength;
- int result = 0;
- uint32 reqSize;
- HgfsOp opUsed;
-@@ -942,33 +950,41 @@ retry:
- if (opUsed == HGFS_OP_RENAME_V3) {
- HgfsRequestRenameV3 *requestV3 = HgfsGetRequestPayload(req);
-
-- oldName = requestV3->oldName.name;
-- oldNameLength = &requestV3->oldName.length;
- requestV3->hints = 0;
- requestV3->oldName.flags = 0;
- requestV3->oldName.fid = HGFS_INVALID_HANDLE;
- requestV3->oldName.caseType = HGFS_FILE_NAME_CASE_SENSITIVE;
- requestV3->reserved = 0;
- reqSize = sizeof(*requestV3) + HgfsGetRequestHeaderSize();
-+ /* Convert old name to CP format. */
-+ result = CPName_ConvertTo(from,
-+ HGFS_NAME_BUFFER_SIZET(HGFS_LARGE_PACKET_MAX, reqSize),
-+ requestV3->oldName.name);
-+ if (result < 0) {
-+ LOG(4, ("oldName CP conversion failed\n"));
-+ result = -EINVAL;
-+ goto out;
-+ }
-+
-+ requestV3->oldName.length = result;
-+ reqSize += result;
- } else {
- HgfsRequestRename *request = (HgfsRequestRename *)HGFS_REQ_PAYLOAD(req);
-
-- oldName = request->oldName.name;
-- oldNameLength = &request->oldName.length;
- reqSize = sizeof *request;
-- }
-- /* Convert old name to CP format. */
-- result = CPName_ConvertTo(from,
-- HGFS_NAME_BUFFER_SIZET(HGFS_LARGE_PACKET_MAX, reqSize),
-- oldName);
-- if (result < 0) {
-- LOG(4, ("oldName CP conversion failed\n"));
-- result = -EINVAL;
-- goto out;
-- }
-+ /* Convert old name to CP format. */
-+ result = CPName_ConvertTo(from,
-+ HGFS_NAME_BUFFER_SIZET(HGFS_LARGE_PACKET_MAX, reqSize),
-+ request->oldName.name);
-+ if (result < 0) {
-+ LOG(4, ("oldName CP conversion failed\n"));
-+ result = -EINVAL;
-+ goto out;
-+ }
-
-- *oldNameLength = result;
-- reqSize += result;
-+ request->oldName.length = result;
-+ reqSize += result;
-+ }
-
- /*
- * Build full new name to send to server.
-@@ -983,8 +999,20 @@ retry:
-
- newNameP = (HgfsFileNameV3 *)((char *)&requestV3->oldName +
- sizeof requestV3->oldName + result);
-- newName = newNameP->name;
-- newNameLength = &newNameP->length;
-+
-+ LOG(6, ("New name: \"%s\"\n", newNameP->name));
-+
-+ /* Convert new name to CP format. */
-+ result = CPName_ConvertTo(to,
-+ HGFS_NAME_BUFFER_SIZET(HGFS_LARGE_PACKET_MAX, reqSize) - result,
-+ newNameP->name);
-+ if (result < 0) {
-+ LOG(4, ("newName CP conversion failed\n"));
-+ result = -EINVAL;
-+ goto out;
-+ }
-+ newNameP->length = result;
-+ reqSize += result;
- newNameP->flags = 0;
- newNameP->fid = HGFS_INVALID_HANDLE;
- newNameP->caseType = HGFS_FILE_NAME_CASE_SENSITIVE;
-@@ -993,24 +1021,22 @@ retry:
- HgfsFileName *newNameP;
- newNameP = (HgfsFileName *)((char *)&request->oldName +
- sizeof request->oldName + result);
-- newName = newNameP->name;
-- newNameLength = &newNameP->length;
-- }
-
-- LOG(6, ("New name: \"%s\"\n", newName));
-+ LOG(6, ("New name: \"%s\"\n", newNameP->name));
-
-- /* Convert new name to CP format. */
-- result = CPName_ConvertTo(to,
-- HGFS_NAME_BUFFER_SIZET(HGFS_LARGE_PACKET_MAX, reqSize) - result,
-- newName);
-- if (result < 0) {
-- LOG(4, ("newName CP conversion failed\n"));
-- result = -EINVAL;
-- goto out;
-+ /* Convert new name to CP format. */
-+ result = CPName_ConvertTo(to,
-+ HGFS_NAME_BUFFER_SIZET(HGFS_LARGE_PACKET_MAX, reqSize) - result,
-+ newNameP->name);
-+ if (result < 0) {
-+ LOG(4, ("newName CP conversion failed\n"));
-+ result = -EINVAL;
-+ goto out;
-+ }
-+ newNameP->length = result;
-+ reqSize += result;
- }
-
-- *newNameLength = result;
-- reqSize += result;
- req->payloadSize = reqSize;
-
- /* Fill in header here as payloadSize needs to be there. */
-@@ -1068,7 +1094,7 @@ retry:
- }
- break;
- default:
-- LOG(4, ("failed with result %d\n", result));
-+ LOG(4, ("Server protocol result %d\n", result));
- }
- break;
- default:
-@@ -1109,21 +1135,17 @@ HgfsPackSetattrRequest(const char *path, // IN: path to file
- {
- HgfsAttrV2 *attrV2;
- HgfsAttr *attrV1;
-- HgfsAttrHint *hints;
- HgfsAttrChanges *update;
-- char *fileName = NULL;
-- uint32 *fileNameLength = NULL;
- size_t reqBufferSize;
- size_t reqSize;
-- int result = 0;
- ASSERT(req);
-
- switch (opUsed) {
- case HGFS_OP_SETATTR_V3: {
-+ int result;
- HgfsRequestSetattrV3 *requestV3 = HgfsGetRequestPayload(req);
-
- attrV2 = &requestV3->attr;
-- hints = &requestV3->hints;
-
- /*
- * Clear attributes, mask, and hints before touching them.
-@@ -1131,7 +1153,7 @@ HgfsPackSetattrRequest(const char *path, // IN: path to file
- * make sure to zero them all here.
- */
- memset(attrV2, 0, sizeof *attrV2);
-- memset(hints, 0, sizeof *hints);
-+ requestV3->hints = 0;
-
- /*
- * When possible, issue a setattr using an existing handle. This will
-@@ -1143,14 +1165,21 @@ HgfsPackSetattrRequest(const char *path, // IN: path to file
- * the times also requires write permissions on Windows, so we require it
- * here too. Otherwise, any handle will do.
- */
-- fileName = requestV3->fileName.name;
-- fileNameLength = &requestV3->fileName.length;
- requestV3->fileName.caseType = HGFS_FILE_NAME_CASE_SENSITIVE;
- requestV3->fileName.fid = HGFS_INVALID_HANDLE;
- requestV3->fileName.flags = 0;
- requestV3->reserved = 0;
- reqSize = sizeof(*requestV3) + HgfsGetRequestHeaderSize();
- reqBufferSize = HGFS_NAME_BUFFER_SIZET(HGFS_LARGE_PACKET_MAX, reqSize);
-+ result = CPName_ConvertTo(path,
-+ reqBufferSize,
-+ requestV3->fileName.name);
-+ if (result < 0) {
-+ LOG(4, ("CP conversion failed.\n"));
-+ return -EINVAL;
-+ }
-+ requestV3->fileName.length = result;
-+ reqSize += result;
-
- attrV2->mask = attr->mask;
- if (attr->mask & (HGFS_ATTR_VALID_SPECIAL_PERMS |
-@@ -1173,22 +1202,22 @@ HgfsPackSetattrRequest(const char *path, // IN: path to file
- }
- if (attr->mask & HGFS_ATTR_VALID_ACCESS_TIME) {
- attrV2->accessTime = attr->accessTime;
-- *hints |= HGFS_ATTR_HINT_SET_ACCESS_TIME;
-+ requestV3->hints |= HGFS_ATTR_HINT_SET_ACCESS_TIME;
- }
- if (attr->mask & HGFS_ATTR_VALID_WRITE_TIME) {
- attrV2->writeTime = attr->writeTime;
-- *hints |= HGFS_ATTR_HINT_SET_WRITE_TIME;
-+ requestV3->hints |= HGFS_ATTR_HINT_SET_WRITE_TIME;
- }
-
- break;
- }
- case HGFS_OP_SETATTR_V2: {
-+ int result;
- HgfsRequestSetattrV2 *requestV2;
-
- requestV2 = (HgfsRequestSetattrV2 *)(HGFS_REQ_PAYLOAD(req));
-
- attrV2 = &requestV2->attr;
-- hints = &requestV2->hints;
-
- /*
- * Clear attributes, mask, and hints before touching them.
-@@ -1196,13 +1225,19 @@ HgfsPackSetattrRequest(const char *path, // IN: path to file
- * make sure to zero them all here.
- */
- memset(attrV2, 0, sizeof *attrV2);
-- memset(hints, 0, sizeof *hints);
--
-- fileName = requestV2->fileName.name;
-- fileNameLength = &requestV2->fileName.length;
-+ requestV2->hints = 0;
-
- reqSize = sizeof *requestV2;
- reqBufferSize = HGFS_NAME_BUFFER_SIZE(HGFS_LARGE_PACKET_MAX, requestV2);
-+ result = CPName_ConvertTo(path,
-+ reqBufferSize,
-+ requestV2->fileName.name);
-+ if (result < 0) {
-+ LOG(4, ("CP conversion failed.\n"));
-+ return -EINVAL;
-+ }
-+ requestV2->fileName.length = result;
-+ reqSize += result;
-
- if (attr->mask & (HGFS_ATTR_VALID_SPECIAL_PERMS |
- HGFS_ATTR_VALID_OWNER_PERMS |
-@@ -1224,16 +1259,17 @@ HgfsPackSetattrRequest(const char *path, // IN: path to file
- }
- if (attr->mask & HGFS_ATTR_VALID_ACCESS_TIME) {
- attrV2->accessTime = attr->accessTime;
-- *hints |= HGFS_ATTR_HINT_SET_ACCESS_TIME;
-+ requestV2->hints |= HGFS_ATTR_HINT_SET_ACCESS_TIME;
- }
- if (attr->mask & HGFS_ATTR_VALID_WRITE_TIME) {
- attrV2->writeTime = attr->writeTime;
-- *hints |= HGFS_ATTR_HINT_SET_WRITE_TIME;
-+ requestV2->hints |= HGFS_ATTR_HINT_SET_WRITE_TIME;
- }
-
- break;
- }
- case HGFS_OP_SETATTR: {
-+ int result;
- HgfsRequestSetattr *request;
-
- request = (HgfsRequestSetattr *)(HGFS_REQ_PAYLOAD(req));
-@@ -1241,11 +1277,17 @@ HgfsPackSetattrRequest(const char *path, // IN: path to file
- attrV1 = &request->attr;
- update = &request->update;
-
-- /* We'll use these later. */
-- fileName = request->fileName.name;
-- fileNameLength = &request->fileName.length;
- reqSize = sizeof *request;
- reqBufferSize = HGFS_NAME_BUFFER_SIZE(HGFS_LARGE_PACKET_MAX, request);
-+ result = CPName_ConvertTo(path,
-+ reqBufferSize,
-+ request->fileName.name);
-+ if (result < 0) {
-+ LOG(4, ("CP conversion failed.\n"));
-+ return -EINVAL;
-+ }
-+ request->fileName.length = result;
-+ reqSize += result;
-
- /*
- * Clear attributes before touching them.
-@@ -1284,16 +1326,7 @@ HgfsPackSetattrRequest(const char *path, // IN: path to file
- return -EPROTO;
- }
-
-- result = CPName_ConvertTo(path,
-- reqBufferSize,
-- fileName);
-- if (result < 0) {
-- LOG(4, ("CP conversion failed.\n"));
-- return -EINVAL;
-- }
--
-- *fileNameLength = result;
-- req->payloadSize = reqSize + result;
-+ req->payloadSize = reqSize;
-
- /* Fill in header here as payloadSize needs to be there. */
- HgfsPackHeader(req, opUsed);
-diff --git a/open-vm-tools/vmhgfs-fuse/filesystem.c b/open-vm-tools/vmhgfs-fuse/filesystem.c
-index fb9d547d..1931a5d2 100644
---- a/open-vm-tools/vmhgfs-fuse/filesystem.c
-+++ b/open-vm-tools/vmhgfs-fuse/filesystem.c
-@@ -1,5 +1,5 @@
- /*********************************************************
-- * Copyright (C) 2013 VMware, Inc. All rights reserved.
-+ * Copyright (C) 2013,2019 VMware, Inc. All rights reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as published
-@@ -123,36 +123,50 @@ HgfsPackQueryVolumeRequest(const char *path, // IN: File pointer for this
- HgfsOp opUsed, // IN: Op to be used.
- HgfsReq *req) // IN/OUT: Packet to write into
- {
-- char *name;
-- uint32 *nameLength;
- size_t requestSize;
-- int result;
-+
-
- ASSERT(req);
-
- switch (opUsed) {
- case HGFS_OP_QUERY_VOLUME_INFO_V3: {
-+ int result;
- HgfsRequestQueryVolumeV3 *requestV3 = HgfsGetRequestPayload(req);
-
-- /* We'll use these later. */
-- name = requestV3->fileName.name;
-- nameLength = &requestV3->fileName.length;
- requestV3->fileName.flags = 0;
- requestV3->fileName.fid = HGFS_INVALID_HANDLE;
- requestV3->fileName.caseType = HGFS_FILE_NAME_CASE_SENSITIVE;
- requestV3->reserved = 0;
- requestSize = sizeof(*requestV3) + HgfsGetRequestHeaderSize();
-+ /* Convert to CP name. */
-+ result = CPName_ConvertTo(path,
-+ HGFS_LARGE_PACKET_MAX - (requestSize - 1),
-+ requestV3->fileName.name);
-+ if (result < 0) {
-+ LOG(4, ("CP conversion failed.\n"));
-+ return -EINVAL;
-+ }
-+ requestV3->fileName.length = result;
-+ requestSize += result;
- break;
- }
- case HGFS_OP_QUERY_VOLUME_INFO: {
-+ int result;
- HgfsRequestQueryVolume *request;
-
- request = (HgfsRequestQueryVolume *)(HGFS_REQ_PAYLOAD(req));
-
-- /* We'll use these later. */
-- name = request->fileName.name;
-- nameLength = &request->fileName.length;
- requestSize = sizeof *request;
-+ /* Convert to CP name. */
-+ result = CPName_ConvertTo(path,
-+ HGFS_LARGE_PACKET_MAX - (requestSize - 1),
-+ request->fileName.name);
-+ if (result < 0) {
-+ LOG(4, ("CP conversion failed.\n"));
-+ return -EINVAL;
-+ }
-+ request->fileName.length = result;
-+ requestSize += result;
- break;
- }
- default:
-@@ -160,17 +174,7 @@ HgfsPackQueryVolumeRequest(const char *path, // IN: File pointer for this
- return -EPROTO;
- }
-
-- /* Convert to CP name. */
-- result = CPName_ConvertTo(path,
-- HGFS_LARGE_PACKET_MAX - (requestSize - 1),
-- name);
-- if (result < 0) {
-- LOG(4, ("CP conversion failed.\n"));
-- return -EINVAL;
-- }
--
-- *nameLength = (uint32) result;
-- req->payloadSize = requestSize + result;
-+ req->payloadSize = requestSize;
-
- /* Fill in header here as payloadSize needs to be there. */
- HgfsPackHeader(req, opUsed);
-diff --git a/open-vm-tools/vmhgfs-fuse/fsutil.c b/open-vm-tools/vmhgfs-fuse/fsutil.c
-index 042c223c..af85c405 100644
---- a/open-vm-tools/vmhgfs-fuse/fsutil.c
-+++ b/open-vm-tools/vmhgfs-fuse/fsutil.c
-@@ -1,5 +1,5 @@
- /*********************************************************
-- * Copyright (C) 2013 VMware, Inc. All rights reserved.
-+ * Copyright (C) 2013,2019 VMware, Inc. All rights reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as published
-@@ -189,8 +189,6 @@ HgfsPackGetattrRequest(HgfsReq *req, // IN/OUT: Request buffer
- size_t reqBufferSize;
- size_t reqSize;
- int result = 0;
-- char *fileName = NULL;
-- uint32 *fileNameLength = NULL;
- ASSERT(attr);
- ASSERT(req);
- ASSERT(path);
-@@ -204,8 +202,6 @@ HgfsPackGetattrRequest(HgfsReq *req, // IN/OUT: Request buffer
-
- /* Fill out the request packet. */
- requestV3->hints = 0;
-- fileName = requestV3->fileName.name;
-- fileNameLength = &requestV3->fileName.length;
- requestV3->fileName.flags = 0;
- requestV3->fileName.fid = HGFS_INVALID_HANDLE;
- requestV3->fileName.caseType = HGFS_FILE_NAME_CASE_SENSITIVE;
-@@ -213,6 +209,19 @@ HgfsPackGetattrRequest(HgfsReq *req, // IN/OUT: Request buffer
- requestV3->reserved = 0;
- reqSize = sizeof(*requestV3) + HgfsGetRequestHeaderSize();
- reqBufferSize = HGFS_NAME_BUFFER_SIZET(HGFS_LARGE_PACKET_MAX, reqSize);
-+ if (requestV3->fileName.name != NULL) {
-+ /* Convert to CP name. */
-+ result = CPName_ConvertTo(path,
-+ reqBufferSize,
-+ requestV3->fileName.name);
-+ LOG(8, ("Converted path %s\n", requestV3->fileName.name));
-+ if (result < 0) {
-+ LOG(8, ("CP conversion failed.\n"));
-+ result = -EINVAL;
-+ goto out;
-+ }
-+ requestV3->fileName.length = result;
-+ }
- break;
- }
-
-@@ -223,20 +232,42 @@ HgfsPackGetattrRequest(HgfsReq *req, // IN/OUT: Request buffer
-
- requestV2 = (HgfsRequestGetattrV2 *)(HGFS_REQ_PAYLOAD(req));
- requestV2->hints = 0;
-- fileName = requestV2->fileName.name;
-- fileNameLength = &requestV2->fileName.length;
- reqSize = sizeof *requestV2;
- reqBufferSize = HGFS_NAME_BUFFER_SIZE(HGFS_LARGE_PACKET_MAX, requestV2);
-+ if (requestV2->fileName.name != NULL) {
-+ /* Convert to CP name. */
-+ result = CPName_ConvertTo(path,
-+ reqBufferSize,
-+ requestV2->fileName.name);
-+ LOG(8, ("Converted path %s\n", requestV2->fileName.name));
-+ if (result < 0) {
-+ LOG(8, ("CP conversion failed.\n"));
-+ result = -EINVAL;
-+ goto out;
-+ }
-+ requestV2->fileName.length = result;
-+ }
- break;
- }
-
- case HGFS_OP_GETATTR: {
- HgfsRequestGetattr *requestV1;
- requestV1 = (HgfsRequestGetattr *)(HGFS_REQ_PAYLOAD(req));
-- fileName = requestV1->fileName.name;
-- fileNameLength = &requestV1->fileName.length;
- reqSize = sizeof *requestV1;
- reqBufferSize = HGFS_NAME_BUFFER_SIZE(HGFS_LARGE_PACKET_MAX, requestV1);
-+ if (requestV1->fileName.name != NULL) {
-+ /* Convert to CP name. */
-+ result = CPName_ConvertTo(path,
-+ reqBufferSize,
-+ requestV1->fileName.name);
-+ LOG(8, ("Converted path %s\n", requestV1->fileName.name));
-+ if (result < 0) {
-+ LOG(8, ("CP conversion failed.\n"));
-+ result = -EINVAL;
-+ goto out;
-+ }
-+ requestV1->fileName.length = result;
-+ }
- break;
- }
-
-@@ -246,20 +277,6 @@ HgfsPackGetattrRequest(HgfsReq *req, // IN/OUT: Request buffer
- goto out;
- }
-
-- if (fileName != NULL) {
-- /* Convert to CP name. */
-- result = CPName_ConvertTo(path,
-- reqBufferSize,
-- fileName);
-- LOG(8, ("Converted path %s\n", fileName));
-- if (result < 0) {
-- LOG(8, ("CP conversion failed.\n"));
-- result = -EINVAL;
-- goto out;
-- }
-- *fileNameLength = result;
-- }
--
- req->payloadSize = reqSize + result;
-
- /* Fill in header here as payloadSize needs to be there. */
-diff --git a/open-vm-tools/vmhgfs-fuse/link.c b/open-vm-tools/vmhgfs-fuse/link.c
-index a00e8446..777eb76e 100644
---- a/open-vm-tools/vmhgfs-fuse/link.c
-+++ b/open-vm-tools/vmhgfs-fuse/link.c
-@@ -1,5 +1,5 @@
- /*********************************************************
-- * Copyright (C) 2013 VMware, Inc. All rights reserved.
-+ * Copyright (C) 2013,2019 VMware, Inc. All rights reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as published
-@@ -51,36 +51,81 @@ HgfsPackSymlinkCreateRequest(const char* symlink, // IN: path of the link
- {
- HgfsRequestSymlinkCreateV3 *requestV3 = NULL;
- HgfsRequestSymlinkCreate *request = NULL;
-- char *symlinkName;
-- uint32 *symlinkNameLength;
-- char *targetName;
-- uint32 *targetNameLength;
- size_t targetNameBytes;
--
- size_t requestSize;
-- int result;
-+
-+ targetNameBytes = strlen(symname) + 1;
-
- switch (opUsed) {
- case HGFS_OP_CREATE_SYMLINK_V3: {
-+ int result;
-+ HgfsFileNameV3 *fileNameP;
- requestV3 = HgfsGetRequestPayload(req);
-
-- /* We'll use these later. */
-- symlinkName = requestV3->symlinkName.name;
-- symlinkNameLength = &requestV3->symlinkName.length;
- requestV3->symlinkName.flags = 0;
- requestV3->symlinkName.fid = HGFS_INVALID_HANDLE;
- requestV3->symlinkName.caseType = HGFS_FILE_NAME_CASE_SENSITIVE;
- requestV3->reserved = 0;
- requestSize = sizeof(*requestV3) + HgfsGetRequestHeaderSize();
-+ /* Convert symlink name to CP format. */
-+ result = CPName_ConvertTo(symlink,
-+ HGFS_LARGE_PACKET_MAX - (requestSize - 1),
-+ requestV3->symlinkName.name);
-+ if (result < 0) {
-+ LOG(4, ("SymlinkName CP conversion failed.\n"));
-+ return -EINVAL;
-+ }
-+ requestV3->symlinkName.length = result;
-+ requestSize += result;
-+
-+ /* Copy target name into request packet. */
-+ if (targetNameBytes > HGFS_LARGE_PACKET_MAX - (requestSize - 1)) {
-+ LOG(4, ("Target name is too long.\n"));
-+ return -EINVAL;
-+ }
-+
-+ fileNameP = (HgfsFileNameV3 *)((char *)&requestV3->symlinkName +
-+ sizeof requestV3->symlinkName + result);
-+ memcpy(fileNameP->name, symname, targetNameBytes);
-+ LOG(6, ("Target name: \"%s\"\n", fileNameP->name));
-+ /* Convert target name to CPName-lite format. */
-+ CPNameLite_ConvertTo(fileNameP->name, targetNameBytes - 1, '/');
-+ fileNameP->length = targetNameBytes - 1;
-+ fileNameP->flags = 0;
-+ fileNameP->fid = HGFS_INVALID_HANDLE;
-+ fileNameP->caseType = HGFS_FILE_NAME_CASE_SENSITIVE;
- break;
- }
- case HGFS_OP_CREATE_SYMLINK: {
-+ int result;
-+ HgfsFileName *fileNameP;
- request = (HgfsRequestSymlinkCreate *)(HGFS_REQ_PAYLOAD(req));
-
-- /* We'll use these later. */
-- symlinkName = request->symlinkName.name;
-- symlinkNameLength = &request->symlinkName.length;
- requestSize = sizeof *request;
-+ /* Convert symlink name to CP format. */
-+ result = CPName_ConvertTo(symlink,
-+ HGFS_LARGE_PACKET_MAX - (requestSize - 1),
-+ request->symlinkName.name);
-+ if (result < 0) {
-+ LOG(4, ("SymlinkName CP conversion failed.\n"));
-+ return -EINVAL;
-+ }
-+ request->symlinkName.length = result;
-+ requestSize += result;
-+
-+ /* Copy target name into request packet. */
-+ if (targetNameBytes > HGFS_LARGE_PACKET_MAX - (requestSize - 1)) {
-+ LOG(4, ("Target name is too long.\n"));
-+ return -EINVAL;
-+ }
-+
-+ fileNameP = (HgfsFileName *)((char *)&request->symlinkName +
-+ sizeof request->symlinkName + result);
-+ memcpy(fileNameP->name, symname, targetNameBytes);
-+ LOG(6, ("Target name: \"%s\"\n", fileNameP->name));
-+ /* Convert target name to CPName-lite format. */
-+ CPNameLite_ConvertTo(fileNameP->name, targetNameBytes - 1, '/');
-+ fileNameP->length = targetNameBytes - 1;
- break;
- }
- default:
-@@ -88,59 +133,13 @@ HgfsPackSymlinkCreateRequest(const char* symlink, // IN: path of the link
- return -EPROTO;
- }
-
--
-- /* Convert symlink name to CP format. */
-- result = CPName_ConvertTo(symlink,
-- HGFS_LARGE_PACKET_MAX - (requestSize - 1),
-- symlinkName);
-- if (result < 0) {
-- LOG(4, ("SymlinkName CP conversion failed.\n"));
-- return -EINVAL;
-- }
--
-- *symlinkNameLength = result;
-- req->payloadSize = requestSize + result;
-+ req->payloadSize = requestSize;
-
- /*
-- * Note the different buffer length. This is because HgfsRequestSymlink
-- * contains two filenames, and once we place the first into the packet we
-- * must account for it when determining the amount of buffer available for
-- * the second.
-- *
-- * Also note that targetNameBytes accounts for the NUL character. Once
-- * we've converted it to CP name, it won't be NUL-terminated and the length
-- * of the string in the packet itself won't account for it.
-+ * targetNameBytes accounts for the NUL character. Once we've converted
-+ * it to CP name, it won't be NUL-terminated and the length of the string
-+ * in the packet itself won't account for it.
- */
-- if (opUsed == HGFS_OP_CREATE_SYMLINK_V3) {
-- HgfsFileNameV3 *fileNameP;
-- fileNameP = (HgfsFileNameV3 *)((char *)&requestV3->symlinkName +
-- sizeof requestV3->symlinkName + result);
-- targetName = fileNameP->name;
-- targetNameLength = &fileNameP->length;
-- fileNameP->flags = 0;
-- fileNameP->fid = HGFS_INVALID_HANDLE;
-- fileNameP->caseType = HGFS_FILE_NAME_CASE_SENSITIVE;
-- } else {
-- HgfsFileName *fileNameP;
-- fileNameP = (HgfsFileName *)((char *)&request->symlinkName +
-- sizeof request->symlinkName + result);
-- targetName = fileNameP->name;
-- targetNameLength = &fileNameP->length;
-- }
-- targetNameBytes = strlen(symname) + 1;
--
-- /* Copy target name into request packet. */
-- if (targetNameBytes > HGFS_LARGE_PACKET_MAX - (requestSize - 1)) {
-- LOG(4, ("Target name is too long.\n"));
-- return -EINVAL;
-- }
-- memcpy(targetName, symname, targetNameBytes);
-- LOG(6, ("Target name: \"%s\"\n", targetName));
--
-- /* Convert target name to CPName-lite format. */
-- CPNameLite_ConvertTo(targetName, targetNameBytes - 1, '/');
--
-- *targetNameLength = targetNameBytes - 1;
- req->payloadSize += targetNameBytes - 1;
-
- /* Fill in header here as payloadSize needs to be there. */
diff --git a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.3.5.bb b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools_11.0.1.bb
index 63a64fc71..e43a39b61 100644
--- a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.3.5.bb
+++ b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools_11.0.1.bb
@@ -38,10 +38,9 @@ SRC_URI = "git://github.com/vmware/open-vm-tools.git;protocol=https \
file://0011-Use-uintmax_t-for-handling-rlim_t.patch;patchdir=.. \
file://0012-Use-off64_t-instead-of-__off64_t.patch;patchdir=.. \
file://0013-misc-Do-not-print-NULL-string-into-logs.patch;patchdir=.. \
- file://0014-Fix-new-warnings-from-gcc9.patch;patchdir=.. \
+ file://0001-GitHub-Issue-367.-Remove-references-to-deprecated-G_.patch;patchdir=.. \
"
-# stable-10.3.5
-SRCREV = "f2ff192717375b95a6b7e278fb47dbb3d3bc56d1"
+SRCREV = "d3edfd142a81096f9f58aff17d84219b457f4987"
S = "${WORKDIR}/git/open-vm-tools"
@@ -56,7 +55,7 @@ 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 \
+ --disable-vgauth --disable-deploypkg \
--without-root-privileges --without-kernel-modules"
NO_X11_FLAGS = "--without-x --without-gtk2 --without-gtk3"
diff --git a/meta-openembedded/meta-oe/recipes-test/testfloat/testfloat_3a.bb b/meta-openembedded/meta-oe/recipes-test/testfloat/testfloat_3a.bb
index 28e967762..ace376ef2 100644
--- a/meta-openembedded/meta-oe/recipes-test/testfloat/testfloat_3a.bb
+++ b/meta-openembedded/meta-oe/recipes-test/testfloat/testfloat_3a.bb
@@ -4,7 +4,7 @@ DESCRIPTION = "Berkeley TestFloat is a small collection of programs for \
HOMEPAGE = "http://www.jhauser.us/arithmetic/TestFloat.html"
-LICENSE = "BSD"
+LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://TestFloat-${PV}/COPYING.txt;md5=e45c175a323b5727777fb6bd4b26eafc"
SRC_URI = "\