diff --git a/meta-openembedded/meta-oe/recipes-devtools/guider/guider_3.9.6.bb b/meta-openembedded/meta-oe/recipes-devtools/guider/guider_3.9.6.bb
deleted file mode 100644
index f059002..0000000
--- a/meta-openembedded/meta-oe/recipes-devtools/guider/guider_3.9.6.bb
+++ /dev/null
@@ -1,39 +0,0 @@
-SUMMARY = "runtime performance analyzer"
-HOMEPAGE = "https://github.com/iipeace/guider"
-BUGTRACKER = "https://github.com/iipeace/guider/issues"
-AUTHOR = "Peace Lee <ipeace5@gmail.com>"
-
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=2c1c00f9d3ed9e24fa69b932b7e7aff2"
-
-PV = "3.9.6+git${SRCPV}"
-PR = "r0"
-
-SRC_URI = "git://github.com/iipeace/${BPN}"
-#SRCREV = "${AUTOREV}"
-SRCREV = "fef25c41efb9bde0614ea477d0b90bd9565ae0b4"
-
-S = "${WORKDIR}/git"
-R = "${RECIPE_SYSROOT}"
-
-inherit ${@bb.utils.contains("BBFILE_COLLECTIONS", "meta-python2", "distutils", "", d)}
-
-GUIDER_OBJ = "guider.pyc"
-GUIDER_SCRIPT = "guider"
-
-do_install() {
-    python ${S}/setup.py install
-
-    install -d ${D}${bindir}
-    install -v -m 0755 ${STAGING_BINDIR_NATIVE}/${GUIDER_SCRIPT} ${D}${bindir}/${GUIDER_SCRIPT}
-
-    install -d ${D}${datadir}/${BPN}
-    install -v -m 0755 ${STAGING_LIBDIR_NATIVE}/python${PYTHON_BASEVERSION}/site-packages/${BPN}/${GUIDER_OBJ} ${D}${datadir}/${BPN}/${GUIDER_OBJ}
-}
-
-RDEPENDS_${PN} = "python-ctypes python-shell \
-                  python-json python-subprocess"
-python() {
-    if 'meta-python2' not in d.getVar('BBFILE_COLLECTIONS').split():
-        raise bb.parse.SkipRecipe('Requires meta-python2 to be present.')
-}
diff --git a/meta-openembedded/meta-oe/recipes-devtools/guider/guider_3.9.7.bb b/meta-openembedded/meta-oe/recipes-devtools/guider/guider_3.9.7.bb
new file mode 100644
index 0000000..2b799fd
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/guider/guider_3.9.7.bb
@@ -0,0 +1,19 @@
+SUMMARY = "runtime performance analyzer"
+HOMEPAGE = "https://github.com/iipeace/guider"
+BUGTRACKER = "https://github.com/iipeace/guider/issues"
+AUTHOR = "Peace Lee <ipeace5@gmail.com>"
+
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=2c1c00f9d3ed9e24fa69b932b7e7aff2"
+
+PV = "3.9.7+git${SRCPV}"
+
+SRC_URI = "git://github.com/iipeace/${BPN}"
+SRCREV = "c87269d6d4669d12c99a2a7b9b07c39a5dd24ac6"
+
+S = "${WORKDIR}/git"
+
+inherit setuptools3
+
+RDEPENDS_${PN} = "python3 python3-core \
+        python3-ctypes python3-shell python3-json"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/jsoncpp/jsoncpp_1.9.2.bb b/meta-openembedded/meta-oe/recipes-devtools/jsoncpp/jsoncpp_1.9.3.bb
similarity index 93%
rename from meta-openembedded/meta-oe/recipes-devtools/jsoncpp/jsoncpp_1.9.2.bb
rename to meta-openembedded/meta-oe/recipes-devtools/jsoncpp/jsoncpp_1.9.3.bb
index a88410f..97c6361 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/jsoncpp/jsoncpp_1.9.2.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/jsoncpp/jsoncpp_1.9.3.bb
@@ -11,7 +11,7 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=fa2a23dd1dc6c139f35105379d76df2b"
 
