diff --git a/meta-openembedded/meta-networking/recipes-connectivity/nanomsg/nanomsg_1.1.5.bb b/meta-openembedded/meta-networking/recipes-connectivity/nanomsg/nanomsg_1.2.bb
similarity index 94%
rename from meta-openembedded/meta-networking/recipes-connectivity/nanomsg/nanomsg_1.1.5.bb
rename to meta-openembedded/meta-networking/recipes-connectivity/nanomsg/nanomsg_1.2.bb
index 005ad72..fdb7811 100644
--- a/meta-openembedded/meta-networking/recipes-connectivity/nanomsg/nanomsg_1.1.5.bb
+++ b/meta-openembedded/meta-networking/recipes-connectivity/nanomsg/nanomsg_1.2.bb
@@ -10,7 +10,7 @@
 SECTION = "libs/networking"
 
 SRC_URI = "git://github.com/nanomsg/nanomsg.git;protocol=https;branch=master"
-SRCREV = "1749fd7b039165a91b8d556b4df18e3e632ad830"
+SRCREV = "a081f1720f576d3e72ddce14e159ba90384e5b92"
 
 S = "${WORKDIR}/git"
 
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/openthread/ot-br-posix/0001-cmake-Disable-nonnull-compare-warning-on-gcc.patch b/meta-openembedded/meta-networking/recipes-connectivity/openthread/ot-br-posix/0001-cmake-Disable-nonnull-compare-warning-on-gcc.patch
new file mode 100644
index 0000000..f0bb392
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-connectivity/openthread/ot-br-posix/0001-cmake-Disable-nonnull-compare-warning-on-gcc.patch
@@ -0,0 +1,40 @@
+From aa706d714294b83db696de2beca9a722a512796f Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 19 Apr 2022 14:04:40 -0700
+Subject: [PATCH] cmake: Disable nonnull-compare warning on gcc
+
+GCC finds a legit warning which clang does not on code like this
+
+class Message;
+void SendResponse(Message & aMessage)
+{
+    if ((&aMessage) != nullptr) { return; }
+}
+
+Perhaps it should be fixed upstream but for now disable treating this
+warning as error when using gcc
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ CMakeLists.txt | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 59a567e729..3134740ff6 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -57,6 +57,10 @@ endif()
+ 
+ set(CMAKE_CXX_EXTENSIONS OFF)
+ 
++if (CMAKE_CXX_COMPILER_ID MATCHES "GNU")
++	add_compile_options(-Wno-error=nonnull-compare)
++endif()
++
+ if (OTBR_COVERAGE AND CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang")
+     message(STATUS "Coverage: ON")
+     target_compile_options(otbr-config INTERFACE -g -O0 --coverage)
+-- 
+2.36.0
+
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/openthread/ot-br-posix/Turn-off-sign-compare-for-musl-libc.patch b/meta-openembedded/meta-networking/recipes-connectivity/openthread/ot-br-posix/Turn-off-sign-compare-for-musl-libc.patch
deleted file mode 100644
index df84550..0000000
--- a/meta-openembedded/meta-networking/recipes-connectivity/openthread/ot-br-posix/Turn-off-sign-compare-for-musl-libc.patch
+++ /dev/null
@@ -1,131 +0,0 @@
-From: Stefan Schmidt <stefan.schmidt@huawei.com>
-Subject: Turn off sign compare for musl libc
-
-When building with musl and clang the usage of CMSG_NXTHDR results in
-sign-compare error. Disable the check only in this specific part of the
-code with a #pragma.
-
-| /home/stefan/huawei/yocto-upstream/yoe/workspace/sources/ot-br-posix/third_party/openthread/repo/src/posix/platform/udp.cpp:147:28: fatal error: comparison of integers of different signs: 'unsigned long' and 'long' [-Wsign-compare]
-|         cmsg             = CMSG_NXTHDR(&msg, cmsg);
-|                            ^~~~~~~~~~~~~~~~~~~~~~~
-| /home/stefan/huawei/yocto-upstream/yoe/build/tmp/work/cortexa57-yoe-linux-musl/ot-br-posix/0.3.0+git999-r0/recipe-sysroot/usr/include/sys/socket.h:358:44: note: expanded from macro 'CMSG_NXTHDR'
-|         __CMSG_LEN(cmsg) + sizeof(struct cmsghdr) >= __MHDR_END(mhdr) - (unsigned char *)(cmsg) \
-|         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-| 1 error generated.
-
-Idea and fix taken from
-recipes-devtools/breakpad/breakpad/0001-Turn-off-sign-compare-for-musl-libc.patch
-by Khem Raj.
-
-Upstream-Status: Inappropriate [OE specific]
-
-Signed-off-by: Stefan Schmidt <stefan.schmidt@huawei.com>
-
-diff --git a/src/backbone_router/nd_proxy.cpp b/src/backbone_router/nd_proxy.cpp
-index 7136878c3d..8a223c95c7 100644
---- a/src/backbone_router/nd_proxy.cpp
-+++ b/src/backbone_router/nd_proxy.cpp
-@@ -185,9 +185,18 @@ void NdProxyManager::ProcessMulticastNeighborSolicition()
-         VerifyOrExit(icmp6header->icmp6_type == ND_NEIGHBOR_SOLICIT, error = OTBR_ERROR_PARSE);
- 
-         otbrLogDebug("NdProxyManager: Received ND-NS from %s", src.ToString().c_str());
--
-+#ifndef __GLIBC__
-+  // In musl-libc, CMSG_NXTHDR typecasts char* to cmsghdr* which causes
-+  // clang to throw sign-compare warning. This is to suppress the warning
-+  // inline.
-+  #pragma clang diagnostic push
-+  #pragma clang diagnostic ignored "-Wsign-compare"
-+#endif
-         for (cmsghdr = CMSG_FIRSTHDR(&msghdr); cmsghdr; cmsghdr = CMSG_NXTHDR(&msghdr, cmsghdr))
--        {
-+#ifndef __GLIBC__
-+  #pragma clang diagnostic pop
-+#endif
-+	{
-             if (cmsghdr->cmsg_level != IPPROTO_IPV6)
-             {
-                 continue;
-Submodule third_party/openthread/repo contains modified content
-diff --git a/third_party/openthread/repo/src/posix/platform/infra_if.cpp b/third_party/openthread/repo/src/posix/platform/infra_if.cpp
-index 9f93d2b1c..1ed40fe50 100644
---- a/third_party/openthread/repo/src/posix/platform/infra_if.cpp
-+++ b/third_party/openthread/repo/src/posix/platform/infra_if.cpp
-@@ -228,7 +228,17 @@ otError InfraNetif::SendIcmp6Nd(uint32_t            aInfraIfIndex,
-     packetInfo->ipi6_ifindex = mInfraIfIndex;
- 
-     // Per section 6.1.2 of RFC 4861, we need to send the ICMPv6 message with IP Hop Limit 255.
-+#ifndef __GLIBC__
-+  // In musl-libc, CMSG_NXTHDR typecasts char* to cmsghdr* which causes
-+  // clang to throw sign-compare warning. This is to suppress the warning
-+  // inline.
-+  #pragma clang diagnostic push
-+  #pragma clang diagnostic ignored "-Wsign-compare"
-+#endif
-     cmsgPointer             = CMSG_NXTHDR(&msgHeader, cmsgPointer);
-+#ifndef __GLIBC__
-+  #pragma clang diagnostic pop
-+#endif
-     cmsgPointer->cmsg_level = IPPROTO_IPV6;
-     cmsgPointer->cmsg_type  = IPV6_HOPLIMIT;
-     cmsgPointer->cmsg_len   = CMSG_LEN(sizeof(hopLimit));
-@@ -481,7 +491,17 @@ void InfraNetif::ReceiveIcmp6Message(void)
- 
-     bufferLength = static_cast<uint16_t>(rval);
- 
-+#ifndef __GLIBC__
-+  // In musl-libc, CMSG_NXTHDR typecasts char* to cmsghdr* which causes
-+  // clang to throw sign-compare warning. This is to suppress the warning
-+  // inline.
-+  #pragma clang diagnostic push
-+  #pragma clang diagnostic ignored "-Wsign-compare"
-+#endif
-     for (cmh = CMSG_FIRSTHDR(&msg); cmh; cmh = CMSG_NXTHDR(&msg, cmh))
-+#ifndef __GLIBC__
-+  #pragma clang diagnostic pop
-+#endif
-     {
-         if (cmh->cmsg_level == IPPROTO_IPV6 && cmh->cmsg_type == IPV6_PKTINFO &&
-             cmh->cmsg_len == CMSG_LEN(sizeof(struct in6_pktinfo)))
-diff --git a/third_party/openthread/repo/src/posix/platform/udp.cpp b/third_party/openthread/repo/src/posix/platform/udp.cpp
-index b7aacc5fa..a814fea70 100644
---- a/third_party/openthread/repo/src/posix/platform/udp.cpp
-+++ b/third_party/openthread/repo/src/posix/platform/udp.cpp
-@@ -144,8 +144,18 @@ otError transmitPacket(int aFd, uint8_t *aPayload, uint16_t aLength, const otMes
-     {
-         struct in6_pktinfo pktinfo;
- 
-+#ifndef __GLIBC__
-+  // In musl-libc, CMSG_NXTHDR typecasts char* to cmsghdr* which causes
-+  // clang to throw sign-compare warning. This is to suppress the warning
-+  // inline.
-+  #pragma clang diagnostic push
-+  #pragma clang diagnostic ignored "-Wsign-compare"
-+#endif
-         cmsg             = CMSG_NXTHDR(&msg, cmsg);
--        cmsg->cmsg_level = IPPROTO_IPV6;
-+#ifndef __GLIBC__
-+  #pragma clang diagnostic pop
-+#endif
-+	cmsg->cmsg_level = IPPROTO_IPV6;
-         cmsg->cmsg_type  = IPV6_PKTINFO;
-         cmsg->cmsg_len   = CMSG_LEN(sizeof(pktinfo));
- 
-@@ -200,7 +210,17 @@ otError receivePacket(int aFd, uint8_t *aPayload, uint16_t &aLength, otMessageIn
-     VerifyOrExit(rval > 0, perror("recvmsg"));
-     aLength = static_cast<uint16_t>(rval);
- 
-+#ifndef __GLIBC__
-+  // In musl-libc, CMSG_NXTHDR typecasts char* to cmsghdr* which causes
-+  // clang to throw sign-compare warning. This is to suppress the warning
-+  // inline.
-+  #pragma clang diagnostic push
-+  #pragma clang diagnostic ignored "-Wsign-compare"
-+#endif
-     for (struct cmsghdr *cmsg = CMSG_FIRSTHDR(&msg); cmsg != nullptr; cmsg = CMSG_NXTHDR(&msg, cmsg))
-+#ifndef __GLIBC__
-+  #pragma clang diagnostic pop
-+#endif
-     {
-         if (cmsg->cmsg_level == IPPROTO_IPV6)
-         {
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/openthread/ot-br-posix_git.bb b/meta-openembedded/meta-networking/recipes-connectivity/openthread/ot-br-posix_git.bb
index d9f558d..a16b778 100644
--- a/meta-openembedded/meta-networking/recipes-connectivity/openthread/ot-br-posix_git.bb
+++ b/meta-openembedded/meta-networking/recipes-connectivity/openthread/ot-br-posix_git.bb
@@ -16,7 +16,7 @@
 
 SRC_URI = "gitsm://github.com/openthread/ot-br-posix.git;protocol=https;branch=main \
            file://0001-otbr-agent.service.in-remove-pre-exec-hook-for-mdns-.patch \
-           file://Turn-off-sign-compare-for-musl-libc.patch \
+           file://0001-cmake-Disable-nonnull-compare-warning-on-gcc.patch \
            "
 
 S = "${WORKDIR}/git"
@@ -24,6 +24,8 @@
 
 inherit pkgconfig cmake systemd
 
+CXXFLAGS:append:libc-musl:toolchain-clang = " -Wno-error=sign-compare"
+
 EXTRA_OECMAKE = "-DBUILD_TESTING=OFF \
                  -DOTBR_DBUS=ON \
                  -DOTBR_REST=ON \
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/openthread/wpantund_git.bb b/meta-openembedded/meta-networking/recipes-connectivity/openthread/wpantund_git.bb
index bb444d0..a7fcc20 100644
--- a/meta-openembedded/meta-networking/recipes-connectivity/openthread/wpantund_git.bb
+++ b/meta-openembedded/meta-networking/recipes-connectivity/openthread/wpantund_git.bb
@@ -11,7 +11,7 @@
                     file://third_party/openthread/LICENSE;md5=543b6fe90ec5901a683320a36390c65f \
                     file://third_party/pt/LICENSE;md5=dcd598b69cad786beea33da7b1ae14b7 \
                     "
-DEPENDS = "autoconf-archive dbus readline"
+DEPENDS = "autoconf-archive dbus readline boost"
 SRCREV = "0fb1f57e4224e2df3e630e146702bfcf63fbf07a"
 PV = "0.07.01+git${SRCPV}"
 
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/samba/samba_4.14.12.bb b/meta-openembedded/meta-networking/recipes-connectivity/samba/samba_4.14.13.bb
similarity index 98%
rename from meta-openembedded/meta-networking/recipes-connectivity/samba/samba_4.14.12.bb
rename to meta-openembedded/meta-networking/recipes-connectivity/samba/samba_4.14.13.bb
index 3da397f..49e93fc 100644
--- a/meta-openembedded/meta-networking/recipes-connectivity/samba/samba_4.14.12.bb
+++ b/meta-openembedded/meta-networking/recipes-connectivity/samba/samba_4.14.13.bb
@@ -31,7 +31,7 @@
            file://samba-fix-musl-lib-without-innetgr.patch \
            "
 
-SRC_URI[sha256sum] = "155d9c2dfb06a18104422987590858bfe5e9783ebebe63882e7e7f07eaaa512d"
+SRC_URI[sha256sum] = "e1df792818a17d8d21faf33580d32939214694c92b84fb499464210d86a7ff75"
 
 UPSTREAM_CHECK_REGEX = "samba\-(?P<pver>4\.14(\.\d+)+).tar.gz"
 
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/ufw/ufw_0.36.1.bb b/meta-openembedded/meta-networking/recipes-connectivity/ufw/ufw_0.36.1.bb
index 70216a8..6dca784 100644
--- a/meta-openembedded/meta-networking/recipes-connectivity/ufw/ufw_0.36.1.bb
+++ b/meta-openembedded/meta-networking/recipes-connectivity/ufw/ufw_0.36.1.bb
@@ -38,6 +38,13 @@
                      kernel-module-nf-recent \
 "
 
+
+do_configure:prepend() {
+    if ${@bb.utils.contains('DISTRO_FEATURES','usrmerge','true','false',d)}; then
+        sed -i -e 's|/lib|${nonarch_base_libdir}|' ${S}/setup.py
+    fi
+}
+
 do_install:append() {
     install -d ${D}${systemd_unitdir}/system/
     install -m 0644 ${S}/doc/systemd.example ${D}${systemd_unitdir}/system/ufw.service
