meta-openembedded: subtree update:fd123c9bb2..7206f7f5bc

Adam Miartus (1):
      cereal: add cereal a header-only c++11 serialization library

Andreas Müller (14):
      xfce4-appfinder: upgrade 4.16.0 -> 4.16.1
      xfce4-whiskermenu-plugin: upgrade 2.5.2 -> 2.5.3
      xfce4-panel: upgrade 4.16.0 -> 4.16.1
      xfce4-notes-plugin: re-add 1.9.0
      gparted: upgrade 1.1.0 -> 1.2.0
      poppler: upgrade 21.01.0 -> 21.02.0
      fluidsynth: upgrade 2.1.6 -> 2.1.7
      mousepad: upgrade 0.5.1 -> 0.5.2
      xfce4-cpugraph-plugin: upgrade 1.2.0 -> 1.2.1
      babl: upgrade 0.1.82 -> 0.1.84
      gegl: upgrade 0.4.26 -> 0.4.28
      gtk+: upgrade 2.24.32 -> 2.24.33
      libsigc++-2.0: upgrade 2.10.3 -> 2.10.6
      gtkmm3: upgrade 3.24.2 -> 3.24.3

Andrei Gherzan (1):
      gateone: Cleanup assets for removed recipe

Andrey Zhizhikin (1):
      iperf3: fix build with autoconf 2.71

Gianfranco (1):
      mosquitto: Upgrade 1.6.12 -> 2.0.7

Harpritkaur Bhandari (1):
      rapidjson: Remove unwanted patches

Hongxu Jia (4):
      lksctp-tools: make conpatible to autoconf-2.70
      spice: make conpatible to autoconf-2.70
      freeradius: fix build failure with autoconf 2.71
      ndpi: fix autoconf-2.71 compatibility

Kai Kang (3):
      meta-oe: add crash to NON_MULTILIB_RECIPES
      lxdm: support to change user password
      lxdm: disallow empty new password

Khem Raj (28):
      libssh2: Fix build with autoconf 2.70+
      yasm: Fix build with autotools 2.70+
      boinc-client: Upgrade to 7.16.16 release
      net-snmp: Remove hardcoded paths to build host in net-snmp-config
      keepalived: Upgrade to 2.2.1
      gst-shark: Upgrade to 0.7.2
      hidapi: Backport patch to fix build with autotools 2.70+
      libsrtp: Update to 2.3.0
      libsrtp: Do not invoke automake during configure
      klibc: Upgrade to 2.0.8 release
      geany,geany-plugins: Upgrade to 1.37.x
      libstatgrab: Fix build with autoconf 2.70+
      libmypaint: Fix build with autotools 2.70+
      geany: Fix build with autotools 2.70+
      ubi-utils-klibc: Fix build with clang
      kexecboot: Fix build with clang
      glm: Upgrade to 0.9.9.8
      gimp: Fix build with autoconf-2.70+
      klibc: Fix x86_64 build with binutils 2.36+
      pavucontrol: Depend on libxml-parser-perl-native
      libsrtp: Copy ar-lib from automake
      libmcrypt: Run autoreconf steps manually
      libsdl2-mixer: Fix build with autoconf 2.70+
      openldap: Fix build with autoconf 2.70+
      transmission: Fix build with autotools 2.70+
      boinc-client: Fix build with autotools 2.70+
      iwd: Fix build with ell 0.37
      kernel-selftest: Disable building bpf

Leon Anavi (29):
      python3-gevent: Upgrade 20.9.0 -> 21.1.2
      python3-prompt-toolkit: Upgrade 3.0.11 -> 3.0.14
      python3-urllib3: Upgrade 1.26.2 -> 1.26.3
      python3-pybind11: Upgrade 2.5.0 -> 2.6.2
      python3-xlrd: Upgrade 1.2.0 -> 2.0.1
      python3-croniter: Upgrade 1.0.2 -> 1.0.4
      python3-cantools: Upgrade 36.1.0 -> 36.2.0
      python3-pyzmq: Upgrade 21.0.2 -> 22.0.2
      python3-aiohttp-jinja2: Upgrade 1.2.0 -> 1.4.2
      python3-prctl: Upgrade 1.7 -> 1.8.1
      python3-cmd2: Upgrade 1.4.0 -> 1.5.0
      python3-elementpath: Upgrade 2.1.2 -> 2.1.3
      python3-croniter: Upgrade 1.0.4 -> 1.0.5
      python3-pychromecast: Upgrade 7.7.2 -> 8.0.0
      python3-alembic: Upgrade 1.5.2 -> 1.5.3
      python3-meh: Upgrade 0.49 -> 0.50
      python3-pywbem: Upgrade 1.1.0 -> 1.1.3
      python3-ipython: Upgrade 7.19.0 -> 7.20.0
      python3-croniter: Upgrade 1.0.5 -> 1.0.6
      python3-pywbemtools: Upgrade 0.8.0 -> 0.8.1
      python3-sqlalchemy: Upgrade 1.3.22 -> 1.3.23
      python3-flask-migrate: Upgrade 2.5.3 -> 2.6.0
      python3-javaobj-py3: Upgrade 0.4.1 -> 0.4.2
      python3-pytest-html: Upgrade 2.1.1 -> 3.1.1
      python3-graphviz: Upgrade 0.14.2 -> 0.16
      python3-tqdm: Upgrade 4.51.0 -> 4.56.0
      python3-alembic: Upgrade 1.5.3 -> 1.5.4
      python3-pymongo: Upgrade 3.11.2 -> 3.11.3
      python3-pymisp: Upgrade 2.4.137.1 -> 2.4.137.3

Martin Jansa (6):
      zbar: fix random do_prepare_recipe_sysroot_gettext failures
      zbar: use 4 spaces for indentation
      net-snmp: fix build with dash
      wireguard-module: remove PKG assignment
      graphviz: drop unused SRCREV and outdated comment
      pidgin: upgrade to 2.14.1 and fix autoconf-2.71 compatibility

Mingli Yu (5):
      net-snmp: improve reproducibility
      python3-h5py: improve reproducibility
      opencv: improve reproducibility
      mozjs: improve reproducibility
      netsnmp: remove --with-openssl=PATH configure option

Nicolas Jeker (2):
      network-manager-applet: Build without libteam support
      networkmanager: Add PACKAGECONFIG for ovs

Oleksandr Kravchuk (24):
      iwd: update to 1.11
      cpuid: update to 20201006
      libblockdev: update to 2.25
      nano: update to 5.5
      plymouth: update to 0.9.5
      adcli: update to 0.9.0
      cannelloni: update to 1.0.0
      ipset: update to 7.10
      kronosnet: update 1.20
      nghttp2: update to 1.43.0
      atftp: update to 0.7.4
      cereal: update to 1.3.0
      python3-aws-iot-device-sdk-python: update to 1.4.9
      python3-flask-socketio: update to 4.3.1
      python3-greenstalk: update to 2.0.0
      python3-twitter: update to 3.10.0
      fetchmail: udpate to 6.4.16
      wireshark: update to 3.4.3
      iqrencode: update to 4.1.1
      libconfig add UPSTREAM_CHECK_URI
      ceres-solver: update to 2.0.0
      libgit2: update to 1.1.0
      hexedit: update to 1.5
      ttf-abyssinica: update to 2.000

Oleksiy Obitotskyy (1):
      libhugetlbfs: improve reproducibility

Peter Smith (1):
      python3-ruamel-yaml: add support for native and nativesdk

Qi.Chen@windriver.com (1):
      minifi-cpp: set PSEUDO_CONSIDER_PATHS

Ramon Fried (2):
      fluentbit: fix systemd input plugin
      fluentbit: Fix SIGSEGV caused by using flb_free instead of mk_mem_free

Robert P. J. Day (1):
      correct "RRCOMMENDS" typo in ipset recipe

Ross Burton (2):
      python3-ruamel-yaml: add native and nativesdk class extension
      python3-pykwalify: fix RDEPENDS

Sakib Sajal (2):
      libgpiod: add ptest
      xfce4-session: increase ALTERNATIVE_PRIORITY

Wang Mingyu (1):
      dnsmasq: upgrade 2.82 -> 2.84

Yi Fan Yu (1):
      postgresql: bypass autoconf version check

Yi Zhao (1):
      openipmi: upgrade 2.0.30 -> 2.0.31

Zang Ruochen (7):
      libfastjson: upgrade 0.99.8 -> 0.99.9
      libio-pty-perl: upgrade 1.15 -> 1.16
      libjson-perl: upgrade 4.02000 -> 4.03000
      libmbim: upgrade 1.24.4 -> 1.24.6
      sanlock: upgrade 3.8.2 -> 3.8.3
      python3-matplotlib: upgrade 3.3.2 -> 3.3.4
      python3-pytz: upgrade 2020.1 -> 2021.1

akuster (2):
      enca: Fix SRC_URI
      meta-oe/README: add Ubuntu prerequisite information

zangrc (6):
      libtalloc: upgrade 2.3.1 -> 2.3.2
      gensio: upgrade 2.2.0 -> 2.2.3
      zchunk: upgrade 1.1.8 -> 1.1.9
      libnet-ldap-perl: upgrade 0.67 -> 0.68
      librole-tiny-perl: upgrade 2.002003 -> 2.002004
      cpprest: upgrade 2.10.17 -> 2.10.18

zhengruoqin (4):
      open-isns: upgrade 0.99 -> 0.101
      gd: upgrade 2.3.0 -> 2.3.1
      live555: upgrade 20210101 -> 20210129
      python3-periphery: upgrade 2.1.0 -> 2.2.0

Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
Change-Id: I65a2b942fbfbc262976e6417d7481ae3fc82cb17
diff --git a/meta-openembedded/meta-oe/README b/meta-openembedded/meta-oe/README
index 8d787df..98f671d 100644
--- a/meta-openembedded/meta-oe/README
+++ b/meta-openembedded/meta-oe/README
@@ -14,6 +14,9 @@
 
 pacman -S lib32-gcc-libs lib32-glibc
 
+Ubuntu
+sudo apt-get install gcc-multilib
+
 Send pull requests to openembedded-devel@lists.openembedded.org with '[meta-oe]' in the subject'
 
 When sending single patches, please use something like:
diff --git a/meta-openembedded/meta-oe/conf/layer.conf b/meta-openembedded/meta-oe/conf/layer.conf
index 1f60861..3de3015 100644
--- a/meta-openembedded/meta-oe/conf/layer.conf
+++ b/meta-openembedded/meta-oe/conf/layer.conf
@@ -98,3 +98,5 @@
 "
 
 DEFAULT_TEST_SUITES_pn-meta-oe-ptest-image = " ${PTESTTESTSUITE}"
+
+NON_MULTILIB_RECIPES_append = " crash"
diff --git a/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs_60.9.0.bb b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs_60.9.0.bb
index 130ff13..614cdf6 100644
--- a/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs_60.9.0.bb
+++ b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs_60.9.0.bb
@@ -125,6 +125,8 @@
 
 do_install_append() {
        oe_multilib_header mozjs-60/js-config.h
+       sed -e 's@${STAGING_DIR_HOST}@@g' \
+           -i ${D}${bindir}/js60-config
 }
 
 PACKAGES =+ "lib${BPN}"
diff --git a/meta-openembedded/meta-oe/recipes-benchmark/iperf3/iperf3/0001-configure.ac-check-for-CPP-prog.patch b/meta-openembedded/meta-oe/recipes-benchmark/iperf3/iperf3/0001-configure.ac-check-for-CPP-prog.patch
new file mode 100644
index 0000000..739fd20
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-benchmark/iperf3/iperf3/0001-configure.ac-check-for-CPP-prog.patch
@@ -0,0 +1,31 @@
+From cc4499cd4cfcb655fc44c3f3571eee20663dafde Mon Sep 17 00:00:00 2001
+From: Andrey Zhizhikin <andrey.z@gmail.com>
+Date: Wed, 3 Feb 2021 20:44:34 +0000
+Subject: [PATCH] configure.ac: check for CPP prog
+
+Absence of check for CPP_PROG causes following build errors:
+| checking TCP_CONGESTION socket option... ../git/configure: line 14427: CPP: command not found
+| ../git/configure: line 14553: ac_fn_c_try_cpp: command not found
+| ../git/configure: line 14553: ac_fn_c_try_cpp: command not found
+
+Upstream-Status: Pending
+Signed-off-by: Andrey Zhizhikin <andrey.z@gmail.com>
+---
+ configure.ac | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/configure.ac b/configure.ac
+index 939cf0a..f75b398 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -47,6 +47,7 @@ AC_CANONICAL_HOST
+ # Checks for tools: c compiler, ranlib (used for creating static libraries),
+ # symlinks and libtool
+ AC_PROG_CC
++AC_PROG_CPP
+ AC_PROG_RANLIB
+ AC_PROG_LN_S
+ AC_PROG_LIBTOOL
+-- 
+2.17.1
+
diff --git a/meta-openembedded/meta-oe/recipes-benchmark/iperf3/iperf3_3.9.bb b/meta-openembedded/meta-oe/recipes-benchmark/iperf3/iperf3_3.9.bb
index d969555..be75837 100644
--- a/meta-openembedded/meta-oe/recipes-benchmark/iperf3/iperf3_3.9.bb
+++ b/meta-openembedded/meta-oe/recipes-benchmark/iperf3/iperf3_3.9.bb
@@ -13,6 +13,7 @@
 
 SRC_URI = "git://github.com/esnet/iperf.git \
            file://0002-Remove-pg-from-profile_CFLAGS.patch \
+           file://0001-configure.ac-check-for-CPP-prog.patch \
            "
 
 SRCREV = "1f8fb13297f3e3e40169ebcd12e171167e394473"
diff --git a/meta-openembedded/meta-oe/recipes-benchmark/libhugetlbfs/files/0001-tests-makefile-Append-CPPFLAGS-rather-then-override.patch b/meta-openembedded/meta-oe/recipes-benchmark/libhugetlbfs/files/0001-tests-makefile-Append-CPPFLAGS-rather-then-override.patch
new file mode 100644
index 0000000..78a4cb0
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-benchmark/libhugetlbfs/files/0001-tests-makefile-Append-CPPFLAGS-rather-then-override.patch
@@ -0,0 +1,31 @@
+From b6dba773491bbb7b4664dacdd87a12af860f1bd8 Mon Sep 17 00:00:00 2001
+From: Oleksiy Obitotskyy <oobitots@cisco.com>
+Date: Thu, 28 Jan 2021 05:43:33 -0800
+Subject: [PATCH] tests/makefile: Append CPPFLAGS rather then override
+
+CPPFLAGS overrided and we could miss some options needed.
+
+Upstream-Status: Submitted
+Signed-off-by: Oleksiy Obitotskyy <oobitots@cisco.com>
+---
+ tests/Makefile | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/tests/Makefile b/tests/Makefile
+index 0ca3716..d262932 100644
+--- a/tests/Makefile
++++ b/tests/Makefile
+@@ -33,8 +33,8 @@ HELPERS = get_hugetlbfs_path compare_kvers
+ HELPER_LIBS = libheapshrink.so
+ BADTOOLCHAIN = bad-toolchain.sh
+ 
+-CFLAGS = -O2 -Wall -g
+-CPPFLAGS = -I..
++CFLAGS += -O2 -Wall -g
++CPPFLAGS += -I..
+ STATIC_LIBHUGE = -Wl,--whole-archive -lhugetlbfs -Wl,--no-whole-archive
+ STATIC_LDLIBS = -Wl,--no-as-needed -lpthread
+ LDLIBS = $(STATIC_LDLIBS) -ldl -lhugetlbfs_privutils
+-- 
+2.26.2.Cisco
+
diff --git a/meta-openembedded/meta-oe/recipes-benchmark/libhugetlbfs/libhugetlbfs_git.bb b/meta-openembedded/meta-oe/recipes-benchmark/libhugetlbfs/libhugetlbfs_git.bb
index 2f07c93..fa63316 100644
--- a/meta-openembedded/meta-oe/recipes-benchmark/libhugetlbfs/libhugetlbfs_git.bb
+++ b/meta-openembedded/meta-oe/recipes-benchmark/libhugetlbfs/libhugetlbfs_git.bb
@@ -26,6 +26,7 @@
     file://0006-include-limits.h-for-PATH_MAX.patch \
     file://0001-huge_page_setup_helper-use-python3-interpreter.patch \
     file://0001-Revert-ld.hugetlbfs-fix-Ttext-segment-argument-on-AA.patch \
