diff --git a/poky/meta/recipes-extended/bc/bc/0001-dc-fix-exit-code-of-q-command.patch b/poky/meta/recipes-extended/bc/bc/0001-dc-fix-exit-code-of-q-command.patch
new file mode 100644
index 0000000..1ef797d
--- /dev/null
+++ b/poky/meta/recipes-extended/bc/bc/0001-dc-fix-exit-code-of-q-command.patch
@@ -0,0 +1,44 @@
+From e174b6e7d195d5a7465575641b7f68581f162574 Mon Sep 17 00:00:00 2001
+From: Li Zhou <li.zhou@windriver.com>
+Date: Thu, 27 Jun 2019 13:10:47 +0800
+Subject: [PATCH] dc: fix exit code of q command
+
+The exit code for "echo q | dc" is 1 for dc-1.4.1;
+while the exit code for "echo q | dc" is 0 for dc-1.4.
+
+Here is the answer from ken@gnu.org:
+dc-1.4 was right.  There was a rewrite of a chunk of code for 1.4.1 to
+fix a corner case in the Q command, and somehow the placement of the
+clean-up label for the 'q' command got misplaced on the error-handling
+branch instead of the clean-exit branch.  The patch below fixes this
+(it is committed for whenever the next bc/dc release gets made).
+
+Thanks for the report,
+        --Ken Pizzini
+
+Upstream-Status: Backport [Got the solution from maintainer]
+
+Signed-off-by: Li Zhou <li.zhou@windriver.com>
+---
+ dc/eval.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/dc/eval.c b/dc/eval.c
+index 05a3d9e..bcab8db 100644
+--- a/dc/eval.c
++++ b/dc/eval.c
+@@ -814,10 +814,10 @@ error_fail:
+ 	fprintf(stderr, "%s: ", progname);
+ 	perror("error reading input");
+ 	return DC_FAIL;
+-reset_and_exit_quit:
+ reset_and_exit_fail:
+ 	signal(SIGINT, sigint_default);
+ 	return DC_FAIL;
++reset_and_exit_quit:
+ reset_and_exit_success:
+ 	signal(SIGINT, sigint_default);
+ 	return DC_SUCCESS;
+-- 
+1.9.1
+
diff --git a/poky/meta/recipes-extended/bc/bc_1.07.1.bb b/poky/meta/recipes-extended/bc/bc_1.07.1.bb
index 809b864..4a51302 100644
--- a/poky/meta/recipes-extended/bc/bc_1.07.1.bb
+++ b/poky/meta/recipes-extended/bc/bc_1.07.1.bb
@@ -13,7 +13,8 @@
 
 SRC_URI = "${GNU_MIRROR}/${BPN}/${BP}.tar.gz \
            file://no-gen-libmath.patch \
-           file://libmath.h"
+           file://libmath.h \
+           file://0001-dc-fix-exit-code-of-q-command.patch"
 SRC_URI[md5sum] = "cda93857418655ea43590736fc3ca9fc"
 SRC_URI[sha256sum] = "62adfca89b0a1c0164c2cdca59ca210c1d44c3ffc46daf9931cf4942664cb02a"
 