-SRCREV = "d2e6a971f4544c55b8e3b25cf96db266971b778f"
+SRCREV = "6aba23f4a8628d599a9ef7fa4811c4ff6e4070e2"
 SRC_URI = "git://github.com/open-source-parsers/jsoncpp"
 
 S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/mercurial/mercurial_5.2.bb b/meta-openembedded/meta-oe/recipes-devtools/mercurial/mercurial_5.4.bb
similarity index 87%
rename from meta-openembedded/meta-oe/recipes-devtools/mercurial/mercurial_5.2.bb
rename to meta-openembedded/meta-oe/recipes-devtools/mercurial/mercurial_5.4.bb
index 6dedb02..fa3c734 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/mercurial/mercurial_5.2.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/mercurial/mercurial_5.4.bb
@@ -10,8 +10,8 @@
 inherit python3native
 
 SRC_URI = "https://www.mercurial-scm.org/release/${BP}.tar.gz"
-SRC_URI[md5sum] = "9ba9d59157c002db8d8cab680de08eb5"
-SRC_URI[sha256sum] = "ff030e923f03ee15c91191996fcb099bfcfa60c7df263be227f67b6a65d36194"
+SRC_URI[md5sum] = "0859029d0bb54bcf7c583c55680573cb"
+SRC_URI[sha256sum] = "1df8d1978aefcbb65dc51e3666a452583f47aeaf3c5682e4c00a3b23cd805d6a"
 
 S = "${WORKDIR}/mercurial-${PV}"
 
diff --git a/meta-openembedded/meta-oe/recipes-devtools/msgpack/msgpack-c_3.2.1.bb b/meta-openembedded/meta-oe/recipes-devtools/msgpack/msgpack-c_3.2.1.bb
index d410dc6..5224f32 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/msgpack/msgpack-c_3.2.1.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/msgpack/msgpack-c_3.2.1.bb
@@ -17,3 +17,5 @@
 S = "${WORKDIR}/git"
 
 inherit cmake pkgconfig