+    file://0001-tests-makefile-Append-CPPFLAGS-rather-then-override.patch \
 "
 
 UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+(\.\d+)+)"
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/gensio/gensio/0001-Modify-parameter-of-function-sctp_gensio_alloc.patch b/meta-openembedded/meta-oe/recipes-connectivity/gensio/gensio/0001-Modify-parameter-of-function-sctp_gensio_alloc.patch
deleted file mode 100644
index 22a4525..0000000
--- a/meta-openembedded/meta-oe/recipes-connectivity/gensio/gensio/0001-Modify-parameter-of-function-sctp_gensio_alloc.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From b94eff3461e4fb99cd761d6858e8ed94cb6c5412 Mon Sep 17 00:00:00 2001
-From: Wang Mingyu <wangmy@cn.fujitsu.com>
-Date: Tue, 8 Dec 2020 11:58:06 +0900
-Subject: [PATCH] 0001-Modify-parameter-of-function-sctp_gensio_alloc.patch
-
-parameter type of declearation is const, definition should also be
-const.
-
-Signed-off-by: Wang Mingyu <wangmy@cn.fujitsu.com>
----
- lib/gensio_sctp.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/lib/gensio_sctp.c b/lib/gensio_sctp.c
-index bd9437f..4278ff8 100644
---- a/lib/gensio_sctp.c
-+++ b/lib/gensio_sctp.c
-@@ -1092,7 +1092,7 @@ str_to_sctp_gensio_accepter(const char *str, const char * const args[],
- #else
- 
- int
--sctp_gensio_alloc(struct gensio_addr *iai, const char * const args[],
-+sctp_gensio_alloc(const struct gensio_addr *iai, const char * const args[],
- 		  struct gensio_os_funcs *o,
- 		  gensio_event cb, void *user_data,
- 		  struct gensio **new_gensio)
--- 
-2.25.1
-
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/gensio/gensio_2.2.0.bb b/meta-openembedded/meta-oe/recipes-connectivity/gensio/gensio_2.2.3.bb
similarity index 79%
rename from meta-openembedded/meta-oe/recipes-connectivity/gensio/gensio_2.2.0.bb
rename to meta-openembedded/meta-oe/recipes-connectivity/gensio/gensio_2.2.3.bb
index 424e176..89d4549 100644
--- a/meta-openembedded/meta-oe/recipes-connectivity/gensio/gensio_2.2.0.bb
+++ b/meta-openembedded/meta-oe/recipes-connectivity/gensio/gensio_2.2.3.bb
@@ -5,10 +5,9 @@
                     file://COPYING;md5=bae3019b4c6dc4138c217864bd04331f \
                     "
 
-SRCREV = "4ec19138aa968dea34e4bc4e022c1ad7ed4c43c0"
+SRCREV = "88fe56696b19ffff3e16be1d46d062e835879740"
 
-SRC_URI = "git://github.com/cminyard/gensio;protocol=https \
-           file://0001-Modify-parameter-of-function-sctp_gensio_alloc.patch"
+SRC_URI = "git://github.com/cminyard/gensio;protocol=https;branch=2.2.x"
 
 S = "${WORKDIR}/git"
 
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/iwd/iwd/0001-crypto-Update-l_pkcs5_pbkdf2-call-after-rename.patch b/meta-openembedded/meta-oe/recipes-connectivity/iwd/iwd/0001-crypto-Update-l_pkcs5_pbkdf2-call-after-rename.patch
new file mode 100644
index 0000000..ab55b48
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-connectivity/iwd/iwd/0001-crypto-Update-l_pkcs5_pbkdf2-call-after-rename.patch
@@ -0,0 +1,31 @@
+From 9389f472bc724abb6c6a8db696efb132215783cc Mon Sep 17 00:00:00 2001
+From: Andrew Zaborowski <andrew.zaborowski@intel.com>
+Date: Thu, 24 Dec 2020 00:22:15 +0100
+Subject: [PATCH] crypto: Update l_pkcs5_pbkdf2 call after rename
+
+---
+Upstream-Status: Backport [https://git.kernel.org/pub/scm/network/wireless/iwd.git/commit/?id=9ef3d51f8724c9b9f9fd4d4fffcc730f4bb1c806]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+ src/crypto.c | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/src/crypto.c b/src/crypto.c
+index f5f8e24d..563f17ce 100644
+--- a/src/crypto.c
++++ b/src/crypto.c
+@@ -552,8 +552,9 @@ int crypto_psk_from_passphrase(const char *passphrase,
+ 	if (ssid_len == 0 || ssid_len > 32)
+ 		return -ERANGE;
+ 
+-	result = l_pkcs5_pbkdf2(L_CHECKSUM_SHA1, passphrase, ssid, ssid_len,
+-				4096, psk, sizeof(psk));
++	result = l_cert_pkcs5_pbkdf2(L_CHECKSUM_SHA1, passphrase,
++					ssid, ssid_len, 4096,
++					psk, sizeof(psk));
+ 	if (!result)
+ 		return -ENOKEY;
+ 
+-- 
+2.30.0
+
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/iwd/iwd_1.10.bb b/meta-openembedded/meta-oe/recipes-connectivity/iwd/iwd_1.11.bb
similarity index 91%
rename from meta-openembedded/meta-oe/recipes-connectivity/iwd/iwd_1.10.bb
rename to meta-openembedded/meta-oe/recipes-connectivity/iwd/iwd_1.11.bb
index b249534..2205b72 100644
--- a/meta-openembedded/meta-oe/recipes-connectivity/iwd/iwd_1.10.bb
+++ b/meta-openembedded/meta-oe/recipes-connectivity/iwd/iwd_1.11.bb
@@ -5,8 +5,10 @@
 
 DEPENDS = "ell"
 
-SRC_URI = "git://git.kernel.org/pub/scm/network/wireless/iwd.git"
-SRCREV = "d8dc5a9bd19c5b98d8692801d3cf4e8af495930a"
+SRC_URI = "git://git.kernel.org/pub/scm/network/wireless/iwd.git \
+           file://0001-crypto-Update-l_pkcs5_pbkdf2-call-after-rename.patch \
+          "
+SRCREV = "355c2df97e1adfdaee4a67c1705bd76202384687"
 S = "${WORKDIR}/git"
 
 inherit autotools manpages pkgconfig python3native systemd
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/libmbim/libmbim_1.24.4.bb b/meta-openembedded/meta-oe/recipes-connectivity/libmbim/libmbim_1.24.6.bb
similarity index 82%
rename from meta-openembedded/meta-oe/recipes-connectivity/libmbim/libmbim_1.24.4.bb
rename to meta-openembedded/meta-oe/recipes-connectivity/libmbim/libmbim_1.24.6.bb
index 148b3ca..6fe6a2e 100644
--- a/meta-openembedded/meta-oe/recipes-connectivity/libmbim/libmbim_1.24.4.bb
+++ b/meta-openembedded/meta-oe/recipes-connectivity/libmbim/libmbim_1.24.6.bb
@@ -13,5 +13,5 @@
 
 SRC_URI = "http://www.freedesktop.org/software/${BPN}/${BPN}-${PV}.tar.xz"
 
-SRC_URI[md5sum] = "4b4b12ab7153d7c999289b5dfc2d25db"
-SRC_URI[sha256sum] = "dd488ee6176243a6adb27a5872897336272ea7bea33a3ad501ba268e5a58b285"
+SRC_URI[md5sum] = "38d228548eae3ee144e19a42b028eab0"
+SRC_URI[sha256sum] = "760465caaa1ccd699c14290e9791da456d5300dd11ebf4c1486151033e875dfd"
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/transmission/transmission_git.bb b/meta-openembedded/meta-oe/recipes-connectivity/transmission/transmission_git.bb
index 297185d..57267a8 100644
--- a/meta-openembedded/meta-oe/recipes-connectivity/transmission/transmission_git.bb
+++ b/meta-openembedded/meta-oe/recipes-connectivity/transmission/transmission_git.bb
@@ -18,7 +18,7 @@
 
 S = "${WORKDIR}/git"
 
-inherit autotools gettext update-rc.d systemd mime-xdg
+inherit autotools-brokensep gettext update-rc.d systemd mime-xdg
 
 PACKAGECONFIG = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'gtk', '', d)} \
                  ${@bb.utils.contains('DISTRO_FEATURES','systemd','systemd','',d)}"
@@ -33,12 +33,16 @@
 
 # Configure aborts with:
 # config.status: error: po/Makefile.in.in was not created by intltoolize.
-B = "${S}"
-do_configure_prepend() {
+do_configure() {
 	sed -i /AM_GLIB_GNU_GETTEXT/d ${S}/configure.ac
 	cd ${S}
 	./update-version-h.sh
 	intltoolize --copy --force --automake
+        aclocal
+        libtoolize --automake --copy --force
+        autoconf
+        automake -a
+        oe_runconf
 }
 
 do_install_append() {
diff --git a/meta-openembedded/meta-oe/recipes-core/libsigc++-2.0/libsigc++-2.0_2.10.3.bb b/meta-openembedded/meta-oe/recipes-core/libsigc++-2.0/libsigc++-2.0_2.10.6.bb
similarity index 74%
rename from meta-openembedded/meta-oe/recipes-core/libsigc++-2.0/libsigc++-2.0_2.10.3.bb
rename to meta-openembedded/meta-oe/recipes-core/libsigc++-2.0/libsigc++-2.0_2.10.6.bb
index e6129e2..f4c5aa3 100644
--- a/meta-openembedded/meta-oe/recipes-core/libsigc++-2.0/libsigc++-2.0_2.10.3.bb
+++ b/meta-openembedded/meta-oe/recipes-core/libsigc++-2.0/libsigc++-2.0_2.10.6.bb
@@ -6,12 +6,11 @@
 DEPENDS = "mm-common"
 
 SRC_URI = "http://ftp.gnome.org/pub/GNOME/sources/libsigc++/2.10/libsigc++-${PV}.tar.xz"
-SRC_URI[md5sum] = "ea68c7afc23a4b89a2dfa78344460785"
-SRC_URI[sha256sum] = "0b68dfc6313c6cc90ac989c6d722a1bf0585ad13846e79746aa87cb265904786"
+SRC_URI[sha256sum] = "dda176dc4681bda9d5a2ac1bc55273bdd381662b7a6d49e918267d13e8774e1b"
 
 S = "${WORKDIR}/libsigc++-${PV}"
 
-inherit autotools
+inherit meson
 
 FILES_${PN}-dev += "${libdir}/sigc++-*/"
 FILES_${PN}-doc += "${datadir}/devhelp"
diff --git a/meta-openembedded/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb b/meta-openembedded/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb
index 94830e2..ba85596 100644
--- a/meta-openembedded/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb
+++ b/meta-openembedded/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb
@@ -961,7 +961,7 @@
 # nlohmann-json exprtk liblightmodbus p8platform gnome-doc-utils-stub
 # glm ttf-mplus xbitmaps ceres-solver cli11 fftw gnulib libeigen ade
 # spdlog span-lite uthash websocketpp catch2 properties-cpp cpp-netlib
-
+# cereal
 # rsyslog conflicts with syslog-ng so its not included here
 
 EXCLUDE_FROM_WORLD = "1"
diff --git a/meta-openembedded/meta-oe/recipes-core/plymouth/plymouth_0.9.4.bb b/meta-openembedded/meta-oe/recipes-core/plymouth/plymouth_0.9.5.bb
similarity index 92%
rename from meta-openembedded/meta-oe/recipes-core/plymouth/plymouth_0.9.4.bb
rename to meta-openembedded/meta-oe/recipes-core/plymouth/plymouth_0.9.5.bb
index 78c1cb4..04106fc 100644
--- a/meta-openembedded/meta-oe/recipes-core/plymouth/plymouth_0.9.4.bb
+++ b/meta-openembedded/meta-oe/recipes-core/plymouth/plymouth_0.9.5.bb
@@ -21,8 +21,7 @@
     file://0001-Make-full-path-to-systemd-tty-ask-password-agent-con.patch \
         "
 
-SRC_URI[md5sum] = "4efa5551d230165981b105e7c6a50aa7"
-SRC_URI[sha256sum] = "4a197a4f1a05785d7453dd829b231352fb2d09171bd86c5ffaafbb2dd6791351"
+SRC_URI[md5sum] = "8a25d23f3ae732af300a56fa33cacff2"
 
 EXTRA_OECONF += " --enable-shared --disable-static --disable-gtk --disable-documentation \
     --with-logo=${LOGO} \
@@ -41,7 +40,7 @@
 
 LOGO ??= "${datadir}/plymouth/bizcom.png"
 
-inherit autotools pkgconfig systemd
+inherit autotools pkgconfig systemd gettext
 
 do_install_append() {
     # Remove /var/run from package as plymouth will populate it on startup
diff --git a/meta-openembedded/meta-oe/recipes-crypto/libmcrypt/libmcrypt_2.5.8.bb b/meta-openembedded/meta-oe/recipes-crypto/libmcrypt/libmcrypt_2.5.8.bb
index 46e694b..0c5fc93 100644
--- a/meta-openembedded/meta-oe/recipes-crypto/libmcrypt/libmcrypt_2.5.8.bb
+++ b/meta-openembedded/meta-oe/recipes-crypto/libmcrypt/libmcrypt_2.5.8.bb
@@ -14,4 +14,15 @@
 
 inherit autotools-brokensep gettext binconfig
 
+do_configure() {
+        install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.guess ${S}
+        install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.sub ${S}
+        aclocal
+        libtoolize --automake --copy --force
+        autoconf
+        autoheader
+        automake -a
+        oe_runconf
+}
+
 CLEANBROKEN = "1"
diff --git a/meta-openembedded/meta-oe/recipes-dbs/postgresql/files/0001-configure.in-bypass-autoconf-2.69-version-check.patch b/meta-openembedded/meta-oe/recipes-dbs/postgresql/files/0001-configure.in-bypass-autoconf-2.69-version-check.patch
new file mode 100644
index 0000000..c54a886
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-dbs/postgresql/files/0001-configure.in-bypass-autoconf-2.69-version-check.patch
@@ -0,0 +1,32 @@
+From 7177d8334a3c28ab0ec5c90e0656f43414929659 Mon Sep 17 00:00:00 2001
+From: Yi Fan Yu <yifan.yu@windriver.com>
+Date: Fri, 5 Feb 2021 17:15:42 -0500
+Subject: [PATCH] configure.in: bypass autoconf 2.69 version check
+
+for upgrade to autoconf 2.71
+
+Upstream-Status: Inappropriate [disable feature]
+
+Signed-off-by: Yi Fan Yu <yifan.yu@windriver.com>
+---
+ configure.in | 4 ----
+ 1 file changed, 4 deletions(-)
+
+diff --git a/configure.in b/configure.in
+index 8d4e9ac..75203c2 100644
+--- a/configure.in
++++ b/configure.in
+@@ -19,10 +19,6 @@ m4_pattern_forbid(^PGAC_)dnl to catch undefined macros
+ 
+ AC_INIT([PostgreSQL], [13.1], [pgsql-bugs@lists.postgresql.org], [], [https://www.postgresql.org/])
+ 
+-m4_if(m4_defn([m4_PACKAGE_VERSION]), [2.69], [], [m4_fatal([Autoconf version 2.69 is required.
+-Untested combinations of 'autoconf' and PostgreSQL versions are not
+-recommended.  You can remove the check from 'configure.in' but it is then
+-your responsibility whether the result works or not.])])
+ AC_COPYRIGHT([Copyright (c) 1996-2020, PostgreSQL Global Development Group])
+ AC_CONFIG_SRCDIR([src/backend/access/common/heaptuple.c])
+ AC_CONFIG_AUX_DIR(config)
+-- 
+2.29.2
+
diff --git a/meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql_13.1.bb b/meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql_13.1.bb
index aeeddc6..f2a29a5 100644
--- a/meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql_13.1.bb
+++ b/meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql_13.1.bb
@@ -6,6 +6,7 @@
    file://not-check-libperl.patch \
    file://0001-Add-support-for-RISC-V.patch \
    file://0001-Improve-reproducibility.patch \
+   file://0001-configure.in-bypass-autoconf-2.69-version-check.patch \
 "
 
 SRC_URI[sha256sum] = "12345c83b89aa29808568977f5200d6da00f88a035517f925293355432ffe61f"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/cereal/cereal/0001-add-license-files-for-components-of-cereal.patch b/meta-openembedded/meta-oe/recipes-devtools/cereal/cereal/0001-add-license-files-for-components-of-cereal.patch
new file mode 100644
index 0000000..0000ab9
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/cereal/cereal/0001-add-license-files-for-components-of-cereal.patch
@@ -0,0 +1,99 @@
+From 481b2aa46b3f54d9bee059d9da68263edece2bb3 Mon Sep 17 00:00:00 2001
+From: Adam Miartus <adam.miartus@softhows.eu>
+Date: Mon, 1 Feb 2021 16:15:01 +0100
+Subject: [PATCH] add license files for components of cereal
+
+Signed-off-by: Adam Miartus <adam.miartus@softhows.eu>
+---
+ include/cereal/external/LICENSE               | 21 ++++++++++++++
+ include/cereal/external/rapidjson/LICENSE     | 13 +++++++++
+ .../external/rapidjson/msinttypes/LICENSE     | 29 +++++++++++++++++++
+ 3 files changed, 63 insertions(+)
+ create mode 100644 include/cereal/external/LICENSE
+ create mode 100644 include/cereal/external/rapidjson/LICENSE
+ create mode 100644 include/cereal/external/rapidjson/msinttypes/LICENSE
+
+diff --git a/include/cereal/external/LICENSE b/include/cereal/external/LICENSE
+new file mode 100644
+index 00000000..66300b68
+--- /dev/null
++++ b/include/cereal/external/LICENSE
+@@ -0,0 +1,21 @@
++Copyright (C) 2004-2008 René Nyffenegger
++
++This source code is provided 'as-is', without any express or implied
++warranty. In no event will the author be held liable for any damages
++arising from the use of this software.
++
++Permission is granted to anyone to use this software for any purpose,
++including commercial applications, and to alter it and redistribute it
++freely, subject to the following restrictions:
++
++1. The origin of this source code must not be misrepresented; you must not
++  claim that you wrote the original source code. If you use this source code
++  in a product, an acknowledgment in the product documentation would be
++  appreciated but is not required.
++
++2. Altered source versions must be plainly marked as such, and must not be
++  misrepresented as being the original source code.
++
++3. This notice may not be removed or altered from any source distribution.
++
++René Nyffenegger rene.nyffenegger@adp-gmbh.ch
+diff --git a/include/cereal/external/rapidjson/LICENSE b/include/cereal/external/rapidjson/LICENSE
+new file mode 100644
+index 00000000..4546f15a
+--- /dev/null
++++ b/include/cereal/external/rapidjson/LICENSE
+@@ -0,0 +1,13 @@
++Tencent is pleased to support the open source community by making RapidJSON available.
++
++Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved.
++
++Licensed under the MIT License (the "License"); you may not use this file except
++in compliance with the License. You may obtain a copy of the License at
++
++http://opensource.org/licenses/MIT
++
++Unless required by applicable law or agreed to in writing, software distributed 
++under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR 
++CONDITIONS OF ANY KIND, either express or implied. See the License for the 
++specific language governing permissions and limitations under the License.
+diff --git a/include/cereal/external/rapidjson/msinttypes/LICENSE b/include/cereal/external/rapidjson/msinttypes/LICENSE
+new file mode 100644
+index 00000000..e3d96f8f
+--- /dev/null
++++ b/include/cereal/external/rapidjson/msinttypes/LICENSE
+@@ -0,0 +1,29 @@
++ISO C9x  compliant stdint.h for Microsoft Visual Studio
++Based on ISO/IEC 9899:TC2 Committee draft (May 6, 2005) WG14/N1124 
++
++ Copyright (c) 2006-2013 Alexander Chemeris
++
++Redistribution and use in source and binary forms, with or without
++modification, are permitted provided that the following conditions are met:
++
++  1. Redistributions of source code must retain the above copyright notice,
++     this list of conditions and the following disclaimer.
++
++  2. Redistributions in binary form must reproduce the above copyright
++     notice, this list of conditions and the following disclaimer in the
++     documentation and/or other materials provided with the distribution.
++
++  3. Neither the name of the product nor the names of its contributors may
++     be used to endorse or promote products derived from this software
++     without specific prior written permission.
++
++THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
++WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
++MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
++EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
++SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
++PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
++OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
++WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
++OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
++ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+-- 
+2.29.2
+
diff --git a/meta-openembedded/meta-oe/recipes-devtools/cereal/cereal_1.3.0.bb b/meta-openembedded/meta-oe/recipes-devtools/cereal/cereal_1.3.0.bb
new file mode 100644
index 0000000..a4b7f34
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/cereal/cereal_1.3.0.bb
@@ -0,0 +1,36 @@
+SUMMARY = "cereal is a header-only C++11 serialization library"
+HOMEPAGE = "https://uscilab.github.io/cereal"
+LICENSE = "BSD & MIT & BSL-1.0"
+LIC_FILES_CHKSUM = "\
+    file://LICENSE;md5=e612690af2f575dfd02e2e91443cea23 \
+    file://include/cereal/external/rapidxml/license.txt;md5=d63ab70ba21ca0544b03284958324301 \
+    file://include/cereal/external/LICENSE;md5=b07578c9df99c0b8b45eb041efd4a645 \
+    file://include/cereal/external/rapidjson/LICENSE;md5=e7abb663111d4ac17cf00323698aff08 \
+    file://include/cereal/external/rapidjson/msinttypes/LICENSE;md5=dffce65b98c773976de2e338bd130f46 \
+"
+
+inherit cmake pkgconfig
+
+RDEPENDS_${PN}-dev = ""
+
+SRC_URI = " \
+    git://github.com/USCiLab/cereal.git;protocol=https \
+    file://0001-add-license-files-for-components-of-cereal.patch \
+"
+
+SRCREV = "02eace19a99ce3cd564ca4e379753d69af08c2c8"
+
+EXTRA_OECMAKE += "\
+    -DCEREAL_INSTALL=TRUE \
+    -DJUST_INSTALL_CEREAL=TRUE \
+"
+
+S = "${WORKDIR}/git"
+
+PROVIDES += "${PN}-dev"
+
+FILES_${PN}-dev = " \
+    ${includedir} \
+    ${libdir} \
+    ${datadir}/cmake \
+"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/cpuid/cpuid_20200427.bb b/meta-openembedded/meta-oe/recipes-devtools/cpuid/cpuid_20201006.bb
similarity index 84%
rename from meta-openembedded/meta-oe/recipes-devtools/cpuid/cpuid_20200427.bb
rename to meta-openembedded/meta-oe/recipes-devtools/cpuid/cpuid_20201006.bb
index ff781f6..1b42590 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/cpuid/cpuid_20200427.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/cpuid/cpuid_20201006.bb
@@ -3,13 +3,13 @@
 from the CPUID instruction, and also determines the exact model of CPU(s). \
 It supports Intel, AMD, and VIA CPUs, as well as older Transmeta, Cyrix, \
 UMC, NexGen, Rise, and SiS CPUs"
+HOMEPAGE="http://www.etallen.com/cpuid.html"
 LICENSE = "GPLv2"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263"
 
 SRC_URI = "http://www.etallen.com/${BPN}/${BP}.src.tar.gz \
            "
-SRC_URI[md5sum] = "daa93ee2fdaf461e515b4713e7337076"
-SRC_URI[sha256sum] = "c1a9463f1f2175086120e9079e318bbd383dc1e574fafb2f724879f1d11061d4"
+SRC_URI[sha256sum] = "13c53f16408341d11ed489b352f218ec4dbb5bedb796a9d059e924770a9c56a6"
 
 COMPATIBLE_HOST = "(i.86|x86_64).*-linux"
 
diff --git a/meta-openembedded/meta-oe/recipes-devtools/geany/geany-plugins/0002-Make-libgit2-version-preprocessor-conditionals-compatible.patch b/meta-openembedded/meta-oe/recipes-devtools/geany/geany-plugins/0002-Make-libgit2-version-preprocessor-conditionals-compatible.patch
deleted file mode 100644
index 25e5ac4..0000000
--- a/meta-openembedded/meta-oe/recipes-devtools/geany/geany-plugins/0002-Make-libgit2-version-preprocessor-conditionals-compatible.patch
+++ /dev/null
@@ -1,55 +0,0 @@
-From 9497d829e1b207eb83575dc6f617feecfb89bc16 Mon Sep 17 00:00:00 2001
-From: Dominik Schmidt <dominik@schm1dt.ch>
-Date: Sun, 23 Feb 2020 19:15:30 +0100
-Subject: [PATCH] Make libgit2 version preprocessor conditionals compatible
- with libgit2-0.99
-
-LIBGIT2_SOVERSION is defined as string literal, e.g. "0.99",
-from libgit2-0.99 and beyond. Arithmetic checks against this
-variable whill hence fail. This patch switches the checks to
-compare against the LIBGIT2_VER_* family, which should be more stable.
----
- git-changebar/src/gcb-plugin.c | 6 +++---
- workbench/src/plugin_main.c    | 2 +-
- 2 files changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/git-changebar/src/gcb-plugin.c b/git-changebar/src/gcb-plugin.c
-index b7083199..a911815f 100644
---- a/git-changebar/src/gcb-plugin.c
-+++ b/git-changebar/src/gcb-plugin.c
-@@ -32,11 +32,11 @@
- #include <geany.h>
- #include <document.h>
- 
--#if ! defined (LIBGIT2_SOVERSION) || LIBGIT2_SOVERSION < 22
-+#if ! defined (LIBGIT2_VER_MINOR) || ( (LIBGIT2_VER_MAJOR == 0) && (LIBGIT2_VER_MINOR < 22) )
- # define git_libgit2_init     git_threads_init
- # define git_libgit2_shutdown git_threads_shutdown
- #endif
--#if ! defined (LIBGIT2_SOVERSION) || LIBGIT2_SOVERSION < 23
-+#if ! defined (LIBGIT2_VER_MINOR) || ( (LIBGIT2_VER_MAJOR == 0) && (LIBGIT2_VER_MINOR < 23) )
- /* 0.23 added @p binary_cb */
- # define git_diff_buffers(old_buffer, old_len, old_as_path, \
-                           new_buffer, new_len, new_as_path, options, \
-@@ -45,7 +45,7 @@
-                     new_buffer, new_len, new_as_path, options, \
-                     file_cb, hunk_cb, line_cb, payload)
- #endif
--#if ! defined (LIBGIT2_SOVERSION) || LIBGIT2_SOVERSION < 28
-+#if ! defined (LIBGIT2_VER_MINOR) || ( (LIBGIT2_VER_MAJOR == 0) && (LIBGIT2_VER_MINOR < 28) )
- # define git_buf_dispose  git_buf_free
- # define git_error_last   giterr_last
- #endif
-diff --git a/workbench/src/plugin_main.c b/workbench/src/plugin_main.c
-index 6fa6fc84..25ecdf6d 100644
---- a/workbench/src/plugin_main.c
-+++ b/workbench/src/plugin_main.c
-@@ -36,7 +36,7 @@
- #include "tm_control.h"
- 
- 
--#if ! defined (LIBGIT2_SOVERSION) || LIBGIT2_SOVERSION < 22
-+#if ! defined (LIBGIT2_VER_MINOR) || ( (LIBGIT2_VER_MAJOR == 0) && (LIBGIT2_VER_MINOR < 22))
- # define git_libgit2_init     git_threads_init
- # define git_libgit2_shutdown git_threads_shutdown
- #endif
diff --git a/meta-openembedded/meta-oe/recipes-devtools/geany/geany-plugins_1.36.bb b/meta-openembedded/meta-oe/recipes-devtools/geany/geany-plugins_1.37.bb
similarity index 97%
rename from meta-openembedded/meta-oe/recipes-devtools/geany/geany-plugins_1.36.bb
rename to meta-openembedded/meta-oe/recipes-devtools/geany/geany-plugins_1.37.bb
index 3cf2605..890bbdb 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/geany/geany-plugins_1.36.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/geany/geany-plugins_1.37.bb
@@ -31,10 +31,8 @@
 SRC_URI = " \
     https://plugins.geany.org/${BPN}/${BP}.tar.bz2 \
     file://0001-Use-pkg-config-to-find-gpgme.patch \
-    file://0002-Make-libgit2-version-preprocessor-conditionals-compatible.patch \
 "
-SRC_URI[md5sum] = "91fb4634953702f914d9105da7048a33"
-SRC_URI[sha256sum] = "ebe18dd699292174622e8cb8745b020ada8a5be3b604ab980af36e8518df7ce6"
+SRC_URI[sha256sum] = "c98f9b1303f4ab9bed7587e749cd0b5594d9136a1bf8ba110900d46a17fa9cd8"
 
 do_configure_prepend() {
     rm -f ${S}/build/cache/glib-gettext.m4
diff --git a/meta-openembedded/meta-oe/recipes-devtools/geany/geany/0001-configure-Upgrade-to-a-modern-Gettext.patch b/meta-openembedded/meta-oe/recipes-devtools/geany/geany/0001-configure-Upgrade-to-a-modern-Gettext.patch
new file mode 100644
index 0000000..b966847
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/geany/geany/0001-configure-Upgrade-to-a-modern-Gettext.patch
@@ -0,0 +1,22 @@
+From 51e145b43e66134aa4b33c9af0319331ec8a5bce Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 5 Feb 2021 23:15:45 -0800
+Subject: [PATCH] configure: Use AC_PROG_INTLTOOL
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ configure.ac | 2 ++
+ 1 file changed, 2 insertions(+)
+
+--- a/configure.ac
++++ b/configure.ac
+@@ -8,7 +8,7 @@ AC_CONFIG_AUX_DIR([build-aux])
+ AC_CONFIG_MACRO_DIR([m4])
+ AM_INIT_AUTOMAKE([1.11 -Wall parallel-tests subdir-objects])
+ AC_CONFIG_HEADERS([config.h])
+-
++AC_PROG_INTLTOOL
+ m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])])
+ 
+ GEANY_PREFIX
diff --git a/meta-openembedded/meta-oe/recipes-devtools/geany/geany_1.36.bb b/meta-openembedded/meta-oe/recipes-devtools/geany/geany_1.37.1.bb
similarity index 68%
rename from meta-openembedded/meta-oe/recipes-devtools/geany/geany_1.36.bb
rename to meta-openembedded/meta-oe/recipes-devtools/geany/geany_1.37.1.bb
index 039999f..b361b11 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/geany/geany_1.36.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/geany/geany_1.37.1.bb
@@ -9,9 +9,10 @@
 
 REQUIRED_DISTRO_FEATURES = "x11"
 
-SRC_URI = "https://download.geany.org/${BP}.tar.bz2"
-SRC_URI[md5sum] = "53216a43345e2b6dbefa02ac24885753"
-SRC_URI[sha256sum] = "9184dd3dd40b7b84fca70083284bb9dbf2ee8022bf2be066bdc36592d909d53e"
+SRC_URI = "https://download.geany.org/${BP}.tar.bz2 \
+           file://0001-configure-Upgrade-to-a-modern-Gettext.patch \
+          "
+SRC_URI[sha256sum] = "18c5756444c1d8bcd737c8ecfd4ef0b3607c924fc02560d4e8b78f6121531a18"
 
 FILES_${PN} += "${datadir}/icons"
 
diff --git a/meta-openembedded/meta-oe/recipes-devtools/perl/libio-pty-perl_1.15.bb b/meta-openembedded/meta-oe/recipes-devtools/perl/libio-pty-perl_1.16.bb
similarity index 73%
rename from meta-openembedded/meta-oe/recipes-devtools/perl/libio-pty-perl_1.15.bb
rename to meta-openembedded/meta-oe/recipes-devtools/perl/libio-pty-perl_1.16.bb
index 7b1a8a6..b6bc807 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/perl/libio-pty-perl_1.15.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/perl/libio-pty-perl_1.16.bb
@@ -5,8 +5,8 @@
 
 SRC_URI = "http://www.cpan.org/modules/by-module/IO/IO-Tty-${PV}.tar.gz"
 
-SRC_URI[md5sum] = "060103c6d6e4d9833fa7715860f2923b"
-SRC_URI[sha256sum] = "43f9cc0f87620bbb159e0890e196b23a8e6419cbd04224c10f3dcee948f6b51a"
+SRC_URI[md5sum] = "5ee30bf7c76f00cc69f92388ad776e2a"
+SRC_URI[sha256sum] = "8f1a09c070738adc695df903f2e7f74308dd8d991b914c0bc390a0e6021294dd"
 
 S = "${WORKDIR}/IO-Tty-${PV}"
 
diff --git a/meta-openembedded/meta-oe/recipes-devtools/perl/libjson-perl_4.02000.bb b/meta-openembedded/meta-oe/recipes-devtools/perl/libjson-perl_4.03000.bb
similarity index 90%
rename from meta-openembedded/meta-oe/recipes-devtools/perl/libjson-perl_4.02000.bb
rename to meta-openembedded/meta-oe/recipes-devtools/perl/libjson-perl_4.03000.bb
index 4e5a8a6..4e7aeb1 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/perl/libjson-perl_4.02000.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/perl/libjson-perl_4.03000.bb
@@ -11,7 +11,7 @@
 
 SRC_URI = "git://github.com/makamaka/JSON.git;protocol=https"
 
-SRCREV = "42a6324df654e92419512cee80c0b49155d9e56d"
+SRCREV = "ebbae181c5e311fa80ee4c6379b598c7a6400570"
 
 S = "${WORKDIR}/git"
 
diff --git a/meta-openembedded/meta-oe/recipes-devtools/rapidjson/rapidjson/0001-CMake-remove-hardcoded-CMAKECONFIG_INSTALL_DIR-path.patch b/meta-openembedded/meta-oe/recipes-devtools/rapidjson/rapidjson/0001-CMake-remove-hardcoded-CMAKECONFIG_INSTALL_DIR-path.patch
deleted file mode 100644
index 745f5d0..0000000
--- a/meta-openembedded/meta-oe/recipes-devtools/rapidjson/rapidjson/0001-CMake-remove-hardcoded-CMAKECONFIG_INSTALL_DIR-path.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From 8d272e53a4d1dc405e08ce2dd50159c58f4451e9 Mon Sep 17 00:00:00 2001
-From: Ruslan Bilovol <rbilovol@cisco.com>
-Date: Thu, 24 Jan 2019 18:11:39 +0200
-Subject: [PATCH] CMake: remove hardcoded CMAKECONFIG_INSTALL_DIR path
-
-Currently this path is hardcoded to lib/cmake.
-Some distributions have different library path (like lib64).
-So reuse LIB_INSTALL_DIR for that to make CMAKECONFIG_INSTALL_DIR
-configurable and usable in such distros.
-
-Upstream-Status: Backport [https://github.com/Tencent/rapidjson/commit/8d272e53a4d1dc405e08ce2dd50159c58f4451e9]
-
-Signed-off-by: Ruslan Bilovol <rbilovol@cisco.com>
----
- CMakeLists.txt | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 7c60407..0275672 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -199,9 +199,9 @@ CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_NAME}ConfigVersion.cmake.in
-     ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake @ONLY)
- 
- # ... for the install tree
--SET( CMAKECONFIG_INSTALL_DIR lib/cmake/${PROJECT_NAME} )
-+SET( CMAKECONFIG_INSTALL_DIR ${LIB_INSTALL_DIR}/cmake/${PROJECT_NAME} )
- FILE( RELATIVE_PATH REL_INCLUDE_DIR
--    "${CMAKE_INSTALL_PREFIX}/${CMAKECONFIG_INSTALL_DIR}"
-+    "${CMAKECONFIG_INSTALL_DIR}"
-     "${CMAKE_INSTALL_PREFIX}/include" )
- 
- SET( ${PROJECT_NAME}_INCLUDE_DIR "\${${PROJECT_NAME}_CMAKE_DIR}/${REL_INCLUDE_DIR}" )
--- 
-1.9.1
-
diff --git a/meta-openembedded/meta-oe/recipes-devtools/rapidjson/rapidjson/remove-march-native-from-CMAKE_CXX_FLAGS.patch b/meta-openembedded/meta-oe/recipes-devtools/rapidjson/rapidjson/remove-march-native-from-CMAKE_CXX_FLAGS.patch
deleted file mode 100644
index cf3e16e..0000000
--- a/meta-openembedded/meta-oe/recipes-devtools/rapidjson/rapidjson/remove-march-native-from-CMAKE_CXX_FLAGS.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From 827155e5e659b2a5065b00d701bc59b57feab2bf Mon Sep 17 00:00:00 2001
-From: Andre McCurdy <armccurdy@gmail.com>
-Date: Mon, 19 Dec 2016 01:37:11 -0800
-Subject: [PATCH] remove -march=native from CMAKE_CXX_FLAGS
-
-Not appropriate when cross compiling.
-
-Upstream-Status: Inappropriate [configuration]
-
-Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
----
- CMakeLists.txt | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-Index: git/CMakeLists.txt
-===================================================================
---- git.orig/CMakeLists.txt
-+++ git/CMakeLists.txt
-@@ -51,10 +51,10 @@ endif(CCACHE_FOUND)
- 
- if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
-     if(${CMAKE_SYSTEM_PROCESSOR} STREQUAL "powerpc" OR ${CMAKE_SYSTEM_PROCESSOR} STREQUAL "ppc64" OR ${CMAKE_SYSTEM_PROCESSOR} STREQUAL "ppc64le")
--      set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mcpu=native")
-+      set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
-     else()
-       #FIXME: x86 is -march=native, but doesn't mean every arch is this option. To keep original project's compatibility, I leave this except POWER.
--      set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=native")
-+      set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
-     endif()
-     set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -Werror")
-     set(EXTRA_CXX_FLAGS -Weffc++ -Wswitch-default -Wfloat-equal -Wconversion -Wsign-conversion)
-@@ -84,7 +84,7 @@ elseif (CMAKE_CXX_COMPILER_ID MATCHES "C
-       set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mcpu=native")
-     else()
-       #FIXME: x86 is -march=native, but doesn't mean every arch is this option. To keep original project's compatibility, I leave this except POWER.
--      set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=native")
-+      set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
-     endif()
-     set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -Werror -Wno-missing-field-initializers")
-     set(EXTRA_CXX_FLAGS -Weffc++ -Wswitch-default -Wfloat-equal -Wconversion -Wimplicit-fallthrough -Weverything)
diff --git a/meta-openembedded/meta-oe/recipes-devtools/yasm/yasm/0001-Do-not-use-AC_HEADER_STDC.patch b/meta-openembedded/meta-oe/recipes-devtools/yasm/yasm/0001-Do-not-use-AC_HEADER_STDC.patch
new file mode 100644
index 0000000..bda90ed
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/yasm/yasm/0001-Do-not-use-AC_HEADER_STDC.patch
@@ -0,0 +1,39 @@
+From 6b1cbe8b4dcc45103d69bc7337e5eb33d1fd21f3 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 3 Feb 2021 14:22:51 -0800
+Subject: [PATCH] Do not use AC_HEADER_STDC
+
+This macro is removed in autotools 2.70+ and it can be expected that C90
+headers are always available [1]
+
+Upstream-Status: Pending
+
+[1] https://www.gnu.org/software/autoconf/manual/autoconf-2.70/autoconf.html#index-AC_005fHEADER_005fSTDC
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ configure.ac | 6 ------
+ 1 file changed, 6 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 01b61097..2823ecd7 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -101,14 +101,8 @@ AM_WITH_DMALLOC
+ #
+ # Checks for header files.
+ #
+-AC_HEADER_STDC
+ AC_CHECK_HEADERS([strings.h libgen.h unistd.h direct.h sys/stat.h])
+ 
+-# REQUIRE standard C headers
+-if test "$ac_cv_header_stdc" != yes; then
+-	AC_MSG_ERROR([Standard (ANSI/ISO C89) header files are required.])
+-fi
+-
+ #
+ # Checks for typedefs, structures, and compiler characteristics.
+ #
+-- 
+2.30.0
+
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 5385626..cacdd74 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/yasm/yasm_git.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/yasm/yasm_git.bb
@@ -9,7 +9,9 @@
 PV = "1.3.0+git${SRCPV}"
 # v1.3.0
 SRCREV = "ba463d3c26c0ece2e797b8d6381b161633b5971a"
-SRC_URI = "git://github.com/yasm/yasm.git"
+SRC_URI = "git://github.com/yasm/yasm.git \
+           file://0001-Do-not-use-AC_HEADER_STDC.patch \
+"
 
 S = "${WORKDIR}/git"
 
diff --git a/meta-openembedded/meta-oe/recipes-extended/boinc/boinc-client/opengl_m4_check.patch b/meta-openembedded/meta-oe/recipes-extended/boinc/boinc-client/opengl_m4_check.patch
deleted file mode 100644
index ad4493f..0000000
--- a/meta-openembedded/meta-oe/recipes-extended/boinc/boinc-client/opengl_m4_check.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 4f2dd929618f149087249f3c90cc056d5080b1e4 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Thu, 3 Nov 2016 01:20:33 -0700
-Subject: [PATCH] boinc: Add recipe for boinc-client
-
-Do not add prefix/lib to library search path
-let sysroot take care of that
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Upstream-Status: Inappropriate[Cross-compile specific]
-
----
- m4/ax_check_gl.m4 | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/m4/ax_check_gl.m4 b/m4/ax_check_gl.m4
-index e26ce5b930..1e60c9266a 100644
---- a/m4/ax_check_gl.m4
-+++ b/m4/ax_check_gl.m4
-@@ -58,7 +58,7 @@ else
-     else
-       ax_try_lib="${ax_lib}"
-     fi
--    LIBS="-L${prefix}/lib ${ax_try_lib} ${GL_LIBS} ${ax_save_LIBS}"
-+    LIBS="${ax_try_lib} ${GL_LIBS} ${ax_save_LIBS}"
-     AC_LINK_IFELSE(
-     [AC_LANG_PROGRAM([[
- # if HAVE_WINDOWS_H && defined(_WIN32)
diff --git a/meta-openembedded/meta-oe/recipes-extended/boinc/boinc-client_7.16.bb b/meta-openembedded/meta-oe/recipes-extended/boinc/boinc-client_7.16.16.bb
similarity index 93%
rename from meta-openembedded/meta-oe/recipes-extended/boinc/boinc-client_7.16.bb
rename to meta-openembedded/meta-oe/recipes-extended/boinc/boinc-client_7.16.16.bb
index db90f06..d2e81ee 100644
--- a/meta-openembedded/meta-oe/recipes-extended/boinc/boinc-client_7.16.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/boinc/boinc-client_7.16.16.bb
@@ -29,11 +29,10 @@
            ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'gtk+ libnotify xcb-util libxscrnsaver', '', d)} \
            nettle \
 "
-SRCREV = "e0e033af9fca3cca84a3417ea6531ae25be73a7a"
-BRANCH = "client_release/7/${PV}"
+SRCREV = "df0239e6f074207798a8ecf1358a74545dda9132"
+BRANCH = "client_release/7/7.16"
 SRC_URI = "git://github.com/BOINC/boinc;protocol=https;branch=${BRANCH} \
            file://boinc-AM_CONDITIONAL.patch \
-           file://opengl_m4_check.patch \
            file://gtk-configure.patch \
 "
 
@@ -56,11 +55,12 @@
     --without-wxdir \
     --without-x \
     --with-boinc-platform=${TARGET_SYS} \
+    ac_cv_c_undeclared_builtin_options='none' \
 "
 export PKG_CONFIG = "${STAGING_BINDIR_NATIVE}/pkg-config"
 
 do_configure_prepend () {
-	if "${@bb.utils.contains('DEPENDS', 'gtk+', '1', '0', d)}" = "0"
+	if [ "${@bb.utils.contains('DEPENDS', 'gtk+', '1', '0', d)}" = "0" ]
 	then
 		export GTK2_CFLAGS=""
 		export GTK2_LIBS=""
diff --git a/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/0001-bin-fix-SIGSEGV-caused-by-using-flb_free-instead-of-.patch b/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/0001-bin-fix-SIGSEGV-caused-by-using-flb_free-instead-of-.patch
new file mode 100644
index 0000000..a6ff599
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/0001-bin-fix-SIGSEGV-caused-by-using-flb_free-instead-of-.patch
@@ -0,0 +1,43 @@
+From 3d7390c89c2205d1eed0384be0bb65adb675e60d Mon Sep 17 00:00:00 2001
+From: Ramon Fried <ramon@neureality.ai>
+Date: Tue, 9 Feb 2021 18:59:59 +0200
+Subject: [PATCH] bin: fix SIGSEGV caused by using flb_free instead of
+ mk_mem_free
+
+Upstream-Status: Accepted
+Signed-off-by: Ramon Fried <ramon@neureality.ai>
+---
+ src/fluent-bit.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/src/fluent-bit.c b/src/fluent-bit.c
+index c0c73b4..989cfde 100644
+--- a/src/fluent-bit.c
++++ b/src/fluent-bit.c
+@@ -289,7 +289,7 @@ static int input_set_property(struct flb_input_instance *in, char *kv)
+                 in->p->name, key);
+     }
+ 
+-    flb_free(key);
++    mk_mem_free(key);
+     return ret;
+ }
+ 
+@@ -314,7 +314,7 @@ static int output_set_property(struct flb_output_instance *out, char *kv)
+     }
+ 
+     ret = flb_output_set_property(out, key, value);
+-    flb_free(key);
++    mk_mem_free(key);
+     return ret;
+ }
+ 
+@@ -340,7 +340,7 @@ static int filter_set_property(struct flb_filter_instance *filter, char *kv)
+     }
+ 
+     ret = flb_filter_set_property(filter, key, value);
+-    flb_free(key);
++    mk_mem_free(key);
+     return ret;
+ }
+ 
diff --git a/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/0002-parser-Fix-SIGSEGV-caused-by-using-flb_free-instead-.patch b/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/0002-parser-Fix-SIGSEGV-caused-by-using-flb_free-instead-.patch
new file mode 100644
index 0000000..91675df
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/0002-parser-Fix-SIGSEGV-caused-by-using-flb_free-instead-.patch
@@ -0,0 +1,82 @@
+From 7c3b1dfb174312594d3317c24ed71c60398f653f Mon Sep 17 00:00:00 2001
+From: Ramon Fried <ramon@neureality.ai>
+Date: Wed, 10 Feb 2021 04:23:36 +0200
+Subject: [PATCH] parser: Fix SIGSEGV caused by using flb_free instead of
+ mk_mem_free
+
+Upstream-Status: Backport (fix only for 1.3.5)
+Signed-off-by: Ramon Fried <ramon@neureality.ai>
+---
+ src/flb_parser.c | 28 ++++++++++++++--------------
+ 1 file changed, 14 insertions(+), 14 deletions(-)
+
+diff --git a/src/flb_parser.c b/src/flb_parser.c
+index d35c568..7c20e12 100644
+--- a/src/flb_parser.c
++++ b/src/flb_parser.c
+@@ -490,7 +490,7 @@ int flb_parser_conf_file(const char *file, struct flb_config *config)
+                                        MK_RCONF_STR);
+         if (str) {
+             time_keep = flb_utils_bool(str);
+-            flb_free(str);
++            mk_mem_free(str);
+         }
+         else {
+             time_keep = FLB_FALSE;
+@@ -522,23 +522,23 @@ int flb_parser_conf_file(const char *file, struct flb_config *config)
+ 
+         flb_debug("[parser] new parser registered: %s", name);
+ 
+-        flb_free(name);
+-        flb_free(format);
++        mk_mem_free(name);
++        mk_mem_free(format);
+ 
+         if (regex) {
+-            flb_free(regex);
++            mk_mem_free(regex);
+         }
+         if (time_fmt) {
+-            flb_free(time_fmt);
++            mk_mem_free(time_fmt);
+         }
+         if (time_key) {
+-            flb_free(time_key);
++            mk_mem_free(time_key);
+         }
+         if (time_offset) {
+-            flb_free(time_offset);
++            mk_mem_free(time_offset);
+         }
+         if (types_str) {
+-            flb_free(types_str);
++            mk_mem_free(types_str);
+         }
+ 
+         decoders = NULL;
+@@ -548,19 +548,19 @@ int flb_parser_conf_file(const char *file, struct flb_config *config)
+     return 0;
+ 
+  fconf_error:
+-    flb_free(name);
+-    flb_free(format);
++    mk_mem_free(name);
++    mk_mem_free(format);
+     if (regex) {
+-        flb_free(regex);
++        mk_mem_free(regex);
+     }
+     if (time_fmt) {
+-        flb_free(time_fmt);
++        mk_mem_free(time_fmt);
+     }
+     if (time_key) {
+-        flb_free(time_key);
++        mk_mem_free(time_key);
+     }
+     if (types_str) {
+-        flb_free(types_str);
++        mk_mem_free(types_str);
+     }
+     if (decoders) {
+         flb_parser_decoder_list_destroy(decoders);
diff --git a/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit_1.3.5.bb b/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit_1.3.5.bb
index bc4cd0c..eac2670 100644
--- a/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit_1.3.5.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit_1.3.5.bb
@@ -16,12 +16,16 @@
            file://cross-build-init-system-detection.patch \
            file://builtin-nan.patch \
            file://0001-ppc-Fix-signature-for-co_create-API.patch \
-          "
+           file://0001-bin-fix-SIGSEGV-caused-by-using-flb_free-instead-of-.patch \
+           file://0002-parser-Fix-SIGSEGV-caused-by-using-flb_free-instead-.patch \
+           "
 SRC_URI[md5sum] = "6eae6dfd0a874e5dd270c36e9c68f747"
 SRC_URI[sha256sum] = "e037c76c89269c8dc4027a08e442fefd2751b0f1e0f9c38f9a4b12d781a9c789"
 
 S = "${WORKDIR}/fluent-bit-${PV}"
 DEPENDS = "zlib bison-native flex-native"
+DEPENDS += "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
+
 DEPENDS_append_libc-musl = " fts "
 
 INSANE_SKIP_${PN}-dev += "dev-elf"
diff --git a/meta-openembedded/meta-oe/recipes-extended/hexedit/hexedit_1.4.2.bb b/meta-openembedded/meta-oe/recipes-extended/hexedit/hexedit_1.5.bb
similarity index 89%
rename from meta-openembedded/meta-oe/recipes-extended/hexedit/hexedit_1.4.2.bb
rename to meta-openembedded/meta-oe/recipes-extended/hexedit/hexedit_1.5.bb
index 3e7fb2a..3a7413d 100644
--- a/meta-openembedded/meta-oe/recipes-extended/hexedit/hexedit_1.4.2.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/hexedit/hexedit_1.5.bb
@@ -9,7 +9,7 @@
 SRC_URI = "git://github.com/pixel/hexedit.git \
     "
 
-SRCREV = "800e4b2e6280531a84fd23ee0b48e16baeb90878"
+SRCREV = "baf45a289360a39a05253949fb9d1b50e4668d8a"
 
 S = "${WORKDIR}/git"
 
diff --git a/meta-openembedded/meta-oe/recipes-extended/libblockdev/libblockdev_2.24.bb b/meta-openembedded/meta-oe/recipes-extended/libblockdev/libblockdev_2.25.bb
similarity index 97%
rename from meta-openembedded/meta-oe/recipes-extended/libblockdev/libblockdev_2.24.bb
rename to meta-openembedded/meta-oe/recipes-extended/libblockdev/libblockdev_2.25.bb
index 99cdee5..2c8fdc7 100644
--- a/meta-openembedded/meta-oe/recipes-extended/libblockdev/libblockdev_2.24.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/libblockdev/libblockdev_2.25.bb
@@ -11,7 +11,7 @@
 inherit autotools gobject-introspection
 
 SRC_URI = "git://github.com/storaged-project/libblockdev;branch=2.x-branch"
-SRCREV = "f5a4ba8bb298f8cbc435707d0b19b4b2ff836a8e"
+SRCREV = "c50869272b54bf4b4bc3825e8c3332a54678b43f"
 S = "${WORKDIR}/git"
 
 FILES_${PN} += "${libdir}/python2.7/dist-packages ${libdir}/python3.*/site-packages"
@@ -37,4 +37,3 @@
 PACKAGECONFIG[mpath] = "--with-mpath,--without-mpath, multipath-tools, lvm2"
 
 export GIR_EXTRA_LIBS_PATH="${B}/src/utils/.libs"
-
diff --git a/meta-openembedded/meta-oe/recipes-extended/libconfig/libconfig_1.7.2.bb b/meta-openembedded/meta-oe/recipes-extended/libconfig/libconfig_1.7.2.bb
index 70ea82e..a4a2581 100644
--- a/meta-openembedded/meta-oe/recipes-extended/libconfig/libconfig_1.7.2.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/libconfig/libconfig_1.7.2.bb
@@ -9,6 +9,9 @@
 
 SRC_URI = "https://hyperrealm.github.io/libconfig/dist/libconfig-${PV}.tar.gz"
 
+UPSTREAM_CHECK_URI = "https://github.com/hyperrealm/libconfig/releases"
+UPSTREAM_CHECK_REGEX = "Version (?P<pver>\d+(\.\d+)+)"
+
 inherit autotools-brokensep pkgconfig
 
 SRC_URI[md5sum] = "6bd98ee3a6e6b9126c82c916d7a9e690"
@@ -16,4 +19,3 @@
 
 PACKAGE_BEFORE_PN = "${PN}++"
 FILES_${PN}++ = "${libdir}/${BPN}++*${SOLIBS}"
-
diff --git a/meta-openembedded/meta-oe/recipes-extended/libstatgrab/libstatgrab/0001-configure.ac-Do-not-use-single-line-comment.patch b/meta-openembedded/meta-oe/recipes-extended/libstatgrab/libstatgrab/0001-configure.ac-Do-not-use-single-line-comment.patch
new file mode 100644
index 0000000..46493bb
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/libstatgrab/libstatgrab/0001-configure.ac-Do-not-use-single-line-comment.patch
@@ -0,0 +1,33 @@
+From a8502c5a7e336f1e5068f9dd3bdb359d787f9bdc Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 5 Feb 2021 18:35:12 -0800
+Subject: [PATCH] configure.ac: Do not use single line comment
+
+autoconf 2.70+ does not like it and regenerating configure script fails
+
+| ../libstatgrab-0.92/configure: line 7818: syntax error near unexpected token `ac_fn_check_decl'
+| ../libstatgrab-0.92/configure: line 7818: `fi ac_fn_check_decl "$LINENO" "__sun" "ac_cv_have_decl___sun" "$ac_includes_default" "$ac_c_undeclared_builtin_options" "CFLAGS"'
+
+Upstream-Status: Submitted [https://github.com/libstatgrab/libstatgrab/pull/128]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ configure.ac | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index 99518f8..74e7f0f 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -100,7 +100,8 @@ AC_TYPE_UNSIGNED_LONG_LONG_INT
+ 
+ dnl Check for extra flags to enable some kind of behavior
+ AC_CHECK_DECL([_AIX],[ac_cv_need_minus_d_linux_source_compat="yes"; ac_cv_need_minus_d_all_source="yes"])
+-AC_CHECK_DECL([__linux],[ac_cv_need_minus_d_gnu_source="yes"]) dnl probably required by kfreebsd, too?
++dnl probably required by kfreebsd, too?
++AC_CHECK_DECL([__linux],[ac_cv_need_minus_d_gnu_source="yes"])
+ AC_CHECK_DECL([__sun],[ac_cv_need_minus_d_extensions="yes"; ac_cv_need_minus_d_posix_pthread_semantics="yes"])
+ AC_CHECK_DECL([__hpux],[ac_cv_need_minus_d_hpux_source="yes"])
+ 
+-- 
+2.30.0
+
diff --git a/meta-openembedded/meta-oe/recipes-extended/libstatgrab/libstatgrab_0.92.bb b/meta-openembedded/meta-oe/recipes-extended/libstatgrab/libstatgrab_0.92.bb
index 27fe0e2..a47d3bf 100644
--- a/meta-openembedded/meta-oe/recipes-extended/libstatgrab/libstatgrab_0.92.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/libstatgrab/libstatgrab_0.92.bb
@@ -10,6 +10,7 @@
 
 # don't use the git tag unless docbooc2x is available to build the manpages
 SRC_URI = "https://github.com/libstatgrab/libstatgrab/releases/download/LIBSTATGRAB_0_92/libstatgrab-0.92.tar.gz \
+           file://0001-configure.ac-Do-not-use-single-line-comment.patch \
           "
 SRC_URI[md5sum] = "5362b2ddbec54b3901e7d70c22cda249"
 SRC_URI[sha256sum] = "5bf1906aff9ffc3eeacf32567270f4d819055d8386d98b9c8c05519012d5a196"
diff --git a/meta-openembedded/meta-oe/recipes-extended/minifi-cpp/minifi-cpp_0.7.0.bb b/meta-openembedded/meta-oe/recipes-extended/minifi-cpp/minifi-cpp_0.7.0.bb
index b3ea44c..34090cf 100644
--- a/meta-openembedded/meta-oe/recipes-extended/minifi-cpp/minifi-cpp_0.7.0.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/minifi-cpp/minifi-cpp_0.7.0.bb
@@ -75,6 +75,7 @@
 TARGET_CXXFLAGS_append_riscv64 = " -fpic"
 
 do_install[cleandirs] += "${WORKDIR}/minifi-install"
+PSEUDO_CONSIDER_PATHS .= ",${WORKDIR}/minifi-install"
 
 do_install() {
     DESTDIR='${WORKDIR}/minifi-install' cmake_runcmake_build --target ${OECMAKE_TARGET_INSTALL}
diff --git a/meta-openembedded/meta-oe/recipes-extended/rsyslog/libfastjson/0001-fix-jump-misses-init-gcc-8-warning.patch b/meta-openembedded/meta-oe/recipes-extended/rsyslog/libfastjson/0001-fix-jump-misses-init-gcc-8-warning.patch
deleted file mode 100644
index 25e5efa..0000000
--- a/meta-openembedded/meta-oe/recipes-extended/rsyslog/libfastjson/0001-fix-jump-misses-init-gcc-8-warning.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From d697182f18a421b7f80ea9de4914251b55d82532 Mon Sep 17 00:00:00 2001
-From: Rainer Gerhards <rgerhards@adiscon.com>
-Date: Sun, 15 Jul 2018 17:24:59 +0200
-Subject: [PATCH] "fix" "jump-misses-init" gcc-8 warning
-
-Actually, that warning is overly conservative, and so we
-have changed the code in a somewhat suboptimal way to "fix"
-it. In this spots, it's not that bad and we wanted to avoid
-totally disabling this warning.
-
-If it were more costly in terms of cleanness, we would probaly
-have done that. Just mention it to tell anyone else the
-cure is not really a good one, just selected due to the
-circumstances in this special case.
-
-Upstream-Status: Backport
-
-Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
----
- json_object.c | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/json_object.c b/json_object.c
-index 35338e1..6e67891 100644
---- a/json_object.c
-+++ b/json_object.c
-@@ -396,6 +396,7 @@ fjson_child_get_empty_etry(struct fjson_object *const __restrict__ jso)
- {
- 	struct _fjson_child *chld = NULL;
- 	struct _fjson_child_pg *pg;
-+	int pg_idx;
- 
- 	if (jso->o.c_obj.ndeleted > 0) {
- 		/* we first fill deleted spots */
-@@ -415,7 +416,7 @@ fjson_child_get_empty_etry(struct fjson_object *const __restrict__ jso)
- 		goto done;
- 	}
- 
--	const int pg_idx = jso->o.c_obj.nelem % FJSON_OBJECT_CHLD_PG_SIZE;
-+	pg_idx = jso->o.c_obj.nelem % FJSON_OBJECT_CHLD_PG_SIZE;
- 	if (jso->o.c_obj.nelem > 0 && pg_idx == 0) {
- 		if((pg = calloc(1, sizeof(struct _fjson_child_pg))) == NULL) {
- 			errno = ENOMEM;
--- 
-2.11.0
-
diff --git a/meta-openembedded/meta-oe/recipes-extended/rsyslog/libfastjson_0.99.8.bb b/meta-openembedded/meta-oe/recipes-extended/rsyslog/libfastjson_0.99.9.bb
similarity index 70%
rename from meta-openembedded/meta-oe/recipes-extended/rsyslog/libfastjson_0.99.8.bb
rename to meta-openembedded/meta-oe/recipes-extended/rsyslog/libfastjson_0.99.9.bb
index b84dde3..88ba9ed 100644
--- a/meta-openembedded/meta-oe/recipes-extended/rsyslog/libfastjson_0.99.8.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/rsyslog/libfastjson_0.99.9.bb
@@ -6,10 +6,9 @@
 
 DEPENDS = ""
 
-SRC_URI = "git://github.com/rsyslog/libfastjson.git;protocol=https \
-           file://0001-fix-jump-misses-init-gcc-8-warning.patch"
+SRC_URI = "git://github.com/rsyslog/libfastjson.git;protocol=https"
 
-SRCREV = "4758b1caf69ada911ef79e1d80793fe489b98dff"
+SRCREV = "0293afb3913f760c449348551cca4d2df59c1a00"
 
 S = "${WORKDIR}/git"
 
diff --git a/meta-openembedded/meta-oe/recipes-extended/sanlock/sanlock_3.8.2.bb b/meta-openembedded/meta-oe/recipes-extended/sanlock/sanlock_3.8.3.bb
similarity index 96%
rename from meta-openembedded/meta-oe/recipes-extended/sanlock/sanlock_3.8.2.bb
rename to meta-openembedded/meta-oe/recipes-extended/sanlock/sanlock_3.8.3.bb
index 6f3685c..e8b2e37 100644
--- a/meta-openembedded/meta-oe/recipes-extended/sanlock/sanlock_3.8.2.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/sanlock/sanlock_3.8.3.bb
@@ -16,7 +16,7 @@
 SRC_URI = "git://pagure.io/sanlock.git;protocol=http \
            file://0001-sanlock-Replace-cp-a-with-cp-R-no-dereference-preser.patch;patchdir=../ \
           "
-SRCREV = "01b727adf1ce3c0ed5b95299d60f62bc66d98eb5"
+SRCREV = "3a750fed849405c745dcb7b4ceb85f662c53d8d0"
 
 S = "${WORKDIR}/git/python"
 
diff --git a/meta-openembedded/meta-oe/recipes-gnome/gtk+/files/0001-do-not-build-demos.patch b/meta-openembedded/meta-oe/recipes-gnome/gtk+/files/0001-do-not-build-demos.patch
deleted file mode 100644
index 176e979..0000000
--- a/meta-openembedded/meta-oe/recipes-gnome/gtk+/files/0001-do-not-build-demos.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-From 6914eccee34376f9067b0ee9f17039fe182125e8 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
-Date: Sat, 31 Mar 2018 22:29:16 +0200
-Subject: [PATCH] do not build demos
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-They are not installed anyway and add libepoxy dependency
-
-Upstream-Status: Pending
-
-Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
----
- Makefile.am  | 3 ++-
- configure.ac | 3 ---
- 2 files changed, 2 insertions(+), 4 deletions(-)
-
-diff --git a/Makefile.am b/Makefile.am
-index 984b6a7..6c754a6 100644
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -28,7 +28,8 @@ doc_subdirs = docs
- else
- doc_subdirs =
- endif
--SUBDIRS = tools $(src_subdirs) gdk/gdkmm gtk/gtkmm tests demos $(doc_subdirs)
-+
-+SUBDIRS = tools $(src_subdirs) gdk/gdkmm gtk/gtkmm tests $(doc_subdirs)
- 
- gdkmm_includedir = $(includedir)/$(GDKMM_MODULE_NAME)
- gdkmm_include_HEADERS = gdk/gdkmm.h
-diff --git a/configure.ac b/configure.ac
-index e5e82dc..c1c7658 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -109,11 +109,8 @@ AS_IF([test "x$gtkmm_enable_api_atkmm" != xno],
-       [GTKMM_MODULES="atkmm-1.6 >= 2.24.2 $GTKMM_MODULES"])
- AC_SUBST([GTKMM_MODULES])
- 
--AC_SUBST([GTKMM_DEMOS_EXTRA_MODULES], ['epoxy >= 1.2'])
--
- PKG_CHECK_MODULES([GDKMM], [$GDKMM_MODULES])
- PKG_CHECK_MODULES([GTKMM], [$GTKMM_MODULES])
--PKG_CHECK_MODULES([GTKMM_DEMOS_EXTRA], [$GTKMM_DEMOS_EXTRA_MODULES])
- 
- MM_PKG_CONFIG_SUBST([GTHREAD_CFLAGS], [--cflags-only-other gthread-2.0])
- MM_PKG_CONFIG_SUBST([GTHREAD_LIBS], [--libs gthread-2.0])
--- 
-2.14.3
-
diff --git a/meta-openembedded/meta-oe/recipes-gnome/gtk+/gtk+_2.24.32.bb b/meta-openembedded/meta-oe/recipes-gnome/gtk+/gtk+_2.24.33.bb
similarity index 91%
rename from meta-openembedded/meta-oe/recipes-gnome/gtk+/gtk+_2.24.32.bb
rename to meta-openembedded/meta-oe/recipes-gnome/gtk+/gtk+_2.24.33.bb
index 682d31e..0c2e353 100644
--- a/meta-openembedded/meta-oe/recipes-gnome/gtk+/gtk+_2.24.32.bb
+++ b/meta-openembedded/meta-oe/recipes-gnome/gtk+/gtk+_2.24.33.bb
@@ -13,8 +13,7 @@
            file://0001-Do-not-look-into-HOME-when-looking-for-gtk-modules.patch \
            "
 
-SRC_URI[md5sum] = "d5742aa42275203a499b59b4c382a784"
-SRC_URI[sha256sum] = "b6c8a93ddda5eabe3bfee1eb39636c9a03d2a56c7b62828b359bf197943c582e"
+SRC_URI[sha256sum] = "ac2ac757f5942d318a311a54b0c80b5ef295f299c2a73c632f6bfb1ff49cc6da"
 
 EXTRA_OECONF = "--enable-xkb --disable-glibtest --disable-cups --disable-xinerama"
 
diff --git a/meta-openembedded/meta-oe/recipes-gnome/gtk+/gtkmm3_3.24.2.bb b/meta-openembedded/meta-oe/recipes-gnome/gtk+/gtkmm3_3.24.2.bb
deleted file mode 100644
index adc38d8..0000000
--- a/meta-openembedded/meta-oe/recipes-gnome/gtk+/gtkmm3_3.24.2.bb
+++ /dev/null
@@ -1,23 +0,0 @@
-SUMMARY = "C++ bindings for the GTK+ toolkit V3"
-HOMEPAGE = "http://www.gtkmm.org/"
-SECTION = "libs"
-
-LICENSE = "LGPLv2.1 & GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c \
-                    file://COPYING.tools;md5=751419260aa954499f7abaabaa882bbe"
-
-DEPENDS = "atkmm pangomm glibmm gtk+3 cairomm"
-
-BPN = "gtkmm"
-
-inherit gnomebase features_check
-
-REQUIRED_DISTRO_FEATURES = "x11"
-
-SRC_URI[archive.md5sum] = "e311db484ca9c53f1689d35f5f58a06b"
-SRC_URI[archive.sha256sum] = "6d71091bcd1863133460d4188d04102810e9123de19706fb656b7bb915b4adc3"
-SRC_URI += "file://0001-do-not-build-demos.patch"
-
-EXTRA_OECONF = " --disable-documentation "
-
-FILES_${PN}-dev += "${libdir}/*/include ${libdir}/*/proc/m4"
diff --git a/meta-openembedded/meta-oe/recipes-gnome/gtk+/gtkmm3_3.24.3.bb b/meta-openembedded/meta-oe/recipes-gnome/gtk+/gtkmm3_3.24.3.bb
new file mode 100644
index 0000000..f9ca7fd
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-gnome/gtk+/gtkmm3_3.24.3.bb
@@ -0,0 +1,23 @@
+SUMMARY = "C++ bindings for the GTK+ toolkit V3"
+HOMEPAGE = "http://www.gtkmm.org/"
+SECTION = "libs"
+
+LICENSE = "LGPLv2.1 & GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c \
+                    file://COPYING.tools;md5=751419260aa954499f7abaabaa882bbe"
+
+DEPENDS = "glib-2.0-native atkmm pangomm glibmm gtk+3 cairomm"
+
+BPN = "gtkmm"
+
+GNOMEBASEBUILDCLASS = "meson"
+
+inherit gnomebase features_check
+
+REQUIRED_DISTRO_FEATURES = "x11"
+
+SRC_URI[archive.sha256sum] = "60497c4f7f354c3bd2557485f0254f8b7b4cf4bebc9fee0be26a77744eacd435"
+
+EXTRA_OEMESON = "-Dbuild-demos=false"
+
+FILES_${PN}-dev += "${libdir}/*/include ${libdir}/*/proc/m4"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/glm/glm/0001-Fix-Wimplicit-int-float-conversion-warnings-with-cla.patch b/meta-openembedded/meta-oe/recipes-graphics/glm/glm/0001-Fix-Wimplicit-int-float-conversion-warnings-with-cla.patch
deleted file mode 100644
index 2eb50a5..0000000
--- a/meta-openembedded/meta-oe/recipes-graphics/glm/glm/0001-Fix-Wimplicit-int-float-conversion-warnings-with-cla.patch
+++ /dev/null
@@ -1,158 +0,0 @@
-From 461861cd2e34294830b121db834c05ff39424f6f Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 27 Dec 2019 18:42:51 -0800
-Subject: [PATCH] Fix Wimplicit-int-float-conversion warnings with clang 10+
-
-This is a new warning in clang which will be available in clang 10
-onwards
-
-Fixes
-error: implicit conversion from 'const int' to 'float' may lose precision [-Werror,-Wimplicit-int-float-conversion]
-
-Upstream-Status: Submitted [https://github.com/g-truc/glm/pull/986]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- glm/gtx/scalar_multiplication.hpp  |  2 +-
- test/gtx/gtx_fast_trigonometry.cpp | 32 +++++++++++++++---------------
- 2 files changed, 17 insertions(+), 17 deletions(-)
-
-diff --git a/glm/gtx/scalar_multiplication.hpp b/glm/gtx/scalar_multiplication.hpp
-index f391f8de..496ba193 100644
---- a/glm/gtx/scalar_multiplication.hpp
-+++ b/glm/gtx/scalar_multiplication.hpp
-@@ -54,7 +54,7 @@ namespace glm
- 	template<typename T> \
- 	return_type_scalar_multiplication<T, Vec> \
- 	operator/(Vec lh, T const& s){ \
--		return lh *= 1.0f / s; \
-+		return lh *= 1.0f / static_cast<float>(s); \
- 	}
- 
- GLM_IMPLEMENT_SCAL_MULT(vec2)
-diff --git a/test/gtx/gtx_fast_trigonometry.cpp b/test/gtx/gtx_fast_trigonometry.cpp
-index f3bf17bf..f3c4e957 100644
---- a/test/gtx/gtx_fast_trigonometry.cpp
-+++ b/test/gtx/gtx_fast_trigonometry.cpp
-@@ -239,12 +239,12 @@ namespace taylorCos
- 		std::vector<glm::vec4> Results;
- 		Results.resize(Samples);
- 
--		float Steps = (End - Begin) / Samples;
-+		float Steps = (End - Begin) / float(Samples);
- 
- 		std::clock_t const TimeStampBegin = std::clock();
- 
- 		for(std::size_t i = 0; i < Samples; ++i)
--			Results[i] = fastCosNew(AngleShift + glm::vec4(Begin + Steps * i));
-+			Results[i] = fastCosNew(AngleShift + glm::vec4(Begin + Steps * float(i)));
- 
- 		std::clock_t const TimeStampEnd = std::clock();
- 
-@@ -280,12 +280,12 @@ namespace taylorCos
- 		std::vector<glm::vec4> Results;
- 		Results.resize(Samples);
- 
--		float Steps = (End - Begin) / Samples;
-+		float Steps = (End - Begin) / float(Samples);
- 
- 		std::clock_t const TimeStampBegin = std::clock();
- 
- 		for(std::size_t i = 0; i < Samples; ++i)
--			Results[i] = taylorCos::fastCosDeterminisctic(AngleShift + glm::vec4(Begin + Steps * i));
-+			Results[i] = taylorCos::fastCosDeterminisctic(AngleShift + glm::vec4(Begin + Steps * float(i)));
- 
- 		std::clock_t const TimeStampEnd = std::clock();
- 
-@@ -327,12 +327,12 @@ namespace taylorCos
- 		std::vector<glm::vec4> Results;
- 		Results.resize(Samples);
- 
--		float Steps = (End - Begin) / Samples;
-+		float Steps = (End - Begin) / float(Samples);
- 
- 		std::clock_t const TimeStampBegin = std::clock();
- 
- 		for(std::size_t i = 0; i < Samples; ++i)
--			Results[i] = taylorCos::fastRefCos(AngleShift + glm::vec4(Begin + Steps * i));
-+			Results[i] = taylorCos::fastRefCos(AngleShift + glm::vec4(Begin + Steps * float(i)));
- 
- 		std::clock_t const TimeStampEnd = std::clock();
- 
-@@ -349,12 +349,12 @@ namespace taylorCos
- 		std::vector<glm::vec4> Results;
- 		Results.resize(Samples);
- 
--		float Steps = (End - Begin) / Samples;
-+		float Steps = (End - Begin) / float(Samples);
- 
- 		std::clock_t const TimeStampBegin = std::clock();
- 
- 		for(std::size_t i = 0; i < Samples; ++i)
--			Results[i] = glm::fastCos(AngleShift + glm::vec4(Begin + Steps * i));
-+			Results[i] = glm::fastCos(AngleShift + glm::vec4(Begin + Steps * float(i)));
- 
- 		std::clock_t const TimeStampEnd = std::clock();
- 
-@@ -371,12 +371,12 @@ namespace taylorCos
- 		std::vector<glm::vec4> Results;
- 		Results.resize(Samples);
- 
--		float Steps = (End - Begin) / Samples;
-+		float Steps = (End - Begin) / float(Samples);
- 
- 		std::clock_t const TimeStampBegin = std::clock();
- 
- 		for(std::size_t i = 0; i < Samples; ++i)
--			Results[i] = glm::cos(AngleShift + glm::vec4(Begin + Steps * i));
-+			Results[i] = glm::cos(AngleShift + glm::vec4(Begin + Steps * float(i)));
- 
- 		std::clock_t const TimeStampEnd = std::clock();
- 
-@@ -466,12 +466,12 @@ namespace taylor2
- 		std::vector<float> Results;
- 		Results.resize(Samples);
- 
--		float Steps = (End - Begin) / Samples;
-+		float Steps = (End - Begin) / float(Samples);
- 
- 		std::clock_t const TimeStampBegin = std::clock();
- 
- 		for(std::size_t i = 0; i < Samples; ++i)
--			Results[i] = taylorCosA(AngleShift.x + Begin + Steps * i);
-+			Results[i] = taylorCosA(AngleShift.x + Begin + Steps * float(i));
- 
- 		std::clock_t const TimeStampEnd = std::clock();
- 
-@@ -488,12 +488,12 @@ namespace taylor2
- 		std::vector<float> Results;
- 		Results.resize(Samples);
- 
--		float Steps = (End - Begin) / Samples;
-+		float Steps = (End - Begin) / float(Samples);
- 
- 		std::clock_t const TimeStampBegin = std::clock();
- 
- 		for(std::size_t i = 0; i < Samples; ++i)
--			Results[i] = taylorCosB(AngleShift.x + Begin + Steps * i);
-+			Results[i] = taylorCosB(AngleShift.x + Begin + Steps * float(i));
- 
- 		std::clock_t const TimeStampEnd = std::clock();
- 
-@@ -510,12 +510,12 @@ namespace taylor2
- 		std::vector<float> Results;
- 		Results.resize(Samples);
- 
--		float Steps = (End - Begin) / Samples;
-+		float Steps = (End - Begin) / float(Samples);
- 
- 		std::clock_t const TimeStampBegin = std::clock();
- 
- 		for(std::size_t i = 0; i < Samples; ++i)
--			Results[i] = taylorCosC(AngleShift.x + Begin + Steps * i);
-+			Results[i] = taylorCosC(AngleShift.x + Begin + Steps * float(i));
- 
- 		std::clock_t const TimeStampEnd = std::clock();
- 
--- 
-2.24.1
-
diff --git a/meta-openembedded/meta-oe/recipes-graphics/glm/glm/0001-Silence-clang-warnings.patch b/meta-openembedded/meta-oe/recipes-graphics/glm/glm/0001-Silence-clang-warnings.patch
new file mode 100644
index 0000000..25e8518
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/glm/glm/0001-Silence-clang-warnings.patch
@@ -0,0 +1,50 @@
+From 5b83983b246cff440de4421696b6b5dd9072ed2d Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 6 Feb 2021 11:36:23 -0800
+Subject: [PATCH] Silence clang warnings
+
+Fixes
+glm/gtc/random.inl:25:17: error: implicit conversion loses integer precision: 'int' to 'unsigned char' [-Werror,-Wimplicit-int-conversion]
+|                                 std::rand() % std::numeric_limits<uint8>::max());
+|                                 ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+glm/gtc/../ext/quaternion_common.inl:76:87: error: unused parameter 'k' [-Werror,-Wunused-parameter]
+    GLM_FUNC_QUALIFIER qua<T, Q> slerp(qua<T, Q> const& x, qua<T, Q> const& y, T a, S k)
+                                                                                      ^
+
+Upstream-Status: Submitted [https://github.com/g-truc/glm/pull/1055]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ glm/ext/quaternion_common.inl | 2 +-
+ glm/gtc/random.inl            | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/glm/ext/quaternion_common.inl b/glm/ext/quaternion_common.inl
+index 0e4a3bb2..8f9dccef 100644
+--- a/glm/ext/quaternion_common.inl
++++ b/glm/ext/quaternion_common.inl
+@@ -104,7 +104,7 @@ namespace glm
+         {
+             // Graphics Gems III, page 96
+             T angle = acos(cosTheta);
+-            T phi = angle + k * glm::pi<T>();
++            T phi = angle + static_cast<float>(k) * glm::pi<T>();
+             return (sin(angle - a * phi)* x + sin(a * phi) * z) / sin(angle);
+         }
+     }
+diff --git a/glm/gtc/random.inl b/glm/gtc/random.inl
+index 70485098..a4af2a06 100644
+--- a/glm/gtc/random.inl
++++ b/glm/gtc/random.inl
+@@ -22,7 +22,7 @@ namespace detail
+ 		GLM_FUNC_QUALIFIER static vec<1, uint8, P> call()
+ 		{
+ 			return vec<1, uint8, P>(
+-				std::rand() % std::numeric_limits<uint8>::max());
++				static_cast<uint8>(std::rand()) % std::numeric_limits<uint8>::max());
+ 		}
+ 	};
+ 
+-- 
+2.30.0
+
diff --git a/meta-openembedded/meta-oe/recipes-graphics/glm/glm_0.9.9.6.bb b/meta-openembedded/meta-oe/recipes-graphics/glm/glm_0.9.9.8.bb
similarity index 86%
rename from meta-openembedded/meta-oe/recipes-graphics/glm/glm_0.9.9.6.bb
rename to meta-openembedded/meta-oe/recipes-graphics/glm/glm_0.9.9.8.bb
index e2f4dbe..c5a7c5b 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/glm/glm_0.9.9.6.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/glm/glm_0.9.9.8.bb
@@ -6,17 +6,17 @@
 BUGTRACKER = "https://github.com/g-truc/glm/issues"
 SECTION = "libs"
 LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://copying.txt;md5=4a735e33f271f57404fda17e80085411"
+LIC_FILES_CHKSUM = "file://copying.txt;md5=462e4b97f73ef12f8171c3c546ce4e8d"
 
 SRC_URI = " \
     git://github.com/g-truc/glm;branch=master \
-    file://0001-Fix-Wimplicit-int-float-conversion-warnings-with-cla.patch \
+    file://0001-Silence-clang-warnings.patch \
     file://glmConfig.cmake.in \
     file://glmConfigVersion.cmake.in \
     file://glm.pc.in \
     file://glmTargets.cmake \
 "
-SRCREV = "4db8f89aace8f04c839b606e15b39fb8383ec732"
+SRCREV = "bf71a834948186f4097caa076cd2663c69a10e1e"
 
 S = "${WORKDIR}/git"
 
diff --git a/meta-openembedded/meta-oe/recipes-graphics/graphviz/graphviz_2.44.1.bb b/meta-openembedded/meta-oe/recipes-graphics/graphviz/graphviz_2.44.1.bb
index bc46a11..8fe837b 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/graphviz/graphviz_2.44.1.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/graphviz/graphviz_2.44.1.bb
@@ -20,13 +20,6 @@
 
 inherit autotools-brokensep pkgconfig gettext
 
-# The source tarball suggested at
-# https://graphviz.gitlab.io/_pages/Download/Download_source.html has no
-# version in its name. So once graphviz is updgraded, only first time users will
-# get checksum errors. Fedora people seem to expect same so they use a versioned
-# source - see https://src.fedoraproject.org/cgit/rpms/graphviz.git/tree/graphviz.spec
-
-SRCREV = "771bc4dbff3e6f358fa75cdc7774a413ccacad51"
 SRC_URI = "https://www2.graphviz.org/Packages/stable/portable_source/${BP}.tar.gz \
            file://0001-plugin-pango-Include-freetype-headers-explicitly.patch \
 "
diff --git a/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl2-mixer/0001-configure.in-Undefine-AC_CONFIG_AUX_DIR.patch b/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl2-mixer/0001-configure.in-Undefine-AC_CONFIG_AUX_DIR.patch
new file mode 100644
index 0000000..0605b32
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl2-mixer/0001-configure.in-Undefine-AC_CONFIG_AUX_DIR.patch
@@ -0,0 +1,34 @@
+From 9363c98528ef850235852e44f678df6b5c011ee1 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 7 Feb 2021 18:08:36 -0800
+Subject: [PATCH] configure.in: Undefine AC_CONFIG_AUX_DIR
+
+This helps reconfiguring with autotools 2.70+
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ configure.in | 5 -----
+ 1 file changed, 5 deletions(-)
+
+--- a/configure.in
++++ b/configure.in
+@@ -1,7 +1,6 @@
+ dnl Process this file with autoconf to produce a configure script.
+ AC_INIT(README.txt)
+ AC_CONFIG_AUX_DIR(build-scripts)
+-
+ dnl Set various version strings - taken gratefully from the GTk sources
+ 
+ # Making releases:
+@@ -40,10 +39,6 @@ AC_SUBST(LT_CURRENT)
+ AC_SUBST(LT_REVISION)
+ AC_SUBST(LT_AGE)
+ 
+-dnl Detect the canonical build and host environments
+-AC_CONFIG_AUX_DIRS($srcdir/build-scripts)
+-dnl AC_CANONICAL_HOST
+-
+ dnl Check for tools
+ AC_PROG_LIBTOOL
+ AC_PROG_CC
diff --git a/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl2-mixer_2.0.4.bb b/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl2-mixer_2.0.4.bb
index 8f1960d..6b6a531 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl2-mixer_2.0.4.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl2-mixer_2.0.4.bb
@@ -4,18 +4,18 @@
 LICENSE = "Zlib"
 LIC_FILES_CHKSUM = "file://COPYING.txt;md5=516daf7a177ad4c8874bb9efa1a69c1f"
 
-SRC_URI = "http://www.libsdl.org/projects/SDL_mixer/release/SDL2_mixer-${PV}.tar.gz"
-
-SRC_URI[md5sum] = "a36e8410cac46b00a4d01752b32c3eb1"
+SRC_URI = "http://www.libsdl.org/projects/SDL_mixer/release/SDL2_mixer-${PV}.tar.gz \
+           file://0001-configure.in-Undefine-AC_CONFIG_AUX_DIR.patch \
+          "
 SRC_URI[sha256sum] = "b4cf5a382c061cd75081cf246c2aa2f9df8db04bdda8dcdc6b6cca55bede2419"
 
 S = "${WORKDIR}/SDL2_mixer-${PV}"
 
 inherit autotools-brokensep pkgconfig
 
-EXTRA_AUTORECONF += "--include=acinclude"
 EXTRA_OECONF = "--disable-music-mp3 --enable-music-ogg --disable-music-ogg-shared LIBS=-L${STAGING_LIBDIR}"
 
+PACKAGECONFIG ??= ""
 PACKAGECONFIG[mad] = "--enable-music-mp3-mad-gpl,--disable-music-mp3-mad-gpl,libmad"
 
 do_configure_prepend () {
diff --git a/meta-openembedded/meta-oe/recipes-graphics/lxdm/lxdm/0001-greeter-set-visible-when-switch-to-input-user.patch b/meta-openembedded/meta-oe/recipes-graphics/lxdm/lxdm/0001-greeter-set-visible-when-switch-to-input-user.patch
new file mode 100644
index 0000000..e01dc7f
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/lxdm/lxdm/0001-greeter-set-visible-when-switch-to-input-user.patch
@@ -0,0 +1,33 @@
+From f6b8e141e00c4837239f5b69af4e7bee1204abba Mon Sep 17 00:00:00 2001
+From: Kai Kang <kai.kang@windriver.com>
+Date: Thu, 17 Dec 2020 10:18:58 +0800
+Subject: [PATCH 1/8] greeter: set visible when switch to input user
+
+It switches back to input user entry if press Esc key when input the
+password. At this time, the user name input is shown as '*' rather than
+plain text. Set the visibility to fix this issue. And clean the text as
+well.
+
+Upstream-Status: Submitted [https://sourceforge.net/p/lxdm/code/merge-requests/1/]
+
+Signed-off-by: Kai Kang <kai.kang@windriver.com>
+---
+ src/greeter.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/src/greeter.c b/src/greeter.c
+index 2c6e5be..f100c72 100644
+--- a/src/greeter.c
++++ b/src/greeter.c
+@@ -139,6 +139,8 @@ static void switch_to_input_user(void)
+ 		pass=NULL;
+ 	}
+ 	gtk_label_set_text( GTK_LABEL(prompt), _("User:"));
++	gtk_entry_set_text(GTK_ENTRY(login_entry), "");
++	gtk_entry_set_visibility(GTK_ENTRY(login_entry), TRUE);
+ 	gtk_widget_show(prompt);
+ 	if(user_list)
+ 	{
+-- 
+2.25.1
+
diff --git a/meta-openembedded/meta-oe/recipes-graphics/lxdm/lxdm/0002-greeter-gdk.c-fix-typo.patch b/meta-openembedded/meta-oe/recipes-graphics/lxdm/lxdm/0002-greeter-gdk.c-fix-typo.patch
new file mode 100644
index 0000000..da02129
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/lxdm/lxdm/0002-greeter-gdk.c-fix-typo.patch
@@ -0,0 +1,28 @@
+From 3a3c5c644c9790cb3f88f3ce3757c2803cff90c5 Mon Sep 17 00:00:00 2001
+From: Kai Kang <kai.kang@windriver.com>
+Date: Thu, 17 Dec 2020 14:32:40 +0800
+Subject: [PATCH 2/8] greeter-gdk.c: fix typo
+
+Upstream-Status: Submitted [https://sourceforge.net/p/lxdm/code/merge-requests/1/]
+
+Signed-off-by: Kai Kang <kai.kang@windriver.com>
+---
+ src/greeter-gdk.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/greeter-gdk.c b/src/greeter-gdk.c
+index 1b27d2e..5aa3e7f 100644
+--- a/src/greeter-gdk.c
++++ b/src/greeter-gdk.c
+@@ -299,7 +299,7 @@ void ui_prepare(void)
+         attr.wclass = GDK_INPUT_OUTPUT;
+         win = gdk_window_new(root, &attr, mask);
+         gdk_window_set_decorations(win,0);
+-        gdk_window_set_title(win,"lxdm-greter-gdk");
++        gdk_window_set_title(win,"lxdm-greeter-gdk");
+         
+         scr=gdk_screen_get_default();
+         g_signal_connect(scr, "size-changed", G_CALLBACK(on_screen_size_changed), win);
+-- 
+2.25.1
+
diff --git a/meta-openembedded/meta-oe/recipes-graphics/lxdm/lxdm/0003-check-whether-password-expired-with-pam.patch b/meta-openembedded/meta-oe/recipes-graphics/lxdm/lxdm/0003-check-whether-password-expired-with-pam.patch
new file mode 100644
index 0000000..c648543
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/lxdm/lxdm/0003-check-whether-password-expired-with-pam.patch
@@ -0,0 +1,46 @@
+From 497e0fc7010969759c8247f7013a89589c44234a Mon Sep 17 00:00:00 2001
+From: Kai Kang <kai.kang@windriver.com>
+Date: Thu, 17 Dec 2020 18:12:29 +0800
+Subject: [PATCH 3/8] check whether password expired with pam
+
+Introduce a new enum AuthResult type AUTH_PASSWD_EXPIRE. When user's
+password is expired, return it. Only work with pam.
+
+Upstream-Status: Submitted [https://sourceforge.net/p/lxdm/code/merge-requests/1/]
+
+Signed-off-by: Kai Kang <kai.kang@windriver.com>
+---
+ src/lxdm.h | 1 +
+ src/pam.c  | 4 ++++
+ 2 files changed, 5 insertions(+)
+
+diff --git a/src/lxdm.h b/src/lxdm.h
+index 568573f..1c2f837 100644
+--- a/src/lxdm.h
++++ b/src/lxdm.h
+@@ -41,6 +41,7 @@ enum AuthResult
+     AUTH_SUCCESS,
+     AUTH_BAD_USER,
+     AUTH_FAIL,
++    AUTH_PASSWD_EXPIRE,
+     AUTH_PRIV,
+     AUTH_ERROR
+ };
+diff --git a/src/pam.c b/src/pam.c
+index 43bd687..16a36f0 100644
+--- a/src/pam.c
++++ b/src/pam.c
+@@ -257,6 +257,10 @@ int lxdm_auth_user_authenticate(LXDM_AUTH *a,const char *user,const char *pass,i
+ 			return AUTH_FAIL;
+ 		}
+ 		ret=pam_acct_mgmt(a->handle,PAM_SILENT);
++		if (ret == PAM_NEW_AUTHTOK_REQD) {
++			g_debug("user %s account has expired\n", user);
++			return AUTH_PASSWD_EXPIRE;
++		}
+ 		if(ret!=PAM_SUCCESS)
+ 		{
+ 			g_debug("user %s acct mgmt fail with %d\n",user,ret);
+-- 
+2.25.1
+
diff --git a/meta-openembedded/meta-oe/recipes-graphics/lxdm/lxdm/0004-lxdm.c-add-function-to-change-password-with-pam.patch b/meta-openembedded/meta-oe/recipes-graphics/lxdm/lxdm/0004-lxdm.c-add-function-to-change-password-with-pam.patch
new file mode 100644
index 0000000..29c1000
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/lxdm/lxdm/0004-lxdm.c-add-function-to-change-password-with-pam.patch
@@ -0,0 +1,124 @@
+From d4de5497bd89c408377194b9fa9026ba8e68b634 Mon Sep 17 00:00:00 2001
+From: Kai Kang <kai.kang@windriver.com>
+Date: Mon, 11 Jan 2021 14:11:05 +0800
+Subject: [PATCH 4/8] lxdm.c: add function to change password with pam
+
+Add function to change user's password when pam is enabled. It is useful
+to change user's password when the password is expired.
+
+Upstream-Status: Submitted [https://sourceforge.net/p/lxdm/code/merge-requests/1/]
+
+Signed-off-by: Kai Kang <kai.kang@windriver.com>
+---
+ src/lxdm.c | 68 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ src/lxdm.h |  1 +
+ 2 files changed, 69 insertions(+)
+
+diff --git a/src/lxdm.c b/src/lxdm.c
+index 638c30f..fe17a71 100644
+--- a/src/lxdm.c
++++ b/src/lxdm.c
+@@ -104,6 +104,10 @@ static int old_tty=1,def_tty = 7,nr_tty=0;
+ static int def_display=0;
+ static GSList *session_list;
+ 
++#if HAVE_LIBPAM
++static const char *new_passwd = NULL;
++#endif
++
+ static void lxdm_startx(LXSession *s);
+ 
+ static int get_active_vt(void)
+@@ -759,6 +763,69 @@ int lxdm_auth_user(int type,char *user, char *pass, struct passwd **ppw)
+ 	return ret;
+ }
+ 
++
++#if HAVE_LIBPAM
++
++static int do_conv(int num, const struct pam_message **msg,struct pam_response **resp, void *arg)
++{
++	int result = PAM_SUCCESS;
++	int i;
++
++	*resp = (struct pam_response *) calloc(num, sizeof(struct pam_response));
++	for(i = 0; i < num; i++)
++	{
++		switch (msg[i]->msg_style) {
++			case PAM_PROMPT_ECHO_ON:
++				break;
++			case PAM_PROMPT_ECHO_OFF:
++				resp[i]->resp = strdup(new_passwd);
++				break;
++			case PAM_ERROR_MSG:
++			case PAM_TEXT_INFO:
++				break;
++			default:
++				break;
++		}
++	}
++	return result;
++}
++
++static int lxdm_change_passwd_pam(const char *service, const char *user, const char *pass)
++{
++	pam_handle_t *pamh = NULL;
++	static struct pam_conv conv = {
++		do_conv,
++		NULL
++	};
++
++	int ret = pam_start("lxdm", user, &conv, &pamh);
++	if (PAM_SUCCESS != ret) {
++		g_warning("pam_start failed.");
++		return 1;
++	}
++
++	new_passwd = pass;
++	ret = pam_chauthtok(pamh, 0);
++	if (PAM_SUCCESS != ret) {
++		g_warning("pam_chauthtok failed: %s", pam_strerror(pamh, ret));
++		return 1;
++	}
++
++	(void)pam_end(pamh, PAM_SUCCESS);
++
++	return 0;
++}
++#endif
++
++int lxdm_change_passwd(const char *user, const char *pass)
++{
++#if HAVE_LIBPAM
++	return lxdm_change_passwd_pam("lxdm", user, pass);
++#else
++	return 0;
++#endif
++}
++
+ static void close_left_fds(void)
+ {
+ 	struct dirent **list;
+@@ -1446,6 +1513,7 @@ int lxdm_do_auto_login(void)
+ 			lxdm_do_login(pw,session,lang,option);
+ 			success=1;
+ 		}
++
+ 		g_free(user);g_free(session);g_free(lang);
+ 	}
+ 	g_free(last_lang);
+diff --git a/src/lxdm.h b/src/lxdm.h
+index 1c2f837..be3c81f 100644
+--- a/src/lxdm.h
++++ b/src/lxdm.h
+@@ -30,6 +30,7 @@ G_BEGIN_DECLS
+ extern GKeyFile *config;
+ 
+ int lxdm_auth_user(int type,char *user,char *pass,struct passwd **ppw);
++int lxdm_change_passwd(const char *user, const char *pass);
+ void lxdm_do_login(struct passwd *pw,char *session,char *lang,char *option);
+ void lxdm_do_reboot(void);
+ void lxdm_do_shutdown(void);
+-- 
+2.25.1
+
diff --git a/meta-openembedded/meta-oe/recipes-graphics/lxdm/lxdm/0005-ui.c-handle-password-expire-and-update-new-password.patch b/meta-openembedded/meta-oe/recipes-graphics/lxdm/lxdm/0005-ui.c-handle-password-expire-and-update-new-password.patch
new file mode 100644
index 0000000..ecbe68d
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/lxdm/lxdm/0005-ui.c-handle-password-expire-and-update-new-password.patch
@@ -0,0 +1,53 @@
+From 54b2ed18ca52fa682ade2fe84e1b0d19d1b78cc4 Mon Sep 17 00:00:00 2001
+From: Kai Kang <kai.kang@windriver.com>
+Date: Mon, 11 Jan 2021 16:48:26 +0800
+Subject: [PATCH 5/8] ui.c: handle password-expire and update-new-password
+
+Upstream-Status: Submitted [https://sourceforge.net/p/lxdm/code/merge-requests/1/]
+
+Signed-off-by: Kai Kang <kai.kang@windriver.com>
+---
+ src/ui.c | 20 ++++++++++++++++++++
+ 1 file changed, 20 insertions(+)
+
+diff --git a/src/ui.c b/src/ui.c
+index f233589..3ddb484 100644
+--- a/src/ui.c
++++ b/src/ui.c
+@@ -161,6 +161,9 @@ static gboolean on_greeter_input(GIOChannel *source, GIOCondition condition, gpo
+ 				ui_drop();
+ 				lxdm_do_login(pw, session, lang,NULL);
+ 			}
++			else if (AUTH_PASSWD_EXPIRE == ret) {
++				xwrite(greeter_pipe[0], "password-expire\n", 16);
++			}
+ 			else
+ 			{
+ 				if(pass!=NULL)
+@@ -205,6 +208,23 @@ static gboolean on_greeter_input(GIOChannel *source, GIOCondition condition, gpo
+ 		g_free(session);
+ 		g_free(lang);
+ 	}
++	else if (!strncmp(str, "update-new-password", 19)) {
++		xwrite(greeter_pipe[0], "update-new-password\n", 20);
++		char *user = greeter_param(str, "user");
++		char *pass = greeter_param(str, "newpass");
++		char *session = greeter_param(str, "session");
++		char *lang = greeter_param(str, "lang");
++
++		int ret = lxdm_change_passwd(user, pass);
++		if (ret) {
++			xwrite(greeter_pipe[0], "invalid-new-password\n", 21);
++		} else {
++			struct passwd *pw;
++			ret = lxdm_auth_user(AUTH_TYPE_NORMAL, user, pass, &pw);
++			ui_drop();
++			lxdm_do_login(pw, session, lang, NULL);
++		}
++	}
+ 	g_free(str);
+ 	return TRUE;
+ }
+-- 
+2.25.1
+
diff --git a/meta-openembedded/meta-oe/recipes-graphics/lxdm/lxdm/0006-themes-Industrial-add-info-label-in-ui.patch b/meta-openembedded/meta-oe/recipes-graphics/lxdm/lxdm/0006-themes-Industrial-add-info-label-in-ui.patch
new file mode 100644
index 0000000..4cadc3d
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/lxdm/lxdm/0006-themes-Industrial-add-info-label-in-ui.patch
@@ -0,0 +1,124 @@
+From 8414d63343cc7909bc7a972941c678509d5d5be6 Mon Sep 17 00:00:00 2001
+From: Kai Kang <kai.kang@windriver.com>
+Date: Mon, 11 Jan 2021 10:15:45 +0800
+Subject: [PATCH 6/8] themes/Industrial: add info label in ui
+
+Adjust the layout and add a new label "info" under the labe "prompt" in
+themes/Industrial to tell user some useful information such as
+"Authentication failed" or "Invalid password".
+
+Upstream-Status: Submitted [https://sourceforge.net/p/lxdm/code/merge-requests/1/]
+
+Signed-off-by: Kai Kang <kai.kang@windriver.com>
+---
+ data/themes/Industrial/greeter-gtk3.ui | 27 +++++++++++++++++++++++++-
+ data/themes/Industrial/greeter.ui      | 27 +++++++++++++++++++++++++-
+ data/themes/Industrial/gtk.css         |  5 +++++
+ 3 files changed, 57 insertions(+), 2 deletions(-)
+
+diff --git a/data/themes/Industrial/greeter-gtk3.ui b/data/themes/Industrial/greeter-gtk3.ui
+index 2f4e631..e59eee3 100644
+--- a/data/themes/Industrial/greeter-gtk3.ui
++++ b/data/themes/Industrial/greeter-gtk3.ui
+@@ -45,7 +45,12 @@
+                     <property name="xscale">0</property>
+                     <property name="yscale">0</property>
+                     <child>
+-                      <object class="GtkHBox" id="hbox3">
++                      <object class="GtkVBox" id="vbox3">
++                      <property name="visible">True</property>
++                      <property name="orientation">vertical</property>
++                      <property name="spacing">12</property>
++                      <child>
++                        <object class="GtkHBox" id="hbox3">
+                         <property name="visible">True</property>
+                         <property name="spacing">12</property>
+                         <child>
+@@ -91,6 +96,26 @@
+                           </packing>
+                         </child>
+                       </object>
++                      </child>
++                      <child>
++                        <object class="GtkHBox" id="hbox4">
++                        <property name="visible">True</property>
++                        <property name="spacing">12</property>
++                        <child>
++                          <object class="GtkLabel" id="info">
++                            <property name="visible">True</property>
++                            <property name="label" translatable="yes"></property>
++                            <property name="yalign">0.2</property>
++                          </object>
++                          <packing>
++                            <property name="expand">False</property>
++                            <property name="fill">False</property>
++                            <property name="position">0</property>
++                          </packing>
++                        </child>
++                        </object>
++                      </child>
++                      </object>
+                     </child>
+                   </object>
+                   <packing>
+diff --git a/data/themes/Industrial/greeter.ui b/data/themes/Industrial/greeter.ui
+index 3413922..6a02d8d 100644
+--- a/data/themes/Industrial/greeter.ui
++++ b/data/themes/Industrial/greeter.ui
+@@ -47,7 +47,12 @@
+                     <property name="xscale">0</property>
+                     <property name="yscale">0</property>
+                     <child>
+-                      <object class="GtkHBox" id="hbox3">
++                      <object class="GtkVBox" id="vbox3">
++                      <property name="visible">True</property>
++                      <property name="orientation">vertical</property>
++                      <property name="spacing">12</property>
++                      <child>
++                        <object class="GtkHBox" id="hbox3">
+                         <property name="visible">True</property>
+                         <property name="spacing">12</property>
+                         <child>
+@@ -93,6 +98,26 @@
+                           </packing>
+                         </child>
+                       </object>
++                      </child>
++                      <child>
++                        <object class="GtkHBox" id="hbox4">
++                        <property name="visible">True</property>
++                        <property name="spacing">12</property>
++                        <child>
++                          <object class="GtkLabel" id="info">
++                            <property name="visible">True</property>
++                            <property name="label" translatable="yes"></property>
++                            <property name="yalign">0.2</property>
++                          </object>
++                          <packing>
++                            <property name="expand">False</property>
++                            <property name="fill">False</property>
++                            <property name="position">0</property>
++                          </packing>
++                        </child>
++                        </object>
++                      </child>
++                      </object>
+                     </child>
+                   </object>
+                   <packing>
+diff --git a/data/themes/Industrial/gtk.css b/data/themes/Industrial/gtk.css
+index 7621345..be15f43 100644
+--- a/data/themes/Industrial/gtk.css
++++ b/data/themes/Industrial/gtk.css
+@@ -22,3 +22,8 @@
+ 	font: Sans 12;
+ 	color: #9E9D9B;
+ }
++
++#info {
++        font: Sans 14;
++        font-style: italic;
++}
+-- 
+2.25.1
+
diff --git a/meta-openembedded/meta-oe/recipes-graphics/lxdm/lxdm/0007-greeter.c-support-to-update-expired-password.patch b/meta-openembedded/meta-oe/recipes-graphics/lxdm/lxdm/0007-greeter.c-support-to-update-expired-password.patch
new file mode 100644
index 0000000..84a9fae
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/lxdm/lxdm/0007-greeter.c-support-to-update-expired-password.patch
@@ -0,0 +1,180 @@
+From bae6a2b3a2232abd16a8d8558dda542d4970f1bb Mon Sep 17 00:00:00 2001
+From: Kai Kang <kai.kang@windriver.com>
+Date: Tue, 12 Jan 2021 09:23:05 +0800
+Subject: [PATCH 7/8] greeter.c: support to update expired password
+
+Update greeter to work with ui to handle expired password. It checks
+whether password is expired after input user and password. If expired,
+force user to update password immediately. It allows 3 times to try. If
+exceeds, reset to input user.
+
+Upstream-Status: Submitted [https://sourceforge.net/p/lxdm/code/merge-requests/1/]
+
+Signed-off-by: Kai Kang <kai.kang@windriver.com>
+---
+ src/greeter.c | 83 +++++++++++++++++++++++++++++++++++++++++++++++++--
+ 1 file changed, 81 insertions(+), 2 deletions(-)
+
+diff --git a/src/greeter.c b/src/greeter.c
+index f100c72..804fca0 100644
+--- a/src/greeter.c
++++ b/src/greeter.c
+@@ -77,6 +77,8 @@ static GtkWidget *lang_menu;
+ 
+ static char* user = NULL;
+ static char* pass = NULL;
++static char* new_pass = NULL;
++static gboolean pass_expired = FALSE;
+ 
+ static char* ui_file = NULL;
+ static char *ui_nobody = NULL;
+@@ -167,10 +169,19 @@ static void switch_to_input_passwd(void)
+ 		else
+ 			gtk_widget_hide(user_list);
+ 	}
+-	gtk_label_set_text( GTK_LABEL(prompt), _("Password:") );
++	if (pass_expired) {
++		if (!new_pass) {
++			gtk_label_set_text(GTK_LABEL(prompt), _("New password:"));
++		} else {
++			gtk_label_set_text(GTK_LABEL(prompt), _("Retype new password:"));
++		}
++	} else {
++		gtk_label_set_text( GTK_LABEL(prompt), _("Password:") );
++	}
+ 	gtk_entry_set_text(GTK_ENTRY(login_entry), "");
+ 	gtk_entry_set_visibility(GTK_ENTRY(login_entry), FALSE);
+ 	gtk_widget_show(login_entry);
++	gtk_widget_show(prompt);
+ 	gtk_widget_grab_focus(login_entry);
+ }
+ 
+@@ -189,6 +200,8 @@ static void try_login_user(const char *user)
+ 
+ static void on_entry_activate(GtkEntry* entry)
+ {
++	static int count = 0;
++
+ 	char* tmp;
+ 	if( !user )
+ 	{
+@@ -217,6 +230,46 @@ static void on_entry_activate(GtkEntry* entry)
+ 	}
+ 	else
+ 	{
++		if (pass_expired) {
++			if (!new_pass) {
++				new_pass = g_strdup(gtk_entry_get_text(entry));
++				switch_to_input_passwd();
++			} else {
++				tmp = g_strdup(gtk_entry_get_text(entry));
++				if (strcmp(new_pass, tmp)) {
++					g_free(new_pass);
++					new_pass = NULL;
++					// if new passwords not match, retry for 3 times at most
++					if (++count < 3) {
++						switch_to_input_passwd();
++					} else {
++						count = 0;
++						pass_expired = FALSE;
++						switch_to_input_user();
++					}
++				} else if (!strcmp(pass, g_base64_encode((guchar*)new_pass, strlen(new_pass) + 1))) {
++					// if new password is same as old one
++					g_free(new_pass);
++					new_pass = NULL;
++					if (++count < 3) {
++						switch_to_input_passwd();
++					} else {
++						count = 0;
++						pass_expired = FALSE;
++						switch_to_input_user();
++					}
++				} else {
++					char *session_exec=get_session_exec();
++					char *session_lang=get_session_lang();
++
++					printf("update-new-password user=%s newpass=%s session=%s lang=%s\n",
++						user, new_pass, session_exec, session_lang);
++				}
++			}
++
++			return ;
++		}
++
+ 		char *session_exec=get_session_exec();
+ 		char *session_lang=get_session_lang();
+ 		
+@@ -227,6 +280,7 @@ static void on_entry_activate(GtkEntry* entry)
+ 		printf("login user=%s pass=%s session=%s lang=%s\n",
+ 			user, pass, session_exec, session_lang);
+ 
++#if 0
+ 		/* password check failed */
+ 		g_free(user);
+ 		user = NULL;
+@@ -241,6 +295,7 @@ static void on_entry_activate(GtkEntry* entry)
+ 		gtk_label_set_text( GTK_LABEL(prompt), _("User:") );
+ 		gtk_entry_set_text(GTK_ENTRY(entry), "");
+ 		gtk_entry_set_visibility(GTK_ENTRY(entry), TRUE);
++#endif
+ 	}
+ }
+ 
+@@ -1091,8 +1146,12 @@ static void on_screen_size_changed(GdkScreen *screen,GtkWidget *win)
+ 
+ static gint login_entry_on_key_press (GtkWidget *widget,GdkEventKey *event)
+ {
+-	if(event->keyval == GDK_Escape)
++	if(event->keyval == GDK_Escape) {
++		g_free(new_pass);
++		new_pass = NULL;
++		pass_expired = FALSE;
+ 		switch_to_input_user();
++	}
+ 	return FALSE;
+ }		     
+ 
+@@ -1285,8 +1344,10 @@ static void create_win()
+ 
+ static gboolean on_lxdm_command(GIOChannel *source, GIOCondition condition, gpointer data)
+ {
++
+ 	GIOStatus ret;
+ 	char *str;
++	static int count = 0;
+ 
+ 	if( !(G_IO_IN & condition) )
+ 		return FALSE;
+@@ -1300,10 +1361,28 @@ static gboolean on_lxdm_command(GIOChannel *source, GIOCondition condition, gpoi
+ 	{
+ 		switch_to_input_user();
+ 	}
++	else if (!strncmp(str, "password-expire", 15))
++	{
++		pass_expired = TRUE;
++		switch_to_input_passwd();
++	}
+ 	else if( !strncmp(str, "password", 8))
+ 	{
+ 		switch_to_input_passwd();
+ 	}
++	else if (!strncmp(str, "invalid-new-password", 20))
++	{
++		g_free(new_pass);
++		new_pass = NULL;
++
++		if (count++ < 3) {
++			switch_to_input_passwd();
++		} else {
++			count = 0;
++			pass_expired = FALSE;
++			switch_to_input_user();
++		}
++	}
+ 	g_free(str);
+ 	return TRUE;
+ }
+-- 
+2.25.1
+
diff --git a/meta-openembedded/meta-oe/recipes-graphics/lxdm/lxdm/0008-greeter.c-show-information-on-gtk-label-info.patch b/meta-openembedded/meta-oe/recipes-graphics/lxdm/lxdm/0008-greeter.c-show-information-on-gtk-label-info.patch
new file mode 100644
index 0000000..eab9fd5
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/lxdm/lxdm/0008-greeter.c-show-information-on-gtk-label-info.patch
@@ -0,0 +1,99 @@
+From bb4ff4b134383bfdadf7cb5353d3553a8a72d47e Mon Sep 17 00:00:00 2001
+From: Kai Kang <kai.kang@windriver.com>
+Date: Wed, 13 Jan 2021 10:45:48 +0800
+Subject: [PATCH 8/8] greeter.c: show information on gtk label 'info'
+
+Show information on a gtk label 'info' which is added under label
+'prompt' in the .glade or .ui files.
+
+Upstream-Status: Submitted [https://sourceforge.net/p/lxdm/code/merge-requests/1/]
+
+Signed-off-by: Kai Kang <kai.kang@windriver.com>
+---
+ src/greeter.c | 15 ++++++++++++++-
+ 1 file changed, 14 insertions(+), 1 deletion(-)
+
+diff --git a/src/greeter.c b/src/greeter.c
+index 804fca0..a4a2336 100644
+--- a/src/greeter.c
++++ b/src/greeter.c
+@@ -64,6 +64,7 @@ static GtkWidget* win;
+ static GtkWidget* alignment2;
+ static GtkWidget* prompt;
+ static GtkWidget* login_entry;
++static GtkWidget* info;
+ static GtkWidget* user_list_scrolled;
+ static GtkWidget* user_list;
+ 
+@@ -241,10 +242,12 @@ static void on_entry_activate(GtkEntry* entry)
+ 					new_pass = NULL;
+ 					// if new passwords not match, retry for 3 times at most
+ 					if (++count < 3) {
++						gtk_label_set_text((GtkLabel *)info, _("Passwords do not match, please retry."));
+ 						switch_to_input_passwd();
+ 					} else {
+ 						count = 0;
+ 						pass_expired = FALSE;
++						gtk_label_set_text((GtkLabel *)info, _("Maximum number of failed update password attempts exceeded."));
+ 						switch_to_input_user();
+ 					}
+ 				} else if (!strcmp(pass, g_base64_encode((guchar*)new_pass, strlen(new_pass) + 1))) {
+@@ -252,6 +255,7 @@ static void on_entry_activate(GtkEntry* entry)
+ 					g_free(new_pass);
+ 					new_pass = NULL;
+ 					if (++count < 3) {
++						gtk_label_set_text((GtkLabel *)info, _("New password is same as old one, password unchanged."));
+ 						switch_to_input_passwd();
+ 					} else {
+ 						count = 0;
+@@ -1146,6 +1150,9 @@ static void on_screen_size_changed(GdkScreen *screen,GtkWidget *win)
+ 
+ static gint login_entry_on_key_press (GtkWidget *widget,GdkEventKey *event)
+ {
++
++	gtk_label_set_text(GTK_LABEL(info), "");
++
+ 	if(event->keyval == GDK_Escape) {
+ 		g_free(new_pass);
+ 		new_pass = NULL;
+@@ -1211,11 +1218,14 @@ static void create_win()
+     login_entry = (GtkWidget*)gtk_builder_get_object(builder, "login_entry");
+     if(login_entry!=NULL)
+     {
+-		g_signal_connect_after(login_entry,"key-press-event",G_CALLBACK(login_entry_on_key_press),NULL);
++        g_signal_connect(login_entry,"key-press-event",G_CALLBACK(login_entry_on_key_press),NULL);
+ 	}
+ 
+     g_signal_connect(login_entry, "activate", G_CALLBACK(on_entry_activate), NULL);
+ 
++    info = (GtkWidget *)gtk_builder_get_object(builder, "info");
++    gtk_label_set_text(GTK_LABEL(info), "");
++
+     if( g_key_file_get_integer(config, "display", "bottom_pane", 0)==1)
+     {
+         /* hacks to let GtkEventBox paintable with gtk pixmap engine. */
+@@ -1359,11 +1369,13 @@ static gboolean on_lxdm_command(GIOChannel *source, GIOCondition condition, gpoi
+ 	gtk_main_quit();
+ 	else if( !strncmp(str, "reset", 5) )
+ 	{
++		gtk_label_set_text(GTK_LABEL(info), _("Authentication failed."));
+ 		switch_to_input_user();
+ 	}
+ 	else if (!strncmp(str, "password-expire", 15))
+ 	{
+ 		pass_expired = TRUE;
++		gtk_label_set_text(GTK_LABEL(info), _("You are required to change your password immediately."));
+ 		switch_to_input_passwd();
+ 	}
+ 	else if( !strncmp(str, "password", 8))
+@@ -1376,6 +1388,7 @@ static gboolean on_lxdm_command(GIOChannel *source, GIOCondition condition, gpoi
+ 		new_pass = NULL;
+ 
+ 		if (count++ < 3) {
++			gtk_label_set_text(GTK_LABEL(info), _("Invalid new password. Please input new password again."));
+ 			switch_to_input_passwd();
+ 		} else {
+ 			count = 0;
+-- 
+2.25.1
+
diff --git a/meta-openembedded/meta-oe/recipes-graphics/lxdm/lxdm/0009-greeter.c-disallow-empty-new-password.patch b/meta-openembedded/meta-oe/recipes-graphics/lxdm/lxdm/0009-greeter.c-disallow-empty-new-password.patch
new file mode 100644
index 0000000..3b12def
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/lxdm/lxdm/0009-greeter.c-disallow-empty-new-password.patch
@@ -0,0 +1,53 @@
+From af1c347a31ae243d29c6087da8ffb423b23c74f2 Mon Sep 17 00:00:00 2001
+From: Kai Kang <kai.kang@windriver.com>
+Date: Mon, 1 Feb 2021 09:54:48 +0800
+Subject: [PATCH] greeter.c: disallow empty new password
+
+Do not clear text of label 'promt' when skip_password is set. When user
+is required to update password, it only shows input box without label
+for about 1 second.
+
+And disallow empty new password when user is required to update it.
+
+Upstream-Status: Submitted [https://sourceforge.net/p/lxdm/code/merge-requests/2/]
+
+Signed-off-by: Kai Kang <kai.kang@windriver.com>
+---
+ src/greeter.c | 7 +++++--
+ 1 file changed, 5 insertions(+), 2 deletions(-)
+
+diff --git a/src/greeter.c b/src/greeter.c
+index 7e4a168..c0e6b64 100644
+--- a/src/greeter.c
++++ b/src/greeter.c
+@@ -220,7 +220,6 @@ static void on_entry_activate(GtkEntry* entry)
+ 		}
+ 		if(g_key_file_get_integer(config,"base","skip_password",NULL)!=0)
+ 		{
+-			gtk_label_set_text( GTK_LABEL(prompt), "");
+ 			try_login_user(user);
+ 		}
+ 		else
+@@ -235,6 +239,10 @@ static void on_entry_activate(GtkEntry* entry)
+ 		if (pass_expired) {
+ 			if (!new_pass) {
+ 				new_pass = g_strdup(gtk_entry_get_text(entry));
++				if (strlen(new_pass) == 0) {
++					new_pass = NULL;
++					gtk_label_set_text((GtkLabel *)info, _("Empty password is not allowed."));
++				}
+ 				switch_to_input_passwd();
+ 			} else {
+ 				tmp = g_strdup(gtk_entry_get_text(entry));
+@@ -251,7 +259,7 @@ static void on_entry_activate(GtkEntry* entry)
+ 						gtk_label_set_text((GtkLabel *)info, _("Maximum number of failed update password attempts exceeded."));
+ 						switch_to_input_user();
+ 					}
+-				} else if (!strcmp(pass, g_base64_encode((guchar*)new_pass, strlen(new_pass) + 1))) {
++				} else if (pass && !strcmp(pass, g_base64_encode((guchar*)new_pass, strlen(new_pass) + 1))) {
+ 					// if new password is same as old one
+ 					g_free(new_pass);
+ 					new_pass = NULL;
+-- 
+2.25.1
+
diff --git a/meta-openembedded/meta-oe/recipes-graphics/lxdm/lxdm_0.5.3.bb b/meta-openembedded/meta-oe/recipes-graphics/lxdm/lxdm_0.5.3.bb
index db4767b..216bbb6 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/lxdm/lxdm_0.5.3.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/lxdm/lxdm_0.5.3.bb
@@ -9,6 +9,15 @@
            file://0002-let-autotools-create-lxdm.conf.patch \
            file://0003-check-for-libexecinfo-providing-backtrace-APIs.patch \
            file://0004-fix-css-under-gtk-3.20.patch \
+           file://0001-greeter-set-visible-when-switch-to-input-user.patch \
+           file://0002-greeter-gdk.c-fix-typo.patch \
+           file://0003-check-whether-password-expired-with-pam.patch \
+           file://0004-lxdm.c-add-function-to-change-password-with-pam.patch \
+           file://0005-ui.c-handle-password-expire-and-update-new-password.patch \
+           file://0006-themes-Industrial-add-info-label-in-ui.patch \
+           file://0007-greeter.c-support-to-update-expired-password.patch \
+           file://0008-greeter.c-show-information-on-gtk-label-info.patch \
+           file://0009-greeter.c-disallow-empty-new-password.patch \
            "
 SRC_URI[md5sum] = "061caae432634e6db38bbdc84bc6ffa0"
 SRC_URI[sha256sum] = "4891efee81c72a400cc6703e40aa76f3f3853833d048b72ec805da0f93567f2f"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/qrencode/qrencode_git.bb b/meta-openembedded/meta-oe/recipes-graphics/qrencode/qrencode_4.1.1.bb
similarity index 83%
rename from meta-openembedded/meta-oe/recipes-graphics/qrencode/qrencode_git.bb
rename to meta-openembedded/meta-oe/recipes-graphics/qrencode/qrencode_4.1.1.bb
index 108c339..3eb23dc 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/qrencode/qrencode_git.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/qrencode/qrencode_4.1.1.bb
@@ -4,9 +4,8 @@
 SECTION = "libs"
 LICENSE = "LGPLv2.1"
 LIC_FILES_CHKSUM = "file://COPYING;md5=2d5025d4aa3495befef8f17206a5b0a1"
-PV = "4.0.1+git${SRCPV}"
 
-SRCREV = "7c83deb8f562ae6013fea4c3e65278df93f98fb7"
+SRCREV = "715e29fd4cd71b6e452ae0f4e36d917b43122ce8"
 SRC_URI = "git://github.com/fukuchi/libqrencode.git"
 
 S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-abyssinica_1.500.bb b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-abyssinica_2.000.bb
similarity index 61%
rename from meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-abyssinica_1.500.bb
rename to meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-abyssinica_2.000.bb
index ce003e9..d3dd417 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-abyssinica_1.500.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-abyssinica_2.000.bb
@@ -3,15 +3,13 @@
 SUMMARY = "Ethiopia and Eritrea (Amharic) font - TTF Edition"
 HOMEPAGE = "http://software.sil.org/abyssinica/"
 LICENSE = "OFL-1.1"
-LIC_FILES_CHKSUM = "file://OFL.txt;md5=1694c7fc245cdc85c9971db707928159"
+LIC_FILES_CHKSUM = "file://OFL.txt;md5=80cc8cdcdc3f8ce96957bbac946b70ae"
 
 SRCNAME = "AbyssinicaSIL"
 SRC_URI = "http://software.sil.org/downloads/r/abyssinica/${SRCNAME}-${PV}.zip"
 S = "${WORKDIR}/${SRCNAME}-${PV}"
 
-SRC_URI[md5sum] = "a3d943d18e303197c8d3d92d2de54d1e"
-SRC_URI[sha256sum] = "e48a77d5ab8ee0b06464a5b29be70f292aa25dc1e73eb39ec933bd7fa47bbd86"
+SRC_URI[sha256sum] = "274204a53b30f64cca662d78c7199e3c0325ea95ad4109886b47af734c92d0f9"
 
 FONT_PACKAGES = "${PN}"
 FILES_${PN} = "${datadir}"
-
diff --git a/meta-openembedded/meta-oe/recipes-kernel/kernel-selftest/kernel-selftest.bb b/meta-openembedded/meta-oe/recipes-kernel/kernel-selftest/kernel-selftest.bb
index 7c36dfc..4caf217 100644
--- a/meta-openembedded/meta-oe/recipes-kernel/kernel-selftest/kernel-selftest.bb
+++ b/meta-openembedded/meta-oe/recipes-kernel/kernel-selftest/kernel-selftest.bb
@@ -18,7 +18,7 @@
 # we will append other kernel selftest in the future
 # bpf was added in 4.10 with: https://github.com/torvalds/linux/commit/5aa5bd14c5f8660c64ceedf14a549781be47e53d
 # if you have older kernel than that you need to remove it from PACKAGECONFIG
-PACKAGECONFIG ??= "bpf firmware vm"
+PACKAGECONFIG ??= "firmware vm"
 PACKAGECONFIG_remove_x86 = "bpf"
 PACKAGECONFIG_remove_arm = "bpf vm"
 # host ptrace.h is used to compile BPF target but mips ptrace.h is needed
diff --git a/meta-openembedded/meta-oe/recipes-multimedia/live555/live555_20210101.bb b/meta-openembedded/meta-oe/recipes-multimedia/live555/live555_20210129.bb
similarity index 96%
rename from meta-openembedded/meta-oe/recipes-multimedia/live555/live555_20210101.bb
rename to meta-openembedded/meta-oe/recipes-multimedia/live555/live555_20210129.bb
index 817e52d..1e7a674 100644
--- a/meta-openembedded/meta-oe/recipes-multimedia/live555/live555_20210101.bb
+++ b/meta-openembedded/meta-oe/recipes-multimedia/live555/live555_20210129.bb
@@ -16,7 +16,7 @@
 # only latest live version stays on http://www.live555.com/liveMedia/public/, add mirror for older
 MIRRORS += "http://www.live555.com/liveMedia/public/ http://download.videolan.org/contrib/live555/ \n"
 
-SRC_URI[sha256sum] = "a26a2fb43c56719e5e94bbde7d2c492eb8306aa457a5a08034c6b942c4a3b0d4"
+SRC_URI[sha256sum] = "85ab8d4337d414482586089b6f64fc39af64ff4be5b51976b54b0e10dceb333b"
 
 S = "${WORKDIR}/live"
 
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 51d7e2a..6c07eff 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
@@ -8,9 +8,9 @@
 # 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"
+DEPENDS = "libxml-parser-perl-native intltool-native glib-2.0-native gtkmm3 libcanberra pulseaudio"
 
-inherit autotools features_check
+inherit autotools features_check perlnative
 
 REQUIRED_DISTRO_FEATURES = "x11"
 
diff --git a/meta-openembedded/meta-oe/recipes-support/ceres-solver/ceres-solver_1.14.0.bb b/meta-openembedded/meta-oe/recipes-support/ceres-solver/ceres-solver_2.0.0.bb
similarity index 92%
rename from meta-openembedded/meta-oe/recipes-support/ceres-solver/ceres-solver_1.14.0.bb
rename to meta-openembedded/meta-oe/recipes-support/ceres-solver/ceres-solver_2.0.0.bb
index ac46303..28d0868 100644
--- a/meta-openembedded/meta-oe/recipes-support/ceres-solver/ceres-solver_1.14.0.bb
+++ b/meta-openembedded/meta-oe/recipes-support/ceres-solver/ceres-solver_2.0.0.bb
@@ -2,12 +2,12 @@
 AUTHOR = "Sameer Agarwal and Keir Mierle and Others"
 HOMEPAGE = "http://ceres-solver.org/"
 LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=35e00f0c4c96a0820a03e0b31e6416be"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=bb761279816b72be19d7ce646e4e2a14"
 
 DEPENDS = "libeigen glog"
 
 SRC_URI = "git://github.com/ceres-solver/ceres-solver.git"
-SRCREV = "facb199f3eda902360f9e1d5271372b7e54febe1"
+SRCREV = "399cda773035d99eaf1f4a129a666b3c4df9d1b1"
 
 S = "${WORKDIR}/git"
 
diff --git a/meta-openembedded/meta-oe/recipes-support/cpprest/cpprest_2.10.17.bb b/meta-openembedded/meta-oe/recipes-support/cpprest/cpprest_2.10.18.bb
similarity index 92%
rename from meta-openembedded/meta-oe/recipes-support/cpprest/cpprest_2.10.17.bb
rename to meta-openembedded/meta-oe/recipes-support/cpprest/cpprest_2.10.18.bb
index c16e893..1633412 100644
--- a/meta-openembedded/meta-oe/recipes-support/cpprest/cpprest_2.10.17.bb
+++ b/meta-openembedded/meta-oe/recipes-support/cpprest/cpprest_2.10.18.bb
@@ -12,7 +12,7 @@
            file://disable-outside-tests.patch "
 
 # tag 2.10.17
-SRCREV= "41e7d0074b6cb5b22c89f835b4531d848ab66987"
+SRCREV= "122d09549201da5383321d870bed45ecb9e168c5"
 
 S = "${WORKDIR}/git"
 
diff --git a/meta-openembedded/meta-oe/recipes-support/enca/enca_1.9.bb b/meta-openembedded/meta-oe/recipes-support/enca/enca_1.9.bb
index bf19843..b0ba3ae 100644
--- a/meta-openembedded/meta-oe/recipes-support/enca/enca_1.9.bb
+++ b/meta-openembedded/meta-oe/recipes-support/enca/enca_1.9.bb
@@ -1,21 +1,20 @@
 SUMMARY = "Enca is an Extremely Naive Charset Analyser"
 SECTION = "libs"
-HOMEPAGE = "http://trific.ath.cx/software/enca/"
+HOMEPAGE = "https://cihar.com/software/enca/"
 
 DEPENDS += "gettext-native"
 
 LICENSE = "GPLv2"
 LIC_FILES_CHKSUM = "file://COPYING;md5=24b9569831c46d4818450b55282476b4"
 
-SRC_URI = "http://www.sourcefiles.org/Networking/Tools/Miscellanenous/enca-${PV}.tar.bz2 \
+SRC_URI = "https://dl.cihar.com/enca/enca-${PV}.tar.gz \
     file://configure-hack.patch \
     file://dont-run-tests.patch \
     file://configure-remove-dumbness.patch \
     file://makefile-remove-tools.patch \
     file://libenca-003-iconv.patch "
 
-SRC_URI[md5sum] = "b3581e28d68d452286fb0bfe58bed3b3"
-SRC_URI[sha256sum] = "02acfef2b24a9c842612da49338138311f909f1cd33933520c07b8b26c410f4d"
+SRC_URI[sha256sum] = "75a38ed23bac37cc12166cc5edc8335c3af862adc202f84823d3aef3e2208e47"
 
 inherit autotools
 
diff --git a/meta-openembedded/meta-oe/recipes-support/gd/gd_2.3.0.bb b/meta-openembedded/meta-oe/recipes-support/gd/gd_2.3.1.bb
similarity index 96%
rename from meta-openembedded/meta-oe/recipes-support/gd/gd_2.3.0.bb
rename to meta-openembedded/meta-oe/recipes-support/gd/gd_2.3.1.bb
index 554e07f..60abe73 100644
--- a/meta-openembedded/meta-oe/recipes-support/gd/gd_2.3.0.bb
+++ b/meta-openembedded/meta-oe/recipes-support/gd/gd_2.3.1.bb
@@ -16,7 +16,7 @@
 SRC_URI = "git://github.com/libgd/libgd.git;branch=master \
           "
 
-SRCREV = "b079fa06223c3ab862c8f0eea58a968727971988"
+SRCREV = "75ef79c9b013fb5eafd92710b3867827682fd52d"
 
 S = "${WORKDIR}/git"
 
diff --git a/meta-openembedded/meta-oe/recipes-support/hidapi/hidapi/0001-configure.ac-remove-duplicate-AC_CONFIG_MACRO_DIR-22.patch b/meta-openembedded/meta-oe/recipes-support/hidapi/hidapi/0001-configure.ac-remove-duplicate-AC_CONFIG_MACRO_DIR-22.patch
new file mode 100644
index 0000000..f3cd101
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/hidapi/hidapi/0001-configure.ac-remove-duplicate-AC_CONFIG_MACRO_DIR-22.patch
@@ -0,0 +1,27 @@
+From ce3ab6ba4b8176d100ac535a39e3d5b0c517989b Mon Sep 17 00:00:00 2001
+From: Jan Palus <atler@pld-linux.org>
+Date: Fri, 15 Jan 2021 14:32:14 +0100
+Subject: [PATCH] configure.ac: remove duplicate AC_CONFIG_MACRO_DIR (#226)
+
+fixes build with autoconf 2.70
+Upstream-Status: Backport [https://github.com/libusb/hidapi/pull/226]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ configure.ac | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index 220909a..77da67a 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -13,7 +13,6 @@ LTLDFLAGS="-version-info ${lt_current}:${lt_revision}:${lt_age}"
+ 
+ AC_CONFIG_MACRO_DIR([m4])
+ AM_INIT_AUTOMAKE([foreign -Wall -Werror])
+-AC_CONFIG_MACRO_DIR([m4])
+ 
+ m4_ifdef([AM_PROG_AR], [AM_PROG_AR])
+ LT_INIT
+-- 
+2.30.0
+
diff --git a/meta-openembedded/meta-oe/recipes-support/hidapi/hidapi_git.bb b/meta-openembedded/meta-oe/recipes-support/hidapi/hidapi_git.bb
index df68a85..76f5dc7 100644
--- a/meta-openembedded/meta-oe/recipes-support/hidapi/hidapi_git.bb
+++ b/meta-openembedded/meta-oe/recipes-support/hidapi/hidapi_git.bb
@@ -10,7 +10,9 @@
 
 inherit autotools pkgconfig
 
-SRC_URI = "git://github.com/libusb/hidapi.git;protocol=https"
+SRC_URI = "git://github.com/libusb/hidapi.git;protocol=https \
+           file://0001-configure.ac-remove-duplicate-AC_CONFIG_MACRO_DIR-22.patch \
+"
 PV = "0.10.1"
 SRCREV = "f6d0073fcddbdda24549199445e844971d3c9cef"
 S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-oe/recipes-support/libgit2/libgit2_1.0.1.bb b/meta-openembedded/meta-oe/recipes-support/libgit2/libgit2_1.1.0.bb
similarity index 90%
rename from meta-openembedded/meta-oe/recipes-support/libgit2/libgit2_1.0.1.bb
rename to meta-openembedded/meta-oe/recipes-support/libgit2/libgit2_1.1.0.bb
index 363ed4d..2bbf59e 100644
--- a/meta-openembedded/meta-oe/recipes-support/libgit2/libgit2_1.0.1.bb
+++ b/meta-openembedded/meta-oe/recipes-support/libgit2/libgit2_1.1.0.bb
@@ -5,8 +5,8 @@
 
 DEPENDS = "curl openssl zlib libssh2 libgcrypt libpcre2"
 
-SRC_URI = "git://github.com/libgit2/libgit2.git;branch=maint/v1.0"
-SRCREV = "0ced29612dacb67eefe0c562a5c1d3aab21cce96"
+SRC_URI = "git://github.com/libgit2/libgit2.git;branch=maint/v1.1"
+SRCREV = "7f4fa178629d559c037a1f72f79f79af9c1ef8ce"
 
 S = "${WORKDIR}/git"
 
diff --git a/meta-openembedded/meta-oe/recipes-support/libgpiod/files/run-ptest b/meta-openembedded/meta-oe/recipes-support/libgpiod/files/run-ptest
new file mode 100644
index 0000000..4cda05d
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/libgpiod/files/run-ptest
@@ -0,0 +1,12 @@
+#!/bin/sh
+
+testbin="gpiod-test"
+ptestdir=$(dirname "$(readlink -f "$0")")
+cd $ptestdir/tests
+
+./$testbin
+if [ $? -ne 0 ]; then
+	echo "FAIL: $testbin"
+else
+	echo "PASS: $testbin"
+fi
diff --git a/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod_1.6.2.bb b/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod_1.6.2.bb
index c0cf545..e6b6476 100644
--- a/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod_1.6.2.bb
+++ b/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod_1.6.2.bb
@@ -4,11 +4,14 @@
 LICENSE = "LGPLv2.1+"
 LIC_FILES_CHKSUM = "file://COPYING;md5=2caced0b25dfefd4c601d92bd15116de"
 
-SRC_URI = "https://www.kernel.org/pub/software/libs/${BPN}/${BP}.tar.xz"
+SRC_URI = "https://www.kernel.org/pub/software/libs/${BPN}/${BP}.tar.xz \
+           file://run-ptest \
+"
+
 SRC_URI[md5sum] = "4765470becb619fead3cdaeac61b9a77"
 SRC_URI[sha256sum] = "c601e71846f5ab140c83bc757fdd62a4fda24a9cee39cc5e99c96ec2bf1b06a9"
 
-inherit autotools pkgconfig python3native
+inherit autotools pkgconfig python3native ptest
 
 PACKAGECONFIG[tests] = "--enable-tests,--disable-tests,kmod udev glib-2.0 catch2"
 PACKAGECONFIG[cxx] = "--enable-bindings-cxx,--disable-bindings-cxx"
@@ -31,3 +34,10 @@
 FILES_${PN}-python = "${PYTHON_SITEPACKAGES_DIR}"
 RRECOMMENDS_PYTHON = "${@bb.utils.contains('PACKAGECONFIG', 'python3', '${PN}-python', '',d)}"
 RRECOMMENDS_${PN}-python += "${RRECOMMENDS_PYTHON}"
+
+PACKAGECONFIG_append = " ${@bb.utils.contains('DISTRO_FEATURES', 'ptest', 'tests', '', d)}"
+
+do_install_ptest() {
+	install -d ${D}${PTEST_PATH}/tests
+	cp ${B}/tests/.libs/gpiod-test ${D}${PTEST_PATH}/tests/
+}
diff --git a/meta-openembedded/meta-oe/recipes-support/libssh2/files/0001-configure-Conditionally-undefine-backend-m4-macro.patch b/meta-openembedded/meta-oe/recipes-support/libssh2/files/0001-configure-Conditionally-undefine-backend-m4-macro.patch
new file mode 100644
index 0000000..1128c7e
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/libssh2/files/0001-configure-Conditionally-undefine-backend-m4-macro.patch
@@ -0,0 +1,30 @@
+From efe7101786193eaddb749c0583af6b54aec6f289 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 2 Feb 2021 18:45:16 -0800
+Subject: [PATCH] configure: Conditionally undefine backend m4 macro
+
+Unlike the M4 builtin, this macro fails if macro is not defined
+therefore recover the behavior of the builtin.
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index fe5054a..758f8c2 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -127,7 +127,7 @@ fi
+ m4_set_foreach([crypto_backends], [backend],
+   [AM_CONDITIONAL(m4_toupper(backend), test "$found_crypto" = "backend")]
+ )
+-m4_undefine([backend])
++m4_ifdef([backend], [m4_undefine([backend])])
+ 
+ 
+ # libz
+-- 
+2.30.0
+
diff --git a/meta-openembedded/meta-oe/recipes-support/libssh2/libssh2_1.9.0.bb b/meta-openembedded/meta-oe/recipes-support/libssh2/libssh2_1.9.0.bb
index 4a5a050..0b8ccbd 100644
--- a/meta-openembedded/meta-oe/recipes-support/libssh2/libssh2_1.9.0.bb
+++ b/meta-openembedded/meta-oe/recipes-support/libssh2/libssh2_1.9.0.bb
@@ -9,6 +9,7 @@
 
 SRC_URI = "http://www.libssh2.org/download/${BP}.tar.gz \
            file://CVE-2019-17498.patch \
+           file://0001-configure-Conditionally-undefine-backend-m4-macro.patch \
            file://run-ptest \
 "
 
diff --git a/meta-openembedded/meta-oe/recipes-support/nano/nano_5.4.bb b/meta-openembedded/meta-oe/recipes-support/nano/nano_5.5.bb
similarity index 86%
rename from meta-openembedded/meta-oe/recipes-support/nano/nano_5.4.bb
rename to meta-openembedded/meta-oe/recipes-support/nano/nano_5.5.bb
index 68c326b..29ec00a 100644
--- a/meta-openembedded/meta-oe/recipes-support/nano/nano_5.4.bb
+++ b/meta-openembedded/meta-oe/recipes-support/nano/nano_5.5.bb
@@ -12,7 +12,7 @@
 PV_MAJOR = "${@d.getVar('PV').split('.')[0]}"
 
 SRC_URI = "https://nano-editor.org/dist/v${PV_MAJOR}/nano-${PV}.tar.xz"
-SRC_URI[sha256sum] = "fe993408b22286355809ce48ebecc4444d19af8203ed4959d269969112ed86e9"
+SRC_URI[sha256sum] = "390b81bf9b41ff736db997aede4d1f60b4453fbd75a519a4ddb645f6fd687e4a"
 
 UPSTREAM_CHECK_URI = "https://ftp.gnu.org/gnu/nano"
 
diff --git a/meta-openembedded/meta-oe/recipes-support/opencv/opencv_4.5.0.bb b/meta-openembedded/meta-oe/recipes-support/opencv/opencv_4.5.0.bb
index b223334..5263ffc 100644
--- a/meta-openembedded/meta-oe/recipes-support/opencv/opencv_4.5.0.bb
+++ b/meta-openembedded/meta-oe/recipes-support/opencv/opencv_4.5.0.bb
@@ -213,6 +213,11 @@
         mv ${D}/usr/lib/* ${D}/${libdir}/
         rm -rf ${D}/usr/lib
     fi
+    # remove build host path to improve reproducibility
+    if [ -f ${D}${libdir}/cmake/opencv4/OpenCVModules.cmake ]; then
+        sed -e 's@${STAGING_DIR_HOST}@@g' \
+            -i ${D}${libdir}/cmake/opencv4/OpenCVModules.cmake
+    fi
 }
 
 TOOLCHAIN = "gcc"
diff --git a/meta-openembedded/meta-oe/recipes-support/openldap/openldap_2.4.57.bb b/meta-openembedded/meta-oe/recipes-support/openldap/openldap_2.4.57.bb
index a282523..7c04600 100644
--- a/meta-openembedded/meta-oe/recipes-support/openldap/openldap_2.4.57.bb
+++ b/meta-openembedded/meta-oe/recipes-support/openldap/openldap_2.4.57.bb
@@ -151,11 +151,13 @@
 LDFLAGS_append = " -pthread"
 
 do_configure() {
-    cp ${STAGING_DATADIR_NATIVE}/libtool/build-aux/ltmain.sh ${S}/build
     rm -f ${S}/libtool
     aclocal
     libtoolize --force --copy
     gnu-configize
+    cp ${STAGING_DATADIR_NATIVE}/libtool/build-aux/ltmain.sh ${S}/build
+    cp ${STAGING_DATADIR_NATIVE}/libtool/build-aux/missing ${S}/build
+    cp ${STAGING_DATADIR_NATIVE}/libtool/build-aux/compile ${S}/build
     autoconf
     oe_runconf
 }
diff --git a/meta-openembedded/meta-oe/recipes-support/pidgin/libgnt/0001-meson-import-changes-from-3.0.-version.patch b/meta-openembedded/meta-oe/recipes-support/pidgin/libgnt/0001-meson-import-changes-from-3.0.-version.patch
new file mode 100644
index 0000000..8bb60b5
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/pidgin/libgnt/0001-meson-import-changes-from-3.0.-version.patch
@@ -0,0 +1,215 @@
+From 51d66c1c257f7487497f562033ac32ac75f648cb Mon Sep 17 00:00:00 2001
+From: Martin Jansa <Martin.Jansa@gmail.com>
+Date: Mon, 8 Feb 2021 12:27:51 +0100
+Subject: [PATCH] meson: import changes from 3.0.* version
+
+* we need to use the meson option to disable introspection and docs
+
+Upstream-Status: Backport
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+---
+ meson.build       | 139 ++++++++++++++++++++++++++++------------------
+ meson_options.txt |   5 ++
+ 2 files changed, 90 insertions(+), 54 deletions(-)
+ create mode 100644 meson_options.txt
+
+diff --git a/meson.build b/meson.build
+index 1084c82..ed040b4 100644
+--- a/meson.build
++++ b/meson.build
+@@ -53,9 +53,9 @@ compiler = meson.get_compiler('c')
+ pkgconfig = import('pkgconfig')
+ 
+ # #######################################################################
+-# # Check for GLib 2.16
++# # Check for GLib 2.44
+ # #######################################################################
+-glib = dependency('glib-2.0', version : '>= 2.16.0')
++glib = dependency('glib-2.0', version : '>= 2.44.0')
+ gobject = dependency('gobject-2.0')
+ gmodule = dependency('gmodule-2.0')
+ gnome = import('gnome')
+@@ -63,74 +63,88 @@ gnome = import('gnome')
+ #######################################################################
+ # Check for LibXML2
+ #######################################################################
+-libxml = dependency('libxml-2.0', version : '>= 2.6.0', required : false)
+-gnt_config.set('NO_LIBXML', not libxml.found())
++libxml = dependency('libxml-2.0', version : '>= 2.6.0')
+ 
+ #######################################################################
+ # Check for ncurses and other things used by it
+ #######################################################################
+ ncurses_available = true
+-ncurses_inc = []
+-# The order of this list is important to the condition that follows.
+-ncurses_libs = [
+-	compiler.find_library('ncursesw', required : false),
+-	compiler.find_library('panelw', required : false),
+-	compiler.find_library('tinfow', required : false),
+-]
+-if not ncurses_libs[0].found() or not ncurses_libs[1].found()
+-	ncurses_available = false
+-endif
++ncurses_widechar = true
++ncurses_header = 'ncurses.h'
++# Some distros put the headers in ncursesw/, some don't. These are ordered to
++# pick the last available as most-specific version.
++ncursesw_header_paths = ['', 'ncursesw/']
+ 
+-if host_machine.system() == 'windows'
+-	# FIXME: $host ?
+-	ncurses_sys_prefix = '/usr/$host/sys-root/mingw'
++ncurses = [
++	dependency('ncursesw', required : false),
++	dependency('panelw', required : false),
++]
++if ncurses[0].found() and ncurses[1].found()
++	foreach location : ncursesw_header_paths
++		f = location + 'ncurses.h'
++		if compiler.has_header_symbol(f, 'get_wch',
++		    prefix : '#define _XOPEN_SOURCE_EXTENDED')
++			ncurses_header = f
++		endif
++	endforeach
+ else
+-	ncurses_sys_prefix = '/usr'
+-endif
+-
+-ncurses_sys_dirs = [ncurses_sys_prefix + '/include/ncursesw',
+-                    ncurses_sys_prefix + '/include']
+-
+-if ncurses_available
+-	# Some distros put the headers in ncursesw/, some don't
+-	found_ncurses_h = false
+-	foreach location : ncurses_sys_dirs
+-		f = location + '/ncurses.h'
+-		if not found_ncurses_h
++	ncurses_available = false
++	ncurses_inc = []
++	ncurses_libs = [
++		compiler.find_library('ncursesw', required : false),
++		compiler.find_library('panelw', required : false)
++	]
++	if ncurses_libs[0].found() and ncurses_libs[1].found()
++		foreach location : ncursesw_header_paths
++			f = location + 'ncurses.h'
+ 			if compiler.has_header_symbol(f, 'get_wch',
+ 			    prefix : '#define _XOPEN_SOURCE_EXTENDED')
+-				if location != '.'
+-					ncurses_inc += [include_directories(location)]
+-				endif
+-				found_ncurses_h = true
++				ncurses_available = true
++				ncurses_header = f
+ 			endif
+-		endif
+-	endforeach
++		endforeach
+ 
+-	if not found_ncurses_h
+-		ncurses_inc = []
+-		ncurses_libs = []
+-		ncurses_available = false
++		if ncurses_available
++			ncurses = declare_dependency(
++			    include_directories : ncurses_inc,
++			    dependencies : ncurses_libs
++			)
++		endif
+ 	endif
+-else
++endif
++
++if not ncurses_available
+ 	# ncursesw was not found. Look for plain old ncurses
+-	# The order of this list is important to the condition that follows.
+-	ncurses_libs = [
+-		compiler.find_library('ncurses', required : false),
+-		compiler.find_library('panel', required : false),
+-		compiler.find_library('tinfo', required : false),
++	ncurses = [
++		dependency('ncurses', required : false),
++		dependency('panel', required : false),
+ 	]
+-	ncurses_available = ncurses_libs[0].found() and ncurses_libs[1].found()
+-	gnt_config.set('NO_WIDECHAR', true)
++	if ncurses[0].found() and ncurses_libs[1].found()
++		ncurses_available = true
++	else
++		ncurses_libs = [
++			compiler.find_library('ncurses', required : false),
++			compiler.find_library('panel', required : false),
++		]
++		ncurses_available = ncurses_libs[0].found() and ncurses_libs[1].found()
++		ncurses = declare_dependency(dependencies : ncurses_libs)
++	endif
++	ncurses_widechar = false
+ endif
++
++if not ncurses_available and host_machine.system() == 'windows'
++	# Try pdcurses too.
++	ncurses_header = 'curses.h'
++	ncurses_libs = compiler.find_library('pdcurses', required : false)
++	ncurses_available = compiler.has_header(ncurses_header) and ncurses_libs.found()
++	ncurses = declare_dependency(dependencies : ncurses_libs)
++endif
++
+ if not ncurses_available
+ 	error('ncurses could not be found!')
+ endif
+-
+-ncurses = declare_dependency(
+-    include_directories : ncurses_inc,
+-    dependencies : ncurses_libs
+-)
++gnt_config.set('NCURSES_HEADER', ncurses_header)
++gnt_config.set10('NCURSES_WIDECHAR', ncurses_widechar)
+ 
+ libgnt_SOURCES = [
+ 	'gntwidget.c',
+@@ -191,7 +205,10 @@ libgnt_headers = [
+ ]
+ 
+ # Check for Python headers
+-python_dep = dependency('python2', required : false)
++python_dep = dependency('python3-embed', required: false)
++if not python_dep.found()
++	python_dep = dependency('python3', required : false)
++endif
+ gnt_config.set('USE_PYTHON', python_dep.found())
+ 
+ configure_file(output : 'gntconfig.h',
+@@ -233,6 +250,20 @@ pkgconfig.generate(
+     variables : ['plugindir = ${libdir}/gnt'],
+     )
+ 
++if get_option('introspection')
++	libgnt_gir = gnome.generate_gir(libgnt,
++	    sources : libgnt_headers + [gnt_h],
++	    includes : 'GObject-2.0',
++	    namespace : 'Gnt',
++	    symbol_prefix : 'gnt',
++	    identifier_prefix : 'Gnt',
++	    nsversion : '@0@.@1@'.format(gnt_major_version, gnt_minor_version),
++	    install : true,
++	    extra_args : ['-DGNT_COMPILATION', '--quiet'])
++endif
++
+ subdir('wms')
+ subdir('test')
+-subdir('doc')
++if get_option('doc')
++	subdir('doc')
++endif
+diff --git a/meson_options.txt b/meson_options.txt
+new file mode 100644
+index 0000000..f2414e2
+--- /dev/null
++++ b/meson_options.txt
+@@ -0,0 +1,5 @@
++option('doc', type : 'boolean', value : true, yield : true,
++       description : 'build documentation with gtk-doc')
++
++option('introspection', type : 'boolean', value : true, yield : true,
++       description : 'build introspection data')
diff --git a/meta-openembedded/meta-oe/recipes-support/pidgin/libgnt_2.14.1.bb b/meta-openembedded/meta-oe/recipes-support/pidgin/libgnt_2.14.1.bb
new file mode 100644
index 0000000..67d8cc8
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/pidgin/libgnt_2.14.1.bb
@@ -0,0 +1,20 @@
+SUMMARY = "GNT: The GLib Ncurses Toolkit"
+
+SECTION = "libs"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=c9a1abacd0166f595a9fbe6afb1f0d5e"
+DEPENDS = "glib-2.0 ncurses libxml2 glib-2.0-native"
+
+inherit meson
+
+# SRCREV = "0a44b1d01c41"
+# SRC_URI = "hg://keep.imfreedom.org/${BPN};module=${BPN}
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/project/pidgin/${BPN}/${PV}/${BP}.tar.xz \
+    file://0001-meson-import-changes-from-3.0.-version.patch \
+"
+SRC_URI[sha256sum] = "5ec3e68e18f956e9998d79088b299fa3bca689bcc95c86001bc5da17c1eb4bd8"
+
+EXTRA_OEMESON = "-Dintrospection=false -Ddoc=false"
+
+FILES_${PN} += "${libdir}/gnt/s.so ${libdir}/gnt/irssi.so"
diff --git a/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin/0001-configure.ac-fix-build-with-autoconf-2.71.patch b/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin/0001-configure.ac-fix-build-with-autoconf-2.71.patch
new file mode 100644
index 0000000..cfb0290
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin/0001-configure.ac-fix-build-with-autoconf-2.71.patch
@@ -0,0 +1,229 @@
+From e03d3ef5aadd582ebf7102b7d5785fed177a0cb1 Mon Sep 17 00:00:00 2001
+From: Martin Jansa <Martin.Jansa@gmail.com>
+Date: Sun, 7 Feb 2021 13:25:29 +0100
+Subject: [PATCH] configure.ac: fix build with autoconf-2.71
+
+* fixes:
+  | autoreconf: running: intltoolize --copy --force
+  | ERROR: 'IT_PROG_INTLTOOL' must appear in configure.ac for intltool to work.
+  | autoreconf: error: intltoolize failed with exit status: 1
+
+* replace AM_GLIB_GNU_GETTEXT with AM_GNU_GETTEXT as suggested in:
+  https://wiki.gnome.org/Initiatives/GnomeGoals/GettextMigration
+  https://blogs.gnome.org/jjardon/2010/10/08/use-upstream-gettext-instead-the-glib-one/
+  because the former is causing issues with autoconf-2.71:
+
+  -m4trace:configure.ac:266: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
+  -You should run autoupdate.], [../autoconf-2.71/lib/autoconf/general.m4:2920: AC_TRY_LINK is expanded from...
+  -../autoconf-2.71/lib/m4sugar/m4sh.m4:699: AS_IF is expanded from...
+  -../autoconf-2.71/lib/autoconf/headers.m4:89: _AC_CHECK_HEADER_COMPILE is expanded from...
+  -../autoconf-2.71/lib/autoconf/headers.m4:56: AC_CHECK_HEADER is expanded from...
+  -pidgin/2.14.1-r0/recipe-sysroot-native/usr/share/aclocal/glib-gettext.m4:150: GLIB_WITH_NLS is expanded from...
+  -pidgin/2.14.1-r0/recipe-sysroot-native/usr/share/aclocal/glib-gettext.m4:370: GLIB_GNU_GETTEXT is expanded from...
+  -pidgin/2.14.1-r0/recipe-sysroot-native/usr/share/aclocal/glib-gettext.m4:470: AM_GLIB_GNU_GETTEXT is expanded from...
+  -configure.ac:266: the top level])
+  -m4trace:configure.ac:266: -1- m4_pattern_allow([^ENABLE_NLS$])
+  -m4trace:configure.ac:266: -1- _m4_warn([obsolete], [The macro `AC_OUTPUT_COMMANDS' is obsolete.
+  -You should run autoupdate.], [../autoconf-2.71/lib/autoconf/status.m4:1025: AC_OUTPUT_COMMANDS is expanded from...
+  -pidgin/2.14.1-r0/recipe-sysroot-native/usr/share/aclocal/glib-gettext.m4:150: GLIB_WITH_NLS is expanded from...
+  -pidgin/2.14.1-r0/recipe-sysroot-native/usr/share/aclocal/glib-gettext.m4:370: GLIB_GNU_GETTEXT is expanded from...
+  -pidgin/2.14.1-r0/recipe-sysroot-native/usr/share/aclocal/glib-gettext.m4:470: AM_GLIB_GNU_GETTEXT is expanded from...
+  -configure.ac:266: the top level])
+
+  and then configure fails with:
+
+  configure.ac:2621: error: `po/stamp-it' is already registered with AC_CONFIG_COMMANDS.
+  autoconf-2.71/lib/autoconf/status.m4:1008: AC_CONFIG_COMMANDS is expanded from...
+  configure.ac:2621: the top level
+
+* add AM_GNU_GETTEXT_VERSION as well to resolve warning with autoconf-2.71
+  configure.ac: warning: AM_GNU_GETTEXT is used, but not AM_GNU_GETTEXT_VERSION or AM_GNU_GETTEXT_REQUIRE_VERSION
+
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+---
+ ABOUT-NLS          |  1 +
+ Makefile.am        |  6 +---
+ configure.ac       |  6 ++--
+ pidgin/Makefile.am |  7 ++--
+ po/Makevars        | 82 ++++++++++++++++++++++++++++++++++++++++++++++
+ po/POTFILES.in     |  1 -
+ 6 files changed, 92 insertions(+), 11 deletions(-)
+ create mode 100644 ABOUT-NLS
+ create mode 100644 po/Makevars
+
+diff --git a/ABOUT-NLS b/ABOUT-NLS
+new file mode 100644
+index 0000000..0a9d56d
+--- /dev/null
++++ b/ABOUT-NLS
+@@ -0,0 +1 @@
++<https://www.gnu.org/software/gettext/manual/html_node/Users.html>
+diff --git a/Makefile.am b/Makefile.am
+index f8e2bc9..a74145f 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -13,9 +13,6 @@ EXTRA_DIST = \
+ 		fix-casts.sh \
+ 		gaim.pc.in \
+ 		gaim-uninstalled.pc.in \
+-		intltool-extract.in \
+-		intltool-merge.in \
+-		intltool-update.in \
+ 		package_revision.h \
+ 		pidgin.apspec.in \
+ 		pidgin.spec.in \
+@@ -139,5 +136,4 @@ endif
+ distuninstallcheck_listfiles = \
+ 	find . -type f -print | grep -v perl | grep -v Purple.3pm | grep -v Pidgin.3pm
+ 
+-DISTCLEANFILES= intltool-extract intltool-merge intltool-update \
+-			package_revision_raw.txt
++DISTCLEANFILES=package_revision_raw.txt
+diff --git a/configure.ac b/configure.ac
+index 81d8592..e2280cd 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -43,7 +43,7 @@ fi
+ 
+ AC_CANONICAL_HOST
+ AC_CONFIG_HEADERS([config.h])
+-AM_INIT_AUTOMAKE([1.9 -Wno-portability dist-bzip2])
++AM_INIT_AUTOMAKE([1.9 -Wno-portability dist-bzip2 foreign])
+ dnl TODO: Always use AM_SILENT_RULES when we depend on automake >= 1.11
+ m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
+ 
+@@ -257,12 +257,12 @@ dnl #######################################################################
+ AC_ARG_ENABLE(nls, AC_HELP_STRING([--disable-nls], [disable installation of translation files]), enable_i18n="$enableval", enable_i18n=yes)
+ 
+ if test x$enable_i18n = xyes; then
+-	AC_PROG_INTLTOOL
+ 	GETTEXT_PACKAGE=pidgin
+ 	AC_SUBST(GETTEXT_PACKAGE)
+ 
+ 	ALL_LINGUAS="af am ar ar_SA as ast az be@latin bg bn_IN bn br brx bs ca ca@valencia cs da de dz el en_AU en_CA en_GB eo es_AR es et eu fa fi fr ga gl gu he hi hr hu id it ja ka kk km kn ko ks ku_IQ ku lt lv mai mhr mk ml mn mr ms_MY my_MM nb ne nl nn oc or pa pl ps pt_BR pt ro ru sd si sk sl sq sr@latin sr sv sw ta te th tr tt uk ur uz vi xh zh_CN zh_HK zh_TW"
+-	AM_GLIB_GNU_GETTEXT
++	AM_GNU_GETTEXT([external])
++	AM_GNU_GETTEXT_VERSION([0.21])
+ 
+ 	dnl If we don't have msgfmt, then po/ is going to fail -- ensure that
+ 	dnl AM_GLIB_GNU_GETTEXT found it.
+diff --git a/pidgin/Makefile.am b/pidgin/Makefile.am
+index 2278b88..4d32c53 100644
+--- a/pidgin/Makefile.am
++++ b/pidgin/Makefile.am
+@@ -192,13 +192,16 @@ DESKTOP_FILE=data/pidgin.desktop
+ appsdir = $(datadir)/applications
+ apps_in_files = data/pidgin.desktop.in
+ apps_DATA = $(apps_in_files:.desktop.in=.desktop)
+-@INTLTOOL_DESKTOP_RULE@
++
++data/pidgin.desktop: data/pidgin.desktop.in
++	$(AM_V_GEN)$(MSGFMT) --desktop --template $< -d $(top_srcdir)/po -o $@
+ 
+ appdatadir = $(datarootdir)/appdata
+ appdata_DATA = $(appdata_in_files:.xml.in=.xml)
+ appdata_in_files = data/pidgin.appdata.xml.in
+ 
+-@INTLTOOL_XML_RULE@
++data/pidgin.appdata.xml: data/pidgin.appdata.xml.in
++	$(AM_V_GEN)$(MSGFMT) --xml --template $< -d $(top_srcdir)/po -o $@ || cp $< $@
+ 
+ endif # INSTALL_I18N
+ 
+diff --git a/po/Makevars b/po/Makevars
+new file mode 100644
+index 0000000..970237a
+--- /dev/null
++++ b/po/Makevars
+@@ -0,0 +1,82 @@
++# Makefile variables for PO directory in any package using GNU gettext.
++#
++# Copyright (C) 2003-2019 Free Software Foundation, Inc.
++# This file is free software; the Free Software Foundation gives
++# unlimited permission to use, copy, distribute, and modify it.
++
++# Usually the message domain is the same as the package name.
++DOMAIN = $(PACKAGE)
++
++# These two variables depend on the location of this directory.
++subdir = po
++top_builddir = ..
++
++# These options get passed to xgettext.
++XGETTEXT_OPTIONS = --keyword=_ --keyword=N_ --from-code=UTF-8
++
++# This is the copyright holder that gets inserted into the header of the
++# $(DOMAIN).pot file.  Set this to the copyright holder of the surrounding
++# package.  (Note that the msgstr strings, extracted from the package's
++# sources, belong to the copyright holder of the package.)  Translators are
++# expected to transfer the copyright for their translations to this person
++# or entity, or to disclaim their copyright.  The empty string stands for
++# the public domain; in this case the translators are expected to disclaim
++# their copyright.
++COPYRIGHT_HOLDER = Free Software Foundation, Inc.
++
++# This tells whether or not to prepend "GNU " prefix to the package
++# name that gets inserted into the header of the $(DOMAIN).pot file.
++# Possible values are "yes", "no", or empty.  If it is empty, try to
++# detect it automatically by scanning the files in $(top_srcdir) for
++# "GNU packagename" string.
++PACKAGE_GNU =
++
++# This is the email address or URL to which the translators shall report
++# bugs in the untranslated strings:
++# - Strings which are not entire sentences, see the maintainer guidelines
++#   in the GNU gettext documentation, section 'Preparing Strings'.
++# - Strings which use unclear terms or require additional context to be
++#   understood.
++# - Strings which make invalid assumptions about notation of date, time or
++#   money.
++# - Pluralisation problems.
++# - Incorrect English spelling.
++# - Incorrect formatting.
++# It can be your email address, or a mailing list address where translators
++# can write to without being subscribed, or the URL of a web page through
++# which the translators can contact you.
++MSGID_BUGS_ADDRESS =
++
++# This is the list of locale categories, beyond LC_MESSAGES, for which the
++# message catalogs shall be used.  It is usually empty.
++EXTRA_LOCALE_CATEGORIES =
++
++# This tells whether the $(DOMAIN).pot file contains messages with an 'msgctxt'
++# context.  Possible values are "yes" and "no".  Set this to yes if the
++# package uses functions taking also a message context, like pgettext(), or
++# if in $(XGETTEXT_OPTIONS) you define keywords with a context argument.
++USE_MSGCTXT = no
++
++# These options get passed to msgmerge.
++# Useful options are in particular:
++#   --previous            to keep previous msgids of translated messages,
++#   --quiet               to reduce the verbosity.
++MSGMERGE_OPTIONS =
++
++# These options get passed to msginit.
++# If you want to disable line wrapping when writing PO files, add
++# --no-wrap to MSGMERGE_OPTIONS, XGETTEXT_OPTIONS, and
++# MSGINIT_OPTIONS.
++MSGINIT_OPTIONS =
++
++# This tells whether or not to regenerate a PO file when $(DOMAIN).pot
++# has changed.  Possible values are "yes" and "no".  Set this to no if
++# the POT file is checked in the repository and the version control
++# program ignores timestamps.
++PO_DEPENDS_ON_POT = no
++
++# This tells whether or not to forcibly update $(DOMAIN).pot and
++# regenerate PO files on "make dist".  Possible values are "yes" and
++# "no".  Set this to no if the POT file and PO files are maintained
++# externally.
++DIST_DEPENDS_ON_UPDATE_PO = no
+diff --git a/po/POTFILES.in b/po/POTFILES.in
+index a5691a1..b494bf3 100644
+--- a/po/POTFILES.in
++++ b/po/POTFILES.in
+@@ -1,4 +1,3 @@
+-[encoding: UTF-8]
+ finch/finch.c
+ finch/gntaccount.c
+ finch/gntblist.c
diff --git a/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin/0002-configure.ac-disable-few-languages-not-compatible-wi.patch b/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin/0002-configure.ac-disable-few-languages-not-compatible-wi.patch
new file mode 100644
index 0000000..99c523d
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin/0002-configure.ac-disable-few-languages-not-compatible-wi.patch
@@ -0,0 +1,49 @@
+From 861c8a63c36f9ee7d46238c9bc13a2c1f14372c3 Mon Sep 17 00:00:00 2001
+From: Martin Jansa <Martin.Jansa@gmail.com>
+Date: Sun, 7 Feb 2021 14:35:14 +0000
+Subject: [PATCH] configure.ac: disable few languages not compatible with
+ modern gettext
+
+* as pidgin-3 development is moving to meson and probably
+  most of these changes won't be applicable there, lets just
+  disable them until someone interested steps-up to maintain it
+
+* these 3 fail with:
+cd ../../pidgin-2.14.1/po && rm -f brx.gmo && pidgin/2.14.1-r0/recipe-sysroot-native/usr/bin/msgmerge --for-msgfmt -o brx.1po brx.po pidgin.pot && pidgin/2.14.1-r0/recipe-sysroot-native/usr/bin/msgfmt -c --statistics --verbose -o brx.gmo brx.1po && rm -f brx.1po
+cd ../../pidgin-2.14.1/po && rm -f zh_HK.gmo && pidgin/2.14.1-r0/recipe-sysroot-native/usr/bin/msgmerge --for-msgfmt -o zh_HK.1po zh_HK.po pidgin.pot && pidgin/2.14.1-r0/recipe-sysroot-native/usr/bin/msgfmt -c --statistics --verbose -o zh_HK.gmo zh_HK.1po && rm -f zh_HK.1po
+cd ../../pidgin-2.14.1/po && rm -f zh_TW.gmo && pidgin/2.14.1-r0/recipe-sysroot-native/usr/bin/msgmerge --for-msgfmt -o zh_TW.1po zh_TW.po pidgin.pot && pidgin/2.14.1-r0/recipe-sysroot-native/usr/bin/msgfmt -c --statistics --verbose -o zh_TW.gmo zh_TW.1po && rm -f zh_TW.1po
+zh_HK.1po:2790: 'msgstr' is not a valid C format string, unlike 'msgid'. Reason: The string refers to arguments both through absolute argument numbers and through unnumbered argument specifications.
+pidgin/2.14.1-r0/recipe-sysroot-native/usr/bin/msgfmt: found 1 fatal error
+zh_TW.1po:2790: 'msgstr' is not a valid C format string, unlike 'msgid'. Reason: The string refers to arguments both through absolute argument numbers and through unnumbered argument specifications.
+pidgin/2.14.1-r0/recipe-sysroot-native/usr/bin/msgfmt: found 1 fatal error
+zh_HK.1po: 3234 translated messages.
+make[3]: *** [Makefile:415: ../../pidgin-2.14.1/po/zh_HK.gmo] Error 1
+make[3]: *** Waiting for unfinished jobs....
+zh_TW.1po: 3234 translated messages.
+make[3]: *** [Makefile:415: ../../pidgin-2.14.1/po/zh_TW.gmo] Error 1
+brx.1po:778: number of format specifications in 'msgid' and 'msgstr' does not match
+brx.1po:3179: number of format specifications in 'msgid' and 'msgstr' does not match
+brx.1po:5175: format specifications in 'msgid_plural' and 'msgstr[0]' for argument 1 are not the same
+brx.1po:5184: format specifications in 'msgid_plural' and 'msgstr[0]' for argument 1 are not the same
+brx.1po:7754: format specifications in 'msgid_plural' and 'msgstr[0]' for argument 1 are not the same
+pidgin/2.14.1-r0/recipe-sysroot-native/usr/bin/msgfmt: found 8 fatal errors
+brx.1po: 3246 translated messages.
+
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+---
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index e2280cd..9332932 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -260,7 +260,7 @@ if test x$enable_i18n = xyes; then
+ 	GETTEXT_PACKAGE=pidgin
+ 	AC_SUBST(GETTEXT_PACKAGE)
+ 
+-	ALL_LINGUAS="af am ar ar_SA as ast az be@latin bg bn_IN bn br brx bs ca ca@valencia cs da de dz el en_AU en_CA en_GB eo es_AR es et eu fa fi fr ga gl gu he hi hr hu id it ja ka kk km kn ko ks ku_IQ ku lt lv mai mhr mk ml mn mr ms_MY my_MM nb ne nl nn oc or pa pl ps pt_BR pt ro ru sd si sk sl sq sr@latin sr sv sw ta te th tr tt uk ur uz vi xh zh_CN zh_HK zh_TW"
++	ALL_LINGUAS="af am ar ar_SA as ast az be@latin bg bn_IN bn br bs ca ca@valencia cs da de dz el en_AU en_CA en_GB eo es_AR es et eu fa fi fr ga gl gu he hi hr hu id it ja ka kk km kn ko ks ku_IQ ku lt lv mai mhr mk ml mn mr ms_MY my_MM nb ne nl nn oc or pa pl ps pt_BR pt ro ru sd si sk sl sq sr@latin sr sv sw ta te th tr tt uk ur uz vi xh zh_CN"
+ 	AM_GNU_GETTEXT([external])
+ 	AM_GNU_GETTEXT_VERSION([0.21])
+ 
diff --git a/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin/pidgin-cross-python-265.patch b/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin/pidgin-cross-python-265.patch
deleted file mode 100644
index 312fc85..0000000
--- a/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin/pidgin-cross-python-265.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From 855cc20bafa30597ae7a62f7672d42654b25cde0 Mon Sep 17 00:00:00 2001
-From: Herrie <github.com@herrie.org>
-Date: Mon, 24 Jul 2017 21:30:16 +0200
-Subject: [PATCH] Use pkg-config instead of ${PYTHON}-config to find python
-
----
- configure.ac | 21 ++++++++-------------
- 1 file changed, 8 insertions(+), 13 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index d20a18e..c741829 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -1567,20 +1567,15 @@ AM_CONDITIONAL(ENABLE_DBUS, test "x$enable_dbus" = "xyes")
- dnl Check for Python headers (currently useful only for libgnt)
- dnl (Thanks to XChat)
- if test "x$enable_consoleui" = "xyes" -a ! -z "$PYTHON" -a x"$PYTHON" != x"no" ; then
--	AC_MSG_CHECKING(for Python compile flags)
--	if test -f ${PYTHON}-config; then
--		PY_CFLAGS=`${PYTHON}-config --includes`
--		PY_LIBS=`${PYTHON}-config --libs`
--		AC_DEFINE(USE_PYTHON, [1], [Define if python headers are available.])
--		AC_MSG_RESULT(ok)
--	else
--		AC_MSG_RESULT([Cannot find ${PYTHON}-config])
--		PY_CFLAGS=""
--		PY_LIBS=""
--	fi
-+        AC_MSG_CHECKING(for Python compile flags)
-+        PKG_CHECK_MODULES(PY, python, [
-+                AC_SUBST(PY_CFLAGS)
-+                AC_SUBST(PY_LIBS)
-+        ], [
-+                AC_MSG_RESULT(no)
-+                AC_MSG_ERROR([Can't find python])
-+        ])
- fi
--AC_SUBST(PY_CFLAGS)
--AC_SUBST(PY_LIBS)
- 
- dnl #######################################################################
- dnl # Check for Mono support
diff --git a/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin/use_py3.patch b/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin/use_py3.patch
deleted file mode 100644
index c7b4163..0000000
--- a/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin/use_py3.patch
+++ /dev/null
@@ -1,20 +0,0 @@
---- a/configure.ac
-+++ b/configure.ac
-@@ -1488,7 +1488,7 @@ AC_ARG_WITH([python],
- 
- if test "x$enable_dbus" = "xyes" || test "x$enable_consoleui" = "xyes" ; then
- 	if test -z "$PYTHON" -o "x$PYTHON" = "xyes"; then
--		AC_PATH_PROG([PYTHON], [python], [no])
-+		AC_PATH_PROG([PYTHON], [python3], [no])
- 	fi
- 
- 	if test x"$PYTHON" = x"no" ; then
-@@ -1568,7 +1568,7 @@ dnl Check for Python headers (currently
- dnl (Thanks to XChat)
- if test "x$enable_consoleui" = "xyes" -a ! -z "$PYTHON" -a x"$PYTHON" != x"no" ; then
-         AC_MSG_CHECKING(for Python compile flags)
--        PKG_CHECK_MODULES(PY, python, [
-+        PKG_CHECK_MODULES(PY, python3, [
-                 AC_SUBST(PY_CFLAGS)
-                 AC_SUBST(PY_LIBS)
-         ], [
diff --git a/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin_2.13.0.bb b/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin_2.14.1.bb
similarity index 86%
rename from meta-openembedded/meta-oe/recipes-support/pidgin/pidgin_2.13.0.bb
rename to meta-openembedded/meta-oe/recipes-support/pidgin/pidgin_2.14.1.bb
index fdc79e8..d22380e 100644
--- a/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin_2.13.0.bb
+++ b/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin_2.14.1.bb
@@ -1,4 +1,5 @@
 SUMMARY = "multi-protocol instant messaging client"
+
 SECTION = "x11/network"
 LICENSE = "GPLv2"
 LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
@@ -10,12 +11,11 @@
     ${SOURCEFORGE_MIRROR}/pidgin/pidgin-${PV}.tar.bz2 \
     file://sanitize-configure.ac.patch \
     file://purple-OE-branding-25.patch \
-    file://pidgin-cross-python-265.patch \
-    file://use_py3.patch \
+    file://0001-configure.ac-fix-build-with-autoconf-2.71.patch \
+    file://0002-configure.ac-disable-few-languages-not-compatible-wi.patch \
 "
 
-SRC_URI[md5sum] = "423403494fe1951e47cc75231f743bb0"
-SRC_URI[sha256sum] = "2747150c6f711146bddd333c496870bfd55058bab22ffb7e4eb784018ec46d8f"
+SRC_URI[sha256sum] = "f132e18d551117d9e46acce29ba4f40892a86746c366999166a3862b51060780"
 
 PACKAGECONFIG ??= "gnutls consoleui avahi dbus idn nss \
     ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11 gtk startup-notification', '', d)} \
@@ -34,13 +34,14 @@
 PACKAGECONFIG[gtk] = "--enable-gtkui,--disable-gtkui,gtk+"
 PACKAGECONFIG[x11] = "--with-x=yes --x-includes=${STAGING_INCDIR} --x-libraries=${STAGING_LIBDIR},--with-x=no,virtual/libx11"
 PACKAGECONFIG[startup-notification] = "--enable-startup-notification,--disable-startup-notification,startup-notification"
-PACKAGECONFIG[consoleui] = "--enable-consoleui --with-ncurses-headers=${STAGING_INCDIR},--disable-consoleui,ncurses"
+PACKAGECONFIG[consoleui] = "--enable-consoleui --with-ncurses-headers=${STAGING_INCDIR},--disable-consoleui,libgnt"
 PACKAGECONFIG[gnutls] = "--enable-gnutls --with-gnutls-includes=${STAGING_INCDIR} --with-gnutls-libs=${STAGING_LIBDIR},--disable-gnutls,gnutls,libpurple-plugin-ssl-gnutls"
 PACKAGECONFIG[dbus] = "--enable-dbus,--disable-dbus,dbus dbus-glib"
 PACKAGECONFIG[avahi] = "--enable-avahi,--disable-avahi,avahi"
 PACKAGECONFIG[nss] = "--enable-nss,--disable-nss,nss nspr,libpurple-plugin-ssl-nss"
 
 EXTRA_OECONF = " \
+    --with-python=python3 \
     --disable-perl \
     --disable-tcl \
     --disable-gevolution \
@@ -51,17 +52,12 @@
     --disable-screensaver \
 "
 
-do_configure_prepend() {
-    touch ${S}/po/Makefile
-    sed -i "s#PY_VERSION=`$PYTHON -c 'import sys ; print sys.version[0:3]'`#PY_VERSION=${PYTHON_BASEVERSION}#g" ${S}/configure.ac
-}
-
 OE_LT_RPATH_ALLOW=":${libdir}/purple-2:"
 OE_LT_RPATH_ALLOW[export]="1"
 
-PACKAGES =+ "libpurple-dev libpurple libgnt libgnt-dev finch finch-dev ${PN}-data"
+PACKAGES =+ "libpurple-dev libpurple finch finch-dev ${PN}-data"
 
-RPROVIDES_${PN}-dbg += "libpurple-dbg libgnt-dbg finch-dbg"
+RPROVIDES_${PN}-dbg += "libpurple-dbg finch-dbg"
 
 LEAD_SONAME = "libpurple.so.0"
 FILES_libpurple     = "${libdir}/libpurple*.so.* ${libdir}/purple-2 ${bindir}/purple-* ${sysconfdir}/gconf/schemas/purple* ${datadir}/purple/ca-certs"
@@ -72,8 +68,6 @@
                        ${libdir}/purple-2/liboscar.so \
                        ${libdir}/purple-2/libymsg.so \
                        ${datadir}/aclocal"
-FILES_libgnt         = "${libdir}/libgnt.so.* ${libdir}/gnt/*.so"
-FILES_libgnt-dev     = "${libdir}/gnt/*.la"
 FILES_finch          = "${bindir}/finch"
 FILES_finch-dev      = "${libdir}/finch/*.la"
 
diff --git a/meta-openembedded/meta-oe/recipes-support/poppler/poppler_21.01.0.bb b/meta-openembedded/meta-oe/recipes-support/poppler/poppler_21.02.0.bb
similarity index 95%
rename from meta-openembedded/meta-oe/recipes-support/poppler/poppler_21.01.0.bb
rename to meta-openembedded/meta-oe/recipes-support/poppler/poppler_21.02.0.bb
index 4d4c310..c85fbf2 100644
--- a/meta-openembedded/meta-oe/recipes-support/poppler/poppler_21.01.0.bb
+++ b/meta-openembedded/meta-oe/recipes-support/poppler/poppler_21.02.0.bb
@@ -7,7 +7,7 @@
            file://0001-Do-not-overwrite-all-our-build-flags.patch \
            file://basename-include.patch \
            "
-SRC_URI[sha256sum] = "016dde34e5f868ea98a32ca99b643325a9682281500942b7113f4ec88d20e2f3"
+SRC_URI[sha256sum] = "5c14759c99891e6e472aced6d5f0ff1dacf85d80cd9026d365c55c653edf792c"
 
 DEPENDS = "fontconfig zlib cairo lcms glib-2.0"
 
diff --git a/meta-openembedded/meta-oe/recipes-support/zbar/zbar_git.bb b/meta-openembedded/meta-oe/recipes-support/zbar/zbar_git.bb
index dae9122..a33aa2c 100644
--- a/meta-openembedded/meta-oe/recipes-support/zbar/zbar_git.bb
+++ b/meta-openembedded/meta-oe/recipes-support/zbar/zbar_git.bb
@@ -10,8 +10,8 @@
 LIC_FILES_CHKSUM = "file://LICENSE.md;md5=5e9ee833a2118adc7d8b5ea38e5b1cef"
 
 SRC_URI = "git://github.com/mchehab/zbar.git;branch=master \
-           file://0001-qt-Create-subdir-in-Makefile.patch \
-           file://0002-zbarcam-Create-subdir-in-Makefile.patch \
+    file://0001-qt-Create-subdir-in-Makefile.patch \
+    file://0002-zbarcam-Create-subdir-in-Makefile.patch \
 "
 SRCREV = "89e7900d85dd54ef351a7ed582aec6a5a5d7fa37"
 
@@ -21,15 +21,15 @@
 DEPENDS += "xmlto-native"
 
 PACKAGECONFIG ??= "\
-        ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', '', d)} \
+    ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', '', d)} \
 "
 
 PACKAGECONFIG ??= "video python3"
 
 inherit autotools pkgconfig gettext \
-        ${@bb.utils.contains('PACKAGECONFIG', 'python3', 'python3native', '', d)} \
-        ${@bb.utils.contains('PACKAGECONFIG', 'gtk3', 'gobject-introspection',	'', d)} \
-        ${@bb.utils.contains('PACKAGECONFIG', 'qt5', 'qmake5_paths', '', d)}
+    ${@bb.utils.contains('PACKAGECONFIG', 'python3', 'python3native', '', d)} \
+    ${@bb.utils.contains('PACKAGECONFIG', 'gtk3', 'gobject-introspection',	'', d)} \
+    ${@bb.utils.contains('PACKAGECONFIG', 'qt5', 'qmake5_paths', '', d)}
 
 PACKAGECONFIG[x11] = "--with-x, --without-x, libxv"
 PACKAGECONFIG[video] = "--enable-video, --disable-video, v4l-utils libv4l"
@@ -40,20 +40,19 @@
 PACKAGECONFIG[imagemagick] = "--with-imagemagick, --without-imagemagick, imagemagick"
 
 FILES_${PN} += "${bindir} \
-        ${@bb.utils.contains('DEPENDS', 'python3-native', '${libdir}', '', d)} \
+    ${@bb.utils.contains('DEPENDS', 'python3-native', '${libdir}', '', d)} \
 "
 
 CPPFLAGS_append = "\
-        ${@bb.utils.contains('PACKAGECONFIG', 'qt5', '\
-        -I${STAGING_INCDIR}/QtX11Extras \
-        -I${STAGING_INCDIR}/dbus-1.0 \
-        -I${STAGING_LIBDIR}/dbus-1.0/include \
-        ', '', d)} \
+    ${@bb.utils.contains('PACKAGECONFIG', 'qt5', '\
+    -I${STAGING_INCDIR}/QtX11Extras \
+    -I${STAGING_INCDIR}/dbus-1.0 \
+    -I${STAGING_LIBDIR}/dbus-1.0/include \
+    ', '', d)} \
 "
 
 TARGET_CXXFLAGS_append = " -fPIC"
 
-do_prepare_recipe_sysroot_gettext() {
-        install -m 755 ${STAGING_DATADIR_NATIVE}/gettext/ABOUT-NLS ${S}/
+do_configure_prepend() {
+    install -m 755 ${STAGING_DATADIR_NATIVE}/gettext/ABOUT-NLS ${S}/
 }
-addtask do_prepare_recipe_sysroot_gettext after do_prepare_recipe_sysroot before do_configure
\ No newline at end of file
diff --git a/meta-openembedded/meta-oe/recipes-support/zchunk/zchunk_1.1.8.bb b/meta-openembedded/meta-oe/recipes-support/zchunk/zchunk_1.1.9.bb
similarity index 90%
rename from meta-openembedded/meta-oe/recipes-support/zchunk/zchunk_1.1.8.bb
rename to meta-openembedded/meta-oe/recipes-support/zchunk/zchunk_1.1.9.bb
index ee2d880..ab7b71e 100644
--- a/meta-openembedded/meta-oe/recipes-support/zchunk/zchunk_1.1.8.bb
+++ b/meta-openembedded/meta-oe/recipes-support/zchunk/zchunk_1.1.9.bb
@@ -6,7 +6,7 @@
 
 SRC_URI = "git://github.com/zchunk/zchunk.git;protocol=https"
 
-SRCREV = "5715157da35898a7cb3293b7a5394ba23715b5a4"
+SRCREV = "fe3e3af49fd30b68c21a9fcaac340ad8e7f91055"
 S = "${WORKDIR}/git"
 
 DEPENDS = "\