diff --git a/poky/meta/recipes-extended/bzip2/bzip2-1.0.6/CVE-2016-3189.patch b/poky/meta/recipes-extended/bzip2/bzip2-1.0.6/CVE-2016-3189.patch
deleted file mode 100644
index 1d0c3a6..0000000
--- a/poky/meta/recipes-extended/bzip2/bzip2-1.0.6/CVE-2016-3189.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-Upstream-Status: Backport
-https://bugzilla.suse.com/attachment.cgi?id=681334
-
-CVE: CVE-2016-3189
-Signed-off-by: Armin Kuster <akuster@mvista.com>
-
-Index: bzip2-1.0.6/bzip2recover.c
-===================================================================
---- bzip2-1.0.6.orig/bzip2recover.c
-+++ bzip2-1.0.6/bzip2recover.c
-@@ -457,6 +457,7 @@ Int32 main ( Int32 argc, Char** argv )
-             bsPutUChar ( bsWr, 0x50 ); bsPutUChar ( bsWr, 0x90 );
-             bsPutUInt32 ( bsWr, blockCRC );
-             bsClose ( bsWr );
-+            outFile = NULL;
-          }
-          if (wrBlock >= rbCtr) break;
-          wrBlock++;
diff --git a/poky/meta/recipes-extended/bzip2/bzip2-1.0.6/fix-bunzip2-qt-returns-0-for-corrupt-archives.patch b/poky/meta/recipes-extended/bzip2/bzip2-1.0.6/fix-bunzip2-qt-returns-0-for-corrupt-archives.patch
deleted file mode 100644
index ece90d9..0000000
--- a/poky/meta/recipes-extended/bzip2/bzip2-1.0.6/fix-bunzip2-qt-returns-0-for-corrupt-archives.patch
+++ /dev/null
@@ -1,55 +0,0 @@
-From 8068659388127e8e63f2d2297ba2348c72b20705 Mon Sep 17 00:00:00 2001
-From: Wenzong Fan <wenzong.fan@windriver.com>
-Date: Mon, 12 Oct 2015 03:19:51 -0400
-Subject: [PATCH] bzip2: fix bunzip2 -qt returns 0 for corrupt archives
-
-"bzip2 -t FILE" returns 2 if FILE exists, but is not a valid bzip2 file.
-"bzip2 -qt FILE" returns 0 when this happens, although it does print out
-an error message as is does so.
-
-This has been fix by Debian, just port changes from Debian patch file
-"20-legacy.patch".
-
-Debian defect:
-https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=279025
-
-Fix item from changelog:
-http://archive.debian.net/changelogs/pool/main/b/bzip2/bzip2_1.0.2-7/changelog
-
-  * Fixed "bunzip2 -qt returns 0 for corrupt archives" (Closes: #279025).
-
-Upstream-Status: Pending
-
-Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
----
- bzip2.c | 14 ++++++++------
- 1 file changed, 8 insertions(+), 6 deletions(-)
-
-diff --git a/bzip2.c b/bzip2.c
-index 6de9d1d..f2ce668 100644
---- a/bzip2.c
-+++ b/bzip2.c
-@@ -2003,12 +2003,14 @@ IntNative main ( IntNative argc, Char *argv[] )
-             testf ( aa->name );
- 	 }
-       }
--      if (testFailsExist && noisy) {
--         fprintf ( stderr,
--           "\n"
--           "You can use the `bzip2recover' program to attempt to recover\n"
--           "data from undamaged sections of corrupted files.\n\n"
--         );
-+      if (testFailsExist) {
-+         if (noisy) {
-+            fprintf ( stderr,
-+              "\n"
-+              "You can use the `bzip2recover' program to attempt to recover\n"
-+              "data from undamaged sections of corrupted files.\n\n"
-+            );
-+         }
-          setExit(2);
-          exit(exitValue);
-       }
--- 
-1.9.1
-
diff --git a/poky/meta/recipes-extended/bzip2/bzip2-1.0.6/Makefile.am b/poky/meta/recipes-extended/bzip2/bzip2/Makefile.am
similarity index 100%
rename from poky/meta/recipes-extended/bzip2/bzip2-1.0.6/Makefile.am
rename to poky/meta/recipes-extended/bzip2/bzip2/Makefile.am
diff --git a/poky/meta/recipes-extended/bzip2/bzip2-1.0.6/configure.ac b/poky/meta/recipes-extended/bzip2/bzip2/configure.ac
similarity index 100%
rename from poky/meta/recipes-extended/bzip2/bzip2-1.0.6/configure.ac
rename to poky/meta/recipes-extended/bzip2/bzip2/configure.ac
diff --git a/poky/meta/recipes-extended/bzip2/bzip2-1.0.6/run-ptest b/poky/meta/recipes-extended/bzip2/bzip2/run-ptest
similarity index 100%
rename from poky/meta/recipes-extended/bzip2/bzip2-1.0.6/run-ptest
rename to poky/meta/recipes-extended/bzip2/bzip2/run-ptest
diff --git a/poky/meta/recipes-extended/bzip2/bzip2_1.0.6.bb b/poky/meta/recipes-extended/bzip2/bzip2_1.0.8.bb
similarity index 72%
rename from poky/meta/recipes-extended/bzip2/bzip2_1.0.6.bb
rename to poky/meta/recipes-extended/bzip2/bzip2_1.0.8.bb
index 15a8e51..73d933a 100644
--- a/poky/meta/recipes-extended/bzip2/bzip2_1.0.6.bb
+++ b/poky/meta/recipes-extended/bzip2/bzip2_1.0.8.bb
@@ -5,21 +5,17 @@
 HOMEPAGE = "https://sourceware.org/bzip2/"
 SECTION = "console/utils"
 LICENSE = "bzip2"
-LIC_FILES_CHKSUM = "file://LICENSE;beginline=4;endline=37;md5=39406315f540c69bd05b1531daedd2ae"
-PR = "r5"
+LIC_FILES_CHKSUM = "file://LICENSE;beginline=4;endline=37;md5=600af43c50f1fcb82e32f19b32df4664"
 
-SRC_URI = "http://downloads.yoctoproject.org/mirror/sources/${BP}.tar.gz \
-           file://fix-bunzip2-qt-returns-0-for-corrupt-archives.patch \
+SRC_URI = "https://sourceware.org/pub/${BPN}/${BPN}-${PV}.tar.gz \
            file://configure.ac;subdir=${BP} \
            file://Makefile.am;subdir=${BP} \
            file://run-ptest \
-           file://CVE-2016-3189.patch \
            "
+SRC_URI[md5sum] = "67e051268d0c475ea773822f7500d0e5"
+SRC_URI[sha256sum] = "ab5a03176ee106d3f0fa90e381da478ddae405918153cca248e682cd0c4a2269"
 
-SRC_URI[md5sum] = "00b516f4704d4a7cb50a1d97e6e8e15b"
-SRC_URI[sha256sum] = "a2848f34fcd5d6cf47def00461fcb528a0484d8edef8208d6d2e2909dc61d9cd"
-
-UPSTREAM_CHECK_URI = "https://www.sourceware.org/bzip2/"
+UPSTREAM_CHECK_URI = "https://www.sourceware.org/pub/bzip2/"
 UPSTREAM_VERSION_UNKNOWN = "1"
 
 PACKAGES =+ "libbz2"
@@ -44,4 +40,3 @@
 
 PROVIDES_append_class-native = " bzip2-replacement-native"
 BBCLASSEXTEND = "native nativesdk"
-
diff --git a/poky/meta/recipes-extended/cups/cups.inc b/poky/meta/recipes-extended/cups/cups.inc
index 5010f08..46fb2dd 100644
--- a/poky/meta/recipes-extended/cups/cups.inc
+++ b/poky/meta/recipes-extended/cups/cups.inc
@@ -2,7 +2,7 @@
 HOMEPAGE = "https://www.cups.org/"
 SECTION = "console/utils"
 LICENSE = "GPLv2 & LGPLv2"
-DEPENDS = "gnutls libpng jpeg dbus dbus-glib zlib libusb1"
+DEPENDS = "gnutls libpng jpeg dbus zlib libusb1"
 
 SRC_URI = "https://github.com/apple/cups/releases/download/v${PV}/${BP}-source.tar.gz \
            file://use_echo_only_in_init.patch \
diff --git a/poky/meta/recipes-extended/ed/ed_1.15.bb b/poky/meta/recipes-extended/ed/ed_1.15.bb
index c793103..886c3dd 100644
--- a/poky/meta/recipes-extended/ed/ed_1.15.bb
+++ b/poky/meta/recipes-extended/ed/ed_1.15.bb
@@ -9,6 +9,8 @@
 
 SECTION = "base"
 
+CVE_PRODUCT = "gnu:ed"
+
 # LSB states that ed should be in /bin/
 bindir = "${base_bindir}"
 
diff --git a/poky/meta/recipes-extended/gawk/gawk_5.0.0.bb b/poky/meta/recipes-extended/gawk/gawk_5.0.1.bb
similarity index 90%
rename from poky/meta/recipes-extended/gawk/gawk_5.0.0.bb
rename to poky/meta/recipes-extended/gawk/gawk_5.0.1.bb
index 5789013..b3eb39e 100644
--- a/poky/meta/recipes-extended/gawk/gawk_5.0.0.bb
+++ b/poky/meta/recipes-extended/gawk/gawk_5.0.1.bb
@@ -19,8 +19,8 @@
            file://run-ptest \
 "
 
-SRC_URI[md5sum] = "45366249c13aae2bfb00e8e97c3f39b7"
-SRC_URI[sha256sum] = "2d686c9a5b7ba292bc3fa56bc84a1959d721a9d57970a76413156d4b8f1fc67d"
+SRC_URI[md5sum] = "c5441c73cc451764055ee65e9a4292bb"
+SRC_URI[sha256sum] = "625bf3718e25a84dc4486135d5cb5388174682362c70107fd13f21572f5603bb"
 
 inherit autotools gettext texinfo update-alternatives
 
diff --git a/poky/meta/recipes-extended/iptables/iptables/0003-extensions-format-security-fixes-in-libipt_icmp.patch b/poky/meta/recipes-extended/iptables/iptables/0003-extensions-format-security-fixes-in-libipt_icmp.patch
deleted file mode 100644
index e26594d..0000000
--- a/poky/meta/recipes-extended/iptables/iptables/0003-extensions-format-security-fixes-in-libipt_icmp.patch
+++ /dev/null
@@ -1,61 +0,0 @@
-From 907e429d7548157016cd51aba4adc5d0c7d9f816 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Adam=20Go=C5=82=C4=99biowski?= <adamg@pld-linux.org>
-Date: Wed, 14 Nov 2018 07:35:28 +0100
-Subject: extensions: format-security fixes in libip[6]t_icmp
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-commit 61d6c3834de3 ("xtables: add 'printf' attribute to xlate_add")
-introduced support for gcc feature to check format string against passed
-argument.  This commit adds missing bits to extenstions's libipt_icmp.c
-and libip6t_icmp6.c that were causing build to fail.
-
-Fixes: 61d6c3834de3 ("xtables: add 'printf' attribute to xlate_add")
-Signed-off-by: Adam Gołębiowski <adamg@pld-linux.org>
-Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
-
-Upstream-Status: Backport
----
- extensions/libip6t_icmp6.c | 4 ++--
- extensions/libipt_icmp.c   | 2 +-
- 2 files changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/extensions/libip6t_icmp6.c b/extensions/libip6t_icmp6.c
-index 45a71875..cc7bfaeb 100644
---- a/extensions/libip6t_icmp6.c
-+++ b/extensions/libip6t_icmp6.c
-@@ -230,7 +230,7 @@ static unsigned int type_xlate_print(struct xt_xlate *xl, unsigned int icmptype,
- 	type_name = icmp6_type_xlate(icmptype);
- 
- 	if (type_name) {
--		xt_xlate_add(xl, type_name);
-+		xt_xlate_add(xl, "%s", type_name);
- 	} else {
- 		for (i = 0; i < ARRAY_SIZE(icmpv6_codes); ++i)
- 			if (icmpv6_codes[i].type == icmptype &&
-@@ -239,7 +239,7 @@ static unsigned int type_xlate_print(struct xt_xlate *xl, unsigned int icmptype,
- 				break;
- 
- 		if (i != ARRAY_SIZE(icmpv6_codes))
--			xt_xlate_add(xl, icmpv6_codes[i].name);
-+			xt_xlate_add(xl, "%s", icmpv6_codes[i].name);
- 		else
- 			return 0;
- 	}
-diff --git a/extensions/libipt_icmp.c b/extensions/libipt_icmp.c
-index 54189976..e76257c5 100644
---- a/extensions/libipt_icmp.c
-+++ b/extensions/libipt_icmp.c
-@@ -236,7 +236,7 @@ static unsigned int type_xlate_print(struct xt_xlate *xl, unsigned int icmptype,
- 			if (icmp_codes[i].type == icmptype &&
- 			    icmp_codes[i].code_min == code_min &&
- 			    icmp_codes[i].code_max == code_max) {
--				xt_xlate_add(xl, icmp_codes[i].name);
-+				xt_xlate_add(xl, "%s", icmp_codes[i].name);
- 				return 1;
- 			}
- 	}
--- 
-cgit v1.2.1
-
diff --git a/poky/meta/recipes-extended/iptables/iptables_1.8.2.bb b/poky/meta/recipes-extended/iptables/iptables_1.8.3.bb
similarity index 84%
rename from poky/meta/recipes-extended/iptables/iptables_1.8.2.bb
rename to poky/meta/recipes-extended/iptables/iptables_1.8.3.bb
index ad2c1a6..6ac3fc6 100644
--- a/poky/meta/recipes-extended/iptables/iptables_1.8.2.bb
+++ b/poky/meta/recipes-extended/iptables/iptables_1.8.3.bb
@@ -10,11 +10,10 @@
 SRC_URI = "http://netfilter.org/projects/iptables/files/iptables-${PV}.tar.bz2 \
            file://0001-configure-Add-option-to-enable-disable-libnfnetlink.patch \
            file://0002-configure.ac-only-check-conntrack-when-libnfnetlink-enabled.patch \
-           file://0003-extensions-format-security-fixes-in-libipt_icmp.patch  \
 "
 
-SRC_URI[md5sum] = "944558e88ddcc3b9b0d9550070fa3599"
-SRC_URI[sha256sum] = "a3778b50ed1a3256f9ca975de82c2204e508001fc2471238c8c97f3d1c4c12af"
+SRC_URI[md5sum] = "29de711d15c040c402cf3038c69ff513"
+SRC_URI[sha256sum] = "a23cac034181206b4545f4e7e730e76e08b5f3dd78771ba9645a6756de9cdd80"
 
 inherit autotools pkgconfig
 
@@ -48,6 +47,13 @@
 
 FILES_${PN} += "${datadir}/xtables"
 
+# Include the symlinks as well in respective packages
+FILES_${PN}-module-xt-conntrack += "${libdir}/xtables/libxt_state.so"
+FILES_${PN}-module-xt-ct += "${libdir}/xtables/libxt_NOTRACK.so"
+
+INSANE_SKIP_${PN}-module-xt-conntrack = "dev-so"
+INSANE_SKIP_${PN}-module-xt-ct = "dev-so"
+
 ALLOW_EMPTY_${PN}-modules = "1"
 
 RDEPENDS_${PN} = "${PN}-module-xt-standard"
diff --git a/poky/meta/recipes-extended/libsolv/libsolv/0001-build-use-GNUInstallDirs.patch b/poky/meta/recipes-extended/libsolv/libsolv/0001-build-use-GNUInstallDirs.patch
deleted file mode 100644
index 75ef150..0000000
--- a/poky/meta/recipes-extended/libsolv/libsolv/0001-build-use-GNUInstallDirs.patch
+++ /dev/null
@@ -1,188 +0,0 @@
-Backport a patch from upstream to use GNUInstallDirs instead of
-hand-coded path logic, so we have proper control over where files end up.
-
-Upstream-Status: Backport
-Signed-off-by: Ross Burton <ross.burton@intel.com>
-
-From b6c9df4c686975ce5009d09dac706a4e83f02a31 Mon Sep 17 00:00:00 2001
-From: Igor Gnatenko <i.gnatenko.brain@gmail.com>
-Date: Mon, 2 Jul 2018 12:56:41 +0100
-Subject: [PATCH] build: use GNUInstallDirs
-
-Fixes: #128
-Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>
----
- CMakeLists.txt               | 34 +++++++---------------------------
- README                       |  2 +-
- doc/CMakeLists.txt           |  4 ++--
- examples/solv/CMakeLists.txt |  2 +-
- ext/CMakeLists.txt           |  8 ++++----
- libsolv.pc.in                |  4 ++--
- libsolvext.pc.in             |  4 ++--
- src/CMakeLists.txt           |  8 ++++----
- tools/CMakeLists.txt         |  3 +--
- 9 files changed, 24 insertions(+), 45 deletions(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 1deef57d..7e9ffa9b 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -1,6 +1,6 @@
- PROJECT (libsolv)
- 
--CMAKE_MINIMUM_REQUIRED (VERSION 2.4)
-+CMAKE_MINIMUM_REQUIRED (VERSION 2.8.5)
- 
- OPTION (ENABLE_STATIC "Build a static version of the libraries?" OFF)
- OPTION (DISABLE_SHARED "Do not build a shared version of the libraries?" OFF)
-@@ -38,34 +38,14 @@ OPTION (ENABLE_ZCHUNK_COMPRESSION "Build with zchunk compression support?" OFF)
- OPTION (WITH_SYSTEM_ZCHUNK "Use system zchunk library?" OFF)
- OPTION (WITH_LIBXML2  "Build with libxml2 instead of libexpat?" OFF)
- 
--# Library
--IF (DEFINED LIB)
--  SET (LIB_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/${LIB}")
--ELSE (DEFINED  LIB)
--  IF (CMAKE_SIZEOF_VOID_P MATCHES "8")
--    SET (LIB_SUFFIX "64")
--  ENDIF (CMAKE_SIZEOF_VOID_P MATCHES "8")
--  SET (LIB_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX}")
--ENDIF (DEFINED  LIB)
--MESSAGE (STATUS "Libraries will be installed in ${LIB_INSTALL_DIR}")
--# Library
--IF (DEFINED INCLUDE)
--  SET (INCLUDE_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/${INCLUDE}")
--else (DEFINED INCLUDE)
--  SET (INCLUDE_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/include")
--ENDIF (DEFINED  INCLUDE)
--MESSAGE (STATUS "Header files will be installed in ${INCLUDE_INSTALL_DIR}")
--SET (BIN_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/bin")
--IF (NOT MAN_INSTALL_DIR)
--SET (MAN_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/share/man")
--IF (IS_DIRECTORY "${CMAKE_INSTALL_PREFIX}/man"  AND NOT IS_DIRECTORY "${CMAKE_INSTALL_PREFIX}/share/man")
--  SET (MAN_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/man")
--ENDIF (IS_DIRECTORY "${CMAKE_INSTALL_PREFIX}/man"  AND NOT IS_DIRECTORY "${CMAKE_INSTALL_PREFIX}/share/man")
--ENDIF (NOT MAN_INSTALL_DIR)
--MESSAGE(STATUS "Man pages will be installed in ${MAN_INSTALL_DIR}")
-+include (GNUInstallDirs)
-+message (STATUS "Libraries will be installed in ${CMAKE_INSTALL_FULL_LIBDIR}")
-+message (STATUS "Header files will be installed in ${CMAKE_INSTALL_FULL_INCLUDEDIR}")
-+message (STATUS "Binaries will be installed in ${CMAKE_INSTALL_FULL_BINDIR}")
-+message (STATUS "Man pages will be installed in ${CMAKE_INSTALL_FULL_MANDIR}")
- 
- IF (NOT PKGCONFIG_INSTALL_DIR)
--  SET (PKGCONFIG_INSTALL_DIR ${LIB_INSTALL_DIR}/pkgconfig)
-+  SET (PKGCONFIG_INSTALL_DIR ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
- ENDIF (NOT PKGCONFIG_INSTALL_DIR)
- ####################################################################
- # CONFIGURATION                                                    #
-diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt
-index 66011b48..ed38274e 100644
---- a/doc/CMakeLists.txt
-+++ b/doc/CMakeLists.txt
-@@ -48,8 +48,8 @@ STRING(REGEX REPLACE "([^;]+)" "gen/\\1" libsolv_MANPAGES3 "${libsolv_MANPAGES3}
- 
- INSTALL(FILES
-     ${libsolv_MANPAGES3}
--    DESTINATION "${MAN_INSTALL_DIR}/man3")
-+    DESTINATION "${CMAKE_INSTALL_MANDIR}/man3")
- 
- INSTALL(FILES
-     ${libsolv_MANPAGES1}
--    DESTINATION "${MAN_INSTALL_DIR}/man1")
-+    DESTINATION "${CMAKE_INSTALL_MANDIR}/man1")
-diff --git a/examples/solv/CMakeLists.txt b/examples/solv/CMakeLists.txt
-index 41f45f74..0f3bd477 100644
---- a/examples/solv/CMakeLists.txt
-+++ b/examples/solv/CMakeLists.txt
-@@ -25,5 +25,5 @@ TARGET_LINK_LIBRARIES (solv libsolvext libsolv ${SYSTEM_LIBRARIES})
- 
- INSTALL(TARGETS
-     solv
--    DESTINATION ${BIN_INSTALL_DIR})
-+    DESTINATION ${CMAKE_INSTALL_BINDIR})
- 
-diff --git a/ext/CMakeLists.txt b/ext/CMakeLists.txt
-index edc2b9f9..6dd28b1a 100644
---- a/ext/CMakeLists.txt
-+++ b/ext/CMakeLists.txt
-@@ -145,14 +145,14 @@ ENDIF (DISABLE_SHARED)
- 
- SET_TARGET_PROPERTIES(libsolvext PROPERTIES OUTPUT_NAME "solvext")
- SET_TARGET_PROPERTIES(libsolvext PROPERTIES SOVERSION ${LIBSOLVEXT_SOVERSION})
--SET_TARGET_PROPERTIES(libsolvext PROPERTIES INSTALL_NAME_DIR ${LIB_INSTALL_DIR})
-+SET_TARGET_PROPERTIES(libsolvext PROPERTIES INSTALL_NAME_DIR ${CMAKE_INSTALL_LIBDIR})
- 
--INSTALL (FILES ${libsolvext_HEADERS} DESTINATION "${INCLUDE_INSTALL_DIR}/solv")
--INSTALL (TARGETS libsolvext LIBRARY DESTINATION ${LIB_INSTALL_DIR} ARCHIVE DESTINATION ${LIB_INSTALL_DIR} RUNTIME DESTINATION bin)
-+INSTALL (FILES ${libsolvext_HEADERS} DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/solv")
-+INSTALL (TARGETS libsolvext LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
- 
- IF (ENABLE_STATIC AND NOT DISABLE_SHARED)
- ADD_LIBRARY (libsolvext_static STATIC ${libsolvext_SRCS})
- SET_TARGET_PROPERTIES(libsolvext_static PROPERTIES OUTPUT_NAME "solvext")
- SET_TARGET_PROPERTIES(libsolvext_static PROPERTIES SOVERSION ${LIBSOLVEXT_SOVERSION})
--INSTALL (TARGETS libsolvext_static LIBRARY DESTINATION ${LIB_INSTALL_DIR} ARCHIVE DESTINATION ${LIB_INSTALL_DIR})
-+INSTALL (TARGETS libsolvext_static LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
- ENDIF (ENABLE_STATIC AND NOT DISABLE_SHARED)
-diff --git a/libsolv.pc.in b/libsolv.pc.in
-index 40a86230..766146c5 100644
---- a/libsolv.pc.in
-+++ b/libsolv.pc.in
-@@ -1,5 +1,5 @@
--libdir=@LIB_INSTALL_DIR@
--includedir=@INCLUDE_INSTALL_DIR@
-+libdir=@CMAKE_INSTALL_FULL_LIBDIR@
-+includedir=@CMAKE_INSTALL_FULL_INCLUDEDIR@
- 
- Name: libsolv
- Description: Library for solving packages
-diff --git a/libsolvext.pc.in b/libsolvext.pc.in
-index d48b6fab..d0078461 100644
---- a/libsolvext.pc.in
-+++ b/libsolvext.pc.in
-@@ -1,5 +1,5 @@
--libdir=@LIB_INSTALL_DIR@
--includedir=@INCLUDE_INSTALL_DIR@
-+libdir=@CMAKE_INSTALL_FULL_LIBDIR@
-+includedir=@CMAKE_INSTALL_FULL_INCLUDEDIR@
- 
- Name: libsolvext
- Description: Library for reading repositories
-diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
-index 2e32968e..03ea9119 100644
---- a/src/CMakeLists.txt
-+++ b/src/CMakeLists.txt
-@@ -42,14 +42,14 @@ ENDIF (DISABLE_SHARED)
- 
- SET_TARGET_PROPERTIES(libsolv PROPERTIES OUTPUT_NAME "solv")
- SET_TARGET_PROPERTIES(libsolv PROPERTIES SOVERSION ${LIBSOLV_SOVERSION})
--SET_TARGET_PROPERTIES(libsolv PROPERTIES INSTALL_NAME_DIR ${LIB_INSTALL_DIR})
-+SET_TARGET_PROPERTIES(libsolv PROPERTIES INSTALL_NAME_DIR ${CMAKE_INSTALL_LIBDIR})
- 
--INSTALL (FILES ${libsolv_HEADERS} DESTINATION "${INCLUDE_INSTALL_DIR}/solv")
--INSTALL (TARGETS libsolv LIBRARY DESTINATION ${LIB_INSTALL_DIR} ARCHIVE DESTINATION ${LIB_INSTALL_DIR} RUNTIME DESTINATION bin)
-+INSTALL (FILES ${libsolv_HEADERS} DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/solv")
-+INSTALL (TARGETS libsolv LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
- 
- IF (ENABLE_STATIC AND NOT DISABLE_SHARED)
- ADD_LIBRARY (libsolv_static STATIC ${libsolv_SRCS})
- SET_TARGET_PROPERTIES(libsolv_static PROPERTIES OUTPUT_NAME "solv")
- SET_TARGET_PROPERTIES(libsolv_static PROPERTIES SOVERSION ${LIBSOLV_SOVERSION})
--INSTALL (TARGETS libsolv_static LIBRARY DESTINATION ${LIB_INSTALL_DIR} ARCHIVE DESTINATION ${LIB_INSTALL_DIR})
-+INSTALL (TARGETS libsolv_static LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
- ENDIF (ENABLE_STATIC AND NOT DISABLE_SHARED)
-diff --git a/tools/CMakeLists.txt b/tools/CMakeLists.txt
-index 802dc500..0d677f69 100644
---- a/tools/CMakeLists.txt
-+++ b/tools/CMakeLists.txt
-@@ -110,5 +110,4 @@ TARGET_LINK_LIBRARIES (testsolv libsolvext libsolv ${SYSTEM_LIBRARIES})
- ADD_EXECUTABLE (repo2solv repo2solv.c )
- TARGET_LINK_LIBRARIES (repo2solv toolstuff libsolvext libsolv ${SYSTEM_LIBRARIES})
- 
--INSTALL (TARGETS ${tools_list} DESTINATION ${BIN_INSTALL_DIR})
--
-+INSTALL (TARGETS ${tools_list} DESTINATION ${CMAKE_INSTALL_BINDIR})
--- 
-2.11.0
-
diff --git a/poky/meta/recipes-extended/libsolv/libsolv_0.7.4.bb b/poky/meta/recipes-extended/libsolv/libsolv_0.7.5.bb
similarity index 87%
rename from poky/meta/recipes-extended/libsolv/libsolv_0.7.4.bb
rename to poky/meta/recipes-extended/libsolv/libsolv_0.7.5.bb
index b8653ad..80ce76b 100644
--- a/poky/meta/recipes-extended/libsolv/libsolv_0.7.4.bb
+++ b/poky/meta/recipes-extended/libsolv/libsolv_0.7.5.bb
@@ -8,10 +8,9 @@
 DEPENDS = "expat zlib"
 
 SRC_URI = "git://github.com/openSUSE/libsolv.git \
-           file://0001-build-use-GNUInstallDirs.patch \
 "
 
-SRCREV = "51fc3b1214aa9677e972712fa1ce6916e438751f"
+SRCREV = "2cab7ea00d08390374b25b11d969f3740c4660f4"
 
 UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+(\.\d+)+)"
 
diff --git a/poky/meta/recipes-extended/ltp/ltp/0004-build-Add-option-to-select-libc-implementation.patch b/poky/meta/recipes-extended/ltp/ltp/0001-build-Add-option-to-select-libc-implementation.patch
similarity index 90%
rename from poky/meta/recipes-extended/ltp/ltp/0004-build-Add-option-to-select-libc-implementation.patch
rename to poky/meta/recipes-extended/ltp/ltp/0001-build-Add-option-to-select-libc-implementation.patch
index 3c66c94..b5c25c5 100644
--- a/poky/meta/recipes-extended/ltp/ltp/0004-build-Add-option-to-select-libc-implementation.patch
+++ b/poky/meta/recipes-extended/ltp/ltp/0001-build-Add-option-to-select-libc-implementation.patch
@@ -1,7 +1,7 @@
-From 53acddddf1b324e06af886ee4639b774e5c8c8bc Mon Sep 17 00:00:00 2001
+From ec282980e6eee96f5b74aba464141f86049263e6 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Thu, 7 Jan 2016 18:19:03 +0000
-Subject: [PATCH 04/32] build: Add option to select libc implementation
+Subject: [PATCH] build: Add option to select libc implementation
 
 There are more than glibc for C library implementation available on
 linux now a days, uclibc cloaked like glibc but musl e.g. is very
@@ -9,8 +9,9 @@
 
 Disable tests specifically not building _yet_ on musl based systems
 
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
 Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
 ---
  Makefile                                    | 5 +++++
  testcases/kernel/Makefile                   | 5 ++++-
@@ -23,10 +24,10 @@
  8 files changed, 35 insertions(+), 2 deletions(-)
 
 diff --git a/Makefile b/Makefile
-index 297f8e7..906b280 100644
+index 768ca46..e9d679a 100644
 --- a/Makefile
 +++ b/Makefile
-@@ -49,6 +49,11 @@ SKIP_IDCHECK		?= 0
+@@ -41,6 +41,11 @@ vpath %.mk		$(top_srcdir)/mk:$(top_srcdir)/mk/include
  UCLINUX			?= 0
  export UCLINUX
  
@@ -39,7 +40,7 @@
  # COMMON_TARGETS:	Targets which exist in all, clean, and install.
  # INSTALL_TARGETS:	Targets which exist in clean and install (contains
 diff --git a/testcases/kernel/Makefile b/testcases/kernel/Makefile
-index 50a12fa..4f1987f 100644
+index 39d79c7..24a57d9 100644
 --- a/testcases/kernel/Makefile
 +++ b/testcases/kernel/Makefile
 @@ -49,12 +49,15 @@ SUBDIRS			+= connectors \
@@ -60,7 +61,7 @@
  SUBDIRS			+= power_management
  endif
 diff --git a/testcases/kernel/sched/Makefile b/testcases/kernel/sched/Makefile
-index 6245ed0..aa4eb7f 100644
+index 6a57d79..74bb933 100644
 --- a/testcases/kernel/sched/Makefile
 +++ b/testcases/kernel/sched/Makefile
 @@ -23,5 +23,7 @@
@@ -73,7 +74,7 @@
 +endif
  include $(top_srcdir)/include/mk/generic_trunk_target.mk
 diff --git a/testcases/kernel/syscalls/Makefile b/testcases/kernel/syscalls/Makefile
-index 8acb395..b749126 100644
+index 45a00cf..d1becd0 100644
 --- a/testcases/kernel/syscalls/Makefile
 +++ b/testcases/kernel/syscalls/Makefile
 @@ -28,6 +28,11 @@ ifeq ($(UCLINUX),1)
@@ -89,7 +90,7 @@
  ifeq ($(UCLIBC),1)
  FILTER_OUT_DIRS	+= profil
 diff --git a/testcases/network/nfsv4/acl/Makefile b/testcases/network/nfsv4/acl/Makefile
-index 8bc78c2..c36cf50 100644
+index 8c55a6b..f7cda62 100644
 --- a/testcases/network/nfsv4/acl/Makefile
 +++ b/testcases/network/nfsv4/acl/Makefile
 @@ -26,4 +26,8 @@ include $(top_srcdir)/include/mk/env_pre.mk
@@ -102,7 +103,7 @@
 +
  include $(top_srcdir)/include/mk/generic_leaf_target.mk
 diff --git a/testcases/network/rpc/basic_tests/Makefile b/testcases/network/rpc/basic_tests/Makefile
-index 3160813..9bdf5d0 100644
+index 66e9d56..ea8eb8a 100644
 --- a/testcases/network/rpc/basic_tests/Makefile
 +++ b/testcases/network/rpc/basic_tests/Makefile
 @@ -23,4 +23,9 @@
@@ -116,7 +117,7 @@
 +
  include $(top_srcdir)/include/mk/generic_trunk_target.mk
 diff --git a/testcases/realtime/func/pi-tests/Makefile b/testcases/realtime/func/pi-tests/Makefile
-index 7a7a57a..5808866 100644
+index 68616a7..748754b 100644
 --- a/testcases/realtime/func/pi-tests/Makefile
 +++ b/testcases/realtime/func/pi-tests/Makefile
 @@ -27,5 +27,9 @@ include $(top_srcdir)/include/mk/env_pre.mk
@@ -130,7 +131,7 @@
  
  include $(top_srcdir)/include/mk/generic_leaf_target.mk
 diff --git a/testcases/realtime/stress/pi-tests/Makefile b/testcases/realtime/stress/pi-tests/Makefile
-index 5edc3b4..aa5987a 100644
+index 1881f75..266e0b8 100644
 --- a/testcases/realtime/stress/pi-tests/Makefile
 +++ b/testcases/realtime/stress/pi-tests/Makefile
 @@ -24,4 +24,9 @@ top_srcdir		?= ../../../..
@@ -144,5 +145,5 @@
 +
  include $(top_srcdir)/include/mk/generic_leaf_target.mk
 -- 
-2.7.0
+2.7.4
 
diff --git a/poky/meta/recipes-extended/ltp/ltp/0001-syscalls-setrlimit03.c-read-proc-sys-fs-nr_open-for-.patch b/poky/meta/recipes-extended/ltp/ltp/0001-syscalls-setrlimit03.c-read-proc-sys-fs-nr_open-for-.patch
deleted file mode 100644
index 39623c3..0000000
--- a/poky/meta/recipes-extended/ltp/ltp/0001-syscalls-setrlimit03.c-read-proc-sys-fs-nr_open-for-.patch
+++ /dev/null
@@ -1,70 +0,0 @@
-From db57ddc1497e72947da2b14f471ab521478ef99d Mon Sep 17 00:00:00 2001
-From: Tommi Rantala <tommi.t.rantala@nokia.com>
-Date: Thu, 31 Jan 2019 19:49:00 +0200
-Subject: [PATCH] syscalls/setrlimit03.c: read /proc/sys/fs/nr_open for
- RLIMIT_NOFILE limit
-
-Since kernel v2.6.25 RLIMIT_NOFILE limit is no longer hardcoded to
-NR_OPEN, but can be set via /proc/sys/fs/nr_open, see kernel commit
-9cfe015aa424b3c003baba3841a60dd9b5ad319b ("get rid of NR_OPEN and
-introduce a sysctl_nr_open").
-
-nr_open default value is 1024*1024, so setrlimit03 has been passing fine
-on new kernels, only "unexpectedly succeeding" if nr_open is set to some
-larger value.
-
-Signed-off-by: Tommi Rantala <tommi.t.rantala@nokia.com>
-Reviewed-by: Cyril Hrubis <chrubis@suse.cz>
-
-Upstream-Status: Backport [db57ddc1497e ("syscalls/setrlimit03.c: read /proc/sys/fs/nr_open for RLIMIT_NOFILE limit")]
-
-Signed-off-by: He Zhe <zhe.he@windriver.com>
----
- testcases/kernel/syscalls/setrlimit/setrlimit03.c | 13 +++++++++++--
- 1 file changed, 11 insertions(+), 2 deletions(-)
-
-diff --git a/testcases/kernel/syscalls/setrlimit/setrlimit03.c b/testcases/kernel/syscalls/setrlimit/setrlimit03.c
-index 29b52aa..12455fe 100644
---- a/testcases/kernel/syscalls/setrlimit/setrlimit03.c
-+++ b/testcases/kernel/syscalls/setrlimit/setrlimit03.c
-@@ -35,7 +35,10 @@
- # define NR_OPEN (1024*1024)
- #endif
- 
-+#define NR_OPEN_PATH "/proc/sys/fs/nr_open"
-+
- static struct rlimit rlim1, rlim2;
-+static unsigned int nr_open = NR_OPEN;
- 
- static struct tcase {
- 	struct rlimit *rlimt;
-@@ -51,7 +54,10 @@ static void verify_setrlimit(unsigned int n)
- 
- 	TEST(setrlimit(RLIMIT_NOFILE, tc->rlimt));
- 	if (TST_RET != -1) {
--		tst_res(TFAIL, "call succeeded unexpectedly");
-+		tst_res(TFAIL, "call succeeded unexpectedly "
-+			"(nr_open=%u rlim_cur=%lu rlim_max=%lu)", nr_open,
-+			(unsigned long)(tc->rlimt->rlim_cur),
-+			(unsigned long)(tc->rlimt->rlim_max));
- 		return;
- 	}
- 
-@@ -65,10 +71,13 @@ static void verify_setrlimit(unsigned int n)
- 
- static void setup(void)
- {
-+	if (!access(NR_OPEN_PATH, F_OK))
-+		SAFE_FILE_SCANF(NR_OPEN_PATH, "%u", &nr_open);
-+
- 	SAFE_GETRLIMIT(RLIMIT_NOFILE, &rlim1);
- 	rlim2.rlim_max = rlim1.rlim_cur;
- 	rlim2.rlim_cur = rlim1.rlim_max + 1;
--	rlim1.rlim_max = NR_OPEN + 1;
-+	rlim1.rlim_max = nr_open + 1;
- }
- 
- static struct tst_test test = {
--- 
-2.7.4
-
diff --git a/poky/meta/recipes-extended/ltp/ltp/0005-kernel-controllers-Link-with-libfts-explicitly-on-mu.patch b/poky/meta/recipes-extended/ltp/ltp/0002-kernel-controllers-Link-with-libfts-explicitly-on-mu.patch
similarity index 86%
rename from poky/meta/recipes-extended/ltp/ltp/0005-kernel-controllers-Link-with-libfts-explicitly-on-mu.patch
rename to poky/meta/recipes-extended/ltp/ltp/0002-kernel-controllers-Link-with-libfts-explicitly-on-mu.patch
index b9390e2..eff9ed0 100644
--- a/poky/meta/recipes-extended/ltp/ltp/0005-kernel-controllers-Link-with-libfts-explicitly-on-mu.patch
+++ b/poky/meta/recipes-extended/ltp/ltp/0002-kernel-controllers-Link-with-libfts-explicitly-on-mu.patch
@@ -1,20 +1,21 @@
-From 6e3058521b50d91d4b0569c4d491c5af5ff798b2 Mon Sep 17 00:00:00 2001
+From 81e5bd5442337a4a648a0dbbff47eaac0d351287 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Thu, 7 Jan 2016 18:22:38 +0000
-Subject: [PATCH 05/32] kernel/controllers: Link with libfts explicitly on musl
+Subject: [PATCH] kernel/controllers: Link with libfts explicitly on musl
 
 musl does not implement fts like glibc and therefore it depends on
 external implementation for all fts APIs
 
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
 Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
 ---
  testcases/kernel/controllers/Makefile.inc        | 3 +++
  testcases/kernel/controllers/cpuset/Makefile.inc | 3 +++
  2 files changed, 6 insertions(+)
 
 diff --git a/testcases/kernel/controllers/Makefile.inc b/testcases/kernel/controllers/Makefile.inc
-index b106283..ef5fc0c 100644
+index 4ca0b5a..1d85e4d 100644
 --- a/testcases/kernel/controllers/Makefile.inc
 +++ b/testcases/kernel/controllers/Makefile.inc
 @@ -36,6 +36,9 @@ MAKE_DEPS		:= $(LIB)
@@ -28,7 +29,7 @@
  INSTALL_TARGETS		?= *.sh
  
 diff --git a/testcases/kernel/controllers/cpuset/Makefile.inc b/testcases/kernel/controllers/cpuset/Makefile.inc
-index 9e002f4..e0fcb9c 100644
+index db6a843..86dd2a8 100644
 --- a/testcases/kernel/controllers/cpuset/Makefile.inc
 +++ b/testcases/kernel/controllers/cpuset/Makefile.inc
 @@ -42,6 +42,9 @@ MAKE_DEPS		:= $(LIBCONTROLLERS) $(LIBCPUSET)
@@ -42,5 +43,5 @@
  INSTALL_TARGETS		?= *.sh
  
 -- 
-2.7.0
+2.7.4
 
diff --git a/poky/meta/recipes-extended/ltp/ltp/0003-Check-if-__GLIBC_PREREQ-is-defined-before-using-it.patch b/poky/meta/recipes-extended/ltp/ltp/0003-Check-if-__GLIBC_PREREQ-is-defined-before-using-it.patch
new file mode 100644
index 0000000..c0f69ec
--- /dev/null
+++ b/poky/meta/recipes-extended/ltp/ltp/0003-Check-if-__GLIBC_PREREQ-is-defined-before-using-it.patch
@@ -0,0 +1,58 @@
+From 29ce9fdab3bd34e69d73b5b890795559c06553f7 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 7 Jan 2016 19:40:08 +0000
+Subject: [PATCH] Check if __GLIBC_PREREQ is defined before using it
+
+__GLIBC_PREREQ is specific to glibc so it should be checked if it is
+defined or not.
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
+---
+ testcases/kernel/syscalls/accept4/accept4_01.c | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+diff --git a/testcases/kernel/syscalls/accept4/accept4_01.c b/testcases/kernel/syscalls/accept4/accept4_01.c
+index dd289cf..76aa969 100644
+--- a/testcases/kernel/syscalls/accept4/accept4_01.c
++++ b/testcases/kernel/syscalls/accept4/accept4_01.c
+@@ -38,6 +38,7 @@
+ static struct sockaddr_in conn_addr;
+ static int listening_fd;
+ 
++#if defined(__GLIBC__) && defined(__GLIBC_PREREQ)
+ #if !(__GLIBC_PREREQ(2, 10))
+ static int
+ accept4_01(int fd, struct sockaddr *sockaddr, socklen_t *addrlen, int flags)
+@@ -56,6 +57,7 @@ accept4_01(int fd, struct sockaddr *sockaddr, socklen_t *addrlen, int flags)
+ #endif
+ }
+ #endif
++#endif
+ 
+ static int create_listening_socket(void)
+ {
+@@ -115,6 +117,7 @@ static void verify_accept4(unsigned int nr)
+ 	SAFE_CONNECT(connfd, (struct sockaddr *)&conn_addr, sizeof(conn_addr));
+ 	addrlen = sizeof(claddr);
+ 
++#if defined(__GLIBC__) && defined(__GLIBC_PREREQ)
+ #if !(__GLIBC_PREREQ(2, 10))
+ 	TEST(accept4_01(listening_fd, (struct sockaddr *)&claddr, &addrlen,
+ 				tcase->cloexec | tcase->nonblock));
+@@ -122,6 +125,10 @@ static void verify_accept4(unsigned int nr)
+ 	TEST(accept4(listening_fd, (struct sockaddr *)&claddr, &addrlen,
+ 				tcase->cloexec | tcase->nonblock));
+ #endif
++#else
++	TEST(accept4(listening_fd, (struct sockaddr *)&claddr, &addrlen,
++				tcase->cloexec | tcase->nonblock));
++#endif
+ 	if (TST_RET == -1) {
+ 		if (TST_ERR == ENOSYS)
+ 			tst_brk(TCONF, "syscall __NR_accept4 not supported");
+-- 
+2.7.4
+
diff --git a/poky/meta/recipes-extended/ltp/ltp/0018-guard-mallocopt-with-__GLIBC__.patch b/poky/meta/recipes-extended/ltp/ltp/0004-guard-mallocopt-with-__GLIBC__.patch
similarity index 87%
rename from poky/meta/recipes-extended/ltp/ltp/0018-guard-mallocopt-with-__GLIBC__.patch
rename to poky/meta/recipes-extended/ltp/ltp/0004-guard-mallocopt-with-__GLIBC__.patch
index a79763d..5622a64 100644
--- a/poky/meta/recipes-extended/ltp/ltp/0018-guard-mallocopt-with-__GLIBC__.patch
+++ b/poky/meta/recipes-extended/ltp/ltp/0004-guard-mallocopt-with-__GLIBC__.patch
@@ -1,12 +1,13 @@
-From f42b060e80c9f40627c712d4d56d45221bd7d9fa Mon Sep 17 00:00:00 2001
+From d0fc9ca5d3366f9b8907e463222403cd2327be10 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Fri, 8 Jan 2016 06:51:20 +0000
-Subject: [PATCH 18/32] guard mallocopt() with __GLIBC__
+Subject: [PATCH] guard mallocopt() with __GLIBC__
 
 mallocopt is not available on non glibc implementations
 
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
 Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
 ---
  utils/benchmark/ebizzy-0.3/ebizzy.c | 4 ++--
  1 file changed, 2 insertions(+), 2 deletions(-)
@@ -29,5 +30,5 @@
  		fprintf(stderr, "Chunk size %u smaller than record size %u\n",
  			chunk_size, record_size);
 -- 
-2.7.0
+2.7.4
 
diff --git a/poky/meta/recipes-extended/ltp/ltp/0020-getdents-define-getdents-getdents64-only-for-glibc.patch b/poky/meta/recipes-extended/ltp/ltp/0005-getdents-define-getdents-getdents64-only-for-glibc.patch
similarity index 87%
rename from poky/meta/recipes-extended/ltp/ltp/0020-getdents-define-getdents-getdents64-only-for-glibc.patch
rename to poky/meta/recipes-extended/ltp/ltp/0005-getdents-define-getdents-getdents64-only-for-glibc.patch
index 7060a64..d1f7b07 100644
--- a/poky/meta/recipes-extended/ltp/ltp/0020-getdents-define-getdents-getdents64-only-for-glibc.patch
+++ b/poky/meta/recipes-extended/ltp/ltp/0005-getdents-define-getdents-getdents64-only-for-glibc.patch
@@ -1,20 +1,20 @@
-From aa3568e6ac28f377e75ce16b11e3c7738a373e53 Mon Sep 17 00:00:00 2001
+From b996b2480fe3a800ffbdc4a0fdc5e8775c575449 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Fri, 8 Jan 2016 06:57:04 +0000
-Subject: [PATCH 20/32] getdents: define getdents/getdents64 only for glibc
+Subject: [PATCH] getdents: define getdents/getdents64 only for glibc
 
 getdents/getdents64 are implemented in musl and when we define static
 functions with same name, it errors out.
 
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
 Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
 ---
  testcases/kernel/syscalls/getdents/getdents.h | 6 ++++--
  1 file changed, 4 insertions(+), 2 deletions(-)
 
 diff --git a/testcases/kernel/syscalls/getdents/getdents.h b/testcases/kernel/syscalls/getdents/getdents.h
-index abea655..db63d89 100644
+index 702b0bd..860b22e 100644
 --- a/testcases/kernel/syscalls/getdents/getdents.h
 +++ b/testcases/kernel/syscalls/getdents/getdents.h
 @@ -34,12 +34,13 @@ struct linux_dirent {
@@ -46,5 +46,5 @@
 +#endif
  #endif /* GETDENTS_H */
 -- 
-2.7.0
+2.7.4
 
diff --git a/poky/meta/recipes-extended/ltp/ltp/0006-rt_tgsigqueueinfo-disable-test-on-musl.patch b/poky/meta/recipes-extended/ltp/ltp/0006-rt_tgsigqueueinfo-disable-test-on-musl.patch
new file mode 100644
index 0000000..804edfa
--- /dev/null
+++ b/poky/meta/recipes-extended/ltp/ltp/0006-rt_tgsigqueueinfo-disable-test-on-musl.patch
@@ -0,0 +1,35 @@
+From 60054686e2c1a4bedf1d507af97ebbb7ff491e77 Mon Sep 17 00:00:00 2001
+From: Yi Zhao <yi.zhao@windriver.com>
+Date: Thu, 18 Jul 2019 15:23:15 +0800
+Subject: [PATCH] rt_tgsigqueueinfo: disable test on musl
+
+Fix build error with musl:
+rt_tgsigqueueinfo01.c: In function 'sigusr1_handler':
+rt_tgsigqueueinfo01.c:42:22: error: 'siginfo_t' {aka 'struct <anonymous>'} has no member named '_sifields'; did you mean '__si_fields'?
+   42 |  sigval_rcv = uinfo->_sifields._rt.SI_SIGVAL.sival_ptr;
+      |                      ^~~~~~~~~
+      |                      __si_fields
+
+Upstream-Status: Pending
+
+Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
+---
+ testcases/kernel/syscalls/Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/testcases/kernel/syscalls/Makefile b/testcases/kernel/syscalls/Makefile
+index d1becd0..1f3ff34 100644
+--- a/testcases/kernel/syscalls/Makefile
++++ b/testcases/kernel/syscalls/Makefile
+@@ -31,7 +31,7 @@ endif
+ ifeq ($(LIBC),musl)
+ FILTER_OUT_DIRS	+= confstr fmtmsg getcontext ioctl mallopt profil \
+ 		   rt_sigsuspend setdomainname sethostname sigsuspend \
+-		   ustat
++		   ustat rt_tgsigqueueinfo
+ endif
+ 
+ ifeq ($(UCLIBC),1)
+-- 
+2.7.4
+
diff --git a/poky/meta/recipes-extended/ltp/ltp/0035-fix-test_proc_kill-hang.patch b/poky/meta/recipes-extended/ltp/ltp/0007-Fix-test_proc_kill-hanging.patch
similarity index 86%
rename from poky/meta/recipes-extended/ltp/ltp/0035-fix-test_proc_kill-hang.patch
rename to poky/meta/recipes-extended/ltp/ltp/0007-Fix-test_proc_kill-hanging.patch
index 665da3b..0e72645 100644
--- a/poky/meta/recipes-extended/ltp/ltp/0035-fix-test_proc_kill-hang.patch
+++ b/poky/meta/recipes-extended/ltp/ltp/0007-Fix-test_proc_kill-hanging.patch
@@ -1,22 +1,22 @@
-From f7c602b639db0d118e07d3fa7b6deead0be0c72b Mon Sep 17 00:00:00 2001
+From f4fafbdffae3a63c81f65cef98c72dda26283e06 Mon Sep 17 00:00:00 2001
 From: Dengke Du <dengke.du@windriver.com>
 Date: Wed, 8 Feb 2017 16:17:17 +0800
-Subject: [PATCH 3/5] Fix test_proc_kill hanging
+Subject: [PATCH] Fix test_proc_kill hanging
 
 Sometimes the signal is delivered to memcg_process before the framework took
 into consideration its pid entered in the tasks. Fixed by delaying the signal
 send command.
 
+Upstream-Status: Pending
+
 Signed-off-by: George Nita <george.nita@enea.com>
 Signed-off-by: Dengke Du <dengke.du@windriver.com>
-
-Upstream-Status: Pending
 ---
  testcases/kernel/controllers/memcg/functional/memcg_lib.sh | 1 +
  1 file changed, 1 insertion(+)
 
 diff --git a/testcases/kernel/controllers/memcg/functional/memcg_lib.sh b/testcases/kernel/controllers/memcg/functional/memcg_lib.sh
-index b785fe3..2918cc5 100755
+index aadaae4..deea5d6 100755
 --- a/testcases/kernel/controllers/memcg/functional/memcg_lib.sh
 +++ b/testcases/kernel/controllers/memcg/functional/memcg_lib.sh
 @@ -291,6 +291,7 @@ test_proc_kill()
diff --git a/poky/meta/recipes-extended/ltp/ltp/0007-fix-__WORDSIZE-undeclared-when-building-with-musl.patch b/poky/meta/recipes-extended/ltp/ltp/0007-fix-__WORDSIZE-undeclared-when-building-with-musl.patch
deleted file mode 100644
index 6e6dbf3..0000000
--- a/poky/meta/recipes-extended/ltp/ltp/0007-fix-__WORDSIZE-undeclared-when-building-with-musl.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From d1a27570457fb6e1d6bafe81bfa0f3507b137e32 Mon Sep 17 00:00:00 2001
-From: Dengke Du <dengke.du@windriver.com>
-Date: Thu, 9 Feb 2017 18:20:58 +0800
-Subject: [PATCH] fix __WORDSIZE undeclared when building with musl
-
-fix __WORDSIZE undeclared when building with musl.
-
-Upstream-Status: Submitted [https://github.com/linux-test-project/ltp/pull/177]
-
-Signed-off-by: Dengke Du <dengke.du@windriver.com>
----
- include/old/test.h | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git a/include/old/test.h b/include/old/test.h
-index b36764d83..cc6f1b551 100644
---- a/include/old/test.h
-+++ b/include/old/test.h
-@@ -17,6 +17,9 @@
- #include <string.h>
- #include <stdlib.h>
- #include <stdint.h>
-+#ifndef __GLIBC__
-+#include <bits/reg.h>
-+#endif
- 
- #include "usctest.h"
- 
--- 
-2.11.0
-
diff --git a/poky/meta/recipes-extended/ltp/ltp/0008-Check-if-__GLIBC_PREREQ-is-defined-before-using-it.patch b/poky/meta/recipes-extended/ltp/ltp/0008-Check-if-__GLIBC_PREREQ-is-defined-before-using-it.patch
deleted file mode 100644
index 7311ee2..0000000
--- a/poky/meta/recipes-extended/ltp/ltp/0008-Check-if-__GLIBC_PREREQ-is-defined-before-using-it.patch
+++ /dev/null
@@ -1,151 +0,0 @@
-From fc2b47ad979a87bfbd11aeea3f67c26e7fb39e30 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Thu, 7 Jan 2016 19:40:08 +0000
-Subject: [PATCH] Check if __GLIBC_PREREQ is defined before using it
-
-__GLIBC_PREREQ is specific to glibc so it should be checked if it is
-defined or not.
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-Upstream-Status: Pending
----
- .../kernel/syscalls/accept4/accept4_01.c      |  9 ++++++-
- .../sched_getaffinity/sched_getaffinity01.c   | 26 +++++++++++++++++++
- 2 files changed, 34 insertions(+), 1 deletion(-)
-
-diff --git a/testcases/kernel/syscalls/accept4/accept4_01.c b/testcases/kernel/syscalls/accept4/accept4_01.c
-index dec4ef93b..c5d74b07f 100644
---- a/testcases/kernel/syscalls/accept4/accept4_01.c
-+++ b/testcases/kernel/syscalls/accept4/accept4_01.c
-@@ -64,6 +64,7 @@ static void cleanup(void)
- 	tst_rmdir();
- }
- 
-+#if defined(__GLIBC__) && defined(__GLIBC_PREREQ)
- #if !(__GLIBC_PREREQ(2, 10))
- static int
- accept4_01(int fd, struct sockaddr *sockaddr, socklen_t *addrlen, int flags)
-@@ -82,7 +83,6 @@ accept4_01(int fd, struct sockaddr *sockaddr, socklen_t *addrlen, int flags)
- 	}
- 	tst_resm(TINFO, "\n");
- #endif
--
- #if USE_SOCKETCALL
- 	long args[6];
- 
-@@ -97,6 +97,7 @@ accept4_01(int fd, struct sockaddr *sockaddr, socklen_t *addrlen, int flags)
- #endif
- }
- #endif
-+#endif
- 
- static void
- do_test(int lfd, struct sockaddr_in *conn_addr,
-@@ -119,9 +120,15 @@ do_test(int lfd, struct sockaddr_in *conn_addr,
- 		die("Connect Error");
- 
- 	addrlen = sizeof(struct sockaddr_in);
-+#if defined(__GLIBC__) && defined(__GLIBC_PREREQ)
- #if !(__GLIBC_PREREQ(2, 10))
- 	acceptfd = accept4_01(lfd, (struct sockaddr *)&claddr, &addrlen,
- 			      closeonexec_flag | nonblock_flag);
-+
-+#else
-+	acceptfd = accept4(lfd, (struct sockaddr *)&claddr, &addrlen,
-+			   closeonexec_flag | nonblock_flag);
-+#endif
- #else
- 	acceptfd = accept4(lfd, (struct sockaddr *)&claddr, &addrlen,
- 			   closeonexec_flag | nonblock_flag);
-diff --git a/testcases/kernel/syscalls/sched_getaffinity/sched_getaffinity01.c b/testcases/kernel/syscalls/sched_getaffinity/sched_getaffinity01.c
-index 02f04b909..d906d7e09 100644
---- a/testcases/kernel/syscalls/sched_getaffinity/sched_getaffinity01.c
-+++ b/testcases/kernel/syscalls/sched_getaffinity/sched_getaffinity01.c
-@@ -67,9 +67,11 @@ do { \
- 	tst_resm((TEST_RETURN == -1 ? TPASS : TFAIL) | TTERRNO, #t); \
- } while (0)
- 
-+#if defined(__GLIBC__) && defined(__GLIBC_PREREQ)
- #if !(__GLIBC_PREREQ(2, 7))
- #define CPU_FREE(ptr)	free(ptr)
- #endif
-+#endif
- 
- int main(int ac, char **av)
- {
-@@ -96,17 +98,26 @@ static void do_test(void)
- 	pid_t unused_pid;
- 	unsigned len;
- 
-+#if defined(__GLIBC__) && defined(__GLIBC_PREREQ)
- #if __GLIBC_PREREQ(2, 7)
- realloc:
- 	mask = CPU_ALLOC(nrcpus);
-+#else
-+	mask = malloc(sizeof(cpu_set_t));
-+#endif
- #else
- 	mask = malloc(sizeof(cpu_set_t));
- #endif
- 	if (mask == NULL)
- 		tst_brkm(TFAIL | TTERRNO, cleanup, "fail to get enough memory");
-+#if defined(__GLIBC__) && defined(__GLIBC_PREREQ)
- #if __GLIBC_PREREQ(2, 7)
- 	len = CPU_ALLOC_SIZE(nrcpus);
- 	CPU_ZERO_S(len, mask);
-+#else
-+	len = sizeof(cpu_set_t);
-+	CPU_ZERO(mask);
-+#endif
- #else
- 	len = sizeof(cpu_set_t);
- 	CPU_ZERO(mask);
-@@ -115,11 +126,18 @@ realloc:
- 	TEST(sched_getaffinity(0, len, mask));
- 	if (TEST_RETURN == -1) {
- 		CPU_FREE(mask);
-+#if defined(__GLIBC__) && defined(__GLIBC_PREREQ)
- #if __GLIBC_PREREQ(2, 7)
- 		if (errno == EINVAL && nrcpus < (1024 << 8)) {
- 			nrcpus = nrcpus << 2;
- 			goto realloc;
- 		}
-+#else
-+		if (errno == EINVAL)
-+			tst_resm(TFAIL, "NR_CPUS > 1024, we'd better use a "
-+				 "newer glibc(>= 2.7)");
-+		else
-+#endif
- #else
- 		if (errno == EINVAL)
- 			tst_resm(TFAIL, "NR_CPUS > 1024, we'd better use a "
-@@ -132,8 +150,12 @@ realloc:
- 		tst_resm(TINFO, "cpusetsize is %d", len);
- 		tst_resm(TINFO, "mask.__bits[0] = %lu ", mask->__bits[0]);
- 		for (i = 0; i < num; i++) {
-+#if defined(__GLIBC__) && defined(__GLIBC_PREREQ)
- #if __GLIBC_PREREQ(2, 7)
- 			TEST(CPU_ISSET_S(i, len, mask));
-+#else
-+			TEST(CPU_ISSET(i, mask));
-+#endif
- #else
- 			TEST(CPU_ISSET(i, mask));
- #endif
-@@ -144,8 +166,12 @@ realloc:
- 		}
- 	}
- 
-+#if defined(__GLIBC__) && defined(__GLIBC_PREREQ)
- #if __GLIBC_PREREQ(2, 7)
- 	CPU_ZERO_S(len, mask);
-+#else
-+	CPU_ZERO(mask);
-+#endif
- #else
- 	CPU_ZERO(mask);
- #endif
--- 
-2.17.1
-
diff --git a/poky/meta/recipes-extended/ltp/ltp/0036-testcases-network-nfsv4-acl-acl1.c-Security-fix-on-s.patch b/poky/meta/recipes-extended/ltp/ltp/0008-testcases-network-nfsv4-acl-acl1.c-Security-fix-on-s.patch
similarity index 89%
rename from poky/meta/recipes-extended/ltp/ltp/0036-testcases-network-nfsv4-acl-acl1.c-Security-fix-on-s.patch
rename to poky/meta/recipes-extended/ltp/ltp/0008-testcases-network-nfsv4-acl-acl1.c-Security-fix-on-s.patch
index e826d48..b46325e 100644
--- a/poky/meta/recipes-extended/ltp/ltp/0036-testcases-network-nfsv4-acl-acl1.c-Security-fix-on-s.patch
+++ b/poky/meta/recipes-extended/ltp/ltp/0008-testcases-network-nfsv4-acl-acl1.c-Security-fix-on-s.patch
@@ -1,8 +1,8 @@
-From 672a56be14426eae44864673c6c2afca0ab89d46 Mon Sep 17 00:00:00 2001
+From aa7a9185a037ad59012bd46713ac340458e95209 Mon Sep 17 00:00:00 2001
 From: =?UTF-8?q?An=C3=ADbal=20Lim=C3=B3n?= <anibal.limon@linux.intel.com>
 Date: Fri, 13 May 2016 11:11:28 -0500
-Subject: [PATCH] testcases/network/nfsv4/acl/acl1.c: Security fix on string
- printf
+Subject: [PATCH] testcases/network/nfsv4/acl/acl1.c: Security fix on
+ string printf
 MIME-Version: 1.0
 Content-Type: text/plain; charset=UTF-8
 Content-Transfer-Encoding: 8bit
@@ -16,15 +16,15 @@
 
 [YOCTO #9548]
 
-Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
-
 Upstream-Status: Pending
+
+Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
 ---
  testcases/network/nfsv4/acl/acl1.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/testcases/network/nfsv4/acl/acl1.c b/testcases/network/nfsv4/acl/acl1.c
-index b8b67b4..7c7c506 100644
+index bdf0180..898b7ca 100644
 --- a/testcases/network/nfsv4/acl/acl1.c
 +++ b/testcases/network/nfsv4/acl/acl1.c
 @@ -303,7 +303,7 @@ void test_acl_default(char *dir, acl_t acl)
@@ -37,5 +37,5 @@
  	system(cmd);
  	acl2 = acl_get_file(path, ACL_TYPE_ACCESS);
 -- 
-2.1.4
+2.7.4
 
diff --git a/poky/meta/recipes-extended/ltp/ltp/0009-fix-redefinition-of-struct-msgbuf-error-building-wit.patch b/poky/meta/recipes-extended/ltp/ltp/0009-fix-redefinition-of-struct-msgbuf-error-building-wit.patch
deleted file mode 100644
index dd7d283..0000000
--- a/poky/meta/recipes-extended/ltp/ltp/0009-fix-redefinition-of-struct-msgbuf-error-building-wit.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From bf5dd2932200e0199a38f3028d3bef2253f32e38 Mon Sep 17 00:00:00 2001
-From: Dengke Du <dengke.du@windriver.com>
-Date: Thu, 9 Feb 2017 17:17:37 +0800
-Subject: [PATCH] fix redefinition of 'struct msgbuf' error building with musl
-
-When building with musl the file "sys/msg.h" already contain 'struct msgbuf'
-
-Upstream-Status: Submitted [https://github.com/linux-test-project/ltp/pull/177]
-
-Signed-off-by: Dengke Du <dengke.du@windriver.com>
----
- testcases/kernel/syscalls/ipc/msgrcv/msgrcv08.c | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/testcases/kernel/syscalls/ipc/msgrcv/msgrcv08.c b/testcases/kernel/syscalls/ipc/msgrcv/msgrcv08.c
-index a757c0d18..e023114d2 100644
---- a/testcases/kernel/syscalls/ipc/msgrcv/msgrcv08.c
-+++ b/testcases/kernel/syscalls/ipc/msgrcv/msgrcv08.c
-@@ -47,11 +47,13 @@ const char *TCID = "msgrcv08";
- const int TST_TOTAL = 1;
- 
- #if __WORDSIZE == 32
--
-+#ifdef __GLIBC__
- struct msgbuf {
- 	long mtype;     /* message type, must be > 0 */
- 	char mtext[16]; /* message data */
- };
-+#else
-+#endif
- 
- static void msr(int msqid)
- {
--- 
-2.11.0
-
diff --git a/poky/meta/recipes-extended/ltp/ltp/0001-open_posix_testsuite-mmap24-2-Relax-condition-a-bit.patch b/poky/meta/recipes-extended/ltp/ltp/0009-open_posix_testsuite-mmap24-2-Relax-condition-a-bit.patch
similarity index 95%
rename from poky/meta/recipes-extended/ltp/ltp/0001-open_posix_testsuite-mmap24-2-Relax-condition-a-bit.patch
rename to poky/meta/recipes-extended/ltp/ltp/0009-open_posix_testsuite-mmap24-2-Relax-condition-a-bit.patch
index 8473605..d32ac1d 100644
--- a/poky/meta/recipes-extended/ltp/ltp/0001-open_posix_testsuite-mmap24-2-Relax-condition-a-bit.patch
+++ b/poky/meta/recipes-extended/ltp/ltp/0009-open_posix_testsuite-mmap24-2-Relax-condition-a-bit.patch
@@ -1,4 +1,4 @@
-From 85c972f730e8efe891a06ea3a2dfb5cbbdfbfbf4 Mon Sep 17 00:00:00 2001
+From a8715a1446305ffd76406f63c7f160c13a5b2e72 Mon Sep 17 00:00:00 2001
 From: "Hongzhi.Song" <hongzhi.song@windriver.com>
 Date: Wed, 10 Oct 2018 22:07:05 -0400
 Subject: [PATCH] open_posix_testsuite/mmap24-2: Relax condition a bit
@@ -23,7 +23,7 @@
  1 file changed, 5 insertions(+), 5 deletions(-)
 
 diff --git a/testcases/open_posix_testsuite/conformance/interfaces/mmap/24-2.c b/testcases/open_posix_testsuite/conformance/interfaces/mmap/24-2.c
-index de51d43..810e5c8 100644
+index 9cf83d9..55090a6 100644
 --- a/testcases/open_posix_testsuite/conformance/interfaces/mmap/24-2.c
 +++ b/testcases/open_posix_testsuite/conformance/interfaces/mmap/24-2.c
 @@ -7,7 +7,7 @@
@@ -64,5 +64,5 @@
  	return PTS_FAIL;
  }
 -- 
-2.8.1
+2.7.4
 
diff --git a/poky/meta/recipes-extended/ltp/ltp/0010-shmctl01-don-t-use-hardcoded-index-0-for-SHM_STAT-te.patch b/poky/meta/recipes-extended/ltp/ltp/0010-shmctl01-don-t-use-hardcoded-index-0-for-SHM_STAT-te.patch
new file mode 100644
index 0000000..8704e5f
--- /dev/null
+++ b/poky/meta/recipes-extended/ltp/ltp/0010-shmctl01-don-t-use-hardcoded-index-0-for-SHM_STAT-te.patch
@@ -0,0 +1,82 @@
+From 794933b38354a2612cf2c471f11798b306f35315 Mon Sep 17 00:00:00 2001
+From: Jan Stancek <jstancek@redhat.com>
+Date: Mon, 20 May 2019 20:47:20 +0200
+Subject: [PATCH] shmctl01: don't use hardcoded index == 0 for SHM_STAT test
+
+Test fails on SHM_STAT testcase:
+   shmctl01    5  TFAIL  :  shmctl01.c:173: shmctl01 call failed
+                            errno = 22 : Invalid argument
+   shmctl(0, SHM_STAT, 0x601060)           = -EINVAL
+
+since following commit:
+   commit 99db46ea292780cd978d56932d9445b1e8bdafe8
+   Author: Manfred Spraul <manfred@colorfullife.com>
+   Date:   Tue May 14 15:46:36 2019 -0700
+     ipc: do cyclic id allocation for the ipc object.
+
+Don't rely on index 0 being always available, but instead
+use (maximum) index returned by SHM_INFO.
+
+Signed-off-by: Jan Stancek <jstancek@redhat.com>
+Reviewed-by: Petr Vorel <pvorel@suse.cz>
+Acked-by: Cyril Hrubis <chrubis@suse.cz>
+
+Upstream-Status: Backport
+[https://github.com/linux-test-project/ltp/commit/db0a43d9388be2c347a8306751bbe6bec086d062]
+
+Signed-off-by: Hongzhi Song <hongzhi.song@windriver.com>
+Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
+---
+ testcases/kernel/syscalls/ipc/shmctl/shmctl01.c | 21 ++++++++++++++++++---
+ 1 file changed, 18 insertions(+), 3 deletions(-)
+
+diff --git a/testcases/kernel/syscalls/ipc/shmctl/shmctl01.c b/testcases/kernel/syscalls/ipc/shmctl/shmctl01.c
+index 1b46977..52bf23a 100644
+--- a/testcases/kernel/syscalls/ipc/shmctl/shmctl01.c
++++ b/testcases/kernel/syscalls/ipc/shmctl/shmctl01.c
+@@ -79,6 +79,7 @@ static void func_info(int ret);
+ 
+ /* Check routine for SHM_STAT */
+ static void func_sstat(int ret);
++static void func_sstat_setup(void);
+ 
+ /* Check routine for SHM_LOCK */
+ static void func_lock(int ret);
+@@ -110,7 +111,7 @@ static struct test_case_t {
+ #endif
+ 	{&shm_id_1, IPC_SET, &buf, func_set, set_setup},
+ 	{&shm_id_1, IPC_INFO, (struct shmid_ds *) &info, func_info, NULL},
+-	{&shm_index, SHM_STAT, &buf, func_sstat, NULL},
++	{&shm_index, SHM_STAT, &buf, func_sstat, func_sstat_setup},
+ 	{&shm_id_1, SHM_LOCK, NULL, func_lock, NULL},
+ 	{&shm_id_1, SHM_UNLOCK, NULL, func_unlock, NULL},
+ 	{&shm_id_1, IPC_RMID, NULL, func_rmid, NULL},
+@@ -407,9 +408,23 @@ static void func_info(int ret)
+ static void func_sstat(int ret)
+ {
+ 	if (ret >= 0)
+-		tst_resm(TPASS, "get correct shared memory id");
++		tst_resm(TPASS, "get correct shared memory id for index: %d",
++			shm_index);
+ 	else
+-		tst_resm(TFAIL, "shared memory id is incorrect");
++		tst_resm(TFAIL, "shared memory id is incorrect, index: %d",
++			shm_index);
++}
++
++static void func_sstat_setup(void)
++{
++	struct shm_info tmp;
++	int ret;
++
++	ret = shmctl(shm_id_1, SHM_INFO, (void *)&tmp);
++	if (ret < 0)
++		tst_resm(TFAIL|TERRNO, "shmctl(SHM_INFO)");
++	else
++		shm_index = ret;
+ }
+ 
+ static void func_lock(int ret)
+-- 
+2.7.4
+
diff --git a/poky/meta/recipes-extended/ltp/ltp/0011-direct_io-diotest4-drop-MAP_FIXED.patch b/poky/meta/recipes-extended/ltp/ltp/0011-direct_io-diotest4-drop-MAP_FIXED.patch
new file mode 100644
index 0000000..9cd188f
--- /dev/null
+++ b/poky/meta/recipes-extended/ltp/ltp/0011-direct_io-diotest4-drop-MAP_FIXED.patch
@@ -0,0 +1,56 @@
+From f210d7e19b721041f31b7f258a169f89dc850303 Mon Sep 17 00:00:00 2001
+From: Jan Stancek <jstancek@redhat.com>
+Date: Thu, 4 Jul 2019 16:45:23 +0200
+Subject: [PATCH] direct_io/diotest4: drop MAP_FIXED
+
+Hongzhi reports that this test is failing on mips64 with 5.1+:
+  diotest4 10 TBROK : diotest4.c:368: can't mmap file: Invalid argument
+  diotest4 11 TBROK : diotest4.c:368: Remaining cases broken
+I could reproduce it on emulated 5kc-malta, running 5.2.0-rc7.
+
+Test is trying to map into area immediately following heap as MAP_SHARED,
+but it used wrong alignment (fixed by 'lapi/mmap.h: include config.h').
+
+Usage of MAP_FIXED seems unnecessary, so drop that too and let the kernel
+pick an address.
+
+Reported-by: Hongzhi.Song <hongzhi.song@windriver.com>
+Signed-off-by: Jan Stancek <jstancek@redhat.com>
+Acked-by: Cyril Hrubis <chrubis@suse.cz>
+
+Upstream-Status: Backport
+[https://github.com/linux-test-project/ltp/commit/f5444eeeabf252b8884b9465d277b6af853819e3]
+
+Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
+---
+ testcases/kernel/io/direct_io/diotest4.c | 8 ++------
+ 1 file changed, 2 insertions(+), 6 deletions(-)
+
+diff --git a/testcases/kernel/io/direct_io/diotest4.c b/testcases/kernel/io/direct_io/diotest4.c
+index e4616e4..bf200cd 100644
+--- a/testcases/kernel/io/direct_io/diotest4.c
++++ b/testcases/kernel/io/direct_io/diotest4.c
+@@ -352,18 +352,14 @@ int main(int argc, char *argv[])
+ 	total++;
+ 
+ 	/* Test-10: read, write to a mmaped file */
+-	shm_base = (char *)(((long)sbrk(0) + (shmsz - 1)) & ~(shmsz - 1));
+-	if (shm_base == NULL) {
+-		tst_brkm(TBROK, cleanup, "sbrk failed: %s", strerror(errno));
+-	}
+ 	offset = 4096;
+ 	count = bufsize;
+ 	if ((fd = open(filename, O_DIRECT | O_RDWR)) < 0) {
+ 		tst_brkm(TBROK, cleanup, "can't open %s: %s",
+ 			 filename, strerror(errno));
+ 	}
+-	shm_base = mmap(shm_base, 0x100000, PROT_READ | PROT_WRITE,
+-			MAP_SHARED | MAP_FIXED, fd, 0);
++	shm_base = mmap(0, 0x100000, PROT_READ | PROT_WRITE,
++			MAP_SHARED, fd, 0);
+ 	if (shm_base == (caddr_t) - 1) {
+ 		tst_brkm(TBROK, cleanup, "can't mmap file: %s",
+ 			 strerror(errno));
+-- 
+2.7.4
+
diff --git a/poky/meta/recipes-extended/ltp/ltp/0012-getrlimit03-adjust-a-bit-of-code-to-compatiable-with.patch b/poky/meta/recipes-extended/ltp/ltp/0012-getrlimit03-adjust-a-bit-of-code-to-compatiable-with.patch
new file mode 100644
index 0000000..aecbc80
--- /dev/null
+++ b/poky/meta/recipes-extended/ltp/ltp/0012-getrlimit03-adjust-a-bit-of-code-to-compatiable-with.patch
@@ -0,0 +1,64 @@
+From 4ac747c1f7ff8e2ec2567d6672822e95a9b56e55 Mon Sep 17 00:00:00 2001
+From: "Hongzhi.Song" <hongzhi.song@windriver.com>
+Date: Mon, 15 Jul 2019 03:39:06 -0400
+Subject: [PATCH] getrlimit03: adjust a bit of code to compatiable with mips32
+
+Error info:
+getrlimit03.c:104: FAIL: __NR_prlimit64(0) had rlim_cur =
+ffffffffffffffff but __NR_getrlimit(0) had rlim_cur = 7fffffff
+
+According to kernel code: [arch/mips/include/uapi/asm/resource.h]
+RLIM_INFINITY is set to 0x7fffffffUL instead of ULONG_MAX on mips32.
+
+ /*
+ * SuS says limits have to be unsigned.
+ * Which makes a ton more sense anyway,
+ * but we keep the old value on MIPS32,
+ * for compatibility:
+ */
+ #ifndef __mips64
+ # define RLIM_INFINITY      0x7fffffffUL
+ #endif
+
+Adding conditional statement about mips to fix this.
+
+Signed-off-by: Jan Stancek <jstancek@redhat.com>
+Signed-off-by: Hongzhi.Song <hongzhi.song@windriver.com>
+
+Upstream-Status: Backport
+[https://github.com/linux-test-project/ltp/commit/7a3bca63cd7f059d490b6274f0fdf3247be93fde]
+
+Signed-off-by: Hongzhi.Song <hongzhi.song@windriver.com>
+---
+ testcases/kernel/syscalls/getrlimit/getrlimit03.c | 8 +++++++-
+ 1 file changed, 7 insertions(+), 1 deletion(-)
+
+diff --git a/testcases/kernel/syscalls/getrlimit/getrlimit03.c b/testcases/kernel/syscalls/getrlimit/getrlimit03.c
+index e4d56c4..319bc49 100644
+--- a/testcases/kernel/syscalls/getrlimit/getrlimit03.c
++++ b/testcases/kernel/syscalls/getrlimit/getrlimit03.c
+@@ -26,6 +26,7 @@
+ 
+ #include "tst_test.h"
+ #include "lapi/syscalls.h"
++#include "lapi/abisize.h"
+ 
+ /**
+  * Linux provides an "old" getrlimit syscall handler that uses signed long,
+@@ -61,7 +62,12 @@ struct rlimit_ulong {
+ 	unsigned long rlim_cur;
+ 	unsigned long rlim_max;
+ };
+-const unsigned long RLIM_INFINITY_UL = ULONG_MAX;
++
++#if defined(__mips__) && defined(TST_ABI32)
++	const unsigned long RLIM_INFINITY_UL = 0x7fffffffUL;
++#else
++	const unsigned long RLIM_INFINITY_UL = ULONG_MAX;
++#endif
+ 
+ static int getrlimit_ulong(int resource, struct rlimit_ulong *rlim)
+ {
+-- 
+2.7.4
+
diff --git a/poky/meta/recipes-extended/ltp/ltp/0021-Define-_GNU_SOURCE-for-MREMAP_MAYMOVE-definition.patch b/poky/meta/recipes-extended/ltp/ltp/0021-Define-_GNU_SOURCE-for-MREMAP_MAYMOVE-definition.patch
deleted file mode 100644
index 6c5f360..0000000
--- a/poky/meta/recipes-extended/ltp/ltp/0021-Define-_GNU_SOURCE-for-MREMAP_MAYMOVE-definition.patch
+++ /dev/null
@@ -1,73 +0,0 @@
-From b216435bb362df10c45f544b78d8c884eaa901fd Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 8 Jan 2016 07:01:02 +0000
-Subject: [PATCH 21/32] Define _GNU_SOURCE for MREMAP_MAYMOVE definition
-
-musl guards MREMAP_MAYMOVE with _GNU_SOURCE unlike glibc which uses
-__USE_GNU
-
-Fixes errors like
-error: 'MREMAP_MAYMOVE' undeclared (first use in this function)
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-Upstream-Status: Pending
----
- testcases/kernel/syscalls/mremap/mremap01.c | 4 +++-
- testcases/kernel/syscalls/mremap/mremap02.c | 2 ++
- testcases/kernel/syscalls/mremap/mremap03.c | 2 ++
- 3 files changed, 7 insertions(+), 1 deletion(-)
-
-diff --git a/testcases/kernel/syscalls/mremap/mremap01.c b/testcases/kernel/syscalls/mremap/mremap01.c
-index d63d1e4..24ca174 100644
---- a/testcases/kernel/syscalls/mremap/mremap01.c
-+++ b/testcases/kernel/syscalls/mremap/mremap01.c
-@@ -76,10 +76,12 @@
-  */
- #include <unistd.h>
- #include <errno.h>
-+#include <fcntl.h>
-+#define _GNU_SOURCE
- #define __USE_GNU
- #include <sys/mman.h>
- #undef __USE_GNU
--#include <fcntl.h>
-+#undef _GNU_SOURCE
- 
- #include "test.h"
- #include "safe_macros.h"
-diff --git a/testcases/kernel/syscalls/mremap/mremap02.c b/testcases/kernel/syscalls/mremap/mremap02.c
-index 5a51b9a..a530a6b 100644
---- a/testcases/kernel/syscalls/mremap/mremap02.c
-+++ b/testcases/kernel/syscalls/mremap/mremap02.c
-@@ -75,9 +75,11 @@
- #include <errno.h>
- #include <unistd.h>
- #include <fcntl.h>
-+#define _GNU_SOURCE
- #define __USE_GNU
- #include <sys/mman.h>
- #undef __USE_GNU
-+#undef _GNU_SOURCE
- 
- #include "test.h"
- 
-diff --git a/testcases/kernel/syscalls/mremap/mremap03.c b/testcases/kernel/syscalls/mremap/mremap03.c
-index 12e3829..9b39f8b 100644
---- a/testcases/kernel/syscalls/mremap/mremap03.c
-+++ b/testcases/kernel/syscalls/mremap/mremap03.c
-@@ -76,9 +76,11 @@
- #include <errno.h>
- #include <unistd.h>
- #include <fcntl.h>
-+#define _GNU_SOURCE
- #define __USE_GNU
- #include <sys/mman.h>
- #undef __USE_GNU
-+#undef _GNU_SOURCE
- 
- #include "test.h"
- 
--- 
-2.7.0
-
diff --git a/poky/meta/recipes-extended/ltp/ltp/0023-ptrace-Use-int-instead-of-enum-__ptrace_request.patch b/poky/meta/recipes-extended/ltp/ltp/0023-ptrace-Use-int-instead-of-enum-__ptrace_request.patch
deleted file mode 100644
index 529f4ed..0000000
--- a/poky/meta/recipes-extended/ltp/ltp/0023-ptrace-Use-int-instead-of-enum-__ptrace_request.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-From 560347f77236616a635b4a997a0596b8da4d0799 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 8 Jan 2016 07:08:25 +0000
-Subject: [PATCH 23/32] ptrace:  Use int instead of enum __ptrace_request
-
-__ptrace_request is only available with glibc
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-Upstream-Status: Pending
----
- testcases/kernel/syscalls/ptrace/ptrace03.c           | 4 ++++
- testcases/kernel/syscalls/ptrace/spawn_ptrace_child.h | 4 ++++
- 2 files changed, 8 insertions(+)
-
-diff --git a/testcases/kernel/syscalls/ptrace/ptrace03.c b/testcases/kernel/syscalls/ptrace/ptrace03.c
-index a4028fc..f1880cd 100644
---- a/testcases/kernel/syscalls/ptrace/ptrace03.c
-+++ b/testcases/kernel/syscalls/ptrace/ptrace03.c
-@@ -102,7 +102,11 @@ static pid_t unused_pid;
- static pid_t zero_pid;
- 
- struct test_case_t {
-+#ifdef __GLIBC__
- 	enum __ptrace_request request;
-+#else
-+	int request;
-+#endif
- 	pid_t *pid;
- 	int exp_errno;
- } test_cases[] = {
-diff --git a/testcases/kernel/syscalls/ptrace/spawn_ptrace_child.h b/testcases/kernel/syscalls/ptrace/spawn_ptrace_child.h
-index ae538e9..85aa89d 100644
---- a/testcases/kernel/syscalls/ptrace/spawn_ptrace_child.h
-+++ b/testcases/kernel/syscalls/ptrace/spawn_ptrace_child.h
-@@ -130,7 +130,11 @@ static char *strings[] = {
- 	SPT(KILL)
- 	SPT(SINGLESTEP)
- };
-+#ifdef __GLIBC__
- static inline char *strptrace(enum __ptrace_request request)
-+#else
-+static inline char *strptrace(int request)
-+#endif
- {
- 	return strings[request];
- }
--- 
-2.7.0
-
diff --git a/poky/meta/recipes-extended/ltp/ltp/0024-rt_sigaction-rt_sigprocmark-Define-_GNU_SOURCE.patch b/poky/meta/recipes-extended/ltp/ltp/0024-rt_sigaction-rt_sigprocmark-Define-_GNU_SOURCE.patch
deleted file mode 100644
index 03aa45d..0000000
--- a/poky/meta/recipes-extended/ltp/ltp/0024-rt_sigaction-rt_sigprocmark-Define-_GNU_SOURCE.patch
+++ /dev/null
@@ -1,70 +0,0 @@
-From e01e9862c248dc90a8ec6f2d06f8469d7a50cd8e Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 8 Jan 2016 07:14:58 +0000
-Subject: [PATCH 24/32] rt_sigaction/rt_sigprocmark: Define _GNU_SOURCE
-
-Fixes musl build failure e.g.
-error: 'SA_NOMASK' undeclared here (not in a function)
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-Upstream-Status: Pending
----
- testcases/kernel/syscalls/rt_sigaction/rt_sigaction01.c     | 1 +
- testcases/kernel/syscalls/rt_sigaction/rt_sigaction02.c     | 2 +-
- testcases/kernel/syscalls/rt_sigaction/rt_sigaction03.c     | 1 +
- testcases/kernel/syscalls/rt_sigprocmask/rt_sigprocmask01.c | 1 +
- 4 files changed, 4 insertions(+), 1 deletion(-)
-
-diff --git a/testcases/kernel/syscalls/rt_sigaction/rt_sigaction01.c b/testcases/kernel/syscalls/rt_sigaction/rt_sigaction01.c
-index 5cf89cc..bdcb91a 100644
---- a/testcases/kernel/syscalls/rt_sigaction/rt_sigaction01.c
-+++ b/testcases/kernel/syscalls/rt_sigaction/rt_sigaction01.c
-@@ -28,6 +28,7 @@
- /*		sigset_t type.                       			      */
- /******************************************************************************/
- 
-+#define _GNU_SOURCE
- #include <stdio.h>
- #include <stdlib.h>
- #include <unistd.h>
-diff --git a/testcases/kernel/syscalls/rt_sigaction/rt_sigaction02.c b/testcases/kernel/syscalls/rt_sigaction/rt_sigaction02.c
-index a1da743..8a27a0f 100644
---- a/testcases/kernel/syscalls/rt_sigaction/rt_sigaction02.c
-+++ b/testcases/kernel/syscalls/rt_sigaction/rt_sigaction02.c
-@@ -23,7 +23,7 @@
- /* Description: This tests the rt_sigaction() syscall                         */
- /*		rt_sigaction Expected EFAULT error check                      */
- /******************************************************************************/
--
-+#define _GNU_SOURCE
- #include <stdio.h>
- #include <stdlib.h>
- #include <unistd.h>
-diff --git a/testcases/kernel/syscalls/rt_sigaction/rt_sigaction03.c b/testcases/kernel/syscalls/rt_sigaction/rt_sigaction03.c
-index 175d220..e7627cd 100644
---- a/testcases/kernel/syscalls/rt_sigaction/rt_sigaction03.c
-+++ b/testcases/kernel/syscalls/rt_sigaction/rt_sigaction03.c
-@@ -24,6 +24,7 @@
- /*		rt_sigaction Expected EINVAL error check                      */
- /******************************************************************************/
- 
-+#define _GNU_SOURCE
- #include <stdio.h>
- #include <stdlib.h>
- #include <unistd.h>
-diff --git a/testcases/kernel/syscalls/rt_sigprocmask/rt_sigprocmask01.c b/testcases/kernel/syscalls/rt_sigprocmask/rt_sigprocmask01.c
-index 74e5a61..75c57fc 100644
---- a/testcases/kernel/syscalls/rt_sigprocmask/rt_sigprocmask01.c
-+++ b/testcases/kernel/syscalls/rt_sigprocmask/rt_sigprocmask01.c
-@@ -39,6 +39,7 @@
- /*		    sigsetsize should indicate the size of a sigset_t type.   */
- /******************************************************************************/
- 
-+#define _GNU_SOURCE
- #include <stdio.h>
- #include <signal.h>
- #include <errno.h>
--- 
-2.7.0
-
diff --git a/poky/meta/recipes-extended/ltp/ltp/0026-crash01-Define-_GNU_SOURCE.patch b/poky/meta/recipes-extended/ltp/ltp/0026-crash01-Define-_GNU_SOURCE.patch
deleted file mode 100644
index f65fad1..0000000
--- a/poky/meta/recipes-extended/ltp/ltp/0026-crash01-Define-_GNU_SOURCE.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 0133a2b29d6f48d8e2bba6a3be581cdfa91311a6 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 8 Jan 2016 07:21:05 +0000
-Subject: [PATCH 26/32] crash01: Define _GNU_SOURCE
-
-Fixes musl build errors like
-error: 'SA_NOMASK' undeclared (first use in this function)
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-Upstream-Status: Pending
----
- testcases/misc/crash/crash01.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/testcases/misc/crash/crash01.c b/testcases/misc/crash/crash01.c
-index 0574521..08a02e7 100644
---- a/testcases/misc/crash/crash01.c
-+++ b/testcases/misc/crash/crash01.c
-@@ -49,7 +49,7 @@ stress test at the same time you run other tests, like a multi-user
- benchmark.
- 
- */
--
-+#define _GNU_SOURCE
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
--- 
-2.7.0
-
diff --git a/poky/meta/recipes-extended/ltp/ltp/0028-rt_sigaction.h-Use-sighandler_t-instead-of-__sighand.patch b/poky/meta/recipes-extended/ltp/ltp/0028-rt_sigaction.h-Use-sighandler_t-instead-of-__sighand.patch
deleted file mode 100644
index 40ee894..0000000
--- a/poky/meta/recipes-extended/ltp/ltp/0028-rt_sigaction.h-Use-sighandler_t-instead-of-__sighand.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-From 94557fb7e1293c61145c959b8c5ffecf4a2b1069 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 8 Jan 2016 07:24:44 +0000
-Subject: [PATCH 28/32] rt_sigaction.h: Use sighandler_t instead of
- __sighandler_t
-
-When _GNU_SOURCE is used then both typedefs are same and using
-sighandler_t makes it work on musl too
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-Upstream-Status: Pending
----
- include/lapi/rt_sigaction.h                      | 4 ++--
- testcases/kernel/syscalls/rt_sigsuspend/Makefile | 3 +++
- 2 files changed, 5 insertions(+), 2 deletions(-)
-
-diff --git a/include/lapi/rt_sigaction.h b/include/lapi/rt_sigaction.h
-index 18236db..15facda 100644
---- a/include/lapi/rt_sigaction.h
-+++ b/include/lapi/rt_sigaction.h
-@@ -36,12 +36,12 @@
- #if defined(__mips__)
- struct kernel_sigaction {
- 	unsigned int sa_flags;
--	__sighandler_t k_sa_handler;
-+	sighandler_t k_sa_handler;
- 	sigset_t sa_mask;
- };
- #else
- struct kernel_sigaction {
--	__sighandler_t k_sa_handler;
-+	sighandler_t k_sa_handler;
- 	unsigned long sa_flags;
- 	void (*sa_restorer) (void);
- 	sigset_t sa_mask;
-diff --git a/testcases/kernel/syscalls/rt_sigsuspend/Makefile b/testcases/kernel/syscalls/rt_sigsuspend/Makefile
-index 37bc3a9..2ca7f7c 100644
---- a/testcases/kernel/syscalls/rt_sigsuspend/Makefile
-+++ b/testcases/kernel/syscalls/rt_sigsuspend/Makefile
-@@ -19,4 +19,7 @@
- top_srcdir		?= ../../../..
- 
- include $(top_srcdir)/include/mk/testcases.mk
-+
-+CFLAGS	+= -D_GNU_SOURCE
-+
- include $(top_srcdir)/include/mk/generic_leaf_target.mk
diff --git a/poky/meta/recipes-extended/ltp/ltp/0034-periodic_output.patch b/poky/meta/recipes-extended/ltp/ltp/0034-periodic_output.patch
deleted file mode 100644
index c2ef899..0000000
--- a/poky/meta/recipes-extended/ltp/ltp/0034-periodic_output.patch
+++ /dev/null
@@ -1,55 +0,0 @@
-From 5a77e2bdc083f4f842a8ba7c2db1a7ac6e5f0664 Mon Sep 17 00:00:00 2001
-From: Dengke Du <dengke.du@windriver.com>
-Date: Wed, 31 May 2017 21:26:05 -0400
-Subject: [PATCH] Add periodic output for long time test.
-
-This is needed in context of having scripts running ltp tests and
-waiting with a timeout for the output of the tests.
-
-Signed-off-by: Tudor Florea <tudor.florea@enea.com>
-Upstream-Status: Pending
-
-Signed-off-by: Dengke Du <dengke.du@windriver.com>
----
- .../kernel/controllers/memcg/stress/memcg_stress_test.sh      | 11 ++++++++---
- 1 file changed, 8 insertions(+), 3 deletions(-)
-
-diff --git a/testcases/kernel/controllers/memcg/stress/memcg_stress_test.sh b/testcases/kernel/controllers/memcg/stress/memcg_stress_test.sh
-index af1a708..084e628 100755
---- a/testcases/kernel/controllers/memcg/stress/memcg_stress_test.sh
-+++ b/testcases/kernel/controllers/memcg/stress/memcg_stress_test.sh
-@@ -37,7 +37,8 @@ if [ "x$(grep -w memory /proc/cgroups | cut -f4)" != "x1" ]; then
-         exit 0
- fi
- 
--RUN_TIME=$(( 15 * 60 ))
-+ONE_MINUTE=60
-+RUN_TIME=15
- 
- cleanup()
- {
-@@ -62,7 +63,7 @@ do_mount()
- # $1 - Number of cgroups
- # $2 - Allocated how much memory in one process? in MB
- # $3 - The interval to touch memory in a process
--# $4 - How long does this test run ? in second
-+# $4 - How long does this test run ? in minutes
- run_stress()
- {
- 	do_mount;
-@@ -81,7 +82,11 @@ run_stress()
- 		eval /bin/kill -s SIGUSR1 \$pid$i 2> /dev/null
- 	done
- 
--	sleep $4
-+	for i in $(seq 0 $(($4-1)))
-+	do
-+		eval echo "Started $i min ago. Still alive... "
-+		sleep $ONE_MINUTE
-+	done
- 
- 	for i in $(seq 0 $(($1-1)))
- 	do
--- 
-2.8.1
-
diff --git a/poky/meta/recipes-extended/ltp/ltp/0039-commands-ar01-Fix-for-test-in-deterministic-mode.patch b/poky/meta/recipes-extended/ltp/ltp/0039-commands-ar01-Fix-for-test-in-deterministic-mode.patch
deleted file mode 100644
index ec5e2ef..0000000
--- a/poky/meta/recipes-extended/ltp/ltp/0039-commands-ar01-Fix-for-test-in-deterministic-mode.patch
+++ /dev/null
@@ -1,254 +0,0 @@
-From 04da9478887e705ea38e4f097492da20e651686c Mon Sep 17 00:00:00 2001
-From: Guangwen Feng <fenggw-fnst@cn.fujitsu.com>
-Date: Wed, 13 Sep 2017 15:48:42 +0800
-Subject: [PATCH] commands/ar01: Fix for test in deterministic mode
-
-If binutils was configured with --enable-deterministic-archives,
-ar will run in deterministic mode by default, and use zero for
-timestamps and uids/gids, which makes the test case abnormal.
-
-Fix this by add the "U" modifier when deterministic mode is default.
-
-Signed-off-by: Guangwen Feng <fenggw-fnst@cn.fujitsu.com>
-Signed-off-by: Fei Jie <feij.fnst@cn.fujitsu.com>
-
-Upstream-Status: Backport
-[http://lists.linux.it/pipermail/ltp/2017-September/005668.html]
-
-Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
----
- testcases/commands/ar/ar01 | 92 ++++++++++++++++++++++++++--------------------
- 1 file changed, 52 insertions(+), 40 deletions(-)
-
-diff --git a/testcases/commands/ar/ar01 b/testcases/commands/ar/ar01
-index be105f6da..813a51d9c 100644
---- a/testcases/commands/ar/ar01
-+++ b/testcases/commands/ar/ar01
-@@ -24,16 +24,28 @@
- #
- AR="${AR:=ar}"
- TST_CNT=17
-+TST_SETUP=setup
- TST_TESTFUNC=test
- TST_NEEDS_TMPDIR=1
- TST_NEEDS_CMDS="$AR"
- 
- . tst_test.sh
- 
-+setup()
-+{
-+	ar --help | grep "use zero for timestamps and uids/gids (default)" \
-+		>/dev/null
-+	if [ $? -eq 0 ]; then
-+		MOD="U"
-+	else
-+		MOD=""
-+	fi
-+}
-+
- test1()
- {
--	ROD ar -cr lib.a $TST_DATAROOT/file1.in $TST_DATAROOT/file3.in
--	ROD ar -ra file1.in lib.a $TST_DATAROOT/file2.in
-+	ROD ar -cr"$MOD" lib.a $TST_DATAROOT/file1.in $TST_DATAROOT/file3.in
-+	ROD ar -ra"$MOD" file1.in lib.a $TST_DATAROOT/file2.in
- 	ROD ar -t lib.a \> ar.out
- 
- 	printf "file1.in\nfile2.in\nfile3.in\n" > ar.exp
-@@ -50,9 +62,9 @@ test1()
- 
- test2()
- {
--	ROD ar -cr lib.a $TST_DATAROOT/file1.in $TST_DATAROOT/file2.in \
--		         $TST_DATAROOT/file3.in $TST_DATAROOT/file4.in
--	ROD ar -ma file1.in lib.a file4.in
-+	ROD ar -cr"$MOD" lib.a $TST_DATAROOT/file1.in $TST_DATAROOT/file2.in \
-+			       $TST_DATAROOT/file3.in $TST_DATAROOT/file4.in
-+	ROD ar -ma"$MOD" file1.in lib.a file4.in
- 	ROD ar -t lib.a \> ar.out
- 
- 	printf "file1.in\nfile4.in\nfile2.in\nfile3.in\n" > ar.exp
-@@ -69,8 +81,8 @@ test2()
- 
- test3()
- {
--	ROD ar -cr lib.a $TST_DATAROOT/file1.in $TST_DATAROOT/file3.in
--	ROD ar -rb file3.in lib.a $TST_DATAROOT/file2.in
-+	ROD ar -cr"$MOD" lib.a $TST_DATAROOT/file1.in $TST_DATAROOT/file3.in
-+	ROD ar -rb"$MOD" file3.in lib.a $TST_DATAROOT/file2.in
- 	ROD ar -t lib.a \> ar.out
- 
- 	printf "file1.in\nfile2.in\nfile3.in\n" > ar.exp
-@@ -87,9 +99,9 @@ test3()
- 
- test4()
- {
--	ROD ar -cr lib.a $TST_DATAROOT/file1.in $TST_DATAROOT/file3.in \
--	                 $TST_DATAROOT/file2.in
--	ROD ar -mb file3.in lib.a file2.in
-+	ROD ar -cr"$MOD" lib.a $TST_DATAROOT/file1.in $TST_DATAROOT/file3.in \
-+			       $TST_DATAROOT/file2.in
-+	ROD ar -mb"$MOD" file3.in lib.a file2.in
- 	ROD ar -t lib.a \> ar.out
- 
- 	printf "file1.in\nfile2.in\nfile3.in\n" > ar.exp
-@@ -106,7 +118,7 @@ test4()
- 
- test5()
- {
--	ROD ar -cr lib.a $TST_DATAROOT/file1.in \> ar.out
-+	ROD ar -cr"$MOD" lib.a $TST_DATAROOT/file1.in \> ar.out
- 
- 	if [ -s ar.out ]; then
- 		tst_res TFAIL "ar produced output unexpectedly (-c)"
-@@ -120,7 +132,7 @@ test5()
- 
- test6()
- {
--	ROD ar -qc lib.a $TST_DATAROOT/file1.in \> ar.out
-+	ROD ar -qc"$MOD" lib.a $TST_DATAROOT/file1.in \> ar.out
- 
- 	if [ -s ar.out ]; then
- 		tst_res TFAIL "ar produced output unexpectedly (-qc)"
-@@ -134,9 +146,9 @@ test6()
- 
- test7()
- {
--	ROD ar -cr lib.a $TST_DATAROOT/file1.in $TST_DATAROOT/file2.in \
--	                 $TST_DATAROOT/file3.in
--	ROD ar -d lib.a file1.in file2.in
-+	ROD ar -cr"$MOD" lib.a $TST_DATAROOT/file1.in $TST_DATAROOT/file2.in \
-+			       $TST_DATAROOT/file3.in
-+	ROD ar -d"$MOD" lib.a file1.in file2.in
- 	ROD ar -t lib.a \> ar.out
- 
- 	printf "file3.in\n" > ar.exp
-@@ -153,9 +165,9 @@ test7()
- 
- test8()
- {
--	ROD ar -cr lib.a $TST_DATAROOT/file1.in $TST_DATAROOT/file2.in \
--	                 $TST_DATAROOT/file3.in
--	ROD ar -d lib.a
-+	ROD ar -cr"$MOD" lib.a $TST_DATAROOT/file1.in $TST_DATAROOT/file2.in \
-+			       $TST_DATAROOT/file3.in
-+	ROD ar -d"$MOD" lib.a
- 	ROD ar -t lib.a \> ar.out
- 
- 	printf "file1.in\nfile2.in\nfile3.in\n" > ar.exp
-@@ -172,8 +184,8 @@ test8()
- 
- test9()
- {
--	ROD ar -cr lib.a $TST_DATAROOT/file1.in $TST_DATAROOT/file3.in
--	ROD ar -ri file3.in lib.a $TST_DATAROOT/file2.in
-+	ROD ar -cr"$MOD" lib.a $TST_DATAROOT/file1.in $TST_DATAROOT/file3.in
-+	ROD ar -ri"$MOD" file3.in lib.a $TST_DATAROOT/file2.in
- 	ROD ar -t lib.a \> ar.out
- 
- 	printf "file1.in\nfile2.in\nfile3.in\n" > ar.exp
-@@ -190,9 +202,9 @@ test9()
- 
- test10()
- {
--	ROD ar -cr lib.a $TST_DATAROOT/file1.in $TST_DATAROOT/file3.in \
--	                 $TST_DATAROOT/file2.in
--	ROD ar -mi file3.in lib.a file2.in
-+	ROD ar -cr"$MOD" lib.a $TST_DATAROOT/file1.in $TST_DATAROOT/file3.in \
-+			       $TST_DATAROOT/file2.in
-+	ROD ar -mi"$MOD" file3.in lib.a file2.in
- 	ROD ar -t lib.a \> ar.out
- 
- 	printf "file1.in\nfile2.in\nfile3.in\n" > ar.exp
-@@ -209,9 +221,9 @@ test10()
- 
- test11()
- {
--	ROD ar -cr lib.a $TST_DATAROOT/file1.in $TST_DATAROOT/file3.in \
--	                 $TST_DATAROOT/file2.in
--	ROD ar -m lib.a file3.in
-+	ROD ar -cr"$MOD" lib.a $TST_DATAROOT/file1.in $TST_DATAROOT/file3.in \
-+			       $TST_DATAROOT/file2.in
-+	ROD ar -m"$MOD" lib.a file3.in
- 	ROD ar -t lib.a \> ar.out
- 
- 	printf "file1.in\nfile2.in\nfile3.in\n" > ar.exp
-@@ -228,9 +240,9 @@ test11()
- 
- test12()
- {
--	ROD ar -cr lib.a $TST_DATAROOT/file1.in $TST_DATAROOT/file2.in \
--	                 $TST_DATAROOT/file3.in
--	ROD ar -p lib.a \> ar.out
-+	ROD ar -cr"$MOD" lib.a $TST_DATAROOT/file1.in $TST_DATAROOT/file2.in \
-+			       $TST_DATAROOT/file3.in
-+	ROD ar -p"$MOD" lib.a \> ar.out
- 
- 	printf "This is file one\nThis is file two\nThis is file three\n" > ar.exp
- 
-@@ -247,9 +259,9 @@ test12()
- test13()
- {
- 
--	ROD ar -cr lib.a $TST_DATAROOT/file1.in $TST_DATAROOT/file2.in \
--	                 $TST_DATAROOT/file3.in
--	ROD ar -q lib.a $TST_DATAROOT/file4.in
-+	ROD ar -cr"$MOD" lib.a $TST_DATAROOT/file1.in $TST_DATAROOT/file2.in \
-+			       $TST_DATAROOT/file3.in
-+	ROD ar -q"$MOD" lib.a $TST_DATAROOT/file4.in
- 	ROD ar -t lib.a \> ar.out
- 
- 	printf "file1.in\nfile2.in\nfile3.in\nfile4.in\n" > ar.exp
-@@ -267,14 +279,14 @@ test13()
- test14()
- {
- 	ROD touch file0.in
--	ROD ar -cr lib.a file0.in $TST_DATAROOT/file1.in
-+	ROD ar -cr"$MOD" lib.a file0.in $TST_DATAROOT/file1.in
- 
- 	file0_mtime1=$(ar -tv lib.a | grep file0.in)
- 	file1_mtime1=$(ar -tv lib.a | grep file1.in)
- 
- 	touch -c -t $(date --date='next day' +"%Y%m%d%H%M") file0.in
- 
--	ROD ar -ru lib.a file0.in $TST_DATAROOT/file1.in
-+	ROD ar -ru"$MOD" lib.a file0.in $TST_DATAROOT/file1.in
- 
- 	file0_mtime2=$(ar -tv lib.a | grep file0.in)
- 	file1_mtime2=$(ar -tv lib.a | grep file1.in)
-@@ -296,7 +308,7 @@ test14()
- 
- test15()
- {
--	ROD ar -cr lib.a $TST_DATAROOT/file1.in
-+	ROD ar -cr"$MOD" lib.a $TST_DATAROOT/file1.in
- 	ROD ar -tv lib.a \> ar.out
- 
- 	if grep -q '[rwx-]\{9\} [0-9].*/[0-9].*\s*[0-9].*.*file1.in' ar.out; then
-@@ -311,9 +323,9 @@ test15()
- 
- test16()
- {
--	ROD ar -cr lib.a $TST_DATAROOT/file1.in $TST_DATAROOT/file2.in \
--	                 $TST_DATAROOT/file3.in
--	ROD ar -xv lib.a \> ar.out
-+	ROD ar -cr"$MOD" lib.a $TST_DATAROOT/file1.in $TST_DATAROOT/file2.in \
-+			       $TST_DATAROOT/file3.in
-+	ROD ar -xv"$MOD" lib.a \> ar.out
- 
- 	printf "x - file1.in\nx - file2.in\nx - file3.in\n" > ar.exp
- 
-@@ -335,8 +347,8 @@ test16()
- 
- test17()
- {
--	ROD ar -cr lib.a $TST_DATAROOT/file1.in $TST_DATAROOT/file2.in
--	ROD ar -xv lib.a file2.in \> ar.out
-+	ROD ar -cr"$MOD" lib.a $TST_DATAROOT/file1.in $TST_DATAROOT/file2.in
-+	ROD ar -xv"$MOD" lib.a file2.in \> ar.out
- 
- 	printf "x - file2.in\n" > ar.exp
- 
--- 
-2.19.0.rc2
-
diff --git a/poky/meta/recipes-extended/ltp/ltp/define-sigrtmin-and-sigrtmax-for-musl.patch b/poky/meta/recipes-extended/ltp/ltp/define-sigrtmin-and-sigrtmax-for-musl.patch
deleted file mode 100644
index c324463..0000000
--- a/poky/meta/recipes-extended/ltp/ltp/define-sigrtmin-and-sigrtmax-for-musl.patch
+++ /dev/null
@@ -1,114 +0,0 @@
-From 34b91edc70709f32b44f6b3a32c8f18db393e36c Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Daniel=20D=C3=ADaz?= <daniel.diaz@linaro.org>
-Date: Wed, 20 Feb 2019 08:07:27 -0600
-Subject: [PATCH] Define __SIGRTMIN and __SIGRTMAX for MUSL
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Some libc implementations might differ in the definitions they
-include. Exempli gratia: MUSL does not define __SIGRTMAX nor
-__SIGRTMIN.
-
-These two tests fail to build because of the missing
-definitions:
-  testcases/kernel/syscalls/ptrace/ptrace05.c
-  testcases/kernel/syscalls/sighold/sighold02.c
-
-Out of precaution, these two also include this header:
-  lib/tst_sig.c
-  testcases/kernel/syscalls/rt_sigsuspend/rt_sigsuspend01.c
-
-Upstream-Status: Submitted [http://lists.linux.it/pipermail/ltp/2019-February/010916.html]
-
-Signed-off-by: Daniel Díaz <daniel.diaz@linaro.org>
----
- include/lapi/signal.h                         | 24 +++++++++++++++++++
- lib/tst_sig.c                                 |  1 +
- testcases/kernel/syscalls/ptrace/ptrace05.c   |  1 +
- .../syscalls/rt_sigsuspend/rt_sigsuspend01.c  |  1 +
- testcases/kernel/syscalls/sighold/sighold02.c |  1 +
- 5 files changed, 28 insertions(+)
- create mode 100644 include/lapi/signal.h
-
-diff --git a/include/lapi/signal.h b/include/lapi/signal.h
-new file mode 100644
-index 000000000..d22965a94
---- /dev/null
-+++ b/include/lapi/signal.h
-@@ -0,0 +1,24 @@
-+// SPDX-License-Identifier: GPL-2.0-or-later
-+/*
-+ * Copyright (c) 2019 Linaro Limited. All rights reserved.
-+ * Author: Daniel Díaz <daniel.diaz@linaro.org>
-+ */
-+
-+#ifndef LAPI_SIGNAL_H
-+#define LAPI_SIGNAL_H
-+
-+#include <signal.h>
-+
-+/*
-+ * Some libc implementations might differ in the definitions they include. This
-+ * covers those differences for all tests to successfully build.
-+ */
-+
-+#ifndef __SIGRTMIN
-+# define __SIGRTMIN 32
-+#endif
-+#ifndef __SIGRTMAX
-+# define __SIGRTMAX (_NSIG - 1)
-+#endif
-+
-+#endif
-diff --git a/lib/tst_sig.c b/lib/tst_sig.c
-index 36565e13d..6d77aeafd 100644
---- a/lib/tst_sig.c
-+++ b/lib/tst_sig.c
-@@ -72,6 +72,7 @@
- #include <signal.h>
- #include <unistd.h>
- #include "test.h"
-+#include "lapi/signal.h"
- 
- #define MAXMESG 150		/* size of mesg string sent to tst_res */
- 
-diff --git a/testcases/kernel/syscalls/ptrace/ptrace05.c b/testcases/kernel/syscalls/ptrace/ptrace05.c
-index 420330029..54cfa4d7b 100644
---- a/testcases/kernel/syscalls/ptrace/ptrace05.c
-+++ b/testcases/kernel/syscalls/ptrace/ptrace05.c
-@@ -38,6 +38,7 @@
- #include "ptrace.h"
- 
- #include "test.h"
-+#include "lapi/signal.h"
- 
- char *TCID = "ptrace05";
- int TST_TOTAL = 0;
-diff --git a/testcases/kernel/syscalls/rt_sigsuspend/rt_sigsuspend01.c b/testcases/kernel/syscalls/rt_sigsuspend/rt_sigsuspend01.c
-index f17a9aae6..e577cf227 100644
---- a/testcases/kernel/syscalls/rt_sigsuspend/rt_sigsuspend01.c
-+++ b/testcases/kernel/syscalls/rt_sigsuspend/rt_sigsuspend01.c
-@@ -18,6 +18,7 @@
- #include "tst_test.h"
- #include "lapi/syscalls.h"
- #include "lapi/safe_rt_signal.h"
-+#include "lapi/signal.h"
- 
- static void sig_handler(int sig)
- {
-diff --git a/testcases/kernel/syscalls/sighold/sighold02.c b/testcases/kernel/syscalls/sighold/sighold02.c
-index d1d4b0b06..b763142df 100644
---- a/testcases/kernel/syscalls/sighold/sighold02.c
-+++ b/testcases/kernel/syscalls/sighold/sighold02.c
-@@ -49,6 +49,7 @@
- #include <sys/wait.h>
- #include "test.h"
- #include "safe_macros.h"
-+#include "lapi/signal.h"
- 
- /* _XOPEN_SOURCE disables NSIG */
- #ifndef NSIG
--- 
-2.17.1
-
diff --git a/poky/meta/recipes-extended/ltp/ltp/setregid01-security-string-formatting.patch b/poky/meta/recipes-extended/ltp/ltp/setregid01-security-string-formatting.patch
deleted file mode 100644
index 2444914..0000000
--- a/poky/meta/recipes-extended/ltp/ltp/setregid01-security-string-formatting.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From 430e05c2169ed15aaa6d7f9459edd607603cee02 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Daniel=20D=C3=ADaz?= <daniel.diaz@linaro.org>
-Date: Mon, 25 Feb 2019 10:44:33 -0600
-Subject: [PATCH] setregid01: Fix security warning for string formatting
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-GCC 8.2.0 complains with the following:
-  setregid01.c: In function 'run':
-  setregid01.c:47:3: error: format not a string literal and no format arguments [-Werror=format-security]
-     tst_res(TFAIL | TTERRNO, tc->msg);
-     ^~~~~~~
-because there is no string formatting in the message. This can
-be seen with CFLAGS set to:
-  -Wformat -Wformat-security -Werror=format-security
-as Yocto Project's Poky does, e.g.:
-  http://errors.yoctoproject.org/Errors/Details/230043/
-
-Upstream-Status: Backport [46e1eda55f188810e6bf3a939b92d604321807ae]
-
-Signed-off-by: Daniel Díaz <daniel.diaz@linaro.org>
-Reviewed-by: Enji Cooper <yaneurabeya@gmail.com>
----
- testcases/kernel/syscalls/setregid/setregid01.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/testcases/kernel/syscalls/setregid/setregid01.c b/testcases/kernel/syscalls/setregid/setregid01.c
-index f2e41e134..8c9e11918 100644
---- a/testcases/kernel/syscalls/setregid/setregid01.c
-+++ b/testcases/kernel/syscalls/setregid/setregid01.c
-@@ -44,9 +44,9 @@ static void run(unsigned int n)
- 	TEST(SETREGID(*tc->arg1, *tc->arg2));
- 
- 	if (TST_RET == -1)
--		tst_res(TFAIL | TTERRNO, tc->msg);
-+		tst_res(TFAIL | TTERRNO, "%s", tc->msg);
- 	else
--		tst_res(TPASS, tc->msg);
-+		tst_res(TPASS, "%s", tc->msg);
- }
- 
- static void setup(void)
--- 
-2.17.1
-
diff --git a/poky/meta/recipes-extended/ltp/ltp_20190115.bb b/poky/meta/recipes-extended/ltp/ltp_20190517.bb
similarity index 76%
rename from poky/meta/recipes-extended/ltp/ltp_20190115.bb
rename to poky/meta/recipes-extended/ltp/ltp_20190517.bb
index 1d0c00b..1f3a94b 100644
--- a/poky/meta/recipes-extended/ltp/ltp_20190115.bb
+++ b/poky/meta/recipes-extended/ltp/ltp_20190517.bb
@@ -27,29 +27,21 @@
 
 CFLAGS_append_powerpc64 = " -D__SANE_USERSPACE_TYPES__"
 CFLAGS_append_mipsarchn64 = " -D__SANE_USERSPACE_TYPES__"
-SRCREV = "a6a5caef13632e669dda27b0461726eba546a2f3"
+SRCREV = "ac33ef87f0b9dc56533026435be3ea8c67ce86d2"
 
 SRC_URI = "git://github.com/linux-test-project/ltp.git \
-           file://0004-build-Add-option-to-select-libc-implementation.patch \
-           file://0005-kernel-controllers-Link-with-libfts-explicitly-on-mu.patch \
-           file://0007-fix-__WORDSIZE-undeclared-when-building-with-musl.patch \
-           file://0008-Check-if-__GLIBC_PREREQ-is-defined-before-using-it.patch \
-           file://0009-fix-redefinition-of-struct-msgbuf-error-building-wit.patch \
-           file://0018-guard-mallocopt-with-__GLIBC__.patch \
-           file://0020-getdents-define-getdents-getdents64-only-for-glibc.patch \
-           file://0021-Define-_GNU_SOURCE-for-MREMAP_MAYMOVE-definition.patch \
-           file://0023-ptrace-Use-int-instead-of-enum-__ptrace_request.patch \
-           file://0024-rt_sigaction-rt_sigprocmark-Define-_GNU_SOURCE.patch \
-           file://0026-crash01-Define-_GNU_SOURCE.patch \
-           file://0028-rt_sigaction.h-Use-sighandler_t-instead-of-__sighand.patch \
-           file://0034-periodic_output.patch \
-           file://0035-fix-test_proc_kill-hang.patch \
-           file://0036-testcases-network-nfsv4-acl-acl1.c-Security-fix-on-s.patch \
-           file://0039-commands-ar01-Fix-for-test-in-deterministic-mode.patch \
-           file://0001-open_posix_testsuite-mmap24-2-Relax-condition-a-bit.patch \
-           file://define-sigrtmin-and-sigrtmax-for-musl.patch \
-           file://setregid01-security-string-formatting.patch \
-           file://0001-syscalls-setrlimit03.c-read-proc-sys-fs-nr_open-for-.patch \
+           file://0001-build-Add-option-to-select-libc-implementation.patch \
+           file://0002-kernel-controllers-Link-with-libfts-explicitly-on-mu.patch \
+           file://0003-Check-if-__GLIBC_PREREQ-is-defined-before-using-it.patch \
+           file://0004-guard-mallocopt-with-__GLIBC__.patch \
+           file://0005-getdents-define-getdents-getdents64-only-for-glibc.patch \
+           file://0006-rt_tgsigqueueinfo-disable-test-on-musl.patch \
+           file://0007-Fix-test_proc_kill-hanging.patch \
+           file://0008-testcases-network-nfsv4-acl-acl1.c-Security-fix-on-s.patch \
+           file://0009-open_posix_testsuite-mmap24-2-Relax-condition-a-bit.patch \
+           file://0010-shmctl01-don-t-use-hardcoded-index-0-for-SHM_STAT-te.patch \
+           file://0011-direct_io-diotest4-drop-MAP_FIXED.patch \
+           file://0012-getrlimit03-adjust-a-bit-of-code-to-compatiable-with.patch \
            "
 
 S = "${WORKDIR}/git"
diff --git a/poky/meta/recipes-extended/mc/mc_4.8.22.bb b/poky/meta/recipes-extended/mc/mc_4.8.23.bb
similarity index 93%
rename from poky/meta/recipes-extended/mc/mc_4.8.22.bb
rename to poky/meta/recipes-extended/mc/mc_4.8.23.bb
index f64effb..83de8db 100644
--- a/poky/meta/recipes-extended/mc/mc_4.8.22.bb
+++ b/poky/meta/recipes-extended/mc/mc_4.8.23.bb
@@ -9,8 +9,8 @@
 SRC_URI = "http://www.midnight-commander.org/downloads/${BPN}-${PV}.tar.bz2 \
            file://0001-mc-replace-perl-w-with-use-warnings.patch \
            "
-SRC_URI[md5sum] = "29983a215c96030f06d5b112088ec5dc"
-SRC_URI[sha256sum] = "8d9f1c75369967adfd317a05fef9861444ed049b033e4debaeaafc6df218b431"
+SRC_URI[md5sum] = "152927ac29cf0e61d7d019f261bb7d89"
+SRC_URI[sha256sum] = "238c4552545dcf3065359bd50753abbb150c1b22ec5a36eaa02c82808293267d"
 
 inherit autotools gettext pkgconfig
 
diff --git a/poky/meta/recipes-extended/mdadm/files/0001-Revert-tests-wait-for-complete-rebuild-in-integrity-.patch b/poky/meta/recipes-extended/mdadm/files/0001-Revert-tests-wait-for-complete-rebuild-in-integrity-.patch
new file mode 100644
index 0000000..b196084
--- /dev/null
+++ b/poky/meta/recipes-extended/mdadm/files/0001-Revert-tests-wait-for-complete-rebuild-in-integrity-.patch
@@ -0,0 +1,53 @@
+From 02a41c3fd560fb5250186dd6b3cff6b21daa2e2b Mon Sep 17 00:00:00 2001
+From: Mingli Yu <Mingli.Yu@windriver.com>
+Date: Mon, 15 Jul 2019 14:12:24 +0800
+Subject: [PATCH] Revert "tests: wait for complete rebuild in integrity checks"
+
+This reverts commit e2a8e9dcf67a28bc722fa5ab2c49b0bc452d4d74
+as the logic "check state 'U*'" will make the test enters
+infinite loop especially in qemu env, so revert it to
+use the previous logic "check wait" which also used
+commonly by other tests such as tests/02r5grow, tests/07revert-grow
+and etc.
+
+Upstream-Status: Submitted[https://marc.info/?l=linux-raid&m=156317157314030&w=2]
+
+Signed-off-by: Mingli Yu <Mingli.Yu@windriver.com>
+---
+ tests/01r5integ    | 2 +-
+ tests/01raid6integ | 4 ++--
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/tests/01r5integ b/tests/01r5integ
+index 48676a2..ffb30ce 100644
+--- a/tests/01r5integ
++++ b/tests/01r5integ
+@@ -27,7 +27,7 @@ do
+      exit 1
+     fi
+     mdadm $md0 -a $i
+-    while ! (check state 'U*'); do check wait; sleep 0.2; done
++   check wait
+   done
+   mdadm -S $md0
+ done
+diff --git a/tests/01raid6integ b/tests/01raid6integ
+index 12f4d81..c6fcdae 100644
+--- a/tests/01raid6integ
++++ b/tests/01raid6integ
+@@ -47,10 +47,10 @@ do
+          exit 1
+        fi
+        mdadm $md0 -a $first
+-       while ! (check state 'U*_U*'); do check wait; sleep 0.2; done
++       check wait
+     done
+     mdadm $md0 -a $second
+-    while ! (check state 'U*'); do check wait; sleep 0.2; done
++    check wait
+     totest="$totest $second"
+   done
+   mdadm -S $md0
+-- 
+2.7.4
+
diff --git a/poky/meta/recipes-extended/mdadm/files/0001-mdadm-add-option-y-for-use-syslog-to-recive-event-re.patch b/poky/meta/recipes-extended/mdadm/files/0001-mdadm-add-option-y-for-use-syslog-to-recive-event-re.patch
new file mode 100644
index 0000000..e00287c
--- /dev/null
+++ b/poky/meta/recipes-extended/mdadm/files/0001-mdadm-add-option-y-for-use-syslog-to-recive-event-re.patch
@@ -0,0 +1,28 @@
+From 5fdc0173cb4fcf8656f0889ad364d2549795607f Mon Sep 17 00:00:00 2001
+From: Changqing Li <changqing.li@windriver.com>
+Date: Mon, 1 Jul 2019 11:34:49 +0800
+Subject: [PATCH] mdadm: add option -y for use syslog to recive event report
+
+fix service startup failed when there is
+No mail address or alert command
+
+Upstream-Status: Inappropriate [configuration]
+
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
+---
+ systemd/mdmonitor.service | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/systemd/mdmonitor.service b/systemd/mdmonitor.service
+index 46f7b88..3fc4687 100644
+--- a/systemd/mdmonitor.service
++++ b/systemd/mdmonitor.service
+@@ -13,4 +13,4 @@ DefaultDependencies=no
+ Environment=  MDADM_MONITOR_ARGS=--scan
+ EnvironmentFile=-/run/sysconfig/mdadm
+ ExecStartPre=-/usr/lib/mdadm/mdadm_env.sh
+-ExecStart=BINDIR/mdadm --monitor $MDADM_MONITOR_ARGS
++ExecStart=BINDIR/mdadm --monitor -y $MDADM_MONITOR_ARGS
+-- 
+2.7.4
+
diff --git a/poky/meta/recipes-extended/mdadm/files/include_sysmacros.patch b/poky/meta/recipes-extended/mdadm/files/include_sysmacros.patch
new file mode 100644
index 0000000..8a1d834
--- /dev/null
+++ b/poky/meta/recipes-extended/mdadm/files/include_sysmacros.patch
@@ -0,0 +1,14 @@
+include sys/sysmacros.h for major/minor macro definitions
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+--- a/mdadm.h
++++ b/mdadm.h
+@@ -35,6 +35,7 @@ extern __off64_t lseek64 __P ((int __fd,
+ 
+ #include	<sys/types.h>
+ #include	<sys/stat.h>
++#include	<sys/sysmacros.h>
+ #include	<stdint.h>
+ #include	<stdlib.h>
+ #include	<time.h>
diff --git a/poky/meta/recipes-extended/mdadm/files/mdmonitor.service b/poky/meta/recipes-extended/mdadm/files/mdmonitor.service
deleted file mode 100644
index bd243b4..0000000
--- a/poky/meta/recipes-extended/mdadm/files/mdmonitor.service
+++ /dev/null
@@ -1,19 +0,0 @@
-#  This file is part of mdadm.
-#
-#  mdadm is free software; you can redistribute it and/or modify it
-#  under the terms of the GNU General Public License as published by
-#  the Free Software Foundation; either version 2 of the License, or
-#  (at your option) any later version.
-
-[Unit]
-Description=Software RAID monitoring and management
-ConditionPathExists=/etc/mdadm.conf
-
-[Service]
-Type=forking
-PIDFile=/var/run/mdadm/mdadm.pid
-EnvironmentFile=-/etc/sysconfig/mdmonitor
-ExecStart=/sbin/mdadm --monitor --scan -f --pid-file=/var/run/mdadm/mdadm.pid
-
-[Install]
-WantedBy=multi-user.target
diff --git a/poky/meta/recipes-extended/mdadm/files/run-ptest b/poky/meta/recipes-extended/mdadm/files/run-ptest
index 234f973..e4a9c2b 100644
--- a/poky/meta/recipes-extended/mdadm/files/run-ptest
+++ b/poky/meta/recipes-extended/mdadm/files/run-ptest
@@ -1,19 +1,4 @@
 #!/bin/sh
 
-LOG="$(pwd)/test.log"
 # make the test continue to execute even one fail
-./test --keep-going 2>&1|tee ${LOG}
-# translate the test report
-# "tests/18imsm-r10_4d-takeover-r0_2d... succeeded" -> "PASS: tests/18imsm-r10_4d-takeover-r0_2d"
-# "tests/19raid6repair... FAILED - see //log for details" -> "FAIL: tests/19raid6repair"
-sed -i -e '/succeeded/ s/^/PASS: /' -e '/FAILED/ s/^/FAIL: /' ${LOG}
-sed -i -e 's/... FAILED//g' -e 's/... succeeded//g' ${LOG}
-passed=`grep PASS: ${LOG}|wc -l`
-failed=`grep FAIL: ${LOG}|wc -l`
-all=$((passed + failed))
-
-( echo "=== Test Summary ==="
-  echo "TOTAL: ${all}"
-  echo "PASSED: ${passed}"
-  echo "FAILED: ${failed}"
-) | tee -a /${LOG}
+./test --keep-going
diff --git a/poky/meta/recipes-extended/mdadm/mdadm_4.1.bb b/poky/meta/recipes-extended/mdadm/mdadm_4.1.bb
index 494b81b..74c94f6 100644
--- a/poky/meta/recipes-extended/mdadm/mdadm_4.1.bb
+++ b/poky/meta/recipes-extended/mdadm/mdadm_4.1.bb
@@ -18,8 +18,10 @@
            file://0001-Compute-abs-diff-in-a-standard-compliant-way.patch \
            file://0001-fix-gcc-8-format-truncation-warning.patch \
            file://debian-no-Werror.patch \
+           file://0001-Revert-tests-wait-for-complete-rebuild-in-integrity-.patch \
 	   file://mdadm.init \
-	   file://mdmonitor.service \
+	   file://0001-mdadm-add-option-y-for-use-syslog-to-recive-event-re.patch \
+           file://include_sysmacros.patch \
            "
 SRC_URI[md5sum] = "51bf3651bd73a06c413a2f964f299598"
 SRC_URI[sha256sum] = "ab7688842908d3583a704d491956f31324c3a5fc9f6a04653cb75d19f1934f4a"
@@ -65,7 +67,6 @@
         oe_runmake install-systemd DESTDIR=${D}
 }
 
-
 do_compile_ptest() {
 	oe_runmake test
 }
@@ -74,6 +75,14 @@
 	cp -R --no-dereference --preserve=mode,links -v ${S}/tests ${D}${PTEST_PATH}/tests
 	cp ${S}/test ${D}${PTEST_PATH}
 	sed -e 's!sleep 0.*!sleep 1!g; s!/var/tmp!/!g' -i ${D}${PTEST_PATH}/test
+        sed -i -e '/echo -ne "$_script... "/d' \
+               -e 's/echo "succeeded"/echo -e "PASS: $_script"/g' \
+               -e '/save_log fail/N; /_fail=1/i\\t\t\techo -ne "FAIL: $_script"' \
+               -e '/die "dmesg prints errors when testing $_basename!"/i\\t\t\t\techo -ne "FAIL: $_script" &&' \
+               ${D}${PTEST_PATH}/test
+
+        chmod +x ${D}${PTEST_PATH}/test
+
 	ln -s ${base_sbindir}/mdadm ${D}${PTEST_PATH}/mdadm
 	for prg in test_stripe swap_super raid6check
 	do
diff --git a/poky/meta/recipes-extended/msmtp/msmtp_1.8.4.bb b/poky/meta/recipes-extended/msmtp/msmtp_1.8.4.bb
index 888c1bb..0f10500 100644
--- a/poky/meta/recipes-extended/msmtp/msmtp_1.8.4.bb
+++ b/poky/meta/recipes-extended/msmtp/msmtp_1.8.4.bb
@@ -19,11 +19,10 @@
 EXTRA_OECONF += "--without-libsecret --without-libgsasl --without-libidn"
 
 ALTERNATIVE_${PN} = "sendmail"
+# /usr/lib/sendmial is required by LSB core test
+ALTERNATIVE_${PN}_linuxstdbase = "sendmail usr-lib-sendmail"
 ALTERNATIVE_TARGET[sendmail] = "${bindir}/msmtp"
 ALTERNATIVE_LINK_NAME[sendmail] = "${sbindir}/sendmail"
+ALTERNATIVE_TARGET[usr-lib-sendmail] = "${bindir}/msmtp"
+ALTERNATIVE_LINK_NAME[usr-lib-sendmail] = "/usr/lib/sendmail"
 ALTERNATIVE_PRIORITY = "100"
-
-pkg_postinst_${PN}_linuxstdbase () {
-	# /usr/lib/sendmial is required by LSB core test
-	[ ! -L $D/usr/lib/sendmail ] && ln -sf ${sbindir}/sendmail $D/usr/lib/
-}
diff --git a/poky/meta/recipes-extended/packagegroups/packagegroup-core-full-cmdline.bb b/poky/meta/recipes-extended/packagegroups/packagegroup-core-full-cmdline.bb
index d38f545..2d96d1b 100644
--- a/poky/meta/recipes-extended/packagegroups/packagegroup-core-full-cmdline.bb
+++ b/poky/meta/recipes-extended/packagegroups/packagegroup-core-full-cmdline.bb
@@ -111,9 +111,6 @@
     patch \
     "
 
-VIRTUAL-RUNTIME_initscripts ?= "initscripts"
-VIRTUAL-RUNTIME_init_manager ?= "sysvinit"
-VIRTUAL-RUNTIME_login_manager ?= "busybox"
 VIRTUAL-RUNTIME_syslog ?= "sysklogd"
 RDEPENDS_packagegroup-core-full-cmdline-initscripts = "\
     ${VIRTUAL-RUNTIME_initscripts} \
diff --git a/poky/meta/recipes-extended/packagegroups/packagegroup-core-lsb.bb b/poky/meta/recipes-extended/packagegroups/packagegroup-core-lsb.bb
index e8dc421..a821fd8 100644
--- a/poky/meta/recipes-extended/packagegroups/packagegroup-core-lsb.bb
+++ b/poky/meta/recipes-extended/packagegroups/packagegroup-core-lsb.bb
@@ -218,8 +218,6 @@
     gdk-pixbuf-loader-ani \
     gdk-pixbuf-xlib \
     liberation-fonts \
-    gtk+ \
-    atk \
     alsa-lib \
 "
 
diff --git a/poky/meta/recipes-extended/psmisc/psmisc.inc b/poky/meta/recipes-extended/psmisc/psmisc.inc
index 82ef947..594a10c 100644
--- a/poky/meta/recipes-extended/psmisc/psmisc.inc
+++ b/poky/meta/recipes-extended/psmisc/psmisc.inc
@@ -7,7 +7,7 @@
 processes identified by name.  The fuser command identifies the PIDs \
 of processes that are using specified files or filesystems."
 SECTION = "base"
-DEPENDS = "ncurses virtual/libintl"
+DEPENDS = "ncurses virtual/libintl gettext-native"
 LICENSE = "GPLv2"
 
 SRC_URI = "${SOURCEFORGE_MIRROR}/psmisc/psmisc-${PV}.tar.gz"
diff --git a/poky/meta/recipes-extended/sysklogd/files/sysklogd b/poky/meta/recipes-extended/sysklogd/files/sysklogd
index 258f882..7342484 100755
--- a/poky/meta/recipes-extended/sysklogd/files/sysklogd
+++ b/poky/meta/recipes-extended/sysklogd/files/sysklogd
@@ -90,6 +90,22 @@
     return 0
 }
 
+waitpid ()
+{
+  pid=$1
+  # Give pid a chance to exit before we restart with a 5s timeout in 1s intervals
+  if [ -z "$pid" ]; then
+    return
+  fi
+  timeout=5;
+  while [ $timeout -gt 0 ]
+  do
+    timeout=$(( $timeout-1 ))
+    kill -0 $pid 2> /dev/null || break
+    sleep 1
+  done
+}
+
 case "$1" in
   start)
     log_begin_msg "Starting system log daemon..."
@@ -113,17 +129,23 @@
     start-stop-daemon --stop --quiet --signal 1 --pidfile $pidfile_syslogd --name syslogd
     log_end_msg $?
     log_begin_msg "Reloading kernel log daemon..."
+    pid=`cat $pidfile_klogd 2> /dev/null`
     start-stop-daemon --stop --quiet --retry 3 --exec $binpath_klogd --pidfile $pidfile_klogd
+    waitpid $pid
     start-stop-daemon --start --quiet --pidfile $pidfile_klogd --name klogd --startas $binpath_klogd -- $KLOGD
     log_end_msg $?
     ;;
   restart)
     log_begin_msg "Restarting system log daemon..."
+    pid=`cat $pidfile_syslogd 2> /dev/null`
     start-stop-daemon --stop --retry 5 --quiet --pidfile $pidfile_syslogd --name syslogd
+    waitpid $pid
     start-stop-daemon --start --quiet --pidfile $pidfile_syslogd --name syslogd --startas $binpath_syslogd -- $SYSLOGD
     log_end_msg $?
     log_begin_msg "Reloading kernel log daemon..."
+    pid=`cat $pidfile_klogd 2> /dev/null`
     start-stop-daemon --stop --quiet --retry 3 --exec $binpath_klogd --pidfile $pidfile_klogd
+    waitpid $pid
     start-stop-daemon --start --quiet --pidfile $pidfile_klogd --name klogd --startas $binpath_klogd -- $KLOGD
     log_end_msg $?
     ;;
diff --git a/poky/meta/recipes-extended/sysstat/sysstat.inc b/poky/meta/recipes-extended/sysstat/sysstat.inc
index 4e29721..592cbf4 100644
--- a/poky/meta/recipes-extended/sysstat/sysstat.inc
+++ b/poky/meta/recipes-extended/sysstat/sysstat.inc
@@ -20,6 +20,7 @@
 PACKAGECONFIG ??= ""
 PACKAGECONFIG[lm-sensors] = "--enable-sensors,--disable-sensors,lmsensors,lmsensors-libsensors"
 PACKAGECONFIG[cron] = "--enable-install-cron --enable-copy-only,--disable-install-cron --disable-copy-only"
+PACKAGECONFIG[systemd] = "--with-systemdsystemunitdir=${systemd_system_unitdir}"
 
 EXTRA_OECONF += "--disable-stripping"
 
@@ -44,11 +45,13 @@
 	        install -d ${D}${sysconfdir}/tmpfiles.d
 	        echo "d ${localstatedir}/log/sa - - - -" \
 		     > ${D}${sysconfdir}/tmpfiles.d/sysstat.conf
-	fi
 
-	install -d ${D}${systemd_unitdir}/system
-	install -m 0644 ${WORKDIR}/sysstat.service ${D}${systemd_unitdir}/system
-	sed -i -e 's#@LIBDIR@#${libdir}#g' ${D}${systemd_unitdir}/system/sysstat.service
+	        if ${@bb.utils.contains('PACKAGECONFIG', 'cron', 'false', 'true', d)}; then
+			install -d ${D}${systemd_unitdir}/system
+			install -m 0644 ${WORKDIR}/sysstat.service ${D}${systemd_unitdir}/system
+			sed -i -e 's#@LIBDIR@#${libdir}#g' ${D}${systemd_unitdir}/system/sysstat.service
+	        fi
+	fi
 }
 
 pkg_postinst_${PN} () {
diff --git a/poky/meta/recipes-extended/timezone/timezone.inc b/poky/meta/recipes-extended/timezone/timezone.inc
index 1ade007..ce16524 100644
--- a/poky/meta/recipes-extended/timezone/timezone.inc
+++ b/poky/meta/recipes-extended/timezone/timezone.inc
@@ -4,7 +4,7 @@
 LICENSE = "PD & BSD & BSD-3-Clause"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=c679c9d6b02bc2757b3eaf8f53c43fba"
 
-PV = "2019a"
+PV = "2019b"
 
 SRC_URI =" http://www.iana.org/time-zones/repository/releases/tzcode${PV}.tar.gz;name=tzcode \
            http://www.iana.org/time-zones/repository/releases/tzdata${PV}.tar.gz;name=tzdata \
@@ -12,7 +12,7 @@
 
 UPSTREAM_CHECK_URI = "http://www.iana.org/time-zones"
 
-SRC_URI[tzcode.md5sum] = "27585a20bc5401324f42c8deb6e4677f"
-SRC_URI[tzcode.sha256sum] = "8739f162bc30cdfb482435697f969253abea49595541a0afd5f443fbae433ff5"
-SRC_URI[tzdata.md5sum] = "288f7b1e43018c633da108f13b27cf91"
-SRC_URI[tzdata.sha256sum] = "90366ddf4aa03e37a16cd49255af77f801822310b213f195e2206ead48c59772"
+SRC_URI[tzcode.md5sum] = "91e0978d947496fd6aaf46d351f9c41d"
+SRC_URI[tzcode.sha256sum] = "2e479d409337da41408629ce6c3b4d8410b10ba6d4431d862e22d2b137d7756d"
+SRC_URI[tzdata.md5sum] = "b26b5d7d844cb96c73ed2fb6d588daaf"
+SRC_URI[tzdata.sha256sum] = "05d9092c90dcf9ec4f3ccfdea80c7dcea5e882b3b105c3422da172aaa9a50c64"
