Yocto 2.4

Move OpenBMC to Yocto 2.4(rocko)

Tested: Built and verified Witherspoon and Palmetto images
Change-Id: I12057b18610d6fb0e6903c60213690301e9b0c67
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
diff --git a/import-layers/yocto-poky/meta/recipes-extended/acpica/acpica_20150515.bb b/import-layers/yocto-poky/meta/recipes-extended/acpica/acpica_20170303.bb
similarity index 82%
rename from import-layers/yocto-poky/meta/recipes-extended/acpica/acpica_20150515.bb
rename to import-layers/yocto-poky/meta/recipes-extended/acpica/acpica_20170303.bb
index 1326ebd..868505b 100644
--- a/import-layers/yocto-poky/meta/recipes-extended/acpica/acpica_20150515.bb
+++ b/import-layers/yocto-poky/meta/recipes-extended/acpica/acpica_20170303.bb
@@ -19,14 +19,20 @@
 SRC_URI = "https://acpica.org/sites/acpica/files/acpica-unix2-${PV}.tar.gz \
     file://no-werror.patch \
     file://rename-yy_scan_string-manually.patch \
-    file://manipulate-fds-instead-of-FILE.patch \
+    file://manipulate-fds-instead-of-FILE.patch;striplevel=2 \
+    file://0001-Linux-add-support-for-X32-ABI-compilation.patch \
     "
-SRC_URI[md5sum] = "2bc4a7ccc82de9df9fa964f784ecb29c"
-SRC_URI[sha256sum] = "61204ec56d71bc9bfa2ee2ade4c66f7e8541772ac72ef8ccc20b3f339cc96374"
+SRC_URI[md5sum] = "48ef4314fb4ffdd0c96f14dcf20544e1"
+SRC_URI[sha256sum] = "b2d81e84107ac9a02be86ea43cbea7afa8fd4b4150270bc88c2d4c9fea0b8aad"
 UPSTREAM_CHECK_URI = "https://acpica.org/downloads"
 
 S = "${WORKDIR}/acpica-unix2-${PV}"
 
+inherit update-alternatives
+
+ALTERNATIVE_PRIORITY = "100"
+ALTERNATIVE_${PN} = "acpixtract"
+
 EXTRA_OEMAKE = "CC='${CC}' 'OPT_CFLAGS=-Wall'"
 
 do_install() {
diff --git a/import-layers/yocto-poky/meta/recipes-extended/acpica/acpitests/aapits-linux.patch b/import-layers/yocto-poky/meta/recipes-extended/acpica/acpitests/aapits-linux.patch
deleted file mode 100644
index 7c5d6b0..0000000
--- a/import-layers/yocto-poky/meta/recipes-extended/acpica/acpitests/aapits-linux.patch
+++ /dev/null
@@ -1,336 +0,0 @@
-From: Al Stone <ahs3@ahs3.net>
-Date: Mon, 7 Apr 2014 19:09:37 +0000
-Subject: [PATCH 1/2] Fixup aapits build
-
-From http://git.linaro.org/people/al.stone/acpica-tools.git
-Upstream-status: Unknown
-
-diff -urN acpica-unix2-20130626/tests/aapits/atexec.c acpica-unix2-20130626-aapits/tests/aapits/atexec.c
---- acpica-unix2-20130626/tests/aapits/atexec.c	2013-01-17 12:48:28.000000000 -0700
-+++ acpica-unix2-20130626-aapits/tests/aapits/atexec.c	2013-07-25 13:44:23.023894441 -0600
-@@ -639,6 +639,7 @@
- }
- 
- 
-+#if ACPI_MACHINE_WIDTH == 32
- /*******************************************************************************
-  *
-  * FUNCTION:    AtBuildLocalRSDT
-@@ -757,8 +758,9 @@
-         LocalRSDT->Header.Checksum = (UINT8)~LocalRSDT->Header.Checksum;
-     }
- }
-+#endif
- 
- 
- /*******************************************************************************
-  *
-  * FUNCTION:    AtBuildLocalXSDT
-@@ -1424,7 +1426,7 @@
-         ACPI_WARNING ((AE_INFO,
-             "Request on [%4.4s] is beyond region limit Req-%X+%X, Base=%X, Len-%X\n",
-             (RegionObject->Region.Node)->Name.Ascii, (UINT32) Address,
--            ByteWidth, (UINT32) BufferAddress, Length));
-+            ByteWidth, (UINT32) BufferAddress, (UINT32) Length));
- 
-         return (AE_AML_REGION_LIMIT);
-     }
-@@ -1792,7 +1796,9 @@
-             Path, Obj.Integer.Value, Value);
- #else
-         printf ("API Error: Value of %s is 0x%llx instead of expected 0x%llx\n",
--            Path, Obj.Integer.Value, Value);
-+            Path,
-+	    (long long unsigned int) Obj.Integer.Value,
-+	    (long long unsigned int) Value);
- #endif
-         Status = AE_ERROR;
-     }
-@@ -1871,7 +1877,7 @@
-     {
-         TestErrors++;
-         printf ("Test Error: cannot allocate buffer of %d bytes\n",
--            Results.Length);
-+                (int) Results.Length);
-         return (AE_NO_MEMORY);
-     }
-     Results.Pointer = Object;
-@@ -1952,7 +1956,8 @@
-     {
-         printf ("AtCheckBuffer: unexpected length %d of Buffer vs"
-             " calculated %d bytes\n",
--            Results.Length, ACPI_ROUND_UP_TO_NATIVE_WORD(sizeof (ACPI_OBJECT) + Length));
-+            (int)Results.Length,
-+	    (int)(ACPI_ROUND_UP_TO_NATIVE_WORD(sizeof (ACPI_OBJECT) + Length)));
-     }
- 
-     /* Initialize the return buffer structure */
-@@ -1961,7 +1968,7 @@
-     {
-         TestErrors++;
-         printf ("Test Error: cannot allocate buffer of %d bytes\n",
--            Results.Length);
-+            (int) Results.Length);
-         return (AE_NO_MEMORY);
-     }
-     Results.Pointer = Object;
-diff -urN acpica-unix2-20130626/tests/aapits/atinit.c acpica-unix2-20130626-aapits/tests/aapits/atinit.c
---- acpica-unix2-20130626/tests/aapits/atinit.c	2013-01-17 12:48:28.000000000 -0700
-+++ acpica-unix2-20130626-aapits/tests/aapits/atinit.c	2013-07-25 13:20:19.706705960 -0600
-@@ -3024,7 +3024,7 @@
-             AapiErrors++;
-             printf ("API Error: AcpiGetSystemInfo() returned"
-                 " Length %d, expected %d\n",
--                OutBuffer.Length, sizeof (Info));
-+                (int) OutBuffer.Length, (int) sizeof (Info));
-             return (AE_ERROR);
-         }
- 
-@@ -3046,7 +3046,7 @@
-             AapiErrors++;
-             printf ("API Error: AcpiGetSystemInfo() returned"
-                 " Length %d, expected %d\n",
--                OutBuffer.Length, sizeof (Info));
-+                (int) OutBuffer.Length, (int) sizeof (Info));
-             return (AE_ERROR);
-         }
- 
-@@ -3066,7 +3066,7 @@
-             AapiErrors++;
-             printf ("API Error: AcpiGetSystemInfo() returned"
-                 " Length %d, expected %d\n",
--                OutBuffer.Length, sizeof (Info));
-+                (int) OutBuffer.Length, (int) sizeof (Info));
-             return (AE_ERROR);
-         }
-         else if (OutBuffer.Pointer != &Info)
-@@ -3149,7 +3149,7 @@
-             AapiErrors++;
-             printf ("API Error: AcpiGetSystemInfo() returned"
-                 " Length %d, expected %d\n",
--                OutBuffer.Length, sizeof (Info));
-+                (int) OutBuffer.Length, (int) sizeof (Info));
-             return (AE_ERROR);
-         }
-         else if (OutBuffer.Pointer != &Info)
-@@ -3214,7 +3214,7 @@
-             AapiErrors++;
-             printf ("API Error: AcpiGetSystemInfo() returned"
-                 " Length %d, expected %d\n",
--                OutBuffer.Length, sizeof (ACPI_SYSTEM_INFO));
-+                (int) OutBuffer.Length, (int) sizeof (ACPI_SYSTEM_INFO));
-             return (AE_ERROR);
-         }
-         else
-diff -urN acpica-unix2-20130626/tests/aapits/atmain.c acpica-unix2-20130626-aapits/tests/aapits/atmain.c
---- acpica-unix2-20130626/tests/aapits/atmain.c	2013-01-17 12:48:28.000000000 -0700
-+++ acpica-unix2-20130626-aapits/tests/aapits/atmain.c	2013-07-25 13:18:22.083323948 -0600
-@@ -315,7 +315,7 @@
-     {
-         printf ("ACPICA API TS err: test num %ld of test case %ld"
-             " is not implemented\n",
--            test_num, test_case);
-+            (long int) test_num, (long int) test_case);
-         return (AtRetNotImpl);
-     }
- 
-@@ -430,7 +432,7 @@
-     if (test_case < 1 || test_case > AT_TEST_CASE_NUM)
-     {
-         printf ("ACPICA API TS err: test case %ld is out of range 1 - %d\n",
--            test_case, AT_TEST_CASE_NUM);
-+            (long int) test_case, (int) AT_TEST_CASE_NUM);
-         return (AtRetBadParam);
-     }
- 
-@@ -438,7 +440,7 @@
-     if (test_num < 0 || test_num > AtTestCase[test_case].TestsNum)
-     {
-         printf ("ACPICA API TS err: test num %ld is out of range 0 - %d\n",
--            test_num, AtTestCase[test_case].TestsNum);
-+            (long int) test_num, AtTestCase[test_case].TestsNum);
-         return (AtRetBadParam);
-     }
-
-diff -urN acpica-unix2-20130626/tests/aapits/atnamespace.c acpica-unix2-20130626-aapits/tests/aapits/atnamespace.c
---- acpica-unix2-20130626/tests/aapits/atnamespace.c	2013-01-17 12:48:28.000000000 -0700
-+++ acpica-unix2-20130626-aapits/tests/aapits/atnamespace.c	2013-07-25 13:24:15.366466707 -0600
-@@ -2535,7 +2535,8 @@
- #else
-                 printf ("API Error: Address of %s (0x%llX) != (0x%llX)\n",
-                     PathNames[2 * i + 1],
--                    Info->Address, ExpectedInfo[i].Address);
-+                    (long long unsigned int) Info->Address,
-+		    (long long unsigned int) ExpectedInfo[i].Address);
- #endif
- #else
-                 printf ("API Error: Address of %s (0x%X) != (0x%X)\n",
-@@ -2908,7 +2909,8 @@
-         TestErrors++;
-         printf ("AtGetNextObjectTypeCommon: different numbers of entities"
-             "in TypesNames (%d) and LevelTypes0000 (%d)\n",
--            TypesCount, sizeof (LevelTypes0000) / sizeof (ACPI_OBJECT_TYPE));
-+            TypesCount,
-+	    (int) (sizeof (LevelTypes0000) / sizeof (ACPI_OBJECT_TYPE)));
-         return (AE_ERROR);
-     }
- 
-@@ -4192,7 +4194,9 @@
-             Pathname, Obj.Integer.Value, Value);
- #else
-         printf ("API Error: Value of %s is 0x%llx instead of expected 0x%llx\n",
--            Pathname, Obj.Integer.Value, Value);
-+            Pathname,
-+	    (long long unsigned int) Obj.Integer.Value,
-+	    (long long unsigned int) Value);
- #endif
-         Status = AE_ERROR;
-     }
-@@ -5199,7 +5203,7 @@
-             {
-                 AapiErrors++;
-                 printf ("API Error: AcpiOsAllocate(%d) returned NULL\n",
--                    OutName.Length);
-+                    (int) OutName.Length);
-                 return (AE_ERROR);
-             }
-         }
-diff -urN acpica-unix2-20130626/tests/aapits/atosxfctrl.c acpica-unix2-20130626-aapits/tests/aapits/atosxfctrl.c
---- acpica-unix2-20130626/tests/aapits/atosxfctrl.c	2013-01-17 12:48:28.000000000 -0700
-+++ acpica-unix2-20130626-aapits/tests/aapits/atosxfctrl.c	2013-07-25 13:30:00.375492751 -0600
-@@ -737,13 +737,15 @@
- #if ACPI_MACHINE_WIDTH == 64
- #ifdef    _MSC_VER
-         printf("OsxfCtrlFingReg: unexpected Width %d of Reg 0x%I64x\n",
-+            Width, Address);
- #else
-         printf("OsxfCtrlFingReg: unexpected Width %d of Reg 0x%llx\n",
-+            Width, (long long unsigned int) Address);
- #endif
- #else
-         printf("OsxfCtrlFingReg: unexpected Width %d of Reg 0x%x\n",
--#endif
-             Width, Address);
-+#endif
-         return (NULL);
-     }
- 
-@@ -764,15 +766,19 @@
- #ifdef    _MSC_VER
-                 printf("OsxfCtrlFingReg: intersection Regs (0x%I64x: 0x%x)"
-                     " and (0x%I64x: 0x%x)\n",
-+                    Reg->Address, Reg->Width, Address, Width);
- #else
-                 printf("OsxfCtrlFingReg: intersection Regs (0x%llx: 0x%x)"
-                     " and (0x%llx: 0x%x)\n",
-+                    (long long unsigned int) Reg->Address,
-+		    Reg->Width,
-+		    (long long unsigned int) Address, Width);
- #endif
- #else
-                 printf("OsxfCtrlFingReg: intersection Regs (0x%x: 0x%x)"
-                     " and (0x%x: 0x%x)\n",
--#endif
-                     Reg->Address, Reg->Width, Address, Width);
-+#endif
-                 return (NULL);
-             }
-         }
-@@ -786,13 +792,15 @@
- #if ACPI_MACHINE_WIDTH == 64
- #ifdef    _MSC_VER
-             printf("OsxfCtrlFingReg: no memory for Reg (0x%I64x: 0x%x)\n",
-+                Reg->Address, Reg->Width);
- #else
-             printf("OsxfCtrlFingReg: no memory for Reg (0x%llx: 0x%x)\n",
-+                (long long unsigned int) Reg->Address, Reg->Width);
- #endif
- #else
-             printf("OsxfCtrlFingReg: no memory for Reg (0x%x: 0x%x)\n",
--#endif
-                 Reg->Address, Reg->Width);
-+#endif
-             return (NULL);
-         }
-         Reg->Type = Type;
-@@ -932,14 +940,19 @@
- #if ACPI_MACHINE_WIDTH == 64
- #ifdef    _MSC_VER
-             printf("%.2u (%s Address 0x%I64x: Width %.2u) r/w counts: %u/%u\n",
-+                i, (Reg->Type == EMUL_REG_SYS)? "SYS": "IO",
-+                Reg->Address, Reg->Width, Reg->ReadCount, Reg->WriteCount);
- #else
-             printf("%.2u (%s Address 0x%llx: Width %.2u) r/w counts: %u/%u\n",
-+                i, (Reg->Type == EMUL_REG_SYS)? "SYS": "IO",
-+                (long long unsigned int) Reg->Address,
-+		Reg->Width, Reg->ReadCount, Reg->WriteCount);
- #endif
- #else
-             printf("%.2u (%s Address 0x%.4x: Width %.2u) r/w counts: %u/%u\n",
--#endif
-                 i, (Reg->Type == EMUL_REG_SYS)? "SYS": "IO",
-                 Reg->Address, Reg->Width, Reg->ReadCount, Reg->WriteCount);
-+#endif
-             Reg = Reg->Next;
-             i++;
-         }
-diff -urN acpica-unix2-20130626/tests/aapits/atresource.c acpica-unix2-20130626-aapits/tests/aapits/atresource.c
---- acpica-unix2-20130626/tests/aapits/atresource.c	2013-01-17 12:48:29.000000000 -0700
-+++ acpica-unix2-20130626-aapits/tests/aapits/atresource.c	2013-07-25 13:25:49.423565947 -0600
-@@ -174,7 +174,7 @@
-         AapiErrors++;
-         printf ("API Error: AcpiGetCurrentResources(%s) returned Length %d,"
-             " expected %d\n",
--            Pathname, OutBuffer.Length, RT0000_DEV0_CRS_LEN);
-+            Pathname, (int) OutBuffer.Length, RT0000_DEV0_CRS_LEN);
-         return (AE_ERROR);
-     }
- 
-@@ -490,7 +490,7 @@
-         AapiErrors++;
-         printf ("API Error: AcpiGetCurrentResources(%s) returned Length %d,"
-             " expected %d\n",
--            Pathname, OutBuffer.Length, RT0000_DEV0_CRS_LEN);
-+            Pathname, (int) OutBuffer.Length, RT0000_DEV0_CRS_LEN);
-         return (AE_ERROR);
-     }
- 
-@@ -689,7 +689,7 @@
-         AapiErrors++;
-         printf ("Api Error: Resource->Length (%d) != %d\n",
-             CurrentResource->Length,
--            ACPI_ROUND_UP_TO_NATIVE_WORD (ACPI_RS_SIZE (ACPI_RESOURCE_IRQ)));
-+            (int) (ACPI_ROUND_UP_TO_NATIVE_WORD (ACPI_RS_SIZE (ACPI_RESOURCE_IRQ))));
-     }
- 
-     if (CurrentResource->Data.Irq.Triggering != 0) /* Level-Triggered */
-@@ -981,7 +981,7 @@
-         AapiErrors++;
-         printf ("API Error: AcpiGetPossibleResources(%s) returned Length %d,"
-             " expected %d\n",
--            Pathname, OutBuffer.Length, RT0000_DEV0_CRS_LEN);
-+            Pathname, (int) OutBuffer.Length, RT0000_DEV0_CRS_LEN);
-         return (AE_ERROR);
-     }
- 
-@@ -1923,7 +1923,7 @@
-         AapiErrors++;
-         printf ("API Error: AcpiGetIrqRoutingTable(%s) returned Length %d,"
-             " expected %d\n",
--            Pathname, OutBuffer.Length, 0xA48);
-+            Pathname, (int) OutBuffer.Length, 0xA48);
-         return (AE_ERROR);
-     }
-
-diff -urN acpica-unix2-20130626/tests/aapits/Makefile acpica-unix2-20130626-aapits/tests/aapits/Makefile
---- acpica-unix2-20130626/tests/aapits/Makefile	2013-01-17 12:48:29.000000000 -0700
-+++ acpica-unix2-20130626-aapits/tests/aapits/Makefile	2013-07-25 15:17:09.309236422 -0600
-@@ -194,7 +194,7 @@
- CFLAGS+= -Wall -g -D_LINUX -DNDEBUG -D_CONSOLE -DACPI_APITS -DACPI_EXEC_APP -D_MULTI_THREADED -Wstrict-prototypes -I../../source/include
-
- 
--acpiexec : $(patsubst %.c,%.o, $(SRCS))
-+$(PROG) : $(patsubst %.c,%.o, $(SRCS))
- 	$(CC) $(LDFLAGS) $(patsubst %.c,%.o, $(SRCS)) -o $(PROG)
- 
- CLEANFILES= $(PROG)
diff --git a/import-layers/yocto-poky/meta/recipes-extended/acpica/acpitests/aapits-makefile.patch b/import-layers/yocto-poky/meta/recipes-extended/acpica/acpitests/aapits-makefile.patch
deleted file mode 100644
index 4d9e997..0000000
--- a/import-layers/yocto-poky/meta/recipes-extended/acpica/acpitests/aapits-makefile.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From: Al Stone <ahs3@ahs3.net>
-Date: Mon, 7 Apr 2014 19:09:37 +0000
-Subject: [PATCH 1/2] Fixup aapits build
-
-From http://git.linaro.org/people/al.stone/acpica-tools.git
-Upstream-status: Unknown
-
-diff -urN acpica-unix2-20140325/tests/aapits/Makefile acpica-unix2-20140325/tests/aapits/Makefile
---- acpica-unix2-20140325/tests/aapits/Makefile	2014-04-05 14:23:14.683636794 -0600
-+++ acpica-unix2-20140325-aapits/tests/aapits/Makefile	2014-04-05 15:10:57.879184598 -0600
-@@ -16,6 +16,7 @@
- 	atosxfwrap.c \
- 	osunixxf.c \
- 	../../source/common/ahids.c \
-+	../../source/common/ahuuids.c \
- 	../../source/common/cmfsize.c \
- 	../../source/common/getopt.c \
- 	../../source/components/hardware/hwtimer.c \
-@@ -174,6 +175,7 @@
- 	../../source/components/utilities/utexcep.c \
- 	../../source/components/utilities/utfileio.c \
- 	../../source/components/utilities/utglobal.c \
-+	../../source/components/utilities/uthex.c \
- 	../../source/components/utilities/utids.c \
- 	../../source/components/utilities/utinit.c \
- 	../../source/components/utilities/utlock.c \
-@@ -189,6 +191,7 @@
- 	../../source/components/utilities/utstate.c \
- 	../../source/components/utilities/utstring.c \
- 	../../source/components/utilities/uttrack.c \
-+	../../source/components/utilities/utuuid.c \
- 	../../source/components/utilities/utxface.c \
- 	../../source/components/utilities/utxferror.c \
- 	../../source/components/utilities/utxfinit.c \
diff --git a/import-layers/yocto-poky/meta/recipes-extended/acpica/acpitests_20140828.bb b/import-layers/yocto-poky/meta/recipes-extended/acpica/acpitests_20140828.bb
deleted file mode 100644
index 45ac157..0000000
--- a/import-layers/yocto-poky/meta/recipes-extended/acpica/acpitests_20140828.bb
+++ /dev/null
@@ -1,36 +0,0 @@
-SUMMARY = "Test suite used to validate ACPICA"
-HOMEPAGE = "http://www.acpica.org/"
-
-LICENSE = "Intel"
-LIC_FILES_CHKSUM = "file://tests/aapits/atexec.c;beginline=1;endline=115;md5=e92bcdfcd01d117d1bda3e814bb2030a"
-
-DEPENDS = "bison flex"
-
-SRC_URI = "https://acpica.org/sites/acpica/files/acpitests-unix-${PV}.tar.gz;name=acpitests \
-           https://acpica.org/sites/acpica/files/acpica-unix2-${PV}.tar.gz;name=acpica \
-           file://aapits-linux.patch \
-           file://aapits-makefile.patch \
-"
-SRC_URI[acpitests.md5sum] = "db9d6fdaa8e3eb101d700ee5ba4938ed"
-SRC_URI[acpitests.sha256sum] = "e576c74bf1bf1c9f7348bf9419e05c8acfece7105abcdc052e66670c7af2cf00"
-SRC_URI[acpica.md5sum] = "6f05f0d10166a1b1ff6107f3d1cdf1e5"
-SRC_URI[acpica.sha256sum] = "01d8867656c5ba41dec307c4383ce676196ad4281ac2c9dec9f5be5fac6d888e"
-UPSTREAM_CHECK_URI = "https://acpica.org/downloads"
-
-S = "${WORKDIR}/acpitests-unix-${PV}"
-
-EXTRA_OEMAKE = "'CC=${CC}' 'OPT_CFLAGS=-Wall'"
-
-# The Makefiles expect a specific layout
-do_compile() {
-    cp -af ${WORKDIR}/acpica-unix2-${PV}/source ${S}
-    cd tests/aapits
-    oe_runmake
-}
-
-do_install() {
-    install -d ${D}${bindir}
-    install -m0755 tests/aapits/bin/aapits ${D}${bindir}
-}
-
-COMPATIBLE_HOST = "(i.86|x86_64|arm|aarch64).*-linux"
diff --git a/import-layers/yocto-poky/meta/recipes-extended/acpica/files/0001-Linux-add-support-for-X32-ABI-compilation.patch b/import-layers/yocto-poky/meta/recipes-extended/acpica/files/0001-Linux-add-support-for-X32-ABI-compilation.patch
new file mode 100644
index 0000000..df74200
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-extended/acpica/files/0001-Linux-add-support-for-X32-ABI-compilation.patch
@@ -0,0 +1,31 @@
+From d22241efc0708c9799f17a20eabb52a48d6d6ea1 Mon Sep 17 00:00:00 2001
+From: Anuj Mittal <anuj.mittal@intel.com>
+Date: Tue, 2 Jan 2018 12:35:32 +0800
+Subject: [PATCH] Linux: add support for X32 ABI compilation
+
+X32 follows ILP32 model. Check for ILP32 as well when checking for
+x86_64 to ensure the defines are correct for X32 ABI.
+
+Upstream-Status: Submitted [https://github.com/acpica/acpica/pull/348]
+
+Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
+---
+ source/include/platform/aclinux.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/source/include/platform/aclinux.h b/source/include/platform/aclinux.h
+index 75b1d82..6b8ff73 100644
+--- a/source/include/platform/aclinux.h
++++ b/source/include/platform/aclinux.h
+@@ -315,7 +315,7 @@
+ #define ACPI_FLUSH_CPU_CACHE()
+ #define ACPI_CAST_PTHREAD_T(Pthread) ((ACPI_THREAD_ID) (Pthread))
+ 
+-#if defined(__ia64__)    || defined(__x86_64__) ||\
++#if defined(__ia64__)    || (defined(__x86_64__) && !defined(__ILP32__)) ||\
+     defined(__aarch64__) || defined(__PPC64__) ||\
+     defined(__s390x__)
+ #define ACPI_MACHINE_WIDTH          64
+-- 
+2.7.4
+
diff --git a/import-layers/yocto-poky/meta/recipes-extended/acpica/files/manipulate-fds-instead-of-FILE.patch b/import-layers/yocto-poky/meta/recipes-extended/acpica/files/manipulate-fds-instead-of-FILE.patch
index 6944bb7..5610ed9 100644
--- a/import-layers/yocto-poky/meta/recipes-extended/acpica/files/manipulate-fds-instead-of-FILE.patch
+++ b/import-layers/yocto-poky/meta/recipes-extended/acpica/files/manipulate-fds-instead-of-FILE.patch
@@ -1,6 +1,6 @@
-From 33a57979738e5ab13950ec1c0e7298e41ef50929 Mon Sep 17 00:00:00 2001
-From: Patrick Ohly <patrick.ohly@intel.com>
-Date: Thu, 23 Feb 2017 18:10:47 +0100
+From 69171c22f3872ecb4c1ab27985e93ca44084595e Mon Sep 17 00:00:00 2001
+From: Fan Xin <fan.xin@jp.fujitsu.com>
+Date: Mon, 5 Jun 2017 13:26:38 +0900
 Subject: [PATCH] aslfiles.c: manipulate fds instead of FILE
 
 Copying what stdout/stderr point to is not portable and fails with
@@ -12,60 +12,61 @@
 Upstream-Status: Inappropriate [embedded specific]
 
 Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
----
- source/compiler/aslfiles.c | 20 +++++++++++---------
- 1 file changed, 11 insertions(+), 9 deletions(-)
 
-diff --git a/source/compiler/aslfiles.c b/source/compiler/aslfiles.c
-index 947e465..7a352b4 100644
---- a/source/compiler/aslfiles.c
-+++ b/source/compiler/aslfiles.c
-@@ -44,6 +44,11 @@
+Rebase on acpica 20170303
+
+Signed-off-by: Fan Xin <fan.xin@jp.fujitsu.com>
+---
+ acpica-unix2-20170303/source/compiler/aslfiles.c | 14 +++++++++++---
+ 1 file changed, 11 insertions(+), 3 deletions(-)
+
+diff --git a/acpica-unix2-20170303/source/compiler/aslfiles.c b/acpica-unix2-20170303/source/compiler/aslfiles.c
+index 809090c..97898b1 100644
+--- a/acpica-unix2-20170303/source/compiler/aslfiles.c
++++ b/acpica-unix2-20170303/source/compiler/aslfiles.c
+@@ -44,6 +44,10 @@
  #include "aslcompiler.h"
  #include "acapps.h"
- 
+ #include "dtcompiler.h"
 +#include <sys/types.h>
 +#include <sys/stat.h>
 +#include <fcntl.h>
 +#include <unistd.h>
-+
+ 
  #define _COMPONENT          ACPI_COMPILER
          ACPI_MODULE_NAME    ("aslfiles")
- 
-@@ -569,6 +574,8 @@ FlOpenMiscOutputFiles (
+@@ -607,6 +611,8 @@ FlOpenMiscOutputFiles (
  
      if (Gbl_DebugFlag)
      {
-+        int fd;
++	int fd;
 +
          Filename = FlGenerateFilename (FilenamePrefix, FILE_SUFFIX_DEBUG);
          if (!Filename)
          {
-@@ -582,20 +589,15 @@ FlOpenMiscOutputFiles (
-         /* TBD: hide this behind a FlReopenFile function */
+@@ -618,10 +624,10 @@ FlOpenMiscOutputFiles (
+         /* Open the debug file as STDERR, text mode */
  
          Gbl_Files[ASL_FILE_DEBUG_OUTPUT].Filename = Filename;
 -        Gbl_Files[ASL_FILE_DEBUG_OUTPUT].Handle =
 -            freopen (Filename, "w+t", stderr);
--
+ 
 -        if (!Gbl_Files[ASL_FILE_DEBUG_OUTPUT].Handle)
 +        fd = open(Filename, O_CREAT|O_TRUNC, S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH);
 +        if (fd < 0 ||
 +            dup2(fd, fileno(stderr)))
          {
--            /*
--             * A problem with freopen is that on error,
--             * we no longer have stderr.
--             */
-             Gbl_DebugFlag = FALSE;
--            memcpy (stderr, stdout, sizeof (FILE));
-             FlFileError (ASL_FILE_DEBUG_OUTPUT, ASL_MSG_DEBUG_FILENAME);
-             AslAbort ();
+             /*
+              * A problem with freopen is that on error, we no longer
+@@ -635,6 +641,8 @@ FlOpenMiscOutputFiles (
+             exit (1);
          }
-+        Gbl_Files[ASL_FILE_DEBUG_OUTPUT].Handle = stderr;
  
++        Gbl_Files[ASL_FILE_DEBUG_OUTPUT].Handle = stderr;
++
          AslCompilerSignon (ASL_FILE_DEBUG_OUTPUT);
          AslCompilerFileHeader (ASL_FILE_DEBUG_OUTPUT);
+     }
 -- 
-2.1.4
+1.9.1
 
diff --git a/import-layers/yocto-poky/meta/recipes-extended/acpica/files/no-werror.patch b/import-layers/yocto-poky/meta/recipes-extended/acpica/files/no-werror.patch
index 5d28f47..a6e7b54 100644
--- a/import-layers/yocto-poky/meta/recipes-extended/acpica/files/no-werror.patch
+++ b/import-layers/yocto-poky/meta/recipes-extended/acpica/files/no-werror.patch
@@ -1,7 +1,7 @@
 Description: remove -Werror flag
 Forwarded: not-needed
 Author: Fathi Boudra <fathi.boudra@linaro.org>
-
+Upstream-Status: Pending
 ---
  generate/unix/iasl/Makefile |   12 ++++++------
  1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/import-layers/yocto-poky/meta/recipes-extended/asciidoc/asciidoc_8.6.9.bb b/import-layers/yocto-poky/meta/recipes-extended/asciidoc/asciidoc_8.6.9.bb
index 1cd1454..38164d5 100644
--- a/import-layers/yocto-poky/meta/recipes-extended/asciidoc/asciidoc_8.6.9.bb
+++ b/import-layers/yocto-poky/meta/recipes-extended/asciidoc/asciidoc_8.6.9.bb
@@ -14,7 +14,7 @@
 
 UPSTREAM_CHECK_URI = "https://sourceforge.net/projects/asciidoc/files/"
 
-inherit distutils autotools-brokensep
+inherit autotools-brokensep
 
 export DESTDIR = "${D}"
 DEPENDS_class-native = "docbook-xml-dtd4-native"
diff --git a/import-layers/yocto-poky/meta/recipes-extended/at/at/0001-remove-glibc-assumption.patch b/import-layers/yocto-poky/meta/recipes-extended/at/at/0001-remove-glibc-assumption.patch
index 53ae28b..7fdecc7 100644
--- a/import-layers/yocto-poky/meta/recipes-extended/at/at/0001-remove-glibc-assumption.patch
+++ b/import-layers/yocto-poky/meta/recipes-extended/at/at/0001-remove-glibc-assumption.patch
@@ -1,6 +1,6 @@
-From 7f811d9c4ebc9444e613e251c31d6bf537a24dc1 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Mon, 13 Apr 2015 16:35:30 -0700
+From f446686916e503dfb9fb928252d1b72a07573b29 Mon Sep 17 00:00:00 2001
+From: Dengke Du <dengke.du@windriver.com>
+Date: Tue, 18 Jul 2017 03:42:56 -0400
 Subject: [PATCH] remove glibc assumption
 
 glibc time.h header has an undocumented __isleap macro
@@ -9,9 +9,11 @@
 on any other libc, stop using it and just define the macro in
 locally  instead.
 
-Upstream-Status: Pending
+Upstream-Status: Submitted [ https://lists.debian.org/debian-accessibility/2017/07/msg00044.html ]
 
 Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Signed-off-by: Dengke Du <dengke.du@windriver.com>
 ---
  parsetime.y | 11 +++++++----
  1 file changed, 7 insertions(+), 4 deletions(-)
@@ -53,5 +55,5 @@
  			{
  			    yyerror("Error in day of month");
 -- 
-2.1.4
+2.8.1
 
diff --git a/import-layers/yocto-poky/meta/recipes-extended/at/at_3.1.20.bb b/import-layers/yocto-poky/meta/recipes-extended/at/at_3.1.20.bb
index 904899f..9b537ee 100644
--- a/import-layers/yocto-poky/meta/recipes-extended/at/at_3.1.20.bb
+++ b/import-layers/yocto-poky/meta/recipes-extended/at/at_3.1.20.bb
@@ -1,4 +1,5 @@
 SUMMARY = "Delayed job execution and batch processing"
+HOMEPAGE = "http://blog.calhariz.com/"
 DESCRIPTION = "At allows for commands to be run at a particular time.  Batch will execute commands when \
 the system load levels drop to a particular level."
 SECTION = "base"
diff --git a/import-layers/yocto-poky/meta/recipes-extended/bash/bash.inc b/import-layers/yocto-poky/meta/recipes-extended/bash/bash.inc
index 3e9c662..f4e1f7a 100644
--- a/import-layers/yocto-poky/meta/recipes-extended/bash/bash.inc
+++ b/import-layers/yocto-poky/meta/recipes-extended/bash/bash.inc
@@ -25,9 +25,14 @@
 RDEPENDS_${PN}_class-nativesdk = ""
 RDEPENDS_${PN}-ptest += "make"
 
+DEPENDS_append_libc-glibc = " glibc-locale"
+RDEPENDS_${PN}-ptest_append_libc-glibc = " locale-base-fr-fr locale-base-de-de"
+
 USERADD_PACKAGES = "${PN}-ptest"
 USERADD_PARAM_${PN}-ptest = "--create-home --user-group test"
 
+CACHED_CONFIGUREVARS += "headersdir=${includedir}/${PN}"
+
 do_configure_prepend () {
 	if [ ! -e ${S}/acinclude.m4 ]; then
 		cat ${S}/aclocal.m4 > ${S}/acinclude.m4
@@ -46,16 +51,32 @@
 	fi
 }
 do_install_append_class-target () {
-	# Clean host path in bashbug
+	# Clean buildhost references in bashbug
 	sed -i -e "s,--sysroot=${STAGING_DIR_TARGET},,g" \
-		-e "s,-I${WORKDIR}/\S* ,,g" ${D}${bindir}/bashbug
+		-e "s,-I${WORKDIR}/\S* ,,g" \
+		-e 's|${DEBUG_PREFIX_MAP}||g' \
+		${D}${bindir}/bashbug
+
+	# Clean buildhost references in bash.pc
+	sed -i -e "s,--sysroot=${STAGING_DIR_TARGET},,g" \
+	     ${D}${libdir}/pkgconfig/bash.pc
+
+	# Clean buildhost references in Makefile.inc
+	sed -i -e "s,--sysroot=${STAGING_DIR_TARGET},,g" \
+		-e 's|${DEBUG_PREFIX_MAP}||g' \
+		-e 's:${HOSTTOOLS_DIR}/::g' \
+		-e 's:${BASE_WORKDIR}/${MULTIMACH_TARGET_SYS}::g' \
+		${D}${libdir}/bash/Makefile.inc
 }
 
 do_install_ptest () {
 	make INSTALL_TEST_DIR=${D}${PTEST_PATH}/tests install-test
 	cp ${B}/Makefile ${D}${PTEST_PATH}
         sed -i -e 's/^Makefile/_Makefile/' -e "s,--sysroot=${STAGING_DIR_TARGET},,g" \
-	    -e "s,${S},,g" -e "s,${B},,g" -e "s,${STAGING_DIR_NATIVE},,g" ${D}${PTEST_PATH}/Makefile
+	    -e 's|${DEBUG_PREFIX_MAP}||g' \
+	    -e "s,${S},,g" -e "s,${B},,g" -e "s,${STAGING_DIR_NATIVE},,g" \
+	    -e 's:${HOSTTOOLS_DIR}/::g' \
+	     ${D}${PTEST_PATH}/Makefile
 }
 
 pkg_postinst_${PN} () {
@@ -69,3 +90,9 @@
 PACKAGES += "${PN}-bashbug"
 FILES_${PN} = "${bindir}/bash ${base_bindir}/bash.bash"
 FILES_${PN}-bashbug = "${bindir}/bashbug"
+
+PACKAGE_BEFORE_PN += "${PN}-loadable"
+RDEPENDS_${PN}-loadable += "${PN}"
+FILES_${PN}-loadable += "${libdir}/bash/*"
+
+RPROVIDES_${PN} += "${@bb.utils.contains('DISTRO_FEATURES', 'usrmerge', '/bin/sh /bin/bash', '', d)}"
diff --git a/import-layers/yocto-poky/meta/recipes-extended/bash/bash/CVE-2016-9401.patch b/import-layers/yocto-poky/meta/recipes-extended/bash/bash/CVE-2016-9401.patch
deleted file mode 100644
index 28c9277..0000000
--- a/import-layers/yocto-poky/meta/recipes-extended/bash/bash/CVE-2016-9401.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-From fa741771ed47b30547be63b5b5dbfb51977aca12 Mon Sep 17 00:00:00 2001
-From: Chet Ramey <chet.ramey@case.edu>
-Date: Fri, 20 Jan 2017 11:47:31 -0500
-Subject: [PATCH] Bash-4.4 patch 6
-
-Bug-Reference-URL:
-https://lists.gnu.org/archive/html/bug-bash/2016-11/msg00116.html
-
-Reference to upstream patch:
-https://ftp.gnu.org/pub/gnu/bash/bash-4.4-patches/bash44-006
-
-Bug-Description:
-Out-of-range negative offsets to popd can cause the shell to crash attempting
-to free an invalid memory block.
-
-Upstream-Status: Backport
-CVE: CVE-2016-9401
-Signed-off-by: Li Zhou <li.zhou@windriver.com>
----
- builtins/pushd.def | 7 ++++++-
- 1 file changed, 6 insertions(+), 1 deletion(-)
-
-diff --git a/builtins/pushd.def b/builtins/pushd.def
-index 9c6548f..8a13bae 100644
---- a/builtins/pushd.def
-+++ b/builtins/pushd.def
-@@ -359,7 +359,7 @@ popd_builtin (list)
- 	break;
-     }
- 
--  if (which > directory_list_offset || (directory_list_offset == 0 && which == 0))
-+  if (which > directory_list_offset || (which < -directory_list_offset) || (directory_list_offset == 0 && which == 0))
-     {
-       pushd_error (directory_list_offset, which_word ? which_word : "");
-       return (EXECUTION_FAILURE);
-@@ -381,6 +381,11 @@ popd_builtin (list)
- 	 remove that directory from the list and shift the remainder
- 	 of the list into place. */
-       i = (direction == '+') ? directory_list_offset - which : which;
-+      if (i < 0 || i > directory_list_offset)
-+	{
-+	  pushd_error (directory_list_offset, which_word ? which_word : "");
-+	  return (EXECUTION_FAILURE);
-+	}
-       free (pushd_directory_list[i]);
-       directory_list_offset--;
- 
--- 
-1.9.1
-
diff --git a/import-layers/yocto-poky/meta/recipes-extended/bash/bash/fix-run-coproc-run-heredoc-run-execscript-run-test-f.patch b/import-layers/yocto-poky/meta/recipes-extended/bash/bash/fix-run-coproc-run-heredoc-run-execscript-run-test-f.patch
index 7f099ae..9ac2461 100644
--- a/import-layers/yocto-poky/meta/recipes-extended/bash/bash/fix-run-coproc-run-heredoc-run-execscript-run-test-f.patch
+++ b/import-layers/yocto-poky/meta/recipes-extended/bash/bash/fix-run-coproc-run-heredoc-run-execscript-run-test-f.patch
@@ -1,15 +1,7 @@
-From 2c30dff8ea8b17ad5ba9881e35ad1eba9c515f13 Mon Sep 17 00:00:00 2001
+From d1cd4c31ea0ed7406a3ad4bdaa211f581063f655 Mon Sep 17 00:00:00 2001
 From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Thu, 26 Nov 2015 22:09:07 -0500
-Subject: [PATCH] fix run-coproc/run-heredoc/run-execscript/run-test/ failed
-
-FAIL: run-coproc
-update test case:tests/coproc.right, tests/coproc.tests
-git://git.sv.gnu.org/bash.git bash-4.4-testing
-
-FAIL: run-heredoc
-update test case: tests/heredoc.right tests/heredoc3.sub
-git://git.sv.gnu.org/bash.git bash-4.4-testing
+Date: Tue, 15 Aug 2017 10:21:21 +0800
+Subject: [PATCH 2/2] fix run-execscript/run-test/ failed
 
 FAIL: run-execscript:
 the test suite should not be run as root
@@ -21,149 +13,33 @@
 
 Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
 ---
- tests/coproc.right   |  5 +----
- tests/coproc.tests   | 30 +++++++++++++++++++++++++-----
- tests/heredoc.right  |  5 ++---
- tests/heredoc3.sub   |  3 ++-
- tests/run-execscript |  3 ++-
- tests/run-test       |  3 ++-
- 6 files changed, 34 insertions(+), 15 deletions(-)
+ tests/run-execscript | 3 ++-
+ tests/run-test       | 3 ++-
+ 2 files changed, 4 insertions(+), 2 deletions(-)
 
-diff --git a/tests/coproc.right b/tests/coproc.right
-index 6d9deaa..94b001c 100644
---- a/tests/coproc.right
-+++ b/tests/coproc.right
-@@ -1,11 +1,8 @@
--84575
- 63 60
- a b c
--84577
- 63 60
- flop
--./coproc.tests: line 22: 84577 Terminated              coproc REFLECT { cat -; }
--84579
-+coproc.tests: REFLECT: status 143
- 63 60
- FOO
- 63 60
-diff --git a/tests/coproc.tests b/tests/coproc.tests
-index 8be3563..d347eb7 100644
---- a/tests/coproc.tests
-+++ b/tests/coproc.tests
-@@ -1,6 +1,13 @@
-+: ${TMPDIR:=/tmp}
-+TMPOUT=${TMPDIR}/coproc-wait-$BASHPID
-+
- coproc { echo a b c; sleep 2; }
- 
--echo $COPROC_PID
-+case $COPROC_PID in
-+[0-9]*)	;;
-+*)	echo COPROC_PID not integer ;;
-+esac
-+
- echo ${COPROC[@]}
- 
- read LINE <&${COPROC[0]}
-@@ -10,7 +17,11 @@ wait $COPROC_PID
- 
- coproc REFLECT { cat - ; }
- 
--echo $REFLECT_PID
-+case $REFLECT_PID in
-+[0-9]*)	;;
-+*)	echo REFLECT_PID not integer ;;
-+esac
-+
- echo ${REFLECT[@]}
- 
- echo flop >&${REFLECT[1]}
-@@ -18,12 +29,21 @@ read LINE <&${REFLECT[0]}
- 
- echo $LINE
- 
--kill $REFLECT_PID
--wait $REFLECT_PID
-+{ sleep 1; kill $REFLECT_PID; } &
-+wait $REFLECT_PID >$TMPOUT 2>&1 || echo "coproc.tests: REFLECT: status $?"
-+grep 'Terminated.*coproc.*REFLECT' < $TMPOUT >/dev/null 2>&1 || {
-+	echo "coproc.tests: wait for REFLECT failed" >&2
-+}
-+rm -f $TMPOUT
-+exec 2>&1
- 
- coproc xcase -n -u
- 
--echo $COPROC_PID
-+case $COPROC_PID in
-+[0-9]*)	;;
-+*)	echo COPROC_PID not integer ;;
-+esac
-+
- echo ${COPROC[@]}
- 
- echo foo >&${COPROC[1]}
-diff --git a/tests/heredoc.right b/tests/heredoc.right
-index 6abaa1f..8df91c5 100644
---- a/tests/heredoc.right
-+++ b/tests/heredoc.right
-@@ -76,15 +76,14 @@ ENDEND
- end ENDEND
- hello
- end hello
--x star x
- end x*x
- helloEND
- end helloEND
- hello
- \END
- end hello<NL>\END
--./heredoc3.sub: line 74: warning: here-document at line 72 delimited by end-of-file (wanted `EOF')
--./heredoc3.sub: line 75: syntax error: unexpected end of file
-+./heredoc3.sub: line 75: warning: here-document at line 73 delimited by end-of-file (wanted `EOF')
-+./heredoc3.sub: line 76: syntax error: unexpected end of file
- comsub here-string
- ./heredoc.tests: line 105: warning: here-document at line 103 delimited by end-of-file (wanted `EOF')
- hi
-diff --git a/tests/heredoc3.sub b/tests/heredoc3.sub
-index 73a111e..9d3d846 100644
---- a/tests/heredoc3.sub
-+++ b/tests/heredoc3.sub
-@@ -49,9 +49,10 @@ hello
-     END    
- echo end hello
- 
--cat <<x*x & touch 'x*x'
-+cat <<x*x >/dev/null & touch 'x*x'
- x star x
- x*x
-+wait $!
- echo end 'x*x'
- rm 'x*x'
- 
 diff --git a/tests/run-execscript b/tests/run-execscript
-index f97ab21..0d00a1b 100644
+index de78644..38397c1 100644
 --- a/tests/run-execscript
 +++ b/tests/run-execscript
 @@ -5,5 +5,6 @@ echo "warning: \`/tmp/bash-notthere' not being found or \`/' being a directory"
  echo "warning: produce diff output, please do not consider this a test failure" >&2
  echo "warning: if diff output differing only in the location of the bash" >&2
  echo "warning: binary appears, please do not consider this a test failure" >&2
--${THIS_SH} ./execscript > /tmp/xx 2>&1
-+rm -f /tmp/xx
-+su -c "${THIS_SH} ./execscript > /tmp/xx 2>&1" test
- diff /tmp/xx exec.right && rm -f /tmp/xx
+-${THIS_SH} ./execscript > ${BASH_TSTOUT} 2>&1
++rm -f ${BASH_TSTOUT}
++su -c "${THIS_SH} ./execscript > ${BASH_TSTOUT} 2>&1" test
+ diff ${BASH_TSTOUT} exec.right && rm -f ${BASH_TSTOUT}
 diff --git a/tests/run-test b/tests/run-test
-index b2482c3..2e8f049 100644
+index d68791c..d6317d2 100644
 --- a/tests/run-test
 +++ b/tests/run-test
 @@ -1,4 +1,5 @@
  unset GROUPS UID 2>/dev/null
  
--${THIS_SH} ./test.tests >/tmp/xx 2>&1
-+rm -f /tmp/xx
-+su -c "${THIS_SH} ./test.tests >/tmp/xx 2>&1" test
- diff /tmp/xx test.right && rm -f /tmp/xx
+-${THIS_SH} ./test.tests >${BASH_TSTOUT} 2>&1
++rm -f ${BASH_TSTOUT}
++su -c "${THIS_SH} ./test.tests > ${BASH_TSTOUT} 2>&1" test
+ diff ${BASH_TSTOUT} test.right && rm -f ${BASH_TSTOUT}
 -- 
-1.9.1
+1.8.3.1
 
diff --git a/import-layers/yocto-poky/meta/recipes-extended/bash/bash/fix-run-intl.patch b/import-layers/yocto-poky/meta/recipes-extended/bash/bash/fix-run-intl.patch
deleted file mode 100644
index d4a3409..0000000
--- a/import-layers/yocto-poky/meta/recipes-extended/bash/bash/fix-run-intl.patch
+++ /dev/null
@@ -1,110 +0,0 @@
-From a00d3161fd7b6a698bdd2ed5f0ac5faac580ee2a Mon Sep 17 00:00:00 2001
-From: Dengke Du <dengke.du@windriver.com>
-Date: Wed, 3 Aug 2016 23:13:00 -0400
-Subject: [PATCH] fix run-intl failed
-
-1. Filter extra white space of intl.right
-
-   Due to the extra white space of intl.right, when the result of
-   sub-test unicode2.sub of intl.tests compared to it, the test
-   failed.
-
-   So we need to filter the extra white space of intl.right.
-
-   Import this patch for intl.right from bash devel branch:
-
-	http://git.savannah.gnu.org/cgit/bash.git/log/?h=devel
-
-   commit is:
-
-	85ec0778f9d778e1820fb8c0e3e996f2d1103b45
-
-2. Change intl.right correspond to the unicode3.sub's output
-
-   In sub-test unicode3.sub of intl.tests, the payload value is:
-
-	payload=$'\065\247\100\063\231\053\306\123\070\237\242\352\263'
-
-   It used quoted string expansion(escaped octal) to assign ASCII
-   characters to variables. So when the test run the following:
-
-	printf %q "$payload"
-
-   It produced:
-
-	$'5\247@3\231+\306S8\237\242\352\263'
-
-   When compared to the intl.right(contain the converted character), it failed.
-
-   Import parts of patch for intl.right from bash devel branch:
-
-	http://git.savannah.gnu.org/cgit/bash.git/log/?h=devel
-
-   commit is:
-
-	74b8cbb41398b4453d8ba04d0cdd1b25f9dcb9e3
-
-Upstream-Status: Backport
-
-Signed-off-by: Dengke Du <dengke.du@windriver.com>
----
- tests/intl.right | 30 +++++++++++++++---------------
- 1 file changed, 15 insertions(+), 15 deletions(-)
-
-diff --git a/tests/intl.right b/tests/intl.right
-index acf108a..1efdfbe 100644
---- a/tests/intl.right
-+++ b/tests/intl.right
-@@ -18,34 +18,34 @@ aéb
- 1.0000
- 1,0000
- Passed all 1378 Unicode tests
--0000000   303 277 012                                                    
-+0000000 303 277 012
- 0000003
--0000000   303 277 012                                                    
-+0000000 303 277 012
- 0000003
--0000000   303 277 012                                                    
-+0000000 303 277 012
- 0000003
--0000000   303 277 012                                                    
-+0000000 303 277 012
- 0000003
--0000000   357 277 277 012                                                
-+0000000 357 277 277 012
- 0000004
--0000000   357 277 277 012                                                
-+0000000 357 277 277 012
- 0000004
--0000000   012                                                            
-+0000000 012
- 0000001
--0000000   012                                                            
-+0000000 012
- 0000001
--0000000   012                                                            
-+0000000 012
- 0000001
--0000000   012                                                            
-+0000000 012
- 0000001
--0000000   303 277 012                                                    
-+0000000 303 277 012
- 0000003
--0000000   303 277 012                                                    
-+0000000 303 277 012
- 0000003
--0000000   303 277 012                                                    
-+0000000 303 277 012
- 0000003
--0000000   101 040 302 243 040 305 222 012                                
-+0000000 101 040 302 243 040 305 222 012
- 0000010
- ./unicode3.sub: line 2: 5§@3™+ÆS8Ÿ¢ê³: command not found
--5§@3™+ÆS8Ÿ¢ê³
-+$'5\247@3\231+\306S8\237\242\352\263'
- + : $'5\247@3\231+\306S8\237\242\352\263'
--- 
-2.8.1
-
diff --git a/import-layers/yocto-poky/meta/recipes-extended/bash/bash/test-output.patch b/import-layers/yocto-poky/meta/recipes-extended/bash/bash/test-output.patch
index 2b09b7d..0ffcc24 100644
--- a/import-layers/yocto-poky/meta/recipes-extended/bash/bash/test-output.patch
+++ b/import-layers/yocto-poky/meta/recipes-extended/bash/bash/test-output.patch
@@ -1,25 +1,42 @@
-Add FAIL/PASS output to test output.
+From 28eb06047ebd2deaa8c7cd2bf6655ef6a469dc14 Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Tue, 15 Aug 2017 10:01:56 +0800
+Subject: [PATCH 1/2] Add FAIL/PASS output to test output.
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
 
 Signed-off-by: Björn Stenberg <bjst@enea.com>
 Upstream-Status: Pending
+
+Rebase to 4.4
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
 ---
-diff -uNr a/tests/run-all b/tests/run-all
---- a/tests/run-all	1999-10-08 17:07:46.000000000 +0200
-+++ b/tests/run-all	2012-10-27 21:04:18.663331887 +0200
-@@ -22,7 +22,15 @@
+ tests/run-all | 11 ++++++++++-
+ 1 file changed, 10 insertions(+), 1 deletion(-)
+
+diff --git a/tests/run-all b/tests/run-all
+index 2882fe0..e21d026 100644
+--- a/tests/run-all
++++ b/tests/run-all
+@@ -33,7 +33,16 @@ do
  	case $x in
  	$0|run-minimal|run-gprof)	;;
  	*.orig|*~) ;;
--	*)	echo $x ; sh $x ;;
-+    *)  echo $x
-+         output=`sh $x`
-+         if [ -n "$output" ]; then
-+             echo "$output"
-+             echo "FAIL: $x"
-+         else
-+             echo "PASS: $x"
-+         fi
-+         ;;
+-	*)	echo $x ; sh $x ; rm -f ${BASH_TSTOUT} ;;
++	*)	echo $x
++		output=`sh $x`
++		if [ -n "$output" ]; then
++			echo "$output"
++			echo "FAIL: $x"
++		else
++			echo "PASS: $x"
++		fi
++		rm -f ${BASH_TSTOUT}
++		;;
  	esac
  done
  
+-- 
+1.8.3.1
+
diff --git a/import-layers/yocto-poky/meta/recipes-extended/bash/bash_4.3.30.bb b/import-layers/yocto-poky/meta/recipes-extended/bash/bash_4.3.30.bb
deleted file mode 100644
index 2648faf..0000000
--- a/import-layers/yocto-poky/meta/recipes-extended/bash/bash_4.3.30.bb
+++ /dev/null
@@ -1,76 +0,0 @@
-require bash.inc
-
-# GPLv2+ (< 4.0), GPLv3+ (>= 4.0)
-LICENSE = "GPLv3+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
-
-SRC_URI = "${GNU_MIRROR}/bash/${BP}.tar.gz;name=tarball \
-           ${GNU_MIRROR}/bash/bash-4.3-patches/bash43-031;apply=yes;striplevel=0;name=patch031 \
-           ${GNU_MIRROR}/bash/bash-4.3-patches/bash43-032;apply=yes;striplevel=0;name=patch032 \
-           ${GNU_MIRROR}/bash/bash-4.3-patches/bash43-033;apply=yes;striplevel=0;name=patch033 \
-           ${GNU_MIRROR}/bash/bash-4.3-patches/bash43-034;apply=yes;striplevel=0;name=patch034 \
-           ${GNU_MIRROR}/bash/bash-4.3-patches/bash43-035;apply=yes;striplevel=0;name=patch035 \
-           ${GNU_MIRROR}/bash/bash-4.3-patches/bash43-036;apply=yes;striplevel=0;name=patch036 \
-           ${GNU_MIRROR}/bash/bash-4.3-patches/bash43-037;apply=yes;striplevel=0;name=patch037 \
-           ${GNU_MIRROR}/bash/bash-4.3-patches/bash43-038;apply=yes;striplevel=0;name=patch038 \
-           ${GNU_MIRROR}/bash/bash-4.3-patches/bash43-039;apply=yes;striplevel=0;name=patch039 \
-           ${GNU_MIRROR}/bash/bash-4.3-patches/bash43-040;apply=yes;striplevel=0;name=patch040 \
-           ${GNU_MIRROR}/bash/bash-4.3-patches/bash43-041;apply=yes;striplevel=0;name=patch041 \
-           ${GNU_MIRROR}/bash/bash-4.3-patches/bash43-042;apply=yes;striplevel=0;name=patch042 \
-           ${GNU_MIRROR}/bash/bash-4.3-patches/bash43-043;apply=yes;striplevel=0;name=patch043 \
-           ${GNU_MIRROR}/bash/bash-4.3-patches/bash43-044;apply=yes;striplevel=0;name=patch044 \
-           ${GNU_MIRROR}/bash/bash-4.3-patches/bash43-045;apply=yes;striplevel=0;name=patch045 \
-           ${GNU_MIRROR}/bash/bash-4.3-patches/bash43-046;apply=yes;striplevel=0;name=patch046 \
-           ${GNU_MIRROR}/bash/bash-4.3-patches/bash43-047;apply=yes;striplevel=0;name=patch047 \
-           file://execute_cmd.patch;striplevel=0 \
-           file://mkbuiltins_have_stringize.patch \
-           file://build-tests.patch \
-           file://test-output.patch \
-           file://fix-run-coproc-run-heredoc-run-execscript-run-test-f.patch \
-           file://run-ptest \
-           file://fix-run-builtins.patch \
-           file://0001-help-fix-printf-format-security-warning.patch \
-           file://fix-run-intl.patch \
-           file://CVE-2016-9401.patch \
-           file://bash-memleak-bug-fix-for-builtin-command-read.patch \
-           "
-
-SRC_URI[tarball.md5sum] = "a27b3ee9be83bd3ba448c0ff52b28447"
-SRC_URI[tarball.sha256sum] = "317881019bbf2262fb814b7dd8e40632d13c3608d2f237800a8828fbb8a640dd"
-
-SRC_URI[patch031.md5sum] = "236df1ac1130a033ed0dbe2d2115f28f"
-SRC_URI[patch031.sha256sum] = "cd529f59dd0f2fdd49d619fe34691da6f0affedf87cc37cd460a9f3fe812a61d"
-SRC_URI[patch032.md5sum] = "2360f7e79cfb28526f80021025ea5909"
-SRC_URI[patch032.sha256sum] = "889357d29a6005b2c3308ca5b6286cb223b5e9c083219e5db3156282dd554f4a"
-SRC_URI[patch033.md5sum] = "b551c4ee7b8713759e4143499d0bbd48"
-SRC_URI[patch033.sha256sum] = "fb2a7787a13fbe027a7335aca6eb3c21cdbd813e9edc221274b6a9d8692eaa16"
-SRC_URI[patch034.md5sum] = "c9a56fbe0348e05a886dff97f2872b74"
-SRC_URI[patch034.sha256sum] = "f1694f04f110defe1330a851cc2768e7e57ddd2dfdb0e3e350ca0e3c214ff889"
-SRC_URI[patch035.md5sum] = "e564e8ab44ed1ca3a4e315a9f6cabdc9"
-SRC_URI[patch035.sha256sum] = "370d85e51780036f2386dc18c5efe996eba8e652fc1973f0f4f2ab55a993c1e3"
-SRC_URI[patch036.md5sum] = "b00ff66c41a7c0f06e191200981980b0"
-SRC_URI[patch036.sha256sum] = "ac5f82445b36efdb543dbfae64afed63f586d7574b833e9aa9cd5170bc5fd27c"
-SRC_URI[patch037.md5sum] = "be2a7b05f6ae560313f3c9d5f7127bda"
-SRC_URI[patch037.sha256sum] = "33f170dd7400ab3418d749c55c6391b1d161ef2de7aced1873451b3a3fca5813"
-SRC_URI[patch038.md5sum] = "61e0522830b24fbe8c0d1b010f132470"
-SRC_URI[patch038.sha256sum] = "adbeaa500ca7a82535f0e88d673661963f8a5fcdc7ad63445e68bf5b49786367"
-SRC_URI[patch039.md5sum] = "a4775487abe958536751c8ce53cdf6f9"
-SRC_URI[patch039.sha256sum] = "ab94dced2215541097691f60c3eb323cc28ef2549463e6a5334bbcc1e61e74ec"
-SRC_URI[patch040.md5sum] = "80d3587c58854e226055ef099ffeb535"
-SRC_URI[patch040.sha256sum] = "84bb396b9262992ca5424feab6ed3ec39f193ef5c76dfe4a62b551bd8dd9d76b"
-SRC_URI[patch041.md5sum] = "20bf63eef7cb441c0b1cc49ef3191d03"
-SRC_URI[patch041.sha256sum] = "4ec432966e4198524a7e0cd685fe222e96043769c9613e66742ac475db132c1a"
-SRC_URI[patch042.md5sum] = "70790646ae61e207c995e44931390e50"
-SRC_URI[patch042.sha256sum] = "ac219322db2791da87a496ee6e8e5544846494bdaaea2626270c2f73c1044919"
-SRC_URI[patch043.md5sum] = "855a46955cb251534e80b4732b748e37"
-SRC_URI[patch043.sha256sum] = "47a8a3c005b46e25821f4d8f5ccb04c1d653b1c829cb40568d553dc44f7a6180"
-SRC_URI[patch044.md5sum] = "29623d3282fcbb37e1158136509b5bb8"
-SRC_URI[patch044.sha256sum] = "9338820630bf67373b44d8ea68409f65162ea7a47b9b29ace06a0aed12567f99"
-SRC_URI[patch045.md5sum] = "4473244ca5abfd4b018ea26dc73e7412"
-SRC_URI[patch045.sha256sum] = "ba6ec3978e9eaa1eb3fabdaf3cc6fdf8c4606ac1c599faaeb4e2d69864150023"
-SRC_URI[patch046.md5sum] = "7e5fb09991c077076b86e0e057798913"
-SRC_URI[patch046.sha256sum] = "b3b456a6b690cd293353f17e22d92a202b3c8bce587ae5f2667c20c9ab6f688f"
-SRC_URI[patch047.md5sum] = "8483153bad1a6f52cadc3bd9a8df7835"
-SRC_URI[patch047.sha256sum] = "c69248de7e78ba6b92f118fe1ef47bc86479d5040fe0b1f908ace1c9e3c67c4a"
-
-BBCLASSEXTEND = "nativesdk"
diff --git a/import-layers/yocto-poky/meta/recipes-extended/bash/bash_4.4.bb b/import-layers/yocto-poky/meta/recipes-extended/bash/bash_4.4.bb
new file mode 100644
index 0000000..e544d07
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-extended/bash/bash_4.4.bb
@@ -0,0 +1,59 @@
+require bash.inc
+
+# GPLv2+ (< 4.0), GPLv3+ (>= 4.0)
+LICENSE = "GPLv3+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
+
+SRC_URI = "${GNU_MIRROR}/bash/${BP}.tar.gz;name=tarball \
+           ${GNU_MIRROR}/bash/bash-4.4-patches/bash44-001;apply=yes;striplevel=0;name=patch001 \
+           ${GNU_MIRROR}/bash/bash-4.4-patches/bash44-002;apply=yes;striplevel=0;name=patch002 \
+           ${GNU_MIRROR}/bash/bash-4.4-patches/bash44-003;apply=yes;striplevel=0;name=patch003 \
+           ${GNU_MIRROR}/bash/bash-4.4-patches/bash44-004;apply=yes;striplevel=0;name=patch004 \
+           ${GNU_MIRROR}/bash/bash-4.4-patches/bash44-005;apply=yes;striplevel=0;name=patch005 \
+           ${GNU_MIRROR}/bash/bash-4.4-patches/bash44-006;apply=yes;striplevel=0;name=patch006 \
+           ${GNU_MIRROR}/bash/bash-4.4-patches/bash44-007;apply=yes;striplevel=0;name=patch007 \
+           ${GNU_MIRROR}/bash/bash-4.4-patches/bash44-008;apply=yes;striplevel=0;name=patch008 \
+           ${GNU_MIRROR}/bash/bash-4.4-patches/bash44-009;apply=yes;striplevel=0;name=patch009 \
+           ${GNU_MIRROR}/bash/bash-4.4-patches/bash44-010;apply=yes;striplevel=0;name=patch010 \
+           ${GNU_MIRROR}/bash/bash-4.4-patches/bash44-011;apply=yes;striplevel=0;name=patch011 \
+           ${GNU_MIRROR}/bash/bash-4.4-patches/bash44-012;apply=yes;striplevel=0;name=patch012 \
+           file://execute_cmd.patch;striplevel=0 \
+           file://mkbuiltins_have_stringize.patch \
+           file://build-tests.patch \
+           file://test-output.patch \
+           file://fix-run-coproc-run-heredoc-run-execscript-run-test-f.patch \
+           file://run-ptest \
+           file://fix-run-builtins.patch \
+           file://0001-help-fix-printf-format-security-warning.patch \
+           file://bash-memleak-bug-fix-for-builtin-command-read.patch \
+           "
+
+SRC_URI[tarball.md5sum] = "148888a7c95ac23705559b6f477dfe25"
+SRC_URI[tarball.sha256sum] = "d86b3392c1202e8ff5a423b302e6284db7f8f435ea9f39b5b1b20fd3ac36dfcb"
+
+SRC_URI[patch001.md5sum] = "817d01a6c0af6f79308a8b7b649e53d8"
+SRC_URI[patch001.sha256sum] = "3e28d91531752df9a8cb167ad07cc542abaf944de9353fe8c6a535c9f1f17f0f"
+SRC_URI[patch002.md5sum] = "765e14cff12c7284009772e8e24f2fe0"
+SRC_URI[patch002.sha256sum] = "7020a0183e17a7233e665b979c78c184ea369cfaf3e8b4b11f5547ecb7c13c53"
+SRC_URI[patch003.md5sum] = "49e7da93bf07f510a2eb6bb43ac3e5a2"
+SRC_URI[patch003.sha256sum] = "51df5a9192fdefe0ddca4bdf290932f74be03ffd0503a3d112e4199905e718b2"
+SRC_URI[patch004.md5sum] = "4557d674ab5831a5fa98052ab19edaf4"
+SRC_URI[patch004.sha256sum] = "ad080a30a4ac6c1273373617f29628cc320a35c8cd06913894794293dc52c8b3"
+SRC_URI[patch005.md5sum] = "cce96dd77cdd1d293beec10848f6cbb5"
+SRC_URI[patch005.sha256sum] = "221e4b725b770ad0bb6924df3f8d04f89eeca4558f6e4c777dfa93e967090529"
+SRC_URI[patch006.md5sum] = "d3379f8d8abce5c6ee338f931ad008d5"
+SRC_URI[patch006.sha256sum] = "6a8e2e2a6180d0f1ce39dcd651622fb6d2fd05db7c459f64ae42d667f1e344b8"
+SRC_URI[patch007.md5sum] = "ec38c76ca439ca7f9c178e9baede84fc"
+SRC_URI[patch007.sha256sum] = "de1ccc07b7bfc9e25243ad854f3bbb5d3ebf9155b0477df16aaf00a7b0d5edaf"
+SRC_URI[patch008.md5sum] = "e0ba18c1e3b94f905da9b5bf9d38b58b"
+SRC_URI[patch008.sha256sum] = "86144700465933636d7b945e89b77df95d3620034725be161ca0ca5a42e239ba"
+SRC_URI[patch009.md5sum] = "e952d4f44e612048930c559d90eb99bb"
+SRC_URI[patch009.sha256sum] = "0b6bdd1a18a0d20e330cc3bc71e048864e4a13652e29dc0ebf3918bea729343c"
+SRC_URI[patch010.md5sum] = "57b5b35955d68f9a09dbef6b86d2c782"
+SRC_URI[patch010.sha256sum] = "8465c6f2c56afe559402265b39d9e94368954930f9aa7f3dfa6d36dd66868e06"
+SRC_URI[patch011.md5sum] = "cc896e1fa696b93ded568e557e2392d5"
+SRC_URI[patch011.sha256sum] = "dd56426ef7d7295e1107c0b3d06c192eb9298f4023c202ca2ba6266c613d170d"
+SRC_URI[patch012.md5sum] = "fa47fbfa56fb7e9e5367f19a9df5fc9e"
+SRC_URI[patch012.sha256sum] = "fac271d2bf6372c9903e3b353cb9eda044d7fe36b5aab52f21f3f21cd6a2063e"
+
+BBCLASSEXTEND = "nativesdk"
diff --git a/import-layers/yocto-poky/meta/recipes-extended/byacc/byacc.inc b/import-layers/yocto-poky/meta/recipes-extended/byacc/byacc.inc
deleted file mode 100644
index adb0719..0000000
--- a/import-layers/yocto-poky/meta/recipes-extended/byacc/byacc.inc
+++ /dev/null
@@ -1,22 +0,0 @@
-SUMMARY = "Berkeley LALR Yacc parser generator"
-DESCRIPTION = "A parser generator utility that reads a grammar specification from a file and generates an LR(1) \
-parser for it.  The parsers consist of a set of LALR(1) parsing tables and a driver routine written in the C \
-programming language."
-SECTION = "devel"
-LICENSE = "PD"
-
-SRC_URI = "ftp://invisible-island.net/byacc/byacc-${PV}.tgz \
-           file://byacc-open.patch \
-           file://0001-byacc-do-not-reorder-CC-and-CFLAGS.patch"
-
-EXTRA_OECONF += "--program-transform-name='s,^,b,'"
-
-BBCLASSEXTEND = "native"
-
-inherit autotools
-
-do_configure() {
-	install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.guess ${S}
-	install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.sub ${S}
-	oe_runconf
-}
diff --git a/import-layers/yocto-poky/meta/recipes-extended/byacc/byacc/0001-byacc-do-not-reorder-CC-and-CFLAGS.patch b/import-layers/yocto-poky/meta/recipes-extended/byacc/byacc/0001-byacc-do-not-reorder-CC-and-CFLAGS.patch
deleted file mode 100644
index 7cd2510..0000000
--- a/import-layers/yocto-poky/meta/recipes-extended/byacc/byacc/0001-byacc-do-not-reorder-CC-and-CFLAGS.patch
+++ /dev/null
@@ -1,161 +0,0 @@
-Subject: byacc: do not reorder $CC and $CFLAGS
-
-byacc tries to process $CC and decide which part should belong to CC and which
-part should below to CFLAGS and then do reordering. It doesn't make much sense
-for OE. And it doesn't do its work correctly. Some options are dropped.
-
-Delete all these stuff so that we could have all options we need.
-
-Upstream-Status: Inappropriate [OE Specific]
-
-Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
----
- aclocal.m4 |   1 -
- configure  | 119 -------------------------------------------------------------
- 2 files changed, 120 deletions(-)
-
-diff --git a/aclocal.m4 b/aclocal.m4
-index 917a848..62ef241 100644
---- a/aclocal.m4
-+++ b/aclocal.m4
-@@ -1021,7 +1021,6 @@ CF_GCC_VERSION
- CF_ACVERSION_CHECK(2.52,
- 	[AC_PROG_CC_STDC],
- 	[CF_ANSI_CC_REQD])
--CF_CC_ENV_FLAGS
- ])dnl
- dnl ---------------------------------------------------------------------------
- dnl CF_PROG_GROFF version: 2 updated: 2015/07/04 11:16:27
-diff --git a/configure b/configure
-index 9707e50..4f0497c 100755
---- a/configure
-+++ b/configure
-@@ -1946,125 +1946,6 @@ esac
- # This should have been defined by AC_PROG_CC
- : ${CC:=cc}
- 
--echo "$as_me:1949: checking \$CC variable" >&5
--echo $ECHO_N "checking \$CC variable... $ECHO_C" >&6
--case "$CC" in
--(*[\ \	]-*)
--	echo "$as_me:1953: result: broken" >&5
--echo "${ECHO_T}broken" >&6
--	{ echo "$as_me:1955: WARNING: your environment misuses the CC variable to hold CFLAGS/CPPFLAGS options" >&5
--echo "$as_me: WARNING: your environment misuses the CC variable to hold CFLAGS/CPPFLAGS options" >&2;}
--	# humor him...
--	cf_flags=`echo "$CC" | sed -e 's/^.*[ 	]\(-[^ 	]\)/\1/'`
--	CC=`echo "$CC " | sed -e 's/[ 	]-[^ 	].*$//' -e 's/[ 	]*$//'`
--	for cf_arg in $cf_flags
--	do
--		case "x$cf_arg" in
--		(x-[IUDfgOW]*)
--
--cf_fix_cppflags=no
--cf_new_cflags=
--cf_new_cppflags=
--cf_new_extra_cppflags=
--
--for cf_add_cflags in $cf_flags
--do
--case $cf_fix_cppflags in
--(no)
--	case $cf_add_cflags in
--	(-undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C)
--		case $cf_add_cflags in
--		(-D*)
--			cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^-D[^=]*='\''\"[^"]*//'`
--
--			test "x${cf_add_cflags}" != "x${cf_tst_cflags}" \
--				&& test -z "${cf_tst_cflags}" \
--				&& cf_fix_cppflags=yes
--
--			if test $cf_fix_cppflags = yes ; then
--				cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
--				continue
--			elif test "${cf_tst_cflags}" = "\"'" ; then
--				cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
--				continue
--			fi
--			;;
--		esac
--		case "$CPPFLAGS" in
--		(*$cf_add_cflags)
--			;;
--		(*)
--			case $cf_add_cflags in
--			(-D*)
--				cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'`
--
--CPPFLAGS=`echo "$CPPFLAGS" | \
--	sed	-e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ 	]*\)\?[ 	]/ /g' \
--		-e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ 	]*\)\?$//g'`
--
--				;;
--			esac
--			cf_new_cppflags="$cf_new_cppflags $cf_add_cflags"
--			;;
--		esac
--		;;
--	(*)
--		cf_new_cflags="$cf_new_cflags $cf_add_cflags"
--		;;
--	esac
--	;;
--(yes)
--	cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
--
--	cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^[^"]*"'\''//'`
--
--	test "x${cf_add_cflags}" != "x${cf_tst_cflags}" \
--		&& test -z "${cf_tst_cflags}" \
--		&& cf_fix_cppflags=no
--	;;
--esac
--done
--
--if test -n "$cf_new_cflags" ; then
--
--	CFLAGS="$CFLAGS $cf_new_cflags"
--fi
--
--if test -n "$cf_new_cppflags" ; then
--
--	CPPFLAGS="$CPPFLAGS $cf_new_cppflags"
--fi
--
--if test -n "$cf_new_extra_cppflags" ; then
--
--	EXTRA_CPPFLAGS="$cf_new_extra_cppflags $EXTRA_CPPFLAGS"
--fi
--
--			;;
--		(*)
--			CC="$CC $cf_arg"
--			;;
--		esac
--	done
--	test -n "$verbose" && echo "	resulting CC: '$CC'" 1>&6
--
--echo "${as_me:-configure}:2051: testing resulting CC: '$CC' ..." 1>&5
--
--	test -n "$verbose" && echo "	resulting CFLAGS: '$CFLAGS'" 1>&6
--
--echo "${as_me:-configure}:2055: testing resulting CFLAGS: '$CFLAGS' ..." 1>&5
--
--	test -n "$verbose" && echo "	resulting CPPFLAGS: '$CPPFLAGS'" 1>&6
--
--echo "${as_me:-configure}:2059: testing resulting CPPFLAGS: '$CPPFLAGS' ..." 1>&5
--
--	;;
--(*)
--	echo "$as_me:2063: result: ok" >&5
--echo "${ECHO_T}ok" >&6
--	;;
--esac
--
- echo "$as_me:2068: checking whether ${MAKE-make} sets \${MAKE}" >&5
- echo $ECHO_N "checking whether ${MAKE-make} sets \${MAKE}... $ECHO_C" >&6
- set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y,./+-,__p_,'`
--- 
-2.8.3
-
diff --git a/import-layers/yocto-poky/meta/recipes-extended/byacc/byacc/byacc-open.patch b/import-layers/yocto-poky/meta/recipes-extended/byacc/byacc/byacc-open.patch
deleted file mode 100644
index 0058311..0000000
--- a/import-layers/yocto-poky/meta/recipes-extended/byacc/byacc/byacc-open.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-Ubuntu defaults to passing _FORTIFY_SOURCE=2 which breaks byacc as it doesn't
-pass enough arguments to open():
-
- inlined from 'open_tmpfile' at byacc-20150711/main.c:588:5:
- /usr/include/x86_64-linux-gnu/bits/fcntl2.h:50:24: error: call to '__open_missing_mode' declared with attribute error:
- open with O_CREAT in second argument needs 3 arguments
-
-Add a mode of 0666 to fix this.
-
-Upstream-Status: Pending
-Signed-off-by: Ross Burton <ross.burton@intel.com>
-
-diff --git a/main.c b/main.c
-index 620ce3f..82071a4 100644
---- a/main.c
-+++ b/main.c
-@@ -526,7 +526,7 @@ my_mkstemp(char *temp)
-     }
-     if ((name = tempnam(dname, fname)) != 0)
-     {
--	fd = open(name, O_CREAT | O_EXCL | O_RDWR);
-+      fd = open(name, O_CREAT | O_EXCL | O_RDWR, 0666);
- 	strcpy(temp, name);
-     }
-     else
diff --git a/import-layers/yocto-poky/meta/recipes-extended/byacc/byacc_20161202.bb b/import-layers/yocto-poky/meta/recipes-extended/byacc/byacc_20161202.bb
deleted file mode 100644
index 755f8ab..0000000
--- a/import-layers/yocto-poky/meta/recipes-extended/byacc/byacc_20161202.bb
+++ /dev/null
@@ -1,12 +0,0 @@
-# Sigh. This is one of those places where everyone licenses it differently. Someone
-# even apply UCB to it (Free/Net/OpenBSD). The maintainer states that:
-# "I've found no reliable source which states that byacc must bear a UCB copyright."
-# Setting to PD as this is what the upstream has it as.
-
-LICENSE = "PD"
-LIC_FILES_CHKSUM = "file://package/debian/copyright;md5=74533d32ffd38bca4cbf1f1305f8bc60"
-require byacc.inc
-
-
-SRC_URI[md5sum] = "48ef38447f2cc864c70ef864b26cf817"
-SRC_URI[sha256sum] = "30dc58cfcdb708eea7ba022db29b41d2d392f20727491b956954366f2f2117f0"
diff --git a/import-layers/yocto-poky/meta/recipes-extended/bzip2/bzip2-1.0.6/Makefile.am b/import-layers/yocto-poky/meta/recipes-extended/bzip2/bzip2-1.0.6/Makefile.am
index 05d389f..dcf6458 100644
--- a/import-layers/yocto-poky/meta/recipes-extended/bzip2/bzip2-1.0.6/Makefile.am
+++ b/import-layers/yocto-poky/meta/recipes-extended/bzip2/bzip2-1.0.6/Makefile.am
@@ -48,7 +48,8 @@
 	else echo "FAIL: sample3 decompress"; fi
 
 install-ptest:
-	cp $(srcdir)/Makefile		$(DESTDIR)/
+	sed  -n '/^runtest:/,/^install-ptest:/{/^install-ptest:/!p}' \
+           $(srcdir)/Makefile.am      > $(DESTDIR)/Makefile
 	cp $(srcdir)/sample1.ref	$(DESTDIR)/
 	cp $(srcdir)/sample2.ref	$(DESTDIR)/
 	cp $(srcdir)/sample3.ref	$(DESTDIR)/
diff --git a/import-layers/yocto-poky/meta/recipes-extended/bzip2/bzip2_1.0.6.bb b/import-layers/yocto-poky/meta/recipes-extended/bzip2/bzip2_1.0.6.bb
index 0512a75..de668d6 100644
--- a/import-layers/yocto-poky/meta/recipes-extended/bzip2/bzip2_1.0.6.bb
+++ b/import-layers/yocto-poky/meta/recipes-extended/bzip2/bzip2_1.0.6.bb
@@ -34,7 +34,6 @@
 EXTRA_OECONF_append_class-native = " --bindir=${STAGING_BINDIR_NATIVE}/${PN}"
 
 do_install_ptest () {
-	cp -f ${B}/Makefile ${D}${PTEST_PATH}/Makefile
 	sed -i -e "s|^Makefile:|_Makefile:|" ${D}${PTEST_PATH}/Makefile
 }
 
diff --git a/import-layers/yocto-poky/meta/recipes-extended/cups/cups.inc b/import-layers/yocto-poky/meta/recipes-extended/cups/cups.inc
index c3fa459..ac4d225 100644
--- a/import-layers/yocto-poky/meta/recipes-extended/cups/cups.inc
+++ b/import-layers/yocto-poky/meta/recipes-extended/cups/cups.inc
@@ -1,4 +1,5 @@
 SUMMARY = "An Internet printing system for Unix"
+HOMEPAGE = "https://www.cups.org/"
 SECTION = "console/utils"
 LICENSE = "GPLv2 & LGPLv2"
 DEPENDS = "gnutls libpng jpeg dbus dbus-glib zlib libusb"
@@ -79,13 +80,6 @@
 	fi
 }
 
-python do_package_append() {
-    import subprocess
-    # Change permissions back the way they were, they probably had a reason...
-    workdir = d.getVar('WORKDIR')
-    subprocess.call('chmod 0511 %s/install/cups/var/run/cups/certs' % workdir, shell=True)
-}
-
 PACKAGES =+ "${PN}-lib ${PN}-libimage"
 
 RDEPENDS_${PN} += "${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'procps', '', d)}"
diff --git a/import-layers/yocto-poky/meta/recipes-extended/cups/cups_2.2.2.bb b/import-layers/yocto-poky/meta/recipes-extended/cups/cups_2.2.2.bb
deleted file mode 100644
index 5174c30..0000000
--- a/import-layers/yocto-poky/meta/recipes-extended/cups/cups_2.2.2.bb
+++ /dev/null
@@ -1,6 +0,0 @@
-require cups.inc
-
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=f212b4338db0da8cb892e94bf2949460"
-
-SRC_URI[md5sum] = "036f6bda6202ae3e280ac00c710b5ca4"
-SRC_URI[sha256sum] = "f589bb7d5d1dc3aa0915d7cf2b808571ef2e1530cd1a6ebe76ae8f9f4994e4f6"
diff --git a/import-layers/yocto-poky/meta/recipes-extended/cups/cups_2.2.4.bb b/import-layers/yocto-poky/meta/recipes-extended/cups/cups_2.2.4.bb
new file mode 100644
index 0000000..ed94b67
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-extended/cups/cups_2.2.4.bb
@@ -0,0 +1,6 @@
+require cups.inc
+
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=f212b4338db0da8cb892e94bf2949460"
+
+SRC_URI[md5sum] = "d26e5a0a574a69fe1d01079b2931fc49"
+SRC_URI[sha256sum] = "596d4db72651c335469ae5f37b0da72ac9f97d73e30838d787065f559dea98cc"
diff --git a/import-layers/yocto-poky/meta/recipes-extended/diffutils/diffutils-3.5/0001-Unset-need_charset_alias-when-building-for-musl.patch b/import-layers/yocto-poky/meta/recipes-extended/diffutils/diffutils-3.6/0001-Unset-need_charset_alias-when-building-for-musl.patch
similarity index 100%
rename from import-layers/yocto-poky/meta/recipes-extended/diffutils/diffutils-3.5/0001-Unset-need_charset_alias-when-building-for-musl.patch
rename to import-layers/yocto-poky/meta/recipes-extended/diffutils/diffutils-3.6/0001-Unset-need_charset_alias-when-building-for-musl.patch
diff --git a/import-layers/yocto-poky/meta/recipes-extended/diffutils/diffutils-3.6/0001-explicitly-disable-replacing-getopt.patch b/import-layers/yocto-poky/meta/recipes-extended/diffutils/diffutils-3.6/0001-explicitly-disable-replacing-getopt.patch
new file mode 100644
index 0000000..351f87c
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-extended/diffutils/diffutils-3.6/0001-explicitly-disable-replacing-getopt.patch
@@ -0,0 +1,30 @@
+Subject: explicitly disable replacing getopt
+
+Explicitly disable replacing getopt to avoid compilation error like below.
+
+  xstrtol-error.c:84:26: error: invalid use of undefined type 'struct rpl_option'
+
+Upstream-Status: Inappropriate [workaround]
+Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+---
+ m4/getopt.m4 | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/m4/getopt.m4 b/m4/getopt.m4
+index 3ebc7b7..8934426 100644
+--- a/m4/getopt.m4
++++ b/m4/getopt.m4
+@@ -22,8 +22,8 @@ AC_DEFUN([gl_FUNC_GETOPT_POSIX],
+     fi
+   ])
+   if test $REPLACE_GETOPT = 1; then
+-    dnl Arrange for getopt.h to be created.
+-    gl_GETOPT_SUBSTITUTE_HEADER
++    dnl Explicitly disable replacing getopt
++    :
+   fi
+ ])
+ 
+-- 
+2.11.0
+
diff --git a/import-layers/yocto-poky/meta/recipes-extended/diffutils/diffutils-3.5/run-ptest b/import-layers/yocto-poky/meta/recipes-extended/diffutils/diffutils-3.6/run-ptest
similarity index 100%
rename from import-layers/yocto-poky/meta/recipes-extended/diffutils/diffutils-3.5/run-ptest
rename to import-layers/yocto-poky/meta/recipes-extended/diffutils/diffutils-3.6/run-ptest
diff --git a/import-layers/yocto-poky/meta/recipes-extended/diffutils/diffutils.inc b/import-layers/yocto-poky/meta/recipes-extended/diffutils/diffutils.inc
index 243341a..7c5be50 100644
--- a/import-layers/yocto-poky/meta/recipes-extended/diffutils/diffutils.inc
+++ b/import-layers/yocto-poky/meta/recipes-extended/diffutils/diffutils.inc
@@ -1,4 +1,5 @@
 SUMMARY = "Diffutils contains tools used for finding differences between files"
+HOMEPAGE = "https://www.gnu.org/software/diffutils/diffutils.html"
 DESCRIPTION = "Diffutils contains the GNU diff, diff3, \
 sdiff, and cmp utilities. These programs are usually \
 used for creating patch files."
@@ -6,13 +7,6 @@
 
 inherit autotools texinfo update-alternatives gettext
 
-# diffutils assumes non-glibc compilation with uclibc and
-# this causes it to generate its own implementations of
-# standard functionality.  regex.c actually breaks compilation
-# because it uses __mempcpy, there are other things (TBD:
-# see diffutils.mk in buildroot)
-EXTRA_OECONF_libc-uclibc = "--without-included-regex"
-
 ALTERNATIVE_${PN} = "diff cmp"
 ALTERNATIVE_PRIORITY = "100"
 
diff --git a/import-layers/yocto-poky/meta/recipes-extended/diffutils/diffutils_3.5.bb b/import-layers/yocto-poky/meta/recipes-extended/diffutils/diffutils_3.5.bb
deleted file mode 100644
index 243584b..0000000
--- a/import-layers/yocto-poky/meta/recipes-extended/diffutils/diffutils_3.5.bb
+++ /dev/null
@@ -1,40 +0,0 @@
-LICENSE = "GPLv3+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
-
-require diffutils.inc
-
-SRC_URI = "${GNU_MIRROR}/diffutils/diffutils-${PV}.tar.xz \
-           file://0001-Unset-need_charset_alias-when-building-for-musl.patch \
-           file://run-ptest \
-"
-
-EXTRA_OECONF += "--without-libsigsegv-prefix"
-
-# Fix "Argument list too long" error when len(TMPDIR) = 410
-acpaths = "-I ./m4"
-
-do_configure_prepend () {
-	# Need to remove gettext macros with weird mix of versions
-	for i in codeset.m4 gettext_gl.m4 intlmacosx.m4 inttypes-pri.m4 lib-ld_gl.m4 lib-prefix_gl.m4 po_gl.m4 ssize_t.m4 wchar_t.m4 wint_t.m4; do
-		rm -f ${S}/m4/$i
-	done
-}
-
-SRC_URI[md5sum] = "569354697ff1cfc9a9de3781361015fa"
-SRC_URI[sha256sum] = "dad398ccd5b9faca6b0ab219a036453f62a602a56203ac659b43e889bec35533"
-
-inherit ptest
-
-do_install_ptest() {
-	t=${D}${PTEST_PATH}
-	install -D ${S}/build-aux/test-driver $t/build-aux/test-driver
-	cp -r ${S}/tests $t/
-	install ${B}/tests/Makefile $t/tests/
-	sed -e 's|^Makefile:|_Makefile:|' \
-	    -e 's|bash|sh|' \
-	    -e 's|^top_srcdir = \(.*\)|top_srcdir = ..\/|' \
-	    -e 's|^srcdir = \(.*\)|srcdir = .|' \
-	    -e 's|"`$(built_programs)`"|diff|' \
-	    -e 's|gawk|awk|g' \
-	    -i $t/tests/Makefile
-}
diff --git a/import-layers/yocto-poky/meta/recipes-extended/diffutils/diffutils_3.6.bb b/import-layers/yocto-poky/meta/recipes-extended/diffutils/diffutils_3.6.bb
new file mode 100644
index 0000000..deadd62
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-extended/diffutils/diffutils_3.6.bb
@@ -0,0 +1,39 @@
+LICENSE = "GPLv3+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
+
+require diffutils.inc
+
+SRC_URI = "${GNU_MIRROR}/diffutils/diffutils-${PV}.tar.xz \
+           file://0001-Unset-need_charset_alias-when-building-for-musl.patch \
+           file://run-ptest \
+"
+SRC_URI_append_libc-glibc = " file://0001-explicitly-disable-replacing-getopt.patch"
+
+SRC_URI[md5sum] = "07cf286672ced26fba54cd0313bdc071"
+SRC_URI[sha256sum] = "d621e8bdd4b573918c8145f7ae61817d1be9deb4c8d2328a65cea8e11d783bd6"
+
+EXTRA_OECONF += "ac_cv_path_PR_PROGRAM=${bindir}/pr --without-libsigsegv-prefix"
+
+# Fix "Argument list too long" error when len(TMPDIR) = 410
+acpaths = "-I ./m4"
+
+inherit ptest
+
+do_install_ptest() {
+	t=${D}${PTEST_PATH}
+	install -D ${S}/build-aux/test-driver $t/build-aux/test-driver
+	cp -r ${S}/tests $t/
+	install ${B}/tests/Makefile $t/tests/
+	sed -e 's,--sysroot=${STAGING_DIR_TARGET},,g' \
+	    -e 's|${DEBUG_PREFIX_MAP}||g' \
+	    -e 's:${HOSTTOOLS_DIR}/::g' \
+	    -e 's:${RECIPE_SYSROOT_NATIVE}::g' \
+	    -e 's:${BASE_WORKDIR}/${MULTIMACH_TARGET_SYS}::g' \
+	    -e 's|^Makefile:|_Makefile:|' \
+	    -e 's|bash|sh|' \
+	    -e 's|^top_srcdir = \(.*\)|top_srcdir = ..\/|' \
+	    -e 's|^srcdir = \(.*\)|srcdir = .|' \
+	    -e 's|"`$(built_programs)`"|diff|' \
+	    -e 's|gawk|awk|g' \
+	    -i $t/tests/Makefile
+}
diff --git a/import-layers/yocto-poky/meta/recipes-extended/ed/ed_1.14.1.bb b/import-layers/yocto-poky/meta/recipes-extended/ed/ed_1.14.2.bb
similarity index 79%
rename from import-layers/yocto-poky/meta/recipes-extended/ed/ed_1.14.1.bb
rename to import-layers/yocto-poky/meta/recipes-extended/ed/ed_1.14.2.bb
index 7e6bde4..87d03b1 100644
--- a/import-layers/yocto-poky/meta/recipes-extended/ed/ed_1.14.1.bb
+++ b/import-layers/yocto-poky/meta/recipes-extended/ed/ed_1.14.2.bb
@@ -12,11 +12,11 @@
 bindir = "${base_bindir}"
 
 # Upstream regularly removes previous releases from https://ftp.gnu.org/gnu/ed/
-SRC_URI = "http://downloads.yoctoproject.org/mirror/sources/${BP}.tar.lz"
+SRC_URI = "${GNU_MIRROR}/ed/${BP}.tar.lz"
 UPSTREAM_CHECK_URI = "${GNU_MIRROR}/ed/"
 
-SRC_URI[md5sum] = "7f4a54fa7f366479f03654b8af645fd0"
-SRC_URI[sha256sum] = "ffb97eb8f2a2b5a71a9b97e3872adce953aa1b8958e04c5b7bf11d556f32552a"
+SRC_URI[md5sum] = "273d04778b2a51f7c3cbfcd2001876bf"
+SRC_URI[sha256sum] = "f57962ba930d70d02fc71d6be5c5f2346b16992a455ab9c43be7061dec9810db"
 
 EXTRA_OEMAKE = "-e MAKEFLAGS="
 
diff --git a/import-layers/yocto-poky/meta/recipes-extended/ethtool/ethtool_4.8.bb b/import-layers/yocto-poky/meta/recipes-extended/ethtool/ethtool_4.11.bb
similarity index 80%
rename from import-layers/yocto-poky/meta/recipes-extended/ethtool/ethtool_4.8.bb
rename to import-layers/yocto-poky/meta/recipes-extended/ethtool/ethtool_4.11.bb
index afaf2e2..befe9b9 100644
--- a/import-layers/yocto-poky/meta/recipes-extended/ethtool/ethtool_4.8.bb
+++ b/import-layers/yocto-poky/meta/recipes-extended/ethtool/ethtool_4.11.bb
@@ -6,13 +6,13 @@
 LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
                     file://ethtool.c;beginline=4;endline=17;md5=c19b30548c582577fc6b443626fc1216"
 
-SRC_URI = "https://downloads.yoctoproject.org/mirror/sources/ethtool-${PV}.tar.gz \
+SRC_URI = "${KERNELORG_MIRROR}/software/network/ethtool/ethtool-${PV}.tar.gz \
            file://run-ptest \
            file://avoid_parallel_tests.patch \
            "
 
-SRC_URI[md5sum] = "28c4a4d85c33f573c49ff6d81ec094fd"
-SRC_URI[sha256sum] = "1bd82ebe3d41de1b7b0d8f4fb18a8e8466fba934c952bc5c5002836ffa8bb606"
+SRC_URI[md5sum] = "8f1072679888c9335e49b17efb798b4c"
+SRC_URI[sha256sum] = "af2fd9692f3159d3ab1e41e6f9b7d8db2a4693f1cb22348c88ba89f70f0e6503"
 
 inherit autotools ptest
 RDEPENDS_${PN}-ptest += "make"
diff --git a/import-layers/yocto-poky/meta/recipes-extended/findutils/findutils.inc b/import-layers/yocto-poky/meta/recipes-extended/findutils/findutils.inc
index bfedf87..ad36429 100644
--- a/import-layers/yocto-poky/meta/recipes-extended/findutils/findutils.inc
+++ b/import-layers/yocto-poky/meta/recipes-extended/findutils/findutils.inc
@@ -13,11 +13,4 @@
 ALTERNATIVE_${PN} = "find xargs"
 ALTERNATIVE_PRIORITY = "100"
 
-# diffutils assumes non-glibc compilation with uclibc and
-# this causes it to generate its own implementations of
-# standard functionality.  regex.c actually breaks compilation
-# because it uses __mempcpy, there are other things (TBD:
-# see diffutils.mk in buildroot)
-EXTRA_OECONF_libc-uclibc = "--without-included-regex"
-
 BBCLASSEXTEND = "native nativesdk"
diff --git a/import-layers/yocto-poky/meta/recipes-extended/foomatic/foomatic-filters_4.0.17.bb b/import-layers/yocto-poky/meta/recipes-extended/foomatic/foomatic-filters_4.0.17.bb
index 3f439e7..742c9a5 100644
--- a/import-layers/yocto-poky/meta/recipes-extended/foomatic/foomatic-filters_4.0.17.bb
+++ b/import-layers/yocto-poky/meta/recipes-extended/foomatic/foomatic-filters_4.0.17.bb
@@ -1,4 +1,5 @@
 SUMMARY = "OpenPrinting printer support - filters"
+HOMEPAGE = "https://wiki.linuxfoundation.org/openprinting/start"
 DESCRIPTION = "Foomatic is a printer database designed to make it easier to set up \
 common printers for use with UNIX-like operating systems.\
 It provides the "glue" between a print spooler (like CUPS or lpr) and \
diff --git a/import-layers/yocto-poky/meta/recipes-extended/gawk/gawk_4.1.4.bb b/import-layers/yocto-poky/meta/recipes-extended/gawk/gawk_4.1.4.bb
index dda38ef..995d37d 100644
--- a/import-layers/yocto-poky/meta/recipes-extended/gawk/gawk_4.1.4.bb
+++ b/import-layers/yocto-poky/meta/recipes-extended/gawk/gawk_4.1.4.bb
@@ -41,9 +41,9 @@
 
 do_install_ptest() {
 	mkdir ${D}${PTEST_PATH}/test
-	for i in `grep -vE "@|^$|#|Gt-dummy" ${S}/test/Maketests |awk -F: '{print $1}'` Maketests; \
+	for i in `grep -vE "@|^$|#|Gt-dummy" ${S}/test/Maketests |awk -F: '{print $1}'` Maketests inclib.awk; \
 	  do cp ${S}/test/$i* ${D}${PTEST_PATH}/test; \
 	done
 }
 
-BBCLASSEXTEND = "nativesdk"
+BBCLASSEXTEND = "native nativesdk"
diff --git a/import-layers/yocto-poky/meta/recipes-extended/ghostscript/ghostscript/CVE-2016-10219.patch b/import-layers/yocto-poky/meta/recipes-extended/ghostscript/ghostscript/CVE-2016-10219.patch
deleted file mode 100644
index 574abe0..0000000
--- a/import-layers/yocto-poky/meta/recipes-extended/ghostscript/ghostscript/CVE-2016-10219.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-From 4bef1a1d32e29b68855616020dbff574b9cda08f Mon Sep 17 00:00:00 2001
-From: Robin Watts <Robin.Watts@artifex.com>
-Date: Thu, 29 Dec 2016 15:57:43 +0000
-Subject: [PATCH] Bug 697453: Avoid divide by 0 in scan conversion code.
-
-Arithmetic overflow due to extreme values in the scan conversion
-code can cause a division by 0.
-
-Avoid this with a simple extra check.
-
-  dx_old=cf814d81
-  endp->x_next=b0e859b9
-  alp->x_next=8069a73a
-
-leads to dx_den = 0
-
-Upstream-Status: Backport
-CVE: CVE-2016-10219
-
-Signed-off-by: Catalin Enache <catalin.enache@windriver.com>
----
- base/gxfill.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/base/gxfill.c b/base/gxfill.c
-index 99196c0..2f81bb0 100644
---- a/base/gxfill.c
-+++ b/base/gxfill.c
-@@ -1741,7 +1741,7 @@ intersect(active_line *endp, active_line *alp, fixed y, fixed y1, fixed *p_y_new
-     fixed dx_old = alp->x_current - endp->x_current;
-     fixed dx_den = dx_old + endp->x_next - alp->x_next;
- 
--    if (dx_den <= dx_old)
-+    if (dx_den <= dx_old || dx_den == 0)
-         return false; /* Intersection isn't possible. */
-     dy = y1 - y;
-     if_debug3('F', "[F]cross: dy=%g, dx_old=%g, dx_new=%g\n",
-@@ -1750,7 +1750,7 @@ intersect(active_line *endp, active_line *alp, fixed y, fixed y1, fixed *p_y_new
-     /* Do the computation in single precision */
-     /* if the values are small enough. */
-     y_new =
--        ((dy | dx_old) < 1L << (size_of(fixed) * 4 - 1) ?
-+        (((ufixed)(dy | dx_old)) < (1L << (size_of(fixed) * 4 - 1)) ?
-          dy * dx_old / dx_den :
-          (INCR_EXPR(mq_cross), fixed_mult_quo(dy, dx_old, dx_den)))
-         + y;
--- 
-2.10.2
-
diff --git a/import-layers/yocto-poky/meta/recipes-extended/ghostscript/ghostscript/CVE-2016-10220.patch b/import-layers/yocto-poky/meta/recipes-extended/ghostscript/ghostscript/CVE-2016-10220.patch
deleted file mode 100644
index 5e1e8ba..0000000
--- a/import-layers/yocto-poky/meta/recipes-extended/ghostscript/ghostscript/CVE-2016-10220.patch
+++ /dev/null
@@ -1,55 +0,0 @@
-From daf85701dab05f17e924a48a81edc9195b4a04e8 Mon Sep 17 00:00:00 2001
-From: Ken Sharp <ken.sharp@artifex.com>
-Date: Wed, 21 Dec 2016 16:54:14 +0000
-Subject: [PATCH] fix crash with bad data supplied to makeimagedevice
-
-Bug #697450 "Null pointer dereference in gx_device_finalize()"
-
-The problem here is that the code to finalise a device unconditionally
-frees the icc_struct member of the device structure. However this
-particular (weird) device is not setup as a normal device, probably
-because its very, very ancient. Its possible for the initialisation
-of the device to abort with an error before calling gs_make_mem_device()
-which is where the icc_struct member gets allocated (or set to NULL).
-
-If that happens, then the cleanup code tries to free the device, which
-calls finalize() which tries to free a garbage pointer.
-
-Setting the device memory to 0x00 after we allocate it means that the
-icc_struct member will be NULL< and our memory manager allows for that
-happily enough, which avoids the problem.
-
-Upstream-Status: Backport
-CVE: CVE-2016-10220
-
-Signed-off-by: Catalin Enache <catalin.enache@windriver.com>
----
- base/gsdevmem.c | 12 ++++++++++++
- 1 file changed, 12 insertions(+)
-
-diff --git a/base/gsdevmem.c b/base/gsdevmem.c
-index 97b9cf4..fe75bcc 100644
---- a/base/gsdevmem.c
-+++ b/base/gsdevmem.c
-@@ -225,6 +225,18 @@ gs_makewordimagedevice(gx_device ** pnew_dev, const gs_matrix * pmat,
- 
-     if (pnew == 0)
-         return_error(gs_error_VMerror);
-+
-+    /* Bug #697450 "Null pointer dereference in gx_device_finalize()"
-+     * If we have incorrect data passed to gs_initialise_wordimagedevice() then the
-+     * initialisation will fail, crucially it will fail *before* it calls
-+     * gs_make_mem_device() which initialises the device. This means that the
-+     * icc_struct member will be uninitialsed, but the device finalise method
-+     * will unconditionally free that memory. Since its a garbage pointer, bad things happen.
-+     * Apparently we do still need makeimagedevice to be available from
-+     * PostScript, so in here just zero the device memory, which means that
-+     * the finalise routine won't have a problem.
-+     */
-+    memset(pnew, 0x00, st_device_memory.ssize);
-     code = gs_initialize_wordimagedevice(pnew, pmat, width, height,
-                                          colors, num_colors, word_oriented,
-                                          page_device, mem);
--- 
-2.10.2
-
diff --git a/import-layers/yocto-poky/meta/recipes-extended/ghostscript/ghostscript/CVE-2016-7978.patch b/import-layers/yocto-poky/meta/recipes-extended/ghostscript/ghostscript/CVE-2016-7978.patch
deleted file mode 100644
index 668f205..0000000
--- a/import-layers/yocto-poky/meta/recipes-extended/ghostscript/ghostscript/CVE-2016-7978.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 6f749c0c44e7b9e09737b9f29edf29925a34f0cf Mon Sep 17 00:00:00 2001
-From: Chris Liddell <chris.liddell@artifex.com>
-Date: Wed, 5 Oct 2016 09:59:25 +0100
-Subject: [PATCH] Bug 697179: Reference count device icc profile
-
-when copying a device
-
-Upstream-Status: Backport
-CVE: CVE-2016-7978
-
-Signed-off-by: Catalin Enache <catalin.enache@windriver.com>
----
- base/gsdevice.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/base/gsdevice.c b/base/gsdevice.c
-index 778106f..aea986a 100644
---- a/base/gsdevice.c
-+++ b/base/gsdevice.c
-@@ -614,6 +614,7 @@ gx_device_init(gx_device * dev, const gx_device * proto, gs_memory_t * mem,
-     dev->memory = mem;
-     dev->retained = !internal;
-     rc_init(dev, mem, (internal ? 0 : 1));
-+    rc_increment(dev->icc_struct);
- }
- 
- void
--- 
-2.10.2
-
diff --git a/import-layers/yocto-poky/meta/recipes-extended/ghostscript/ghostscript/CVE-2016-7979.patch b/import-layers/yocto-poky/meta/recipes-extended/ghostscript/ghostscript/CVE-2016-7979.patch
deleted file mode 100644
index 9e930d3..0000000
--- a/import-layers/yocto-poky/meta/recipes-extended/ghostscript/ghostscript/CVE-2016-7979.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-From 875a0095f37626a721c7ff57d606a0f95af03913 Mon Sep 17 00:00:00 2001
-From: Ken Sharp <ken.sharp@artifex.com>
-Date: Wed, 5 Oct 2016 10:10:58 +0100
-Subject: [PATCH] DSC parser - validate parameters
-
-Bug #697190 ".initialize_dsc_parser doesn't validate the parameter is a dict type before using it."
-
-Regardless of any security implications, its simply wrong for a PostScript
-operator not to validate its parameter(s).
-
-No differences expected.
-
-Upstream-Status: Backport
-CVE: CVE-2016-7979
-
-Signed-off-by: Catalin Enache <catalin.enache@windriver.com>
----
- psi/zdscpars.c | 13 +++++++++----
- 1 file changed, 9 insertions(+), 4 deletions(-)
-
-diff --git a/psi/zdscpars.c b/psi/zdscpars.c
-index c05e154..9b4b605 100644
---- a/psi/zdscpars.c
-+++ b/psi/zdscpars.c
-@@ -150,11 +150,16 @@ zinitialize_dsc_parser(i_ctx_t *i_ctx_p)
-     ref local_ref;
-     int code;
-     os_ptr const op = osp;
--    dict * const pdict = op->value.pdict;
--    gs_memory_t * const mem = (gs_memory_t *)dict_memory(pdict);
--    dsc_data_t * const data =
--        gs_alloc_struct(mem, dsc_data_t, &st_dsc_data_t, "DSC parser init");
-+    dict *pdict;
-+    gs_memory_t *mem;
-+    dsc_data_t *data;
- 
-+    check_read_type(*op, t_dictionary);
-+
-+    pdict = op->value.pdict;
-+    mem = (gs_memory_t *)dict_memory(pdict);
-+
-+    data = gs_alloc_struct(mem, dsc_data_t, &st_dsc_data_t, "DSC parser init");
-     if (!data)
-         return_error(gs_error_VMerror);
-     data->document_level = 0;
--- 
-2.10.2
-
diff --git a/import-layers/yocto-poky/meta/recipes-extended/ghostscript/ghostscript/CVE-2016-8602.patch b/import-layers/yocto-poky/meta/recipes-extended/ghostscript/ghostscript/CVE-2016-8602.patch
deleted file mode 100644
index e58567c..0000000
--- a/import-layers/yocto-poky/meta/recipes-extended/ghostscript/ghostscript/CVE-2016-8602.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-From f5c7555c30393e64ec1f5ab0dfae5b55b3b3fc78 Mon Sep 17 00:00:00 2001
-From: Chris Liddell <chris.liddell@artifex.com>
-Date: Sat, 8 Oct 2016 16:10:27 +0100
-Subject: [PATCH] Bug 697203: check for sufficient params in .sethalftone5
-
-and param types
-
-Upstream-Status: Backport
-CVE: CVE-2016-8602
-
-Signed-off-by: Catalin Enache <catalin.enache@windriver.com>
----
- psi/zht2.c | 12 ++++++++++--
- 1 file changed, 10 insertions(+), 2 deletions(-)
-
-diff --git a/psi/zht2.c b/psi/zht2.c
-index fb4a264..dfa27a4 100644
---- a/psi/zht2.c
-+++ b/psi/zht2.c
-@@ -82,14 +82,22 @@ zsethalftone5(i_ctx_t *i_ctx_p)
-     gs_memory_t *mem;
-     uint edepth = ref_stack_count(&e_stack);
-     int npop = 2;
--    int dict_enum = dict_first(op);
-+    int dict_enum;
-     ref rvalue[2];
-     int cname, colorant_number;
-     byte * pname;
-     uint name_size;
-     int halftonetype, type = 0;
-     gs_gstate *pgs = igs;
--    int space_index = r_space_index(op - 1);
-+    int space_index;
-+
-+    if (ref_stack_count(&o_stack) < 2)
-+        return_error(gs_error_stackunderflow);
-+    check_type(*op, t_dictionary);
-+    check_type(*(op - 1), t_dictionary);
-+
-+    dict_enum = dict_first(op);
-+    space_index = r_space_index(op - 1);
- 
-     mem = (gs_memory_t *) idmemory->spaces_indexed[space_index];
- 
--- 
-2.10.2
-
diff --git a/import-layers/yocto-poky/meta/recipes-extended/ghostscript/ghostscript/CVE-2017-7975.patch b/import-layers/yocto-poky/meta/recipes-extended/ghostscript/ghostscript/CVE-2017-7975.patch
index d0886c9..e406086 100644
--- a/import-layers/yocto-poky/meta/recipes-extended/ghostscript/ghostscript/CVE-2017-7975.patch
+++ b/import-layers/yocto-poky/meta/recipes-extended/ghostscript/ghostscript/CVE-2017-7975.patch
@@ -1,6 +1,7 @@
-From 5e57e483298dae8b8d4ec9aab37a526736ac2e97 Mon Sep 17 00:00:00 2001
-From: Shailesh Mistry <shailesh.mistry@hotmail.co.uk>
-Date: Wed, 26 Apr 2017 22:12:14 +0100
+From b39be1019b4acc1aa50c6026463c543332e95a31 Mon Sep 17 00:00:00 2001
+From: Catalin Enache <catalin.enache@windriver.com>
+Date: Mon, 8 May 2017 16:18:14 +0300
+
 Subject: [PATCH] Bug 697693: Prevent SEGV due to integer overflow.
 
 While building a Huffman table, the start and end points were susceptible
@@ -12,15 +13,17 @@
 CVE: CVE-2017-7975
 
 Signed-off-by: Catalin Enache <catalin.enache@windriver.com>
----
- jbig2dec/jbig2_huffman.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
 
-diff --git a/jbig2dec/jbig2_huffman.c b/jbig2dec/jbig2_huffman.c
-index 511e461..b4189a1 100644
+Contents of this patch were extracted from a larger patch which addressed
+two CVE's.  The context (location of {) was also modified to apply to
+ghostscript 9.21.
+
+Signed-off-by: Joe Slater <joe.slater@windriver.com>
+
+
 --- a/jbig2dec/jbig2_huffman.c
 +++ b/jbig2dec/jbig2_huffman.c
-@@ -421,8 +421,8 @@ jbig2_build_huffman_table(Jbig2Ctx *ctx, const Jbig2HuffmanParams *params)
+@@ -421,8 +421,8 @@ jbig2_build_huffman_table(Jbig2Ctx *ctx,
  
              if (PREFLEN == CURLEN) {
                  int RANGELEN = lines[CURTEMP].RANGELEN;
@@ -31,6 +34,4 @@
                  byte eflags = 0;
  
                  if (end_j > max_j) {
--- 
-2.10.2
 
diff --git a/import-layers/yocto-poky/meta/recipes-extended/ghostscript/ghostscript/avoid-host-contamination.patch b/import-layers/yocto-poky/meta/recipes-extended/ghostscript/ghostscript/avoid-host-contamination.patch
new file mode 100644
index 0000000..c4794e7
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-extended/ghostscript/ghostscript/avoid-host-contamination.patch
@@ -0,0 +1,19 @@
+Remove hardcode path refer to host to avoid host contamination.
+
+Upstream-Status: Inappropriate [embedded specific]
+
+Signed-off-by: Kai Kang <kai.kang@windriver.com>
+---
+diff --git a/devices/devs.mak b/devices/devs.mak
+index 3070d2e..df663f0 100644
+--- a/devices/devs.mak
++++ b/devices/devs.mak
+@@ -546,7 +546,7 @@ $(DEVOBJ)gdevxalt.$(OBJ) : $(DEVSRC)gdevxalt.c $(GDEVX) $(math__h) $(memory__h)\
+ ### NON PORTABLE, ONLY UNIX WITH GCC SUPPORT
+ 
+ $(DEVOBJ)X11.so : $(x11alt_) $(x11_) $(DEVS_MAK) $(MAKEDIRS)
+-	$(CCLD) $(LDFLAGS) -shared -o $(DEVOBJ)X11.so $(x11alt_) $(x11_) -L/usr/X11R6/lib -lXt -lSM -lICE -lXext -lX11 $(XLIBDIRS)
++	$(CCLD) $(LDFLAGS) -shared -o $(DEVOBJ)X11.so $(x11alt_) $(x11_) -lXt -lSM -lICE -lXext -lX11 $(XLIBDIRS)
+ 
+ ###### --------------- Memory-buffered printer devices --------------- ######
+ 
diff --git a/import-layers/yocto-poky/meta/recipes-extended/ghostscript/ghostscript/ghostscript-9.15-parallel-make.patch b/import-layers/yocto-poky/meta/recipes-extended/ghostscript/ghostscript/ghostscript-9.15-parallel-make.patch
index 8fa2c40..3ec3956 100644
--- a/import-layers/yocto-poky/meta/recipes-extended/ghostscript/ghostscript/ghostscript-9.15-parallel-make.patch
+++ b/import-layers/yocto-poky/meta/recipes-extended/ghostscript/ghostscript/ghostscript-9.15-parallel-make.patch
@@ -10,6 +10,7 @@
 2015 00:40:22 -0800  Subject: [PATCH] contrib.mak: fix for parallel build
 
 Signed-off-by: Huang Qiyu <huangqy.fnst@cn.fujitsu.com>
+Upstream-Status: Pending
 ---
  contrib/contrib.mak | 2 ++
  1 file changed, 2 insertions(+)
diff --git a/import-layers/yocto-poky/meta/recipes-extended/ghostscript/ghostscript/ghostscript-native-fix-disable-system-libtiff.patch b/import-layers/yocto-poky/meta/recipes-extended/ghostscript/ghostscript/ghostscript-9.21-native-fix-disable-system-libtiff.patch
similarity index 67%
rename from import-layers/yocto-poky/meta/recipes-extended/ghostscript/ghostscript/ghostscript-native-fix-disable-system-libtiff.patch
rename to import-layers/yocto-poky/meta/recipes-extended/ghostscript/ghostscript/ghostscript-9.21-native-fix-disable-system-libtiff.patch
index 9158117..bff3e61 100644
--- a/import-layers/yocto-poky/meta/recipes-extended/ghostscript/ghostscript/ghostscript-native-fix-disable-system-libtiff.patch
+++ b/import-layers/yocto-poky/meta/recipes-extended/ghostscript/ghostscript/ghostscript-9.21-native-fix-disable-system-libtiff.patch
@@ -5,23 +5,26 @@
 disabled.
 
 Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
-Upstream-Status: Pending
----
- configure.ac | 5 +++++
- 1 file changed, 5 insertions(+)
 
-diff --git a/configure.ac b/configure.ac
+Updated to apply to ghostscript 9.21.
+
+Signed-off-by: Joe Slater <joe.slater@windriver.com>
+
+Upstream-Status: Pending
+
+
+
 --- a/configure.ac
 +++ b/configure.ac
-@@ -1055,6 +1055,7 @@ Disabling tiff output devices.])
+@@ -1259,6 +1259,7 @@ case "x$with_system_libtiff" in
  esac
  
- if test $SHARE_LIBTIFF -eq 0; then
+ if test x"$SHARE_LIBTIFF" = x"0" ; then
 +    if test -e $LIBTIFFDIR/configure; then
-       echo
        echo "Running libtiff configure script..."
        olddir=`pwd`
-@@ -1069,6 +1070,10 @@ if test $SHARE_LIBTIFF -eq 0; then
+       if ! test -d "$LIBTIFFCONFDIR" ; then
+@@ -1272,6 +1273,10 @@ if test x"$SHARE_LIBTIFF" = x"0" ; then
        cd "$olddir"
        echo
        echo "Continuing with Ghostscript configuration..."
@@ -32,6 +35,3 @@
  fi
  
  AC_SUBST(SHARE_LIBTIFF)
--- 
-1.8.1.2
-
diff --git a/import-layers/yocto-poky/meta/recipes-extended/ghostscript/ghostscript/ghostscript-9.02-prevent_recompiling.patch b/import-layers/yocto-poky/meta/recipes-extended/ghostscript/ghostscript/ghostscript-9.21-prevent_recompiling.patch
similarity index 81%
rename from import-layers/yocto-poky/meta/recipes-extended/ghostscript/ghostscript/ghostscript-9.02-prevent_recompiling.patch
rename to import-layers/yocto-poky/meta/recipes-extended/ghostscript/ghostscript/ghostscript-9.21-prevent_recompiling.patch
index e709195..f2c6d04 100644
--- a/import-layers/yocto-poky/meta/recipes-extended/ghostscript/ghostscript/ghostscript-9.02-prevent_recompiling.patch
+++ b/import-layers/yocto-poky/meta/recipes-extended/ghostscript/ghostscript/ghostscript-9.21-prevent_recompiling.patch
@@ -9,15 +9,13 @@
 
 Rebase to 9.19
 Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- base/unix-aux.mak | 64 +++++++++++++++++++++++++++----------------------------
- 1 file changed, 32 insertions(+), 32 deletions(-)
 
-diff --git a/base/unix-aux.mak b/base/unix-aux.mak
-index 0110667..e2eb1a1 100644
+Rebase to 9.21
+Signed-off-by: Joe Slater <joe.slater@windriver.com>
+
 --- a/base/unix-aux.mak
 +++ b/base/unix-aux.mak
-@@ -71,44 +71,44 @@ $(GLOBJ)gp_sysv.$(OBJ): $(GLSRC)gp_sysv.c $(stdio__h) $(time__h) $(AK)\
+@@ -66,45 +66,45 @@ $(GLOBJ)gp_sysv.$(OBJ): $(GLSRC)gp_sysv.
  
  # -------------------------- Auxiliary programs --------------------------- #
  
@@ -61,14 +59,14 @@
 - $(AUX)gp_stdia.$(OBJ) $(AUX)gsutil.$(OBJ) $(AUX)memento.$(OBJ)
 -
 -$(MKROMFS_XE)_0: $(GLSRC)mkromfs.c $(MKROMFS_COMMON_DEPS) $(MKROMFS_OBJS_0) $(UNIX_AUX_MAK) $(MAKEDIRS)
--	$(CCAUX_) $(GENOPT) $(CFLAGS) $(I_)$(GLSRCDIR)$(_I) $(I_)$(GLOBJ)$(_I) $(I_)$(ZSRCDIR)$(_I) $(GLSRC)mkromfs.c $(O_)$(MKROMFS_XE)_0 $(MKROMFS_OBJS_0) $(AUXEXTRALIBS)
+-	$(CCAUX_) $(GENOPTAUX) $(I_)$(GLSRCDIR)$(_I) $(I_)$(GLOBJ)$(_I) $(I_)$(ZSRCDIR)$(_I) $(GLSRC)mkromfs.c $(O_)$(MKROMFS_XE)_0 $(MKROMFS_OBJS_0) $(AUXEXTRALIBS)
 -
 +#MKROMFS_OBJS_0=$(MKROMFS_ZLIB_OBJS) $(AUX)gpmisc.$(OBJ) $(AUX)gp_getnv.$(OBJ) \
 +# $(AUX)gscdefs.$(OBJ) $(AUX)gp_unix.$(OBJ) $(AUX)gp_unifs.$(OBJ) $(AUX)gp_unifn.$(OBJ) \
 +# $(AUX)gp_stdia.$(OBJ) $(AUX)gsutil.$(OBJ) $(AUX)memento.$(OBJ)
 +#
 +#$(MKROMFS_XE)_0: $(GLSRC)mkromfs.c $(MKROMFS_COMMON_DEPS) $(MKROMFS_OBJS_0) $(UNIX_AUX_MAK) $(MAKEDIRS)
-+#	$(CCAUX_) $(GENOPT) $(CFLAGS) $(I_)$(GLSRCDIR)$(_I) $(I_)$(GLOBJ)$(_I) $(I_)$(ZSRCDIR)$(_I) $(GLSRC)mkromfs.c $(O_)$(MKROMFS_XE)_0 $(MKROMFS_OBJS_0) $(AUXEXTRALIBS)
++#	$(CCAUX_) $(GENOPTAUX) $(I_)$(GLSRCDIR)$(_I) $(I_)$(GLOBJ)$(_I) $(I_)$(ZSRCDIR)$(_I) $(GLSRC)mkromfs.c $(O_)$(MKROMFS_XE)_0 $(MKROMFS_OBJS_0) $(AUXEXTRALIBS)
 +#
  # .... and one using the zlib library linked via the command line
 -MKROMFS_OBJS_1=$(AUX)gscdefs.$(OBJ) \
@@ -77,23 +75,22 @@
 - $(AUX)gp_stdia.$(OBJ) $(AUX)gsutil.$(OBJ)
 -
 -$(MKROMFS_XE)_1: $(GLSRC)mkromfs.c $(MKROMFS_COMMON_DEPS) $(MKROMFS_OBJS_1) $(UNIX_AUX_MAK) $(MAKEDIRS)
--	$(CCAUX_) $(GENOPT) $(CFLAGS) $(I_)$(GLSRCDIR)$(_I) $(I_)$(GLOBJ)$(_I) $(I_)$(ZSRCDIR)$(_I) $(GLSRC)mkromfs.c $(O_)$(MKROMFS_XE)_1 $(MKROMFS_OBJS_1) $(AUXEXTRALIBS)
+-	$(CCAUX_) $(GENOPTAUX) $(I_)$(GLSRCDIR)$(_I) $(I_)$(GLOBJ)$(_I) $(I_)$(ZSRCDIR)$(_I) $(GLSRC)mkromfs.c $(O_)$(MKROMFS_XE)_1 $(MKROMFS_OBJS_1) $(AUXEXTRALIBS)
 -
 -$(MKROMFS_XE): $(MKROMFS_XE)_$(SHARE_ZLIB) $(UNIX_AUX_MAK) $(MAKEDIRS)
 -	$(CP_) $(MKROMFS_XE)_$(SHARE_ZLIB) $(MKROMFS_XE)
+-
 +#MKROMFS_OBJS_1=$(AUX)gscdefs.$(OBJ) \
 +# $(AUX)gpmisc.$(OBJ) $(AUX)gp_getnv.$(OBJ) \
 +# $(AUX)gp_unix.$(OBJ) $(AUX)gp_unifs.$(OBJ) $(AUX)gp_unifn.$(OBJ) \
 +# $(AUX)gp_stdia.$(OBJ) $(AUX)gsutil.$(OBJ)
 +#
 +#$(MKROMFS_XE)_1: $(GLSRC)mkromfs.c $(MKROMFS_COMMON_DEPS) $(MKROMFS_OBJS_1) $(UNIX_AUX_MAK) $(MAKEDIRS)
-+#	$(CCAUX_) $(GENOPT) $(CFLAGS) $(I_)$(GLSRCDIR)$(_I) $(I_)$(GLOBJ)$(_I) $(I_)$(ZSRCDIR)$(_I) $(GLSRC)mkromfs.c $(O_)$(MKROMFS_XE)_1 $(MKROMFS_OBJS_1) $(AUXEXTRALIBS)
++#	$(CCAUX_) $(GENOPTAUX) $(I_)$(GLSRCDIR)$(_I) $(I_)$(GLOBJ)$(_I) $(I_)$(ZSRCDIR)$(_I) $(GLSRC)mkromfs.c $(O_)$(MKROMFS_XE)_1 $(MKROMFS_OBJS_1) $(AUXEXTRALIBS)
 +#
 +#$(MKROMFS_XE): $(MKROMFS_XE)_$(SHARE_ZLIB) $(UNIX_AUX_MAK) $(MAKEDIRS)
 +#	$(CP_) $(MKROMFS_XE)_$(SHARE_ZLIB) $(MKROMFS_XE)
- 
++#
  # Query the environment to construct gconfig_.h.
  # These are all defined conditionally (except the JasPER one), so that
--- 
-2.8.1
-
+ # they can be overridden by settings from the configure script.
diff --git a/import-layers/yocto-poky/meta/recipes-extended/ghostscript/ghostscript/mkdir-p.patch b/import-layers/yocto-poky/meta/recipes-extended/ghostscript/ghostscript/mkdir-p.patch
new file mode 100644
index 0000000..5a7eab1
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-extended/ghostscript/ghostscript/mkdir-p.patch
@@ -0,0 +1,36 @@
+ghostscript: allow directories to be created more than once
+
+When doing parallel builds, we might try to create directories
+more than once.  This should not cause an error.
+
+Upstream-Status: Pending
+
+Signed-off-by: Joe Slater <joe.slater@windriver.com>
+
+
+--- a/base/unix-end.mak
++++ b/base/unix-end.mak
+@@ -17,15 +17,14 @@
+ UNIX_END_MAK=$(GLSRC)unix-end.mak $(TOP_MAKEFILES)
+ # Define the rule for building standard configurations.
+ directories: $(UNIX_END_MAK)
+-	@if test "$(BINDIR)"    != "" -a ! -d $(BINDIR);        then mkdir $(BINDIR);        fi
+-	@if test "$(GLGENDIR)"  != "" -a ! -d $(GLGENDIR);      then mkdir $(GLGENDIR);      fi
+-	@if test "$(GLOBJDIR)"  != "" -a ! -d $(GLOBJDIR);      then mkdir $(GLOBJDIR);      fi
+-	@if test "$(DEVGENDIR)" != "" -a ! -d $(DEVGENDIR);     then mkdir $(DEVGENDIR);     fi
+-	@if test "$(DEVOBJDIR)" != "" -a ! -d $(DEVOBJDIR);     then mkdir $(DEVOBJDIR);     fi
+-	@if test "$(AUXDIR)"    != "" -a ! -d $(AUXDIR);        then mkdir $(AUXDIR);        fi
+-	@if test "$(PSGENDIR)"  != "" -a ! -d $(PSGENDIR);      then mkdir $(PSGENDIR);      fi
+-	@if test "$(PSGENDIR)"  != "" -a ! -d $(PSGENDIR)/cups; then mkdir $(PSGENDIR)/cups; fi
+-	@if test "$(PSOBJDIR)"  != "" -a ! -d $(PSOBJDIR);      then mkdir $(PSOBJDIR);      fi
++	@if test "$(BINDIR)"    != "" -a ! -d $(BINDIR);        then mkdir -p $(BINDIR);        fi
++	@if test "$(GLGENDIR)"  != "" -a ! -d $(GLGENDIR);      then mkdir -p $(GLGENDIR);      fi
++	@if test "$(GLOBJDIR)"  != "" -a ! -d $(GLOBJDIR);      then mkdir -p $(GLOBJDIR);      fi
++	@if test "$(DEVGENDIR)" != "" -a ! -d $(DEVGENDIR);     then mkdir -p $(DEVGENDIR);     fi
++	@if test "$(DEVOBJDIR)" != "" -a ! -d $(DEVOBJDIR);     then mkdir -p $(DEVOBJDIR);     fi
++	@if test "$(AUXDIR)"    != "" -a ! -d $(AUXDIR);        then mkdir -p $(AUXDIR);        fi
++	@if test "$(PSGENDIR)"  != "" -a ! -d $(PSGENDIR)/cups; then mkdir -p $(PSGENDIR)/cups; fi
++	@if test "$(PSOBJDIR)"  != "" -a ! -d $(PSOBJDIR);      then mkdir -p $(PSOBJDIR);      fi
+ 
+ 
+ gs: .gssubtarget $(UNIX_END_MAK)
diff --git a/import-layers/yocto-poky/meta/recipes-extended/ghostscript/ghostscript/png_mak.patch b/import-layers/yocto-poky/meta/recipes-extended/ghostscript/ghostscript/png_mak.patch
deleted file mode 100644
index 8b84986..0000000
--- a/import-layers/yocto-poky/meta/recipes-extended/ghostscript/ghostscript/png_mak.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-ghostscript: add dependency for pnglibconf.h
-
-When using parallel make jobs, we need to be sure that
-pnglibconf.h is created before we try to reference it,
-so add a rule to png.mak.
-
-Upstream-Status: Pending
-
-Signed-off-by: Joe Slater <jslater@windriver.com>
-
-Rebase to 9.19
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- base/png.mak | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/base/png.mak b/base/png.mak
-index fe5c6e2..8abb53a 100644
---- a/base/png.mak
-+++ b/base/png.mak
-@@ -74,6 +74,8 @@ png.clean-not-config-clean :
- 
- pnglibconf_h=$(PNGGENDIR)$(D)pnglibconf.h
- 
-+$(MAKEDIRS) : $(pnglibconf_h)
-+
- png.config-clean :
- 	$(RM_) $(pnglibconf_h)
- 	$(RM_) $(PNGGEN)lpg*.dev
--- 
-2.8.1
-
diff --git a/import-layers/yocto-poky/meta/recipes-extended/ghostscript/ghostscript_9.20.bb b/import-layers/yocto-poky/meta/recipes-extended/ghostscript/ghostscript_9.21.bb
similarity index 77%
rename from import-layers/yocto-poky/meta/recipes-extended/ghostscript/ghostscript_9.20.bb
rename to import-layers/yocto-poky/meta/recipes-extended/ghostscript/ghostscript_9.21.bb
index e1d9700..bf985c4 100644
--- a/import-layers/yocto-poky/meta/recipes-extended/ghostscript/ghostscript_9.20.bb
+++ b/import-layers/yocto-poky/meta/recipes-extended/ghostscript/ghostscript_9.21.bb
@@ -19,27 +19,23 @@
 UPSTREAM_CHECK_URI = "https://github.com/ArtifexSoftware/ghostpdl-downloads/releases"
 UPSTREAM_CHECK_REGEX = "(?P<pver>\d+(\.\d+)+)\.tar"
 
-SRC_URI_BASE = "https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs920/${BPN}-${PV}.tar.gz \
+SRC_URI_BASE = "https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs921/${BPN}-${PV}.tar.gz \
                 file://ghostscript-9.15-parallel-make.patch \
                 file://ghostscript-9.16-Werror-return-type.patch \
-                file://png_mak.patch \
                 file://do-not-check-local-libpng-source.patch \
+                file://avoid-host-contamination.patch \
+                file://mkdir-p.patch \
 "
 
 SRC_URI = "${SRC_URI_BASE} \
-           file://ghostscript-9.02-prevent_recompiling.patch \
+           file://ghostscript-9.21-prevent_recompiling.patch \
            file://ghostscript-9.02-genarch.patch \
            file://objarch.h \
            file://cups-no-gcrypt.patch \
-           file://CVE-2017-7207.patch \
-           file://CVE-2016-10219.patch \
-           file://CVE-2016-10220.patch \
-           file://CVE-2017-5951.patch \
-           file://CVE-2016-8602.patch \
-           file://CVE-2017-7975.patch \
            file://CVE-2016-7977.patch \
-           file://CVE-2016-7978.patch \
-           file://CVE-2016-7979.patch \
+           file://CVE-2017-7207.patch \
+           file://CVE-2017-5951.patch \
+           file://CVE-2017-7975.patch \
            file://CVE-2017-9216.patch \
            file://CVE-2017-9611.patch \
            file://CVE-2017-9612.patch \
@@ -51,17 +47,32 @@
            "
 
 SRC_URI_class-native = "${SRC_URI_BASE} \
-                        file://ghostscript-native-fix-disable-system-libtiff.patch \
+                        file://ghostscript-9.21-native-fix-disable-system-libtiff.patch \
                         file://base-genht.c-add-a-preprocessor-define-to-allow-fope.patch \
                         "
 
-SRC_URI[md5sum] = "93c5987cd3ab341108be1ebbaadc24fe"
-SRC_URI[sha256sum] = "949b64b46ecf8906db54a94ecf83ab97534ebf946f770d3c3f283cb469cb6e14"
+SRC_URI[md5sum] = "5f213281761d2750fcf27476c404d17f"
+SRC_URI[sha256sum] = "02bceadbc4dddeb6f2eec9c8b1623d945d355ca11b8b4df035332b217d58ce85"
 
-EXTRA_OECONF = "--without-x --with-system-libtiff --without-jbig2dec \
+# Put something like
+#
+#   PACKAGECONFIG_append_pn-ghostscript = " x11"
+#
+# in local.conf to enable building with X11.  Be careful.  The order
+# of the overrides matters!
+#
+#PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', '', d)}"
+PACKAGECONFIG_class-native = ""
+
+PACKAGECONFIG[x11] = "--with-x --x-includes=${STAGING_INCDIR} --x-libraries=${STAGING_LIBDIR}, \
+                      --without-x, virtual/libx11 libxext libxt gtk+3\
+                      "
+
+EXTRA_OECONF = "--with-system-libtiff --without-jbig2dec \
                 --with-fontpath=${datadir}/fonts \
                 --without-libidn --with-cups-serverbin=${exec_prefix}/lib/cups \
                 --with-cups-datadir=${datadir}/cups \
+                CUPSCONFIG="${STAGING_BINDIR_CROSS}/cups-config" \
                 "
 
 EXTRA_OECONF_append_mipsarcho32 = " --with-large_color_index=0"
@@ -121,3 +132,6 @@
 }
 
 BBCLASSEXTEND = "native"
+
+# ghostscript does not supports "arc"
+COMPATIBLE_HOST = "^(?!arc).*"
diff --git a/import-layers/yocto-poky/meta/recipes-extended/go-examples/files/helloworld.go b/import-layers/yocto-poky/meta/recipes-extended/go-examples/files/helloworld.go
deleted file mode 100644
index 0253c40..0000000
--- a/import-layers/yocto-poky/meta/recipes-extended/go-examples/files/helloworld.go
+++ /dev/null
@@ -1,10 +0,0 @@
-// You can edit this code!
-// Click here and start typing.
-// taken from https://golang.org/
-package main
-
-import "fmt"
-
-func main() {
-	fmt.Println("Hello, 世界")
-}
diff --git a/import-layers/yocto-poky/meta/recipes-extended/go-examples/go-examples.inc b/import-layers/yocto-poky/meta/recipes-extended/go-examples/go-examples.inc
deleted file mode 100644
index c632681..0000000
--- a/import-layers/yocto-poky/meta/recipes-extended/go-examples/go-examples.inc
+++ /dev/null
@@ -1,10 +0,0 @@
-DESCRIPTION = "This is a simple example recipe that cross-compiles a Go program."
-SECTION = "examples"
-HOMEPAGE = "https://golang.org/"
-
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
-
-S = "${WORKDIR}"
-
-inherit go
diff --git a/import-layers/yocto-poky/meta/recipes-extended/go-examples/go-helloworld_0.1.bb b/import-layers/yocto-poky/meta/recipes-extended/go-examples/go-helloworld_0.1.bb
index 930c57d..222fc9d 100644
--- a/import-layers/yocto-poky/meta/recipes-extended/go-examples/go-helloworld_0.1.bb
+++ b/import-layers/yocto-poky/meta/recipes-extended/go-examples/go-helloworld_0.1.bb
@@ -1,13 +1,19 @@
-require go-examples.inc
+DESCRIPTION = "This is a simple example recipe that cross-compiles a Go program."
+SECTION = "examples"
+HOMEPAGE = "https://golang.org/"
 
-SRC_URI += " \
-  file://helloworld.go \
-"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
 
-do_compile() {
-	go build helloworld.go
-}
+SRC_URI = "git://${GO_IMPORT}"
+SRCREV = "46695d81d1fae905a270fb7db8a4d11a334562fe"
 
-do_install() {
-	install -D -m 0755 ${S}/helloworld ${D}${bindir}/helloworld
+GO_IMPORT = "github.com/golang/example"
+GO_INSTALL = "${GO_IMPORT}/hello"
+
+inherit go
+
+# This is just to make clear where this example is
+do_install_append() {
+    mv ${D}${bindir}/hello ${D}${bindir}/${BPN}
 }
diff --git a/import-layers/yocto-poky/meta/recipes-extended/gperf/gperf_3.0.4.bb b/import-layers/yocto-poky/meta/recipes-extended/gperf/gperf_3.0.4.bb
deleted file mode 100644
index 64003fc..0000000
--- a/import-layers/yocto-poky/meta/recipes-extended/gperf/gperf_3.0.4.bb
+++ /dev/null
@@ -1,5 +0,0 @@
-require gperf.inc
-
-
-SRC_URI[md5sum] = "c1f1db32fb6598d6a93e6e88796a8632"
-SRC_URI[sha256sum] = "767112a204407e62dbc3106647cf839ed544f3cf5d0f0523aaa2508623aad63e"
diff --git a/import-layers/yocto-poky/meta/recipes-extended/gperf/gperf_3.1.bb b/import-layers/yocto-poky/meta/recipes-extended/gperf/gperf_3.1.bb
new file mode 100644
index 0000000..942820b
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-extended/gperf/gperf_3.1.bb
@@ -0,0 +1,5 @@
+require gperf.inc
+
+
+SRC_URI[md5sum] = "9e251c0a618ad0824b51117d5d9db87e"
+SRC_URI[sha256sum] = "588546b945bba4b70b6a3a616e80b4ab466e3f33024a352fc2198112cdbb3ae2"
diff --git a/import-layers/yocto-poky/meta/recipes-extended/grep/grep_3.0.bb b/import-layers/yocto-poky/meta/recipes-extended/grep/grep_3.1.bb
similarity index 89%
rename from import-layers/yocto-poky/meta/recipes-extended/grep/grep_3.0.bb
rename to import-layers/yocto-poky/meta/recipes-extended/grep/grep_3.1.bb
index b2940d5..05b6b93 100644
--- a/import-layers/yocto-poky/meta/recipes-extended/grep/grep_3.0.bb
+++ b/import-layers/yocto-poky/meta/recipes-extended/grep/grep_3.1.bb
@@ -9,8 +9,8 @@
            file://0001-Unset-need_charset_alias-when-building-for-musl.patch \
           "
 
-SRC_URI[md5sum] = "fa07c1616adeb9c3262be5177d10ad4a"
-SRC_URI[sha256sum] = "e2c81db5056e3e8c5995f0bb5d0d0e1cad1f6f45c3b2fc77b6e81435aed48ab5"
+SRC_URI[md5sum] = "feca7b3e7c7f4aab2b42ecbfc513b070"
+SRC_URI[sha256sum] = "db625c7ab3bb3ee757b3926a5cfa8d9e1c3991ad24707a83dde8a5ef2bf7a07e"
 
 inherit autotools gettext texinfo pkgconfig
 
diff --git a/import-layers/yocto-poky/meta/recipes-extended/gzip/files/0001-gzip-port-zdiff-zless-to-Busybox.patch b/import-layers/yocto-poky/meta/recipes-extended/gzip/files/0001-gzip-port-zdiff-zless-to-Busybox.patch
new file mode 100644
index 0000000..20d5a19
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-extended/gzip/files/0001-gzip-port-zdiff-zless-to-Busybox.patch
@@ -0,0 +1,59 @@
+From 5f712621829ed81a758077431226a86df37fbc3b Mon Sep 17 00:00:00 2001
+From: Denys Zagorui <denys.zagorui@globallogic.com>
+Date: Thu, 8 Jun 2017 16:05:50 +0300
+Subject: [PATCH] gzip: port zdiff, zless to Busybox
+
+Problem reported by Denys Zagorui (Bug#26088).
+* tests/zdiff: Check that diff uses POSIX-format output.
+* zless.in (less_version): Don't exit merely because 'less -V'
+fails; instead, assume 'less' is compatible with an old version of
+the original 'less'.  Busybox 'less -V' fails, but apparently its
+'less' works anyway somehow.
+
+Signed-off-by: Denys Zagorui <denys.zagorui@globallogic.com>
+
+Upstream-Status: Accepted
+---
+ tests/zdiff | 4 +++-
+ zless.in    | 2 +-
+ 2 files changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/tests/zdiff b/tests/zdiff
+index 0bb7c7d..9cd4fd4 100755
+--- a/tests/zdiff
++++ b/tests/zdiff
+@@ -22,7 +22,6 @@
+ 
+ echo a > a || framework_failure_
+ echo b > b || framework_failure_
+-gzip a b || framework_failure_
+ 
+ cat <<EOF > exp
+ 1c1
+@@ -31,7 +30,10 @@ cat <<EOF > exp
+ > b
+ EOF
+ 
++diff a b | diff exp - || skip_ "diff output format is incompatible with POSIX"
++
+ fail=0
++gzip a b || fail=1
+ zdiff a.gz b.gz > out 2>&1
+ test $? = 1 || fail=1
+ 
+diff --git a/zless.in b/zless.in
+index e634af6..9759ae6 100644
+--- a/zless.in
++++ b/zless.in
+@@ -47,7 +47,7 @@ if test "${LESSMETACHARS+set}" != set; then
+   export LESSMETACHARS
+ fi
+ 
+-less_version=`less -V` || exit
++less_version=`less -V 2>/dev/null`
+ case $less_version in
+ less' '45[1-9]* | \
+ less' '4[6-9][0-9]* | \
+-- 
+1.9.1
+
diff --git a/import-layers/yocto-poky/meta/recipes-extended/gzip/files/run-ptest b/import-layers/yocto-poky/meta/recipes-extended/gzip/files/run-ptest
new file mode 100644
index 0000000..cf7c649
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-extended/gzip/files/run-ptest
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+cd src/tests
+
+make check
+
diff --git a/import-layers/yocto-poky/meta/recipes-extended/gzip/gzip_1.8.bb b/import-layers/yocto-poky/meta/recipes-extended/gzip/gzip_1.8.bb
index 11be846..d093207 100644
--- a/import-layers/yocto-poky/meta/recipes-extended/gzip/gzip_1.8.bb
+++ b/import-layers/yocto-poky/meta/recipes-extended/gzip/gzip_1.8.bb
@@ -2,7 +2,9 @@
 
 LICENSE = "GPLv3+"
 
-SRC_URI = "${GNU_MIRROR}/gzip/${BP}.tar.gz"
+SRC_URI = "${GNU_MIRROR}/gzip/${BP}.tar.gz \
+            file://0001-gzip-port-zdiff-zless-to-Busybox.patch \
+            file://run-ptest"
 SRC_URI_append_class-target = " file://wrong-path-fix.patch"
 
 LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \
@@ -12,6 +14,26 @@
 
 BBCLASSEXTEND = "native"
 
+inherit ptest
+
+do_install_ptest() {
+	mkdir -p ${D}${PTEST_PATH}/src/build-aux
+	cp ${S}/build-aux/test-driver ${D}${PTEST_PATH}/src/build-aux/
+	mkdir -p ${D}${PTEST_PATH}/src/tests
+	cp -r ${S}/tests/* ${D}${PTEST_PATH}/src/tests
+	sed -e 's/^abs_srcdir = ..*/abs_srcdir = \.\./' \
+            -e 's/^top_srcdir = ..*/top_srcdir = \.\./' \
+            -e 's/^GREP = ..*/GREP = grep/'             \
+            -e 's/^AWK = ..*/AWK = awk/'                \
+            -e 's/^srcdir = ..*/srcdir = \./'           \
+            -e 's/^Makefile: ..*/Makefile: /'           \
+            -e 's,--sysroot=${STAGING_DIR_TARGET},,g'   \
+            -e 's|${DEBUG_PREFIX_MAP}||g' \
+            -e 's:${HOSTTOOLS_DIR}/::g'                 \
+            -e 's:${BASE_WORKDIR}/${MULTIMACH_TARGET_SYS}::g' \
+            ${B}/tests/Makefile > ${D}${PTEST_PATH}/src/tests/Makefile
+}
+
 SRC_URI[md5sum] = "732553152814b22dc35aa0267df5286c"
 SRC_URI[sha256sum] = "1ff7aedb3d66a0d73f442f6261e4b3860df6fd6c94025c2cb31a202c9c60fe0e"
 
diff --git a/import-layers/yocto-poky/meta/recipes-extended/hdparm/hdparm_9.51.bb b/import-layers/yocto-poky/meta/recipes-extended/hdparm/hdparm_9.52.bb
similarity index 80%
rename from import-layers/yocto-poky/meta/recipes-extended/hdparm/hdparm_9.51.bb
rename to import-layers/yocto-poky/meta/recipes-extended/hdparm/hdparm_9.52.bb
index fa00927..49fdc94 100644
--- a/import-layers/yocto-poky/meta/recipes-extended/hdparm/hdparm_9.51.bb
+++ b/import-layers/yocto-poky/meta/recipes-extended/hdparm/hdparm_9.52.bb
@@ -1,4 +1,5 @@
 SUMMARY = "Utility for viewing/manipulating IDE disk drive/driver parameters"
+HOMEPAGE = "http://sourceforge.net/projects/hdparm/"
 DESCRIPTION = "hdparm is a Linux shell utility for viewing \
 and manipulating various IDE drive and driver parameters."
 SECTION = "console/utils"
@@ -8,7 +9,7 @@
 LICENSE_${PN}-dbg = "BSD"
 LICENSE_wiper = "GPLv2"
 
-LIC_FILES_CHKSUM = "file://LICENSE.TXT;md5=910a8a42c962d238619c75fdb78bdb24 \
+LIC_FILES_CHKSUM = "file://LICENSE.TXT;md5=495d03e50dc6c89d6a30107ab0df5b03 \
                     file://debian/copyright;md5=a82d7ba3ade9e8ec902749db98c592f3 \
                     file://wiper/GPLv2.txt;md5=fcb02dc552a041dee27e4b85c7396067 \
                     file://wiper/wiper.sh;beginline=7;endline=31;md5=b7bc642addc152ea307505bf1a296f09"
@@ -22,8 +23,8 @@
 
 SRC_URI = "${SOURCEFORGE_MIRROR}/hdparm/${BP}.tar.gz"
 
-SRC_URI[md5sum] = "8fe0a71db02f7ffc602d14a69f766cff"
-SRC_URI[sha256sum] = "1afad8891ecbe644c283f7d725157660ebf8bd5b4d9d67232afd45f83d2d5d91"
+SRC_URI[md5sum] = "410539d0bf3cc247181594581edbfb53"
+SRC_URI[sha256sum] = "c3429cd423e271fa565bf584598fd751dd2e773bb7199a592b06b5a61cec4fb6"
 
 EXTRA_OEMAKE = 'STRIP="echo" LDFLAGS="${LDFLAGS}"'
 
diff --git a/import-layers/yocto-poky/meta/recipes-extended/iputils/files/arping-fix-arping-hang-if-SIGALRM-is-blocked.patch b/import-layers/yocto-poky/meta/recipes-extended/iputils/files/arping-fix-arping-hang-if-SIGALRM-is-blocked.patch
new file mode 100644
index 0000000..7b56276
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-extended/iputils/files/arping-fix-arping-hang-if-SIGALRM-is-blocked.patch
@@ -0,0 +1,44 @@
+arping: fix arping hang if SIGALRM is blocked
+
+Unblock SIGALRM so that the previously called alarm() can prevent
+recvfrom() from blocking forever in case the inherited procmask is
+blocking SIGALRM and no packet is received.
+
+Upstream-Status: Backport
+
+Reported-by: Rui Prior <rprior@dcc.fc.up.pt>
+RH-Bugzilla: #1085971
+Signed-off-by: Jan Synacek <jsynacek@redhat.com>
+Signed-off-by: Zhenbo Gao <zhenbo.gao@windriver.com>
+
+diff --git a/arping.c.orig b/arping.c
+index 35408c1..2098159 100644
+--- a/arping.c.orig
++++ b/arping.c
+@@ -1215,16 +1215,22 @@ main(int argc, char **argv)
+ 		socklen_t alen = sizeof(from);
+ 		int cc;
+ 
++		sigemptyset(&sset);
++		sigaddset(&sset, SIGALRM);
++		sigaddset(&sset, SIGINT);
++		/* Unblock SIGALRM so that the previously called alarm()
++		 * can prevent recvfrom from blocking forever in case the
++		 * inherited procmask is blocking SIGALRM and no packet
++		 * is received. */
++		sigprocmask(SIG_UNBLOCK, &sset, &osset);
++
+ 		if ((cc = recvfrom(s, packet, sizeof(packet), 0,
+ 				   (struct sockaddr *)&from, &alen)) < 0) {
+ 			perror("arping: recvfrom");
+ 			continue;
+ 		}
+ 
+-		sigemptyset(&sset);
+-		sigaddset(&sset, SIGALRM);
+-		sigaddset(&sset, SIGINT);
+-		sigprocmask(SIG_BLOCK, &sset, &osset);
++		sigprocmask(SIG_BLOCK, &sset, NULL);
+ 		recv_pack(packet, cc, (struct sockaddr_ll *)&from);
+ 		sigprocmask(SIG_SETMASK, &osset, NULL);
+ 	}
diff --git a/import-layers/yocto-poky/meta/recipes-extended/iputils/iputils_s20151218.bb b/import-layers/yocto-poky/meta/recipes-extended/iputils/iputils_s20151218.bb
index 0d4dd1b..46de6fc 100644
--- a/import-layers/yocto-poky/meta/recipes-extended/iputils/iputils_s20151218.bb
+++ b/import-layers/yocto-poky/meta/recipes-extended/iputils/iputils_s20151218.bb
@@ -20,6 +20,7 @@
            file://nsgmls-path-fix.patch \
            file://0001-Fix-header-inclusion-for-musl.patch \
            file://0001-Intialize-struct-elements-by-name.patch \
+           file://arping-fix-arping-hang-if-SIGALRM-is-blocked.patch \
           "
 
 SRC_URI[md5sum] = "8aaa7395f27dff9f57ae016d4bc753ce"
diff --git a/import-layers/yocto-poky/meta/recipes-extended/libarchive/files/0001-archive_write_disk_posix.c-make-_fsobj-functions-mor.patch b/import-layers/yocto-poky/meta/recipes-extended/libarchive/files/0001-archive_write_disk_posix.c-make-_fsobj-functions-mor.patch
deleted file mode 100644
index e911a7c..0000000
--- a/import-layers/yocto-poky/meta/recipes-extended/libarchive/files/0001-archive_write_disk_posix.c-make-_fsobj-functions-mor.patch
+++ /dev/null
@@ -1,245 +0,0 @@
-From 90881d24d3f6d5fb207e97df3b91bbea8598e84e Mon Sep 17 00:00:00 2001
-From: Martin Matuska <martin@matuska.org>
-Date: Tue, 29 Nov 2016 16:47:37 +0100
-Subject: [PATCH 1/2] archive_write_disk_posix.c: make *_fsobj functions more
- readable
-
-Upstream-Status: Backported
-
-Signed-off-by: Amarnath Valluri <amarnath.valluri@intel.com>
----
- libarchive/archive_write_disk_posix.c | 121 +++++++++++++++++-----------------
- 1 file changed, 61 insertions(+), 60 deletions(-)
-
-diff --git a/libarchive/archive_write_disk_posix.c b/libarchive/archive_write_disk_posix.c
-index 17c23b0..d786bc2 100644
---- a/libarchive/archive_write_disk_posix.c
-+++ b/libarchive/archive_write_disk_posix.c
-@@ -336,6 +336,8 @@ struct archive_write_disk {
- 
- #define HFS_BLOCKS(s)	((s) >> 12)
- 
-+static void	fsobj_error(int *, struct archive_string *, int, const char *,
-+		    const char *);
- static int	check_symlinks_fsobj(char *path, int *error_number, struct archive_string *error_string, int flags);
- static int	check_symlinks(struct archive_write_disk *);
- static int	create_filesystem_object(struct archive_write_disk *);
-@@ -2005,8 +2007,9 @@ restore_entry(struct archive_write_disk *a)
- 
- 	if (en) {
- 		/* Everything failed; give up here. */
--		archive_set_error(&a->archive, en, "Can't create '%s'",
--		    a->name);
-+		if ((&a->archive)->error == NULL)
-+			archive_set_error(&a->archive, en, "Can't create '%s'",
-+			    a->name);
- 		return (ARCHIVE_FAILED);
- 	}
- 
-@@ -2388,6 +2391,17 @@ current_fixup(struct archive_write_disk *a, const char *pathname)
- 	return (a->current_fixup);
- }
- 
-+/* Error helper for new *_fsobj functions */
-+static void
-+fsobj_error(int *a_eno, struct archive_string *a_estr,
-+    int err, const char *errstr, const char *path)
-+{
-+	if (a_eno)
-+		*a_eno = err;
-+	if (a_estr)
-+		archive_string_sprintf(a_estr, errstr, path);
-+}
-+
- /*
-  * TODO: Someday, integrate this with the deep dir support; they both
-  * scan the path and both can be optimized by comparing against other
-@@ -2400,7 +2414,7 @@ current_fixup(struct archive_write_disk *a, const char *pathname)
-  * ARCHIVE_OK if there are none, otherwise puts an error in errmsg.
-  */
- static int
--check_symlinks_fsobj(char *path, int *error_number, struct archive_string *error_string, int flags)
-+check_symlinks_fsobj(char *path, int *a_eno, struct archive_string *a_estr, int flags)
- {
- #if !defined(HAVE_LSTAT)
- 	/* Platform doesn't have lstat, so we can't look for symlinks. */
-@@ -2474,19 +2488,20 @@ check_symlinks_fsobj(char *path, int *error_number, struct archive_string *error
- 			if (errno == ENOENT) {
- 				break;
- 			} else {
--				/* Treat any other error as fatal - best to be paranoid here
--				 * Note: This effectively disables deep directory
--				 * support when security checks are enabled.
--				 * Otherwise, very long pathnames that trigger
--				 * an error here could evade the sandbox.
--				 * TODO: We could do better, but it would probably
--				 * require merging the symlink checks with the
--				 * deep-directory editing. */
--				if (error_number) *error_number = errno;
--				if (error_string)
--					archive_string_sprintf(error_string,
--							"Could not stat %s",
--							path);
-+				/*
-+				 * Treat any other error as fatal - best to be
-+				 * paranoid here.
-+				 * Note: This effectively disables deep
-+				 * directory support when security checks are
-+				 * enabled. Otherwise, very long pathnames that
-+				 * trigger an error here could evade the
-+				 * sandbox.
-+				 * TODO: We could do better, but it would
-+				 * probably require merging the symlink checks
-+				 * with the deep-directory editing.
-+				 */
-+				fsobj_error(a_eno, a_estr, errno,
-+				    "Could not stat %s", path);
- 				res = ARCHIVE_FAILED;
- 				break;
- 			}
-@@ -2494,11 +2509,8 @@ check_symlinks_fsobj(char *path, int *error_number, struct archive_string *error
- 			if (!last) {
- 				if (chdir(head) != 0) {
- 					tail[0] = c;
--					if (error_number) *error_number = errno;
--					if (error_string)
--						archive_string_sprintf(error_string,
--								"Could not chdir %s",
--								path);
-+					fsobj_error(a_eno, a_estr, errno,
-+					    "Could not chdir %s", path);
- 					res = (ARCHIVE_FATAL);
- 					break;
- 				}
-@@ -2514,11 +2526,9 @@ check_symlinks_fsobj(char *path, int *error_number, struct archive_string *error
- 				 */
- 				if (unlink(head)) {
- 					tail[0] = c;
--					if (error_number) *error_number = errno;
--					if (error_string)
--						archive_string_sprintf(error_string,
--								"Could not remove symlink %s",
--								path);
-+					fsobj_error(a_eno, a_estr, errno,
-+					    "Could not remove symlink %s",
-+					    path);
- 					res = ARCHIVE_FAILED;
- 					break;
- 				}
-@@ -2529,13 +2539,14 @@ check_symlinks_fsobj(char *path, int *error_number, struct archive_string *error
- 				 * symlink with another symlink.
- 				 */
- 				tail[0] = c;
--				/* FIXME:  not sure how important this is to restore
-+				/*
-+				 * FIXME:  not sure how important this is to
-+				 * restore
-+				 */
-+				/*
- 				if (!S_ISLNK(path)) {
--					if (error_number) *error_number = 0;
--					if (error_string)
--						archive_string_sprintf(error_string,
--								"Removing symlink %s",
--								path);
-+					fsobj_error(a_eno, a_estr, 0,
-+					    "Removing symlink %s", path);
- 				}
- 				*/
- 				/* Symlink gone.  No more problem! */
-@@ -2545,22 +2556,17 @@ check_symlinks_fsobj(char *path, int *error_number, struct archive_string *error
- 				/* User asked us to remove problems. */
- 				if (unlink(head) != 0) {
- 					tail[0] = c;
--					if (error_number) *error_number = 0;
--					if (error_string)
--						archive_string_sprintf(error_string,
--								"Cannot remove intervening symlink %s",
--								path);
-+					fsobj_error(a_eno, a_estr, 0,
-+					    "Cannot remove intervening "
-+					    "symlink %s", path);
- 					res = ARCHIVE_FAILED;
- 					break;
- 				}
- 				tail[0] = c;
- 			} else {
- 				tail[0] = c;
--				if (error_number) *error_number = 0;
--				if (error_string)
--					archive_string_sprintf(error_string,
--							"Cannot extract through symlink %s",
--							path);
-+				fsobj_error(a_eno, a_estr, 0,
-+				    "Cannot extract through symlink %s", path);
- 				res = ARCHIVE_FAILED;
- 				break;
- 			}
-@@ -2577,10 +2583,8 @@ check_symlinks_fsobj(char *path, int *error_number, struct archive_string *error
- 	if (restore_pwd >= 0) {
- 		r = fchdir(restore_pwd);
- 		if (r != 0) {
--			if(error_number) *error_number = errno;
--			if(error_string)
--				archive_string_sprintf(error_string,
--						"chdir() failure");
-+			fsobj_error(a_eno, a_estr, errno,
-+			    "chdir() failure", "");
- 		}
- 		close(restore_pwd);
- 		restore_pwd = -1;
-@@ -2688,17 +2692,16 @@ cleanup_pathname_win(struct archive_write_disk *a)
-  * is set) if the path is absolute.
-  */
- static int
--cleanup_pathname_fsobj(char *path, int *error_number, struct archive_string *error_string, int flags)
-+cleanup_pathname_fsobj(char *path, int *a_eno, struct archive_string *a_estr,
-+    int flags)
- {
- 	char *dest, *src;
- 	char separator = '\0';
- 
- 	dest = src = path;
- 	if (*src == '\0') {
--		if (error_number) *error_number = ARCHIVE_ERRNO_MISC;
--		if (error_string)
--		    archive_string_sprintf(error_string,
--			    "Invalid empty pathname");
-+		fsobj_error(a_eno, a_estr, ARCHIVE_ERRNO_MISC,
-+		    "Invalid empty ", "pathname");
- 		return (ARCHIVE_FAILED);
- 	}
- 
-@@ -2708,10 +2711,8 @@ cleanup_pathname_fsobj(char *path, int *error_number, struct archive_string *err
- 	/* Skip leading '/'. */
- 	if (*src == '/') {
- 		if (flags & ARCHIVE_EXTRACT_SECURE_NOABSOLUTEPATHS) {
--			if (error_number) *error_number = ARCHIVE_ERRNO_MISC;
--			if (error_string)
--			    archive_string_sprintf(error_string,
--				    "Path is absolute");
-+			fsobj_error(a_eno, a_estr, ARCHIVE_ERRNO_MISC,
-+			    "Path is ", "absolute");
- 			return (ARCHIVE_FAILED);
- 		}
- 
-@@ -2738,11 +2739,11 @@ cleanup_pathname_fsobj(char *path, int *error_number, struct archive_string *err
- 			} else if (src[1] == '.') {
- 				if (src[2] == '/' || src[2] == '\0') {
- 					/* Conditionally warn about '..' */
--					if (flags & ARCHIVE_EXTRACT_SECURE_NODOTDOT) {
--						if (error_number) *error_number = ARCHIVE_ERRNO_MISC;
--						if (error_string)
--						    archive_string_sprintf(error_string,
--							    "Path contains '..'");
-+					if (flags
-+					    & ARCHIVE_EXTRACT_SECURE_NODOTDOT) {
-+						fsobj_error(a_eno, a_estr,
-+						    ARCHIVE_ERRNO_MISC,
-+						    "Path contains ", "'..'");
- 						return (ARCHIVE_FAILED);
- 					}
- 				}
--- 
-2.7.4
-
diff --git a/import-layers/yocto-poky/meta/recipes-extended/libarchive/files/0002-Fix-extracting-hardlinks-over-symlinks.patch b/import-layers/yocto-poky/meta/recipes-extended/libarchive/files/0002-Fix-extracting-hardlinks-over-symlinks.patch
deleted file mode 100644
index 3741863..0000000
--- a/import-layers/yocto-poky/meta/recipes-extended/libarchive/files/0002-Fix-extracting-hardlinks-over-symlinks.patch
+++ /dev/null
@@ -1,120 +0,0 @@
-From ece28103885a079a129a23c5001252a1648517af Mon Sep 17 00:00:00 2001
-From: Martin Matuska <martin@matuska.org>
-Date: Tue, 29 Nov 2016 16:55:41 +0100
-Subject: [PATCH 2/2] Fix extracting hardlinks over symlinks
-
-Closes #821
-
-Upstream-Status: Backported
-
-Signed-off-by: Amarnath Valluri <amarnath.valluri@intel.com>
----
- libarchive/archive_write_disk_posix.c | 43 +++++++++++++++++++++++++++++++++++
- tar/test/test_symlink_dir.c           | 18 ++++++++++++++-
- 2 files changed, 60 insertions(+), 1 deletion(-)
-
-diff --git a/libarchive/archive_write_disk_posix.c b/libarchive/archive_write_disk_posix.c
-index d786bc2..80b03cd 100644
---- a/libarchive/archive_write_disk_posix.c
-+++ b/libarchive/archive_write_disk_posix.c
-@@ -2563,6 +2563,49 @@ check_symlinks_fsobj(char *path, int *a_eno, struct archive_string *a_estr, int
- 					break;
- 				}
- 				tail[0] = c;
-+			} else if ((flags &
-+			    ARCHIVE_EXTRACT_SECURE_SYMLINKS) == 0) {
-+				/*
-+				 * We are not the last element and we want to
-+				 * follow symlinks if they are a directory.
-+				 * 
-+				 * This is needed to extract hardlinks over
-+				 * symlinks.
-+				 */
-+				r = stat(head, &st);
-+				if (r != 0) {
-+					tail[0] = c;
-+					if (errno == ENOENT) {
-+						break;
-+					} else {
-+						fsobj_error(a_eno, a_estr,
-+						    errno,
-+						    "Could not stat %s", path);
-+						res = (ARCHIVE_FAILED);
-+						break;
-+					}
-+				} else if (S_ISDIR(st.st_mode)) {
-+					if (chdir(head) != 0) {
-+						tail[0] = c;
-+						fsobj_error(a_eno, a_estr,
-+						    errno,
-+						    "Could not chdir %s", path);
-+						res = (ARCHIVE_FATAL);
-+						break;
-+					}
-+					/*
-+					 * Our view is now from inside
-+					 * this dir:
-+					 */
-+					head = tail + 1;
-+				} else {
-+					tail[0] = c;
-+					fsobj_error(a_eno, a_estr, 0,
-+					    "Cannot extract through "
-+					    "symlink %s", path);
-+					res = ARCHIVE_FAILED;
-+					break;
-+				}
- 			} else {
- 				tail[0] = c;
- 				fsobj_error(a_eno, a_estr, 0,
-diff --git a/tar/test/test_symlink_dir.c b/tar/test/test_symlink_dir.c
-index 25bd8b1..852e00b 100644
---- a/tar/test/test_symlink_dir.c
-+++ b/tar/test/test_symlink_dir.c
-@@ -47,11 +47,18 @@ DEFINE_TEST(test_symlink_dir)
- 	assertMakeDir("source/dir3", 0755);
- 	assertMakeDir("source/dir3/d3", 0755);
- 	assertMakeFile("source/dir3/f3", 0755, "abcde");
-+	assertMakeDir("source/dir4", 0755);
-+	assertMakeFile("source/dir4/file3", 0755, "abcdef");
-+	assertMakeHardlink("source/dir4/file4", "source/dir4/file3");
- 
- 	assertEqualInt(0,
- 	    systemf("%s -cf test.tar -C source dir dir2 dir3 file file2",
- 		testprog));
- 
-+	/* Second archive with hardlinks */
-+	assertEqualInt(0,
-+	    systemf("%s -cf test2.tar -C source dir4", testprog));
-+
- 	/*
- 	 * Extract with -x and without -P.
- 	 */
-@@ -118,9 +125,15 @@ DEFINE_TEST(test_symlink_dir)
- 		assertMakeSymlink("dest2/file2", "real_file2");
- 	assertEqualInt(0, systemf("%s -xPf test.tar -C dest2", testprog));
- 
--	/* dest2/dir symlink should be followed */
-+	/* "dir4" is a symlink to existing "real_dir" */
-+	if (canSymlink())
-+		assertMakeSymlink("dest2/dir4", "real_dir");
-+	assertEqualInt(0, systemf("%s -xPf test2.tar -C dest2", testprog));
-+
-+	/* dest2/dir and dest2/dir4 symlinks should be followed */
- 	if (canSymlink()) {
- 		assertIsSymlink("dest2/dir", "real_dir");
-+		assertIsSymlink("dest2/dir4", "real_dir");
- 		assertIsDir("dest2/real_dir", -1);
- 	}
- 
-@@ -141,4 +154,7 @@ DEFINE_TEST(test_symlink_dir)
- 	/* dest2/file2 symlink should be removed */
- 	failure("Symlink to non-existing file should be removed");
- 	assertIsReg("dest2/file2", -1);
-+
-+	/* dest2/dir4/file3 and dest2/dir4/file4 should be hard links */
-+	assertIsHardlink("dest2/dir4/file3", "dest2/dir4/file4");
- }
--- 
-2.7.4
-
diff --git a/import-layers/yocto-poky/meta/recipes-extended/libarchive/libarchive/CVE-2017-14166.patch b/import-layers/yocto-poky/meta/recipes-extended/libarchive/libarchive/CVE-2017-14166.patch
new file mode 100644
index 0000000..e85fec4
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-extended/libarchive/libarchive/CVE-2017-14166.patch
@@ -0,0 +1,37 @@
+libarchive-3.3.2: Fix CVE-2017-14166
+
+[No upstream tracking] -- https://github.com/libarchive/libarchive/pull/935
+
+archive_read_support_format_xar: heap-based buffer overflow in xml_data
+
+Upstream-Status: Backport [https://github.com/libarchive/libarchive/commit/fa7438a0ff4033e4741c807394a9af6207940d71]
+CVE: CVE-2017-14166
+Bug: 935
+Signed-off-by: Andrej Valek <andrej.valek@siemens.com>
+
+diff --git a/libarchive/archive_read_support_format_xar.c b/libarchive/archive_read_support_format_xar.c
+index 7a22beb..93eeacc 100644
+--- a/libarchive/archive_read_support_format_xar.c
++++ b/libarchive/archive_read_support_format_xar.c
+@@ -1040,6 +1040,9 @@ atol10(const char *p, size_t char_cnt)
+ 	uint64_t l;
+ 	int digit;
+ 
++	if (char_cnt == 0)
++		return (0);
++
+ 	l = 0;
+ 	digit = *p - '0';
+ 	while (digit >= 0 && digit < 10  && char_cnt-- > 0) {
+@@ -1054,7 +1057,10 @@ atol8(const char *p, size_t char_cnt)
+ {
+ 	int64_t l;
+ 	int digit;
+-        
++
++	if (char_cnt == 0)
++		return (0);
++
+ 	l = 0;
+ 	while (char_cnt-- > 0) {
+ 		if (*p >= '0' && *p <= '7')
diff --git a/import-layers/yocto-poky/meta/recipes-extended/libarchive/libarchive/CVE-2017-14502.patch b/import-layers/yocto-poky/meta/recipes-extended/libarchive/libarchive/CVE-2017-14502.patch
new file mode 100644
index 0000000..72e1546
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-extended/libarchive/libarchive/CVE-2017-14502.patch
@@ -0,0 +1,37 @@
+From 5562545b5562f6d12a4ef991fae158bf4ccf92b6 Mon Sep 17 00:00:00 2001
+From: Joerg Sonnenberger <joerg@bec.de>
+Date: Sat, 9 Sep 2017 17:47:32 +0200
+Subject: [PATCH] Avoid a read off-by-one error for UTF16 names in RAR
+ archives.
+
+Reported-By: OSS-Fuzz issue 573
+
+CVE: CVE-2017-14502
+
+Upstream-Status: Backport
+
+Signed-off-by: Zhixiong Chi <zhixiong.chi@windriver.com>
+---
+ libarchive/archive_read_support_format_rar.c | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/libarchive/archive_read_support_format_rar.c b/libarchive/archive_read_support_format_rar.c
+index cbb14c3..751de69 100644
+--- a/libarchive/archive_read_support_format_rar.c
++++ b/libarchive/archive_read_support_format_rar.c
+@@ -1496,7 +1496,11 @@ read_header(struct archive_read *a, struct archive_entry *entry,
+         return (ARCHIVE_FATAL);
+       }
+       filename[filename_size++] = '\0';
+-      filename[filename_size++] = '\0';
++      /*
++       * Do not increment filename_size here as the computations below
++       * add the space for the terminating NUL explicitly.
++       */
++      filename[filename_size] = '\0';
+ 
+       /* Decoded unicode form is UTF-16BE, so we have to update a string
+        * conversion object for it. */
+-- 
+1.9.1
+
diff --git a/import-layers/yocto-poky/meta/recipes-extended/libarchive/libarchive/bug929.patch b/import-layers/yocto-poky/meta/recipes-extended/libarchive/libarchive/bug929.patch
new file mode 100644
index 0000000..2f3254c
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-extended/libarchive/libarchive/bug929.patch
@@ -0,0 +1,38 @@
+libarchive-3.3.2: Fix bug929
+
+[No upstream tracking] -- https://github.com/libarchive/libarchive/pull/929
+
+archive_read_support_format_cpio: header_newc(): Avoid overflow when reading corrupt
+cpio archive
+
+A cpio "newc" archive with a namelength of "FFFFFFFF", if read on a
+system with a 32-bit size_t, would result in namelength + name_pad
+overflowing 32 bits and libarchive attempting to copy 2^32-1 bytes
+from a 2-byte buffer, with appropriately hilarious results.
+
+Check for this overflow and fail; there's no legitimate reason for a
+cpio archive to contain a file with a name over 4 billion characters
+in length.
+
+Upstream-Status: Backport [https://github.com/libarchive/libarchive/commit/bac4659e0b970990e7e3f3a3d239294e96311630]
+Bug: 929
+Signed-off-by: Andrej Valek <andrej.valek@siemens.com>
+
+diff --git a/libarchive/archive_read_support_format_cpio.c b/libarchive/archive_read_support_format_cpio.c
+index ad9f782..1faa64d 100644
+--- a/libarchive/archive_read_support_format_cpio.c
++++ b/libarchive/archive_read_support_format_cpio.c
+@@ -633,6 +633,13 @@ header_newc(struct archive_read *a, struct cpio *cpio,
+ 	/* Pad name to 2 more than a multiple of 4. */
+ 	*name_pad = (2 - *namelength) & 3;
+ 
++	/* Make sure that the padded name length fits into size_t. */
++	if ((size_t)(*namelength + *name_pad) < *namelength) {
++		archive_set_error(&a->archive, ARCHIVE_ERRNO_FILE_FORMAT,
++		    "cpio archive has invalid namelength");
++		return (ARCHIVE_FATAL);
++	}
++
+ 	/*
+ 	 * Note: entry_bytes_remaining is at least 64 bits and
+ 	 * therefore guaranteed to be big enough for a 33-bit file
diff --git a/import-layers/yocto-poky/meta/recipes-extended/libarchive/files/non-recursive-extract-and-list.patch b/import-layers/yocto-poky/meta/recipes-extended/libarchive/libarchive/non-recursive-extract-and-list.patch
similarity index 85%
rename from import-layers/yocto-poky/meta/recipes-extended/libarchive/files/non-recursive-extract-and-list.patch
rename to import-layers/yocto-poky/meta/recipes-extended/libarchive/libarchive/non-recursive-extract-and-list.patch
index 61f8f3e..cd7be51 100644
--- a/import-layers/yocto-poky/meta/recipes-extended/libarchive/files/non-recursive-extract-and-list.patch
+++ b/import-layers/yocto-poky/meta/recipes-extended/libarchive/libarchive/non-recursive-extract-and-list.patch
@@ -1,7 +1,7 @@
-From d6271709d2deb980804f92e75f9b5cb600dc42ed Mon Sep 17 00:00:00 2001
+From 47f7566f6829c2b14e21bbbba699916de4998c72 Mon Sep 17 00:00:00 2001
 From: Patrick Ohly <patrick.ohly@intel.com>
 Date: Mon, 24 Oct 2016 12:54:48 +0200
-Subject: [PATCH 1/2] non-recursive extract and list
+Subject: [PATCH 1/1] non-recursive extract and list
 
 Sometimes it makes sense to extract or list a directory contained in
 an archive without also doing the same for the content of the
@@ -30,10 +30,10 @@
  4 files changed, 42 insertions(+), 5 deletions(-)
 
 diff --git a/libarchive/archive.h b/libarchive/archive.h
-index ff401e9..38d8746 100644
+index 32710201..59fb4aa6 100644
 --- a/libarchive/archive.h
 +++ b/libarchive/archive.h
-@@ -1085,6 +1085,8 @@ __LA_DECL int	archive_match_excluded(struct archive *,
+@@ -1093,6 +1093,8 @@ __LA_DECL int	archive_match_excluded(struct archive *,
   */
  __LA_DECL int	archive_match_path_excluded(struct archive *,
  		    struct archive_entry *);
@@ -43,7 +43,7 @@
  __LA_DECL int	archive_match_exclude_pattern(struct archive *, const char *);
  __LA_DECL int	archive_match_exclude_pattern_w(struct archive *,
 diff --git a/libarchive/archive_match.c b/libarchive/archive_match.c
-index 0719cbd..6d03a65 100644
+index be72066e..bb6a3407 100644
 --- a/libarchive/archive_match.c
 +++ b/libarchive/archive_match.c
 @@ -93,6 +93,9 @@ struct archive_match {
@@ -90,7 +90,7 @@
 +}
 +
 +/*
-  * Utilty functions to get statistic information for inclusion patterns.
+  * Utility functions to get statistic information for inclusion patterns.
   */
  int
 @@ -781,7 +807,9 @@ static int
@@ -105,12 +105,12 @@
  
  	if (mbs) {
 diff --git a/tar/bsdtar.1 b/tar/bsdtar.1
-index 9eadaaf..f5d6457 100644
+index 132e1145..1dd2a847 100644
 --- a/tar/bsdtar.1
 +++ b/tar/bsdtar.1
-@@ -346,8 +346,7 @@ In extract or list modes, this option is ignored.
- Do not extract modification time.
- By default, the modification time is set to the time stored in the archive.
+@@ -386,8 +386,7 @@ and the default behavior in c, r, and u modes or if
+ .Nm
+ is run in x mode as root.
  .It Fl n , Fl Fl norecurse , Fl Fl no-recursion
 -(c, r, u modes only)
 -Do not recursively archive the contents of directories.
@@ -119,19 +119,19 @@
  (c, r, u modes only)
  Only include files and directories newer than the specified date.
 diff --git a/tar/bsdtar.c b/tar/bsdtar.c
-index 93bf60a..001d5ed 100644
+index 11dedbf9..d014cc3e 100644
 --- a/tar/bsdtar.c
 +++ b/tar/bsdtar.c
-@@ -738,8 +738,6 @@ main(int argc, char **argv)
+@@ -794,8 +794,6 @@ main(int argc, char **argv)
  			break;
  		}
  	}
--	if (bsdtar->option_no_subdirs)
+-	if (bsdtar->flags & OPTFLAG_NO_SUBDIRS)
 -		only_mode(bsdtar, "-n", "cru");
- 	if (bsdtar->option_stdout)
+ 	if (bsdtar->flags & OPTFLAG_STDOUT)
  		only_mode(bsdtar, "-O", "xt");
- 	if (bsdtar->option_unlink_first)
-@@ -788,6 +786,16 @@ main(int argc, char **argv)
+ 	if (bsdtar->flags & OPTFLAG_UNLINK_FIRST)
+@@ -845,6 +843,16 @@ main(int argc, char **argv)
  		only_mode(bsdtar, buff, "cru");
  	}
  
@@ -143,11 +143,11 @@
 +	 * It is relevant for extraction or listing.
 +	 */
 +	archive_match_include_directories_recursively(bsdtar->matching,
-+						      !bsdtar->option_no_subdirs);
++						      !(bsdtar->flags & OPTFLAG_NO_SUBDIRS));
 +
  	/* Filename "-" implies stdio. */
  	if (strcmp(bsdtar->filename, "-") == 0)
  		bsdtar->filename = NULL;
 -- 
-2.1.4
+2.11.0
 
diff --git a/import-layers/yocto-poky/meta/recipes-extended/libarchive/libarchive_3.2.2.bb b/import-layers/yocto-poky/meta/recipes-extended/libarchive/libarchive_3.3.2.bb
similarity index 83%
rename from import-layers/yocto-poky/meta/recipes-extended/libarchive/libarchive_3.2.2.bb
rename to import-layers/yocto-poky/meta/recipes-extended/libarchive/libarchive_3.3.2.bb
index da959a2..5daca27 100644
--- a/import-layers/yocto-poky/meta/recipes-extended/libarchive/libarchive_3.2.2.bb
+++ b/import-layers/yocto-poky/meta/recipes-extended/libarchive/libarchive_3.3.2.bb
@@ -7,7 +7,7 @@
 
 DEPENDS = "e2fsprogs-native"
 
-PACKAGECONFIG ?= "zlib bz2"
+PACKAGECONFIG ?= "zlib bz2 xz lzo"
 
 PACKAGECONFIG_append_class-target = "\
 	libxml2 \
@@ -21,7 +21,7 @@
 PACKAGECONFIG[xattr] = "--enable-xattr,--disable-xattr,attr,"
 PACKAGECONFIG[zlib] = "--with-zlib,--without-zlib,zlib,"
 PACKAGECONFIG[bz2] = "--with-bz2lib,--without-bz2lib,${DEPENDS_BZIP2},"
-PACKAGECONFIG[xz] = "--with-lzmadec --with-lzma,--without-lzmadec --without-lzma,xz,"
+PACKAGECONFIG[xz] = "--with-lzma,--without-lzma,xz,"
 PACKAGECONFIG[openssl] = "--with-openssl,--without-openssl,openssl,"
 PACKAGECONFIG[libxml2] = "--with-xml2,--without-xml2,libxml2,"
 PACKAGECONFIG[expat] = "--with-expat,--without-expat,expat,"
@@ -32,13 +32,14 @@
 EXTRA_OECONF += "--enable-largefile"
 
 SRC_URI = "http://libarchive.org/downloads/libarchive-${PV}.tar.gz \
+           file://bug929.patch \
+           file://CVE-2017-14166.patch \
+           file://CVE-2017-14502.patch \
            file://non-recursive-extract-and-list.patch \
-	   file://0001-archive_write_disk_posix.c-make-_fsobj-functions-mor.patch \
-	   file://0002-Fix-extracting-hardlinks-over-symlinks.patch \
-           "
+          "
 
-SRC_URI[md5sum] = "1ec00b7dcaf969dd2a5712f85f23c764"
-SRC_URI[sha256sum] = "691c194ee132d1f0f7a42541f091db811bc2e56f7107e9121be2bc8c04f1060f"
+SRC_URI[md5sum] = "4583bd6b2ebf7e0e8963d90879eb1b27"
+SRC_URI[sha256sum] = "ed2dbd6954792b2c054ccf8ec4b330a54b85904a80cef477a1c74643ddafa0ce"
 
 inherit autotools update-alternatives pkgconfig
 
diff --git a/import-layers/yocto-poky/meta/recipes-extended/libidn/libidn/0001-idn-fix-printf-format-security-warnings.patch b/import-layers/yocto-poky/meta/recipes-extended/libidn/libidn/0001-idn-fix-printf-format-security-warnings.patch
index 5adc7d9..2d5faab 100644
--- a/import-layers/yocto-poky/meta/recipes-extended/libidn/libidn/0001-idn-fix-printf-format-security-warnings.patch
+++ b/import-layers/yocto-poky/meta/recipes-extended/libidn/libidn/0001-idn-fix-printf-format-security-warnings.patch
@@ -1,181 +1,694 @@
-From 82f98dcbc429bbe89a9837c533cbcbc02e77c790 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Andr=C3=A9=20Draszik?= <adraszik@tycoint.com>
-Date: Tue, 28 Jun 2016 12:43:31 +0100
-Subject: [PATCH] idn: fix printf() format security warnings
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
+From 7148adf34dae30345c2e4d9d437838a45ba6f6e8 Mon Sep 17 00:00:00 2001
+From: =?utf8?q?Tim=20R=C3=BChsen?= <tim.ruehsen@gmx.de>
+Date: Wed, 1 Feb 2017 11:06:39 +0100
+Subject: [PATCH] Fix -Wformat warnings
 
-| ../../libidn-1.32/src/idn.c: In function 'main':
-| ../../libidn-1.32/src/idn.c:172:7: error: format not a string literal and no format arguments [-Werror=format-security]
-|        error (0, 0, _("only one of -s, -e, -d, -a, -u or -n can be specified"));
-|        ^~~~~
-| ../../libidn-1.32/src/idn.c:187:5: error: format not a string literal and no format arguments [-Werror=format-security]
-|      fprintf (stderr, _("Type each input string on a line by itself, "
-|      ^~~~~~~
-| ../../libidn-1.32/src/idn.c:202:4: error: format not a string literal and no format arguments [-Werror=format-security]
-|     error (EXIT_FAILURE, errno, _("input error"));
-|     ^~~~~
-| ../../libidn-1.32/src/idn.c:220:8: error: format not a string literal and no format arguments [-Werror=format-security]
-|         _("could not convert from UTF-8 to UCS-4"));
-|         ^
-| ../../libidn-1.32/src/idn.c:245:8: error: format not a string literal and no format arguments [-Werror=format-security]
-|         _("could not convert from UTF-8 to UCS-4"));
-|         ^
-| ../../libidn-1.32/src/idn.c:281:6: error: format not a string literal and no format arguments [-Werror=format-security]
-|       _("could not convert from UTF-8 to UCS-4"));
-|       ^
-| ../../libidn-1.32/src/idn.c:340:6: error: format not a string literal and no format arguments [-Werror=format-security]
-|       _("could not convert from UCS-4 to UTF-8"));
-|       ^
-| ../../libidn-1.32/src/idn.c:364:6: error: format not a string literal and no format arguments [-Werror=format-security]
-|       _("could not convert from UCS-4 to UTF-8"));
-|       ^
-| ../../libidn-1.32/src/idn.c:442:8: error: format not a string literal and no format arguments [-Werror=format-security]
-|         _("could not convert from UCS-4 to UTF-8"));
-|         ^
-| ../../libidn-1.32/src/idn.c:498:6: error: format not a string literal and no format arguments [-Werror=format-security]
-|       _("could not convert from UTF-8 to UCS-4"));
-|       ^
-| ../../libidn-1.32/src/idn.c:527:5: error: format not a string literal and no format arguments [-Werror=format-security]
-|      _("could not convert from UTF-8 to UCS-4"));
-|      ^
-| ../../libidn-1.32/src/idn.c:540:6: error: format not a string literal and no format arguments [-Werror=format-security]
-|       error (EXIT_FAILURE, 0, _("could not do NFKC normalization"));
-|       ^~~~~
-| ../../libidn-1.32/src/idn.c:551:5: error: format not a string literal and no format arguments [-Werror=format-security]
-|      _("could not convert from UTF-8 to UCS-4"));
-|      ^
-
-Signed-off-by: André Draszik <adraszik@tycoint.com>
 ---
-Upstream-Status: Pending
+Upstream-Status: Backport
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
 
- src/idn.c | 27 ++++++++++++++-------------
- 1 file changed, 14 insertions(+), 13 deletions(-)
+ examples/example.c     |  6 +++---
+ examples/example3.c    |  4 ++--
+ examples/example4.c    |  4 ++--
+ examples/example5.c    |  2 +-
+ src/idn.c              |  2 +-
+ tests/tst_idna.c       | 25 +++++++++++++------------
+ tests/tst_idna2.c      |  8 ++++----
+ tests/tst_idna3.c      |  8 ++++----
+ tests/tst_nfkc.c       |  8 ++++----
+ tests/tst_pr29.c       | 12 ++++++------
+ tests/tst_punycode.c   | 13 +++++++------
+ tests/tst_strerror.c   | 20 ++++++++++----------
+ tests/tst_stringprep.c | 12 ++++++------
+ tests/tst_tld.c        | 20 ++++++++++----------
+ tests/utils.c          |  6 +++---
+ 15 files changed, 76 insertions(+), 74 deletions(-)
 
-diff --git a/src/idn.c b/src/idn.c
-index be1c7d1..68e4291 100644
---- a/src/idn.c
-+++ b/src/idn.c
-@@ -170,7 +170,7 @@ main (int argc, char *argv[])
-       (args_info.idna_to_unicode_given ? 1 : 0) +
-       (args_info.nfkc_given ? 1 : 0) != 1)
+diff --git a/examples/example.c b/examples/example.c
+index 6e91783..24f64e0 100644
+--- a/examples/example.c
++++ b/examples/example.c
+@@ -55,7 +55,7 @@ main (void)
+ 
+   printf ("Before locale2utf8 (length %ld): ", (long int) strlen (buf));
+   for (i = 0; i < strlen (buf); i++)
+-    printf ("%02x ", buf[i] & 0xFF);
++    printf ("%02x ", (unsigned) buf[i] & 0xFF);
+   printf ("\n");
+ 
+   p = stringprep_locale_to_utf8 (buf);
+@@ -69,7 +69,7 @@ main (void)
+ 
+   printf ("Before stringprep (length %ld): ", (long int) strlen (buf));
+   for (i = 0; i < strlen (buf); i++)
+-    printf ("%02x ", buf[i] & 0xFF);
++    printf ("%02x ", (unsigned) buf[i] & 0xFF);
+   printf ("\n");
+ 
+   rc = stringprep (buf, BUFSIZ, 0, stringprep_nameprep);
+@@ -79,7 +79,7 @@ main (void)
      {
--      error (0, 0, _("only one of -s, -e, -d, -a, -u or -n can be specified"));
-+      error (0, 0, "%s", _("only one of -s, -e, -d, -a, -u or -n can be specified"));
-       usage (EXIT_FAILURE);
+       printf ("After stringprep (length %ld): ", (long int) strlen (buf));
+       for (i = 0; i < strlen (buf); i++)
+-	printf ("%02x ", buf[i] & 0xFF);
++	printf ("%02x ", (unsigned) buf[i] & 0xFF);
+       printf ("\n");
      }
  
-@@ -185,7 +185,7 @@ main (int argc, char *argv[])
-   if (!args_info.quiet_given
-       && args_info.inputs_num == 0
-       && isatty (fileno (stdin)))
--    fprintf (stderr, _("Type each input string on a line by itself, "
-+    fprintf (stderr, "%s", _("Type each input string on a line by itself, "
- 		       "terminated by a newline character.\n"));
+diff --git a/examples/example3.c b/examples/example3.c
+index fc11c1c..ffb9042 100644
+--- a/examples/example3.c
++++ b/examples/example3.c
+@@ -56,7 +56,7 @@ main (void)
  
-   do
-@@ -197,7 +197,7 @@ main (int argc, char *argv[])
- 	  if (feof (stdin))
- 	    break;
+   printf ("Read string (length %ld): ", (long int) strlen (buf));
+   for (i = 0; i < strlen (buf); i++)
+-    printf ("%02x ", buf[i] & 0xFF);
++    printf ("%02x ", (unsigned) buf[i] & 0xFF);
+   printf ("\n");
  
--	  error (EXIT_FAILURE, errno, _("input error"));
-+	  error (EXIT_FAILURE, errno, "%s", _("input error"));
+   rc = idna_to_ascii_lz (buf, &p, 0);
+@@ -68,7 +68,7 @@ main (void)
+ 
+   printf ("ACE label (length %ld): '%s'\n", (long int) strlen (p), p);
+   for (i = 0; i < strlen (p); i++)
+-    printf ("%02x ", p[i] & 0xFF);
++    printf ("%02x ", (unsigned) p[i] & 0xFF);
+   printf ("\n");
+ 
+   free (p);
+diff --git a/examples/example4.c b/examples/example4.c
+index 1b319c9..a3315a1 100644
+--- a/examples/example4.c
++++ b/examples/example4.c
+@@ -56,7 +56,7 @@ main (void)
+ 
+   printf ("Read string (length %ld): ", (long int) strlen (buf));
+   for (i = 0; i < strlen (buf); i++)
+-    printf ("%02x ", buf[i] & 0xFF);
++    printf ("%02x ", (unsigned) buf[i] & 0xFF);
+   printf ("\n");
+ 
+   rc = idna_to_unicode_lzlz (buf, &p, 0);
+@@ -68,7 +68,7 @@ main (void)
+ 
+   printf ("ACE label (length %ld): '%s'\n", (long int) strlen (p), p);
+   for (i = 0; i < strlen (p); i++)
+-    printf ("%02x ", p[i] & 0xFF);
++    printf ("%02x ", (unsigned) p[i] & 0xFF);
+   printf ("\n");
+ 
+   free (p);
+diff --git a/examples/example5.c b/examples/example5.c
+index df55798..29d40b9 100644
+--- a/examples/example5.c
++++ b/examples/example5.c
+@@ -68,7 +68,7 @@ main (void)
+ 
+   printf ("Read string (length %ld): ", (long int) strlen (buf));
+   for (i = 0; i < strlen (buf); i++)
+-    printf ("%02x ", buf[i] & 0xFF);
++    printf ("%02x ", (unsigned) buf[i] & 0xFF);
+   printf ("\n");
+ 
+   p = stringprep_locale_to_utf8 (buf);
+diff --git a/src/idn.c b/src/idn.c
+index be1c7d1..13eb3c9 100644
+--- a/src/idn.c
++++ b/src/idn.c
+@@ -419,7 +419,7 @@ main (int argc, char *argv[])
+ 	      size_t i;
+ 	      for (i = 0; p[i]; i++)
+ 		fprintf (stderr, "output[%lu] = U+%04x\n",
+-			 (unsigned long) i, p[i]);
++			 (unsigned long) i, (unsigned) p[i]);
+ 	    }
+ 
+ 	  fprintf (stdout, "%s\n", p);
+diff --git a/tests/tst_idna.c b/tests/tst_idna.c
+index 415764e..4ac046f 100644
+--- a/tests/tst_idna.c
++++ b/tests/tst_idna.c
+@@ -220,13 +220,14 @@ doit (void)
+   char label[100];
+   uint32_t *ucs4label = NULL;
+   uint32_t tmp[100];
+-  size_t len, len2, i;
++  size_t len, len2;
+   int rc;
++  unsigned i;
+ 
+   for (i = 0; i < sizeof (idna) / sizeof (idna[0]); i++)
+     {
+       if (debug)
+-	printf ("IDNA entry %ld: %s\n", i, idna[i].name);
++	printf ("IDNA entry %u: %s\n", i, idna[i].name);
+ 
+       if (debug)
+ 	{
+@@ -237,7 +238,7 @@ doit (void)
+       rc = idna_to_ascii_4i (idna[i].in, idna[i].inlen, label, idna[i].flags);
+       if (rc != idna[i].toasciirc)
+ 	{
+-	  fail ("IDNA entry %ld failed: %d\n", i, rc);
++	  fail ("IDNA entry %u failed: %d\n", i, rc);
+ 	  if (debug)
+ 	    printf ("FATAL\n");
+ 	  continue;
+@@ -256,7 +257,7 @@ doit (void)
+ 	  if (strlen (idna[i].out) != strlen (label) ||
+ 	      strcasecmp (idna[i].out, label) != 0)
+ 	    {
+-	      fail ("IDNA entry %ld failed\n", i);
++	      fail ("IDNA entry %u failed\n", i);
+ 	      if (debug)
+ 		printf ("ERROR\n");
+ 	    }
+@@ -273,8 +274,8 @@ doit (void)
+ 
+       if (debug)
+ 	{
+-	  printf ("in: %s (%ld==%ld)\n", idna[i].out, strlen (idna[i].out),
+-		  len);
++	  printf ("in: %s (%d==%d)\n", idna[i].out, (int) strlen (idna[i].out),
++		  (int) len);
+ 	  ucs4print (ucs4label, len);
  	}
  
-       if (strlen (line) > 0)
-@@ -215,7 +215,7 @@ main (int argc, char *argv[])
- 	  if (!q)
+@@ -282,20 +283,20 @@ doit (void)
+       rc = idna_to_unicode_44i (ucs4label, len, tmp, &len2, idna[i].flags);
+       if (debug)
+ 	{
+-	  printf ("expected out (%ld):\n",
++	  printf ("expected out (%lu):\n",
+ 		  rc == IDNA_SUCCESS ? idna[i].inlen : len);
+ 	  if (rc == IDNA_SUCCESS)
+ 	    ucs4print (idna[i].in, idna[i].inlen);
+ 	  else
+ 	    ucs4print (ucs4label, len);
+ 
+-	  printf ("computed out (%ld):\n", len2);
++	  printf ("computed out (%d):\n", (int) len2);
+ 	  ucs4print (tmp, len2);
+ 	}
+ 
+       if (rc != idna[i].tounicoderc)
+ 	{
+-	  fail ("IDNA entry %ld failed: %d\n", i, rc);
++	  fail ("IDNA entry %u failed: %d\n", i, rc);
+ 	  if (debug)
+ 	    printf ("FATAL\n");
+ 	  continue;
+@@ -309,11 +310,11 @@ doit (void)
+ 	  if (debug)
  	    {
- 	      free (p);
--	      error (EXIT_FAILURE, 0,
-+	      error (EXIT_FAILURE, 0, "%s",
- 		     _("could not convert from UTF-8 to UCS-4"));
+ 	      if (rc == IDNA_SUCCESS)
+-		printf ("len=%ld len2=%ld\n", len2, idna[i].inlen);
++		printf ("len=%d len2=%d\n", (int) len2, (int) idna[i].inlen);
+ 	      else
+-		printf ("len=%ld len2=%ld\n", len, len2);
++		printf ("len=%d len2=%d\n", (int) len, (int) len2);
  	    }
+-	  fail ("IDNA entry %ld failed\n", i);
++	  fail ("IDNA entry %u failed\n", i);
+ 	  if (debug)
+ 	    printf ("ERROR\n");
+ 	}
+diff --git a/tests/tst_idna2.c b/tests/tst_idna2.c
+index 65b3a4d..38932ca 100644
+--- a/tests/tst_idna2.c
++++ b/tests/tst_idna2.c
+@@ -461,14 +461,14 @@ static const struct idna idna[] = {
+ void
+ doit (void)
+ {
+-  size_t i;
++  unsigned i;
+   char *out;
+   int rc;
  
-@@ -240,7 +240,7 @@ main (int argc, char *argv[])
- 	  if (!q)
+   for (i = 0; i < sizeof (idna) / sizeof (idna[0]); i++)
+     {
+       if (debug)
+-	printf ("IDNA2 entry %ld\n", i);
++	printf ("IDNA2 entry %u\n", i);
+ 
+       if (debug)
+ 	{
+@@ -487,7 +487,7 @@ doit (void)
+ 			     IDNA_USE_STD3_ASCII_RULES);
+       if (rc != IDNA_SUCCESS && strlen (idna[i].out) > 0)
+ 	{
+-	  fail ("IDNA2 entry %ld failed: %d\n", i, rc);
++	  fail ("IDNA2 entry %u failed: %d\n", i, rc);
+ 	  continue;
+ 	}
+ 
+@@ -504,7 +504,7 @@ doit (void)
+ 	  if (strlen (idna[i].out) != strlen (out) ||
+ 	      strcasecmp (idna[i].out, out) != 0)
  	    {
- 	      free (r);
--	      error (EXIT_FAILURE, 0,
-+	      error (EXIT_FAILURE, 0, "%s",
- 		     _("could not convert from UTF-8 to UCS-4"));
+-	      fail ("IDNA2 entry %ld failed\n", i);
++	      fail ("IDNA2 entry %u failed\n", i);
+ 	      if (debug)
+ 		printf ("ERROR\n");
  	    }
+diff --git a/tests/tst_idna3.c b/tests/tst_idna3.c
+index a189378..f65628c 100644
+--- a/tests/tst_idna3.c
++++ b/tests/tst_idna3.c
+@@ -59,13 +59,13 @@ doit (void)
+ {
+   int rc;
+   char *out = NULL;
+-  size_t i;
++  unsigned i;
  
-@@ -277,7 +277,7 @@ main (int argc, char *argv[])
- 	  q = stringprep_utf8_to_ucs4 (p, -1, &len);
- 	  free (p);
- 	  if (!q)
--	    error (EXIT_FAILURE, 0,
-+	    error (EXIT_FAILURE, 0, "%s",
- 		   _("could not convert from UTF-8 to UCS-4"));
+   for (i = 0; i < sizeof (idna) / sizeof (idna[0]); i++)
+     {
+       rc = idna_to_unicode_8z8z (idna[i].in, &out, 0);
+       if (rc != IDNA_SUCCESS)
+-	fail ("IDNA3[%ld] failed %d\n", i, rc);
++	fail ("IDNA3[%u] failed %d\n", i, rc);
  
- 	  if (args_info.debug_given)
-@@ -336,7 +336,7 @@ main (int argc, char *argv[])
- 	  r = stringprep_ucs4_to_utf8 (q, -1, NULL, NULL);
- 	  free (q);
- 	  if (!r)
--	    error (EXIT_FAILURE, 0,
-+	    error (EXIT_FAILURE, 0, "%s",
- 		   _("could not convert from UCS-4 to UTF-8"));
+       if (debug && rc == IDNA_SUCCESS)
+ 	{
+@@ -75,9 +75,9 @@ doit (void)
+ 	}
  
- 	  p = stringprep_utf8_to_locale (r);
-@@ -360,7 +360,7 @@ main (int argc, char *argv[])
- 	  q = stringprep_utf8_to_ucs4 (p, -1, NULL);
- 	  free (p);
- 	  if (!q)
--	    error (EXIT_FAILURE, 0,
-+	    error (EXIT_FAILURE, 0, "%s",
- 		   _("could not convert from UCS-4 to UTF-8"));
+       if (strcmp (out, idna[i].out) != 0)
+-	fail ("IDNA3[%ld] failed\n", i);
++	fail ("IDNA3[%u] failed\n", i);
+       else if (debug)
+-	printf ("IDNA3[%ld] success\n", i);
++	printf ("IDNA3[%u] success\n", i);
  
- 	  if (args_info.debug_given)
-@@ -438,7 +438,7 @@ main (int argc, char *argv[])
- 	  if (!q)
+       if (out)
+ 	idn_free (out);
+diff --git a/tests/tst_nfkc.c b/tests/tst_nfkc.c
+index d150fec..f5af9c6 100644
+--- a/tests/tst_nfkc.c
++++ b/tests/tst_nfkc.c
+@@ -68,18 +68,18 @@ void
+ doit (void)
+ {
+   char *out;
+-  size_t i;
++  unsigned i;
+ 
+   for (i = 0; i < sizeof (nfkc) / sizeof (nfkc[0]); i++)
+     {
+       if (debug)
+-	printf ("NFKC entry %ld\n", i);
++	printf ("NFKC entry %u\n", i);
+ 
+       out = stringprep_utf8_nfkc_normalize (nfkc[i].in,
+ 					    (ssize_t) strlen (nfkc[i].in));
+       if (out == NULL)
+ 	{
+-	  fail ("NFKC entry %ld failed fatally\n", i);
++	  fail ("NFKC entry %u failed fatally\n", i);
+ 	  continue;
+ 	}
+ 
+@@ -114,7 +114,7 @@ doit (void)
+       if (strlen (nfkc[i].out) != strlen (out) ||
+ 	  memcmp (nfkc[i].out, out, strlen (out)) != 0)
+ 	{
+-	  fail ("NFKC entry %ld failed\n", i);
++	  fail ("NFKC entry %u failed\n", i);
+ 	  if (debug)
+ 	    printf ("ERROR\n");
+ 	}
+diff --git a/tests/tst_pr29.c b/tests/tst_pr29.c
+index 3dc5466..11d0ede 100644
+--- a/tests/tst_pr29.c
++++ b/tests/tst_pr29.c
+@@ -91,7 +91,7 @@ static const struct tv tv[] = {
+ void
+ doit (void)
+ {
+-  size_t i;
++  unsigned i;
+   int rc;
+ 
+   for (i = 0; i < sizeof (tv) / sizeof (tv[0]); i++)
+@@ -100,7 +100,7 @@ doit (void)
+ 	{
+ 	  uint32_t *p, *q;
+ 
+-	  printf ("PR29 entry %ld: %s\n", i, tv[i].name);
++	  printf ("PR29 entry %u: %s\n", i, tv[i].name);
+ 
+ 	  printf ("in:\n");
+ 	  ucs4print (tv[i].in, tv[i].inlen);
+@@ -120,7 +120,7 @@ doit (void)
+       rc = pr29_4 (tv[i].in, tv[i].inlen);
+       if (rc != tv[i].rc)
+ 	{
+-	  fail ("PR29 entry %ld failed (expected %d): %d\n", i, tv[i].rc, rc);
++	  fail ("PR29 entry %u failed (expected %d): %d\n", i, tv[i].rc, rc);
+ 	  if (debug)
+ 	    printf ("FATAL\n");
+ 	  continue;
+@@ -129,7 +129,7 @@ doit (void)
+       rc = pr29_4z (tv[i].in);
+       if (rc != tv[i].rc)
+ 	{
+-	  fail ("PR29 entry %ld failed (expected %d): %d\n", i, tv[i].rc, rc);
++	  fail ("PR29 entry %u failed (expected %d): %d\n", i, tv[i].rc, rc);
+ 	  if (debug)
+ 	    printf ("FATAL\n");
+ 	  continue;
+@@ -142,7 +142,7 @@ doit (void)
+ 	p = stringprep_ucs4_to_utf8 (tv[i].in, (ssize_t) tv[i].inlen,
+ 				     &items_read, &items_written);
+ 	if (p == NULL)
+-	  fail ("FAIL: stringprep_ucs4_to_utf8(tv[%ld]) == NULL\n", i);
++	  fail ("FAIL: stringprep_ucs4_to_utf8(tv[%u]) == NULL\n", i);
+ 	if (debug)
+ 	  hexprint (p, strlen (p));
+ 
+@@ -150,7 +150,7 @@ doit (void)
+ 	free (p);
+ 	if (rc != tv[i].rc)
+ 	  {
+-	    fail ("PR29 entry %ld failed (expected %d): %d\n",
++	    fail ("PR29 entry %u failed (expected %d): %d\n",
+ 		  i, tv[i].rc, rc);
+ 	    if (debug)
+ 	      printf ("FATAL\n");
+diff --git a/tests/tst_punycode.c b/tests/tst_punycode.c
+index 493b8a2..997744a 100644
+--- a/tests/tst_punycode.c
++++ b/tests/tst_punycode.c
+@@ -173,7 +173,8 @@ doit (void)
+   char *p;
+   uint32_t *q;
+   int rc;
+-  size_t i, outlen;
++  size_t outlen;
++  unsigned i;
+ 
+   p = malloc (sizeof (*p) * BUFSIZ);
+   if (p == NULL)
+@@ -186,7 +187,7 @@ doit (void)
+   for (i = 0; i < sizeof (punycode) / sizeof (punycode[0]); i++)
+     {
+       if (debug)
+-	printf ("PUNYCODE entry %ld: %s\n", i, punycode[i].name);
++	printf ("PUNYCODE entry %u: %s\n", i, punycode[i].name);
+ 
+       if (debug)
+ 	{
+@@ -199,7 +200,7 @@ doit (void)
+ 			    NULL, &outlen, p);
+       if (rc != punycode[i].rc)
+ 	{
+-	  fail ("punycode_encode() entry %ld failed: %d\n", i, rc);
++	  fail ("punycode_encode() entry %u failed: %d\n", i, rc);
+ 	  if (debug)
+ 	    printf ("FATAL\n");
+ 	  continue;
+@@ -221,7 +222,7 @@ doit (void)
+ 	  if (strlen (punycode[i].out) != strlen (p) ||
+ 	      memcmp (punycode[i].out, p, strlen (p)) != 0)
  	    {
- 	      free (p);
--	      error (EXIT_FAILURE, 0,
-+	      error (EXIT_FAILURE, 0, "%s",
- 		     _("could not convert from UCS-4 to UTF-8"));
+-	      fail ("punycode() entry %ld failed\n", i);
++	      fail ("punycode() entry %u failed\n", i);
+ 	      if (debug)
+ 		printf ("ERROR\n");
  	    }
- 
-@@ -494,7 +494,7 @@ main (int argc, char *argv[])
- 	  r = stringprep_ucs4_to_utf8 (q, -1, NULL, NULL);
- 	  free (q);
- 	  if (!r)
--	    error (EXIT_FAILURE, 0,
-+	    error (EXIT_FAILURE, 0, "%s",
- 		   _("could not convert from UTF-8 to UCS-4"));
- 
- 	  p = stringprep_utf8_to_locale (r);
-@@ -523,7 +523,7 @@ main (int argc, char *argv[])
- 	      if (!q)
- 		{
- 		  free (p);
--		  error (EXIT_FAILURE, 0,
-+		  error (EXIT_FAILURE, 0, "%s",
- 			 _("could not convert from UTF-8 to UCS-4"));
- 		}
- 
-@@ -537,7 +537,8 @@ main (int argc, char *argv[])
- 	  r = stringprep_utf8_nfkc_normalize (p, -1);
- 	  free (p);
- 	  if (!r)
--	    error (EXIT_FAILURE, 0, _("could not do NFKC normalization"));
-+	    error (EXIT_FAILURE, 0, "%s",
-+		   _("could not do NFKC normalization"));
- 
- 	  if (args_info.debug_given)
+@@ -241,7 +242,7 @@ doit (void)
+ 			    &outlen, q, NULL);
+       if (rc != punycode[i].rc)
+ 	{
+-	  fail ("punycode() entry %ld failed: %d\n", i, rc);
++	  fail ("punycode() entry %u failed: %d\n", i, rc);
+ 	  if (debug)
+ 	    printf ("FATAL\n");
+ 	  continue;
+@@ -262,7 +263,7 @@ doit (void)
+ 	  if (punycode[i].inlen != outlen ||
+ 	      memcmp (punycode[i].in, q, outlen) != 0)
  	    {
-@@ -547,7 +548,7 @@ main (int argc, char *argv[])
- 	      if (!q)
- 		{
- 		  free (r);
--		  error (EXIT_FAILURE, 0,
-+		  error (EXIT_FAILURE, 0, "%s",
- 			 _("could not convert from UTF-8 to UCS-4"));
- 		}
+-	      fail ("punycode_decode() entry %ld failed\n", i);
++	      fail ("punycode_decode() entry %u failed\n", i);
+ 	      if (debug)
+ 		printf ("ERROR\n");
+ 	    }
+diff --git a/tests/tst_strerror.c b/tests/tst_strerror.c
+index 71fff59..730f5e4 100644
+--- a/tests/tst_strerror.c
++++ b/tests/tst_strerror.c
+@@ -110,7 +110,7 @@ doit (void)
+   /* Iterate through all error codes. */
  
+   {
+-    size_t i;
++    unsigned i;
+     const char *last_p = NULL;
+ 
+     for (i = 0;; i++)
+@@ -126,13 +126,13 @@ doit (void)
+ 	    break;
+ 	  }
+ 	if (debug)
+-	  printf ("idna %ld: %s\n", i, p);
++	  printf ("idna %u: %s\n", i, p);
+ 	last_p = p;
+       }
+   }
+ 
+   {
+-    size_t i;
++    unsigned i;
+     const char *last_p = NULL;
+ 
+     for (i = 0;; i++)
+@@ -141,13 +141,13 @@ doit (void)
+ 	if (p == last_p)
+ 	  break;
+ 	if (debug)
+-	  printf ("pr29 %ld: %s\n", i, p);
++	  printf ("pr29 %u: %s\n", i, p);
+ 	last_p = p;
+       }
+   }
+ 
+   {
+-    size_t i;
++    unsigned i;
+     const char *last_p = NULL;
+ 
+     for (i = 0;; i++)
+@@ -156,13 +156,13 @@ doit (void)
+ 	if (p == last_p)
+ 	  break;
+ 	if (debug)
+-	  printf ("punycode %ld: %s\n", i, p);
++	  printf ("punycode %u: %s\n", i, p);
+ 	last_p = p;
+       }
+   }
+ 
+   {
+-    size_t i;
++    unsigned i;
+     const char *last_p = NULL;
+ 
+     for (i = 0;; i++)
+@@ -183,13 +183,13 @@ doit (void)
+ 	    break;
+ 	  }
+ 	if (debug)
+-	  printf ("stringprep %ld: %s\n", i, p);
++	  printf ("stringprep %u: %s\n", i, p);
+ 	last_p = p;
+       }
+   }
+ 
+   {
+-    size_t i;
++    unsigned i;
+     const char *last_p = NULL;
+ 
+     for (i = 0;; i++)
+@@ -198,7 +198,7 @@ doit (void)
+ 	if (p == last_p)
+ 	  break;
+ 	if (debug)
+-	  printf ("tld %ld: %s\n", i, p);
++	  printf ("tld %u: %s\n", i, p);
+ 	last_p = p;
+       }
+   }
+diff --git a/tests/tst_stringprep.c b/tests/tst_stringprep.c
+index 149ce6f..7c9ab06 100644
+--- a/tests/tst_stringprep.c
++++ b/tests/tst_stringprep.c
+@@ -205,7 +205,7 @@ doit (void)
+ {
+   char *p;
+   int rc;
+-  size_t i;
++  unsigned i;
+ 
+   if (!stringprep_check_version (STRINGPREP_VERSION))
+     fail ("stringprep_check_version failed (header %s runtime %s)\n",
+@@ -224,7 +224,7 @@ doit (void)
+   for (i = 0; i < sizeof (strprep) / sizeof (strprep[0]); i++)
+     {
+       if (debug)
+-	printf ("STRINGPREP entry %ld\n", i);
++	printf ("STRINGPREP entry %u\n", i);
+ 
+       if (debug)
+ 	{
+@@ -247,12 +247,12 @@ doit (void)
+ 	  continue;
+ 	else if (l == NULL)
+ 	  {
+-	    fail ("bad UTF-8 in entry %ld\n", i);
++	    fail ("bad UTF-8 in entry %u\n", i);
+ 	    continue;
+ 	  }
+ 	else if (strcmp (strprep[i].in, x) != 0)
+ 	  {
+-	    fail ("bad UTF-8 in entry %ld\n", i);
++	    fail ("bad UTF-8 in entry %u\n", i);
+ 	    if (debug)
+ 	      {
+ 		puts ("expected:");
+@@ -274,7 +274,7 @@ doit (void)
+ 			       "Nameprep", strprep[i].flags);
+       if (rc != strprep[i].rc)
+ 	{
+-	  fail ("stringprep() entry %ld failed: %d\n", i, rc);
++	  fail ("stringprep() entry %u failed: %d\n", i, rc);
+ 	  if (debug)
+ 	    printf ("FATAL\n");
+ 	  if (rc == STRINGPREP_OK)
+@@ -302,7 +302,7 @@ doit (void)
+ 	  if (strlen (strprep[i].out) != strlen (p) ||
+ 	      memcmp (strprep[i].out, p, strlen (p)) != 0)
+ 	    {
+-	      fail ("stringprep() entry %ld failed\n", i);
++	      fail ("stringprep() entry %ld failed\n", (long) i);
+ 	      if (debug)
+ 		printf ("ERROR\n");
+ 	    }
+diff --git a/tests/tst_tld.c b/tests/tst_tld.c
+index 2f8e12e..d038c79 100644
+--- a/tests/tst_tld.c
++++ b/tests/tst_tld.c
+@@ -80,7 +80,7 @@ const Tld_table * my_tld_tables[] =
+ void
+ doit (void)
+ {
+-  size_t i;
++  unsigned i;
+   const Tld_table *tldtable;
+   char *out;
+   size_t errpos;
+@@ -206,7 +206,7 @@ doit (void)
+   for (i = 0; i < sizeof (tld) / sizeof (tld[0]); i++)
+     {
+       if (debug)
+-	printf ("TLD entry %ld: %s\n", i, tld[i].name);
++	printf ("TLD entry %u: %s\n", i, tld[i].name);
+ 
+       if (debug)
+ 	{
+@@ -217,7 +217,7 @@ doit (void)
+       tldtable = tld_default_table (tld[i].tld, NULL);
+       if (tldtable == NULL)
+ 	{
+-	  fail ("TLD entry %ld tld_get_table (%s)\n", i, tld[i].tld);
++	  fail ("TLD entry %u tld_get_table (%s)\n", i, tld[i].tld);
+ 	  if (debug)
+ 	    printf ("FATAL\n");
+ 	  continue;
+@@ -226,7 +226,7 @@ doit (void)
+       rc = tld_check_4t (tld[i].in, tld[i].inlen, &errpos, tldtable);
+       if (rc != tld[i].rc)
+ 	{
+-	  fail ("TLD entry %ld failed: %d\n", i, rc);
++	  fail ("TLD entry %u failed: %d\n", i, rc);
+ 	  if (debug)
+ 	    printf ("FATAL\n");
+ 	  continue;
+@@ -237,7 +237,7 @@ doit (void)
+ 
+       if (rc != tld[i].rc)
+ 	{
+-	  fail ("TLD entry %ld failed\n", i);
++	  fail ("TLD entry %u failed\n", i);
+ 	  if (debug)
+ 	    printf ("ERROR\n");
+ 	}
+@@ -245,12 +245,12 @@ doit (void)
+ 	{
+ 	  if (debug)
+ 	    printf ("returned errpos %ld expected errpos %ld\n",
+-		    errpos, tld[i].errpos);
++		    (long) errpos, (long) tld[i].errpos);
+ 
+ 	  if (tld[i].errpos != errpos)
+ 	    {
+-	      fail ("TLD entry %ld failed because errpos %ld != %ld\n", i,
+-		    tld[i].errpos, errpos);
++	      fail ("TLD entry %u failed because errpos %ld != %ld\n", i,
++		    (long) tld[i].errpos, (long) errpos);
+ 	      if (debug)
+ 		printf ("ERROR\n");
+ 	    }
+@@ -262,12 +262,12 @@ doit (void)
+ 	rc = tld_check_8z (tld[i].example, &errpos, NULL);
+ 	if (rc != tld[i].rc)
+ 	  {
+-	    fail ("TLD entry %ld failed\n", i);
++	    fail ("TLD entry %u failed\n", i);
+ 	    if (debug)
+ 	      printf ("ERROR\n");
+ 	  }
+ 	if (debug)
+-	  printf ("TLD entry %ld tld_check_8z (%s)\n", i, tld[i].example);
++	  printf ("TLD entry %u tld_check_8z (%s)\n", i, tld[i].example);
+       }
+     }
+ }
+diff --git a/tests/utils.c b/tests/utils.c
+index 717ee01..5577dc3 100644
+--- a/tests/utils.c
++++ b/tests/utils.c
+@@ -49,7 +49,7 @@ escapeprint (const char *str, size_t len)
+ {
+   size_t i;
+ 
+-  printf (" (length %ld bytes):\n\t", len);
++  printf (" (length %ld bytes):\n\t", (long) len);
+   for (i = 0; i < len; i++)
+     {
+       if (((str[i] & 0xFF) >= 'A' && (str[i] & 0xFF) <= 'Z') ||
+@@ -58,7 +58,7 @@ escapeprint (const char *str, size_t len)
+ 	  || (str[i] & 0xFF) == ' ' || (str[i] & 0xFF) == '.')
+ 	printf ("%c", (str[i] & 0xFF));
+       else
+-	printf ("\\x%02X", (str[i] & 0xFF));
++	printf ("\\x%02X", (unsigned) (str[i] & 0xFF));
+       if ((i + 1) % 16 == 0 && (i + 1) < len)
+ 	printf ("'\n\t'");
+     }
+@@ -73,7 +73,7 @@ hexprint (const char *str, size_t len)
+   printf ("\t;; ");
+   for (i = 0; i < len; i++)
+     {
+-      printf ("%02x ", (str[i] & 0xFF));
++      printf ("%02x ", (unsigned) (str[i] & 0xFF));
+       if ((i + 1) % 8 == 0)
+ 	printf (" ");
+       if ((i + 1) % 16 == 0 && i + 1 < len)
 -- 
-2.8.1
+1.9.1
 
diff --git a/import-layers/yocto-poky/meta/recipes-extended/libidn/libidn/0001-idn-format-security-warnings.patch b/import-layers/yocto-poky/meta/recipes-extended/libidn/libidn/0001-idn-format-security-warnings.patch
new file mode 100644
index 0000000..5adc7d9
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-extended/libidn/libidn/0001-idn-format-security-warnings.patch
@@ -0,0 +1,181 @@
+From 82f98dcbc429bbe89a9837c533cbcbc02e77c790 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andr=C3=A9=20Draszik?= <adraszik@tycoint.com>
+Date: Tue, 28 Jun 2016 12:43:31 +0100
+Subject: [PATCH] idn: fix printf() format security warnings
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+| ../../libidn-1.32/src/idn.c: In function 'main':
+| ../../libidn-1.32/src/idn.c:172:7: error: format not a string literal and no format arguments [-Werror=format-security]
+|        error (0, 0, _("only one of -s, -e, -d, -a, -u or -n can be specified"));
+|        ^~~~~
+| ../../libidn-1.32/src/idn.c:187:5: error: format not a string literal and no format arguments [-Werror=format-security]
+|      fprintf (stderr, _("Type each input string on a line by itself, "
+|      ^~~~~~~
+| ../../libidn-1.32/src/idn.c:202:4: error: format not a string literal and no format arguments [-Werror=format-security]
+|     error (EXIT_FAILURE, errno, _("input error"));
+|     ^~~~~
+| ../../libidn-1.32/src/idn.c:220:8: error: format not a string literal and no format arguments [-Werror=format-security]
+|         _("could not convert from UTF-8 to UCS-4"));
+|         ^
+| ../../libidn-1.32/src/idn.c:245:8: error: format not a string literal and no format arguments [-Werror=format-security]
+|         _("could not convert from UTF-8 to UCS-4"));
+|         ^
+| ../../libidn-1.32/src/idn.c:281:6: error: format not a string literal and no format arguments [-Werror=format-security]
+|       _("could not convert from UTF-8 to UCS-4"));
+|       ^
+| ../../libidn-1.32/src/idn.c:340:6: error: format not a string literal and no format arguments [-Werror=format-security]
+|       _("could not convert from UCS-4 to UTF-8"));
+|       ^
+| ../../libidn-1.32/src/idn.c:364:6: error: format not a string literal and no format arguments [-Werror=format-security]
+|       _("could not convert from UCS-4 to UTF-8"));
+|       ^
+| ../../libidn-1.32/src/idn.c:442:8: error: format not a string literal and no format arguments [-Werror=format-security]
+|         _("could not convert from UCS-4 to UTF-8"));
+|         ^
+| ../../libidn-1.32/src/idn.c:498:6: error: format not a string literal and no format arguments [-Werror=format-security]
+|       _("could not convert from UTF-8 to UCS-4"));
+|       ^
+| ../../libidn-1.32/src/idn.c:527:5: error: format not a string literal and no format arguments [-Werror=format-security]
+|      _("could not convert from UTF-8 to UCS-4"));
+|      ^
+| ../../libidn-1.32/src/idn.c:540:6: error: format not a string literal and no format arguments [-Werror=format-security]
+|       error (EXIT_FAILURE, 0, _("could not do NFKC normalization"));
+|       ^~~~~
+| ../../libidn-1.32/src/idn.c:551:5: error: format not a string literal and no format arguments [-Werror=format-security]
+|      _("could not convert from UTF-8 to UCS-4"));
+|      ^
+
+Signed-off-by: André Draszik <adraszik@tycoint.com>
+---
+Upstream-Status: Pending
+
+ src/idn.c | 27 ++++++++++++++-------------
+ 1 file changed, 14 insertions(+), 13 deletions(-)
+
+diff --git a/src/idn.c b/src/idn.c
+index be1c7d1..68e4291 100644
+--- a/src/idn.c
++++ b/src/idn.c
+@@ -170,7 +170,7 @@ main (int argc, char *argv[])
+       (args_info.idna_to_unicode_given ? 1 : 0) +
+       (args_info.nfkc_given ? 1 : 0) != 1)
+     {
+-      error (0, 0, _("only one of -s, -e, -d, -a, -u or -n can be specified"));
++      error (0, 0, "%s", _("only one of -s, -e, -d, -a, -u or -n can be specified"));
+       usage (EXIT_FAILURE);
+     }
+ 
+@@ -185,7 +185,7 @@ main (int argc, char *argv[])
+   if (!args_info.quiet_given
+       && args_info.inputs_num == 0
+       && isatty (fileno (stdin)))
+-    fprintf (stderr, _("Type each input string on a line by itself, "
++    fprintf (stderr, "%s", _("Type each input string on a line by itself, "
+ 		       "terminated by a newline character.\n"));
+ 
+   do
+@@ -197,7 +197,7 @@ main (int argc, char *argv[])
+ 	  if (feof (stdin))
+ 	    break;
+ 
+-	  error (EXIT_FAILURE, errno, _("input error"));
++	  error (EXIT_FAILURE, errno, "%s", _("input error"));
+ 	}
+ 
+       if (strlen (line) > 0)
+@@ -215,7 +215,7 @@ main (int argc, char *argv[])
+ 	  if (!q)
+ 	    {
+ 	      free (p);
+-	      error (EXIT_FAILURE, 0,
++	      error (EXIT_FAILURE, 0, "%s",
+ 		     _("could not convert from UTF-8 to UCS-4"));
+ 	    }
+ 
+@@ -240,7 +240,7 @@ main (int argc, char *argv[])
+ 	  if (!q)
+ 	    {
+ 	      free (r);
+-	      error (EXIT_FAILURE, 0,
++	      error (EXIT_FAILURE, 0, "%s",
+ 		     _("could not convert from UTF-8 to UCS-4"));
+ 	    }
+ 
+@@ -277,7 +277,7 @@ main (int argc, char *argv[])
+ 	  q = stringprep_utf8_to_ucs4 (p, -1, &len);
+ 	  free (p);
+ 	  if (!q)
+-	    error (EXIT_FAILURE, 0,
++	    error (EXIT_FAILURE, 0, "%s",
+ 		   _("could not convert from UTF-8 to UCS-4"));
+ 
+ 	  if (args_info.debug_given)
+@@ -336,7 +336,7 @@ main (int argc, char *argv[])
+ 	  r = stringprep_ucs4_to_utf8 (q, -1, NULL, NULL);
+ 	  free (q);
+ 	  if (!r)
+-	    error (EXIT_FAILURE, 0,
++	    error (EXIT_FAILURE, 0, "%s",
+ 		   _("could not convert from UCS-4 to UTF-8"));
+ 
+ 	  p = stringprep_utf8_to_locale (r);
+@@ -360,7 +360,7 @@ main (int argc, char *argv[])
+ 	  q = stringprep_utf8_to_ucs4 (p, -1, NULL);
+ 	  free (p);
+ 	  if (!q)
+-	    error (EXIT_FAILURE, 0,
++	    error (EXIT_FAILURE, 0, "%s",
+ 		   _("could not convert from UCS-4 to UTF-8"));
+ 
+ 	  if (args_info.debug_given)
+@@ -438,7 +438,7 @@ main (int argc, char *argv[])
+ 	  if (!q)
+ 	    {
+ 	      free (p);
+-	      error (EXIT_FAILURE, 0,
++	      error (EXIT_FAILURE, 0, "%s",
+ 		     _("could not convert from UCS-4 to UTF-8"));
+ 	    }
+ 
+@@ -494,7 +494,7 @@ main (int argc, char *argv[])
+ 	  r = stringprep_ucs4_to_utf8 (q, -1, NULL, NULL);
+ 	  free (q);
+ 	  if (!r)
+-	    error (EXIT_FAILURE, 0,
++	    error (EXIT_FAILURE, 0, "%s",
+ 		   _("could not convert from UTF-8 to UCS-4"));
+ 
+ 	  p = stringprep_utf8_to_locale (r);
+@@ -523,7 +523,7 @@ main (int argc, char *argv[])
+ 	      if (!q)
+ 		{
+ 		  free (p);
+-		  error (EXIT_FAILURE, 0,
++		  error (EXIT_FAILURE, 0, "%s",
+ 			 _("could not convert from UTF-8 to UCS-4"));
+ 		}
+ 
+@@ -537,7 +537,8 @@ main (int argc, char *argv[])
+ 	  r = stringprep_utf8_nfkc_normalize (p, -1);
+ 	  free (p);
+ 	  if (!r)
+-	    error (EXIT_FAILURE, 0, _("could not do NFKC normalization"));
++	    error (EXIT_FAILURE, 0, "%s",
++		   _("could not do NFKC normalization"));
+ 
+ 	  if (args_info.debug_given)
+ 	    {
+@@ -547,7 +548,7 @@ main (int argc, char *argv[])
+ 	      if (!q)
+ 		{
+ 		  free (r);
+-		  error (EXIT_FAILURE, 0,
++		  error (EXIT_FAILURE, 0, "%s",
+ 			 _("could not convert from UTF-8 to UCS-4"));
+ 		}
+ 
+-- 
+2.8.1
+
diff --git a/import-layers/yocto-poky/meta/recipes-extended/libidn/libidn/gcc7-compatibility.patch b/import-layers/yocto-poky/meta/recipes-extended/libidn/libidn/gcc7-compatibility.patch
new file mode 100644
index 0000000..546a6ea
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-extended/libidn/libidn/gcc7-compatibility.patch
@@ -0,0 +1,334 @@
+From 230930b3bc3e431b819eb45420cb42475d83ca93 Mon Sep 17 00:00:00 2001
+From: =?utf8?q?Tim=20R=C3=BChsen?= <tim.ruehsen@gmx.de>
+Date: Wed, 1 Feb 2017 10:44:36 +0100
+Subject: [PATCH] Update intprops.h for gcc-7 compatibility
+
+---
+Upstream-Status: Backport
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+ gl/intprops.h          | 65 ++++++++++++++++++++++++++++++--------------------
+ lib/gltests/intprops.h | 65 ++++++++++++++++++++++++++++++--------------------
+ 2 files changed, 78 insertions(+), 52 deletions(-)
+
+diff --git a/gl/intprops.h b/gl/intprops.h
+index e1fce5c..eb06b69 100644
+--- a/gl/intprops.h
++++ b/gl/intprops.h
+@@ -1,18 +1,18 @@
+ /* intprops.h -- properties of integer types
+ 
+-   Copyright (C) 2001-2016 Free Software Foundation, Inc.
++   Copyright (C) 2001-2017 Free Software Foundation, Inc.
+ 
+    This program 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 3 of the License, or
++   under the terms of the GNU Lesser General Public License as published
++   by the Free Software Foundation; either version 2.1 of the License, or
+    (at your option) any later version.
+ 
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+-   GNU General Public License for more details.
++   GNU Lesser General Public License for more details.
+ 
+-   You should have received a copy of the GNU General Public License
++   You should have received a copy of the GNU Lesser General Public License
+    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+ 
+ /* Written by Paul Eggert.  */
+@@ -47,12 +47,16 @@
+ 
+ /* Minimum and maximum values for integer types and expressions.  */
+ 
++/* The width in bits of the integer type or expression T.
++   Padding bits are not supported; this is checked at compile-time below.  */
++#define TYPE_WIDTH(t) (sizeof (t) * CHAR_BIT)
++
+ /* The maximum and minimum values for the integer type T.  */
+ #define TYPE_MINIMUM(t) ((t) ~ TYPE_MAXIMUM (t))
+ #define TYPE_MAXIMUM(t)                                                 \
+   ((t) (! TYPE_SIGNED (t)                                               \
+         ? (t) -1                                                        \
+-        : ((((t) 1 << (sizeof (t) * CHAR_BIT - 2)) - 1) * 2 + 1)))
++        : ((((t) 1 << (TYPE_WIDTH (t) - 2)) - 1) * 2 + 1)))
+ 
+ /* The maximum and minimum values for the type of the expression E,
+    after integer promotion.  E should not have side effects.  */
+@@ -65,7 +69,13 @@
+    ? _GL_SIGNED_INT_MAXIMUM (e)                                         \
+    : _GL_INT_NEGATE_CONVERT (e, 1))
+ #define _GL_SIGNED_INT_MAXIMUM(e)                                       \
+-  (((_GL_INT_CONVERT (e, 1) << (sizeof ((e) + 0) * CHAR_BIT - 2)) - 1) * 2 + 1)
++  (((_GL_INT_CONVERT (e, 1) << (TYPE_WIDTH ((e) + 0) - 2)) - 1) * 2 + 1)
++
++/* Work around OpenVMS incompatibility with C99.  */
++#if !defined LLONG_MAX && defined __INT64_MAX
++# define LLONG_MAX __INT64_MAX
++# define LLONG_MIN __INT64_MIN
++#endif
+ 
+ /* This include file assumes that signed types are two's complement without
+    padding bits; the above macros have undefined behavior otherwise.
+@@ -84,10 +94,15 @@ verify (TYPE_MAXIMUM (long int) == LONG_MAX);
+ verify (TYPE_MINIMUM (long long int) == LLONG_MIN);
+ verify (TYPE_MAXIMUM (long long int) == LLONG_MAX);
+ #endif
++/* Similarly, sanity-check one ISO/IEC TS 18661-1:2014 macro if defined.  */
++#ifdef UINT_WIDTH
++verify (TYPE_WIDTH (unsigned int) == UINT_WIDTH);
++#endif
+ 
+ /* Does the __typeof__ keyword work?  This could be done by
+    'configure', but for now it's easier to do it by hand.  */
+-#if (2 <= __GNUC__ || defined __IBM__TYPEOF__ \
++#if (2 <= __GNUC__ \
++     || (1210 <= __IBMC__ && defined __IBM__TYPEOF__) \
+      || (0x5110 <= __SUNPRO_C && !__STDC__))
+ # define _GL_HAVE___TYPEOF__ 1
+ #else
+@@ -116,8 +131,7 @@ verify (TYPE_MAXIMUM (long long int) == LLONG_MAX);
+    signed, this macro may overestimate the true bound by one byte when
+    applied to unsigned types of size 2, 4, 16, ... bytes.  */
+ #define INT_STRLEN_BOUND(t)                                     \
+-  (INT_BITS_STRLEN_BOUND (sizeof (t) * CHAR_BIT                 \
+-                          - _GL_SIGNED_TYPE_OR_EXPR (t))        \
++  (INT_BITS_STRLEN_BOUND (TYPE_WIDTH (t) - _GL_SIGNED_TYPE_OR_EXPR (t)) \
+    + _GL_SIGNED_TYPE_OR_EXPR (t))
+ 
+ /* Bound on buffer size needed to represent an integer type or expression T,
+@@ -222,20 +236,23 @@ verify (TYPE_MAXIMUM (long long int) == LLONG_MAX);
+    ? (a) < (min) >> (b)                                 \
+    : (max) >> (b) < (a))
+ 
+-/* True if __builtin_add_overflow (A, B, P) works when P is null.  */
+-#define _GL_HAS_BUILTIN_OVERFLOW_WITH_NULL (7 <= __GNUC__)
++/* True if __builtin_add_overflow (A, B, P) works when P is non-null.  */
++#define _GL_HAS_BUILTIN_OVERFLOW (5 <= __GNUC__)
++
++/* True if __builtin_add_overflow_p (A, B, C) works.  */
++#define _GL_HAS_BUILTIN_OVERFLOW_P (7 <= __GNUC__)
+ 
+ /* The _GL*_OVERFLOW macros have the same restrictions as the
+    *_RANGE_OVERFLOW macros, except that they do not assume that operands
+    (e.g., A and B) have the same type as MIN and MAX.  Instead, they assume
+    that the result (e.g., A + B) has that type.  */
+-#if _GL_HAS_BUILTIN_OVERFLOW_WITH_NULL
+-# define _GL_ADD_OVERFLOW(a, b, min, max)
+-   __builtin_add_overflow (a, b, (__typeof__ ((a) + (b)) *) 0)
+-# define _GL_SUBTRACT_OVERFLOW(a, b, min, max)
+-   __builtin_sub_overflow (a, b, (__typeof__ ((a) - (b)) *) 0)
+-# define _GL_MULTIPLY_OVERFLOW(a, b, min, max)
+-   __builtin_mul_overflow (a, b, (__typeof__ ((a) * (b)) *) 0)
++#if _GL_HAS_BUILTIN_OVERFLOW_P
++# define _GL_ADD_OVERFLOW(a, b, min, max)                               \
++   __builtin_add_overflow_p (a, b, (__typeof__ ((a) + (b))) 0)
++# define _GL_SUBTRACT_OVERFLOW(a, b, min, max)                          \
++   __builtin_sub_overflow_p (a, b, (__typeof__ ((a) - (b))) 0)
++# define _GL_MULTIPLY_OVERFLOW(a, b, min, max)                          \
++   __builtin_mul_overflow_p (a, b, (__typeof__ ((a) * (b))) 0)
+ #else
+ # define _GL_ADD_OVERFLOW(a, b, min, max)                                \
+    ((min) < 0 ? INT_ADD_RANGE_OVERFLOW (a, b, min, max)                  \
+@@ -315,7 +332,7 @@ verify (TYPE_MAXIMUM (long long int) == LLONG_MAX);
+   _GL_BINARY_OP_OVERFLOW (a, b, _GL_ADD_OVERFLOW)
+ #define INT_SUBTRACT_OVERFLOW(a, b) \
+   _GL_BINARY_OP_OVERFLOW (a, b, _GL_SUBTRACT_OVERFLOW)
+-#if _GL_HAS_BUILTIN_OVERFLOW_WITH_NULL
++#if _GL_HAS_BUILTIN_OVERFLOW_P
+ # define INT_NEGATE_OVERFLOW(a) INT_SUBTRACT_OVERFLOW (0, a)
+ #else
+ # define INT_NEGATE_OVERFLOW(a) \
+@@ -349,10 +366,6 @@ verify (TYPE_MAXIMUM (long long int) == LLONG_MAX);
+ #define INT_MULTIPLY_WRAPV(a, b, r) \
+   _GL_INT_OP_WRAPV (a, b, r, *, __builtin_mul_overflow, INT_MULTIPLY_OVERFLOW)
+ 
+-#ifndef __has_builtin
+-# define __has_builtin(x) 0
+-#endif
+-
+ /* Nonzero if this compiler has GCC bug 68193 or Clang bug 25390.  See:
+    https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68193
+    https://llvm.org/bugs/show_bug.cgi?id=25390
+@@ -369,7 +382,7 @@ verify (TYPE_MAXIMUM (long long int) == LLONG_MAX);
+    the operation.  BUILTIN is the builtin operation, and OVERFLOW the
+    overflow predicate.  Return 1 if the result overflows.  See above
+    for restrictions.  */
+-#if 5 <= __GNUC__ || __has_builtin (__builtin_add_overflow)
++#if _GL_HAS_BUILTIN_OVERFLOW
+ # define _GL_INT_OP_WRAPV(a, b, r, op, builtin, overflow) builtin (a, b, r)
+ #elif 201112 <= __STDC_VERSION__ && !_GL__GENERIC_BOGUS
+ # define _GL_INT_OP_WRAPV(a, b, r, op, builtin, overflow) \
+@@ -412,7 +425,7 @@ verify (TYPE_MAXIMUM (long long int) == LLONG_MAX);
+ # else
+ #  define _GL_INT_OP_WRAPV_LONGISH(a, b, r, op, overflow) \
+     _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned long int, \
+-                     long int, LONG_MIN, LONG_MAX))
++                     long int, LONG_MIN, LONG_MAX)
+ # endif
+ #endif
+ 
+diff --git a/lib/gltests/intprops.h b/lib/gltests/intprops.h
+index e1fce5c..eb06b69 100644
+--- a/lib/gltests/intprops.h
++++ b/lib/gltests/intprops.h
+@@ -1,18 +1,18 @@
+ /* intprops.h -- properties of integer types
+ 
+-   Copyright (C) 2001-2016 Free Software Foundation, Inc.
++   Copyright (C) 2001-2017 Free Software Foundation, Inc.
+ 
+    This program 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 3 of the License, or
++   under the terms of the GNU Lesser General Public License as published
++   by the Free Software Foundation; either version 2.1 of the License, or
+    (at your option) any later version.
+ 
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+-   GNU General Public License for more details.
++   GNU Lesser General Public License for more details.
+ 
+-   You should have received a copy of the GNU General Public License
++   You should have received a copy of the GNU Lesser General Public License
+    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+ 
+ /* Written by Paul Eggert.  */
+@@ -47,12 +47,16 @@
+ 
+ /* Minimum and maximum values for integer types and expressions.  */
+ 
++/* The width in bits of the integer type or expression T.
++   Padding bits are not supported; this is checked at compile-time below.  */
++#define TYPE_WIDTH(t) (sizeof (t) * CHAR_BIT)
++
+ /* The maximum and minimum values for the integer type T.  */
+ #define TYPE_MINIMUM(t) ((t) ~ TYPE_MAXIMUM (t))
+ #define TYPE_MAXIMUM(t)                                                 \
+   ((t) (! TYPE_SIGNED (t)                                               \
+         ? (t) -1                                                        \
+-        : ((((t) 1 << (sizeof (t) * CHAR_BIT - 2)) - 1) * 2 + 1)))
++        : ((((t) 1 << (TYPE_WIDTH (t) - 2)) - 1) * 2 + 1)))
+ 
+ /* The maximum and minimum values for the type of the expression E,
+    after integer promotion.  E should not have side effects.  */
+@@ -65,7 +69,13 @@
+    ? _GL_SIGNED_INT_MAXIMUM (e)                                         \
+    : _GL_INT_NEGATE_CONVERT (e, 1))
+ #define _GL_SIGNED_INT_MAXIMUM(e)                                       \
+-  (((_GL_INT_CONVERT (e, 1) << (sizeof ((e) + 0) * CHAR_BIT - 2)) - 1) * 2 + 1)
++  (((_GL_INT_CONVERT (e, 1) << (TYPE_WIDTH ((e) + 0) - 2)) - 1) * 2 + 1)
++
++/* Work around OpenVMS incompatibility with C99.  */
++#if !defined LLONG_MAX && defined __INT64_MAX
++# define LLONG_MAX __INT64_MAX
++# define LLONG_MIN __INT64_MIN
++#endif
+ 
+ /* This include file assumes that signed types are two's complement without
+    padding bits; the above macros have undefined behavior otherwise.
+@@ -84,10 +94,15 @@ verify (TYPE_MAXIMUM (long int) == LONG_MAX);
+ verify (TYPE_MINIMUM (long long int) == LLONG_MIN);
+ verify (TYPE_MAXIMUM (long long int) == LLONG_MAX);
+ #endif
++/* Similarly, sanity-check one ISO/IEC TS 18661-1:2014 macro if defined.  */
++#ifdef UINT_WIDTH
++verify (TYPE_WIDTH (unsigned int) == UINT_WIDTH);
++#endif
+ 
+ /* Does the __typeof__ keyword work?  This could be done by
+    'configure', but for now it's easier to do it by hand.  */
+-#if (2 <= __GNUC__ || defined __IBM__TYPEOF__ \
++#if (2 <= __GNUC__ \
++     || (1210 <= __IBMC__ && defined __IBM__TYPEOF__) \
+      || (0x5110 <= __SUNPRO_C && !__STDC__))
+ # define _GL_HAVE___TYPEOF__ 1
+ #else
+@@ -116,8 +131,7 @@ verify (TYPE_MAXIMUM (long long int) == LLONG_MAX);
+    signed, this macro may overestimate the true bound by one byte when
+    applied to unsigned types of size 2, 4, 16, ... bytes.  */
+ #define INT_STRLEN_BOUND(t)                                     \
+-  (INT_BITS_STRLEN_BOUND (sizeof (t) * CHAR_BIT                 \
+-                          - _GL_SIGNED_TYPE_OR_EXPR (t))        \
++  (INT_BITS_STRLEN_BOUND (TYPE_WIDTH (t) - _GL_SIGNED_TYPE_OR_EXPR (t)) \
+    + _GL_SIGNED_TYPE_OR_EXPR (t))
+ 
+ /* Bound on buffer size needed to represent an integer type or expression T,
+@@ -222,20 +236,23 @@ verify (TYPE_MAXIMUM (long long int) == LLONG_MAX);
+    ? (a) < (min) >> (b)                                 \
+    : (max) >> (b) < (a))
+ 
+-/* True if __builtin_add_overflow (A, B, P) works when P is null.  */
+-#define _GL_HAS_BUILTIN_OVERFLOW_WITH_NULL (7 <= __GNUC__)
++/* True if __builtin_add_overflow (A, B, P) works when P is non-null.  */
++#define _GL_HAS_BUILTIN_OVERFLOW (5 <= __GNUC__)
++
++/* True if __builtin_add_overflow_p (A, B, C) works.  */
++#define _GL_HAS_BUILTIN_OVERFLOW_P (7 <= __GNUC__)
+ 
+ /* The _GL*_OVERFLOW macros have the same restrictions as the
+    *_RANGE_OVERFLOW macros, except that they do not assume that operands
+    (e.g., A and B) have the same type as MIN and MAX.  Instead, they assume
+    that the result (e.g., A + B) has that type.  */
+-#if _GL_HAS_BUILTIN_OVERFLOW_WITH_NULL
+-# define _GL_ADD_OVERFLOW(a, b, min, max)
+-   __builtin_add_overflow (a, b, (__typeof__ ((a) + (b)) *) 0)
+-# define _GL_SUBTRACT_OVERFLOW(a, b, min, max)
+-   __builtin_sub_overflow (a, b, (__typeof__ ((a) - (b)) *) 0)
+-# define _GL_MULTIPLY_OVERFLOW(a, b, min, max)
+-   __builtin_mul_overflow (a, b, (__typeof__ ((a) * (b)) *) 0)
++#if _GL_HAS_BUILTIN_OVERFLOW_P
++# define _GL_ADD_OVERFLOW(a, b, min, max)                               \
++   __builtin_add_overflow_p (a, b, (__typeof__ ((a) + (b))) 0)
++# define _GL_SUBTRACT_OVERFLOW(a, b, min, max)                          \
++   __builtin_sub_overflow_p (a, b, (__typeof__ ((a) - (b))) 0)
++# define _GL_MULTIPLY_OVERFLOW(a, b, min, max)                          \
++   __builtin_mul_overflow_p (a, b, (__typeof__ ((a) * (b))) 0)
+ #else
+ # define _GL_ADD_OVERFLOW(a, b, min, max)                                \
+    ((min) < 0 ? INT_ADD_RANGE_OVERFLOW (a, b, min, max)                  \
+@@ -315,7 +332,7 @@ verify (TYPE_MAXIMUM (long long int) == LLONG_MAX);
+   _GL_BINARY_OP_OVERFLOW (a, b, _GL_ADD_OVERFLOW)
+ #define INT_SUBTRACT_OVERFLOW(a, b) \
+   _GL_BINARY_OP_OVERFLOW (a, b, _GL_SUBTRACT_OVERFLOW)
+-#if _GL_HAS_BUILTIN_OVERFLOW_WITH_NULL
++#if _GL_HAS_BUILTIN_OVERFLOW_P
+ # define INT_NEGATE_OVERFLOW(a) INT_SUBTRACT_OVERFLOW (0, a)
+ #else
+ # define INT_NEGATE_OVERFLOW(a) \
+@@ -349,10 +366,6 @@ verify (TYPE_MAXIMUM (long long int) == LLONG_MAX);
+ #define INT_MULTIPLY_WRAPV(a, b, r) \
+   _GL_INT_OP_WRAPV (a, b, r, *, __builtin_mul_overflow, INT_MULTIPLY_OVERFLOW)
+ 
+-#ifndef __has_builtin
+-# define __has_builtin(x) 0
+-#endif
+-
+ /* Nonzero if this compiler has GCC bug 68193 or Clang bug 25390.  See:
+    https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68193
+    https://llvm.org/bugs/show_bug.cgi?id=25390
+@@ -369,7 +382,7 @@ verify (TYPE_MAXIMUM (long long int) == LLONG_MAX);
+    the operation.  BUILTIN is the builtin operation, and OVERFLOW the
+    overflow predicate.  Return 1 if the result overflows.  See above
+    for restrictions.  */
+-#if 5 <= __GNUC__ || __has_builtin (__builtin_add_overflow)
++#if _GL_HAS_BUILTIN_OVERFLOW
+ # define _GL_INT_OP_WRAPV(a, b, r, op, builtin, overflow) builtin (a, b, r)
+ #elif 201112 <= __STDC_VERSION__ && !_GL__GENERIC_BOGUS
+ # define _GL_INT_OP_WRAPV(a, b, r, op, builtin, overflow) \
+@@ -412,7 +425,7 @@ verify (TYPE_MAXIMUM (long long int) == LLONG_MAX);
+ # else
+ #  define _GL_INT_OP_WRAPV_LONGISH(a, b, r, op, overflow) \
+     _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned long int, \
+-                     long int, LONG_MIN, LONG_MAX))
++                     long int, LONG_MIN, LONG_MAX)
+ # endif
+ #endif
+ 
+-- 
+1.9.1
+
diff --git a/import-layers/yocto-poky/meta/recipes-extended/libidn/libidn_1.33.bb b/import-layers/yocto-poky/meta/recipes-extended/libidn/libidn_1.33.bb
index d3d0f55..9e8bdba 100644
--- a/import-layers/yocto-poky/meta/recipes-extended/libidn/libidn_1.33.bb
+++ b/import-layers/yocto-poky/meta/recipes-extended/libidn/libidn_1.33.bb
@@ -19,6 +19,8 @@
            file://avoid_AM_PROG_MKDIR_P_warning_error_with_automake_1.12.patch \
            file://dont-depend-on-help2man.patch \
            file://0001-idn-fix-printf-format-security-warnings.patch \
+           file://gcc7-compatibility.patch \
+           file://0001-idn-format-security-warnings.patch \
 "
 
 SRC_URI[md5sum] = "a9aa7e003665de9c82bd3f9fc6ccf308"
diff --git a/import-layers/yocto-poky/meta/recipes-extended/libmnl/libmnl_1.0.4.bb b/import-layers/yocto-poky/meta/recipes-extended/libmnl/libmnl_1.0.4.bb
new file mode 100644
index 0000000..b458799
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-extended/libmnl/libmnl_1.0.4.bb
@@ -0,0 +1,13 @@
+SUMMARY = "Minimalistic user-space Netlink utility library"
+DESCRIPTION = "Minimalistic user-space library oriented to Netlink developers, providing \
+    functions for common tasks in parsing, validating, and constructing both the Netlink header and TLVs."
+HOMEPAGE = "http://www.netfilter.org/projects/libmnl/index.html"
+SECTION = "libs"
+LICENSE = "LGPLv2.1+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
+
+SRC_URI = "http://www.netfilter.org/projects/libmnl/files/libmnl-${PV}.tar.bz2;name=tar"
+SRC_URI[tar.md5sum] = "be9b4b5328c6da1bda565ac5dffadb2d"
+SRC_URI[tar.sha256sum] = "171f89699f286a5854b72b91d06e8f8e3683064c5901fb09d954a9ab6f551f81"
+
+inherit autotools pkgconfig
diff --git a/import-layers/yocto-poky/meta/recipes-extended/libnsl/libnsl2/0001-include-sys-cdefs.h-explicitly.patch b/import-layers/yocto-poky/meta/recipes-extended/libnsl/libnsl2/0001-include-sys-cdefs.h-explicitly.patch
new file mode 100644
index 0000000..bd647ac
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-extended/libnsl/libnsl2/0001-include-sys-cdefs.h-explicitly.patch
@@ -0,0 +1,68 @@
+From 508a0ff690dfebc17c4f55a5f81824ed549bed66 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 18 Apr 2017 09:13:33 -0700
+Subject: [PATCH 1/2] include sys/cdefs.h explicitly
+
+glibc includes this header indirectly but not musl
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+Upstream-Status: Pending
+
+ src/rpcsvc/nis.h    | 1 +
+ src/rpcsvc/nislib.h | 1 +
+ src/rpcsvc/ypclnt.h | 1 +
+ src/rpcsvc/ypupd.h  | 1 +
+ 4 files changed, 4 insertions(+)
+
+diff --git a/src/rpcsvc/nis.h b/src/rpcsvc/nis.h
+index 933c4d9..88cbca0 100644
+--- a/src/rpcsvc/nis.h
++++ b/src/rpcsvc/nis.h
+@@ -32,6 +32,7 @@
+ #ifndef _RPCSVC_NIS_H
+ #define _RPCSVC_NIS_H 1
+ 
++#include <sys/cdefs.h>
+ #include <features.h>
+ #include <rpc/rpc.h>
+ #include <rpcsvc/nis_tags.h>
+diff --git a/src/rpcsvc/nislib.h b/src/rpcsvc/nislib.h
+index a59c19b..a53fab3 100644
+--- a/src/rpcsvc/nislib.h
++++ b/src/rpcsvc/nislib.h
+@@ -19,6 +19,7 @@
+ #ifndef	__RPCSVC_NISLIB_H__
+ #define	__RPCSVC_NISLIB_H__
+ 
++#include <sys/cdefs.h>
+ #include <features.h>
+ 
+ __BEGIN_DECLS
+diff --git a/src/rpcsvc/ypclnt.h b/src/rpcsvc/ypclnt.h
+index fe43fd4..a686b61 100644
+--- a/src/rpcsvc/ypclnt.h
++++ b/src/rpcsvc/ypclnt.h
+@@ -20,6 +20,7 @@
+ #ifndef	__RPCSVC_YPCLNT_H__
+ #define	__RPCSVC_YPCLNT_H__
+ 
++#include <sys/cdefs.h>
+ #include <features.h>
+ 
+ /* Some defines */
+diff --git a/src/rpcsvc/ypupd.h b/src/rpcsvc/ypupd.h
+index d07fd4d..2c57301 100644
+--- a/src/rpcsvc/ypupd.h
++++ b/src/rpcsvc/ypupd.h
+@@ -33,6 +33,7 @@
+ #ifndef __RPCSVC_YPUPD_H__
+ #define __RPCSVC_YPUPD_H__
+ 
++#include <sys/cdefs.h>
+ #include <features.h>
+ 
+ #include <rpc/rpc.h>
+-- 
+2.12.2
+
diff --git a/import-layers/yocto-poky/meta/recipes-extended/libnsl/libnsl2/0001-nis_call.c-Include-stdint.h-for-uintptr_t-definition.patch b/import-layers/yocto-poky/meta/recipes-extended/libnsl/libnsl2/0001-nis_call.c-Include-stdint.h-for-uintptr_t-definition.patch
new file mode 100644
index 0000000..e9ae517
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-extended/libnsl/libnsl2/0001-nis_call.c-Include-stdint.h-for-uintptr_t-definition.patch
@@ -0,0 +1,27 @@
+From d71cbeb3b76e54778a4d5eec6d387cce653537ca Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 9 Jun 2017 09:49:35 -0700
+Subject: [PATCH] nis_call.c: Include stdint.h for uintptr_t definition
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+Upstream-Status: Pending
+
+ src/nisplus/nis_call.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/nisplus/nis_call.c b/src/nisplus/nis_call.c
+index 1a2b90c..1dc982d 100644
+--- a/src/nisplus/nis_call.c
++++ b/src/nisplus/nis_call.c
+@@ -23,6 +23,7 @@
+ #include <errno.h>
+ #include <fcntl.h>
+ #include <string.h>
++#include <stdint.h>
+ #include <libintl.h>
+ #include <rpc/rpc.h>
+ #include <rpc/auth.h>
+-- 
+2.13.1
+
diff --git a/import-layers/yocto-poky/meta/recipes-extended/libnsl/libnsl2/0002-Define-glibc-specific-macros.patch b/import-layers/yocto-poky/meta/recipes-extended/libnsl/libnsl2/0002-Define-glibc-specific-macros.patch
new file mode 100644
index 0000000..75fda4b
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-extended/libnsl/libnsl2/0002-Define-glibc-specific-macros.patch
@@ -0,0 +1,57 @@
+From 60282514ea01af004d7f9e66dd3929223b7d2e7b Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 18 Apr 2017 09:16:12 -0700
+Subject: [PATCH 2/2] Define glibc specific macros
+
+Check and define
+rawmemchr, __asprintf, __mempcpy, __strtok_r
+__always_inline, TEMP_FAILURE_RETRY
+
+if not existing. Helps compiling with musl
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+Upstream-Status: Pending
+
+diff --git a/src/rpcsvc/nis.h b/src/rpcsvc/nis.h
+index 88cbca0..23fc20c 100644
+--- a/src/rpcsvc/nis.h
++++ b/src/rpcsvc/nis.h
+@@ -57,6 +57,34 @@ __BEGIN_DECLS
+  *                                              <kukuk@suse.de>
+  */
+ 
++#ifndef rawmemchr
++#define rawmemchr(s,c) memchr((s),(size_t)-1,(c))
++#endif
++
++#ifndef __asprintf
++#define __asprintf asprintf
++#endif
++
++#ifndef __mempcpy
++#define __mempcpy mempcpy
++#endif
++
++#ifndef __strtok_r
++#define __strtok_r strtok_r
++#endif
++
++#ifndef __always_inline
++#define __always_inline __attribute__((__always_inline__))
++#endif
++
++#ifndef TEMP_FAILURE_RETRY
++#define TEMP_FAILURE_RETRY(exp) ({ \
++typeof (exp) _rc; \
++ do { \
++  _rc = (exp); \
++ } while (_rc == -1 && errno == EINTR); \
++ _rc; })
++#endif
+ 
+ #ifndef __nis_object_h
+ #define __nis_object_h
+-- 
+2.12.2
+
diff --git a/import-layers/yocto-poky/meta/recipes-extended/libnsl/libnsl2_git.bb b/import-layers/yocto-poky/meta/recipes-extended/libnsl/libnsl2_git.bb
new file mode 100644
index 0000000..a539148
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-extended/libnsl/libnsl2_git.bb
@@ -0,0 +1,37 @@
+# Copyright (C) 2017 Khem Raj <raj.khem@gmail.com>
+# Released under the MIT license (see COPYING.MIT for the terms)
+
+SUMMARY = "Library containing NIS functions using TI-RPC (IPv6 enabled)"
+DESCRIPTION = "This library contains the public client interface for NIS(YP) and NIS+\
+               it was part of glibc and now is standalone packages. it also supports IPv6"
+HOMEPAGE = "https://github.com/thkukuk/libnsl"
+LICENSE = "LGPL-2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
+SECTION = "libs"
+DEPENDS = "libtirpc"
+DEPENDS_append_libc-musl = " bsd-headers"
+
+PV = "1.0.5+git${SRCPV}"
+
+SRCREV = "dfa2f313524aff9243c4d8ce1bace73786478356"
+
+SRC_URI = "git://github.com/thkukuk/libnsl \
+           file://0001-include-sys-cdefs.h-explicitly.patch \
+           file://0002-Define-glibc-specific-macros.patch \
+           file://0001-nis_call.c-Include-stdint.h-for-uintptr_t-definition.patch \
+          "
+
+S = "${WORKDIR}/git"
+
+inherit autotools pkgconfig gettext
+
+EXTRA_OECONF += "--libdir=${libdir}/nsl --includedir=${includedir}/nsl"
+
+do_install_append() {
+	install -d ${D}${libdir}
+	mv ${D}${libdir}/nsl/pkgconfig ${D}${libdir}
+}
+
+FILES_${PN} += "${libdir}/nsl/*.so.*"
+FILES_${PN}-dev += "${includedir}/nsl ${libdir}/nsl/*.so"
+FILES_${PN}-staticdev += "${libdir}/nsl/*.a"
diff --git a/import-layers/yocto-poky/meta/recipes-extended/libsolv/libsolv/0001-repo_rpmdb.c-increase-MAX_HDR_CNT-and-MAX_HDR_DSIZE.patch b/import-layers/yocto-poky/meta/recipes-extended/libsolv/libsolv/0001-repo_rpmdb.c-increase-MAX_HDR_CNT-and-MAX_HDR_DSIZE.patch
new file mode 100644
index 0000000..4a4e5cb
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-extended/libsolv/libsolv/0001-repo_rpmdb.c-increase-MAX_HDR_CNT-and-MAX_HDR_DSIZE.patch
@@ -0,0 +1,35 @@
+From 1c4c935cb73ac1ccb9693df1a51ba218a22e8ca8 Mon Sep 17 00:00:00 2001
+From: Ming Liu <liu.ming50@gmail.com>
+Date: Sat, 30 Sep 2017 11:15:16 +0800
+Subject: [PATCH] repo_rpmdb.c: increase MAX_HDR_CNT and MAX_HDR_DSIZE
+
+Upstream-Status: Submitted [https://github.com/openSUSE/libsolv/pull/230]
+
+We encountered 'corrupt rpm' issues when installing extreme big RPM
+packages like the kernel-devsrc package of Yocto project.
+
+It can be fixed by increasing MAX_HDR_CNT and MAX_HDR_DSIZE per test.
+
+Signed-off-by: Ming Liu <liu.ming50@gmail.com>
+---
+ ext/repo_rpmdb.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/ext/repo_rpmdb.c b/ext/repo_rpmdb.c
+index c7000a9..7000835 100644
+--- a/ext/repo_rpmdb.c
++++ b/ext/repo_rpmdb.c
+@@ -170,8 +170,8 @@
+ #define MAX_SIG_CNT		0x100000
+ #define MAX_SIG_DSIZE		0x100000
+ 
+-#define MAX_HDR_CNT		0x100000
+-#define MAX_HDR_DSIZE		0x2000000
++#define MAX_HDR_CNT		0x200000
++#define MAX_HDR_DSIZE		0x4000000
+ 
+ typedef struct rpmhead {
+   int cnt;
+-- 
+2.7.4
+
diff --git a/import-layers/yocto-poky/meta/recipes-extended/libsolv/libsolv_0.6.26.bb b/import-layers/yocto-poky/meta/recipes-extended/libsolv/libsolv_0.6.28.bb
similarity index 82%
rename from import-layers/yocto-poky/meta/recipes-extended/libsolv/libsolv_0.6.26.bb
rename to import-layers/yocto-poky/meta/recipes-extended/libsolv/libsolv_0.6.28.bb
index 42d63ae..6c8f7fc 100644
--- a/import-layers/yocto-poky/meta/recipes-extended/libsolv/libsolv_0.6.26.bb
+++ b/import-layers/yocto-poky/meta/recipes-extended/libsolv/libsolv_0.6.28.bb
@@ -8,19 +8,20 @@
 DEPENDS = "expat zlib rpm"
 
 SRC_URI = "git://github.com/openSUSE/libsolv.git \
-           "
+           file://0001-repo_rpmdb.c-increase-MAX_HDR_CNT-and-MAX_HDR_DSIZE.patch \
+          "
 SRC_URI_append_libc-musl = " file://0001-Add-fallback-fopencookie-implementation.patch \
                              file://0002-Fixes-to-internal-fopencookie-implementation.patch \
                            "
 
-SRCREV = "ba32f8286d3deec6faaabc79762a4760e9af0a07"
+SRCREV = "b8a9ddd88eb4e0ab351eb55a53186b5dc5ac0825"
 UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+(\.\d+)+)"
 
 S = "${WORKDIR}/git"
 
 inherit cmake
 
-EXTRA_OECMAKE = "-DLIB=${baselib} -DMULTI_SEMANTICS=ON -DENABLE_RPMMD=ON -DENABLE_RPMDB=ON"
+EXTRA_OECMAKE = "-DLIB=${baselib} -DMULTI_SEMANTICS=ON -DENABLE_RPMMD=ON -DENABLE_RPMDB=ON -DENABLE_COMPLEX_DEPS=ON"
 
 PACKAGES =+ "${PN}-tools ${PN}ext"
 
diff --git a/import-layers/yocto-poky/meta/recipes-extended/libtirpc/libtirpc/0001-Add-missing-rwlock_unlocks-in-xprt_register.patch b/import-layers/yocto-poky/meta/recipes-extended/libtirpc/libtirpc/0001-Add-missing-rwlock_unlocks-in-xprt_register.patch
deleted file mode 100644
index 50613ba..0000000
--- a/import-layers/yocto-poky/meta/recipes-extended/libtirpc/libtirpc/0001-Add-missing-rwlock_unlocks-in-xprt_register.patch
+++ /dev/null
@@ -1,62 +0,0 @@
-Subject: [PATCH] Add missing rwlock_unlocks in xprt_register
-
-It looks like in b2c9430f46c4ac848957fb8adaac176a3f6ac03f when svc_run
-switched to poll, an early return was added, but the rwlock was not
-unlocked.
-
-I observed that rpcbind built against libtirpc-1.0.1 would handle only
-one request before hanging, and tracked it down to a missing
-rwlock_unlock here.
-
-Fixes: b2c9430f46c4 ('Use poll() instead of select() in svc_run()')
-
-Upstream-Status: Backport
-
-Signed-off-by: Michael Forney <mforney@mforney.org>
-Signed-off-by: Steve Dickson <steved@redhat.com>
-Signed-off-by: Maxin B. John <maxin.john@intel.com>
----
- src/svc.c | 7 ++++---
- 1 file changed, 4 insertions(+), 3 deletions(-)
-
-diff --git a/src/svc.c b/src/svc.c
-index 9c41445..b59467b 100644
---- a/src/svc.c
-+++ b/src/svc.c
-@@ -99,7 +99,7 @@ xprt_register (xprt)
-     {
-       __svc_xports = (SVCXPRT **) calloc (_rpc_dtablesize(), sizeof (SVCXPRT *));
-       if (__svc_xports == NULL)
--	return;
-+            goto unlock;
-     }
-   if (sock < _rpc_dtablesize())
-     {
-@@ -120,14 +120,14 @@ xprt_register (xprt)
-             svc_pollfd[i].fd = sock;
-             svc_pollfd[i].events = (POLLIN | POLLPRI |
-                                     POLLRDNORM | POLLRDBAND);
--            return;
-+            goto unlock;
-           }
- 
-       new_svc_pollfd = (struct pollfd *) realloc (svc_pollfd,
-                                                   sizeof (struct pollfd)
-                                                   * (svc_max_pollfd + 1));
-       if (new_svc_pollfd == NULL) /* Out of memory */
--        return;
-+        goto unlock;
-       svc_pollfd = new_svc_pollfd;
-       ++svc_max_pollfd;
- 
-@@ -135,6 +135,7 @@ xprt_register (xprt)
-       svc_pollfd[svc_max_pollfd - 1].events = (POLLIN | POLLPRI |
-                                                POLLRDNORM | POLLRDBAND);
-     }
-+unlock:
-   rwlock_unlock (&svc_fd_lock);
- }
- 
--- 
-2.5.3
-
diff --git a/import-layers/yocto-poky/meta/recipes-extended/libtirpc/libtirpc/0001-include-stdint.h-for-uintptr_t.patch b/import-layers/yocto-poky/meta/recipes-extended/libtirpc/libtirpc/0001-include-stdint.h-for-uintptr_t.patch
new file mode 100644
index 0000000..1fe9833
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-extended/libtirpc/libtirpc/0001-include-stdint.h-for-uintptr_t.patch
@@ -0,0 +1,32 @@
+From b80d3b573c1dade2b29b22f8acc3b9e2c7ddefd7 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 20 May 2017 13:36:43 -0700
+Subject: [PATCH] include stdint.h for uintptr_t
+
+Fixes
+| ../../libtirpc-1.0.1/src/xdr_sizeof.c:93:13: error: 'uintptr_t' undeclared (first use in this function); did you mean '__intptr_t'?
+|   if (len < (uintptr_t)xdrs->x_base) {
+|              ^~~~~~~~~
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+Upstream-Status: Pending
+
+ src/xdr_sizeof.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/xdr_sizeof.c b/src/xdr_sizeof.c
+index d23fbd1..79d6707 100644
+--- a/src/xdr_sizeof.c
++++ b/src/xdr_sizeof.c
+@@ -39,6 +39,7 @@
+ #include <rpc/xdr.h>
+ #include <sys/types.h>
+ #include <stdlib.h>
++#include <stdint.h>
+ #include "un-namespace.h"
+ 
+ /* ARGSUSED */
+-- 
+2.13.0
+
diff --git a/import-layers/yocto-poky/meta/recipes-extended/libtirpc/libtirpc/0001-replace-__bzero-with-memset-API.patch b/import-layers/yocto-poky/meta/recipes-extended/libtirpc/libtirpc/0001-replace-__bzero-with-memset-API.patch
new file mode 100644
index 0000000..d2b4da6
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-extended/libtirpc/libtirpc/0001-replace-__bzero-with-memset-API.patch
@@ -0,0 +1,30 @@
+From 20badc3e3608953fb5b36bb2e16fa51bd731aebc Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 18 Apr 2017 09:35:35 -0700
+Subject: [PATCH] replace __bzero() with memset() API
+
+memset is available across all libc implementation
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+Upstream-Status: Pending
+
+ src/des_impl.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/des_impl.c b/src/des_impl.c
+index 9dbccaf..15bec2a 100644
+--- a/src/des_impl.c
++++ b/src/des_impl.c
+@@ -588,7 +588,7 @@ _des_crypt (char *buf, unsigned len, struct desparams *desp)
+     }
+   tin0 = tin1 = tout0 = tout1 = xor0 = xor1 = 0;
+   tbuf[0] = tbuf[1] = 0;
+-  __bzero (schedule, sizeof (schedule));
++  memset (schedule, 0, sizeof (schedule));
+ 
+   return (1);
+ }
+-- 
+2.12.2
+
diff --git a/import-layers/yocto-poky/meta/recipes-extended/libtirpc/libtirpc/export_key_secretkey_is_set.patch b/import-layers/yocto-poky/meta/recipes-extended/libtirpc/libtirpc/export_key_secretkey_is_set.patch
new file mode 100644
index 0000000..a276ba2
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-extended/libtirpc/libtirpc/export_key_secretkey_is_set.patch
@@ -0,0 +1,24 @@
+Add key_secretkey_is_set to exported symbols map
+
+key_secret_is_set is a typo in libtirpc map
+Patch taken from
+
+https://sourceforge.net/p/libtirpc/discussion/637321/thread/fd73d431/
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Index: libtirpc-1.0.1/src/libtirpc.map
+===================================================================
+--- libtirpc-1.0.1.orig/src/libtirpc.map
++++ libtirpc-1.0.1/src/libtirpc.map
+@@ -298,7 +298,7 @@ TIRPC_0.3.2 {
+     key_gendes;
+     key_get_conv;
+     key_setsecret;
+-    key_secret_is_set;
++    key_secretkey_is_set;
+     key_setnet;
+     netname2host;
+     netname2user;
diff --git a/import-layers/yocto-poky/meta/recipes-extended/libtirpc/libtirpc/libtirpc-0.2.1-fortify.patch b/import-layers/yocto-poky/meta/recipes-extended/libtirpc/libtirpc/libtirpc-0.2.1-fortify.patch
deleted file mode 100644
index 4a785d3..0000000
--- a/import-layers/yocto-poky/meta/recipes-extended/libtirpc/libtirpc/libtirpc-0.2.1-fortify.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-Fix a possible overflow (reported by _FORTIFY_SOURCE=2)
-
-Ported from Gentoo
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-Index: libtirpc-0.2.1/src/getrpcport.c
-===================================================================
---- libtirpc-0.2.1.orig/src/getrpcport.c
-+++ libtirpc-0.2.1/src/getrpcport.c
-@@ -54,11 +54,11 @@ getrpcport(host, prognum, versnum, proto
- 
- 	if ((hp = gethostbyname(host)) == NULL)
- 		return (0);
-+	if (hp->h_length != sizeof(addr.sin_addr.s_addr))
-+		return (0);
- 	memset(&addr, 0, sizeof(addr));
- 	addr.sin_family = AF_INET;
- 	addr.sin_port =  0;
--	if (hp->h_length > sizeof(addr))
--	  hp->h_length = sizeof(addr);
- 	memcpy(&addr.sin_addr.s_addr, hp->h_addr, (size_t)hp->h_length);
- 	/* Inconsistent interfaces need casts! :-( */
- 	return (pmap_getport(&addr, (u_long)prognum, (u_long)versnum, 
diff --git a/import-layers/yocto-poky/meta/recipes-extended/libtirpc/libtirpc/remove-des-functionality.patch b/import-layers/yocto-poky/meta/recipes-extended/libtirpc/libtirpc/remove-des-functionality.patch
deleted file mode 100644
index 512e934..0000000
--- a/import-layers/yocto-poky/meta/recipes-extended/libtirpc/libtirpc/remove-des-functionality.patch
+++ /dev/null
@@ -1,144 +0,0 @@
-uclibc and musl does not provide des functionality. Lets disable it.
-
-Upstream-Status: Inappropriate [uclibc and musl specific]
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
-Signed-off-by: Maxin B. John <maxin.john@intel.com>
----
-diff -Naur libtirpc-1.0.1-orig/src/Makefile.am libtirpc-1.0.1/src/Makefile.am
---- libtirpc-1.0.1-orig/src/Makefile.am	2015-10-30 17:15:14.000000000 +0200
-+++ libtirpc-1.0.1/src/Makefile.am	2015-12-21 15:56:17.094702429 +0200
-@@ -22,9 +22,8 @@
-         pmap_prot.c pmap_prot2.c pmap_rmt.c rpc_prot.c rpc_commondata.c \
-         rpc_callmsg.c rpc_generic.c rpc_soc.c rpcb_clnt.c rpcb_prot.c \
-         rpcb_st_xdr.c svc.c svc_auth.c svc_dg.c svc_auth_unix.c svc_auth_none.c \
--	svc_auth_des.c \
-         svc_generic.c svc_raw.c svc_run.c svc_simple.c svc_vc.c getpeereid.c \
--        auth_time.c auth_des.c authdes_prot.c debug.c
-+        debug.c
- 
- ## XDR
- libtirpc_la_SOURCES += xdr.c xdr_rec.c xdr_array.c xdr_float.c xdr_mem.c xdr_reference.c xdr_stdio.c xdr_sizeof.c
-@@ -41,8 +40,8 @@
-     libtirpc_la_CFLAGS = -DHAVE_RPCSEC_GSS $(GSSAPI_CFLAGS)
- endif
- 
--libtirpc_la_SOURCES += key_call.c key_prot_xdr.c getpublickey.c
--libtirpc_la_SOURCES += netname.c netnamer.c rpcdname.c rtime.c
-+#libtirpc_la_SOURCES += key_call.c key_prot_xdr.c getpublickey.c
-+#libtirpc_la_SOURCES += netname.c netnamer.c rpcdname.c rtime.c
- 
- CLEANFILES	       = cscope.* *~
- DISTCLEANFILES	       = Makefile.in
-diff -Naur libtirpc-1.0.1-orig/src/rpc_soc.c libtirpc-1.0.1/src/rpc_soc.c
---- libtirpc-1.0.1-orig/src/rpc_soc.c	2015-10-30 17:15:14.000000000 +0200
-+++ libtirpc-1.0.1/src/rpc_soc.c	2015-12-21 15:56:17.095702416 +0200
-@@ -61,7 +61,6 @@
- #include <string.h>
- #include <unistd.h>
- #include <fcntl.h>
--#include <rpcsvc/nis.h>
- 
- #include "rpc_com.h"
- 
-@@ -522,86 +521,6 @@
- }
- 
- /*
-- * Create the client des authentication object. Obsoleted by
-- * authdes_seccreate().
-- */
--AUTH *
--authdes_create(servername, window, syncaddr, ckey)
--	char *servername;		/* network name of server */
--	u_int window;			/* time to live */
--	struct sockaddr *syncaddr;	/* optional hostaddr to sync with */
--	des_block *ckey;		/* optional conversation key to use */
--{
--	AUTH *nauth;
--	char hostname[NI_MAXHOST];
--
--	if (syncaddr) {
--		/*
--		 * Change addr to hostname, because that is the way
--		 * new interface takes it.
--		 */
--	        switch (syncaddr->sa_family) {
--		case AF_INET:
--		  if (getnameinfo(syncaddr, sizeof(struct sockaddr_in), hostname,
--				  sizeof hostname, NULL, 0, 0) != 0)
--		    goto fallback;
--		  break;
--		case AF_INET6:
--		  if (getnameinfo(syncaddr, sizeof(struct sockaddr_in6), hostname,
--				  sizeof hostname, NULL, 0, 0) != 0)
--		    goto fallback;
--		  break;
--		default:
--		  goto fallback;
--		}
--		nauth = authdes_seccreate(servername, window, hostname, ckey);
--		return (nauth);
--	}
--fallback:
--	return authdes_seccreate(servername, window, NULL, ckey);
--}
--
--/*
-- * Create the client des authentication object. Obsoleted by
-- * authdes_pk_seccreate().
-- */
--extern AUTH *authdes_pk_seccreate(const char *, netobj *, u_int, const char *,
--        const des_block *, nis_server *);
--
--AUTH *
--authdes_pk_create(servername, pkey, window, syncaddr, ckey)
--	char *servername;		/* network name of server */
--	netobj *pkey;			/* public key */
--	u_int window;			/* time to live */
--	struct sockaddr *syncaddr;	/* optional hostaddr to sync with */
--	des_block *ckey;		/* optional conversation key to use */
--{
--	AUTH *nauth;
--	char hostname[NI_MAXHOST];
--
--	if (syncaddr) {
--		/*
--		 * Change addr to hostname, because that is the way
--		 * new interface takes it.
--		 */
--	        switch (syncaddr->sa_family) {
--		case AF_INET:
--		  if (getnameinfo(syncaddr, sizeof(struct sockaddr_in), hostname,
--				  sizeof hostname, NULL, 0, 0) != 0)
--		    goto fallback;
--		  break;
--		default:
--		  goto fallback;
--		}
--		nauth = authdes_pk_seccreate(servername, pkey, window, hostname, ckey, NULL);
--		return (nauth);
--	}
--fallback:
--	return authdes_pk_seccreate(servername, pkey, window, NULL, ckey, NULL);
--}
--
--
--/*
-  * Create a client handle for a unix connection. Obsoleted by clnt_vc_create()
-  */
- CLIENT *
-diff -Naur libtirpc-1.0.1-orig/src/svc_auth.c libtirpc-1.0.1/src/svc_auth.c
---- libtirpc-1.0.1-orig/src/svc_auth.c	2015-10-30 17:15:14.000000000 +0200
-+++ libtirpc-1.0.1/src/svc_auth.c	2015-12-21 15:56:17.095702416 +0200
-@@ -114,9 +114,6 @@
- 	case AUTH_SHORT:
- 		dummy = _svcauth_short(rqst, msg);
- 		return (dummy);
--	case AUTH_DES:
--		dummy = _svcauth_des(rqst, msg);
--		return (dummy);
- #ifdef HAVE_RPCSEC_GSS
- 	case RPCSEC_GSS:
- 		dummy = _svcauth_gss(rqst, msg, no_dispatch);
diff --git a/import-layers/yocto-poky/meta/recipes-extended/libtirpc/libtirpc_1.0.1.bb b/import-layers/yocto-poky/meta/recipes-extended/libtirpc/libtirpc_1.0.2.bb
similarity index 68%
rename from import-layers/yocto-poky/meta/recipes-extended/libtirpc/libtirpc_1.0.1.bb
rename to import-layers/yocto-poky/meta/recipes-extended/libtirpc/libtirpc_1.0.2.bb
index e321d47..f9718c5 100644
--- a/import-layers/yocto-poky/meta/recipes-extended/libtirpc/libtirpc_1.0.1.bb
+++ b/import-layers/yocto-poky/meta/recipes-extended/libtirpc/libtirpc_1.0.2.bb
@@ -11,19 +11,17 @@
 
 SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BP}.tar.bz2;name=libtirpc \
            ${GENTOO_MIRROR}/${BPN}-glibc-nfs.tar.xz;name=glibc-nfs \
-           file://libtirpc-0.2.1-fortify.patch \
-           file://0001-Add-missing-rwlock_unlocks-in-xprt_register.patch \
-          "
+           file://export_key_secretkey_is_set.patch \
+           file://0001-replace-__bzero-with-memset-API.patch \
+           file://0001-include-stdint.h-for-uintptr_t.patch \
+           "
 
-SRC_URI_append_libc-uclibc = " file://remove-des-functionality.patch \
-                             "
-
-SRC_URI_append_libc-musl = " file://remove-des-functionality.patch \
+SRC_URI_append_libc-musl = " \
                              file://Use-netbsd-queue.h.patch \
                            "
 
-SRC_URI[libtirpc.md5sum] = "36ce1c0ff80863bb0839d54aa0b94014"
-SRC_URI[libtirpc.sha256sum] = "5156974f31be7ccbc8ab1de37c4739af6d9d42c87b1d5caf4835dda75fcbb89e"
+SRC_URI[libtirpc.md5sum] = "d5a37f1dccec484f9cabe2b97e54e9a6"
+SRC_URI[libtirpc.sha256sum] = "723c5ce92706cbb601a8db09110df1b4b69391643158f20ff587e20e7c5f90f5"
 SRC_URI[glibc-nfs.md5sum] = "5ae500b9d0b6b72cb875bc04944b9445"
 SRC_URI[glibc-nfs.sha256sum] = "2677cfedf626f3f5a8f6e507aed5bb8f79a7453b589d684dbbc086e755170d83"
 
@@ -32,7 +30,7 @@
 EXTRA_OECONF = "--disable-gssapi"
 
 do_configure_prepend () {
-        cp -r ${S}/../tirpc ${S}
+        cp -r ${WORKDIR}/tirpc ${S}
 }
 
 do_install_append() {
diff --git a/import-layers/yocto-poky/meta/recipes-extended/logrotate/logrotate/act-as-mv-when-rotate.patch b/import-layers/yocto-poky/meta/recipes-extended/logrotate/logrotate/act-as-mv-when-rotate.patch
index 2e931a2..04cb588 100644
--- a/import-layers/yocto-poky/meta/recipes-extended/logrotate/logrotate/act-as-mv-when-rotate.patch
+++ b/import-layers/yocto-poky/meta/recipes-extended/logrotate/logrotate/act-as-mv-when-rotate.patch
@@ -1,4 +1,4 @@
-From 68f29ab490cf987aa34b5f4caf1784b58a021308 Mon Sep 17 00:00:00 2001
+From 517cbff66c8bdbf455bc3b7c1a85a4f990d0f9a6 Mon Sep 17 00:00:00 2001
 From: Robert Yang <liezhi.yang@windriver.com>
 Date: Tue, 17 Feb 2015 21:08:07 -0800
 Subject: [PATCH] Act as the "mv" command when rotate log
@@ -10,14 +10,14 @@
 
 Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
 ---
- logrotate.c |   71 +++++++++++++++++++++++++++++++++++++++++++++++++----------
- 1 file changed, 59 insertions(+), 12 deletions(-)
+ logrotate.c | 72 ++++++++++++++++++++++++++++++++++++++++++++++++++-----------
+ 1 file changed, 60 insertions(+), 12 deletions(-)
 
 diff --git a/logrotate.c b/logrotate.c
-index d3deb6a..cf8bf2c 100644
+index 4ad58d4..ba05884 100644
 --- a/logrotate.c
 +++ b/logrotate.c
-@@ -1157,6 +1157,53 @@ int findNeedRotating(struct logInfo *log, int logNum, int force)
+@@ -1315,6 +1315,54 @@ static int findNeedRotating(struct logInfo *log, int logNum, int force)
      return 0;
  }
  
@@ -68,10 +68,11 @@
 +    return 1;
 +}
 +
- int prerotateSingleLog(struct logInfo *log, int logNum, struct logState *state,
- 		       struct logNames *rotNames)
++
+ static int prerotateSingleLog(struct logInfo *log, int logNum,
+ 			      struct logState *state, struct logNames *rotNames)
  {
-@@ -1523,15 +1570,15 @@ int prerotateSingleLog(struct logInfo *log, int logNum, struct logState *state,
+@@ -1674,15 +1722,15 @@ static int prerotateSingleLog(struct logInfo *log, int logNum,
  		}
  
  	    message(MESS_DEBUG,
@@ -90,7 +91,7 @@
  			    oldName, newName, strerror(errno));
  		    hasErrors = 1;
  		}
-@@ -1669,21 +1716,21 @@ int rotateSingleLog(struct logInfo *log, int logNum, struct logState *state,
+@@ -1767,21 +1815,21 @@ static int rotateSingleLog(struct logInfo *log, int logNum,
  				return 1;
  			}
  
@@ -115,19 +116,19 @@
 -				message(MESS_ERROR, "failed to rename %s to %s: %s\n",
 +			mvFile(log->files[logNum], rotNames->finalName, log, prev_acl)) {
 +				message(MESS_ERROR, "failed to move %s to %s: %s\n",
- 					log->files[logNum], tmpFilename,
+ 					log->files[logNum], rotNames->finalName,
  					strerror(errno));
  					hasErrors = 1;
-@@ -2063,7 +2110,7 @@ int rotateLogSet(struct logInfo *log, int force)
+@@ -2170,7 +2218,7 @@ static int rotateLogSet(struct logInfo *log, int force)
      return hasErrors;
  }
  
--static int writeState(char *stateFilename)
+-static int writeState(const char *stateFilename)
 +static int writeState(struct logInfo *log, char *stateFilename)
  {
  	struct logState *p;
  	FILE *f;
-@@ -2227,7 +2274,7 @@ static int writeState(char *stateFilename)
+@@ -2322,7 +2370,7 @@ static int writeState(const char *stateFilename)
  		fclose(f);
  
  	if (error == 0) {
@@ -136,7 +137,7 @@
  			unlink(tmpFilename);
  			error = 1;
  			message(MESS_ERROR, "error renaming temp state file %s\n",
-@@ -2525,7 +2572,7 @@ int main(int argc, const char **argv)
+@@ -2648,7 +2696,7 @@ int main(int argc, const char **argv)
  		rc |= rotateLogSet(log, force);
  
  	if (!debug)
@@ -145,3 +146,6 @@
  
  	return (rc != 0);
  }
+-- 
+1.8.3.1
+
diff --git a/import-layers/yocto-poky/meta/recipes-extended/logrotate/logrotate/update-the-manual.patch b/import-layers/yocto-poky/meta/recipes-extended/logrotate/logrotate/update-the-manual.patch
index 50d037d..725567e 100644
--- a/import-layers/yocto-poky/meta/recipes-extended/logrotate/logrotate/update-the-manual.patch
+++ b/import-layers/yocto-poky/meta/recipes-extended/logrotate/logrotate/update-the-manual.patch
@@ -1,4 +1,4 @@
-From e0b0fe30e9c49234994a20a86aacfaf80e690087 Mon Sep 17 00:00:00 2001
+From bf22e8805df69344f6f20cea390e829a22fa741b Mon Sep 17 00:00:00 2001
 From: Robert Yang <liezhi.yang@windriver.com>
 Date: Tue, 17 Feb 2015 21:14:37 -0800
 Subject: [PATCH] Update the manual
@@ -9,14 +9,14 @@
 
 Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
 ---
- logrotate.8 |   10 ++++------
+ logrotate.8.in | 10 ++++------
  1 file changed, 4 insertions(+), 6 deletions(-)
 
-diff --git a/logrotate.8 b/logrotate.8
-index e4e5f48..84407d0 100644
---- a/logrotate.8
-+++ b/logrotate.8
-@@ -405,12 +405,10 @@ Do not rotate the log if it is empty (this overrides the \fBifempty\fR option).
+diff --git a/logrotate.8.in b/logrotate.8.in
+index 951e406..581bf48 100644
+--- a/logrotate.8.in
++++ b/logrotate.8.in
+@@ -445,12 +445,10 @@ Do not rotate the log if it is empty (this overrides the \fBifempty\fR option).
  
  .TP
  \fBolddir \fIdirectory\fR
@@ -34,5 +34,5 @@
  
  .TP
 -- 
-1.7.9.5
+1.8.3.1
 
diff --git a/import-layers/yocto-poky/meta/recipes-extended/logrotate/logrotate_3.12.3.bb b/import-layers/yocto-poky/meta/recipes-extended/logrotate/logrotate_3.12.3.bb
new file mode 100644
index 0000000..620b208
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-extended/logrotate/logrotate_3.12.3.bb
@@ -0,0 +1,85 @@
+SUMMARY = "Rotates, compresses, removes and mails system log files"
+SECTION = "console/utils"
+HOMEPAGE = "https://github.com/logrotate/logrotate/issues"
+LICENSE = "GPLv2"
+
+# TODO: Document coreutils dependency. Why not RDEPENDS? Why not busybox?
+
+DEPENDS="coreutils popt"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+# When updating logrotate to latest upstream, SRC_URI should point to
+# a proper release tarball from https://github.com/logrotate/logrotate/releases
+# and we have to take the snapshot for now because there is no such
+# tarball available for 3.9.1.
+
+S = "${WORKDIR}/${BPN}-${PV}"
+
+UPSTREAM_CHECK_URI = "https://github.com/${BPN}/${BPN}/releases"
+UPSTREAM_CHECK_REGEX = "logrotate-(?P<pver>\d+(\.\d+)+).tar"
+
+SRC_URI = "https://github.com/${BPN}/${BPN}/releases/download/${PV}/${BP}.tar.xz \
+            file://act-as-mv-when-rotate.patch \
+            file://update-the-manual.patch \
+            file://disable-check-different-filesystems.patch \
+            "
+
+SRC_URI[md5sum] = "a560c57fac87c45b2fc17406cdf79288"
+SRC_URI[sha256sum] = "2e6a401cac9024db2288297e3be1a8ab60e7401ba8e91225218aaf4a27e82a07"
+
+PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'acl selinux', d)}"
+
+PACKAGECONFIG[acl] = ",,acl"
+PACKAGECONFIG[selinux] = ",,libselinux"
+
+CONFFILES_${PN} += "${localstatedir}/lib/logrotate.status \
+		    ${sysconfdir}/logrotate.conf"
+
+# If RPM_OPT_FLAGS is unset, it adds -g itself rather than obeying our
+# optimization variables, so use it rather than EXTRA_CFLAGS.
+EXTRA_OEMAKE = "\
+    LFS= \
+    OS_NAME='${OS_NAME}' \
+    'CC=${CC}' \
+    'RPM_OPT_FLAGS=${CFLAGS}' \
+    'EXTRA_LDFLAGS=${LDFLAGS}' \
+    ${@bb.utils.contains('PACKAGECONFIG', 'acl', 'WITH_ACL=yes', '', d)} \
+    ${@bb.utils.contains('PACKAGECONFIG', 'selinux', 'WITH_SELINUX=yes', '', d)} \
+"
+
+# OS_NAME in the makefile defaults to `uname -s`. The behavior for
+# freebsd/netbsd is questionable, so leave it as Linux, which only sets
+# INSTALL=install and BASEDIR=/usr.
+OS_NAME = "Linux"
+
+inherit autotools systemd
+
+SYSTEMD_SERVICE_${PN} = "\
+    ${BPN}.service \
+    ${BPN}.timer \
+"
+
+LOGROTATE_SYSTEMD_TIMER_BASIS ?= "daily"
+LOGROTATE_SYSTEMD_TIMER_ACCURACY ?= "12h"
+
+do_install(){
+    oe_runmake install DESTDIR=${D} PREFIX=${D} MANDIR=${mandir}
+    mkdir -p ${D}${sysconfdir}/logrotate.d
+    mkdir -p ${D}${localstatedir}/lib
+    install -p -m 644 ${S}/examples/logrotate-default ${D}${sysconfdir}/logrotate.conf
+    touch ${D}${localstatedir}/lib/logrotate.status
+
+    if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
+        install -d ${D}${systemd_system_unitdir}
+        install -m 0644 ${S}/examples/logrotate.service ${D}${systemd_system_unitdir}/logrotate.service
+        install -m 0644 ${S}/examples/logrotate.timer ${D}${systemd_system_unitdir}/logrotate.timer
+        sed -i -e 's,OnCalendar=.*$,OnCalendar=${LOGROTATE_SYSTEMD_TIMER_BASIS},g' ${D}${systemd_system_unitdir}/logrotate.timer
+        sed -i -e 's,AccuracySec=.*$,AccuracySec=${LOGROTATE_SYSTEMD_TIMER_ACCURACY},g' ${D}${systemd_system_unitdir}/logrotate.timer
+    fi
+
+    if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then
+        mkdir -p ${D}${sysconfdir}/cron.daily
+        install -p -m 0755 ${S}/examples/logrotate.cron ${D}${sysconfdir}/cron.daily/logrotate
+    fi
+}
diff --git a/import-layers/yocto-poky/meta/recipes-extended/logrotate/logrotate_3.9.1.bb b/import-layers/yocto-poky/meta/recipes-extended/logrotate/logrotate_3.9.1.bb
deleted file mode 100644
index c938d9f..0000000
--- a/import-layers/yocto-poky/meta/recipes-extended/logrotate/logrotate_3.9.1.bb
+++ /dev/null
@@ -1,69 +0,0 @@
-SUMMARY = "Rotates, compresses, removes and mails system log files"
-SECTION = "console/utils"
-HOMEPAGE = "https://github.com/logrotate/logrotate/issues"
-LICENSE = "GPLv2"
-
-# TODO: logrotate 3.8.8 adds autotools/automake support, update recipe to use it.
-# TODO: Document coreutils dependency. Why not RDEPENDS? Why not busybox?
-
-DEPENDS="coreutils popt"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=18810669f13b87348459e611d31ab760"
-
-# When updating logrotate to latest upstream, SRC_URI should point to
-# a proper release tarball from https://github.com/logrotate/logrotate/releases
-# and we have to take the snapshot for now because there is no such
-# tarball available for 3.9.1.
-
-S = "${WORKDIR}/${BPN}-r3-9-1"
-
-UPSTREAM_CHECK_URI = "https://github.com/${BPN}/${BPN}/releases"
-
-SRC_URI = "https://github.com/${BPN}/${BPN}/archive/r3-9-1.tar.gz \
-           file://act-as-mv-when-rotate.patch \
-           file://update-the-manual.patch \
-           file://disable-check-different-filesystems.patch \
-            "
-
-SRC_URI[md5sum] = "8572b7c2cf9ade09a8a8e10098500fb3"
-SRC_URI[sha256sum] = "5bf8e478c428e7744fefa465118f8296e7e771c981fb6dffb7527856a0ea3617"
-
-PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'acl selinux', d)}"
-
-PACKAGECONFIG[acl] = ",,acl"
-PACKAGECONFIG[selinux] = ",,libselinux"
-
-CONFFILES_${PN} += "${localstatedir}/lib/logrotate.status \
-		    ${sysconfdir}/logrotate.conf"
-
-# If RPM_OPT_FLAGS is unset, it adds -g itself rather than obeying our
-# optimization variables, so use it rather than EXTRA_CFLAGS.
-EXTRA_OEMAKE = "\
-    LFS= \
-    OS_NAME='${OS_NAME}' \
-    'CC=${CC}' \
-    'RPM_OPT_FLAGS=${CFLAGS}' \
-    'EXTRA_LDFLAGS=${LDFLAGS}' \
-    ${@bb.utils.contains('PACKAGECONFIG', 'acl', 'WITH_ACL=yes', '', d)} \
-    ${@bb.utils.contains('PACKAGECONFIG', 'selinux', 'WITH_SELINUX=yes', '', d)} \
-"
-
-# OS_NAME in the makefile defaults to `uname -s`. The behavior for
-# freebsd/netbsd is questionable, so leave it as Linux, which only sets
-# INSTALL=install and BASEDIR=/usr.
-OS_NAME = "Linux"
-
-do_compile_prepend() {
-    # Make sure the recompile is OK
-    rm -f ${B}/.depend
-}
-
-do_install(){
-    oe_runmake install DESTDIR=${D} PREFIX=${D} MANDIR=${mandir}
-    mkdir -p ${D}${sysconfdir}/logrotate.d
-    mkdir -p ${D}${sysconfdir}/cron.daily
-    mkdir -p ${D}${localstatedir}/lib
-    install -p -m 644 examples/logrotate-default ${D}${sysconfdir}/logrotate.conf
-    install -p -m 755 examples/logrotate.cron ${D}${sysconfdir}/cron.daily/logrotate
-    touch ${D}${localstatedir}/lib/logrotate.status
-}
diff --git a/import-layers/yocto-poky/meta/recipes-extended/lsb/lsb_4.1.bb b/import-layers/yocto-poky/meta/recipes-extended/lsb/lsb_4.1.bb
index cedf39e..0785610 100644
--- a/import-layers/yocto-poky/meta/recipes-extended/lsb/lsb_4.1.bb
+++ b/import-layers/yocto-poky/meta/recipes-extended/lsb/lsb_4.1.bb
@@ -22,6 +22,7 @@
            file://lsb_pidofproc \
            file://lsb_start_daemon \
            "
+UPSTREAM_VERSION_UNKNOWN = "1"
 
 SRC_URI[md5sum] = "30537ef5a01e0ca94b7b8eb6a36bb1e4"
 SRC_URI[sha256sum] = "99321288f8d62e7a1d485b7c6bdccf06766fb8ca603c6195806e4457fdf17172"
@@ -90,11 +91,13 @@
        install -m 0755 ${WORKDIR}/init-functions ${D}${nonarch_base_libdir}/lsb
 
        # create links for LSB test
-       if [ "${nonarch_base_libdir}" != "${nonarch_libdir}" ] ; then
-               install -d ${D}${nonarch_libdir}/lsb
+       if [ -e ${sbindir}/chkconfig ]; then
+               if [ "${nonarch_base_libdir}" != "${nonarch_libdir}" ] ; then
+                       install -d ${D}${nonarch_libdir}/lsb
+               fi
+               ln -sf ${sbindir}/chkconfig ${D}${nonarch_libdir}/lsb/install_initd
+               ln -sf ${sbindir}/chkconfig ${D}${nonarch_libdir}/lsb/remove_initd
        fi
-       ln -sf ${sbindir}/chkconfig ${D}${nonarch_libdir}/lsb/install_initd
-       ln -sf ${sbindir}/chkconfig ${D}${nonarch_libdir}/lsb/remove_initd
 
        if [ "${TARGET_ARCH}" = "x86_64" ]; then
                if [ "${base_libdir}" != "${base_prefix}/lib64" ]; then
diff --git a/import-layers/yocto-poky/meta/recipes-extended/lsb/lsbinitscripts/functions.patch b/import-layers/yocto-poky/meta/recipes-extended/lsb/lsbinitscripts/functions.patch
index a756d04..9c58d90 100644
--- a/import-layers/yocto-poky/meta/recipes-extended/lsb/lsbinitscripts/functions.patch
+++ b/import-layers/yocto-poky/meta/recipes-extended/lsb/lsbinitscripts/functions.patch
@@ -1,26 +1,32 @@
-Upstream-Status: Inappropriate [configuration]
+From 57468c5f4e364bdad556604dca09046e1afca929 Mon Sep 17 00:00:00 2001
+From: Fan Xin <fan.xin@jp.fujitsu.com>
+Date: Mon, 5 Jun 2017 16:26:47 +0900
+Subject: [PATCH] Upstream-Status: Inappropriate [configuration]
 
 Signed-off-by: Xiaofeng Yan <xiaofeng.yan@windriver.com>
 Signed-off-by: Saul Wold <sgw@linux.intel.com>
 
-Index: initscripts-9.43/rc.d/init.d/functions
-===================================================================
---- initscripts-9.43.orig/rc.d/init.d/functions
-+++ initscripts-9.43/rc.d/init.d/functions
-@@ -13,6 +13,7 @@ umask 022
- PATH="/sbin:/usr/sbin:/bin:/usr/bin"
- export PATH
- 
-+
- if [ $PPID -ne 1 -a -z "$SYSTEMCTL_SKIP_REDIRECT" ] && \
- 		( /bin/mountpoint -q /cgroup/systemd || /bin/mountpoint -q /sys/fs/cgroup/systemd ) ; then
-         case "$0" in
-@@ -54,7 +55,7 @@ systemctl_redirect () {
+Rebase on 9.72
+
+Signed-off-by: Fan Xin <fan.xin@jp.fujitsu.com>
+Upstream-Status: Pending
+---
+ initscripts-9.72/rc.d/init.d/functions | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/initscripts-9.72/rc.d/init.d/functions b/initscripts-9.72/rc.d/init.d/functions
+index 0f627f1..a6aa092 100644
+--- a/initscripts-9.72/rc.d/init.d/functions
++++ b/initscripts-9.72/rc.d/init.d/functions
+@@ -59,7 +59,7 @@ systemctl_redirect () {
  [ -z "${COLUMNS:-}" ] && COLUMNS=80
  
  if [ -z "${CONSOLETYPE:-}" ]; then
--  if [ -c "/dev/stderr" -a -r "/dev/stderr" ]; then
-+  if [ -c "/dev/stderr" -a -r "/dev/stderr" -a -e /sbin/consoletype ]; then
-     CONSOLETYPE="$(/sbin/consoletype < /dev/stderr 2>/dev/null)"
-   else
-     CONSOLETYPE="serial"
+-    if [ -c "/dev/stderr" -a -r "/dev/stderr" ]; then
++    if [ -c "/dev/stderr" -a -r "/dev/stderr" -a -e /sbin/consoletype ]; then
+         CONSOLETYPE="$(/sbin/consoletype < /dev/stderr 2>/dev/null)"
+     else
+         CONSOLETYPE="serial"
+-- 
+1.9.1
+
diff --git a/import-layers/yocto-poky/meta/recipes-extended/lsb/lsbinitscripts_9.68.bb b/import-layers/yocto-poky/meta/recipes-extended/lsb/lsbinitscripts_9.68.bb
deleted file mode 100644
index 0c08fff..0000000
--- a/import-layers/yocto-poky/meta/recipes-extended/lsb/lsbinitscripts_9.68.bb
+++ /dev/null
@@ -1,33 +0,0 @@
-SUMMARY = "SysV init scripts which are only used in an LSB image"
-SECTION = "base"
-LICENSE = "GPLv2"
-DEPENDS = "popt glib-2.0"
-
-RDEPENDS_${PN} += "util-linux"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=ebf4e8b49780ab187d51bd26aaa022c6"
-
-S="${WORKDIR}/initscripts-${PV}"
-SRC_URI = "http://pkgs.fedoraproject.org/repo/pkgs/initscripts/initscripts-${PV}.tar.bz2/6a51a5af38e01445f53989ed0727c3e1/initscripts-${PV}.tar.bz2 \
-           file://functions.patch \
-           file://0001-functions-avoid-exit-1-which-causes-init-scripts-to-.patch \
-          " 
-
-SRC_URI[md5sum] = "6a51a5af38e01445f53989ed0727c3e1"
-SRC_URI[sha256sum] = "2a1c6e9dbaa37a676518f4803b501e107c058bb14ef7a8db24c52b77fbcba531"
-
-inherit update-alternatives
-
-ALTERNATIVE_PRIORITY = "100"
-ALTERNATIVE_${PN} = "functions"
-ALTERNATIVE_LINK_NAME[functions] = "${sysconfdir}/init.d/functions"
-
-# Since we are only taking the patched version of functions, no need to
-# configure or compile anything so do not execute these
-do_configure[noexec] = "1" 
-do_compile[noexec] = "1" 
-
-do_install(){
-	install -d ${D}${sysconfdir}/init.d/
-	install -m 0644 ${S}/rc.d/init.d/functions ${D}${sysconfdir}/init.d/functions
-}
diff --git a/import-layers/yocto-poky/meta/recipes-extended/lsb/lsbinitscripts_9.72.bb b/import-layers/yocto-poky/meta/recipes-extended/lsb/lsbinitscripts_9.72.bb
new file mode 100644
index 0000000..2d74a6f
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-extended/lsb/lsbinitscripts_9.72.bb
@@ -0,0 +1,30 @@
+SUMMARY = "SysV init scripts which are only used in an LSB image"
+HOMEPAGE = "https://wiki.debian.org/LSBInitScripts"
+SECTION = "base"
+LICENSE = "GPLv2"
+DEPENDS = "popt glib-2.0"
+
+RPROVIDES_${PN} += "initd-functions"
+RDEPENDS_${PN} += "util-linux"
+RCONFLICTS_${PN} = "initscripts-functions"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=ebf4e8b49780ab187d51bd26aaa022c6"
+
+S="${WORKDIR}/initscripts-${PV}"
+SRC_URI = "http://pkgs.fedoraproject.org/repo/pkgs/initscripts/initscripts-${PV}.tar.gz/sha512/b6ed38f9576e9227c2ecf047e2d60e1e872f40d51d13861b0c91dddb282f10f7e6b79706a4d1435d7a57a14a0b73a1b71541cfe44c00e8e03ef96b08de19ec32/initscripts-${PV}.tar.gz \
+           file://functions.patch;striplevel=2 \
+           file://0001-functions-avoid-exit-1-which-causes-init-scripts-to-.patch \
+          " 
+
+SRC_URI[md5sum] = "d6c798f40dceb117e12126d94cb25a9a"
+SRC_URI[sha256sum] = "1793677bdd1f7ee4cb00878ce43346196374f848a4c8e4559e086040fc7487db"
+
+# Since we are only taking the patched version of functions, no need to
+# configure or compile anything so do not execute these
+do_configure[noexec] = "1" 
+do_compile[noexec] = "1" 
+
+do_install(){
+	install -d ${D}${sysconfdir}/init.d/
+	install -m 0644 ${S}/rc.d/init.d/functions ${D}${sysconfdir}/init.d/functions
+}
diff --git a/import-layers/yocto-poky/meta/recipes-extended/lsb/lsbtest_1.0.bb b/import-layers/yocto-poky/meta/recipes-extended/lsb/lsbtest_1.0.bb
index ea12502..36f52fd 100644
--- a/import-layers/yocto-poky/meta/recipes-extended/lsb/lsbtest_1.0.bb
+++ b/import-layers/yocto-poky/meta/recipes-extended/lsb/lsbtest_1.0.bb
@@ -1,4 +1,5 @@
 SUMMARY = "Automates Linux Standard Base (LSB) tests"
+HOMEPAGE = "https://wiki.debian.org/LSBInitScripts"
 SECTION = "console/utils"
 LICENSE = "GPLv2"
 PR = "r3"
diff --git a/import-layers/yocto-poky/meta/recipes-extended/lsof/files/lsof-remove-host-information.patch b/import-layers/yocto-poky/meta/recipes-extended/lsof/files/lsof-remove-host-information.patch
new file mode 100644
index 0000000..b7d2323
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-extended/lsof/files/lsof-remove-host-information.patch
@@ -0,0 +1,76 @@
+Remove host information from version.h
+
+make lsof not include host information
+
+Upstream-Status: Inappropriate [embedded specific]
+
+Signed-off-by: Li Wang <li.wang@windriver.com>
+---
+ dialects/linux/Makefile |   50 +++++++++--------------------------------------
+ 1 file changed, 9 insertions(+), 41 deletions(-)
+
+diff --git a/dialects/linux/Makefile b/dialects/linux/Makefile
+index 2bea108..792142b 100644
+--- a/dialects/linux/Makefile
++++ b/dialects/linux/Makefile
+@@ -76,48 +76,16 @@ version.h:	FRC
+ 	@echo Constructing version.h
+ 	@rm -f version.h
+ 	@echo '#define	LSOF_BLDCMT	"${LSOF_BLDCMT}"' > version.h;
+-	@echo '#define	LSOF_CC		"${CC}"' >> version.h
+-	@echo '#define	LSOF_CCV	"${CCV}"' >> version.h
+-	@echo '#define	LSOF_CCDATE	"'`date`'"' >> version.h
+-	@echo '#define	LSOF_CCFLAGS	"'`echo ${CFLAGS} | sed 's/\\\\(/\\(/g' | sed 's/\\\\)/\\)/g' | sed 's/"/\\\\"/g'`'"' >> version.h
++	@echo '#define	LSOF_CC		""' >> version.h
++	@echo '#define	LSOF_CCV	""' >> version.h
++	@echo '#define	LSOF_CCDATE	""' >> version.h
++	@echo '#define	LSOF_CCFLAGS	""' >> version.h
+ 	@echo '#define	LSOF_CINFO	"${CINFO}"' >> version.h
+-	@if [ "X${LSOF_HOST}" = "X" ]; then \
+-	  echo '#define	LSOF_HOST	"'`uname -n`'"' >> version.h; \
+-	else \
+-	  if [ "${LSOF_HOST}" = "none" ]; then \
+-	    echo '#define	LSOF_HOST	""' >> version.h; \
+-	  else \
+-	    echo '#define	LSOF_HOST	"${LSOF_HOST}"' >> version.h; \
+-	  fi \
+-	fi
+-	@echo '#define	LSOF_LDFLAGS	"${CFGL}"' >> version.h
+-	@if [ "X${LSOF_LOGNAME}" = "X" ]; then \
+-	  echo '#define	LSOF_LOGNAME	"${LOGNAME}"' >> version.h; \
+-	else \
+-	  if [ "${LSOF_LOGNAME}" = "none" ]; then \
+-	    echo '#define	LSOF_LOGNAME	""' >> version.h; \
+-	  else \
+-	    echo '#define	LSOF_LOGNAME	"${LSOF_LOGNAME}"' >> version.h; \
+-	  fi; \
+-	fi
+-	@if [ "X${LSOF_SYSINFO}" = "X" ]; then \
+-	    echo '#define	LSOF_SYSINFO	"'`uname -a`'"' >> version.h; \
+-	else \
+-	  if [ "${LSOF_SYSINFO}" = "none" ]; then \
+-	    echo '#define	LSOF_SYSINFO	""' >> version.h; \
+-	  else \
+-	    echo '#define	LSOF_SYSINFO	"${LSOF_SYSINFO}"' >> version.h; \
+-	  fi \
+-	fi
+-	@if [ "X${LSOF_USER}" = "X" ]; then \
+-	  echo '#define	LSOF_USER	"${USER}"' >> version.h; \
+-	else \
+-	  if [ "${LSOF_USER}" = "none" ]; then \
+-	    echo '#define	LSOF_USER	""' >> version.h; \
+-	  else \
+-	    echo '#define	LSOF_USER	"${LSOF_USER}"' >> version.h; \
+-	  fi \
+-	fi
++	@echo '#define	LSOF_HOST	""' >> version.h;
++	@echo '#define	LSOF_LDFLAGS	""' >> version.h
++	@echo '#define	LSOF_LOGNAME	""' >> version.h;
++	@echo '#define	LSOF_SYSINFO	""' >> version.h;
++	@echo '#define	LSOF_USER	""' >> version.h;
+ 	@sed '/VN/s/.ds VN \(.*\)/#define	LSOF_VERSION	"\1"/' < version >> version.h
+ 
+ FRC:
+-- 
+1.7.9.5
+
diff --git a/import-layers/yocto-poky/meta/recipes-extended/lsof/lsof_4.89.bb b/import-layers/yocto-poky/meta/recipes-extended/lsof/lsof_4.89.bb
index 29245b1..14546db 100644
--- a/import-layers/yocto-poky/meta/recipes-extended/lsof/lsof_4.89.bb
+++ b/import-layers/yocto-poky/meta/recipes-extended/lsof/lsof_4.89.bb
@@ -11,7 +11,9 @@
 # https://people.freebsd.org/~abe/ ). http://www.mirrorservice.org seems to be
 # the most commonly used alternative.
 
-SRC_URI = "http://www.mirrorservice.org/sites/lsof.itap.purdue.edu/pub/tools/unix/lsof/lsof_${PV}.tar.bz2"
+SRC_URI = "http://www.mirrorservice.org/sites/lsof.itap.purdue.edu/pub/tools/unix/lsof/lsof_${PV}.tar.bz2 \
+           file://lsof-remove-host-information.patch \
+          "
 
 SRC_URI[md5sum] = "1b9cd34f3fb86856a125abbf2be3a386"
 SRC_URI[sha256sum] = "81ac2fc5fdc944793baf41a14002b6deb5a29096b387744e28f8c30a360a3718"
diff --git a/import-layers/yocto-poky/meta/recipes-extended/ltp/ltp/0002-Add-knob-to-control-whether-numa-support-should-be-c.patch b/import-layers/yocto-poky/meta/recipes-extended/ltp/ltp/0002-Add-knob-to-control-whether-numa-support-should-be-c.patch
index 0684bee..9865020 100644
--- a/import-layers/yocto-poky/meta/recipes-extended/ltp/ltp/0002-Add-knob-to-control-whether-numa-support-should-be-c.patch
+++ b/import-layers/yocto-poky/meta/recipes-extended/ltp/ltp/0002-Add-knob-to-control-whether-numa-support-should-be-c.patch
@@ -9,6 +9,7 @@
 
 Signed-off-by: Roy.Li <rongqing.li@windriver.com>
 Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Upstream-Status: Pending
 ---
  m4/ltp-numa.m4 | 10 +++++++++-
  1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/import-layers/yocto-poky/meta/recipes-extended/ltp/ltp/0003-Add-knob-to-control-tirpc-support.patch b/import-layers/yocto-poky/meta/recipes-extended/ltp/ltp/0003-Add-knob-to-control-tirpc-support.patch
index bf1176f..5cf1e05 100644
--- a/import-layers/yocto-poky/meta/recipes-extended/ltp/ltp/0003-Add-knob-to-control-tirpc-support.patch
+++ b/import-layers/yocto-poky/meta/recipes-extended/ltp/ltp/0003-Add-knob-to-control-tirpc-support.patch
@@ -8,6 +8,7 @@
 
 Signed-off-by: Fathi Boudra <fathi.boudra@linaro.org>
 Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Upstream-Status: Pending
 ---
  configure.ac | 9 +++++++++
  1 file changed, 9 insertions(+)
diff --git a/import-layers/yocto-poky/meta/recipes-extended/ltp/ltp/0004-build-Add-option-to-select-libc-implementation.patch b/import-layers/yocto-poky/meta/recipes-extended/ltp/ltp/0004-build-Add-option-to-select-libc-implementation.patch
index 2de9363..cf74463 100644
--- a/import-layers/yocto-poky/meta/recipes-extended/ltp/ltp/0004-build-Add-option-to-select-libc-implementation.patch
+++ b/import-layers/yocto-poky/meta/recipes-extended/ltp/ltp/0004-build-Add-option-to-select-libc-implementation.patch
@@ -10,6 +10,7 @@
 Disable tests specifically not building _yet_ on musl based systems
 
 Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Upstream-Status: Pending
 ---
  Makefile                                    | 5 +++++
  testcases/kernel/Makefile                   | 5 ++++-
diff --git a/import-layers/yocto-poky/meta/recipes-extended/ltp/ltp/0005-kernel-controllers-Link-with-libfts-explicitly-on-mu.patch b/import-layers/yocto-poky/meta/recipes-extended/ltp/ltp/0005-kernel-controllers-Link-with-libfts-explicitly-on-mu.patch
index 8dab1ed..b9390e2 100644
--- a/import-layers/yocto-poky/meta/recipes-extended/ltp/ltp/0005-kernel-controllers-Link-with-libfts-explicitly-on-mu.patch
+++ b/import-layers/yocto-poky/meta/recipes-extended/ltp/ltp/0005-kernel-controllers-Link-with-libfts-explicitly-on-mu.patch
@@ -7,6 +7,7 @@
 external implementation for all fts APIs
 
 Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Upstream-Status: Pending
 ---
  testcases/kernel/controllers/Makefile.inc        | 3 +++
  testcases/kernel/controllers/cpuset/Makefile.inc | 3 +++
diff --git a/import-layers/yocto-poky/meta/recipes-extended/ltp/ltp/0006-fix-PATH_MAX-undeclared-when-building-with-musl.patch b/import-layers/yocto-poky/meta/recipes-extended/ltp/ltp/0006-fix-PATH_MAX-undeclared-when-building-with-musl.patch
deleted file mode 100644
index 8874b95..0000000
--- a/import-layers/yocto-poky/meta/recipes-extended/ltp/ltp/0006-fix-PATH_MAX-undeclared-when-building-with-musl.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 32644bde4d33b677614534ec37030e57883b8e15 Mon Sep 17 00:00:00 2001
-From: Dengke Du <dengke.du@windriver.com>
-Date: Thu, 9 Feb 2017 16:41:12 +0800
-Subject: [PATCH 1/3] fix PATH_MAX undeclared when building with musl
-
-fix PATH_MAX undeclared when building with musl.
-
-Signed-off-by: Dengke Du <dengke.du@windriver.com>
-Upstream-Status: Pending
----
- include/tst_test.h | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git a/include/tst_test.h b/include/tst_test.h
-index 7ff33b2..9779c0e 100644
---- a/include/tst_test.h
-+++ b/include/tst_test.h
-@@ -19,6 +19,9 @@
- #define TST_TEST_H__
- 
- #include <unistd.h>
-+#ifndef __GLIBC__
-+#include <limits.h>
-+#endif
- 
- #include "tst_common.h"
- #include "tst_res_flags.h"
--- 
-2.7.4
-
diff --git a/import-layers/yocto-poky/meta/recipes-extended/ltp/ltp/0007-fix-__WORDSIZE-undeclared-when-building-with-musl.patch b/import-layers/yocto-poky/meta/recipes-extended/ltp/ltp/0007-fix-__WORDSIZE-undeclared-when-building-with-musl.patch
index 8d0e739..2f4ca63 100644
--- a/import-layers/yocto-poky/meta/recipes-extended/ltp/ltp/0007-fix-__WORDSIZE-undeclared-when-building-with-musl.patch
+++ b/import-layers/yocto-poky/meta/recipes-extended/ltp/ltp/0007-fix-__WORDSIZE-undeclared-when-building-with-musl.patch
@@ -1,30 +1,31 @@
-From a2639bd0f0d3f9f3049ee33e6710fed06225f54f Mon Sep 17 00:00:00 2001
+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 1/2] fix __WORDSIZE undeclared when building with musl
+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>
-Upstream-Status: Pending
 ---
  include/old/test.h | 3 +++
  1 file changed, 3 insertions(+)
 
 diff --git a/include/old/test.h b/include/old/test.h
-index d492560..263e92e 100644
+index b36764d83..cc6f1b551 100644
 --- a/include/old/test.h
 +++ b/include/old/test.h
-@@ -58,6 +58,9 @@
- #include "tst_clone.h"
- #include "old_device.h"
- #include "old_tmpdir.h"
+@@ -44,6 +44,9 @@
+ #include <string.h>
+ #include <stdlib.h>
+ #include <stdint.h>
 +#ifndef __GLIBC__
 +#include <bits/reg.h>
 +#endif
  
- /*
-  * Ensure that NUMSIGS is defined.
+ #include "usctest.h"
+ 
 -- 
-2.7.4
+2.11.0
 
diff --git a/import-layers/yocto-poky/meta/recipes-extended/ltp/ltp/0008-Check-if-__GLIBC_PREREQ-is-defined-before-using-it.patch b/import-layers/yocto-poky/meta/recipes-extended/ltp/ltp/0008-Check-if-__GLIBC_PREREQ-is-defined-before-using-it.patch
index 41f2623..e325ce4 100644
--- a/import-layers/yocto-poky/meta/recipes-extended/ltp/ltp/0008-Check-if-__GLIBC_PREREQ-is-defined-before-using-it.patch
+++ b/import-layers/yocto-poky/meta/recipes-extended/ltp/ltp/0008-Check-if-__GLIBC_PREREQ-is-defined-before-using-it.patch
@@ -8,6 +8,7 @@
 
 Signed-off-by: Khem Raj <raj.khem@gmail.com>
 
+Upstream-Status: Pending
 ---
  testcases/kernel/syscalls/accept4/accept4_01.c     |  9 ++++-
  testcases/kernel/syscalls/getcpu/getcpu01.c        | 40 +++++++++++++++++++++-
diff --git a/import-layers/yocto-poky/meta/recipes-extended/ltp/ltp/0009-fix-redefinition-of-struct-msgbuf-error-building-wit.patch b/import-layers/yocto-poky/meta/recipes-extended/ltp/ltp/0009-fix-redefinition-of-struct-msgbuf-error-building-wit.patch
index 6886c55..dd7d283 100644
--- a/import-layers/yocto-poky/meta/recipes-extended/ltp/ltp/0009-fix-redefinition-of-struct-msgbuf-error-building-wit.patch
+++ b/import-layers/yocto-poky/meta/recipes-extended/ltp/ltp/0009-fix-redefinition-of-struct-msgbuf-error-building-wit.patch
@@ -1,18 +1,19 @@
-From 2d7ea67e8eaa41cbd6816f7ab654254b40b530a1 Mon Sep 17 00:00:00 2001
+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>
-Upstream-Status: Pending
 ---
  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 a757c0d..e023114 100644
+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";
@@ -31,5 +32,5 @@
  static void msr(int msqid)
  {
 -- 
-2.7.4
+2.11.0
 
diff --git a/import-layers/yocto-poky/meta/recipes-extended/ltp/ltp/0010-replace-__BEGIN_DECLS-and-__END_DECLS.patch b/import-layers/yocto-poky/meta/recipes-extended/ltp/ltp/0010-replace-__BEGIN_DECLS-and-__END_DECLS.patch
index 5b0c444..b9fce88 100644
--- a/import-layers/yocto-poky/meta/recipes-extended/ltp/ltp/0010-replace-__BEGIN_DECLS-and-__END_DECLS.patch
+++ b/import-layers/yocto-poky/meta/recipes-extended/ltp/ltp/0010-replace-__BEGIN_DECLS-and-__END_DECLS.patch
@@ -10,6 +10,8 @@
 its not a generally available typedef
 
 Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Upstream-Status: Pending
 ---
  testcases/kernel/syscalls/epoll2/include/epoll.h | 8 ++++++--
  utils/sctp/include/netinet/sctp.h                | 9 +++++++--
diff --git a/import-layers/yocto-poky/meta/recipes-extended/ltp/ltp/0011-Rename-sigset-variable-to-sigset1.patch b/import-layers/yocto-poky/meta/recipes-extended/ltp/ltp/0011-Rename-sigset-variable-to-sigset1.patch
index 4ac14dc..25f6ba7 100644
--- a/import-layers/yocto-poky/meta/recipes-extended/ltp/ltp/0011-Rename-sigset-variable-to-sigset1.patch
+++ b/import-layers/yocto-poky/meta/recipes-extended/ltp/ltp/0011-Rename-sigset-variable-to-sigset1.patch
@@ -7,6 +7,8 @@
 
 Signed-off-by: Khem Raj <raj.khem@gmail.com>
 Signed-off-by: Dengke Du <dengke.du@windriver.com>
+
+Upstream-Status: Pending
 ---
  testcases/kernel/mem/shmt/shmt04.c                    | 10 +++++-----
  testcases/kernel/mem/shmt/shmt06.c                    | 10 +++++-----
diff --git a/import-layers/yocto-poky/meta/recipes-extended/ltp/ltp/0012-fix-faccessat01.c-build-fails-with-security-flags.patch b/import-layers/yocto-poky/meta/recipes-extended/ltp/ltp/0012-fix-faccessat01.c-build-fails-with-security-flags.patch
deleted file mode 100644
index 2600bd6..0000000
--- a/import-layers/yocto-poky/meta/recipes-extended/ltp/ltp/0012-fix-faccessat01.c-build-fails-with-security-flags.patch
+++ /dev/null
@@ -1,70 +0,0 @@
-From 32f563008f95975d26d1c4fcb266c72c56f934be Mon Sep 17 00:00:00 2001
-From: Dengke Du <dengke.du@windriver.com>
-Date: Wed, 22 Feb 2017 01:21:55 -0500
-Subject: [PATCH] fix faccessat01.c build fails with security flags
-
-When the distro is poky-lsb, fix the following error:
-
-| In file included from ../../../../include/old/test.h:47:0,
-|                  from faccessat01.c:44:
-| faccessat01.c: In function 'setup':
-| ../../../../include/old/old_safe_file_ops.h:55:27: error: format not a string literal and no format arguments [-Werror=format-security]
-|                    (path), (fmt), ## __VA_ARGS__)
-|                            ^
-| faccessat01.c:132:2: note: in expansion of macro 'SAFE_FILE_PRINTF'
-|   SAFE_FILE_PRINTF(cleanup, testfile, testfile);
-|   ^~~~~~~~~~~~~~~~
-| ../../../../include/old/old_safe_file_ops.h:55:27: error: format not a string literal and no format arguments [-Werror=format-security]
-|                    (path), (fmt), ## __VA_ARGS__)
-|                            ^
-| faccessat01.c:133:2: note: in expansion of macro 'SAFE_FILE_PRINTF'
-|   SAFE_FILE_PRINTF(cleanup, testfile2, testfile2);
-|   ^~~~~~~~~~~~~~~~
-
-This is because in macro "SAFE_FILE_PRINTF", its third argument should be a
-format arguments, but in file faccessat01.c, it passed the same argument to
-macro "SAFE_FILE_PRINTF", so it results in the fails. It should pass the format
-string to the third argument.
-
-The same for file fchmodat01.c.
-
-Signed-off-by: Dengke Du <dengke.du@windriver.com>
-Upstream-Status: Pending
----
- testcases/kernel/syscalls/faccessat/faccessat01.c | 4 ++--
- testcases/kernel/syscalls/fchmodat/fchmodat01.c   | 4 ++--
- 2 files changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/testcases/kernel/syscalls/faccessat/faccessat01.c b/testcases/kernel/syscalls/faccessat/faccessat01.c
-index 622dfd3..1ca90e9 100644
---- a/testcases/kernel/syscalls/faccessat/faccessat01.c
-+++ b/testcases/kernel/syscalls/faccessat/faccessat01.c
-@@ -129,8 +129,8 @@ void setup(void)
- 	fds[0] = SAFE_OPEN(cleanup, pathname, O_DIRECTORY);
- 	fds[1] = fds[4] = fds[0];
- 
--	SAFE_FILE_PRINTF(cleanup, testfile, testfile);
--	SAFE_FILE_PRINTF(cleanup, testfile2, testfile2);
-+	SAFE_FILE_PRINTF(cleanup, testfile, "faccessattestfile%d.txt");
-+	SAFE_FILE_PRINTF(cleanup, testfile2, "%s/faccessattestfile%d.txt");
- 
- 	fds[2] = SAFE_OPEN(cleanup, testfile3, O_CREAT | O_RDWR, 0600);
- 
-diff --git a/testcases/kernel/syscalls/fchmodat/fchmodat01.c b/testcases/kernel/syscalls/fchmodat/fchmodat01.c
-index 6bf66d8..89d072a 100644
---- a/testcases/kernel/syscalls/fchmodat/fchmodat01.c
-+++ b/testcases/kernel/syscalls/fchmodat/fchmodat01.c
-@@ -127,8 +127,8 @@ void setup(void)
- 	fds[0] = SAFE_OPEN(cleanup, pathname, O_DIRECTORY);
- 	fds[1] = fds[4] = fds[0];
- 
--	SAFE_FILE_PRINTF(cleanup, testfile, testfile);
--	SAFE_FILE_PRINTF(cleanup, testfile2, testfile2);
-+	SAFE_FILE_PRINTF(cleanup, testfile, "fchmodattest%d.txt");
-+	SAFE_FILE_PRINTF(cleanup, testfile2, "%s/fchmodattest%d.txt");
- 
- 	fds[2] = SAFE_OPEN(cleanup, testfile3, O_CREAT | O_RDWR, 0600);
- 	fds[3] = 100;
--- 
-2.8.1
-
diff --git a/import-layers/yocto-poky/meta/recipes-extended/ltp/ltp/0018-guard-mallocopt-with-__GLIBC__.patch b/import-layers/yocto-poky/meta/recipes-extended/ltp/ltp/0018-guard-mallocopt-with-__GLIBC__.patch
index 5198fe9..a79763d 100644
--- a/import-layers/yocto-poky/meta/recipes-extended/ltp/ltp/0018-guard-mallocopt-with-__GLIBC__.patch
+++ b/import-layers/yocto-poky/meta/recipes-extended/ltp/ltp/0018-guard-mallocopt-with-__GLIBC__.patch
@@ -6,6 +6,7 @@
 mallocopt is not available on non glibc implementations
 
 Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Upstream-Status: Pending
 ---
  utils/benchmark/ebizzy-0.3/ebizzy.c | 4 ++--
  1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/import-layers/yocto-poky/meta/recipes-extended/ltp/ltp/0020-getdents-define-getdents-getdents64-only-for-glibc.patch b/import-layers/yocto-poky/meta/recipes-extended/ltp/ltp/0020-getdents-define-getdents-getdents64-only-for-glibc.patch
index 0e4e458..7060a64 100644
--- a/import-layers/yocto-poky/meta/recipes-extended/ltp/ltp/0020-getdents-define-getdents-getdents64-only-for-glibc.patch
+++ b/import-layers/yocto-poky/meta/recipes-extended/ltp/ltp/0020-getdents-define-getdents-getdents64-only-for-glibc.patch
@@ -7,6 +7,8 @@
 functions with same name, it errors out.
 
 Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Upstream-Status: Pending
 ---
  testcases/kernel/syscalls/getdents/getdents.h | 6 ++++--
  1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/import-layers/yocto-poky/meta/recipes-extended/ltp/ltp/0021-Define-_GNU_SOURCE-for-MREMAP_MAYMOVE-definition.patch b/import-layers/yocto-poky/meta/recipes-extended/ltp/ltp/0021-Define-_GNU_SOURCE-for-MREMAP_MAYMOVE-definition.patch
index c8cbe58..3e79c9f 100644
--- a/import-layers/yocto-poky/meta/recipes-extended/ltp/ltp/0021-Define-_GNU_SOURCE-for-MREMAP_MAYMOVE-definition.patch
+++ b/import-layers/yocto-poky/meta/recipes-extended/ltp/ltp/0021-Define-_GNU_SOURCE-for-MREMAP_MAYMOVE-definition.patch
@@ -10,6 +10,8 @@
 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 ++
diff --git a/import-layers/yocto-poky/meta/recipes-extended/ltp/ltp/0023-ptrace-Use-int-instead-of-enum-__ptrace_request.patch b/import-layers/yocto-poky/meta/recipes-extended/ltp/ltp/0023-ptrace-Use-int-instead-of-enum-__ptrace_request.patch
index 4680c03..529f4ed 100644
--- a/import-layers/yocto-poky/meta/recipes-extended/ltp/ltp/0023-ptrace-Use-int-instead-of-enum-__ptrace_request.patch
+++ b/import-layers/yocto-poky/meta/recipes-extended/ltp/ltp/0023-ptrace-Use-int-instead-of-enum-__ptrace_request.patch
@@ -6,6 +6,8 @@
 __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 ++++
diff --git a/import-layers/yocto-poky/meta/recipes-extended/ltp/ltp/0024-rt_sigaction-rt_sigprocmark-Define-_GNU_SOURCE.patch b/import-layers/yocto-poky/meta/recipes-extended/ltp/ltp/0024-rt_sigaction-rt_sigprocmark-Define-_GNU_SOURCE.patch
index 03c67a5..03aa45d 100644
--- a/import-layers/yocto-poky/meta/recipes-extended/ltp/ltp/0024-rt_sigaction-rt_sigprocmark-Define-_GNU_SOURCE.patch
+++ b/import-layers/yocto-poky/meta/recipes-extended/ltp/ltp/0024-rt_sigaction-rt_sigprocmark-Define-_GNU_SOURCE.patch
@@ -7,6 +7,8 @@
 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 +-
diff --git a/import-layers/yocto-poky/meta/recipes-extended/ltp/ltp/0025-mc_gethost-include-sys-types.h.patch b/import-layers/yocto-poky/meta/recipes-extended/ltp/ltp/0025-mc_gethost-include-sys-types.h.patch
index aad3cb0..afcba63 100644
--- a/import-layers/yocto-poky/meta/recipes-extended/ltp/ltp/0025-mc_gethost-include-sys-types.h.patch
+++ b/import-layers/yocto-poky/meta/recipes-extended/ltp/ltp/0025-mc_gethost-include-sys-types.h.patch
@@ -7,6 +7,8 @@
 error: unknown type name 'u_char'
 
 Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Upstream-Status: Pending
 ---
  testcases/network/multicast/mc_gethost/mc_gethost.c | 1 +
  1 file changed, 1 insertion(+)
diff --git a/import-layers/yocto-poky/meta/recipes-extended/ltp/ltp/0026-crash01-Define-_GNU_SOURCE.patch b/import-layers/yocto-poky/meta/recipes-extended/ltp/ltp/0026-crash01-Define-_GNU_SOURCE.patch
index 58b8ed4..f65fad1 100644
--- a/import-layers/yocto-poky/meta/recipes-extended/ltp/ltp/0026-crash01-Define-_GNU_SOURCE.patch
+++ b/import-layers/yocto-poky/meta/recipes-extended/ltp/ltp/0026-crash01-Define-_GNU_SOURCE.patch
@@ -7,6 +7,8 @@
 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/import-layers/yocto-poky/meta/recipes-extended/ltp/ltp/0027-sysconf01-Use-_SC_2_C_VERSION-conditionally.patch b/import-layers/yocto-poky/meta/recipes-extended/ltp/ltp/0027-sysconf01-Use-_SC_2_C_VERSION-conditionally.patch
index f75e33b..adf6f27 100644
--- a/import-layers/yocto-poky/meta/recipes-extended/ltp/ltp/0027-sysconf01-Use-_SC_2_C_VERSION-conditionally.patch
+++ b/import-layers/yocto-poky/meta/recipes-extended/ltp/ltp/0027-sysconf01-Use-_SC_2_C_VERSION-conditionally.patch
@@ -7,6 +7,8 @@
 
 Signed-off-by: Khem Raj <raj.khem@gmail.com>
 Signed-off-by: Dengke Du <dengke.du@windriver.com>
+
+Upstream-Status: Pending
 ---
  testcases/kernel/syscalls/sysconf/sysconf01.c | 2 ++
  1 file changed, 2 insertions(+)
diff --git a/import-layers/yocto-poky/meta/recipes-extended/ltp/ltp/0028-rt_sigaction.h-Use-sighandler_t-instead-of-__sighand.patch b/import-layers/yocto-poky/meta/recipes-extended/ltp/ltp/0028-rt_sigaction.h-Use-sighandler_t-instead-of-__sighand.patch
index b26aa13..c730d46 100644
--- a/import-layers/yocto-poky/meta/recipes-extended/ltp/ltp/0028-rt_sigaction.h-Use-sighandler_t-instead-of-__sighand.patch
+++ b/import-layers/yocto-poky/meta/recipes-extended/ltp/ltp/0028-rt_sigaction.h-Use-sighandler_t-instead-of-__sighand.patch
@@ -8,6 +8,8 @@
 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                      | 2 +-
  testcases/kernel/syscalls/rt_sigsuspend/Makefile | 3 +++
diff --git a/import-layers/yocto-poky/meta/recipes-extended/ltp/ltp/0030-lib-Use-PTHREAD_MUTEX_RECURSIVE-in-place-of-PTHREAD_.patch b/import-layers/yocto-poky/meta/recipes-extended/ltp/ltp/0030-lib-Use-PTHREAD_MUTEX_RECURSIVE-in-place-of-PTHREAD_.patch
index c5fac9b..efa6d06 100644
--- a/import-layers/yocto-poky/meta/recipes-extended/ltp/ltp/0030-lib-Use-PTHREAD_MUTEX_RECURSIVE-in-place-of-PTHREAD_.patch
+++ b/import-layers/yocto-poky/meta/recipes-extended/ltp/ltp/0030-lib-Use-PTHREAD_MUTEX_RECURSIVE-in-place-of-PTHREAD_.patch
@@ -8,6 +8,8 @@
 
 Signed-off-by: Khem Raj <raj.khem@gmail.com>
 Signed-off-by: Dengke Du <dengke.du@windriver.com>
+
+Upstream-Status: Pending
 ---
  lib/tst_res.c | 4 ++++
  1 file changed, 4 insertions(+)
diff --git a/import-layers/yocto-poky/meta/recipes-extended/ltp/ltp/0034-periodic_output.patch b/import-layers/yocto-poky/meta/recipes-extended/ltp/ltp/0034-periodic_output.patch
index 59caefe..c2ef899 100644
--- a/import-layers/yocto-poky/meta/recipes-extended/ltp/ltp/0034-periodic_output.patch
+++ b/import-layers/yocto-poky/meta/recipes-extended/ltp/ltp/0034-periodic_output.patch
@@ -1,4 +1,7 @@
-Add periodic output for long time test.
+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.
@@ -6,20 +9,26 @@
 Signed-off-by: Tudor Florea <tudor.florea@enea.com>
 Upstream-Status: Pending
 
-diff -ruN a/testcases/kernel/controllers/memcg/stress/memcg_stress_test.sh b/testcases/kernel/controllers/memcg/stress/memcg_stress_test.sh
---- a/testcases/kernel/controllers/memcg/stress/memcg_stress_test.sh	2013-11-08 15:54:09.515049081 +0100
-+++ b/testcases/kernel/controllers/memcg/stress/memcg_stress_test.sh	2013-11-08 22:32:15.587370406 +0100
-@@ -37,7 +37,8 @@
+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=$(( 60 * 60 ))
+-RUN_TIME=$(( 15 * 60 ))
 +ONE_MINUTE=60
-+RUN_TIME=60
++RUN_TIME=15
  
  cleanup()
  {
-@@ -62,7 +63,7 @@
+@@ -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
@@ -28,16 +37,19 @@
  run_stress()
  {
  	do_mount;
-@@ -81,7 +82,11 @@
+@@ -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... " 
++		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/import-layers/yocto-poky/meta/recipes-extended/ltp/ltp/0037-ltp-fix-PAGE_SIZE-redefinition-and-O_CREAT-undeclear.patch b/import-layers/yocto-poky/meta/recipes-extended/ltp/ltp/0037-ltp-fix-PAGE_SIZE-redefinition-and-O_CREAT-undeclear.patch
new file mode 100644
index 0000000..c8738ae
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-extended/ltp/ltp/0037-ltp-fix-PAGE_SIZE-redefinition-and-O_CREAT-undeclear.patch
@@ -0,0 +1,113 @@
+From a9d5595d2fa2ab252f1cabf63f4b65c3efbafeb9 Mon Sep 17 00:00:00 2001
+From: Dengke Du <dengke.du@windriver.com>
+Date: Thu, 10 Aug 2017 15:27:03 +0800
+Subject: [PATCH] ltp: fix PAGE_SIZE redefinition and O_CREAT undeclear when
+ build with musl
+
+error 1:
+
+|stack_clash.c:50:22: error: expected identifier or '(' before numeric constant
+| static unsigned long PAGE_SIZE;
+
+This is because the musl libc already contain PAGE_SIZE definition in limits.c,
+we can check it here:
+
+    https://git.musl-libc.org/cgit/musl/tree/include/limits.h#n43
+
+error 2:
+
+|ck01.c:157:22: error: 'O_CREAT' undeclared (first use in this function); did you mean 'S_IREAD'?
+|   fd = open(filename, O_CREAT | O_TRUNC | O_RDWR, 0644);
+|                       ^~~~~~~
+|                       S_IREAD
+
+This is because the musl libc put those in fcntl.h, so we should include that
+file.
+
+Upstream-Status: Submitted [ https://github.com/linux-test-project/ltp/pull/194 ]
+
+Signed-off-by: Dengke Du <dengke.du@windriver.com>
+---
+ testcases/cve/stack_clash.c               | 12 ++++++------
+ testcases/kernel/syscalls/flock/flock01.c |  1 +
+ testcases/kernel/syscalls/flock/flock02.c |  1 +
+ 3 files changed, 8 insertions(+), 6 deletions(-)
+
+diff --git a/testcases/cve/stack_clash.c b/testcases/cve/stack_clash.c
+index 2ef1a82..7c45991 100644
+--- a/testcases/cve/stack_clash.c
++++ b/testcases/cve/stack_clash.c
+@@ -47,7 +47,7 @@
+ #include "tst_test.h"
+ #include "tst_safe_stdio.h"
+ 
+-static unsigned long PAGE_SIZE;
++static unsigned long PAGE_SIZE_tst;
+ static unsigned long PAGE_MASK;
+ static unsigned long GAP_PAGES = 256;
+ static unsigned long THRESHOLD;
+@@ -66,7 +66,7 @@ void exhaust_stack_into_sigsegv(void)
+ 	exhaust_stack_into_sigsegv();
+ }
+ 
+-#define MAPPED_LEN PAGE_SIZE
++#define MAPPED_LEN PAGE_SIZE_tst
+ static unsigned long mapped_addr;
+ 
+ void segv_handler(int sig, siginfo_t *info, void *data LTP_ATTRIBUTE_UNUSED)
+@@ -150,7 +150,7 @@ void do_child(void)
+ 	stack_t signal_stack;
+ 	struct sigaction segv_sig = {.sa_sigaction = segv_handler, .sa_flags = SA_ONSTACK|SA_SIGINFO};
+ 	void *map;
+-	unsigned long gap = GAP_PAGES * PAGE_SIZE;
++	unsigned long gap = GAP_PAGES * PAGE_SIZE_tst;
+ 	struct rlimit rlimit;
+ 
+ 	rlimit.rlim_cur = rlimit.rlim_max = RLIM_INFINITY;
+@@ -200,8 +200,8 @@ void setup(void)
+ {
+ 	char buf[4096], *p;
+ 
+-	PAGE_SIZE = sysconf(_SC_PAGESIZE);
+-	PAGE_MASK = ~(PAGE_SIZE - 1);
++	PAGE_SIZE_tst = sysconf(_SC_PAGESIZE);
++	PAGE_MASK = ~(PAGE_SIZE_tst - 1);
+ 
+ 	buf[4095] = '\0';
+ 	SAFE_FILE_SCANF("/proc/cmdline", "%4095[^\n]", buf);
+@@ -214,7 +214,7 @@ void setup(void)
+ 		tst_res(TINFO, "stack_guard_gap = %ld", GAP_PAGES);
+ 	}
+ 
+-	THRESHOLD = (GAP_PAGES - 1) * PAGE_SIZE;
++	THRESHOLD = (GAP_PAGES - 1) * PAGE_SIZE_tst;
+ 
+ 	{
+ 		volatile int *a = alloca(128);
+diff --git a/testcases/kernel/syscalls/flock/flock01.c b/testcases/kernel/syscalls/flock/flock01.c
+index 3e17be4..06d89e3 100644
+--- a/testcases/kernel/syscalls/flock/flock01.c
++++ b/testcases/kernel/syscalls/flock/flock01.c
+@@ -69,6 +69,7 @@
+ #include <stdio.h>
+ #include <sys/wait.h>
+ #include <sys/file.h>
++#include <fcntl.h>
+ #include "test.h"
+ 
+ void setup(void);
+diff --git a/testcases/kernel/syscalls/flock/flock02.c b/testcases/kernel/syscalls/flock/flock02.c
+index 414df68..9ddf729 100644
+--- a/testcases/kernel/syscalls/flock/flock02.c
++++ b/testcases/kernel/syscalls/flock/flock02.c
+@@ -75,6 +75,7 @@
+ #include <sys/types.h>
+ #include <sys/file.h>
+ #include <sys/wait.h>
++#include <fcntl.h>
+ #include <errno.h>
+ #include <stdio.h>
+ #include "test.h"
+-- 
+2.7.4
+
diff --git a/import-layers/yocto-poky/meta/recipes-extended/ltp/ltp/0038-commands-gdb01-replace-stdin-with-dev-null.patch b/import-layers/yocto-poky/meta/recipes-extended/ltp/ltp/0038-commands-gdb01-replace-stdin-with-dev-null.patch
new file mode 100644
index 0000000..f7c0a4b
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-extended/ltp/ltp/0038-commands-gdb01-replace-stdin-with-dev-null.patch
@@ -0,0 +1,34 @@
+From 2f6ab8f694b26b7f2566624f6d1f23788d6ab8a0 Mon Sep 17 00:00:00 2001
+From: Jan Stancek <jstancek@redhat.com>
+Date: Mon, 11 Sep 2017 12:57:58 +0200
+Subject: [PATCH] commands/gdb01: replace stdin with /dev/null
+
+If this testcase runs as background process, gdb can receive
+SIGTTOU and then testcase gets stuck.
+
+Signed-off-by: Jan Stancek <jstancek@redhat.com>
+
+Upstream-Status: Backport
+[https://github.com/linux-test-project/ltp/commit/2f6ab8f694b26b7f2566624f6d1f23788d6ab8a0]
+
+Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
+---
+ testcases/commands/gdb/gdb01.sh | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/testcases/commands/gdb/gdb01.sh b/testcases/commands/gdb/gdb01.sh
+index 07ae36f..e3a5b51 100755
+--- a/testcases/commands/gdb/gdb01.sh
++++ b/testcases/commands/gdb/gdb01.sh
+@@ -29,7 +29,7 @@ TST_NEEDS_CMDS="gdb /bin/cat"
+ 
+ simple_test()
+ {
+-	gdb /bin/cat -ex "run /etc/passwd" -ex quit
++	gdb /bin/cat -ex "run /etc/passwd" -ex quit < /dev/null
+ 	RC=$?
+ 	if [ $RC -eq 0 ] ; then
+ 		tst_res TPASS "gdb attached to process and completed run"
+-- 
+2.7.4
+
diff --git a/import-layers/yocto-poky/meta/recipes-extended/ltp/ltp/0039-fcntl-fix-the-time-def-to-use-time_t.patch b/import-layers/yocto-poky/meta/recipes-extended/ltp/ltp/0039-fcntl-fix-the-time-def-to-use-time_t.patch
deleted file mode 100644
index c0c1dad..0000000
--- a/import-layers/yocto-poky/meta/recipes-extended/ltp/ltp/0039-fcntl-fix-the-time-def-to-use-time_t.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From 7bce3d223494803cb32897cabe66119076e53d89 Mon Sep 17 00:00:00 2001
-From: Dengke Du <dengke.du@windriver.com>
-Date: Wed, 8 Feb 2017 16:23:51 +0800
-Subject: [PATCH 5/5] fcntl: fix the time() def to use time_t
-
-This fixes the build on X32, where long is 32-bit rather than 64-bit.
-
-Signed-off-by: Christopher Larson <chris_larson@mentor.com>
-Signed-off-by: Dengke Du <dengke.du@windriver.com>
----
- testcases/kernel/syscalls/fcntl/fcntl14.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/testcases/kernel/syscalls/fcntl/fcntl14.c b/testcases/kernel/syscalls/fcntl/fcntl14.c
-index c61eb24..99e3867 100644
---- a/testcases/kernel/syscalls/fcntl/fcntl14.c
-+++ b/testcases/kernel/syscalls/fcntl/fcntl14.c
-@@ -775,7 +775,7 @@ void dochild(void)
- 
- void run_test(int file_flag, int file_mode, int seek, int start, int end)
- {
--	extern long time();
-+	extern time_t time();
- 
- 	fail = 0;
- 
--- 
-2.7.4
-
diff --git a/import-layers/yocto-poky/meta/recipes-extended/ltp/ltp_20170116.bb b/import-layers/yocto-poky/meta/recipes-extended/ltp/ltp_20170516.bb
similarity index 84%
rename from import-layers/yocto-poky/meta/recipes-extended/ltp/ltp_20170116.bb
rename to import-layers/yocto-poky/meta/recipes-extended/ltp/ltp_20170516.bb
index 58af104..653cbfd 100644
--- a/import-layers/yocto-poky/meta/recipes-extended/ltp/ltp_20170116.bb
+++ b/import-layers/yocto-poky/meta/recipes-extended/ltp/ltp_20170516.bb
@@ -9,7 +9,7 @@
     file://testcases/kernel/controllers/freezer/run_freezer.sh;beginline=5;endline=17;md5=86a61d2c042d59836ffb353a21456498 \
     file://testcases/kernel/hotplug/memory_hotplug/COPYING;md5=e04a2e542b2b8629bf9cd2ba29b0fe41 \
     file://testcases/kernel/hotplug/cpu_hotplug/COPYING;md5=e04a2e542b2b8629bf9cd2ba29b0fe41 \
-    file://testcases/open_posix_testsuite/COPYING;md5=216e43b72efbe4ed9017cc19c4c68b01 \
+    file://testcases/open_posix_testsuite/COPYING;md5=48b1c5ec633e3e30ec2cf884ae699947 \
     file://testcases/realtime/COPYING;md5=12f884d2ae1ff87c09e5b7ccc2c4ca7e \
     file://tools/pounder21/COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
     file://utils/benchmark/kernbench-0.42/COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
@@ -21,7 +21,7 @@
 EXTRA_OEMAKE_append_libc-musl = " LIBC=musl "
 CFLAGS_append_powerpc64 = " -D__SANE_USERSPACE_TYPES__"
 CFLAGS_append_mipsarchn64 = " -D__SANE_USERSPACE_TYPES__"
-SRCREV = "2c8457b0769fc026e4e1772f4c2a6da0be63a631"
+SRCREV = "18916a2e6d8c997b7b29dcfa9550d5a15b22ed22"
 
 SRC_URI = "git://github.com/linux-test-project/ltp.git \
            file://0001-add-_GNU_SOURCE-to-pec_listener.c.patch \
@@ -29,13 +29,11 @@
            file://0003-Add-knob-to-control-tirpc-support.patch \
            file://0004-build-Add-option-to-select-libc-implementation.patch \
            file://0005-kernel-controllers-Link-with-libfts-explicitly-on-mu.patch \
-           file://0006-fix-PATH_MAX-undeclared-when-building-with-musl.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://0010-replace-__BEGIN_DECLS-and-__END_DECLS.patch \
            file://0011-Rename-sigset-variable-to-sigset1.patch \
-           file://0012-fix-faccessat01.c-build-fails-with-security-flags.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 \
@@ -50,7 +48,8 @@
            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-fcntl-fix-the-time-def-to-use-time_t.patch \
+           file://0037-ltp-fix-PAGE_SIZE-redefinition-and-O_CREAT-undeclear.patch \
+           file://0038-commands-gdb01-replace-stdin-with-dev-null.patch \
            "
 
 S = "${WORKDIR}/git"
@@ -68,14 +67,6 @@
 # ltp network/rpc test cases ftbfs when libtirpc is found
 EXTRA_OECONF += " --without-tirpc "
 
-# The makefiles make excessive use of make -C and several include testcases.mk
-# which triggers a build of the syscall header. To reproduce, build ltp,
-# then delete the header, then "make -j XX" and watch regen.sh run multiple
-# times. Its easier to generate this once here instead.
-do_compile_prepend () {
-	( make -C ${B}/testcases/kernel include/linux_syscall_numbers.h )
-}
-
 do_install(){
     install -d ${D}/opt/ltp/
     oe_runmake DESTDIR=${D} SKIP_IDCHECK=1 install
@@ -88,14 +79,32 @@
     # OSDL's Scaleable Test Platform, but now http://khack.osdl.org unaccessible
     rm -rf ${D}/opt/ltp/bin/STPfailure_report.pl
 
-    # In oe-core, we doesn't support ksh and csh now, so remove in.csh and in.ksh.
-    rm ${D}/opt/ltp/testcases/data/file01/in.csh
-    rm ${D}/opt/ltp/testcases/data/file01/in.ksh
     # Copy POSIX test suite into ${D}/opt/ltp/testcases by manual
     cp -r testcases/open_posix_testsuite ${D}/opt/ltp/testcases
 }
 
-RDEPENDS_${PN} = "perl e2fsprogs-mke2fs python-core libaio bash gawk expect ldd unzip gzip cpio cronie logrotate which at"
+RDEPENDS_${PN} = "\
+    acl \
+    at \
+    attr \
+    bash \
+    cpio \
+    cronie \
+    curl \
+    e2fsprogs-mke2fs \
+    expect \
+    gawk \
+    gzip \
+    iproute2 \
+    ldd \
+    libaio \
+    logrotate \
+    perl \
+    python-core \
+    unzip \
+    util-linux \
+    which \
+"
 
 FILES_${PN}-staticdev += "/opt/ltp/lib/libmem.a /opt/ltp/testcases/data/nm01/lib.a"
 
diff --git a/import-layers/yocto-poky/meta/recipes-extended/lzip/lzip_1.18.bb b/import-layers/yocto-poky/meta/recipes-extended/lzip/lzip_1.19.bb
similarity index 88%
rename from import-layers/yocto-poky/meta/recipes-extended/lzip/lzip_1.18.bb
rename to import-layers/yocto-poky/meta/recipes-extended/lzip/lzip_1.19.bb
index c1dc8ce..099b364 100644
--- a/import-layers/yocto-poky/meta/recipes-extended/lzip/lzip_1.18.bb
+++ b/import-layers/yocto-poky/meta/recipes-extended/lzip/lzip_1.19.bb
@@ -7,8 +7,8 @@
 
 SRC_URI = "${SAVANNAH_GNU_MIRROR}/lzip/lzip-${PV}.tar.gz"
 
-SRC_URI[md5sum] = "3838567460ce4a10143de4bccc64fe1c"
-SRC_URI[sha256sum] = "47f9882a104ab05532f467a7b8f4ddbb898fa2f1e8d9d468556d6c2d04db14dd"
+SRC_URI[md5sum] = "4dd8790d7528440d034fc713a8680bd3"
+SRC_URI[sha256sum] = "ffadc4f56be1bc0d3ae155ec4527bd003133bdc703a753b2cc683f610e646ba9"
 
 CONFIGUREOPTS = "\
     '--srcdir=${S}' \
diff --git a/import-layers/yocto-poky/meta/recipes-extended/mailx/files/0001-Don-t-reuse-weak-symbol-optopt-to-fix-FTBFS-on-mips.patch b/import-layers/yocto-poky/meta/recipes-extended/mailx/files/0001-Don-t-reuse-weak-symbol-optopt-to-fix-FTBFS-on-mips.patch
deleted file mode 100644
index 77da333..0000000
--- a/import-layers/yocto-poky/meta/recipes-extended/mailx/files/0001-Don-t-reuse-weak-symbol-optopt-to-fix-FTBFS-on-mips.patch
+++ /dev/null
@@ -1,59 +0,0 @@
-From: Luk Claes <luk@debian.org>
-Date: Sat, 4 Jul 2009 10:54:53 +0200
-Subject: Don't reuse weak symbol optopt to fix FTBFS on mips*
-
-This patch is taken from 
-ftp://ftp.debian.org/debian/pool/main/h/heirloom-mailx/heirloom-mailx_12.5-5.debian.tar.xz
-
-Upstream-Status: Inappropriate [upstream is dead]
----
- getopt.c |   10 +++++-----
- 1 file changed, 5 insertions(+), 5 deletions(-)
-
-diff --git a/getopt.c b/getopt.c
-index 83ce628..82e983c 100644
---- a/getopt.c
-+++ b/getopt.c
-@@ -43,7 +43,7 @@ typedef	int	ssize_t;
- char	*optarg;
- int	optind = 1;
- int	opterr = 1;
--int	optopt;
-+int	optoptc;
- 
- static void
- error(const char *s, int c)
-@@ -69,7 +69,7 @@ error(const char *s, int c)
- 		*bp++ = *s++;
- 	while (*msg)
- 		*bp++ = *msg++;
--	*bp++ = optopt;
-+	*bp++ = optoptc;
- 	*bp++ = '\n';
- 	write(2, buf, bp - buf);
- 	ac_free(buf);
-@@ -101,13 +101,13 @@ getopt(int argc, char *const argv[], const char *optstring)
- 		}
- 		curp = &argv[optind][1];
- 	}
--	optopt = curp[0] & 0377;
-+	optoptc = curp[0] & 0377;
- 	while (optstring[0]) {
- 		if (optstring[0] == ':') {
- 			optstring++;
- 			continue;
- 		}
--		if ((optstring[0] & 0377) == optopt) {
-+		if ((optstring[0] & 0377) == optoptc) {
- 			if (optstring[1] == ':') {
- 				if (curp[1] != '\0') {
- 					optarg = (char *)&curp[1];
-@@ -127,7 +127,7 @@ getopt(int argc, char *const argv[], const char *optstring)
- 					optind++;
- 				optarg = 0;
- 			}
--			return optopt;
-+			return optoptc;
- 		}
- 		optstring++;
- 	}
diff --git a/import-layers/yocto-poky/meta/recipes-extended/mailx/files/0002-Patched-out-SSL2-support-since-it-is-no-longer-suppo.patch b/import-layers/yocto-poky/meta/recipes-extended/mailx/files/0002-Patched-out-SSL2-support-since-it-is-no-longer-suppo.patch
deleted file mode 100644
index 6bad433..0000000
--- a/import-layers/yocto-poky/meta/recipes-extended/mailx/files/0002-Patched-out-SSL2-support-since-it-is-no-longer-suppo.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From: Hilko Bengen <bengen@debian.org>
-Date: Wed, 27 Apr 2011 00:18:42 +0200
-Subject: Patched out SSL2 support since it is no longer supported by OpenSSL.
-
-This patch is taken from
-ftp://ftp.debian.org/debian/pool/main/h/heirloom-mailx/heirloom-mailx_12.5-5.debian.tar.xz
-
-Upstream-Status: Inappropriate [upstream is dead]
----
- mailx.1   |    2 +-
- openssl.c |    4 +---
- 2 files changed, 2 insertions(+), 4 deletions(-)
-
-diff --git a/mailx.1 b/mailx.1
-index 417ea04..a02e430 100644
---- a/mailx.1
-+++ b/mailx.1
-@@ -3575,7 +3575,7 @@ Only applicable if SSL/TLS support is built using OpenSSL.
- .TP
- .B ssl-method
- Selects a SSL/TLS protocol version;
--valid values are `ssl2', `ssl3', and `tls1'.
-+valid values are `ssl3', and `tls1'.
- If unset, the method is selected automatically,
- if possible.
- .TP
-diff --git a/openssl.c b/openssl.c
-index b4e33fc..44fe4e5 100644
---- a/openssl.c
-+++ b/openssl.c
-@@ -216,9 +216,7 @@ ssl_select_method(const char *uhp)
- 
- 	cp = ssl_method_string(uhp);
- 	if (cp != NULL) {
--		if (equal(cp, "ssl2"))
--			method = SSLv2_client_method();
--		else if (equal(cp, "ssl3"))
-+		if (equal(cp, "ssl3"))
- 			method = SSLv3_client_method();
- 		else if (equal(cp, "tls1"))
- 			method = TLSv1_client_method();
diff --git a/import-layers/yocto-poky/meta/recipes-extended/mailx/files/0003-Fixed-Lintian-warning-warning-macro-N-not-defined.patch b/import-layers/yocto-poky/meta/recipes-extended/mailx/files/0003-Fixed-Lintian-warning-warning-macro-N-not-defined.patch
deleted file mode 100644
index 13b73ae..0000000
--- a/import-layers/yocto-poky/meta/recipes-extended/mailx/files/0003-Fixed-Lintian-warning-warning-macro-N-not-defined.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From: Hilko Bengen <bengen@debian.org>
-Date: Sat, 14 Apr 2012 20:22:43 +0200
-Subject: Fixed Lintian warning (warning: macro `N' not defined)
-
-This patch is taken from
-ftp://ftp.debian.org/debian/pool/main/h/heirloom-mailx/heirloom-mailx_12.5-5.debian.tar.xz
-
-Upstream-Status: Inappropriate [upstream is dead]
----
- mailx.1 |    2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/mailx.1 b/mailx.1
-index a02e430..b0723bd 100644
---- a/mailx.1
-+++ b/mailx.1
-@@ -3781,7 +3781,7 @@ you could examine the first message by giving the command:
- .sp
- .fi
- which might cause
--.N mailx
-+.I mailx
- to respond with, for example:
- .nf
- .sp
diff --git a/import-layers/yocto-poky/meta/recipes-extended/mailx/files/0011-outof-Introduce-expandaddr-flag.patch b/import-layers/yocto-poky/meta/recipes-extended/mailx/files/0011-outof-Introduce-expandaddr-flag.patch
deleted file mode 100644
index 13b955c..0000000
--- a/import-layers/yocto-poky/meta/recipes-extended/mailx/files/0011-outof-Introduce-expandaddr-flag.patch
+++ /dev/null
@@ -1,71 +0,0 @@
-From 9984ae5cb0ea0d61df1612b06952a61323c083d9 Mon Sep 17 00:00:00 2001
-From: Florian Weimer <fweimer@redhat.com>
-Date: Mon, 17 Nov 2014 11:13:38 +0100
-Subject: [PATCH 1/4] outof: Introduce expandaddr flag
-
-Document that address expansion is disabled unless the expandaddr
-binary option is set.
-
-This has been assigned CVE-2014-7844 for BSD mailx, but it is not
-a vulnerability in Heirloom mailx because this feature was documented.
-
-This patch is taken from
-ftp://ftp.debian.org/debian/pool/main/h/heirloom-mailx/heirloom-mailx_12.5-5.debian.tar.xz
-
-Upstream-Status: Inappropriate [upstream is dead]
-CVE: CVE-2014-7844
----
- mailx.1 | 14 ++++++++++++++
- names.c |  3 +++
- 2 files changed, 17 insertions(+)
-
-diff --git a/mailx.1 b/mailx.1
-index 70a7859..22a171b 100644
---- a/mailx.1
-+++ b/mailx.1
-@@ -656,6 +656,14 @@ but any reply returned to the machine
- will have the system wide alias expanded
- as all mail goes through sendmail.
- .SS "Recipient address specifications"
-+If the
-+.I expandaddr
-+option is not set (the default), recipient addresses must be names of
-+local mailboxes or Internet mail addresses.
-+.PP
-+If the
-+.I expandaddr
-+option is set, the following rules apply:
- When an address is used to name a recipient
- (in any of To, Cc, or Bcc),
- names of local mail folders
-@@ -2391,6 +2399,12 @@ and exits immediately.
- If this option is set,
- \fImailx\fR starts even with an empty mailbox.
- .TP
-+.B expandaddr
-+Causes
-+.I mailx
-+to expand message recipient addresses, as explained in the section,
-+Recipient address specifications.
-+.TP
- .B flipr
- Exchanges the
- .I Respond
-diff --git a/names.c b/names.c
-index 66e976b..c69560f 100644
---- a/names.c
-+++ b/names.c
-@@ -268,6 +268,9 @@ outof(struct name *names, FILE *fo, struct header *hp)
- 	FILE *fout, *fin;
- 	int ispipe;
- 
-+	if (value("expandaddr") == NULL)
-+		return names;
-+
- 	top = names;
- 	np = names;
- 	time(&now);
--- 
-1.9.3
-
-
diff --git a/import-layers/yocto-poky/meta/recipes-extended/mailx/files/0012-unpack-Disable-option-processing-for-email-addresses.patch b/import-layers/yocto-poky/meta/recipes-extended/mailx/files/0012-unpack-Disable-option-processing-for-email-addresses.patch
deleted file mode 100644
index 8cdbfd8..0000000
--- a/import-layers/yocto-poky/meta/recipes-extended/mailx/files/0012-unpack-Disable-option-processing-for-email-addresses.patch
+++ /dev/null
@@ -1,79 +0,0 @@
-From e34e2ac67b80497080ebecccec40c3b61456167d Mon Sep 17 00:00:00 2001
-From: Florian Weimer <fweimer@redhat.com>
-Date: Mon, 17 Nov 2014 11:14:06 +0100
-Subject: [PATCH 2/4] unpack: Disable option processing for email addresses
- when calling sendmail
-
-This patch is taken from
-ftp://ftp.debian.org/debian/pool/main/h/heirloom-mailx/heirloom-mailx_12.5-5.debian.tar.xz
-
-Upstream-Status: Inappropriate [upstream is dead]
----
- extern.h  | 2 +-
- names.c   | 8 ++++++--
- sendout.c | 2 +-
- 3 files changed, 8 insertions(+), 4 deletions(-)
-
-diff --git a/extern.h b/extern.h
-index 6b85ba0..8873fe8 100644
---- a/extern.h
-+++ b/extern.h
-@@ -396,7 +396,7 @@ struct name *outof(struct name *names, FILE *fo, struct header *hp);
- int is_fileaddr(char *name);
- struct name *usermap(struct name *names);
- struct name *cat(struct name *n1, struct name *n2);
--char **unpack(struct name *np);
-+char **unpack(struct name *smopts, struct name *np);
- struct name *elide(struct name *names);
- int count(struct name *np);
- struct name *delete_alternates(struct name *np);
-diff --git a/names.c b/names.c
-index c69560f..45bbaed 100644
---- a/names.c
-+++ b/names.c
-@@ -549,7 +549,7 @@ cat(struct name *n1, struct name *n2)
-  * Return an error if the name list won't fit.
-  */
- char **
--unpack(struct name *np)
-+unpack(struct name *smopts, struct name *np)
- {
- 	char **ap, **top;
- 	struct name *n;
-@@ -564,7 +564,7 @@ unpack(struct name *np)
- 	 * the terminating 0 pointer.  Additional spots may be needed
- 	 * to pass along -f to the host mailer.
- 	 */
--	extra = 2;
-+	extra = 3 + count(smopts);
- 	extra++;
- 	metoo = value("metoo") != NULL;
- 	if (metoo)
-@@ -581,6 +581,10 @@ unpack(struct name *np)
- 		*ap++ = "-m";
- 	if (verbose)
- 		*ap++ = "-v";
-+	for (; smopts != NULL; smopts = smopts->n_flink)
-+		if ((smopts->n_type & GDEL) == 0)
-+			*ap++ = smopts->n_name;
-+	*ap++ = "--";
- 	for (; n != NULL; n = n->n_flink)
- 		if ((n->n_type & GDEL) == 0)
- 			*ap++ = n->n_name;
-diff --git a/sendout.c b/sendout.c
-index 7b7f2eb..c52f15d 100644
---- a/sendout.c
-+++ b/sendout.c
-@@ -835,7 +835,7 @@ start_mta(struct name *to, struct name *mailargs, FILE *input,
- #endif	/* HAVE_SOCKETS */
- 
- 	if ((smtp = value("smtp")) == NULL) {
--		args = unpack(cat(mailargs, to));
-+		args = unpack(mailargs, to);
- 		if (debug || value("debug")) {
- 			printf(catgets(catd, CATSET, 181,
- 					"Sendmail arguments:"));
--- 
-1.9.3
-
-
diff --git a/import-layers/yocto-poky/meta/recipes-extended/mailx/files/0013-fio.c-Unconditionally-require-wordexp-support.patch b/import-layers/yocto-poky/meta/recipes-extended/mailx/files/0013-fio.c-Unconditionally-require-wordexp-support.patch
deleted file mode 100644
index 5558d86..0000000
--- a/import-layers/yocto-poky/meta/recipes-extended/mailx/files/0013-fio.c-Unconditionally-require-wordexp-support.patch
+++ /dev/null
@@ -1,113 +0,0 @@
-From 2bae8ecf04ec2ba6bb9f0af5b80485dd0edb427d Mon Sep 17 00:00:00 2001
-From: Florian Weimer <fweimer@redhat.com>
-Date: Mon, 17 Nov 2014 12:48:25 +0100
-Subject: [PATCH 3/4] fio.c: Unconditionally require wordexp support
-
-This patch is taken from
-ftp://ftp.debian.org/debian/pool/main/h/heirloom-mailx/heirloom-mailx_12.5-5.debian.tar.xz
-
-Upstream-Status: Inappropriate [upstream is dead]
----
- fio.c | 67 +++++--------------------------------------------------------------
- 1 file changed, 5 insertions(+), 62 deletions(-)
-
-diff --git a/fio.c b/fio.c
-index 65e8f10..1529236 100644
---- a/fio.c
-+++ b/fio.c
-@@ -43,12 +43,15 @@ static char sccsid[] = "@(#)fio.c	2.76 (gritter) 9/16/09";
- #endif /* not lint */
- 
- #include "rcv.h"
-+
-+#ifndef HAVE_WORDEXP
-+#error wordexp support is required
-+#endif
-+
- #include <sys/stat.h>
- #include <sys/file.h>
- #include <sys/wait.h>
--#ifdef	HAVE_WORDEXP
- #include <wordexp.h>
--#endif	/* HAVE_WORDEXP */
- #include <unistd.h>
- 
- #if defined (USE_NSS)
-@@ -481,7 +484,6 @@ next:
- static char *
- globname(char *name)
- {
--#ifdef	HAVE_WORDEXP
- 	wordexp_t we;
- 	char *cp;
- 	sigset_t nset;
-@@ -527,65 +529,6 @@ globname(char *name)
- 	}
- 	wordfree(&we);
- 	return cp;
--#else	/* !HAVE_WORDEXP */
--	char xname[PATHSIZE];
--	char cmdbuf[PATHSIZE];		/* also used for file names */
--	int pid, l;
--	char *cp, *shell;
--	int pivec[2];
--	extern int wait_status;
--	struct stat sbuf;
--
--	if (pipe(pivec) < 0) {
--		perror("pipe");
--		return name;
--	}
--	snprintf(cmdbuf, sizeof cmdbuf, "echo %s", name);
--	if ((shell = value("SHELL")) == NULL)
--		shell = SHELL;
--	pid = start_command(shell, 0, -1, pivec[1], "-c", cmdbuf, NULL);
--	if (pid < 0) {
--		close(pivec[0]);
--		close(pivec[1]);
--		return NULL;
--	}
--	close(pivec[1]);
--again:
--	l = read(pivec[0], xname, sizeof xname);
--	if (l < 0) {
--		if (errno == EINTR)
--			goto again;
--		perror("read");
--		close(pivec[0]);
--		return NULL;
--	}
--	close(pivec[0]);
--	if (wait_child(pid) < 0 && WTERMSIG(wait_status) != SIGPIPE) {
--		fprintf(stderr, catgets(catd, CATSET, 81,
--				"\"%s\": Expansion failed.\n"), name);
--		return NULL;
--	}
--	if (l == 0) {
--		fprintf(stderr, catgets(catd, CATSET, 82,
--					"\"%s\": No match.\n"), name);
--		return NULL;
--	}
--	if (l == sizeof xname) {
--		fprintf(stderr, catgets(catd, CATSET, 83,
--				"\"%s\": Expansion buffer overflow.\n"), name);
--		return NULL;
--	}
--	xname[l] = 0;
--	for (cp = &xname[l-1]; *cp == '\n' && cp > xname; cp--)
--		;
--	cp[1] = '\0';
--	if (strchr(xname, ' ') && stat(xname, &sbuf) < 0) {
--		fprintf(stderr, catgets(catd, CATSET, 84,
--				"\"%s\": Ambiguous.\n"), name);
--		return NULL;
--	}
--	return savestr(xname);
--#endif	/* !HAVE_WORDEXP */
- }
- 
- /*
--- 
-1.9.3
-
-
diff --git a/import-layers/yocto-poky/meta/recipes-extended/mailx/files/0014-globname-Invoke-wordexp-with-WRDE_NOCMD.patch b/import-layers/yocto-poky/meta/recipes-extended/mailx/files/0014-globname-Invoke-wordexp-with-WRDE_NOCMD.patch
deleted file mode 100644
index ae14b8a..0000000
--- a/import-layers/yocto-poky/meta/recipes-extended/mailx/files/0014-globname-Invoke-wordexp-with-WRDE_NOCMD.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 73fefa0c1ac70043ec84f2d8b8f9f683213f168d Mon Sep 17 00:00:00 2001
-From: Florian Weimer <fweimer@redhat.com>
-Date: Mon, 17 Nov 2014 13:11:32 +0100
-Subject: [PATCH 4/4] globname: Invoke wordexp with WRDE_NOCMD (CVE-2004-2771)
-
-This patch is taken from
-ftp://ftp.debian.org/debian/pool/main/h/heirloom-mailx/heirloom-mailx_12.5-5.debian.tar.xz
-
-Upstream-Status: Inappropriate [upstream is dead]
-CVE: CVE-2004-2771
----
- fio.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/fio.c b/fio.c
-index 1529236..774a204 100644
---- a/fio.c
-+++ b/fio.c
-@@ -497,7 +497,7 @@ globname(char *name)
- 	sigemptyset(&nset);
- 	sigaddset(&nset, SIGCHLD);
- 	sigprocmask(SIG_BLOCK, &nset, NULL);
--	i = wordexp(name, &we, 0);
-+	i = wordexp(name, &we, WRDE_NOCMD);
- 	sigprocmask(SIG_UNBLOCK, &nset, NULL);
- 	switch (i) {
- 	case 0:
--- 
-1.9.3
-
-
diff --git a/import-layers/yocto-poky/meta/recipes-extended/mailx/files/0015-usr-sbin-sendmail.patch b/import-layers/yocto-poky/meta/recipes-extended/mailx/files/0015-usr-sbin-sendmail.patch
deleted file mode 100644
index 2b59914..0000000
--- a/import-layers/yocto-poky/meta/recipes-extended/mailx/files/0015-usr-sbin-sendmail.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-Description: Sendmail is at /usr/sbin/sendmail
- As per Debian Policy §11.6
-Author: Ryan Kavanagh <rak@debian.org>
-Origin: Debian
-Forwarded: no
----
-This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
-Index: heirloom-mailx-12.5/Makefile
-===================================================================
-This patch is taken from
-ftp://ftp.debian.org/debian/pool/main/h/heirloom-mailx/heirloom-mailx_12.5-5.debian.tar.xz
-
-Upstream-Status: Inappropriate [upstream is dead]
-
---- heirloom-mailx-12.5.orig/Makefile	2011-04-26 17:23:22.000000000 -0400
-+++ heirloom-mailx-12.5/Makefile	2015-01-27 13:20:04.733542801 -0500
-@@ -13,7 +13,7 @@
- 
- MAILRC		= $(SYSCONFDIR)/nail.rc
- MAILSPOOL	= /var/mail
--SENDMAIL	= /usr/lib/sendmail
-+SENDMAIL	= /usr/sbin/sendmail
- 
- DESTDIR		=
- 
-Index: heirloom-mailx-12.5/mailx.1
-===================================================================
---- heirloom-mailx-12.5.orig/mailx.1	2015-01-27 13:18:49.000000000 -0500
-+++ heirloom-mailx-12.5/mailx.1	2015-01-27 13:20:32.382336867 -0500
-@@ -4922,7 +4922,7 @@
- which just acts as a proxy.
- .PP
- \fIMailx\fR immediately contacts the SMTP server (or
--.IR \%/usr/lib/sendmail )
-+.IR \%/usr/sbin/sendmail )
- even when operating in
- .I disconnected
- mode.
diff --git a/import-layers/yocto-poky/meta/recipes-extended/mailx/files/explicitly.disable.krb5.support.patch b/import-layers/yocto-poky/meta/recipes-extended/mailx/files/explicitly.disable.krb5.support.patch
deleted file mode 100644
index b74fd04..0000000
--- a/import-layers/yocto-poky/meta/recipes-extended/mailx/files/explicitly.disable.krb5.support.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-krb5 support is autodetected from sysroot making builds undeterministic
-feel free to improve this to support explicitly enabling/disabling it
-
-Upstream-Status: Pending
-
-Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
-
---- a/makeconfig	2013-07-21 15:06:11.177792334 +0200
-+++ b/makeconfig	2013-07-21 15:07:20.028793994 +0200
-@@ -424,36 +424,6 @@
- }
- !
- 
--<$tmp2.c link_check gssapi 'for GSSAPI in libgss' \
--		'#define USE_GSSAPI' '-lgss' ||
--	<$tmp2.c link_check gssapi 'for GSSAPI in libgssapi_krb5' \
--			'#define USE_GSSAPI' '-lgssapi_krb5' ||
--		link_check gssapi 'for GSSAPI in libgssapi_krb5, old-style' \
--				'#define USE_GSSAPI
--#define GSSAPI_OLD_STYLE' '-lgssapi_krb5' <<\! || \
--			link_check gssapi 'for GSSAPI in libgssapi' \
--				'#define USE_GSSAPI
--#define	GSSAPI_REG_INCLUDE' '-lgssapi' <<\%
--#include <gssapi/gssapi.h>
--#include <gssapi/gssapi_generic.h>
--
--int main(void)
--{
--	gss_import_name(0, 0, gss_nt_service_name, 0);
--	gss_init_sec_context(0,0,0,0,0,0,0,0,0,0,0,0,0);
--	return 0;
--}
--!
--#include <gssapi.h>
--
--int main(void)
--{
--	gss_import_name(0, 0, GSS_C_NT_HOSTBASED_SERVICE, 0);
--	gss_init_sec_context(0,0,0,0,0,0,0,0,0,0,0,0,0);
--	return 0;
--}
--%
--
- cat >$tmp2.c <<\!
- #include "config.h"
- #ifdef HAVE_NL_LANGINFO
diff --git a/import-layers/yocto-poky/meta/recipes-extended/mailx/mailx_12.5-5.bb b/import-layers/yocto-poky/meta/recipes-extended/mailx/mailx_12.5-5.bb
deleted file mode 100644
index 9dd710a..0000000
--- a/import-layers/yocto-poky/meta/recipes-extended/mailx/mailx_12.5-5.bb
+++ /dev/null
@@ -1,53 +0,0 @@
-SUMMARY = "mailx is the traditional command-line-mode mail user agent"
-
-DESCRIPTION = "Mailx is derived from Berkeley Mail and is intended provide the \
-functionality of the POSIX mailx command with additional support \
-for MIME, IMAP, POP3, SMTP, and S/MIME."
-
-HOMEPAGE = "http://heirloom.sourceforge.net/mailx.html"
-SECTION = "console/network"
-LICENSE = "BSD & MPL-1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=4202a0a62910cf94f7af8a3436a2a2dd"
-
-DEPENDS = "openssl"
-
-SRC_URI = "http://snapshot.debian.org/archive/debian/20160728T043443Z/pool/main/h/heirloom-mailx/heirloom-mailx_12.5.orig.tar.gz;name=archive \
-           file://0001-Don-t-reuse-weak-symbol-optopt-to-fix-FTBFS-on-mips.patch \
-           file://0002-Patched-out-SSL2-support-since-it-is-no-longer-suppo.patch \
-           file://0003-Fixed-Lintian-warning-warning-macro-N-not-defined.patch \
-           file://0011-outof-Introduce-expandaddr-flag.patch \
-           file://0012-unpack-Disable-option-processing-for-email-addresses.patch \
-           file://0013-fio.c-Unconditionally-require-wordexp-support.patch \
-           file://0014-globname-Invoke-wordexp-with-WRDE_NOCMD.patch \
-           file://0015-usr-sbin-sendmail.patch \
-           file://explicitly.disable.krb5.support.patch \
-          "
-
-SRC_URI[archive.md5sum] = "29a6033ef1412824d02eb9d9213cb1f2"
-SRC_URI[archive.sha256sum] = "015ba4209135867f37a0245d22235a392b8bbed956913286b887c2e2a9a421ad"
-
-# for this package we're mostly interested in tracking debian patches,
-# and not in the upstream version where all development has effectively stopped
-UPSTREAM_CHECK_URI = "${DEBIAN_MIRROR}/main/h/heirloom-mailx/"
-UPSTREAM_CHECK_REGEX = "(?P<pver>((\d+\.*)+)-((\d+\.*)+))\.(diff|debian\.tar)\.(gz|xz)"
-
-S = "${WORKDIR}/heirloom-mailx-12.5"
-
-inherit autotools-brokensep
-
-CFLAGS_append = " -D_BSD_SOURCE -DDEBIAN -I${S}/EXT"
-
-# "STRIP=true" means that 'true' command will be used to 'strip' files which will achieve the effect of not stripping them
-# mailx's Makefile doesn't allow a more straightforward way to avoid stripping
-EXTRA_OEMAKE = "SENDMAIL=${sbindir}/sendmail IPv6=-DHAVE_IPv6_FUNCS PREFIX=/usr UCBINSTALL=/usr/bin/install STRIP=true"
-
-# The makeconfig can't run parallelly, otherwise the checking results
-# might be incorrect and lead to errors:
-# fio.c:56:17: fatal error: ssl.h: No such file or directory
-# #include <ssl.h>
-PARALLEL_MAKE = ""
-
-# Causes gcc to get stuck and eat all available memory in qemuarm builds
-# http://errors.yoctoproject.org/Errors/Details/20488/
-ARM_INSTRUCTION_SET_armv4 = "arm"
-ARM_INSTRUCTION_SET_armv5 = "arm"
diff --git a/import-layers/yocto-poky/meta/recipes-extended/man-pages/man-pages_4.09.bb b/import-layers/yocto-poky/meta/recipes-extended/man-pages/man-pages_4.11.bb
similarity index 85%
rename from import-layers/yocto-poky/meta/recipes-extended/man-pages/man-pages_4.09.bb
rename to import-layers/yocto-poky/meta/recipes-extended/man-pages/man-pages_4.11.bb
index 55fc21e..a3077a9 100644
--- a/import-layers/yocto-poky/meta/recipes-extended/man-pages/man-pages_4.09.bb
+++ b/import-layers/yocto-poky/meta/recipes-extended/man-pages/man-pages_4.11.bb
@@ -7,8 +7,8 @@
 LIC_FILES_CHKSUM = "file://README;md5=8f2a3d43057d458e5066714980567a60"
 SRC_URI = "${KERNELORG_MIRROR}/linux/docs/${BPN}/Archive/${BP}.tar.gz"
 
-SRC_URI[md5sum] = "9e3c7b12a5fecda9a717a4bcc0ae3a67"
-SRC_URI[sha256sum] = "5fac324cefce0fbfae0df6c06ef3f6d6ab5227b9aad2a94f8657a0e3901f9185"
+SRC_URI[md5sum] = "408300ed09d1ad5938070158b21da1d1"
+SRC_URI[sha256sum] = "e6db91a24e68c7c765b7b8e60f1591ed1049bc2dc3143db779eae4838b89d195"
 
 RDEPENDS_${PN} = "man"
 
diff --git a/import-layers/yocto-poky/meta/recipes-extended/mc/files/0002-Ticket-3697-tty_init-unify-curses-initialization.patch b/import-layers/yocto-poky/meta/recipes-extended/mc/files/0002-Ticket-3697-tty_init-unify-curses-initialization.patch
new file mode 100644
index 0000000..c54d4d0
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-extended/mc/files/0002-Ticket-3697-tty_init-unify-curses-initialization.patch
@@ -0,0 +1,66 @@
+From 4d46a108629beb66a293672db7b44f863b6598ba Mon Sep 17 00:00:00 2001
+From: Thomas Dickey <dickey@his.com>
+Date: Fri, 14 Apr 2017 14:06:13 +0300
+Subject: [PATCH] Ticket #3697: (tty_init): unify curses initialization
+
+...for various curses implementations.
+
+Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
+
+Upstream-Status: Backport [https://github.com/MidnightCommander/mc.git]
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+
+---
+ lib/tty/tty-ncurses.c | 26 +++++++++-----------------
+ 1 file changed, 9 insertions(+), 17 deletions(-)
+
+diff --git a/lib/tty/tty-ncurses.c b/lib/tty/tty-ncurses.c
+index a7a11f3..8e69b39 100644
+--- a/lib/tty/tty-ncurses.c
++++ b/lib/tty/tty-ncurses.c
+@@ -179,6 +179,8 @@ mc_tty_normalize_lines_char (const char *ch)
+ void
+ tty_init (gboolean mouse_enable, gboolean is_xterm)
+ {
++    struct termios mode;
++
+     initscr ();
+ 
+ #ifdef HAVE_ESCDELAY
+@@ -194,25 +196,15 @@ tty_init (gboolean mouse_enable, gboolean is_xterm)
+     ESCDELAY = 200;
+ #endif /* HAVE_ESCDELAY */
+ 
+-#ifdef NCURSES_VERSION
++    tcgetattr (STDIN_FILENO, &mode);
+     /* use Ctrl-g to generate SIGINT */
+-    cur_term->Nttyb.c_cc[VINTR] = CTRL ('g');   /* ^g */
++    mode.c_cc[VINTR] = CTRL ('g');  /* ^g */
+     /* disable SIGQUIT to allow use Ctrl-\ key */
+-    cur_term->Nttyb.c_cc[VQUIT] = NULL_VALUE;
+-    tcsetattr (cur_term->Filedes, TCSANOW, &cur_term->Nttyb);
+-#else
+-    /* other curses implementation (bsd curses, ...) */
+-    {
+-        struct termios mode;
+-
+-        tcgetattr (STDIN_FILENO, &mode);
+-        /* use Ctrl-g to generate SIGINT */
+-        mode.c_cc[VINTR] = CTRL ('g');  /* ^g */
+-        /* disable SIGQUIT to allow use Ctrl-\ key */
+-        mode.c_cc[VQUIT] = NULL_VALUE;
+-        tcsetattr (STDIN_FILENO, TCSANOW, &mode);
+-    }
+-#endif /* NCURSES_VERSION */
++    mode.c_cc[VQUIT] = NULL_VALUE;
++    tcsetattr (STDIN_FILENO, TCSANOW, &mode);
++
++    /* curses remembers the "in-program" modes after this call */
++    def_prog_mode ();
+ 
+     tty_start_interrupt_key ();
+ 
+-- 
+2.7.4
+
diff --git a/import-layers/yocto-poky/meta/recipes-extended/mc/mc_4.8.18.bb b/import-layers/yocto-poky/meta/recipes-extended/mc/mc_4.8.19.bb
similarity index 77%
rename from import-layers/yocto-poky/meta/recipes-extended/mc/mc_4.8.18.bb
rename to import-layers/yocto-poky/meta/recipes-extended/mc/mc_4.8.19.bb
index 17f3f73..b3a156c 100644
--- a/import-layers/yocto-poky/meta/recipes-extended/mc/mc_4.8.18.bb
+++ b/import-layers/yocto-poky/meta/recipes-extended/mc/mc_4.8.19.bb
@@ -8,9 +8,10 @@
 
 SRC_URI = "http://www.midnight-commander.org/downloads/${BPN}-${PV}.tar.bz2 \
            file://0001-mc-replace-perl-w-with-use-warnings.patch \
+           file://0002-Ticket-3697-tty_init-unify-curses-initialization.patch \
            "
-SRC_URI[md5sum] = "cc56f0c9abd63c4caa3636bba3a08bfb"
-SRC_URI[sha256sum] = "5b591e10dcbea95233434da40cdad4663d360229adf89826576c319667c103cb"
+SRC_URI[md5sum] = "ef423f5b6f80a1a5a5fc53b8324cab70"
+SRC_URI[sha256sum] = "d0dddfae7149fac903f74ef55cfcb2a198e0f7004346c7bded43669d61ba436f"
 
 inherit autotools gettext pkgconfig
 
@@ -27,10 +28,11 @@
 
 do_install_append () {
 	sed -i -e '1s,#!.*perl,#!${bindir}/env perl,' ${D}${libexecdir}/mc/extfs.d/*
-	sed -i -e '1s,#!.*python,#!${bindir}/env python,' ${D}${libexecdir}/mc/extfs.d/*
+        
+        rm ${D}${libexecdir}/mc/extfs.d/s3+ ${D}${libexecdir}/mc/extfs.d/uc1541
 }
 
-PACKAGES =+ "${BPN}-helpers-perl ${BPN}-helpers-python ${BPN}-helpers ${BPN}-fish"
+PACKAGES =+ "${BPN}-helpers-perl ${BPN}-helpers ${BPN}-fish"
 
 SUMMARY_${BPN}-helpers-perl = "Midnight Commander Perl-based helper scripts"
 FILES_${BPN}-helpers-perl = "${libexecdir}/mc/extfs.d/a+ ${libexecdir}/mc/extfs.d/apt+ \
@@ -41,10 +43,6 @@
                              ${libexecdir}/mc/extfs.d/uzip"
 RDEPENDS_${BPN}-helpers-perl = "perl"
 
-SUMMARY_${BPN}-helpers-python = "Midnight Commander Python-based helper scripts"
-FILES_${BPN}-helpers-python = "${libexecdir}/mc/extfs.d/s3+ ${libexecdir}/mc/extfs.d/uc1541"
-RDEPENDS_${BPN}-helpers-python = "python"
-
 SUMMARY_${BPN}-helpers = "Midnight Commander shell helper scripts"
 FILES_${BPN}-helpers = "${libexecdir}/mc/extfs.d/* ${libexecdir}/mc/ext.d/*"
 
diff --git a/import-layers/yocto-poky/meta/recipes-extended/mdadm/files/0001-Use-CC-to-check-for-implicit-fallthrough-warning-sup.patch b/import-layers/yocto-poky/meta/recipes-extended/mdadm/files/0001-Use-CC-to-check-for-implicit-fallthrough-warning-sup.patch
new file mode 100644
index 0000000..a4b7b8a
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-extended/mdadm/files/0001-Use-CC-to-check-for-implicit-fallthrough-warning-sup.patch
@@ -0,0 +1,31 @@
+From a129ee6d80f3b2cda0d827c35fa81a517cf6d505 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 13 Oct 2017 10:27:34 -0700
+Subject: [PATCH] Use CC to check for implicit-fallthrough warning support
+
+This warning it new in gcc7 and in cross compile case
+its possible that build host gcc is version 7+ but the
+cross compile used for compiling mdadm is < version 7
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+Upstream-Status: Pending
+ Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Makefile b/Makefile
+index d207ee4..971f255 100644
+--- a/Makefile
++++ b/Makefile
+@@ -48,7 +48,7 @@ ifdef WARN_UNUSED
+ CWFLAGS += -Wp,-D_FORTIFY_SOURCE=2 -O3
+ endif
+ 
+-FALLTHROUGH := $(shell gcc -v --help 2>&1 | grep "implicit-fallthrough" | wc -l)
++FALLTHROUGH := $(shell ${CC} -v --help 2>&1 | grep "implicit-fallthrough" | wc -l)
+ ifneq "$(FALLTHROUGH)"  "0"
+ CWFLAGS += -Wimplicit-fallthrough=0
+ endif
+-- 
+2.14.2
+
diff --git a/import-layers/yocto-poky/meta/recipes-extended/mdadm/files/0001-mdadm-Add-Wimplicit-fallthrough-0-in-Makefile.patch b/import-layers/yocto-poky/meta/recipes-extended/mdadm/files/0001-mdadm-Add-Wimplicit-fallthrough-0-in-Makefile.patch
new file mode 100644
index 0000000..ce15170
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-extended/mdadm/files/0001-mdadm-Add-Wimplicit-fallthrough-0-in-Makefile.patch
@@ -0,0 +1,37 @@
+From aa09af0fe2ec0737fa04ffd00957532684e257b9 Mon Sep 17 00:00:00 2001
+From: Xiao Ni <xni@redhat.com>
+Date: Fri, 17 Mar 2017 19:55:42 +0800
+Subject: [PATCH 1/5] mdadm: Add Wimplicit-fallthrough=0 in Makefile
+
+There are many errors like 'error: this statement may fall through'.
+But the logic is right. So add the flag Wimplicit-fallthrough=0
+to disable the error messages. The method I use is from
+https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html
+#index-Wimplicit-fallthrough-375
+
+Signed-off-by: Xiao Ni <xni@redhat.com>
+Signed-off-by: Jes Sorensen <Jes.Sorensen@gmail.com>
+---
+Upstream-Status: Backport
+ Makefile | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/Makefile b/Makefile
+index 0f307ec..e1a7058 100644
+--- a/Makefile
++++ b/Makefile
+@@ -48,6 +48,11 @@ ifdef WARN_UNUSED
+ CWFLAGS += -Wp,-D_FORTIFY_SOURCE=2 -O3
+ endif
+ 
++FALLTHROUGH := $(shell gcc -v --help 2>&1 | grep "implicit-fallthrough" | wc -l)
++ifneq "$(FALLTHROUGH)"  "0"
++CWFLAGS += -Wimplicit-fallthrough=0
++endif
++
+ ifdef DEBIAN
+ CPPFLAGS += -DDEBIAN
+ endif
+-- 
+2.12.2
+
diff --git a/import-layers/yocto-poky/meta/recipes-extended/mdadm/files/0002-mdadm-Specify-enough-length-when-write-to-buffer.patch b/import-layers/yocto-poky/meta/recipes-extended/mdadm/files/0002-mdadm-Specify-enough-length-when-write-to-buffer.patch
new file mode 100644
index 0000000..cbce053
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-extended/mdadm/files/0002-mdadm-Specify-enough-length-when-write-to-buffer.patch
@@ -0,0 +1,75 @@
+From bb4df273041ba206008bdb0ada75ccd97c29f623 Mon Sep 17 00:00:00 2001
+From: Xiao Ni <xni@redhat.com>
+Date: Fri, 17 Mar 2017 19:55:43 +0800
+Subject: [PATCH 2/5] mdadm: Specify enough length when write to buffer
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+In Detail.c the buffer path in function Detail is defined as path[200],
+in fact the max lenth of content which needs to write to the buffer is
+287. Because the length of dname of struct dirent is 255.
+During building it reports error:
+error: ‘%s’ directive writing up to 255 bytes into a region of size 189
+[-Werror=format-overflow=]
+
+In function examine_super0 there is a buffer nb with length 5.
+But it need to show a int type argument. The lenght of max
+number of int is 10. So the buffer length should be 11.
+
+In human_size function the length of buf is 30. During building
+there is a error:
+output between 20 and 47 bytes into a destination of size 30.
+Change the length to 47.
+
+Signed-off-by: Xiao Ni <xni@redhat.com>
+Signed-off-by: Jes Sorensen <Jes.Sorensen@gmail.com>
+---
+Upstream-Status: Backport
+ Detail.c | 2 +-
+ super0.c | 2 +-
+ util.c   | 2 +-
+ 3 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/Detail.c b/Detail.c
+index 509b0d4..cb33794 100644
+--- a/Detail.c
++++ b/Detail.c
+@@ -575,7 +575,7 @@ This is pretty boring
+ 			printf("  Member Arrays :");
+ 
+ 			while (dir && (de = readdir(dir)) != NULL) {
+-				char path[200];
++				char path[287];
+ 				char vbuf[1024];
+ 				int nlen = strlen(sra->sys_name);
+ 				dev_t devid;
+diff --git a/super0.c b/super0.c
+index 938cfd9..f5b4507 100644
+--- a/super0.c
++++ b/super0.c
+@@ -231,7 +231,7 @@ static void examine_super0(struct supertype *st, char *homehost)
+ 	     d++) {
+ 		mdp_disk_t *dp;
+ 		char *dv;
+-		char nb[5];
++		char nb[11];
+ 		int wonly, failfast;
+ 		if (d>=0) dp = &sb->disks[d];
+ 		else dp = &sb->this_disk;
+diff --git a/util.c b/util.c
+index f100972..32bd909 100644
+--- a/util.c
++++ b/util.c
+@@ -811,7 +811,7 @@ unsigned long calc_csum(void *super, int bytes)
+ #ifndef MDASSEMBLE
+ char *human_size(long long bytes)
+ {
+-	static char buf[30];
++	static char buf[47];
+ 
+ 	/* We convert bytes to either centi-M{ega,ibi}bytes or
+ 	 * centi-G{igi,ibi}bytes, with appropriate rounding,
+-- 
+2.12.2
+
diff --git a/import-layers/yocto-poky/meta/recipes-extended/mdadm/files/0003-Replace-snprintf-with-strncpy-at-some-places-to-avoi.patch b/import-layers/yocto-poky/meta/recipes-extended/mdadm/files/0003-Replace-snprintf-with-strncpy-at-some-places-to-avoi.patch
new file mode 100644
index 0000000..dcec84f
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-extended/mdadm/files/0003-Replace-snprintf-with-strncpy-at-some-places-to-avoi.patch
@@ -0,0 +1,59 @@
+From bc87af1314325b00c6ac002a60a2b0f0caa81e34 Mon Sep 17 00:00:00 2001
+From: Xiao Ni <xni@redhat.com>
+Date: Sat, 18 Mar 2017 10:33:44 +0800
+Subject: [PATCH 3/5] Replace snprintf with strncpy at some places to avoid
+ truncation
+
+In gcc7 there are some building errors like:
+directive output may be truncated writing up to 31 bytes into a region of size 24
+snprintf(str, MPB_SIG_LEN, %s, mpb->sig);
+
+It just need to copy one string to target. So use strncpy to replace it.
+
+For this line code: snprintf(str, MPB_SIG_LEN, %s, mpb->sig);
+Because mpb->sig has the content of version after magic, so
+it's better to use strncpy to replace snprintf too.
+
+Signed-off-by: Xiao Ni <xni@redhat.com>
+Signed-off-by: Jes Sorensen <Jes.Sorensen@gmail.com>
+---
+Upstream-Status: Backport
+ super-intel.c | 9 ++++++---
+ 1 file changed, 6 insertions(+), 3 deletions(-)
+
+diff --git a/super-intel.c b/super-intel.c
+index 57c7e75..5499098 100644
+--- a/super-intel.c
++++ b/super-intel.c
+@@ -1811,7 +1811,8 @@ static void examine_super_imsm(struct supertype *st, char *homehost)
+ 	__u32 reserved = imsm_reserved_sectors(super, super->disks);
+ 	struct dl *dl;
+ 
+-	snprintf(str, MPB_SIG_LEN, "%s", mpb->sig);
++	strncpy(str, (char *)mpb->sig, MPB_SIG_LEN);
++	str[MPB_SIG_LEN-1] = '\0';
+ 	printf("          Magic : %s\n", str);
+ 	snprintf(str, strlen(MPB_VERSION_RAID0), "%s", get_imsm_version(mpb));
+ 	printf("        Version : %s\n", get_imsm_version(mpb));
+@@ -7142,14 +7143,16 @@ static int update_subarray_imsm(struct supertype *st, char *subarray,
+ 
+ 			u->type = update_rename_array;
+ 			u->dev_idx = vol;
+-			snprintf((char *) u->name, MAX_RAID_SERIAL_LEN, "%s", name);
++			strncpy((char *) u->name, name, MAX_RAID_SERIAL_LEN);
++			u->name[MAX_RAID_SERIAL_LEN-1] = '\0';
+ 			append_metadata_update(st, u, sizeof(*u));
+ 		} else {
+ 			struct imsm_dev *dev;
+ 			int i;
+ 
+ 			dev = get_imsm_dev(super, vol);
+-			snprintf((char *) dev->volume, MAX_RAID_SERIAL_LEN, "%s", name);
++			strncpy((char *) dev->volume, name, MAX_RAID_SERIAL_LEN);
++			dev->volume[MAX_RAID_SERIAL_LEN-1] = '\0';
+ 			for (i = 0; i < mpb->num_raid_devs; i++) {
+ 				dev = get_imsm_dev(super, i);
+ 				handle_missing(super, dev);
+-- 
+2.12.2
+
diff --git a/import-layers/yocto-poky/meta/recipes-extended/mdadm/files/0004-mdadm-Forced-type-conversion-to-avoid-truncation.patch b/import-layers/yocto-poky/meta/recipes-extended/mdadm/files/0004-mdadm-Forced-type-conversion-to-avoid-truncation.patch
new file mode 100644
index 0000000..94fde42
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-extended/mdadm/files/0004-mdadm-Forced-type-conversion-to-avoid-truncation.patch
@@ -0,0 +1,33 @@
+From 5da889032e2d99751ed9fe60016146e9ae8114cd Mon Sep 17 00:00:00 2001
+From: Xiao Ni <xni@redhat.com>
+Date: Sat, 18 Mar 2017 10:33:45 +0800
+Subject: [PATCH 4/5] mdadm: Forced type conversion to avoid truncation
+
+Gcc reports it needs 19 bytes to right to disk->serial. Because the
+type of argument i is int. But the meaning of i is failed disk
+number. So it doesn't need to use 19 bytes.  Just add a type
+conversion to avoid this building error
+
+Signed-off-by: Xiao Ni <xni@redhat.com>
+Signed-off-by: Jes Sorensen <Jes.Sorensen@gmail.com>
+---
+Upstream-Status: Backport
+ super-intel.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/super-intel.c b/super-intel.c
+index 5499098..4e466ff 100644
+--- a/super-intel.c
++++ b/super-intel.c
+@@ -5228,7 +5228,7 @@ static int init_super_imsm_volume(struct supertype *st, mdu_array_info_t *info,
+ 			disk->status = CONFIGURED_DISK | FAILED_DISK;
+ 			disk->scsi_id = __cpu_to_le32(~(__u32)0);
+ 			snprintf((char *) disk->serial, MAX_RAID_SERIAL_LEN,
+-				 "missing:%d", i);
++				 "missing:%d", (__u8)i);
+ 		}
+ 		find_missing(super);
+ 	} else {
+-- 
+2.12.2
+
diff --git a/import-layers/yocto-poky/meta/recipes-extended/mdadm/files/0005-Add-a-comment-to-indicate-valid-fallthrough.patch b/import-layers/yocto-poky/meta/recipes-extended/mdadm/files/0005-Add-a-comment-to-indicate-valid-fallthrough.patch
new file mode 100644
index 0000000..3d9d3b9
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-extended/mdadm/files/0005-Add-a-comment-to-indicate-valid-fallthrough.patch
@@ -0,0 +1,128 @@
+From 09014233bf10900f7bd8390b3b64ff82bca45222 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 19 Apr 2017 12:04:15 -0700
+Subject: [PATCH 5/5] Add a comment to indicate valid fallthrough
+
+gcc7 warns about code with fallthroughs, this patch adds
+the comment to indicate a valid fallthrough, helps gcc7
+compiler warnings
+
+This works in cross and native compilation case
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+Upstream-Status: Submitted
+
+ Grow.c        | 4 ++++
+ bitmap.c      | 8 ++++++++
+ mdadm.c       | 2 ++
+ super-intel.c | 1 +
+ util.c        | 1 +
+ 5 files changed, 16 insertions(+)
+
+diff --git a/Grow.c b/Grow.c
+index 455c5f9..27c73b1 100755
+--- a/Grow.c
++++ b/Grow.c
+@@ -1257,6 +1257,7 @@ char *analyse_change(char *devname, struct mdinfo *info, struct reshape *re)
+ 		switch (info->new_level) {
+ 		case 4:
+ 			delta_parity = 1;
++			/* fallthrough */
+ 		case 0:
+ 			re->level = 4;
+ 			re->before.layout = 0;
+@@ -1284,10 +1285,12 @@ char *analyse_change(char *devname, struct mdinfo *info, struct reshape *re)
+ 
+ 	case 4:
+ 		info->array.layout = ALGORITHM_PARITY_N;
++		/* fallthrough */
+ 	case 5:
+ 		switch (info->new_level) {
+ 		case 0:
+ 			delta_parity = -1;
++			/* fallthrough */
+ 		case 4:
+ 			re->level = info->array.level;
+ 			re->before.data_disks = info->array.raid_disks - 1;
+@@ -1343,6 +1346,7 @@ char *analyse_change(char *devname, struct mdinfo *info, struct reshape *re)
+ 		case 4:
+ 		case 5:
+ 			delta_parity = -1;
++			/* fallthrough */
+ 		case 6:
+ 			re->level = 6;
+ 			re->before.data_disks = info->array.raid_disks - 2;
+diff --git a/bitmap.c b/bitmap.c
+index ccedfd3..a6ff091 100644
+--- a/bitmap.c
++++ b/bitmap.c
+@@ -82,13 +82,21 @@ static inline int count_dirty_bits_byte(char byte, int num_bits)
+ 
+ 	switch (num_bits) { /* fall through... */
+ 		case 8:	if (byte & 128) num++;
++		/* fallthrough */
+ 		case 7:	if (byte &  64) num++;
++		/* fallthrough */
+ 		case 6:	if (byte &  32) num++;
++		/* fallthrough */
+ 		case 5:	if (byte &  16) num++;
++		/* fallthrough */
+ 		case 4:	if (byte &   8) num++;
++		/* fallthrough */
+ 		case 3: if (byte &   4) num++;
++		/* fallthrough */
+ 		case 2:	if (byte &   2) num++;
++		/* fallthrough */
+ 		case 1:	if (byte &   1) num++;
++		/* fallthrough */
+ 		default: break;
+ 	}
+ 
+diff --git a/mdadm.c b/mdadm.c
+index c3a265b..2d06d3b 100644
+--- a/mdadm.c
++++ b/mdadm.c
+@@ -148,6 +148,7 @@ int main(int argc, char *argv[])
+ 			    mode == CREATE || mode == GROW ||
+ 			    mode == INCREMENTAL || mode == MANAGE)
+ 				break; /* b means bitmap */
++		/* fallthrough */
+ 		case Brief:
+ 			c.brief = 1;
+ 			continue;
+@@ -828,6 +829,7 @@ int main(int argc, char *argv[])
+ 
+ 		case O(INCREMENTAL,NoDegraded):
+ 			pr_err("--no-degraded is deprecated in Incremental mode\n");
++			/* fallthrough */
+ 		case O(ASSEMBLE,NoDegraded): /* --no-degraded */
+ 			c.runstop = -1; /* --stop isn't allowed for --assemble,
+ 					 * so we overload slightly */
+diff --git a/super-intel.c b/super-intel.c
+index 4e466ff..00a2925 100644
+--- a/super-intel.c
++++ b/super-intel.c
+@@ -3271,6 +3271,7 @@ static void getinfo_super_imsm_volume(struct supertype *st, struct mdinfo *info,
+ 						<< SECT_PER_MB_SHIFT;
+ 			}
+ 		}
++		/* fallthrough */
+ 		case MIGR_VERIFY:
+ 			/* we could emulate the checkpointing of
+ 			 * 'sync_action=check' migrations, but for now
+diff --git a/util.c b/util.c
+index 32bd909..f2a4d19 100644
+--- a/util.c
++++ b/util.c
+@@ -335,6 +335,7 @@ unsigned long long parse_size(char *size)
+ 		switch (*c) {
+ 		case 'K':
+ 			c++;
++		/* fallthrough */
+ 		default:
+ 			s *= 2;
+ 			break;
+-- 
+2.12.2
+
diff --git a/import-layers/yocto-poky/meta/recipes-extended/mdadm/mdadm_4.0.bb b/import-layers/yocto-poky/meta/recipes-extended/mdadm/mdadm_4.0.bb
index 62614f0..dc098f1 100644
--- a/import-layers/yocto-poky/meta/recipes-extended/mdadm/mdadm_4.0.bb
+++ b/import-layers/yocto-poky/meta/recipes-extended/mdadm/mdadm_4.0.bb
@@ -16,6 +16,12 @@
            file://run-ptest \
            file://0001-mdadm.h-Undefine-dprintf-before-redefining.patch \
            file://0001-include-sys-sysmacros.h-for-major-minor-defintions.patch \
+           file://0001-mdadm-Add-Wimplicit-fallthrough-0-in-Makefile.patch \
+           file://0002-mdadm-Specify-enough-length-when-write-to-buffer.patch \
+           file://0003-Replace-snprintf-with-strncpy-at-some-places-to-avoi.patch \
+           file://0004-mdadm-Forced-type-conversion-to-avoid-truncation.patch \
+           file://0005-Add-a-comment-to-indicate-valid-fallthrough.patch \
+           file://0001-Use-CC-to-check-for-implicit-fallthrough-warning-sup.patch \
            "
 SRC_URI[md5sum] = "2cb4feffea9167ba71b5f346a0c0a40d"
 SRC_URI[sha256sum] = "1d6ae7f24ced3a0fa7b5613b32f4a589bb4881e3946a5a2c3724056254ada3a9"
@@ -50,7 +56,7 @@
 }
 
 do_install_ptest() {
-	cp -a ${S}/tests ${D}${PTEST_PATH}/tests
+	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
 	ln -s ${base_sbindir}/mdadm ${D}${PTEST_PATH}/mdadm
diff --git a/import-layers/yocto-poky/meta/recipes-extended/minicom/minicom_2.7.bb b/import-layers/yocto-poky/meta/recipes-extended/minicom/minicom_2.7.1.bb
similarity index 83%
rename from import-layers/yocto-poky/meta/recipes-extended/minicom/minicom_2.7.bb
rename to import-layers/yocto-poky/meta/recipes-extended/minicom/minicom_2.7.1.bb
index 3118686..1a31a87 100644
--- a/import-layers/yocto-poky/meta/recipes-extended/minicom/minicom_2.7.bb
+++ b/import-layers/yocto-poky/meta/recipes-extended/minicom/minicom_2.7.1.bb
@@ -1,4 +1,5 @@
 SUMMARY = "Text-based modem control and terminal emulation program"
+HOMEPAGE = "http://alioth.debian.org/projects/minicom/"
 DESCRIPTION = "Minicom is a text-based modem control and terminal emulation program for Unix-like operating systems"
 SECTION = "console/network"
 DEPENDS = "ncurses virtual/libiconv"
@@ -12,8 +13,8 @@
            file://0001-Fix-build-issus-surfaced-due-to-musl.patch \
           "
 
-SRC_URI[md5sum] = "7044ca3e291268c33294f171d426dc2d"
-SRC_URI[sha256sum] = "9ac3a663b82f4f5df64114b4792b9926b536c85f59de0f2d2b321c7626a904f4"
+SRC_URI[md5sum] = "9021cb8c5445f6e6e74b2acc39962d62"
+SRC_URI[sha256sum] = "532f836b7a677eb0cb1dca8d70302b73729c3d30df26d58368d712e5cca041f1"
 
 UPSTREAM_CHECK_URI = "https://alioth.debian.org/frs/?group_id=30018"
 
diff --git a/import-layers/yocto-poky/meta/recipes-extended/net-tools/net-tools_1.60-26.bb b/import-layers/yocto-poky/meta/recipes-extended/net-tools/net-tools_1.60-26.bb
index 45d7bf4..5657fd8 100644
--- a/import-layers/yocto-poky/meta/recipes-extended/net-tools/net-tools_1.60-26.bb
+++ b/import-layers/yocto-poky/meta/recipes-extended/net-tools/net-tools_1.60-26.bb
@@ -37,9 +37,7 @@
 
 inherit gettext
 
-do_patch[depends] = "quilt-native:do_populate_sysroot"
-
-LDFLAGS_append_libc-uclibc = " -lintl "
+do_patch[depends] += "quilt-native:do_populate_sysroot"
 
 # The Makefile is lame, no parallel build
 PARALLEL_MAKE = ""
@@ -83,20 +81,12 @@
 
 do_compile() {
 	# net-tools use COPTS/LOPTS to allow adding custom options
-	export COPTS="$CFLAGS"
-	export LOPTS="$LDFLAGS"
-	unset CFLAGS
-	unset LDFLAGS
-
-	oe_runmake
+	oe_runmake COPTS="$CFLAGS" LOPTS="$LDFLAGS"
 }
 
 do_install() {
-	export COPTS="$CFLAGS"
-	export LOPTS="$LDFLAGS"
-	unset CFLAGS
-	unset LDFLAGS
-	oe_runmake 'BASEDIR=${D}' install
+	# We don't need COPTS or LOPTS, but let's be consistent.
+	oe_runmake COPTS="$CFLAGS" LOPTS="$LDFLAGS" 'BASEDIR=${D}' install
 
 	if [ "${base_bindir}" != "/bin" ]; then
 		mkdir -p ${D}/${base_bindir}
diff --git a/import-layers/yocto-poky/meta/recipes-extended/newt/libnewt-python_0.52.19.bb b/import-layers/yocto-poky/meta/recipes-extended/newt/libnewt-python_0.52.20.bb
similarity index 100%
rename from import-layers/yocto-poky/meta/recipes-extended/newt/libnewt-python_0.52.19.bb
rename to import-layers/yocto-poky/meta/recipes-extended/newt/libnewt-python_0.52.20.bb
diff --git a/import-layers/yocto-poky/meta/recipes-extended/newt/libnewt_0.52.19.bb b/import-layers/yocto-poky/meta/recipes-extended/newt/libnewt_0.52.20.bb
similarity index 90%
rename from import-layers/yocto-poky/meta/recipes-extended/newt/libnewt_0.52.19.bb
rename to import-layers/yocto-poky/meta/recipes-extended/newt/libnewt_0.52.20.bb
index de76ce2..65ce70c 100644
--- a/import-layers/yocto-poky/meta/recipes-extended/newt/libnewt_0.52.19.bb
+++ b/import-layers/yocto-poky/meta/recipes-extended/newt/libnewt_0.52.20.bb
@@ -25,8 +25,8 @@
            file://0001-detect-gold-as-GNU-linker-too.patch \
 "
 
-SRC_URI[md5sum] = "e4aa0f7943edd39c52481a87f68f412a"
-SRC_URI[sha256sum] = "08c0db56c21996af6a7cbab99491b774c6c09cef91cd9b03903c84634bff2e80"
+SRC_URI[md5sum] = "70b288f821234593a8e7920e435b259b"
+SRC_URI[sha256sum] = "8d66ba6beffc3f786d4ccfee9d2b43d93484680ef8db9397a4fb70b5adbb6dbc"
 
 S = "${WORKDIR}/newt-${PV}"
 
diff --git a/import-layers/yocto-poky/meta/recipes-extended/packagegroups/packagegroup-core-full-cmdline.bb b/import-layers/yocto-poky/meta/recipes-extended/packagegroups/packagegroup-core-full-cmdline.bb
index d8975f2..fdede59 100644
--- a/import-layers/yocto-poky/meta/recipes-extended/packagegroups/packagegroup-core-full-cmdline.bb
+++ b/import-layers/yocto-poky/meta/recipes-extended/packagegroups/packagegroup-core-full-cmdline.bb
@@ -86,7 +86,6 @@
     mc-fish \
     mc-helpers \
     mc-helpers-perl \
-    mc-helpers-python \
     mktemp \
     ncurses \
     net-tools \
@@ -110,7 +109,6 @@
     "
 
 RDEPENDS_packagegroup-core-full-cmdline-dev-utils = "\
-    byacc \
     diffutils \
     m4 \
     make \
diff --git a/import-layers/yocto-poky/meta/recipes-extended/packagegroups/packagegroup-core-lsb.bb b/import-layers/yocto-poky/meta/recipes-extended/packagegroups/packagegroup-core-lsb.bb
index a156bcb..5baaf35 100644
--- a/import-layers/yocto-poky/meta/recipes-extended/packagegroups/packagegroup-core-lsb.bb
+++ b/import-layers/yocto-poky/meta/recipes-extended/packagegroups/packagegroup-core-lsb.bb
@@ -66,7 +66,6 @@
     mc-fish \
     mc-helpers \
     mc-helpers-perl \
-    mc-helpers-python \
     mdadm \
     minicom \
     neon \
@@ -154,7 +153,6 @@
     localedef \
     lsb \
     m4 \
-    mailx \
     make \
     man \
     man-pages \
@@ -178,7 +176,6 @@
     ncurses \
     zlib \
     nspr \
-    libpng12 \
     nss \
 "
 
@@ -203,31 +200,6 @@
     python-misc \
 "
 
-QT4PKGS = " \
-    libqtcore4 \
-    libqtgui4 \
-    libqtsql4 \
-    libqtsvg4 \
-    libqtxml4 \
-    libqtnetwork4 \
-    qt4-plugin-sqldriver-sqlite \
-    ${@bb.utils.contains("DISTRO_FEATURES", "opengl", "libqtopengl4", "", d)} \
-    "
-QT4PKGS_mips64 = ""
-QT4PKGS_mips64n32 = ""
-
-def get_libqt4(d):
-    if 'linuxstdbase' in d.getVar('DISTROOVERRIDES', False) or "":
-        if 'qt4' in d.getVar('BBFILE_COLLECTIONS', False) or "":
-            return d.getVar('QT4PKGS', False)
-
-        bb.warn('The meta-qt4 layer should be added, this layer provides Qt 4.x ' \
-                'libraries. Its intended use is for passing LSB tests as Qt4 is ' \
-                'a requirement for LSB.')
-    return ''
-# We don't want this to rebuild every time you change your layer config
-get_libqt4[vardepsexclude] += "BBFILE_COLLECTIONS"
-
 SUMMARY_packagegroup-core-lsb-desktop = "LSB Desktop"
 DESCRIPTION_packagegroup-core-lsb-desktop = "Packages required to support libraries \
     specified in the LSB Desktop specification"
@@ -248,7 +220,6 @@
     gtk+ \
     atk \
     libasound \
-    ${@get_libqt4(d)} \
 "
 
 RDEPENDS_packagegroup-core-lsb-runtime-add = "\
@@ -267,10 +238,4 @@
     glibc-localedata-posix \
     glibc-extra-nss \
     glibc-pcprofile \
-    libclass-isa-perl \
-    libenv-perl \
-    libdumpvalue-perl \
-    libfile-checktree-perl \
-    libi18n-collate-perl \
-    libpod-plainer-perl \
 "
diff --git a/import-layers/yocto-poky/meta/recipes-extended/pam/libpam/use-utmpx.patch b/import-layers/yocto-poky/meta/recipes-extended/pam/libpam/use-utmpx.patch
deleted file mode 100644
index dd04bbb..0000000
--- a/import-layers/yocto-poky/meta/recipes-extended/pam/libpam/use-utmpx.patch
+++ /dev/null
@@ -1,233 +0,0 @@
-utmp() may not be configured in and use posix compliant utmpx always
-UTMP is SVID legacy, UTMPX is mandated by POSIX
-
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Index: Linux-PAM-1.2.1/libpam/pam_modutil_getlogin.c
-===================================================================
---- Linux-PAM-1.2.1.orig/libpam/pam_modutil_getlogin.c
-+++ Linux-PAM-1.2.1/libpam/pam_modutil_getlogin.c
-@@ -10,8 +10,7 @@
- 
- #include <stdlib.h>
- #include <unistd.h>
--#include <utmp.h>
--
-+#include <utmpx.h>
- #define _PAMMODUTIL_GETLOGIN "_pammodutil_getlogin"
- 
- const char *
-@@ -22,7 +21,7 @@ pam_modutil_getlogin(pam_handle_t *pamh)
-     const void *void_curr_tty;
-     const char *curr_tty;
-     char *curr_user;
--    struct utmp *ut, line;
-+    struct utmpx *ut, line;
- 
-     status = pam_get_data(pamh, _PAMMODUTIL_GETLOGIN, &logname);
-     if (status == PAM_SUCCESS) {
-@@ -48,10 +47,10 @@ pam_modutil_getlogin(pam_handle_t *pamh)
-     }
-     logname = NULL;
- 
--    setutent();
-+    setutxent();
-     strncpy(line.ut_line, curr_tty, sizeof(line.ut_line));
- 
--    if ((ut = getutline(&line)) == NULL) {
-+    if ((ut = getutxline(&line)) == NULL) {
- 	goto clean_up_and_go_home;
-     }
- 
-@@ -74,7 +73,7 @@ pam_modutil_getlogin(pam_handle_t *pamh)
- 
- clean_up_and_go_home:
- 
--    endutent();
-+    endutxent();
- 
-     return logname;
- }
-Index: Linux-PAM-1.2.1/modules/pam_issue/pam_issue.c
-===================================================================
---- Linux-PAM-1.2.1.orig/modules/pam_issue/pam_issue.c
-+++ Linux-PAM-1.2.1/modules/pam_issue/pam_issue.c
-@@ -25,7 +25,7 @@
- #include <string.h>
- #include <unistd.h>
- #include <sys/utsname.h>
--#include <utmp.h>
-+#include <utmpx.h>
- #include <time.h>
- #include <syslog.h>
- 
-@@ -246,13 +246,13 @@ read_issue_quoted(pam_handle_t *pamh, FI
- 	      case 'U':
- 		{
- 		    unsigned int users = 0;
--		    struct utmp *ut;
--		    setutent();
--		    while ((ut = getutent())) {
-+		    struct utmpx *ut;
-+		    setutxent();
-+		    while ((ut = getutxent())) {
- 			if (ut->ut_type == USER_PROCESS)
- 			    ++users;
- 		    }
--		    endutent();
-+		    endutxent();
- 		    if (c == 'U')
- 			snprintf (buf, sizeof buf, "%u %s", users,
- 			          (users == 1) ? "user" : "users");
-Index: Linux-PAM-1.2.1/modules/pam_lastlog/pam_lastlog.c
-===================================================================
---- Linux-PAM-1.2.1.orig/modules/pam_lastlog/pam_lastlog.c
-+++ Linux-PAM-1.2.1/modules/pam_lastlog/pam_lastlog.c
-@@ -15,8 +15,9 @@
- #include <errno.h>
- #ifdef HAVE_UTMP_H
- # include <utmp.h>
--#else
--# include <lastlog.h>
-+#endif
-+#ifdef HAVE_UTMPX_H
-+# include <utmpx.h>
- #endif
- #include <pwd.h>
- #include <stdlib.h>
-@@ -27,6 +28,12 @@
- #include <syslog.h>
- #include <unistd.h>
- 
-+#ifndef HAVE_UTMP_H
-+#define UT_LINESIZE 32
-+#define UT_HOSTSIZE 32
-+#define UT_NAMESIZE 256
-+#endif
-+
- #if defined(hpux) || defined(sunos) || defined(solaris)
- # ifndef _PATH_LASTLOG
- #  define _PATH_LASTLOG "/usr/adm/lastlog"
-@@ -38,7 +45,7 @@
- #  define UT_LINESIZE 12
- # endif /* UT_LINESIZE */
- #endif
--#if defined(hpux)
-+#if defined(hpux) || !defined HAVE_UTMP_H
- struct lastlog {
-     time_t  ll_time;
-     char    ll_line[UT_LINESIZE];
-@@ -447,8 +454,8 @@ last_login_failed(pam_handle_t *pamh, in
- {
-     int retval;
-     int fd;
--    struct utmp ut;
--    struct utmp utuser;
-+    struct utmpx ut;
-+    struct utmpx utuser;
-     int failed = 0;
-     char the_time[256];
-     char *date = NULL;
-Index: Linux-PAM-1.2.1/modules/pam_limits/pam_limits.c
-===================================================================
---- Linux-PAM-1.2.1.orig/modules/pam_limits/pam_limits.c
-+++ Linux-PAM-1.2.1/modules/pam_limits/pam_limits.c
-@@ -33,7 +33,7 @@
- #include <sys/resource.h>
- #include <limits.h>
- #include <glob.h>
--#include <utmp.h>
-+#include <utmpx.h>
- #ifndef UT_USER  /* some systems have ut_name instead of ut_user */
- #define UT_USER ut_user
- #endif
-@@ -227,7 +227,7 @@ static int
- check_logins (pam_handle_t *pamh, const char *name, int limit, int ctrl,
-               struct pam_limit_s *pl)
- {
--    struct utmp *ut;
-+    struct utmpx *ut;
-     int count;
- 
-     if (ctrl & PAM_DEBUG_ARG) {
-@@ -242,7 +242,7 @@ check_logins (pam_handle_t *pamh, const
-         return LOGIN_ERR;
-     }
- 
--    setutent();
-+    setutxent();
- 
-     /* Because there is no definition about when an application
-        actually adds a utmp entry, some applications bizarrely do the
-@@ -260,7 +260,7 @@ check_logins (pam_handle_t *pamh, const
- 	count = 1;
-     }
- 
--    while((ut = getutent())) {
-+    while((ut = getutxent())) {
- #ifdef USER_PROCESS
-         if (ut->ut_type != USER_PROCESS) {
-             continue;
-@@ -296,7 +296,7 @@ check_logins (pam_handle_t *pamh, const
- 	    break;
- 	}
-     }
--    endutent();
-+    endutxent();
-     if (count > limit) {
- 	if (name) {
- 	    pam_syslog(pamh, LOG_WARNING,
-Index: Linux-PAM-1.2.1/modules/pam_timestamp/pam_timestamp.c
-===================================================================
---- Linux-PAM-1.2.1.orig/modules/pam_timestamp/pam_timestamp.c
-+++ Linux-PAM-1.2.1/modules/pam_timestamp/pam_timestamp.c
-@@ -56,7 +56,7 @@
- #include <time.h>
- #include <sys/time.h>
- #include <unistd.h>
--#include <utmp.h>
-+#include <utmpx.h>
- #include <syslog.h>
- #include <paths.h>
- #include "hmacsha1.h"
-@@ -197,15 +197,15 @@ timestamp_good(time_t then, time_t now,
- static int
- check_login_time(const char *ruser, time_t timestamp)
- {
--	struct utmp utbuf, *ut;
-+	struct utmpx utbuf, *ut;
- 	time_t oldest_login = 0;
- 
--	setutent();
-+	setutxent();
- 	while(
- #ifdef HAVE_GETUTENT_R
--	      !getutent_r(&utbuf, &ut)
-+	      !getutxent_r(&utbuf, &ut)
- #else
--	      (ut = getutent()) != NULL
-+	      (ut = getutxent()) != NULL
- #endif
- 	      ) {
- 		if (ut->ut_type != USER_PROCESS) {
-@@ -218,7 +218,7 @@ check_login_time(const char *ruser, time
- 			oldest_login = ut->ut_tv.tv_sec;
- 		}
- 	}
--	endutent();
-+	endutxent();
- 	if(oldest_login == 0 || timestamp < oldest_login) {
- 		return PAM_AUTH_ERR;
- 	}
-Index: Linux-PAM-1.2.1/modules/pam_unix/support.c
-===================================================================
---- Linux-PAM-1.2.1.orig/modules/pam_unix/support.c
-+++ Linux-PAM-1.2.1/modules/pam_unix/support.c
-@@ -13,7 +13,6 @@
- #include <pwd.h>
- #include <shadow.h>
- #include <limits.h>
--#include <utmp.h>
- #include <errno.h>
- #include <signal.h>
- #include <ctype.h>
diff --git a/import-layers/yocto-poky/meta/recipes-extended/pam/libpam_1.3.0.bb b/import-layers/yocto-poky/meta/recipes-extended/pam/libpam_1.3.0.bb
index df56d27..8f7753d 100644
--- a/import-layers/yocto-poky/meta/recipes-extended/pam/libpam_1.3.0.bb
+++ b/import-layers/yocto-poky/meta/recipes-extended/pam/libpam_1.3.0.bb
@@ -28,8 +28,6 @@
 SRC_URI[md5sum] = "da4b2289b7cfb19583d54e9eaaef1c3a"
 SRC_URI[sha256sum] = "241aed1ef522f66ed672719ecf2205ec513fd0075ed80cda8e086a5b1a01d1bb"
 
-SRC_URI_append_libc-uclibc = " file://use-utmpx.patch"
-
 SRC_URI_append_libc-musl = " file://0001-Add-support-for-defining-missing-funcitonality.patch \
                              file://include_paths_header.patch \
                            "
diff --git a/import-layers/yocto-poky/meta/recipes-extended/parted/files/0001-Move-python-helper-scripts-used-only-in-tests-to-Pyt.patch b/import-layers/yocto-poky/meta/recipes-extended/parted/files/0001-Move-python-helper-scripts-used-only-in-tests-to-Pyt.patch
new file mode 100644
index 0000000..428b14e
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-extended/parted/files/0001-Move-python-helper-scripts-used-only-in-tests-to-Pyt.patch
@@ -0,0 +1,44 @@
+From 6e82af54714392dcdf74a8aedaae7de7d0af1080 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Thu, 27 Apr 2017 16:37:24 +0300
+Subject: [PATCH] Move python helper scripts (used only in tests) to Python 3
+
+Upstream-Status: Pending
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ tests/gpt-header-move | 2 +-
+ tests/msdos-overlap   | 4 ++--
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/tests/gpt-header-move b/tests/gpt-header-move
+index 05cdc65..3cbcb7e 100755
+--- a/tests/gpt-header-move
++++ b/tests/gpt-header-move
+@@ -1,4 +1,4 @@
+-#!/usr/bin/python
++#!/usr/bin/env python3
+ 
+ # open img file, subtract 33 from altlba address, and move the last 33 sectors
+ # back by 33 sectors
+diff --git a/tests/msdos-overlap b/tests/msdos-overlap
+index 5bddfb0..3de7d2e 100755
+--- a/tests/msdos-overlap
++++ b/tests/msdos-overlap
+@@ -1,4 +1,4 @@
+-#!/usr/bin/python
++#!/usr/bin/env python3
+ """
+     Write an overlapping partition to a msdos disk
+ 
+@@ -14,7 +14,7 @@ BAD_ENTRY = (0x72, 0xf5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ OFFSET = 0x1b8
+ 
+ if len(sys.argv) < 2:
+-    print "%s: <image or device>"
++    print("%s: <image or device>")
+     sys.exit(1)
+ 
+ data = "".join(chr(c) for c in BAD_ENTRY)
+-- 
+2.11.0
+
diff --git a/import-layers/yocto-poky/meta/recipes-extended/parted/files/0001-libparted-Use-read-only-when-probing-devices-on-linu.patch b/import-layers/yocto-poky/meta/recipes-extended/parted/files/0001-libparted-Use-read-only-when-probing-devices-on-linu.patch
new file mode 100644
index 0000000..e522e1c
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-extended/parted/files/0001-libparted-Use-read-only-when-probing-devices-on-linu.patch
@@ -0,0 +1,224 @@
+From d6e15a60e84c1511523aa81272b7db7a6ec441d0 Mon Sep 17 00:00:00 2001
+From: Ovidiu Panait <ovidiu.panait@windriver.com>
+Date: Tue, 26 Sep 2017 08:04:58 +0000
+Subject: [PATCH] libparted: Use read only when probing devices on linux
+ (#1245144)
+
+When a device is opened for RW closing it can trigger other actions,
+like udev scanning it for partition changes. Use read only for the
+init_* methods and RW for actual changes to the device.
+
+This adds _device_open which takes mode flags as an argument and turns
+linux_open into a wrapper for it with RW_MODE.
+
+_device_open_ro is added to open the device with RD_MODE and increment
+the open_counter. This is used in the init_* functions.
+
+_device_close is a wrapper around linux_close that decrements the
+open_counter and is used in the init_* functions.
+
+All of these changes are self-contained with no external API changes.
+The only visible change in behavior is that when a new PedDevice is
+created the device is opened in RO_MODE instead of RW_MODE.
+
+Resolves: rhbz#1245144
+
+Upstream-Status: Backport
+
+Author: Brian C. Lane <bcl@redhat.com>
+Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
+---
+ libparted/arch/linux.c | 62 +++++++++++++++++++++++++++++++++++---------------
+ 1 file changed, 44 insertions(+), 18 deletions(-)
+
+diff --git a/libparted/arch/linux.c b/libparted/arch/linux.c
+index f612617..0a06a54 100644
+--- a/libparted/arch/linux.c
++++ b/libparted/arch/linux.c
+@@ -294,7 +294,9 @@ struct blkdev_ioctl_param {
+ static char* _device_get_part_path (PedDevice const *dev, int num);
+ static int _partition_is_mounted_by_path (const char* path);
+ static unsigned int _device_get_partition_range(PedDevice const* dev);
+-
++static int _device_open (PedDevice* dev, int flags);
++static int _device_open_ro (PedDevice* dev);
++static int _device_close (PedDevice* dev);
+ 
+ static int
+ _read_fd (int fd, char **buf)
+@@ -913,7 +915,7 @@ init_ide (PedDevice* dev)
+         if (!_device_stat (dev, &dev_stat))
+                 goto error;
+ 
+-        if (!ped_device_open (dev))
++        if (!_device_open_ro (dev))
+                 goto error;
+ 
+         if (ioctl (arch_specific->fd, HDIO_GET_IDENTITY, &hdi)) {
+@@ -982,11 +984,11 @@ init_ide (PedDevice* dev)
+         if (!_device_probe_geometry (dev))
+                 goto error_close_dev;
+ 
+-        ped_device_close (dev);
++        _device_close (dev);
+         return 1;
+ 
+ error_close_dev:
+-        ped_device_close (dev);
++        _device_close (dev);
+ error:
+         return 0;
+ }
+@@ -1119,7 +1121,7 @@ init_scsi (PedDevice* dev)
+         char* vendor;
+         char* product;
+ 
+-        if (!ped_device_open (dev))
++        if (!_device_open_ro (dev))
+                 goto error;
+ 
+         if (ioctl (arch_specific->fd, SCSI_IOCTL_GET_IDLUN, &idlun) < 0) {
+@@ -1133,7 +1135,7 @@ init_scsi (PedDevice* dev)
+                         goto error_close_dev;
+                 if (!_device_probe_geometry (dev))
+                         goto error_close_dev;
+-                ped_device_close (dev);
++                _device_close (dev);
+                 return 1;
+         }
+ 
+@@ -1155,11 +1157,11 @@ init_scsi (PedDevice* dev)
+         if (!_device_probe_geometry (dev))
+                 goto error_close_dev;
+ 
+-        ped_device_close (dev);
++        _device_close (dev);
+         return 1;
+ 
+ error_close_dev:
+-        ped_device_close (dev);
++        _device_close (dev);
+ error:
+         return 0;
+ }
+@@ -1171,7 +1173,7 @@ init_file (PedDevice* dev)
+ 
+         if (!_device_stat (dev, &dev_stat))
+                 goto error;
+-        if (!ped_device_open (dev))
++        if (!_device_open_ro (dev))
+                 goto error;
+ 
+         dev->sector_size = PED_SECTOR_SIZE_DEFAULT;
+@@ -1198,7 +1200,7 @@ init_file (PedDevice* dev)
+                 goto error_close_dev;
+         }
+ 
+-        ped_device_close (dev);
++        _device_close (dev);
+ 
+         dev->bios_geom.cylinders = dev->length / 4 / 32;
+         dev->bios_geom.heads = 4;
+@@ -1209,7 +1211,7 @@ init_file (PedDevice* dev)
+         return 1;
+ 
+ error_close_dev:
+-        ped_device_close (dev);
++        _device_close (dev);
+ error:
+         return 0;
+ }
+@@ -1225,7 +1227,7 @@ init_dasd (PedDevice* dev, const char* model_name)
+         if (!_device_stat (dev, &dev_stat))
+                 goto error;
+ 
+-        if (!ped_device_open (dev))
++        if (!_device_open_ro (dev))
+                 goto error;
+ 
+         LinuxSpecific* arch_specific = LINUX_SPECIFIC (dev);
+@@ -1265,11 +1267,11 @@ init_dasd (PedDevice* dev, const char* model_name)
+ 
+         dev->model = strdup (model_name);
+ 
+-        ped_device_close (dev);
++        _device_close (dev);
+         return 1;
+ 
+ error_close_dev:
+-        ped_device_close (dev);
++        _device_close (dev);
+ error:
+         return 0;
+ }
+@@ -1284,7 +1286,7 @@ init_generic (PedDevice* dev, const char* model_name)
+         if (!_device_stat (dev, &dev_stat))
+                 goto error;
+ 
+-        if (!ped_device_open (dev))
++        if (!_device_open_ro (dev))
+                 goto error;
+ 
+         ped_exception_fetch_all ();
+@@ -1332,11 +1334,11 @@ init_generic (PedDevice* dev, const char* model_name)
+ 
+         dev->model = strdup (model_name);
+ 
+-        ped_device_close (dev);
++        _device_close (dev);
+         return 1;
+ 
+ error_close_dev:
+-        ped_device_close (dev);
++        _device_close (dev);
+ error:
+         return 0;
+ }
+@@ -1623,12 +1625,27 @@ retry:
+ }
+ 
+ static int
++_device_open_ro (PedDevice* dev)
++{
++    int rc = _device_open (dev, RD_MODE);
++    if (rc)
++        dev->open_count++;
++    return rc;
++}
++
++static int
+ linux_open (PedDevice* dev)
+ {
++    return _device_open (dev, RW_MODE);
++}
++
++static int
++_device_open (PedDevice* dev, int flags)
++{
+         LinuxSpecific*  arch_specific = LINUX_SPECIFIC (dev);
+ 
+ retry:
+-        arch_specific->fd = open (dev->path, RW_MODE);
++        arch_specific->fd = open (dev->path, flags);
+ 
+         if (arch_specific->fd == -1) {
+                 char*   rw_error_msg = strerror (errno);
+@@ -1697,6 +1714,15 @@ linux_refresh_close (PedDevice* dev)
+         return 1;
+ }
+ 
++static int
++_device_close (PedDevice* dev)
++{
++    int rc = linux_close (dev);
++    if (dev->open_count > 0)
++        dev->open_count--;
++    return rc;
++}
++
+ #if SIZEOF_OFF_T < 8
+ 
+ #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,20)
+-- 
+2.11.0
+
diff --git a/import-layers/yocto-poky/meta/recipes-extended/parted/parted_3.2.bb b/import-layers/yocto-poky/meta/recipes-extended/parted/parted_3.2.bb
index 9ce2dfe..ab30108 100644
--- a/import-layers/yocto-poky/meta/recipes-extended/parted/parted_3.2.bb
+++ b/import-layers/yocto-poky/meta/recipes-extended/parted/parted_3.2.bb
@@ -14,16 +14,17 @@
            file://0001-Include-fcntl.h-in-platform_defs.h.patch \
            file://0001-Unset-need_charset_alias-when-building-for-musl.patch \
            file://0002-libparted_fs_resize-link-against-libuuid-explicitly-.patch \
+           file://0001-Move-python-helper-scripts-used-only-in-tests-to-Pyt.patch \
 	   file://parted-3.2-sysmacros.patch \
            file://run-ptest \
            file://Makefile \
+           file://0001-libparted-Use-read-only-when-probing-devices-on-linu.patch \
 "
 
 SRC_URI[md5sum] = "0247b6a7b314f8edeb618159fa95f9cb"
 SRC_URI[sha256sum] = "858b589c22297cacdf437f3baff6f04b333087521ab274f7ab677cb8c6bb78e4"
 
 EXTRA_OECONF = "--disable-device-mapper"
-LDFLAGS_append_libc-uclibc = " -liconv "
 
 inherit autotools pkgconfig gettext texinfo ptest
 
@@ -46,4 +47,4 @@
 	sed -e 's| ../parted||' -i $t/tests/*.sh
 }
 
-RDEPENDS_${PN}-ptest = "bash coreutils perl util-linux-losetup python"
+RDEPENDS_${PN}-ptest = "bash coreutils perl util-linux-losetup python3"
diff --git a/import-layers/yocto-poky/meta/recipes-extended/pax/pax/0001-Add-a-comment-for-fallthrough.patch b/import-layers/yocto-poky/meta/recipes-extended/pax/pax/0001-Add-a-comment-for-fallthrough.patch
new file mode 100644
index 0000000..b76f85a
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-extended/pax/pax/0001-Add-a-comment-for-fallthrough.patch
@@ -0,0 +1,38 @@
+From e67bb3debe582f0e77770b714bd012bb1082fc41 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 19 Apr 2017 11:32:00 -0700
+Subject: [PATCH] Add a comment for fallthrough
+
+Fixes warnings with gcc7 e.g.
+
+../../../../../../../workspace/sources/pax/src/options.c: In function 'tar_options':
+../../../../../../../workspace/sources/pax/src/options.c:725:7: error: this statement may fall through [-Werror=implicit-fallthrough=]
+    if (opt_add ("write_opt=nodir") < 0)
+       ^
+../../../../../../../workspace/sources/pax/src/options.c:730:2: note: here
+  case 'O':
+  ^~~~
+cc1: all warnings being treated as errors
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/options.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/options.c b/src/options.c
+index c663b4e..b80819a 100644
+--- a/src/options.c
++++ b/src/options.c
+@@ -724,6 +724,7 @@ tar_options (int argc, char **argv)
+ 	case 'o':
+ 	  if (opt_add ("write_opt=nodir") < 0)
+ 	    tar_usage ();
++	  /* fallthru */
+ 	case 'O':
+ 	  Oflag = 1;
+ 	  break;
+-- 
+2.12.2
+
diff --git a/import-layers/yocto-poky/meta/recipes-extended/pax/pax_3.4.bb b/import-layers/yocto-poky/meta/recipes-extended/pax/pax_3.4.bb
index 9b4e17b..6df9a81 100644
--- a/import-layers/yocto-poky/meta/recipes-extended/pax/pax_3.4.bb
+++ b/import-layers/yocto-poky/meta/recipes-extended/pax/pax_3.4.bb
@@ -15,10 +15,11 @@
 DEPENDS_append_libc-musl = " fts "
 
 SRC_URI = "http://pkgs.fedoraproject.org/repo/pkgs/${BPN}/${BP}.tar.bz2/fbd9023b590b45ac3ade95870702a0d6/${BP}.tar.bz2 \
-	file://fix_for_compile_with_gcc-4.6.0.patch \
-	file://pax-3.4_fix_for_x32.patch \
-        file://0001-include-sys-sysmacros.h-for-major-minor-definitions.patch \
-"
+           file://fix_for_compile_with_gcc-4.6.0.patch \
+           file://pax-3.4_fix_for_x32.patch \
+           file://0001-include-sys-sysmacros.h-for-major-minor-definitions.patch \
+           file://0001-Add-a-comment-for-fallthrough.patch \
+           "
 
 SRC_URI_append_libc-musl = " file://0001-Fix-build-with-musl.patch \
                              file://0001-use-strtoll-instead-of-strtoq.patch \
diff --git a/import-layers/yocto-poky/meta/recipes-extended/perl/libtimedate-perl_2.30.bb b/import-layers/yocto-poky/meta/recipes-extended/perl/libtimedate-perl_2.30.bb
index c8fcde4..427613c 100644
--- a/import-layers/yocto-poky/meta/recipes-extended/perl/libtimedate-perl_2.30.bb
+++ b/import-layers/yocto-poky/meta/recipes-extended/perl/libtimedate-perl_2.30.bb
@@ -1,4 +1,5 @@
 SUMMARY = "Perl modules useful for manipulating date and time information"
+HOMEPAGE = "https://metacpan.org/release/TimeDate"
 SECTION = "libs"
 # You can redistribute it and/or modify it under the same terms as Perl itself.
 LICENSE = "Artistic-1.0 | GPL-1.0+"
diff --git a/import-layers/yocto-poky/meta/recipes-extended/perl/libxml-namespacesupport-perl_1.11.bb b/import-layers/yocto-poky/meta/recipes-extended/perl/libxml-namespacesupport-perl_1.12.bb
similarity index 73%
rename from import-layers/yocto-poky/meta/recipes-extended/perl/libxml-namespacesupport-perl_1.11.bb
rename to import-layers/yocto-poky/meta/recipes-extended/perl/libxml-namespacesupport-perl_1.12.bb
index 9a9e710..3498a28 100644
--- a/import-layers/yocto-poky/meta/recipes-extended/perl/libxml-namespacesupport-perl_1.11.bb
+++ b/import-layers/yocto-poky/meta/recipes-extended/perl/libxml-namespacesupport-perl_1.12.bb
@@ -1,4 +1,5 @@
 SUMMARY = "Perl module for supporting simple generic namespaces"
+HOMEPAGE = "http://veillard.com/XML/"
 DESCRIPTION = "XML::NamespaceSupport offers a simple way to process namespace-based XML names. \
                 It also helps maintain a prefix-to-namespace URI map, and provides a number of \
                 basic checks. "
@@ -7,11 +8,11 @@
 LICENSE = "Artistic-1.0 | GPL-1.0+"
 PR = "r3"
 
-LIC_FILES_CHKSUM = "file://META.yml;beginline=22;endline=22;md5=3b2b564dae8b9af9e8896e85c07dcbe5"
+LIC_FILES_CHKSUM = "file://META.yml;beginline=22;endline=22;md5=9ca1a4a941496e7feedac72c4fb8b137"
 
 SRC_URI = "http://search.cpan.org/CPAN/authors/id/P/PE/PERIGRIN/XML-NamespaceSupport-${PV}.tar.gz"
-SRC_URI[md5sum] = "222cca76161cd956d724286d36b607da"
-SRC_URI[sha256sum] = "6d8151f0a3f102313d76b64bfd1c2d9ed46bfe63a16f038e7d860fda287b74ea"
+SRC_URI[md5sum] = "a8916c6d095bcf073e1108af02e78c97"
+SRC_URI[sha256sum] = "47e995859f8dd0413aa3f22d350c4a62da652e854267aa0586ae544ae2bae5ef"
 
 
 S = "${WORKDIR}/XML-NamespaceSupport-${PV}"
diff --git a/import-layers/yocto-poky/meta/recipes-extended/perl/libxml-sax-base-perl_1.08.bb b/import-layers/yocto-poky/meta/recipes-extended/perl/libxml-sax-base-perl_1.09.bb
similarity index 78%
rename from import-layers/yocto-poky/meta/recipes-extended/perl/libxml-sax-base-perl_1.08.bb
rename to import-layers/yocto-poky/meta/recipes-extended/perl/libxml-sax-base-perl_1.09.bb
index 14a3370..cd3a580 100644
--- a/import-layers/yocto-poky/meta/recipes-extended/perl/libxml-sax-base-perl_1.08.bb
+++ b/import-layers/yocto-poky/meta/recipes-extended/perl/libxml-sax-base-perl_1.09.bb
@@ -1,4 +1,5 @@
 SUMMARY = "Base class SAX Drivers and Filters"
+HOMEPAGE = "http://search.cpan.org/dist/XML-SAX-Base/"
 DESCRIPTION = "This module has a very simple task - to be a base class for \
 PerlSAX drivers and filters. It's default behaviour is to pass \
 the input directly to the output unchanged. It can be useful to \
@@ -13,8 +14,8 @@
 
 SRC_URI = "http://search.cpan.org/CPAN/authors/id/G/GR/GRANTM/XML-SAX-Base-${PV}.tar.gz"
 
-SRC_URI[md5sum] = "38c8c3247dfd080712596118d70dbe32"
-SRC_URI[sha256sum] = "666270318b15f88b8427e585198abbc19bc2e6ccb36dc4c0a4f2d9807330219e"
+SRC_URI[md5sum] = "ec347a14065dd7aec7d9fb181b2d7946"
+SRC_URI[sha256sum] = "66cb355ba4ef47c10ca738bd35999723644386ac853abbeb5132841f5e8a2ad0"
 
 S = "${WORKDIR}/XML-SAX-Base-${PV}"
 
diff --git a/import-layers/yocto-poky/meta/recipes-extended/perl/libxml-sax-perl_0.99.bb b/import-layers/yocto-poky/meta/recipes-extended/perl/libxml-sax-perl_0.99.bb
index 45d3966..ad31b9c 100644
--- a/import-layers/yocto-poky/meta/recipes-extended/perl/libxml-sax-perl_0.99.bb
+++ b/import-layers/yocto-poky/meta/recipes-extended/perl/libxml-sax-perl_0.99.bb
@@ -1,4 +1,5 @@
 SUMMARY = "Perl module for using and building Perl SAX2 XML processors"
+HOMEPAGE = "http://search.cpan.org/dist/XML-SAX/"
 DESCRIPTION = "XML::SAX consists of several framework classes for using and \
 building Perl SAX2 XML parsers, filters, and drivers.  It is designed \ 
 around the need to be able to "plug in" different SAX parsers to an \
diff --git a/import-layers/yocto-poky/meta/recipes-extended/psmisc/psmisc.inc b/import-layers/yocto-poky/meta/recipes-extended/psmisc/psmisc.inc
index 22b2e85..66a784b 100644
--- a/import-layers/yocto-poky/meta/recipes-extended/psmisc/psmisc.inc
+++ b/import-layers/yocto-poky/meta/recipes-extended/psmisc/psmisc.inc
@@ -1,4 +1,5 @@
 SUMMARY = "Utilities for managing processes on your system"
+HOMEPAGE = "http://psmisc.sf.net/"
 DESCRIPTION = "The psmisc package contains utilities for managing processes on your \
 system: pstree, killall and fuser.  The pstree command displays a tree \
 structure of all of the running processes on your system.  The killall \
diff --git a/import-layers/yocto-poky/meta/recipes-extended/rpcbind/rpcbind/musl-sunrpc.patch b/import-layers/yocto-poky/meta/recipes-extended/rpcbind/rpcbind/musl-sunrpc.patch
deleted file mode 100644
index 6fbc636..0000000
--- a/import-layers/yocto-poky/meta/recipes-extended/rpcbind/rpcbind/musl-sunrpc.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-The musl implementation of getaddrinfo and getservbyname does not
-aliases. As a workaround we use "sunprc" instead of "portmapper"
-
-ported from alpine linux
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Upstream-Status: Pending
-
-Index: rpcbind-0.2.2/src/rpcbind.c
-===================================================================
---- rpcbind-0.2.2.orig/src/rpcbind.c
-+++ rpcbind-0.2.2/src/rpcbind.c
-@@ -491,7 +491,7 @@ init_transport(struct netconfig *nconf)
- 			if ((aicode = getaddrinfo(hosts[nhostsbak],
- 			    servname, &hints, &res)) != 0) {
- 			  if ((aicode = getaddrinfo(hosts[nhostsbak],
--						    "portmapper", &hints, &res)) != 0) {
-+						    "sunrpc", &hints, &res)) != 0) {
- 				syslog(LOG_ERR,
- 				    "cannot get local address for %s: %s",
- 				    nconf->nc_netid, gai_strerror(aicode));
-@@ -564,7 +564,7 @@ init_transport(struct netconfig *nconf)
- 		if ((strcmp(nconf->nc_netid, "local") != 0) &&
- 		    (strcmp(nconf->nc_netid, "unix") != 0)) {
- 			if ((aicode = getaddrinfo(NULL, servname, &hints, &res))!= 0) {
--			  if ((aicode = getaddrinfo(NULL, "portmapper", &hints, &res))!= 0) {
-+			  if ((aicode = getaddrinfo(NULL, "sunrpc", &hints, &res))!= 0) {
- 			  printf("cannot get local address for %s: %s",  nconf->nc_netid, gai_strerror(aicode));
- 			  syslog(LOG_ERR,
- 				    "cannot get local address for %s: %s",
diff --git a/import-layers/yocto-poky/meta/recipes-extended/rpcbind/rpcbind/remove-sys-queue.patch b/import-layers/yocto-poky/meta/recipes-extended/rpcbind/rpcbind/remove-sys-queue.patch
deleted file mode 100644
index 84fc974..0000000
--- a/import-layers/yocto-poky/meta/recipes-extended/rpcbind/rpcbind/remove-sys-queue.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-musl does not provide this header and here is reasoning
-http://wiki.musl-libc.org/wiki/FAQ#Q:_why_is_sys.2Fqueue.h_not_included_.3F
-
-So include it only when __GLIBC__ is defined which is true for uclibc and glibc
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Upstream-Status: Pending
-
-Index: rpcbind-0.2.2/src/util.c
-===================================================================
---- rpcbind-0.2.2.orig/src/util.c
-+++ rpcbind-0.2.2/src/util.c
-@@ -41,7 +41,9 @@
- 
- #include <sys/types.h>
- #include <sys/socket.h>
-+#ifdef __GLIBC__
- #include <sys/queue.h>
-+#endif
- #include <net/if.h>
- #include <netinet/in.h>
- #include <ifaddrs.h>
diff --git a/import-layers/yocto-poky/meta/recipes-extended/rpcbind/rpcbind_0.2.4.bb b/import-layers/yocto-poky/meta/recipes-extended/rpcbind/rpcbind_0.2.4.bb
index 1a12055..60e46ed 100644
--- a/import-layers/yocto-poky/meta/recipes-extended/rpcbind/rpcbind_0.2.4.bb
+++ b/import-layers/yocto-poky/meta/recipes-extended/rpcbind/rpcbind_0.2.4.bb
@@ -12,19 +12,11 @@
 
 SRC_URI = "${SOURCEFORGE_MIRROR}/rpcbind/rpcbind-${PV}.tar.bz2 \
            file://init.d \
-           file://remove-sys-queue.patch \
-           ${UCLIBCPATCHES} \
-           ${MUSLPATCHES} \
            file://rpcbind.conf \
            file://rpcbind.socket \
            file://rpcbind.service \
            file://0001-rpcbind-pair-all-svc_getargs-calls-with-svc_freeargs.patch \
           "
-MUSLPATCHES_libc-musl = "file://musl-sunrpc.patch"
-
-UCLIBCPATCHES ?= ""
-MUSLPATCHES ?= ""
-
 SRC_URI[md5sum] = "cf10cd41ed8228fc54c316191c1f07fe"
 SRC_URI[sha256sum] = "074a9a530dc7c11e0d905aa59bcb0847c009313f02e98d3d798aa9568f414c66"
 
diff --git a/import-layers/yocto-poky/meta/recipes-extended/screen/screen/0001-configure.ac-fix-configure-failed-while-build-dir-ha.patch b/import-layers/yocto-poky/meta/recipes-extended/screen/screen/0001-configure.ac-fix-configure-failed-while-build-dir-ha.patch
new file mode 100644
index 0000000..e8db12c
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-extended/screen/screen/0001-configure.ac-fix-configure-failed-while-build-dir-ha.patch
@@ -0,0 +1,108 @@
+From 4b258c5a9078f8df60684ab7536ce3a8ff207e08 Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Thu, 12 Oct 2017 10:03:57 +0000
+Subject: [PATCH] configure.ac: fix configure failed while build dir contains "yes"
+
+While the name of build dir contains "yes", the AC_EGREP_CPP
+test always return true.
+
+We rarely use "yes;" to name build dir, so s/yes/yes;/g
+could fix the issue
+
+Upstream-Status: Pending
+
+Signed-off-by: Jian Kang <jian.kang@windriver.com>
+---
+ configure.ac | 20 ++++++++++----------
+ 1 file changed, 10 insertions(+), 10 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 12996cd..4765af6 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -128,7 +128,7 @@ fi
+ 
+ 
+ AC_CHECKING(for Ultrix)
+-AC_EGREP_CPP(yes,
++AC_EGREP_CPP(yes;,
+ [#if defined(ultrix) || defined(__ultrix)
+    yes;
+ #endif
+@@ -145,7 +145,7 @@ dnl ghazi@caip.rutgers.edu (Kaveh R. Ghazi):
+ dnl BBN butterfly is not POSIX, but a MACH BSD system.
+ dnl Do not define POSIX and TERMIO.
+ AC_CHECKING(for butterfly)
+-AC_EGREP_CPP(yes,
++AC_EGREP_CPP(yes;,
+ [#if defined(butterfly)
+   yes;
+ #endif
+@@ -156,7 +156,7 @@ if test -n "$ULTRIX"; then
+   test -z "$GCC" && CC="$CC -YBSD"
+ fi
+ AC_CHECKING(for POSIX.1)
+-AC_EGREP_CPP(yes,
++AC_EGREP_CPP(yes;,
+ [#include <sys/types.h>
+ #include <unistd.h>
+ main () {
+@@ -173,14 +173,14 @@ AC_TRY_COMPILE(
+ #include <fcntl.h>], [int x = SIGCHLD | FNDELAY;], , AC_DEFINE(SYSV))
+ 
+ AC_CHECKING(for sequent/ptx)
+-AC_EGREP_CPP(yes,
++AC_EGREP_CPP(yes;,
+ [#ifdef _SEQUENT_
+   yes;
+ #endif
+ ], LIBS="$LIBS -lsocket -linet";seqptx=1)
+ 
+ AC_CHECKING(SVR4)
+-AC_EGREP_CPP(yes,
++AC_EGREP_CPP(yes;,
+ [main () {
+ #if defined(SVR4) || defined(__SVR4)
+   yes;
+@@ -200,9 +200,9 @@ fi
+ AC_CHECK_HEADERS([stropts.h string.h strings.h])
+ 
+ AC_CHECKING(for Solaris 2.x)
+-AC_EGREP_CPP(yes,
++AC_EGREP_CPP(yes;,
+ [#if defined(SVR4) && defined(sun)
+-  yes
++  yes;
+ #endif
+ ], LIBS="$LIBS -lsocket -lnsl -lkstat")
+ 
+@@ -697,7 +697,7 @@ else
+ pdir='/dev'
+ fi
+ dnl SCO uses ptyp%d
+-AC_EGREP_CPP(yes,
++AC_EGREP_CPP(yes;,
+ [#ifdef M_UNIX
+    yes;
+ #endif
+@@ -880,7 +880,7 @@ fi
+ )
+ 
+ if test -z "$load" ; then
+-AC_EGREP_CPP(yes,
++AC_EGREP_CPP(yes;,
+ [#if defined(NeXT) || defined(apollo) || defined(linux)
+   yes;
+ #endif
+@@ -1112,7 +1112,7 @@ AC_CHECKING(syslog in libbsd.a)
+ AC_TRY_LINK(, [closelog();], AC_NOTE(- found.), [LIBS="$oldlibs"
+ AC_NOTE(- bad news: syslog missing.) AC_DEFINE(NOSYSLOG)])])
+ 
+-AC_EGREP_CPP(yes,
++AC_EGREP_CPP(yes;,
+ [#ifdef M_UNIX
+    yes;
+ #endif
+-- 
+2.13.3
+
diff --git a/import-layers/yocto-poky/meta/recipes-extended/screen/screen/fix-parallel-make.patch b/import-layers/yocto-poky/meta/recipes-extended/screen/screen/fix-parallel-make.patch
deleted file mode 100644
index e0caf5d..0000000
--- a/import-layers/yocto-poky/meta/recipes-extended/screen/screen/fix-parallel-make.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-This fixes the parallel make install failure
-
-Upstream-Status: Pending
-
-Signed-off-by: Saul Wold <sgw@linux.intel.com>
-
-Index: screen-4.0.3/Makefile.in
-===================================================================
---- screen-4.0.3.orig/Makefile.in
-+++ screen-4.0.3/Makefile.in
-@@ -70,7 +70,7 @@ screen: $(OFILES)
- .c.o:
- 	$(CC) -c -I. -I$(srcdir) $(M_CFLAGS) $(DEFS) $(OPTIONS) $(CFLAGS) $<
- 
--install_bin: .version screen
-+install_bin: .version screen installdirs
- 	-if [ -f $(DESTDIR)$(bindir)/$(SCREEN) ] && [ ! -f $(DESTDIR)$(bindir)/$(SCREEN).old ]; \
- 		then mv $(DESTDIR)$(bindir)/$(SCREEN) $(DESTDIR)$(bindir)/$(SCREEN).old; fi
- 	$(INSTALL_PROGRAM) screen $(DESTDIR)$(bindir)/$(SCREEN)
diff --git a/import-layers/yocto-poky/meta/recipes-extended/screen/screen_4.5.1.bb b/import-layers/yocto-poky/meta/recipes-extended/screen/screen_4.6.1.bb
similarity index 89%
rename from import-layers/yocto-poky/meta/recipes-extended/screen/screen_4.5.1.bb
rename to import-layers/yocto-poky/meta/recipes-extended/screen/screen_4.6.1.bb
index 32c1a5a..bcd83a2 100644
--- a/import-layers/yocto-poky/meta/recipes-extended/screen/screen_4.5.1.bb
+++ b/import-layers/yocto-poky/meta/recipes-extended/screen/screen_4.6.1.bb
@@ -16,7 +16,6 @@
 RDEPENDS_${PN} = "base-files"
 
 SRC_URI = "${GNU_MIRROR}/screen/screen-${PV}.tar.gz \
-           file://fix-parallel-make.patch \
            ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'file://screen.pam', '', d)} \
            file://Remove-redundant-compiler-sanity-checks.patch \
            file://Provide-cross-compile-alternatives-for-AC_TRY_RUN.patch \
@@ -24,10 +23,11 @@
            file://Avoid-mis-identifying-systems-as-SVR4.patch \
            file://0002-comm.h-now-depends-on-term.h.patch \
            file://0001-fix-for-multijob-build.patch \
+           file://0001-configure.ac-fix-configure-failed-while-build-dir-ha.patch \
           "
 
-SRC_URI[md5sum] = "a8c5da2f42f8a18fa4dada2419d1549b"
-SRC_URI[sha256sum] = "97db2114dd963b016cd4ded34831955dcbe3251e5eee45ac2606e67e9f097b2d"
+SRC_URI[md5sum] = "132c893aabfaf2020074790215c8cacd"
+SRC_URI[sha256sum] = "aba9af66cb626155d6abce4703f45cce0e30a5114a368bd6387c966cbbbb7c64"
 
 inherit autotools texinfo
 
diff --git a/import-layers/yocto-poky/meta/recipes-extended/sed/sed_4.2.2.bb b/import-layers/yocto-poky/meta/recipes-extended/sed/sed_4.2.2.bb
index 5aa7d8a..e31bec2 100644
--- a/import-layers/yocto-poky/meta/recipes-extended/sed/sed_4.2.2.bb
+++ b/import-layers/yocto-poky/meta/recipes-extended/sed/sed_4.2.2.bb
@@ -44,3 +44,4 @@
 	oe_runmake -C ${TESTDIR} install-ptest BUILDDIR=${B} DESTDIR=${D}${PTEST_PATH} TESTDIR=${TESTDIR}
 }
 
+RPROVIDES_${PN} += "${@bb.utils.contains('DISTRO_FEATURES', 'usrmerge', '/bin/sed', '', d)}"
diff --git a/import-layers/yocto-poky/meta/recipes-extended/shadow/files/0001-shadow-CVE-2017-12424 b/import-layers/yocto-poky/meta/recipes-extended/shadow/files/0001-shadow-CVE-2017-12424
new file mode 100644
index 0000000..4d3e1e0
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-extended/shadow/files/0001-shadow-CVE-2017-12424
@@ -0,0 +1,46 @@
+From 954e3d2e7113e9ac06632aee3c69b8d818cc8952 Mon Sep 17 00:00:00 2001
+From: Tomas Mraz <tmraz@fedoraproject.org>
+Date: Fri, 31 Mar 2017 16:25:06 +0200
+Subject: [PATCH] Fix buffer overflow if NULL line is present in db.
+
+If ptr->line == NULL for an entry, the first cycle will exit,
+but the second one will happily write past entries buffer.
+We actually do not want to exit the first cycle prematurely
+on ptr->line == NULL.
+Signed-off-by: Tomas Mraz <tmraz@fedoraproject.org>
+
+CVE: CVE-2017-12424
+Upstream-Status: Backport
+Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+---
+ lib/commonio.c | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/lib/commonio.c b/lib/commonio.c
+index b10da06..31edbaa 100644
+--- a/lib/commonio.c
++++ b/lib/commonio.c
+@@ -751,16 +751,16 @@ commonio_sort (struct commonio_db *db, int (*cmp) (const void *, const void *))
+ 	for (ptr = db->head;
+ 	        (NULL != ptr)
+ #if KEEP_NIS_AT_END
+-	     && (NULL != ptr->line)
+-	     && (   ('+' != ptr->line[0])
+-	         && ('-' != ptr->line[0]))
++	     && ((NULL == ptr->line)
++	         || (('+' != ptr->line[0])
++	             && ('-' != ptr->line[0])))
+ #endif
+ 	     ;
+ 	     ptr = ptr->next) {
+ 		n++;
+ 	}
+ #if KEEP_NIS_AT_END
+-	if ((NULL != ptr) && (NULL != ptr->line)) {
++	if (NULL != ptr) {
+ 		nis = ptr;
+ 	}
+ #endif
+-- 
+2.1.0
+
diff --git a/import-layers/yocto-poky/meta/recipes-extended/shadow/shadow.inc b/import-layers/yocto-poky/meta/recipes-extended/shadow/shadow.inc
index 70ff68e..cc18964 100644
--- a/import-layers/yocto-poky/meta/recipes-extended/shadow/shadow.inc
+++ b/import-layers/yocto-poky/meta/recipes-extended/shadow/shadow.inc
@@ -16,6 +16,7 @@
            file://0001-Do-not-read-login.defs-before-doing-chroot.patch \
            file://check_size_of_uid_t_and_gid_t_using_AC_CHECK_SIZEOF.patch \
            file://0001-useradd-copy-extended-attributes-of-home.patch \
+           file://0001-shadow-CVE-2017-12424 \
            ${@bb.utils.contains('PACKAGECONFIG', 'pam', '${PAM_SRC_URI}', '', d)} \
            "
 
@@ -59,7 +60,6 @@
 NSCDOPT = ""
 NSCDOPT_class-native = "--without-nscd"
 NSCDOPT_class-nativesdk = "--without-nscd"
-NSCDOPT_libc-uclibc = " --without-nscd"
 NSCDOPT_libc-glibc = "${@bb.utils.contains('DISTRO_FEATURES', 'libc-spawn', '--with-nscd', '--without-nscd', d)}"
           
 PAM_PLUGINS = "libpam-runtime \
diff --git a/import-layers/yocto-poky/meta/recipes-extended/slang/slang/run-ptest b/import-layers/yocto-poky/meta/recipes-extended/slang/slang/run-ptest
new file mode 100644
index 0000000..39f474a
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-extended/slang/slang/run-ptest
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+make -C test runtests
diff --git a/import-layers/yocto-poky/meta/recipes-extended/slang/slang/terminfo_fixes.patch b/import-layers/yocto-poky/meta/recipes-extended/slang/slang/terminfo_fixes.patch
new file mode 100644
index 0000000..3e6d15a
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-extended/slang/slang/terminfo_fixes.patch
@@ -0,0 +1,148 @@
+Do not use the JD_TERMCAP macro since we cannot get the terminfo from
+ncurses pkg-config, but fix the macro to not reference host directories.
+Also add src/test/Makefile.in so that we can use -ltermcap if we want to.
+
+Upstream-Status: Pending
+
+Signed-off-by: Joe Slater <joe.slater@windriver.com>
+
+
+--- a/autoconf/aclocal.m4
++++ b/autoconf/aclocal.m4
+@@ -506,14 +506,10 @@ then
+ else
+    MISC_TERMINFO_DIRS=""
+ fi
+-JD_Terminfo_Dirs="$MISC_TERMINFO_DIRS \
+-                  /usr/lib/terminfo \
+-                  /usr/share/terminfo \
+-                  /usr/share/lib/terminfo \
+-		  /usr/local/lib/terminfo"
++
+ TERMCAP=-ltermcap
+ 
+-for terminfo_dir in $JD_Terminfo_Dirs
++for terminfo_dir in $MISC_TERMINFO_DIRS
+ do
+    if test -d $terminfo_dir
+    then
+--- a/autoconf/configure.ac
++++ b/autoconf/configure.ac
+@@ -249,7 +249,14 @@ AC_CHECK_SIZEOF(size_t)
+ JD_CHECK_LONG_LONG
+ JD_LARGE_FILE_SUPPORT
+ 
+-JD_TERMCAP
++dnl Do not use JD_TERMCAP, since we cannot get terminfo from ncurses*-config anymore.
++dnl Set TERMCAP=-ltermcap and AC_DEFINE(USE_TERMCAP,1,[Define to use termcap])
++dnl to use libtermcap.
++TERMCAP=""
++MISC_TERMINFO_DIRS=""
++AC_SUBST(TERMCAP)dnl
++AC_SUBST(MISC_TERMINFO_DIRS)dnl
++
+ JD_GCC_WARNINGS
+ 
+ JD_SET_OBJ_SRC_DIR(src)
+@@ -364,7 +371,7 @@ AC_CONFIG_HEADER(src/sysconf.h:src/confi
+ dnl AC_CONFIG_SUBDIRS(demo)
+ 
+ AC_OUTPUT(Makefile:autoconf/Makefile.in \
+-  src/Makefile slsh/Makefile modules/Makefile demo/Makefile \
++  src/Makefile src/test/Makefile slsh/Makefile modules/Makefile demo/Makefile \
+   slang.pc:autoconf/slangpc.in \
+ )
+ 
+--- /dev/null
++++ b/src/test/Makefile.in
+@@ -0,0 +1,90 @@
++# -*- make -*-
++TEST_SCRIPTS_SLC = argv syntax scircuit eqs sscanf loops arith array strops \
++  bstring pack stdio assoc selfload struct nspace path ifeval anytype arrmult \
++  time utf8 except bugs list regexp method deref naninf overflow sort \
++  longlong signal dollar req docfun debug qualif compare break multline \
++  stack misc posixio posdir proc math
++
++TEST_SCRIPTS_NO_SLC = autoload nspace2 prep
++
++TEST_SCRIPTS = $(TEST_SCRIPTS_SLC) $(TEST_SCRIPTS_NO_SLC)
++
++TEST_PGM = sltest
++MEMCHECK = valgrind --tool=memcheck --leak-check=yes --leak-resolution=med --num-callers=20
++RUN_TEST_PGM = ./$(TEST_PGM)
++SLANGINC = ..
++SLANGLIB = ../$(ARCH)objs
++OTHER_LIBS = -lm @TERMCAP@
++OTHER_CFLAGS =
++
++runtests: $(TEST_PGM) cleantmp
++	@tests=""; \
++	for test in $(TEST_SCRIPTS); \
++	do \
++	   tests="$$tests $$test.sl"; \
++	done; \
++	for test in $(TEST_SCRIPTS_SLC); \
++	do \
++	   tests="$$tests $$test.slc"; \
++	done; \
++	MAKERUNNING=1 ./runtests.sh $$tests
++#	@touch $(TEST_PGM).c
++
++update: $(TEST_PGM) cleantmp
++	@tests=""; \
++	for X in $(TEST_SCRIPTS); \
++	do \
++	  if [ ! -e lastrun/$$X.sl ] || [ $$X.sl -nt lastrun/$$X.sl ] ; \
++	  then \
++	   tests="$$tests $$X.sl"; \
++	  fi \
++	done; \
++	for X in $(TEST_SCRIPTS_SLC); \
++	do \
++	  if [ ! -e lastrun/$$X.slc ] || [ $$X.sl -nt lastrun/$$X.slc ] ; \
++	  then \
++	   tests="$$tests $$X.slc"; \
++	  fi \
++	done; \
++	if test -n "$$tests"; \
++	then \
++	  MAKERUNNING=1 ./runtests.sh $$tests; \
++	fi
++#	@touch $(TEST_PGM).c
++
++memcheck_runtests: $(TEST_PGM) cleantmp
++	@echo ""
++	@echo "Running tests:"
++	@echo ""
++	-@for X in $(TEST_SCRIPTS); \
++	do \
++	   $(MEMCHECK) --log-file=log.$${X} $(RUN_TEST_PGM) $$X.sl; \
++	   grep ERROR log.$${X}; grep 'lost: [^0]' log.$${X}; \
++	   $(MEMCHECK) --log-file=log.$${X}_u $(RUN_TEST_PGM) -utf8 $$X.sl; \
++	   grep ERROR log.$${X}_u; grep 'lost: [^0]' log.$${X}_u; \
++	done
++#	touch $(TEST_PGM).c
++
++memcheck_runtests_slc: $(TEST_PGM) cleantmp
++	@echo ""
++	@echo "Running tests:"
++	@echo ""
++	-@for X in $(TEST_SCRIPTS_SLC); \
++	do \
++	   $(MEMCHECK) --log-file=log.$${X}_c $(RUN_TEST_PGM) $$X.slc; \
++	   $(MEMCHECK) --log-file=log.$${X}_uc $(RUN_TEST_PGM) -utf8 $$X.slc; \
++	done
++#	touch $(TEST_PGM).c
++
++memcheck: memcheck_runtests memcheck_runtests_slc
++
++$(TEST_PGM): $(TEST_PGM).c assoc.c list.c $(SLANGLIB)/libslang.a
++	$(CC) $(CFLAGS) $(OTHER_CFLAGS) $(LDFLAGS) $(TEST_PGM).c -o $(TEST_PGM) -I$(SLANGINC) -L$(SLANGLIB) -lslang $(OTHER_LIBS)
++cleantmp:
++	-/bin/rm -rf tmpfile*.* tmpdir*.*
++clean: cleantmp
++	-/bin/rm -f *~ *.o *.log log.pid* *.slc log.* *.log-*
++distclean: clean
++	/bin/rm -f $(TEST_PGM) $(TEST_PGM).gcda $(TEST_PGM).gcno
++.PHONY: clean memcheck runtests memcheck_runtests_slc memcheck_runtests cleantmp
++
diff --git a/import-layers/yocto-poky/meta/recipes-extended/slang/slang/test-add-output-in-the-format-result-testname.patch b/import-layers/yocto-poky/meta/recipes-extended/slang/slang/test-add-output-in-the-format-result-testname.patch
new file mode 100644
index 0000000..27a9bb8
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-extended/slang/slang/test-add-output-in-the-format-result-testname.patch
@@ -0,0 +1,30 @@
+From 38688ee2754415cf2a1935dafb8278861b7315e7 Mon Sep 17 00:00:00 2001
+From: Stefan Strogin <sstrogin@cisco.com>
+Date: Thu, 2 Mar 2017 00:26:31 +0200
+Subject: [PATCH] test: add output in the format "result: testname"
+
+Upstream-Status: Inappropriate [oe specific]
+
+Signed-off-by: Stefan Strogin <sstrogin@cisco.com>
+---
+ src/test/runtests.sh | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/src/test/runtests.sh b/src/test/runtests.sh
+index a3eaad0..64f0705 100755
+--- a/src/test/runtests.sh
++++ b/src/test/runtests.sh
+@@ -34,8 +34,10 @@ do
+     then
+ 	n_failed=`expr ${n_failed} + 1`
+ 	tests_failed="$tests_failed $testfile"
++	echo "FAIL: $testfile"
+     else
+         touch lastrun/$testfile
++	echo "PASS: $testfile"
+     fi
+ done
+ 
+-- 
+2.11.0
+
diff --git a/import-layers/yocto-poky/meta/recipes-extended/slang/slang_2.3.1a.bb b/import-layers/yocto-poky/meta/recipes-extended/slang/slang_2.3.1a.bb
index c71d804..0585c14 100644
--- a/import-layers/yocto-poky/meta/recipes-extended/slang/slang_2.3.1a.bb
+++ b/import-layers/yocto-poky/meta/recipes-extended/slang/slang_2.3.1a.bb
@@ -17,6 +17,9 @@
 SRC_URI = "http://www.jedsoft.org/releases/${BPN}/${BP}.tar.bz2 \
            file://no-x.patch \
            file://dont-link-to-host.patch \
+           file://test-add-output-in-the-format-result-testname.patch \
+           file://terminfo_fixes.patch \
+           file://run-ptest \
           "
 
 SRC_URI[md5sum] = "c5235313042ed0e71ec708f7b85ec241"
@@ -25,7 +28,7 @@
 UPSTREAM_CHECK_URI = "http://www.jedsoft.org/releases/slang/"
 PREMIRRORS_append = "\n http://www.jedsoft.org/releases/slang/.* http://www.jedsoft.org/releases/slang/old/ \n"
 
-inherit autotools-brokensep
+inherit autotools-brokensep ptest
 CLEANBROKEN = "1"
 
 EXTRA_OECONF = "--without-onig"
@@ -49,6 +52,27 @@
     cd ${B}
 }
 
+do_compile_ptest() {
+	oe_runmake -C src static
+	oe_runmake -C src/test sltest
+}
+
+do_install_ptest() {
+	mkdir ${D}${PTEST_PATH}/test
+	for f in Makefile sltest runtests.sh *.sl *.inc; do
+		cp ${S}/src/test/$f ${D}${PTEST_PATH}/test/
+	done
+	sed -e 's/\ \$(TEST_PGM)\.c\ assoc\.c\ list\.c\ \$(SLANGLIB)\/libslang\.a//' \
+	    -e '/\$(CC).*(TEST_PGM)/d' \
+	    -i ${D}${PTEST_PATH}/test/Makefile
+
+	cp ${S}/slsh/lib/require.sl ${D}${PTEST_PATH}/test/
+	sed -i 's/\.\.\/\.\.\/slsh\/lib\/require\.sl/require\.sl/' ${D}${PTEST_PATH}/test/req.sl
+
+	cp ${S}/doc/text/slangfun.txt ${D}${PTEST_PATH}/test/
+	sed -i 's/\.\.\/\.\.\/doc\/text\/slangfun\.txt/slangfun\.txt/' ${D}${PTEST_PATH}/test/docfun.sl
+}
+
 FILES_${PN} += "${libdir}/${BPN}/v2/modules/ ${datadir}/slsh/"
 
 PARALLEL_MAKE = ""
diff --git a/import-layers/yocto-poky/meta/recipes-extended/stat/stat_3.3.bb b/import-layers/yocto-poky/meta/recipes-extended/stat/stat_3.3.bb
index 0697c73..8ac8e89 100644
--- a/import-layers/yocto-poky/meta/recipes-extended/stat/stat_3.3.bb
+++ b/import-layers/yocto-poky/meta/recipes-extended/stat/stat_3.3.bb
@@ -1,4 +1,5 @@
 SUMMARY = "Command line file status display utility"
+HOMEPAGE = "http://www.ibiblio.org/pub/Linux/utils/file/"
 DESCRIPTION = "Displays all information about a file that the stat() call provides and all information about a filesystem that statfs() provides."
 SECTION = "console/utils"
 LICENSE = "GPLv2"
diff --git a/import-layers/yocto-poky/meta/recipes-extended/stress/files/texinfo.patch b/import-layers/yocto-poky/meta/recipes-extended/stress/files/texinfo.patch
index 5ac5951..f23a1f6 100644
--- a/import-layers/yocto-poky/meta/recipes-extended/stress/files/texinfo.patch
+++ b/import-layers/yocto-poky/meta/recipes-extended/stress/files/texinfo.patch
@@ -1,3 +1,4 @@
+Upstream-Status: Pending
 --- a/doc/stress.texi
 +++ b/doc/stress.texi
 @@ -62,47 +62,47 @@
diff --git a/import-layers/yocto-poky/meta/recipes-extended/sudo/sudo.inc b/import-layers/yocto-poky/meta/recipes-extended/sudo/sudo.inc
index d42a04a..80ec0ae 100644
--- a/import-layers/yocto-poky/meta/recipes-extended/sudo/sudo.inc
+++ b/import-layers/yocto-poky/meta/recipes-extended/sudo/sudo.inc
@@ -4,7 +4,7 @@
 BUGTRACKER = "http://www.sudo.ws/bugs/"
 SECTION = "admin"
 LICENSE = "ISC & BSD & Zlib"
-LIC_FILES_CHKSUM = "file://doc/LICENSE;md5=f600a47c2a2cdde5899e449607810ed1 \
+LIC_FILES_CHKSUM = "file://doc/LICENSE;md5=652fb4334c13b511597d7940ef8b3323 \
                     file://plugins/sudoers/redblack.c;beginline=1;endline=41;md5=cfe41112f96c19a074934d128f45c693 \
                     file://lib/util/reallocarray.c;beginline=3;endline=16;md5=85b0905b795d4d58bf2e00635649eec6 \
                     file://lib/util/fnmatch.c;beginline=3;endline=27;md5=67f83ee9bd456557397082f8f1be0efd \
@@ -27,6 +27,12 @@
 
 # mksigname/mksiglist are used on build host to generate source files
 do_compile_prepend () {
+	# Remove build host references from sudo_usage.h
+	sed -i  \
+	    -e 's,--with-libtool-sysroot=${STAGING_DIR_TARGET},,g' \
+	    -e 's,--build=${BUILD_SYS},,g' \
+	    -e 's,--host=${HOST_SYS},,g' \
+	    ${B}/src/sudo_usage.h
 	oe_runmake SSP_CFLAGS="" SSP_LDFLAGS="" CC="$BUILD_CC" CFLAGS="$BUILD_CFLAGS" CPPFLAGS="$BUILD_CPPFLAGS -I${S}/include -I${S} -I${B}"  -C lib/util mksigname mksiglist
 }
 
diff --git a/import-layers/yocto-poky/meta/recipes-extended/sudo/sudo_1.8.19p2.bb b/import-layers/yocto-poky/meta/recipes-extended/sudo/sudo_1.8.20p2.bb
similarity index 90%
rename from import-layers/yocto-poky/meta/recipes-extended/sudo/sudo_1.8.19p2.bb
rename to import-layers/yocto-poky/meta/recipes-extended/sudo/sudo_1.8.20p2.bb
index a9659c3..4f24b3c 100644
--- a/import-layers/yocto-poky/meta/recipes-extended/sudo/sudo_1.8.19p2.bb
+++ b/import-layers/yocto-poky/meta/recipes-extended/sudo/sudo_1.8.20p2.bb
@@ -7,8 +7,8 @@
 
 PAM_SRC_URI = "file://sudo.pam"
 
-SRC_URI[md5sum] = "31a6090ed1d0946fa22cba19e86aafef"
-SRC_URI[sha256sum] = "237e18e67c2ad59ecacfa4b7707198b09fcf84914621585a9bc670dcc31a52e0"
+SRC_URI[md5sum] = "03da8e711caca6fd93e57751bfb74adc"
+SRC_URI[sha256sum] = "bd42ae1059e935f795c69ea97b3de09fe9410a58a74b5d5e6836eb5067a445d9"
 
 DEPENDS += " ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}"
 RDEPENDS_${PN} += " ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam-plugin-limits pam-plugin-keyinit', '', d)}"
diff --git a/import-layers/yocto-poky/meta/recipes-extended/sysklogd/files/0001-fix-problems-that-causes-a-segmentation-fault-under-.patch b/import-layers/yocto-poky/meta/recipes-extended/sysklogd/files/0001-fix-problems-that-causes-a-segmentation-fault-under-.patch
new file mode 100644
index 0000000..56431af
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-extended/sysklogd/files/0001-fix-problems-that-causes-a-segmentation-fault-under-.patch
@@ -0,0 +1,28 @@
+From cb72b3e172c238b4b5ae5935dc6be54f5034fcf1 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 30 Jun 2017 18:20:06 -0700
+Subject: [PATCH 1/2] fix problems that causes a segmentation fault under some
+ conditions
+
+Upstream-Status: Inappropriate [ no upstream ]
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ ksym_mod.c | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/ksym_mod.c b/ksym_mod.c
+index 6e26da1..a3daa7d 100644
+--- a/ksym_mod.c
++++ b/ksym_mod.c
+@@ -186,7 +186,6 @@ extern int InitMsyms()
+ 		else
+ 			Syslog(LOG_ERR, "Error loading kernel symbols " \
+ 			       "- %s\n", strerror(errno));
+-		fclose(ksyms);
+ 		return(0);
+ 	}
+ 
+-- 
+2.13.2
+
diff --git a/import-layers/yocto-poky/meta/recipes-extended/sysklogd/files/0002-Make-way-for-respecting-flags-from-environment.patch b/import-layers/yocto-poky/meta/recipes-extended/sysklogd/files/0002-Make-way-for-respecting-flags-from-environment.patch
new file mode 100644
index 0000000..ebbdef3
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-extended/sysklogd/files/0002-Make-way-for-respecting-flags-from-environment.patch
@@ -0,0 +1,35 @@
+From b22f244732cd0f475af2f82fc7eecec49f90623b Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 1 Jul 2017 00:01:50 -0700
+Subject: [PATCH 2/2] Make way for respecting flags from environment
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ Makefile | 4 +---
+ 1 file changed, 1 insertion(+), 3 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index 5af1689..af699d2 100644
+--- a/Makefile
++++ b/Makefile
+@@ -17,14 +17,12 @@
+ #   along with this program; if not, write to the Free Software
+ #   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ 
+-CC= gcc
+ #SKFLAGS= -g -DSYSV -Wall
+ #LDFLAGS= -g
+-SKFLAGS= $(RPM_OPT_FLAGS) -O3 -DSYSV -fomit-frame-pointer -Wall -fno-strength-reduce
++SKFLAGS = $(CFLAGS) $(CPPFLAGS) -DSYSV -Wall -fno-strength-reduce
+ # -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
+ # -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE
+ # $(shell getconf LFS_SKFLAGS)
+-LDFLAGS= -s
+ 
+ # Look where your install program is.
+ INSTALL = /usr/bin/install
+-- 
+2.13.2
+
diff --git a/import-layers/yocto-poky/meta/recipes-extended/sysklogd/sysklogd.inc b/import-layers/yocto-poky/meta/recipes-extended/sysklogd/sysklogd.inc
index 78b8d7a..1a537fa 100644
--- a/import-layers/yocto-poky/meta/recipes-extended/sysklogd/sysklogd.inc
+++ b/import-layers/yocto-poky/meta/recipes-extended/sysklogd/sysklogd.inc
@@ -11,11 +11,13 @@
                     file://klogd.c;beginline=2;endline=19;md5=7e87ed0ae6142de079bce738c10c899d \
                    "
 
-inherit update-rc.d update-alternatives systemd
+inherit update-rc.d systemd
 
 SRC_URI = "http://www.infodrom.org/projects/sysklogd/download/sysklogd-${PV}.tar.gz \
            file://no-strip-install.patch \
            file://0001-Fix-build-with-musl.patch \
+           file://0001-fix-problems-that-causes-a-segmentation-fault-under-.patch \
+           file://0002-Make-way-for-respecting-flags-from-environment.patch \
            file://sysklogd \
            file://syslog.conf \
            file://syslogd.service \
@@ -30,11 +32,10 @@
 SYSTEMD_AUTO_ENABLE = "enable"
 
 INITSCRIPT_NAME = "syslog"
-CONFFILES_${PN} = "${sysconfdir}/syslog.conf.${BPN}"
+CONFFILES_${PN} = "${sysconfdir}/syslog.conf"
+RCONFLICTS_${PN}-syslog = "rsyslog busybox-syslog syslog-ng"
 
-EXTRA_OEMAKE = "-e MAKEFLAGS="
-
-CFLAGS_append = " -DSYSV"
+CFLAGS += "-DSYSV -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE"
 
 do_install () {
 	install -d ${D}${mandir}/man8 \
@@ -57,21 +58,6 @@
 
 FILES_${PN} += "${@bb.utils.contains('DISTRO_FEATURES','systemd','${exec_prefix}/lib/tmpfiles.d/sysklogd.conf', '', d)}"
 
-# sysklogd package has no internal systemd support, so we weigh busybox's
-# sysklogd utility over it in case of systemd
-ALTERNATIVE_PRIORITY = "${@bb.utils.contains('DISTRO_FEATURES','systemd','10','100',d)}"
-
-ALTERNATIVE_${PN} = "syslogd klogd syslog-conf \
-    ${@bb.utils.contains('DISTRO_FEATURES','sysvinit','syslog-init','',d)}"
-
-ALTERNATIVE_${PN}-doc = "syslogd.8"
-ALTERNATIVE_LINK_NAME[syslogd.8] = "${mandir}/man8/syslogd.8"
-
-ALTERNATIVE_LINK_NAME[syslogd] = "${base_sbindir}/syslogd"
-ALTERNATIVE_LINK_NAME[klogd] = "${base_sbindir}/klogd"
-ALTERNATIVE_LINK_NAME[syslog-init] = "${sysconfdir}/init.d/syslog"
-ALTERNATIVE_LINK_NAME[syslog-conf] = "${sysconfdir}/syslog.conf"
-
 pkg_prerm_${PN} () {
 	if test "x$D" = "x"; then
 	if test "$1" = "upgrade" -o "$1" = "remove"; then
diff --git a/import-layers/yocto-poky/meta/recipes-extended/sysstat/sysstat.inc b/import-layers/yocto-poky/meta/recipes-extended/sysstat/sysstat.inc
index bb5629d..0bc7e14 100644
--- a/import-layers/yocto-poky/meta/recipes-extended/sysstat/sysstat.inc
+++ b/import-layers/yocto-poky/meta/recipes-extended/sysstat/sysstat.inc
@@ -17,8 +17,10 @@
 # autotools-brokensep as this package doesn't use automake
 inherit autotools-brokensep gettext systemd
 
-EXTRA_OECONF += "--disable-sensors"
-EXTRA_OEMAKE += 'LFLAGS=""'
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[lm-sensors] = "--enable-sensors,--disable-sensors,lmsensors,lmsensors-libsensors"
+
+EXTRA_OECONF += "--disable-stripping"
 
 SYSTEMD_PACKAGES = "${PN}"
 SYSTEMD_SERVICE_${PN} = "sysstat.service"
@@ -32,10 +34,16 @@
 	autotools_do_install
 
 	# don't install /var/log/sa when populating rootfs. Do it through volatile
-
 	rm -rf ${D}/var
-	install -d ${D}/etc/default/volatiles
-	install -m 0644 ${WORKDIR}/99_sysstat ${D}/etc/default/volatiles
+	if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then
+	        install -d ${D}/etc/default/volatiles
+		install -m 0644 ${WORKDIR}/99_sysstat ${D}/etc/default/volatiles
+	fi
+	if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
+	        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
@@ -55,4 +63,3 @@
 FILES_${PN} += "${libdir}/sa"
 
 TARGET_CC_ARCH += "${LDFLAGS}"
-LDFLAGS_append_libc-uclibc = " -lintl"
diff --git a/import-layers/yocto-poky/meta/recipes-extended/sysstat/sysstat_11.5.4.bb b/import-layers/yocto-poky/meta/recipes-extended/sysstat/sysstat_11.5.4.bb
deleted file mode 100644
index 7ff363b2..0000000
--- a/import-layers/yocto-poky/meta/recipes-extended/sysstat/sysstat_11.5.4.bb
+++ /dev/null
@@ -1,8 +0,0 @@
-require sysstat.inc
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=a23a74b3f4caf9616230789d94217acb"
-
-SRC_URI += "file://0001-Include-needed-headers-explicitly.patch"
-
-SRC_URI[md5sum] = "f16ae8edd462f5199ee033f7c0e2c197"
-SRC_URI[sha256sum] = "1e1008656575e70486b456e79775e98d3b8732d7e2cb408559209bd0318e0807"
diff --git a/import-layers/yocto-poky/meta/recipes-extended/sysstat/sysstat_11.5.7.bb b/import-layers/yocto-poky/meta/recipes-extended/sysstat/sysstat_11.5.7.bb
new file mode 100644
index 0000000..72af931
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-extended/sysstat/sysstat_11.5.7.bb
@@ -0,0 +1,8 @@
+require sysstat.inc
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=a23a74b3f4caf9616230789d94217acb"
+
+SRC_URI += "file://0001-Include-needed-headers-explicitly.patch"
+
+SRC_URI[md5sum] = "8f4a5d0de29f1056153e25e7a9c518d2"
+SRC_URI[sha256sum] = "4a38efaa0ca85ee5484d046bd427012979264fef17f07fd7855860e592819482"
diff --git a/import-layers/yocto-poky/meta/recipes-extended/tcp-wrappers/tcp-wrappers_7.6.bb b/import-layers/yocto-poky/meta/recipes-extended/tcp-wrappers/tcp-wrappers_7.6.bb
index 5fdbbce..1effef1 100644
--- a/import-layers/yocto-poky/meta/recipes-extended/tcp-wrappers/tcp-wrappers_7.6.bb
+++ b/import-layers/yocto-poky/meta/recipes-extended/tcp-wrappers/tcp-wrappers_7.6.bb
@@ -1,4 +1,5 @@
 SUMMARY = "Security tool that is a wrapper for TCP daemons"
+HOMEPAGE = "http://www.softpanorama.org/Net/Network_security/TCP_wrappers/"
 DESCRIPTION = "Tools for monitoring and filtering incoming requests for tcp \
                services."
 SECTION = "console/network"
@@ -73,7 +74,6 @@
                 'EXTRA_CFLAGS=${CFLAGS} -DSYS_ERRLIST_DEFINED -DHAVE_STRERROR -DHAVE_WEAKSYMS -D_REENTRANT -DINET6=1 -Dss_family=__ss_family -Dss_len=__ss_len'"
 
 EXTRA_OEMAKE_NETGROUP = "-DNETGROUP -DUSE_GETDOMAIN"
-EXTRA_OEMAKE_NETGROUP_libc-uclibc = "-DUSE_GETDOMAIN"
 EXTRA_OEMAKE_NETGROUP_libc-musl = "-DUSE_GETDOMAIN"
 
 EXTRA_OEMAKE_append_libc-musl = " 'LIBS='"
diff --git a/import-layers/yocto-poky/meta/recipes-extended/texinfo-dummy-native/texinfo-dummy/template.py b/import-layers/yocto-poky/meta/recipes-extended/texinfo-dummy-native/texinfo-dummy/template.py
index 8b7033e..e369f74 100644
--- a/import-layers/yocto-poky/meta/recipes-extended/texinfo-dummy-native/texinfo-dummy/template.py
+++ b/import-layers/yocto-poky/meta/recipes-extended/texinfo-dummy-native/texinfo-dummy/template.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python2.7
+#! /usr/bin/env python3
 
 # template.py (and other filenames)
 # By Max Eliaser (max.eliaser@intel.com)
@@ -71,7 +71,7 @@
        this_binary + " is not one of " + ', '.join (valid_binaries)
 
 if "--version" in sys.argv:
-    print version_str
+    print(version_str)
     sys.exit (0)
 
 # For debugging
diff --git a/import-layers/yocto-poky/meta/recipes-extended/texinfo/texinfo_6.3.bb b/import-layers/yocto-poky/meta/recipes-extended/texinfo/texinfo_6.3.bb
index d82731e..f58df92 100644
--- a/import-layers/yocto-poky/meta/recipes-extended/texinfo/texinfo_6.3.bb
+++ b/import-layers/yocto-poky/meta/recipes-extended/texinfo/texinfo_6.3.bb
@@ -79,4 +79,10 @@
                    ${datadir}/${tex_texinfo} \
                    ${mandir}/man1 ${mandir}/man5"
 
+# Lie about providing the Locale::gettext_xs module. It is not actually built,
+# but the code will test for it and if not found use Locale::gettext_pp instead.
+# However, this causes a file dependency on perl(Locale::gettext_xs) to be
+# generated, which must be satisfied.
+RPROVIDES_${PN} += "perl(Locale::gettext_xs)"
+
 BBCLASSEXTEND = "native nativesdk"
diff --git a/import-layers/yocto-poky/meta/recipes-extended/tzcode/files/0001-Fix-Makefile-quoting-bug.patch b/import-layers/yocto-poky/meta/recipes-extended/tzcode/files/0001-Fix-Makefile-quoting-bug.patch
new file mode 100644
index 0000000..e49fa09
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-extended/tzcode/files/0001-Fix-Makefile-quoting-bug.patch
@@ -0,0 +1,174 @@
+From b520d20b8122a783f99f088758b78d928f70ee34 Mon Sep 17 00:00:00 2001
+From: Paul Eggert <eggert@cs.ucla.edu>
+Date: Mon, 23 Oct 2017 11:42:45 -0700
+Subject: [PATCH] Fix Makefile quoting bug
+
+Problem with INSTALLARGS reported by Zefram in:
+https://mm.icann.org/pipermail/tz/2017-October/025360.html
+Fix similar problems too.
+* Makefile (ZIC_INSTALL, VALIDATE_ENV, CC, install)
+(INSTALL, version, INSTALLARGS, right_posix, posix_right)
+(check_public): Use apostrophes to prevent undesirable
+interpretation of names by the shell.  We still do not support
+directory names containing apostrophes or newlines, but this is
+good enough.
+
+Upstream-Status: Backport
+Signed-off-by: Armin Kuster <akuster@mvista.com>
+
+* NEWS: Mention this.
+---
+ Makefile | 64 ++++++++++++++++++++++++++++++++--------------------------------
+ NEWS     |  8 ++++++++
+ 2 files changed, 40 insertions(+), 32 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index c92edc0..97649ca 100644
+--- a/Makefile
++++ b/Makefile
+@@ -313,7 +313,7 @@ ZFLAGS=
+ 
+ # How to use zic to install tz binary files.
+ 
+-ZIC_INSTALL=	$(ZIC) -d $(DESTDIR)$(TZDIR) $(LEAPSECONDS)
++ZIC_INSTALL=	$(ZIC) -d '$(DESTDIR)$(TZDIR)' $(LEAPSECONDS)
+ 
+ # The name of a Posix-compliant 'awk' on your system.
+ AWK=		awk
+@@ -341,8 +341,8 @@ SGML_CATALOG_FILES= \
+ VALIDATE = nsgmls
+ VALIDATE_FLAGS = -s -B -wall -wno-unused-param
+ VALIDATE_ENV = \
+-  SGML_CATALOG_FILES=$(SGML_CATALOG_FILES) \
+-  SGML_SEARCH_PATH=$(SGML_SEARCH_PATH) \
++  SGML_CATALOG_FILES='$(SGML_CATALOG_FILES)' \
++  SGML_SEARCH_PATH='$(SGML_SEARCH_PATH)' \
+   SP_CHARSET_FIXED=YES \
+   SP_ENCODING=UTF-8
+ 
+@@ -396,7 +396,7 @@ GZIPFLAGS=	-9n
+ #MAKE=		make
+ 
+ cc=		cc
+-CC=		$(cc) -DTZDIR=\"$(TZDIR)\"
++CC=		$(cc) -DTZDIR='"$(TZDIR)"'
+ 
+ AR=		ar
+ 
+@@ -473,29 +473,29 @@ all:		tzselect yearistype zic zdump libtz.a $(TABDATA)
+ ALL:		all date $(ENCHILADA)
+ 
+ install:	all $(DATA) $(REDO) $(MANS)
+-		mkdir -p $(DESTDIR)$(ETCDIR) $(DESTDIR)$(TZDIR) \
+-			$(DESTDIR)$(LIBDIR) \
+-			$(DESTDIR)$(MANDIR)/man3 $(DESTDIR)$(MANDIR)/man5 \
+-			$(DESTDIR)$(MANDIR)/man8
++		mkdir -p '$(DESTDIR)$(ETCDIR)' '$(DESTDIR)$(TZDIR)' \
++			'$(DESTDIR)$(LIBDIR)' \
++			'$(DESTDIR)$(MANDIR)/man3' '$(DESTDIR)$(MANDIR)/man5' \
++			'$(DESTDIR)$(MANDIR)/man8'
+ 		$(ZIC_INSTALL) -l $(LOCALTIME) -p $(POSIXRULES)
+-		cp -f $(TABDATA) $(DESTDIR)$(TZDIR)/.
+-		cp tzselect zic zdump $(DESTDIR)$(ETCDIR)/.
+-		cp libtz.a $(DESTDIR)$(LIBDIR)/.
+-		$(RANLIB) $(DESTDIR)$(LIBDIR)/libtz.a
+-		cp -f newctime.3 newtzset.3 $(DESTDIR)$(MANDIR)/man3/.
+-		cp -f tzfile.5 $(DESTDIR)$(MANDIR)/man5/.
+-		cp -f tzselect.8 zdump.8 zic.8 $(DESTDIR)$(MANDIR)/man8/.
++		cp -f $(TABDATA) '$(DESTDIR)$(TZDIR)/.'
++		cp tzselect zic zdump '$(DESTDIR)$(ETCDIR)/.'
++		cp libtz.a '$(DESTDIR)$(LIBDIR)/.'
++		$(RANLIB) '$(DESTDIR)$(LIBDIR)/libtz.a'
++		cp -f newctime.3 newtzset.3 '$(DESTDIR)$(MANDIR)/man3/.'
++		cp -f tzfile.5 '$(DESTDIR)$(MANDIR)/man5/.'
++		cp -f tzselect.8 zdump.8 zic.8 '$(DESTDIR)$(MANDIR)/man8/.'
+ 
+ INSTALL:	ALL install date.1
+-		mkdir -p $(DESTDIR)$(BINDIR) $(DESTDIR)$(MANDIR)/man1
+-		cp date $(DESTDIR)$(BINDIR)/.
+-		cp -f date.1 $(DESTDIR)$(MANDIR)/man1/.
++		mkdir -p '$(DESTDIR)$(BINDIR)' '$(DESTDIR)$(MANDIR)/man1'
++		cp date '$(DESTDIR)$(BINDIR)/.'
++		cp -f date.1 '$(DESTDIR)$(MANDIR)/man1/.'
+ 
+ version:	$(VERSION_DEPS)
+ 		{ (type git) >/dev/null 2>&1 && \
+ 		  V=`git describe --match '[0-9][0-9][0-9][0-9][a-z]*' \
+ 				--abbrev=7 --dirty` || \
+-		  V=$(VERSION); } && \
++		  V='$(VERSION)'; } && \
+ 		printf '%s\n' "$$V" >$@.out
+ 		mv $@.out $@
+ 
+@@ -529,12 +529,12 @@ leapseconds:	$(LEAP_DEPS)
+ # Arguments to pass to submakes of install_data.
+ # They can be overridden by later submake arguments.
+ INSTALLARGS = \
+- BACKWARD=$(BACKWARD) \
+- DESTDIR=$(DESTDIR) \
++ BACKWARD='$(BACKWARD)' \
++ DESTDIR='$(DESTDIR)' \
+  LEAPSECONDS='$(LEAPSECONDS)' \
+  PACKRATDATA='$(PACKRATDATA)' \
+- TZDIR=$(TZDIR) \
+- YEARISTYPE=$(YEARISTYPE) \
++ TZDIR='$(TZDIR)' \
++ YEARISTYPE='$(YEARISTYPE)' \
+  ZIC='$(ZIC)'
+ 
+ # 'make install_data' installs one set of tz binary files.
+@@ -558,16 +558,16 @@ right_only:
+ # You must replace all of $(TZDIR) to switch from not using leap seconds
+ # to using them, or vice versa.
+ right_posix:	right_only
+-		rm -fr $(DESTDIR)$(TZDIR)-leaps
+-		ln -s $(TZDIR_BASENAME) $(DESTDIR)$(TZDIR)-leaps || \
+-		  $(MAKE) $(INSTALLARGS) TZDIR=$(TZDIR)-leaps right_only
+-		$(MAKE) $(INSTALLARGS) TZDIR=$(TZDIR)-posix posix_only
++		rm -fr '$(DESTDIR)$(TZDIR)-leaps'
++		ln -s '$(TZDIR_BASENAME)' '$(DESTDIR)$(TZDIR)-leaps' || \
++		  $(MAKE) $(INSTALLARGS) TZDIR='$(TZDIR)-leaps' right_only
++		$(MAKE) $(INSTALLARGS) TZDIR='$(TZDIR)-posix' posix_only
+ 
+ posix_right:	posix_only
+-		rm -fr $(DESTDIR)$(TZDIR)-posix
+-		ln -s $(TZDIR_BASENAME) $(DESTDIR)$(TZDIR)-posix || \
+-		  $(MAKE) $(INSTALLARGS) TZDIR=$(TZDIR)-posix posix_only
+-		$(MAKE) $(INSTALLARGS) TZDIR=$(TZDIR)-leaps right_only
++		rm -fr '$(DESTDIR)$(TZDIR)-posix'
++		ln -s '$(TZDIR_BASENAME)' '$(DESTDIR)$(TZDIR)-posix' || \
++		  $(MAKE) $(INSTALLARGS) TZDIR='$(TZDIR)-posix' posix_only
++		$(MAKE) $(INSTALLARGS) TZDIR='$(TZDIR)-leaps' right_only
+ 
+ # This obsolescent rule is present for backwards compatibility with
+ # tz releases 2014g through 2015g.  It should go away eventually.
+@@ -764,7 +764,7 @@ set-timestamps.out: $(ENCHILADA)
+ 
+ check_public:
+ 		$(MAKE) maintainer-clean
+-		$(MAKE) "CFLAGS=$(GCC_DEBUG_FLAGS)" ALL
++		$(MAKE) CFLAGS='$(GCC_DEBUG_FLAGS)' ALL
+ 		mkdir -p public.dir
+ 		for i in $(TDATA) tzdata.zi; do \
+ 		  $(zic) -v -d public.dir $$i 2>&1 || exit; \
+diff --git a/NEWS b/NEWS
+index bd2bec2..75ab095 100644
+--- a/NEWS
++++ b/NEWS
+@@ -1,5 +1,13 @@
+ News for the tz database
+ 
++Unreleased, experimental changes
++
++  Changes to build procedure
++
++    The Makefile now quotes values like BACKWARD more carefully when
++    passing them to the shell.  (Problem reported by Zefram.)
++
++
+ Release 2017c - 2017-10-20 14:49:34 -0700
+ 
+   Briefly:
+-- 
+2.7.4
+
diff --git a/import-layers/yocto-poky/meta/recipes-extended/tzcode/files/0002-Port-zdump-to-C90-snprintf.patch b/import-layers/yocto-poky/meta/recipes-extended/tzcode/files/0002-Port-zdump-to-C90-snprintf.patch
new file mode 100644
index 0000000..87afe47
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-extended/tzcode/files/0002-Port-zdump-to-C90-snprintf.patch
@@ -0,0 +1,115 @@
+From e231da4fb2beb17c60b4b1a5c276366d6a6e433f Mon Sep 17 00:00:00 2001
+From: Paul Eggert <eggert@cs.ucla.edu>
+Date: Mon, 23 Oct 2017 17:58:36 -0700
+Subject: [PATCH] Port zdump to C90 + snprintf
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Problem reported by Jon Skeet in:
+https://mm.icann.org/pipermail/tz/2017-October/025362.html
+* NEWS: Mention this.
+* zdump.c (my_snprintf): New macro or function.  If a macro, it is
+just snprintf.  If a function, it is the same as the old snprintf
+static function, with an ATTRIBUTE_FORMAT to pacify modern GCC.
+All uses of snprintf changed to use my_snprintf.  This way,
+installers don’t need to specify -DHAVE_SNPRINTF if they are using
+a pre-C99 compiler with a library that has snprintf.
+
+Upstream-Status: Backport
+Signed-off-by: Armin Kuster <akuster@mvista.com>
+
+---
+ NEWS    |  4 ++++
+ zdump.c | 29 ++++++++++++++++-------------
+ 2 files changed, 20 insertions(+), 13 deletions(-)
+
+diff --git a/NEWS b/NEWS
+index 75ab095..dea08b8 100644
+--- a/NEWS
++++ b/NEWS
+@@ -7,6 +7,10 @@ Unreleased, experimental changes
+     The Makefile now quotes values like BACKWARD more carefully when
+     passing them to the shell.  (Problem reported by Zefram.)
+ 
++    Builders no longer need to specify -DHAVE_SNPRINTF on platforms
++    that have snprintf and use pre-C99 compilers.  (Problem reported
++    by Jon Skeet.)
++
+ 
+ Release 2017c - 2017-10-20 14:49:34 -0700
+ 
+diff --git a/zdump.c b/zdump.c
+index 8e3bf3e..d4e6084 100644
+--- a/zdump.c
++++ b/zdump.c
+@@ -795,12 +795,14 @@ show(timezone_t tz, char *zone, time_t t, bool v)
+ 		abbrok(abbr(tmp), zone);
+ }
+ 
+-#if !HAVE_SNPRINTF
++#if HAVE_SNPRINTF
++# define my_snprintf snprintf
++#else
+ # include <stdarg.h>
+ 
+ /* A substitute for snprintf that is good enough for zdump.  */
+-static int
+-snprintf(char *s, size_t size, char const *format, ...)
++static int ATTRIBUTE_FORMAT((printf, 3, 4))
++my_snprintf(char *s, size_t size, char const *format, ...)
+ {
+   int n;
+   va_list args;
+@@ -839,10 +841,10 @@ format_local_time(char *buf, size_t size, struct tm const *tm)
+ {
+   int ss = tm->tm_sec, mm = tm->tm_min, hh = tm->tm_hour;
+   return (ss
+-	  ? snprintf(buf, size, "%02d:%02d:%02d", hh, mm, ss)
++	  ? my_snprintf(buf, size, "%02d:%02d:%02d", hh, mm, ss)
+ 	  : mm
+-	  ? snprintf(buf, size, "%02d:%02d", hh, mm)
+-	  : snprintf(buf, size, "%02d", hh));
++	  ? my_snprintf(buf, size, "%02d:%02d", hh, mm)
++	  : my_snprintf(buf, size, "%02d", hh));
+ }
+ 
+ /* Store into BUF, of size SIZE, a formatted UTC offset for the
+@@ -877,10 +879,10 @@ format_utc_offset(char *buf, size_t size, struct tm const *tm, time_t t)
+   mm = off / 60 % 60;
+   hh = off / 60 / 60;
+   return (ss || 100 <= hh
+-	  ? snprintf(buf, size, "%c%02ld%02d%02d", sign, hh, mm, ss)
++	  ? my_snprintf(buf, size, "%c%02ld%02d%02d", sign, hh, mm, ss)
+ 	  : mm
+-	  ? snprintf(buf, size, "%c%02ld%02d", sign, hh, mm)
+-	  : snprintf(buf, size, "%c%02ld", sign, hh));
++	  ? my_snprintf(buf, size, "%c%02ld%02d", sign, hh, mm)
++	  : my_snprintf(buf, size, "%c%02ld", sign, hh));
+ }
+ 
+ /* Store into BUF (of size SIZE) a quoted string representation of P.
+@@ -983,15 +985,16 @@ istrftime(char *buf, size_t size, char const *time_fmt,
+ 	    for (abp = ab; is_alpha(*abp); abp++)
+ 	      continue;
+ 	    len = (!*abp && *ab
+-		   ? snprintf(b, s, "%s", ab)
++		   ? my_snprintf(b, s, "%s", ab)
+ 		   : format_quoted_string(b, s, ab));
+ 	    if (s <= len)
+ 	      return false;
+ 	    b += len, s -= len;
+ 	  }
+-	  formatted_len = (tm->tm_isdst
+-			   ? snprintf(b, s, &"\t\t%d"[show_abbr], tm->tm_isdst)
+-			   : 0);
++	  formatted_len
++	    = (tm->tm_isdst
++	       ? my_snprintf(b, s, &"\t\t%d"[show_abbr], tm->tm_isdst)
++	       : 0);
+ 	}
+ 	break;
+       }
+-- 
+2.7.4
+
diff --git a/import-layers/yocto-poky/meta/recipes-extended/tzcode/tzcode-native_2017b.bb b/import-layers/yocto-poky/meta/recipes-extended/tzcode/tzcode-native_2017b.bb
deleted file mode 100644
index 165d2c6..0000000
--- a/import-layers/yocto-poky/meta/recipes-extended/tzcode/tzcode-native_2017b.bb
+++ /dev/null
@@ -1,28 +0,0 @@
-# note that we allow for us to use data later than our code version
-#
-SUMMARY = "tzcode, timezone zoneinfo utils -- zic, zdump, tzselect"
-LICENSE = "PD & BSD & BSD-3-Clause"
-
-LIC_FILES_CHKSUM = "file://LICENSE;md5=ef1a352b901ee7b75a75df8171d6aca7"
-
-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"
-UPSTREAM_CHECK_URI = "http://www.iana.org/time-zones"
-
-SRC_URI[tzcode.md5sum] = "afaf15deb13759e8b543d86350385b16"
-SRC_URI[tzcode.sha256sum] = "4d1735bb54e22b8d7443d4d1f1a13d007ae11be79a35e51f8e8322fb8e292d40"
-SRC_URI[tzdata.md5sum] = "50dc0dc50c68644c1f70804f2e7a1625"
-SRC_URI[tzdata.sha256sum] = "f8242a522ea3496b0ce4ff4f2e75a049178da21001a08b8e666d8cbe07d18086"
-
-S = "${WORKDIR}"
-
-inherit native
-
-EXTRA_OEMAKE += "cc='${CC}'"
-
-do_install () {
-        install -d ${D}${bindir}/
-        install -m 755 zic ${D}${bindir}/
-        install -m 755 zdump ${D}${bindir}/
-        install -m 755 tzselect ${D}${bindir}/
-}
diff --git a/import-layers/yocto-poky/meta/recipes-extended/tzcode/tzcode-native_2018c.bb b/import-layers/yocto-poky/meta/recipes-extended/tzcode/tzcode-native_2018c.bb
new file mode 100644
index 0000000..85e9b70
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-extended/tzcode/tzcode-native_2018c.bb
@@ -0,0 +1,30 @@
+# note that we allow for us to use data later than our code version
+#
+SUMMARY = "tzcode, timezone zoneinfo utils -- zic, zdump, tzselect"
+LICENSE = "PD & BSD & BSD-3-Clause"
+
+LIC_FILES_CHKSUM = "file://LICENSE;md5=c679c9d6b02bc2757b3eaf8f53c43fba"
+
+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 \
+           "
+
+UPSTREAM_CHECK_URI = "http://www.iana.org/time-zones"
+
+SRC_URI[tzcode.md5sum] = "e6e0d4b2ce3fa6906f303157bed2612e"
+SRC_URI[tzcode.sha256sum] = "31fa7fc0f94a6ff2d6bc878c0a35e8ab8b5aa0e8b01445a1d4a8f14777d0e665"
+SRC_URI[tzdata.md5sum] = "c412b1531adef1be7a645ab734f86acc"
+SRC_URI[tzdata.sha256sum] = "2825c3e4b7ef520f24d393bcc02942f9762ffd3e7fc9b23850789ed8f22933f6"
+
+S = "${WORKDIR}"
+
+inherit native
+
+EXTRA_OEMAKE += "cc='${CC}'"
+
+do_install () {
+        install -d ${D}${bindir}/
+        install -m 755 zic ${D}${bindir}/
+        install -m 755 zdump ${D}${bindir}/
+        install -m 755 tzselect ${D}${bindir}/
+}
diff --git a/import-layers/yocto-poky/meta/recipes-extended/tzdata/tzdata_2017b.bb b/import-layers/yocto-poky/meta/recipes-extended/tzdata/tzdata_2018c.bb
similarity index 97%
rename from import-layers/yocto-poky/meta/recipes-extended/tzdata/tzdata_2017b.bb
rename to import-layers/yocto-poky/meta/recipes-extended/tzdata/tzdata_2018c.bb
index 55e8976..ff5ec1c 100644
--- a/import-layers/yocto-poky/meta/recipes-extended/tzdata/tzdata_2017b.bb
+++ b/import-layers/yocto-poky/meta/recipes-extended/tzdata/tzdata_2018c.bb
@@ -2,15 +2,15 @@
 HOMEPAGE = "http://www.iana.org/time-zones"
 SECTION = "base"
 LICENSE = "PD & BSD & BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=ef1a352b901ee7b75a75df8171d6aca7"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=c679c9d6b02bc2757b3eaf8f53c43fba"
 
 DEPENDS = "tzcode-native"
 
 SRC_URI = "http://www.iana.org/time-zones/repository/releases/tzdata${PV}.tar.gz;name=tzdata"
 UPSTREAM_CHECK_URI = "http://www.iana.org/time-zones"
 
-SRC_URI[tzdata.md5sum] = "50dc0dc50c68644c1f70804f2e7a1625"
-SRC_URI[tzdata.sha256sum] = "f8242a522ea3496b0ce4ff4f2e75a049178da21001a08b8e666d8cbe07d18086"
+SRC_URI[tzdata.md5sum] = "c412b1531adef1be7a645ab734f86acc"
+SRC_URI[tzdata.sha256sum] = "2825c3e4b7ef520f24d393bcc02942f9762ffd3e7fc9b23850789ed8f22933f6"
 
 inherit allarch
 
diff --git a/import-layers/yocto-poky/meta/recipes-extended/unzip/unzip_6.0.bb b/import-layers/yocto-poky/meta/recipes-extended/unzip/unzip_6.0.bb
index d4ee487..105d048 100644
--- a/import-layers/yocto-poky/meta/recipes-extended/unzip/unzip_6.0.bb
+++ b/import-layers/yocto-poky/meta/recipes-extended/unzip/unzip_6.0.bb
@@ -20,6 +20,7 @@
 	file://18-cve-2014-9913-unzip-buffer-overflow.patch \
 	file://19-cve-2016-9844-zipinfo-buffer-overflow.patch \
 "
+UPSTREAM_VERSION_UNKNOWN = "1"
 
 SRC_URI[md5sum] = "62b490407489521db863b523a7f86375"
 SRC_URI[sha256sum] = "036d96991646d0449ed0aa952e4fbe21b476ce994abc276e49d30e686708bd37"
diff --git a/import-layers/yocto-poky/meta/recipes-extended/watchdog/watchdog_5.15.bb b/import-layers/yocto-poky/meta/recipes-extended/watchdog/watchdog_5.15.bb
index 9659f27..3d0b72e 100644
--- a/import-layers/yocto-poky/meta/recipes-extended/watchdog/watchdog_5.15.bb
+++ b/import-layers/yocto-poky/meta/recipes-extended/watchdog/watchdog_5.15.bb
@@ -21,8 +21,7 @@
 UPSTREAM_CHECK_URI = "http://sourceforge.net/projects/watchdog/files/watchdog/"
 UPSTREAM_CHECK_REGEX = "/watchdog/(?P<pver>(\d+[\.\-_]*)+)/"
 
-inherit autotools
-inherit update-rc.d
+inherit autotools update-rc.d systemd
 
 DEPENDS_append_libc-musl = " libtirpc "
 CFLAGS_append_libc-musl = " -I${STAGING_INCDIR}/tirpc "
@@ -37,12 +36,18 @@
 INITSCRIPT_NAME_${PN}-keepalive = "wd_keepalive"
 INITSCRIPT_PARAMS_${PN}-keepalive = "start 15 1 2 3 4 5 . stop 85 0 6 ."
 
-do_install_append() {
-	install -D ${S}/redhat/watchdog.init ${D}/${sysconfdir}/init.d/watchdog.sh
-    install -Dm 0755 ${WORKDIR}/wd_keepalive.init ${D}${sysconfdir}/init.d/wd_keepalive
+SYSTEMD_SERVICE_${PN} = "watchdog.service wd_keepalive.service"
 
-    # watchdog.conf is provided by the watchdog-config recipe
-    rm ${D}${sysconfdir}/watchdog.conf
+do_install_append() {
+	install -d ${D}${systemd_system_unitdir}
+	install -m 0644 ${S}/debian/watchdog.service ${D}${systemd_system_unitdir}
+	install -m 0644 ${S}/debian/wd_keepalive.service ${D}${systemd_system_unitdir}
+
+	install -D ${S}/redhat/watchdog.init ${D}/${sysconfdir}/init.d/watchdog.sh
+	install -Dm 0755 ${WORKDIR}/wd_keepalive.init ${D}${sysconfdir}/init.d/wd_keepalive
+
+	# watchdog.conf is provided by the watchdog-config recipe
+	rm ${D}${sysconfdir}/watchdog.conf
 }
 
 PACKAGES =+ "${PN}-keepalive"
diff --git a/import-layers/yocto-poky/meta/recipes-extended/xdg-utils/xdg-utils_1.1.1.bb b/import-layers/yocto-poky/meta/recipes-extended/xdg-utils/xdg-utils_1.1.1.bb
index 5007498..34f8d10 100644
--- a/import-layers/yocto-poky/meta/recipes-extended/xdg-utils/xdg-utils_1.1.1.bb
+++ b/import-layers/yocto-poky/meta/recipes-extended/xdg-utils/xdg-utils_1.1.1.bb
@@ -1,5 +1,5 @@
 SUMMARY = "Basic desktop integration functions"
-
+HOMEPAGE = "https://www.freedesktop.org/wiki/Software/xdg-utils/"
 DESCRIPTION = "The xdg-utils package is a set of simple scripts that provide basic \
 desktop integration functions for any Free Desktop, such as Linux. \
 They are intended to provide a set of defacto standards. \
diff --git a/import-layers/yocto-poky/meta/recipes-extended/xinetd/xinetd/xinetd-CVE-2013-4342.patch b/import-layers/yocto-poky/meta/recipes-extended/xinetd/xinetd/xinetd-CVE-2013-4342.patch
index c44c5a1..852a43f 100644
--- a/import-layers/yocto-poky/meta/recipes-extended/xinetd/xinetd/xinetd-CVE-2013-4342.patch
+++ b/import-layers/yocto-poky/meta/recipes-extended/xinetd/xinetd/xinetd-CVE-2013-4342.patch
@@ -11,6 +11,7 @@
 
 CVE: CVE-2013-4342
 Signed-off-by: Li Wang <li.wang@windriver.com>
+Upstream-Status: Backport
 ---
  xinetd/builtins.c |    2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/import-layers/yocto-poky/meta/recipes-extended/xinetd/xinetd_2.3.15.bb b/import-layers/yocto-poky/meta/recipes-extended/xinetd/xinetd_2.3.15.bb
index 6bfaabe..1beb545 100644
--- a/import-layers/yocto-poky/meta/recipes-extended/xinetd/xinetd_2.3.15.bb
+++ b/import-layers/yocto-poky/meta/recipes-extended/xinetd/xinetd_2.3.15.bb
@@ -24,6 +24,7 @@
       file://0001-configure-Use-HAVE_SYS_RESOURCE_H-to-guard-sys-resou.patch \
       file://xinetd.service \
       "
+UPSTREAM_VERSION_UNKNOWN = "1"
 
 SRCREV = "68bb9ab9e9f214ad8a2322f28ac1d6733e70bc24"
 
diff --git a/import-layers/yocto-poky/meta/recipes-extended/zip/zip_3.0.bb b/import-layers/yocto-poky/meta/recipes-extended/zip/zip_3.0.bb
index 087423a..de779e9 100644
--- a/import-layers/yocto-poky/meta/recipes-extended/zip/zip_3.0.bb
+++ b/import-layers/yocto-poky/meta/recipes-extended/zip/zip_3.0.bb
@@ -11,6 +11,7 @@
 
 SRC_URI = "${SOURCEFORGE_MIRROR}/infozip/Zip%203.x%20%28latest%29/3.0/zip30.tar.gz \
            file://fix-security-format.patch"
+UPSTREAM_VERSION_UNKNOWN = "1"
 
 SRC_URI[md5sum] = "7b74551e63f8ee6aab6fbc86676c0d37"
 SRC_URI[sha256sum] = "f0e8bb1f9b7eb0b01285495a2699df3a4b766784c1765a8f1aeedf63c0806369"