+
+BBCLASSEXTEND += "native nativesdk"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/serialcheck/serialcheck/0001-Add-option-to-enable-internal-loopback.patch b/meta-openembedded/meta-oe/recipes-devtools/serialcheck/serialcheck/0001-Add-option-to-enable-internal-loopback.patch
deleted file mode 100644
index f69254a..0000000
--- a/meta-openembedded/meta-oe/recipes-devtools/serialcheck/serialcheck/0001-Add-option-to-enable-internal-loopback.patch
+++ /dev/null
@@ -1,81 +0,0 @@
-From 059d5512e840fe68e2bb37add6c9208fa9c34d15 Mon Sep 17 00:00:00 2001
-From: Sekhar Nori <nsekhar@ti.com>
-Date: Tue, 24 Feb 2015 22:16:37 +0530
-Subject: [PATCH 1/2] Add option to enable internal loopback
-
-Upstream-status: Pending
----
- serialcheck.c | 23 +++++++++++++++++++++++
- 1 file changed, 23 insertions(+)
-
-diff --git a/serialcheck.c b/serialcheck.c
-index 4f5b747..4100c37 100644
---- a/serialcheck.c
-+++ b/serialcheck.c
-@@ -12,6 +12,8 @@
- #include <sys/ioctl.h>
- #include <linux/serial.h>
-
-+#define TIOCM_LOOP	0x8000
-+
- #define __same_type(a, b)	__builtin_types_compatible_p(typeof(a), typeof(b))
- #define BUILD_BUG_ON_ZERO(e)	(sizeof(struct { int:-!!(e); }))
- #define __must_be_array(a)	BUILD_BUG_ON_ZERO(__same_type((a), &(a)[0]))
-@@ -40,6 +42,7 @@ struct g_opt {
-	unsigned char hflow;
-	unsigned char do_termios;
-	unsigned char *cmp_buff;
-+	unsigned char loopback;
- };
-
- /* name, key, arg, flags, doc, group */
-@@ -51,6 +54,7 @@ static struct argp_option options[] = {
-	{"mode",	'm', "M",    0, "transfer mode (d = duplex, t = send r = receive)", 0},
-	{"loops",	'l', "NUM",  0, "loops to perform (0 => wait fot CTRL-C", 0},
-	{"no-termios",	'n', NULL,   0, "No termios change (baud rate etc. remains unchanged)", 0},
-+	{"loopback",	'k', NULL,   0, "loopback mode", 0},
-	{NULL, 0, NULL, 0, NULL, 0}
- };
-
-@@ -67,6 +71,7 @@ static error_t parse_opt(int key, char *arg, struct argp_state *state)
-		go->baudrate = 115200;
-		go->loops = UINT_MAX;
-		go->do_termios = 1;
-+		go->loopback = 0;
-		break;
-	case ARGP_KEY_ARG:
-		ret =  ARGP_ERR_UNKNOWN;
-@@ -113,6 +118,9 @@ static error_t parse_opt(int key, char *arg, struct argp_state *state)
-		} else
-			go->loops = num;
-		break;
-+	case 'k':
-+		go->loopback = 1;
-+		break;
-	default:
-		ret = ARGP_ERR_UNKNOWN;
-	}
-@@ -487,6 +495,21 @@ int main(int argc, char *argv[])
-			die("tcflush failed: %m\n");
-	}
-
-+	if (opts.loopback) {
-+		unsigned int mcr;
-+
-+		ret = ioctl(fd, TIOCMGET, &mcr);
-+		if (ret < 0)
-+			die("mcr get failed: %m\n");
-+
-+		mcr |= TIOCM_LOOP;
-+
-+		ret = ioctl(fd, TIOCMSET, &mcr);
-+		if (ret < 0)
-+			die ("mcr set failed: %m\n");
-+
-+	}
-+
-	ret = fcntl(fd, F_SETFL, 0);
-	if (ret)
-		printf("Failed to remove nonblock mode\n");
---
-1.9.1
diff --git a/meta-openembedded/meta-oe/recipes-devtools/serialcheck/serialcheck/0001-Makefile-Change-order-of-link-flags.patch b/meta-openembedded/meta-oe/recipes-devtools/serialcheck/serialcheck/0001-Makefile-Change-order-of-link-flags.patch
deleted file mode 100644
index 2ab4834..0000000
--- a/meta-openembedded/meta-oe/recipes-devtools/serialcheck/serialcheck/0001-Makefile-Change-order-of-link-flags.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From efc8a4e717ba919c869c2da1c7de2d08bc976926 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Wed, 24 Feb 2016 18:48:07 +0000
-Subject: [PATCH] Makefile: Change order of link flags
-
-This helps in injectcting LDFLAGS from env to take effect
-as it appears last on cmdline now
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
-Upstream-Status: Pending
-
- Makefile | 10 ++++++++--
- 1 file changed, 8 insertions(+), 2 deletions(-)
-
-diff --git a/Makefile b/Makefile
-index ba2bfbb..6d13e68 100644
---- a/Makefile
-+++ b/Makefile
-@@ -1,3 +1,9 @@
--CFLAGS=-O2 -Wall -Wextra -g -Wno-sign-compare -Wno-pointer-sign
--CC=gcc
-+CFLAGS?=-O2 -Wall -Wextra -g -Wno-sign-compare -Wno-pointer-sign
-+CC?=gcc
- all: serialcheck
-+serialcheck : serialcheck.o
-+	$(CC) -o serialcheck serialcheck.o $(CFLAGS) $(LDFLAGS)
-+
-+%.o : %.c
-+	$(CC) -c $(CFLAGS) $(CPPFLAGS) $< -o $@
-+
--- 
-1.9.1
-
diff --git a/meta-openembedded/meta-oe/recipes-devtools/serialcheck/serialcheck/0002-Restore-original-loopback-config.patch b/meta-openembedded/meta-oe/recipes-devtools/serialcheck/serialcheck/0002-Restore-original-loopback-config.patch
deleted file mode 100644
index 1b8c95b..0000000
--- a/meta-openembedded/meta-oe/recipes-devtools/serialcheck/serialcheck/0002-Restore-original-loopback-config.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-From a6e5813d2f8402bf3a311c8bcda02623bfb76882 Mon Sep 17 00:00:00 2001
-From: Carlos Hernandez <ceh@ti.com>
-Date: Tue, 24 Feb 2015 16:00:34 -0500
-Subject: [PATCH 2/2] Restore original loopback config
-
-If loopback option is enabled, disable it at the end of the test.
-
-Signed-off-by: Carlos Hernandez <ceh@ti.com>
-Upstream-status: Pending
----
- serialcheck.c | 9 +++++++--
- 1 file changed, 7 insertions(+), 2 deletions(-)
-
-diff --git a/serialcheck.c b/serialcheck.c
-index 4100c37..06470f7 100644
---- a/serialcheck.c
-+++ b/serialcheck.c
-@@ -427,6 +427,7 @@ int main(int argc, char *argv[])
-	unsigned char *data;
-	unsigned int open_mode;
-	off_t data_len;
-+	unsigned int mcr;
-
-	argp_parse(&argp, argc, argv, 0, NULL, &opts);
-	if (!opts.file_trans)
-@@ -496,8 +497,6 @@ int main(int argc, char *argv[])
-	}
-
-	if (opts.loopback) {
--		unsigned int mcr;
--
-		ret = ioctl(fd, TIOCMGET, &mcr);
-		if (ret < 0)
-			die("mcr get failed: %m\n");
-@@ -535,6 +534,12 @@ int main(int argc, char *argv[])
-	ret = tcsetattr(fd, TCSAFLUSH, &old_term);
-	if (ret)
-		printf("tcsetattr() of old ones failed: %m\n");
-+	if (opts.loopback) {
-+		mcr &= ~(TIOCM_LOOP);
-+		ret = ioctl(fd, TIOCMSET, &mcr);
-+	}
-+	if (ret)
-+		printf("disabling loopback failed: %m\n");
-
-	close(fd);
-	return status;
---
-1.9.1
diff --git a/meta-openembedded/meta-oe/recipes-devtools/serialcheck/serialcheck_1.0.0.bb b/meta-openembedded/meta-oe/recipes-devtools/serialcheck/serialcheck_1.0.0.bb
index cd5e0a4..16eaf62 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/serialcheck/serialcheck_1.0.0.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/serialcheck/serialcheck_1.0.0.bb
@@ -1,30 +1,31 @@
 SUMMARY = "Application to verify operation of serial ports"
-HOMEPAGE = "http://git.breakpoint.cc/cgit/bigeasy/serialcheck.git/"
+HOMEPAGE = "https://github.com/nsekhar/serialcheck"
 LICENSE = "GPLv2"
 LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
 
-SRC_URI = "git://git.breakpoint.cc/bigeasy/serialcheck.git \
-           file://0001-Add-option-to-enable-internal-loopback.patch \
-           file://0002-Restore-original-loopback-config.patch \
-           file://0001-Makefile-Change-order-of-link-flags.patch \
-           "
+SRC_URI = " \
+    git://github.com/nsekhar/serialcheck.git \
+"
 
-SRCREV = "63854a2d0c0129efab132ec328a75279e013fb84"
+SRCREV = "45eb2ffa5378396e85432872833890b0a1cba872"
 
 S = "${WORKDIR}/git"
 
-DEPENDS_append_libc-musl = " argp-standalone"
-EXTRA_OEMAKE = "-e MAKEFLAGS="
+inherit autotools
 
-CFLAGS_prepend = "-Wall -Wextra -Wno-sign-compare -Wno-pointer-sign "
-LDFLAGS_append_libc-musl = " -largp"
+DEPENDS_append_libc-musl = " argp-standalone"
+EXTRA_OEMAKE_append_libc-musl = " LIBS='-largp'"
+
+PACKAGE_BEFORE_PN += "${PN}-stats"
 
 do_install() {
     install -d ${D}${bindir}
-    install ${S}/serialcheck ${D}${bindir}
+    install ${B}/serialcheck ${D}${bindir}
+    install ${B}/serialstats ${D}${bindir}
     install -d ${D}${docdir}/${BP}
-    install ${S}/Readme.txt ${D}${docdir}/${BP}
+    install ${S}/README ${D}${docdir}/${BP}
 }
-CLEANBROKEN = "1"
+
+FILES_${PN}-stats = "${bindir}/serialstats"
 
 BBCLASSEXTEND = "nativesdk"
