All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 01/30] rpm: upgrade to 4.15.1
@ 2019-12-12 18:14 Alexander Kanavin
  2019-12-12 18:14 ` [PATCH 02/30] gettext-minimal-native: update to 0.20.1 Alexander Kanavin
                   ` (29 more replies)
  0 siblings, 30 replies; 62+ messages in thread
From: Alexander Kanavin @ 2019-12-12 18:14 UTC (permalink / raw)
  To: openembedded-core

Drop patches that were merged upstream.

0001-mono-find-provides-requires-do-not-use-monodis-from-.patch
modifies a file that was removed upstream.

Add a 0001-rpmfc.c-do-not-run-file-classification-in-parallel.patch
as unfortunately the new parallel file classification feature from
upstream trips over somewhere in libmagic when inspected files are
compressed:
https://github.com/rpm-software-management/rpm/issues/756

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
 ...satisfiable-dependency-when-building.patch |  28 +-
 ...lib-rpm-as-the-installation-path-for.patch |  14 +-
 ...kage-building-into-a-separate-functi.patch |  84 -----
 ...es-requires-do-not-use-monodis-from-.patch |  58 ---
 ...-run-file-classification-in-parallel.patch |  65 ++++
 ...ry-package-creation-via-thread-pools.patch | 127 -------
 ...e-operations-over-string-pools-threa.patch | 207 -----------
 ...ove-static-local-variables-from-buil.patch | 336 ------------------
 .../rpm/{rpm_4.14.2.1.bb => rpm_4.15.1.bb}    |  15 +-
 9 files changed, 90 insertions(+), 844 deletions(-)
 delete mode 100644 meta/recipes-devtools/rpm/files/0001-Split-binary-package-building-into-a-separate-functi.patch
 delete mode 100644 meta/recipes-devtools/rpm/files/0001-mono-find-provides-requires-do-not-use-monodis-from-.patch
 create mode 100644 meta/recipes-devtools/rpm/files/0001-rpmfc.c-do-not-run-file-classification-in-parallel.patch
 delete mode 100644 meta/recipes-devtools/rpm/files/0002-Run-binary-package-creation-via-thread-pools.patch
 delete mode 100644 meta/recipes-devtools/rpm/files/0003-rpmstrpool.c-make-operations-over-string-pools-threa.patch
 delete mode 100644 meta/recipes-devtools/rpm/files/0004-build-pack.c-remove-static-local-variables-from-buil.patch
 rename meta/recipes-devtools/rpm/{rpm_4.14.2.1.bb => rpm_4.15.1.bb} (90%)

diff --git a/meta/recipes-devtools/rpm/files/0001-Do-not-add-an-unsatisfiable-dependency-when-building.patch b/meta/recipes-devtools/rpm/files/0001-Do-not-add-an-unsatisfiable-dependency-when-building.patch
index 80e2f0fad70..4029233fb70 100644
--- a/meta/recipes-devtools/rpm/files/0001-Do-not-add-an-unsatisfiable-dependency-when-building.patch
+++ b/meta/recipes-devtools/rpm/files/0001-Do-not-add-an-unsatisfiable-dependency-when-building.patch
@@ -1,4 +1,4 @@
-From 87cfc0db1ed6fe381a5ed5f0016d8c3344a31a11 Mon Sep 17 00:00:00 2001
+From f39c28eb52f12ae6e82db360ffd5a903ac8faca5 Mon Sep 17 00:00:00 2001
 From: Alexander Kanavin <alex.kanavin@gmail.com>
 Date: Mon, 9 Jan 2017 18:52:11 +0200
 Subject: [PATCH] Do not add an unsatisfiable dependency when building rpms in
@@ -9,25 +9,23 @@ hand produces rpms that way by design.
 
 Upstream-Status: Inappropriate [oe-core specific]
 Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+
 ---
  build/pack.c | 4 ----
  1 file changed, 4 deletions(-)
 
 diff --git a/build/pack.c b/build/pack.c
-index 1261cdbba..bb2d6f4f6 100644
+index e6cec1816..810cd7351 100644
 --- a/build/pack.c
 +++ b/build/pack.c
-@@ -595,10 +595,6 @@ rpmRC packageBinaries(rpmSpec spec, const char *cookie, int cheating)
- 	    headerPutBin(pkg->header, RPMTAG_SOURCEPKGID, spec->sourcePkgId,16);
- 	}
+@@ -724,10 +724,6 @@ static rpmRC packageBinary(rpmSpec spec, Package pkg, const char *cookie, int ch
+ 	headerPutBin(pkg->header, RPMTAG_SOURCEPKGID, spec->sourcePkgId,16);
+     }
+ 
+-    if (cheating) {
+-	(void) rpmlibNeedsFeature(pkg, "ShortCircuited", "4.9.0-1");
+-    }
+-
+     if ((rc = getPkgFilename(pkg->header, filename)))
+ 	return rc;
  
--	if (cheating) {
--	    (void) rpmlibNeedsFeature(pkg, "ShortCircuited", "4.9.0-1");
--	}
--	
- 	{   char *binFormat = rpmGetPath("%{_rpmfilename}", NULL);
- 	    char *binRpm, *binDir;
- 	    binRpm = headerFormat(pkg->header, binFormat, &errorString);
--- 
-2.11.0
-
diff --git a/meta/recipes-devtools/rpm/files/0001-Do-not-hardcode-lib-rpm-as-the-installation-path-for.patch b/meta/recipes-devtools/rpm/files/0001-Do-not-hardcode-lib-rpm-as-the-installation-path-for.patch
index 82e7328757f..52440d68180 100644
--- a/meta/recipes-devtools/rpm/files/0001-Do-not-hardcode-lib-rpm-as-the-installation-path-for.patch
+++ b/meta/recipes-devtools/rpm/files/0001-Do-not-hardcode-lib-rpm-as-the-installation-path-for.patch
@@ -1,4 +1,4 @@
-From bd08eb0ae1312f347f49949481daa7c923752df2 Mon Sep 17 00:00:00 2001
+From 2f3d1619b6510bc131c4375827caf912559f0fa2 Mon Sep 17 00:00:00 2001
 From: Alexander Kanavin <alex.kanavin@gmail.com>
 Date: Mon, 27 Feb 2017 09:43:30 +0200
 Subject: [PATCH] Do not hardcode "lib/rpm" as the installation path for
@@ -14,10 +14,10 @@ Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
  3 files changed, 4 insertions(+), 4 deletions(-)
 
 diff --git a/configure.ac b/configure.ac
-index 09af7c4..9bd6903 100644
+index d3aeab86e..1a1f3f91f 100644
 --- a/configure.ac
 +++ b/configure.ac
-@@ -1055,7 +1055,7 @@ else
+@@ -1086,7 +1086,7 @@ else
      usrprefix=$prefix
  fi
  
@@ -27,10 +27,10 @@ index 09af7c4..9bd6903 100644
  
  AC_SUBST(OBJDUMP)
 diff --git a/macros.in b/macros.in
-index a3aa7a9..62cee5c 100644
+index fe9803aad..d128675bf 100644
 --- a/macros.in
 +++ b/macros.in
-@@ -970,7 +970,7 @@ package or when debugging this package.\
+@@ -985,7 +985,7 @@ package or when debugging this package.\
  %_sharedstatedir	%{_prefix}/com
  %_localstatedir		%{_prefix}/var
  %_lib			lib
@@ -40,7 +40,7 @@ index a3aa7a9..62cee5c 100644
  %_infodir		%{_datadir}/info
  %_mandir		%{_datadir}/man
 diff --git a/rpm.am b/rpm.am
-index 82c2d7c..6341b51 100644
+index 40b4ec55f..3139ce8f6 100644
 --- a/rpm.am
 +++ b/rpm.am
 @@ -1,10 +1,10 @@
@@ -55,4 +55,4 @@ index 82c2d7c..6341b51 100644
 +rpmconfigdir = $(libdir)/rpm
  
  # Libtool version (current-revision-age) for all our libraries
- rpm_version_info = 9:0:1
+ rpm_version_info = 9:1:0
diff --git a/meta/recipes-devtools/rpm/files/0001-Split-binary-package-building-into-a-separate-functi.patch b/meta/recipes-devtools/rpm/files/0001-Split-binary-package-building-into-a-separate-functi.patch
deleted file mode 100644
index 6e44f0b7fc9..00000000000
--- a/meta/recipes-devtools/rpm/files/0001-Split-binary-package-building-into-a-separate-functi.patch
+++ /dev/null
@@ -1,84 +0,0 @@
-From 721a660a507d6d062e7aecafad886c643970a5d5 Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Thu, 25 May 2017 18:15:27 +0300
-Subject: [PATCH 1/4] Split binary package building into a separate function
-
-So that it can be run as a thread pool task.
-
-Upstream-Status: Submitted [https://github.com/rpm-software-management/rpm/pull/226]
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
-
----
- build/pack.c | 33 +++++++++++++++++++++------------
- 1 file changed, 21 insertions(+), 12 deletions(-)
-
-diff --git a/build/pack.c b/build/pack.c
-index 518f4e92a..ccfd614cc 100644
---- a/build/pack.c
-+++ b/build/pack.c
-@@ -546,18 +546,13 @@ static rpmRC checkPackages(char *pkgcheck)
-     return RPMRC_OK;
- }
- 
--rpmRC packageBinaries(rpmSpec spec, const char *cookie, int cheating)
-+static rpmRC packageBinary(rpmSpec spec, Package pkg, const char *cookie, int cheating, char** filename)
- {
--    rpmRC rc;
--    const char *errorString;
--    Package pkg;
--    char *pkglist = NULL;
--
--    for (pkg = spec->packages; pkg != NULL; pkg = pkg->next) {
--	char *fn;
-+	const char *errorString;
-+	rpmRC rc = RPMRC_OK;
- 
- 	if (pkg->fileList == NULL)
--	    continue;
-+	    return rc;
- 
- 	if ((rc = processScriptFiles(spec, pkg)))
- 	    return rc;
-@@ -587,7 +582,7 @@ rpmRC packageBinaries(rpmSpec spec, const char *cookie, int cheating)
- 		     headerGetString(pkg->header, RPMTAG_NAME), errorString);
- 		return RPMRC_FAIL;
- 	    }
--	    fn = rpmGetPath("%{_rpmdir}/", binRpm, NULL);
-+	    *filename = rpmGetPath("%{_rpmdir}/", binRpm, NULL);
- 	    if ((binDir = strchr(binRpm, '/')) != NULL) {
- 		struct stat st;
- 		char *dn;
-@@ -609,14 +604,28 @@ rpmRC packageBinaries(rpmSpec spec, const char *cookie, int cheating)
- 	    free(binRpm);
- 	}
- 
--	rc = writeRPM(pkg, NULL, fn, NULL);
-+	rc = writeRPM(pkg, NULL, *filename, NULL);
- 	if (rc == RPMRC_OK) {
- 	    /* Do check each written package if enabled */
--	    char *pkgcheck = rpmExpand("%{?_build_pkgcheck} ", fn, NULL);
-+	    char *pkgcheck = rpmExpand("%{?_build_pkgcheck} ", *filename, NULL);
- 	    if (pkgcheck[0] != ' ') {
- 		rc = checkPackages(pkgcheck);
- 	    }
- 	    free(pkgcheck);
-+	}
-+	return rc;
-+}
-+
-+rpmRC packageBinaries(rpmSpec spec, const char *cookie, int cheating)
-+{
-+    rpmRC rc;
-+    Package pkg;
-+    char *pkglist = NULL;
-+
-+    for (pkg = spec->packages; pkg != NULL; pkg = pkg->next) {
-+	char *fn = NULL;
-+	rc = packageBinary(spec, pkg, cookie, cheating, &fn);
-+	if (rc == RPMRC_OK) {
- 	    rstrcat(&pkglist, fn);
- 	    rstrcat(&pkglist, " ");
- 	}
--- 
-2.11.0
-
diff --git a/meta/recipes-devtools/rpm/files/0001-mono-find-provides-requires-do-not-use-monodis-from-.patch b/meta/recipes-devtools/rpm/files/0001-mono-find-provides-requires-do-not-use-monodis-from-.patch
deleted file mode 100644
index 24aa4c7ffff..00000000000
--- a/meta/recipes-devtools/rpm/files/0001-mono-find-provides-requires-do-not-use-monodis-from-.patch
+++ /dev/null
@@ -1,58 +0,0 @@
-From 43fbc3f53302a395463e8450ac81c53f623eec3f Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Tue, 27 Aug 2019 17:42:34 +0200
-Subject: [PATCH] mono-find-provides/requires: do not use monodis from the host
-
-There was a host contamination issue here: if monodis was installed
-on the host, do_package would use that to resolve dependencies
-of mono libraries (and often fail in that). Without monodis,
-no dependencies are resolved, which is seemingly how things
-are supposed to work.
-
-Upstream-Status: Inappropriate [oe-core specific]
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
----
- scripts/mono-find-provides | 8 ++++----
- scripts/mono-find-requires | 8 ++++----
- 2 files changed, 8 insertions(+), 8 deletions(-)
-
-diff --git a/scripts/mono-find-provides b/scripts/mono-find-provides
-index 9348457d3..b28872ffb 100644
---- a/scripts/mono-find-provides
-+++ b/scripts/mono-find-provides
-@@ -18,11 +18,11 @@ monolist=($(printf "%s\n" "${filelist[@]}" | grep -E "\\.(exe|dll)\$"))
- build_bindir="$2/usr/bin"
- build_libdir="$2$3"
- 
--if [ -x $build_bindir/monodis ]; then
--    monodis="$build_bindir/monodis"
-+if [ -x $build_bindir/monodis.bogus ]; then
-+    monodis="$build_bindir/monodis.bogus"
-     export LD_LIBRARY_PATH=$build_libdir${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}
--elif [ -x /usr/bin/monodis ]; then
--    monodis="/usr/bin/monodis"
-+elif [ -x /usr/bin/monodis.bogus ]; then
-+    monodis="/usr/bin/monodis.bogus"
- else
-     exit 0;
- fi
-diff --git a/scripts/mono-find-requires b/scripts/mono-find-requires
-index ea58cae48..d270169e1 100644
---- a/scripts/mono-find-requires
-+++ b/scripts/mono-find-requires
-@@ -18,11 +18,11 @@ monolist=($(printf "%s\n" "${filelist[@]}" | grep -E "\\.(exe|dll)\$"))
- build_bindir="$2/usr/bin"
- build_libdir="$2$3"
- 
--if [ -x $build_bindir/monodis ]; then
--    monodis="$build_bindir/monodis"
-+if [ -x $build_bindir/monodis.bogus ]; then
-+    monodis="$build_bindir/monodis.bogus"
-     export LD_LIBRARY_PATH=$build_libdir${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}
--elif [ -x /usr/bin/monodis ]; then
--    monodis="/usr/bin/monodis"
-+elif [ -x /usr/bin/monodis.bogus ]; then
-+    monodis="/usr/bin/monodis.bogus"
- else
-     exit 0;
- fi
diff --git a/meta/recipes-devtools/rpm/files/0001-rpmfc.c-do-not-run-file-classification-in-parallel.patch b/meta/recipes-devtools/rpm/files/0001-rpmfc.c-do-not-run-file-classification-in-parallel.patch
new file mode 100644
index 00000000000..d8d338792d3
--- /dev/null
+++ b/meta/recipes-devtools/rpm/files/0001-rpmfc.c-do-not-run-file-classification-in-parallel.patch
@@ -0,0 +1,65 @@
+From 93c3c7f043f62e96941274e957c4ad9432032af1 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Mon, 18 Nov 2019 16:22:56 +0100
+Subject: [PATCH] rpmfc.c: do not run file classification in parallel
+
+This is causing freezes with libmagic when the file in question is compressed:
+https://github.com/rpm-software-management/rpm/issues/756
+
+Upstream-Status: Inappropriate [upstream wants a proper fix]
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ build/rpmfc.c | 8 --------
+ 1 file changed, 8 deletions(-)
+
+diff --git a/build/rpmfc.c b/build/rpmfc.c
+index 3db7a9352..17afdd57a 100644
+--- a/build/rpmfc.c
++++ b/build/rpmfc.c
+@@ -680,7 +680,6 @@ static void rpmfcAttributes(rpmfc fc, int ix, const char *ftype, const char *ful
+ 	/* Add attributes on libmagic type & path pattern matches */
+ 	if (matches(&(*attr)->incl, ftype, path, is_executable)) {
+ 	    argvAddTokens(&fc->fattrs[ix], (*attr)->name);
+-	    #pragma omp critical(fahash)
+ 	    fattrHashAddEntry(fc->fahash, attr-fc->atypes, ix);
+ 	}
+     }
+@@ -1105,7 +1104,6 @@ rpmRC rpmfcClassify(rpmfc fc, ARGV_t argv, rpm_mode_t * fmode)
+     /* Build (sorted) file class dictionary. */
+     fc->cdict = rpmstrPoolCreate();
+ 
+-    #pragma omp parallel
+     {
+     /* libmagic is not thread-safe, each thread needs to a private handle */
+     magic_t ms = magic_open(msflags);
+@@ -1113,15 +1111,12 @@ rpmRC rpmfcClassify(rpmfc fc, ARGV_t argv, rpm_mode_t * fmode)
+     if (ms == NULL) {
+ 	rpmlog(RPMLOG_ERR, _("magic_open(0x%x) failed: %s\n"),
+ 		msflags, strerror(errno));
+-	#pragma omp cancel parallel
+     }
+ 
+     if (magic_load(ms, NULL) == -1) {
+ 	rpmlog(RPMLOG_ERR, _("magic_load failed: %s\n"), magic_error(ms));
+-	#pragma omp cancel parallel
+     }
+ 
+-    #pragma omp for ordered reduction(+:nerrors)
+     for (int ix = 0; ix < fc->nfiles; ix++) {
+ 	rpmsid ftypeId;
+ 	const char * ftype;
+@@ -1185,14 +1180,11 @@ rpmRC rpmfcClassify(rpmfc fc, ARGV_t argv, rpm_mode_t * fmode)
+ 	fc->fcolor[ix] = fcolor;
+ 
+ 	/* Add to file class dictionary and index array */
+-	#pragma omp ordered
+ 	if (fcolor != RPMFC_WHITE && (fcolor & RPMFC_INCLUDE)) {
+ 	    ftypeId = rpmstrPoolId(fc->cdict, ftype, 1);
+-	    #pragma omp atomic
+ 	    fc->fknown++;
+ 	} else {
+ 	    ftypeId = rpmstrPoolId(fc->cdict, "", 1);
+-	    #pragma omp atomic
+ 	    fc->fwhite++;
+ 	}
+ 	/* Pool id's start from 1, for headers we want it from 0 */
diff --git a/meta/recipes-devtools/rpm/files/0002-Run-binary-package-creation-via-thread-pools.patch b/meta/recipes-devtools/rpm/files/0002-Run-binary-package-creation-via-thread-pools.patch
deleted file mode 100644
index d10041c2e14..00000000000
--- a/meta/recipes-devtools/rpm/files/0002-Run-binary-package-creation-via-thread-pools.patch
+++ /dev/null
@@ -1,127 +0,0 @@
-From 513200cf76758de4668312c628d6362bdabfaf4b Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Thu, 25 May 2017 19:30:20 +0300
-Subject: [PATCH 1/3] Run binary package creation via thread pools.
-
-Upstream-Status: Submitted [https://github.com/rpm-software-management/rpm/pull/226]
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
-
----
- build/pack.c | 81 +++++++++++++++++++++++++++++++++++++++++++++++++-----------
- configure.ac |  3 +++
- 2 files changed, 70 insertions(+), 14 deletions(-)
-
-diff --git a/build/pack.c b/build/pack.c
-index ccfd614cc..ed5b9ab4e 100644
---- a/build/pack.c
-+++ b/build/pack.c
-@@ -616,25 +616,78 @@ static rpmRC packageBinary(rpmSpec spec, Package pkg, const char *cookie, int ch
- 	return rc;
- }
- 
--rpmRC packageBinaries(rpmSpec spec, const char *cookie, int cheating)
-+struct binaryPackageTaskData
- {
--    rpmRC rc;
-     Package pkg;
-+    char *filename;
-+    rpmRC result;
-+    struct binaryPackageTaskData *next;
-+};
-+
-+static struct binaryPackageTaskData* runBinaryPackageTasks(rpmSpec spec, const char *cookie, int cheating)
-+{
-+    struct binaryPackageTaskData *tasks = NULL;
-+    struct binaryPackageTaskData *task = NULL;
-+    struct binaryPackageTaskData *prev = NULL;
-+
-+    for (Package pkg = spec->packages; pkg != NULL; pkg = pkg->next) {
-+        task = rcalloc(1, sizeof(*task));
-+        task->pkg = pkg;
-+        if (pkg == spec->packages) {
-+            // the first package needs to be processed ahead of others, as they copy
-+            // changelog data from it, and so otherwise data races would happen
-+            task->result = packageBinary(spec, pkg, cookie, cheating, &(task->filename));
-+            rpmlog(RPMLOG_NOTICE, _("Finished binary package job, result %d, filename %s\n"), task->result, task->filename);
-+            tasks = task;
-+        }
-+        if (prev != NULL) {
-+            prev->next = task;
-+        }
-+        prev = task;
-+    }
-+
-+    #pragma omp parallel
-+    #pragma omp single
-+    // re-declaring task variable is necessary, or older gcc versions will produce code that segfaults
-+    for (struct binaryPackageTaskData *task = tasks; task != NULL; task = task->next) {
-+        if (task != tasks)
-+        #pragma omp task
-+        {
-+            task->result = packageBinary(spec, task->pkg, cookie, cheating, &(task->filename));
-+            rpmlog(RPMLOG_NOTICE, _("Finished binary package job, result %d, filename %s\n"), task->result, task->filename);
-+        }
-+    }
-+
-+    return tasks;
-+}
-+
-+static void freeBinaryPackageTasks(struct binaryPackageTaskData* tasks)
-+{
-+    while (tasks != NULL) {
-+        struct binaryPackageTaskData* next = tasks->next;
-+        rfree(tasks->filename);
-+        rfree(tasks);
-+        tasks = next;
-+    }
-+}
-+
-+rpmRC packageBinaries(rpmSpec spec, const char *cookie, int cheating)
-+{
-     char *pkglist = NULL;
- 
--    for (pkg = spec->packages; pkg != NULL; pkg = pkg->next) {
--	char *fn = NULL;
--	rc = packageBinary(spec, pkg, cookie, cheating, &fn);
--	if (rc == RPMRC_OK) {
--	    rstrcat(&pkglist, fn);
--	    rstrcat(&pkglist, " ");
--	}
--	free(fn);
--	if (rc != RPMRC_OK) {
--	    pkglist = _free(pkglist);
--	    return rc;
--	}
-+    struct binaryPackageTaskData *tasks = runBinaryPackageTasks(spec, cookie, cheating);
-+
-+    for (struct binaryPackageTaskData *task = tasks; task != NULL; task = task->next) {
-+        if (task->result == RPMRC_OK) {
-+            rstrcat(&pkglist, task->filename);
-+            rstrcat(&pkglist, " ");
-+        } else {
-+            _free(pkglist);
-+            freeBinaryPackageTasks(tasks);
-+            return RPMRC_FAIL;
-+        }
-     }
-+    freeBinaryPackageTasks(tasks);
- 
-     /* Now check the package set if enabled */
-     if (pkglist != NULL) {
-diff --git a/configure.ac b/configure.ac
-index a506ec819..59fa0acaf 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -17,6 +17,9 @@ AC_DISABLE_STATIC
- 
- PKG_PROG_PKG_CONFIG
- 
-+AC_OPENMP
-+RPMCFLAGS="$OPENMP_CFLAGS $RPMCFLAGS"
-+
- dnl Checks for programs.
- AC_PROG_CXX
- AC_PROG_AWK
--- 
-2.11.0
-
diff --git a/meta/recipes-devtools/rpm/files/0003-rpmstrpool.c-make-operations-over-string-pools-threa.patch b/meta/recipes-devtools/rpm/files/0003-rpmstrpool.c-make-operations-over-string-pools-threa.patch
deleted file mode 100644
index c348ae5330e..00000000000
--- a/meta/recipes-devtools/rpm/files/0003-rpmstrpool.c-make-operations-over-string-pools-threa.patch
+++ /dev/null
@@ -1,207 +0,0 @@
-From c80892f17e44331206c8318d53b63bb6a99554d0 Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Tue, 30 May 2017 13:58:30 +0300
-Subject: [PATCH 3/4] rpmstrpool.c: make operations over string pools
- thread-safe
-
-Otherwise multithreaded rpm building explodes in various ways due
-to data races.
-
-Upstream-Status: Submitted [https://github.com/rpm-software-management/rpm/pull/226]
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
-
----
- rpmio/rpmstrpool.c | 56 +++++++++++++++++++++++++++++++++++++++++++++---------
- 1 file changed, 47 insertions(+), 9 deletions(-)
-
-diff --git a/rpmio/rpmstrpool.c b/rpmio/rpmstrpool.c
-index 30a57eb10..58ba95a02 100644
---- a/rpmio/rpmstrpool.c
-+++ b/rpmio/rpmstrpool.c
-@@ -113,6 +113,8 @@ static poolHash poolHashCreate(int numBuckets)
-     return ht;
- }
- 
-+static const char * rpmstrPoolStrNoLock(rpmstrPool pool, rpmsid sid);
-+
- static void poolHashResize(rpmstrPool pool, int numBuckets)
- {
-     poolHash ht = pool->hash;
-@@ -120,7 +122,7 @@ static void poolHashResize(rpmstrPool pool, int numBuckets)
- 
-     for (int i=0; i<ht->numBuckets; i++) {
-         if (!ht->buckets[i].keyid) continue;
--        unsigned int keyHash = rstrhash(rpmstrPoolStr(pool, ht->buckets[i].keyid));
-+        unsigned int keyHash = rstrhash(rpmstrPoolStrNoLock(pool, ht->buckets[i].keyid));
-         for (unsigned int j=0;;j++) {
-             unsigned int hash = hashbucket(keyHash, j) % numBuckets;
-             if (!buckets[hash].keyid) {
-@@ -149,7 +151,7 @@ static void poolHashAddHEntry(rpmstrPool pool, const char * key, unsigned int ke
-             ht->buckets[hash].keyid = keyid;
-             ht->keyCount++;
-             break;
--        } else if (!strcmp(rpmstrPoolStr(pool, ht->buckets[hash].keyid), key)) {
-+        } else if (!strcmp(rpmstrPoolStrNoLock(pool, ht->buckets[hash].keyid), key)) {
-             return;
-         }
-     }
-@@ -191,7 +193,7 @@ static void poolHashPrintStats(rpmstrPool pool)
-     int maxcollisions = 0;
- 
-     for (i=0; i<ht->numBuckets; i++) {
--        unsigned int keyHash = rstrhash(rpmstrPoolStr(pool, ht->buckets[i].keyid));
-+        unsigned int keyHash = rstrhash(rpmstrPoolStrNoLock(pool, ht->buckets[i].keyid));
-         for (unsigned int j=0;;j++) {
-             unsigned int hash = hashbucket(keyHash, i) % ht->numBuckets;
-             if (hash==i) {
-@@ -221,7 +223,7 @@ static void rpmstrPoolRehash(rpmstrPool pool)
- 
-     pool->hash = poolHashCreate(sizehint);
-     for (int i = 1; i <= pool->offs_size; i++)
--	poolHashAddEntry(pool, rpmstrPoolStr(pool, i), i);
-+	poolHashAddEntry(pool, rpmstrPoolStrNoLock(pool, i), i);
- }
- 
- rpmstrPool rpmstrPoolCreate(void)
-@@ -245,6 +247,8 @@ rpmstrPool rpmstrPoolCreate(void)
- 
- rpmstrPool rpmstrPoolFree(rpmstrPool pool)
- {
-+    #pragma omp critical(rpmstrpool)
-+    {
-     if (pool) {
- 	if (pool->nrefs > 1) {
- 	    pool->nrefs--;
-@@ -260,18 +264,24 @@ rpmstrPool rpmstrPoolFree(rpmstrPool pool)
- 	    free(pool);
- 	}
-     }
-+    }
-     return NULL;
- }
- 
- rpmstrPool rpmstrPoolLink(rpmstrPool pool)
- {
-+    #pragma omp critical(rpmstrpool)
-+    {
-     if (pool)
- 	pool->nrefs++;
-+    }
-     return pool;
- }
- 
- void rpmstrPoolFreeze(rpmstrPool pool, int keephash)
- {
-+    #pragma omp critical(rpmstrpool)
-+    {
-     if (pool && !pool->frozen) {
- 	if (!keephash) {
- 	    pool->hash = poolHashFree(pool->hash);
-@@ -281,16 +291,20 @@ void rpmstrPoolFreeze(rpmstrPool pool, int keephash)
- 			      pool->offs_alloced * sizeof(*pool->offs));
- 	pool->frozen = 1;
-     }
-+    }
- }
- 
- void rpmstrPoolUnfreeze(rpmstrPool pool)
- {
-+    #pragma omp critical(rpmstrpool)
-+    {
-     if (pool) {
- 	if (pool->hash == NULL) {
- 	    rpmstrPoolRehash(pool);
- 	}
- 	pool->frozen = 0;
-     }
-+    }
- }
- 
- static rpmsid rpmstrPoolPut(rpmstrPool pool, const char *s, size_t slen, unsigned int hash)
-@@ -350,7 +364,7 @@ static rpmsid rpmstrPoolGet(rpmstrPool pool, const char * key, size_t keylen,
-             return 0;
-         }
- 
--	s = rpmstrPoolStr(pool, ht->buckets[hash].keyid);
-+	s = rpmstrPoolStrNoLock(pool, ht->buckets[hash].keyid);
- 	/* pool string could be longer than keylen, require exact matche */
- 	if (strncmp(s, key, keylen) == 0 && s[keylen] == '\0')
- 	    return ht->buckets[hash].keyid;
-@@ -373,27 +387,31 @@ static inline rpmsid strn2id(rpmstrPool pool, const char *s, size_t slen,
- rpmsid rpmstrPoolIdn(rpmstrPool pool, const char *s, size_t slen, int create)
- {
-     rpmsid sid = 0;
--
-+    #pragma omp critical(rpmstrpool)
-+    {
-     if (s != NULL) {
- 	unsigned int hash = rstrnhash(s, slen);
- 	sid = strn2id(pool, s, slen, hash, create);
-     }
-+    }
-     return sid;
- }
- 
- rpmsid rpmstrPoolId(rpmstrPool pool, const char *s, int create)
- {
-     rpmsid sid = 0;
--
-+    #pragma omp critical(rpmstrpool)
-+    {
-     if (s != NULL) {
- 	size_t slen;
- 	unsigned int hash = rstrlenhash(s, &slen);
- 	sid = strn2id(pool, s, slen, hash, create);
-     }
-+    }
-     return sid;
- }
- 
--const char * rpmstrPoolStr(rpmstrPool pool, rpmsid sid)
-+static const char * rpmstrPoolStrNoLock(rpmstrPool pool, rpmsid sid)
- {
-     const char *s = NULL;
-     if (pool && sid > 0 && sid <= pool->offs_size)
-@@ -401,12 +419,25 @@ const char * rpmstrPoolStr(rpmstrPool pool, rpmsid sid)
-     return s;
- }
- 
-+const char * rpmstrPoolStr(rpmstrPool pool, rpmsid sid)
-+{
-+    const char *s = NULL;
-+    #pragma omp critical(rpmstrpool)
-+    {
-+    s = rpmstrPoolStrNoLock(pool, sid);
-+    }
-+    return s;
-+}
-+
- size_t rpmstrPoolStrlen(rpmstrPool pool, rpmsid sid)
- {
-     size_t slen = 0;
-+    #pragma omp critical(rpmstrpool)
-+    {
-     if (pool && sid > 0 && sid <= pool->offs_size) {
- 	slen = strlen(pool->offs[sid]);
-     }
-+    }
-     return slen;
- }
- 
-@@ -421,5 +452,12 @@ int rpmstrPoolStreq(rpmstrPool poolA, rpmsid sidA,
- 
- rpmsid rpmstrPoolNumStr(rpmstrPool pool)
- {
--    return (pool != NULL) ? pool->offs_size : 0;
-+    rpmsid id = 0;
-+    #pragma omp critical(rpmstrpool)
-+    {
-+    if (pool) {
-+	id = pool->offs_size;
-+    }
-+    }
-+    return id;
- }
--- 
-2.11.0
-
diff --git a/meta/recipes-devtools/rpm/files/0004-build-pack.c-remove-static-local-variables-from-buil.patch b/meta/recipes-devtools/rpm/files/0004-build-pack.c-remove-static-local-variables-from-buil.patch
deleted file mode 100644
index 652e30b3e4a..00000000000
--- a/meta/recipes-devtools/rpm/files/0004-build-pack.c-remove-static-local-variables-from-buil.patch
+++ /dev/null
@@ -1,336 +0,0 @@
-From 792693bb90768cfde4898e8dd31ee1b5de803d2f Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Thu, 8 Jun 2017 17:08:09 +0300
-Subject: [PATCH] build/pack.c: remove static local variables from buildHost()
- and getBuildTime()
-
-Their use is causing difficult to diagnoze data races when building multiple
-packages in parallel, and is a bad idea in general, as it also makes it more
-difficult to reason about code.
-
-Upstream-Status: Submitted [https://github.com/rpm-software-management/rpm/pull/226]
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
-
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
-
----
- build/build.c             | 54 ++++++++++++++++++++++++++++--
- build/pack.c              | 84 +++++++++--------------------------------------
- build/rpmbuild_internal.h |  8 +++--
- 3 files changed, 74 insertions(+), 72 deletions(-)
-
-diff --git a/build/build.c b/build/build.c
-index 13c3df2..b154f08 100644
---- a/build/build.c
-+++ b/build/build.c
-@@ -6,6 +6,8 @@
- #include "system.h"
- 
- #include <errno.h>
-+#include <netdb.h>
-+#include <time.h>
- #include <sys/wait.h>
- 
- #include <rpm/rpmlog.h>
-@@ -16,6 +18,50 @@
- 
- #include "debug.h"
- 
-+static rpm_time_t getBuildTime(void)
-+{
-+    rpm_time_t buildTime = 0;
-+    char *srcdate;
-+    time_t epoch;
-+    char *endptr;
-+
-+    srcdate = getenv("SOURCE_DATE_EPOCH");
-+    if (srcdate) {
-+        errno = 0;
-+        epoch = strtol(srcdate, &endptr, 10);
-+        if (srcdate == endptr || *endptr || errno != 0)
-+            rpmlog(RPMLOG_ERR, _("unable to parse SOURCE_DATE_EPOCH\n"));
-+        else
-+            buildTime = (int32_t) epoch;
-+    } else
-+        buildTime = (int32_t) time(NULL);
-+
-+    return buildTime;
-+}
-+
-+static char * buildHost(void)
-+{
-+    char* hostname;
-+    struct hostent *hbn;
-+    char *bhMacro;
-+
-+    bhMacro = rpmExpand("%{?_buildhost}", NULL);
-+    if (strcmp(bhMacro, "") != 0) {
-+        rasprintf(&hostname, "%s", bhMacro);
-+    } else {
-+        hostname = rcalloc(1024, sizeof(*hostname));
-+        (void) gethostname(hostname, 1024);
-+        hbn = gethostbyname(hostname);
-+        if (hbn)
-+            strcpy(hostname, hbn->h_name);
-+        else
-+            rpmlog(RPMLOG_WARNING,
-+                    _("Could not canonicalize hostname: %s\n"), hostname);
-+    }
-+    free(bhMacro);
-+    return(hostname);
-+}
-+
- /**
-  */
- static rpmRC doRmSource(rpmSpec spec)
-@@ -201,6 +247,9 @@ static rpmRC buildSpec(BTA_t buildArgs, rpmSpec spec, int what)
-     rpmRC rc = RPMRC_OK;
-     int test = (what & RPMBUILD_NOBUILD);
-     char *cookie = buildArgs->cookie ? xstrdup(buildArgs->cookie) : NULL;
-+    const char* host = buildHost();
-+    rpm_time_t buildTime = getBuildTime();
-+
- 
-     if (rpmExpandNumeric("%{?source_date_epoch_from_changelog}") &&
- 	getenv("SOURCE_DATE_EPOCH") == NULL) {
-@@ -269,11 +318,11 @@ static rpmRC buildSpec(BTA_t buildArgs, rpmSpec spec, int what)
- 		goto exit;
- 
- 	if (((what & RPMBUILD_PACKAGESOURCE) && !test) &&
--	    (rc = packageSources(spec, &cookie)))
-+	    (rc = packageSources(spec, &cookie, buildTime, host)))
- 		goto exit;
- 
- 	if (((what & RPMBUILD_PACKAGEBINARY) && !test) &&
--	    (rc = packageBinaries(spec, cookie, (didBuild == 0))))
-+	    (rc = packageBinaries(spec, cookie, (didBuild == 0), buildTime, host)))
- 		goto exit;
- 	
- 	if ((what & RPMBUILD_CLEAN) &&
-@@ -293,6 +342,7 @@ static rpmRC buildSpec(BTA_t buildArgs, rpmSpec spec, int what)
- 	(void) unlink(spec->specFile);
- 
- exit:
-+    free(host);
-     free(cookie);
-     spec->rootDir = NULL;
-     if (rc != RPMRC_OK && rpmlogGetNrecs() > 0) {
-diff --git a/build/pack.c b/build/pack.c
-index df15876..17a4b09 100644
---- a/build/pack.c
-+++ b/build/pack.c
-@@ -6,8 +6,6 @@
- #include "system.h"
- 
- #include <errno.h>
--#include <netdb.h>
--#include <time.h>
- #include <sys/wait.h>
- 
- #include <rpm/rpmlib.h>			/* RPMSIGTAG*, rpmReadPackageFile */
-@@ -152,57 +150,6 @@ exit:
-     return rc;
- }
- 
--static rpm_time_t * getBuildTime(void)
--{
--    static rpm_time_t buildTime[1];
--    char *srcdate;
--    time_t epoch;
--    char *endptr;
--
--    if (buildTime[0] == 0) {
--        srcdate = getenv("SOURCE_DATE_EPOCH");
--        if (srcdate) {
--            errno = 0;
--            epoch = strtol(srcdate, &endptr, 10);
--            if (srcdate == endptr || *endptr || errno != 0)
--                rpmlog(RPMLOG_ERR, _("unable to parse SOURCE_DATE_EPOCH\n"));
--            else
--                buildTime[0] = (int32_t) epoch;
--        } else
--            buildTime[0] = (int32_t) time(NULL);
--    }
--
--    return buildTime;
--}
--
--static const char * buildHost(void)
--{
--    static char hostname[1024];
--    static int oneshot = 0;
--    struct hostent *hbn;
--    char *bhMacro;
--
--    if (! oneshot) {
--        bhMacro = rpmExpand("%{?_buildhost}", NULL);
--        if (strcmp(bhMacro, "") != 0 && strlen(bhMacro) < 1024) {
--            strcpy(hostname, bhMacro);
--        } else {
--            if (strcmp(bhMacro, "") != 0)
--                rpmlog(RPMLOG_WARNING, _("The _buildhost macro is too long\n"));
--            (void) gethostname(hostname, sizeof(hostname));
--            hbn = gethostbyname(hostname);
--            if (hbn)
--                strcpy(hostname, hbn->h_name);
--            else
--                rpmlog(RPMLOG_WARNING,
--                        _("Could not canonicalize hostname: %s\n"), hostname);
--        }
--        free(bhMacro);
--        oneshot = 1;
--    }
--    return(hostname);
--}
--
- static rpmRC processScriptFiles(rpmSpec spec, Package pkg)
- {
-     struct TriggerFileEntry *p;
-@@ -476,7 +423,8 @@ exit:
-  * order to how the RPM format is laid on disk.
-  */
- static rpmRC writeRPM(Package pkg, unsigned char ** pkgidp,
--		      const char *fileName, char **cookie)
-+		      const char *fileName, char **cookie,
-+		      rpm_time_t buildTime, const char* buildHost)
- {
-     FD_t fd = NULL;
-     char * rpmio_flags = NULL;
-@@ -500,7 +448,7 @@ static rpmRC writeRPM(Package pkg, unsigned char ** pkgidp,
- 
-     /* Create and add the cookie */
-     if (cookie) {
--	rasprintf(cookie, "%s %d", buildHost(), (int) (*getBuildTime()));
-+	rasprintf(cookie, "%s %d", buildHost, buildTime);
- 	headerPutString(pkg->header, RPMTAG_COOKIE, *cookie);
-     }
- 
-@@ -641,7 +589,7 @@ static rpmRC checkPackages(char *pkgcheck)
-     return RPMRC_OK;
- }
- 
--static rpmRC packageBinary(rpmSpec spec, Package pkg, const char *cookie, int cheating, char** filename)
-+static rpmRC packageBinary(rpmSpec spec, Package pkg, const char *cookie, int cheating, char** filename, rpm_time_t buildTime, const char* buildHost)
- {
- 	const char *errorString;
- 	rpmRC rc = RPMRC_OK;
-@@ -660,8 +608,8 @@ static rpmRC packageBinary(rpmSpec spec, Package pkg, const char *cookie, int ch
- 	headerCopyTags(spec->packages->header, pkg->header, copyTags);
- 	
- 	headerPutString(pkg->header, RPMTAG_RPMVERSION, VERSION);
--	headerPutString(pkg->header, RPMTAG_BUILDHOST, buildHost());
--	headerPutUint32(pkg->header, RPMTAG_BUILDTIME, getBuildTime(), 1);
-+	headerPutString(pkg->header, RPMTAG_BUILDHOST, buildHost);
-+	headerPutUint32(pkg->header, RPMTAG_BUILDTIME, &buildTime, 1);
- 
- 	if (spec->sourcePkgId != NULL) {
- 	    headerPutBin(pkg->header, RPMTAG_SOURCEPKGID, spec->sourcePkgId,16);
-@@ -699,7 +647,7 @@ static rpmRC packageBinary(rpmSpec spec, Package pkg, const char *cookie, int ch
- 	    free(binRpm);
- 	}
- 
--	rc = writeRPM(pkg, NULL, *filename, NULL);
-+	rc = writeRPM(pkg, NULL, *filename, NULL, buildTime, buildHost);
- 	if (rc == RPMRC_OK) {
- 	    /* Do check each written package if enabled */
- 	    char *pkgcheck = rpmExpand("%{?_build_pkgcheck} ", *filename, NULL);
-@@ -719,7 +667,7 @@ struct binaryPackageTaskData
-     struct binaryPackageTaskData *next;
- };
- 
--static struct binaryPackageTaskData* runBinaryPackageTasks(rpmSpec spec, const char *cookie, int cheating)
-+static struct binaryPackageTaskData* runBinaryPackageTasks(rpmSpec spec, const char *cookie, int cheating, rpm_time_t buildTime, char* buildHost)
- {
-     struct binaryPackageTaskData *tasks = NULL;
-     struct binaryPackageTaskData *task = NULL;
-@@ -731,7 +679,7 @@ static struct binaryPackageTaskData* runBinaryPackageTasks(rpmSpec spec, const c
-         if (pkg == spec->packages) {
-             // the first package needs to be processed ahead of others, as they copy
-             // changelog data from it, and so otherwise data races would happen
--            task->result = packageBinary(spec, pkg, cookie, cheating, &(task->filename));
-+            task->result = packageBinary(spec, pkg, cookie, cheating, &(task->filename), buildTime, buildHost);
-             rpmlog(RPMLOG_NOTICE, _("Finished binary package job, result %d, filename %s\n"), task->result, task->filename);
-             tasks = task;
-         }
-@@ -748,7 +696,7 @@ static struct binaryPackageTaskData* runBinaryPackageTasks(rpmSpec spec, const c
-         if (task != tasks)
-         #pragma omp task
-         {
--            task->result = packageBinary(spec, task->pkg, cookie, cheating, &(task->filename));
-+            task->result = packageBinary(spec, task->pkg, cookie, cheating, &(task->filename), buildTime, buildHost);
-             rpmlog(RPMLOG_NOTICE, _("Finished binary package job, result %d, filename %s\n"), task->result, task->filename);
-         }
-     }
-@@ -766,11 +714,11 @@ static void freeBinaryPackageTasks(struct binaryPackageTaskData* tasks)
-     }
- }
- 
--rpmRC packageBinaries(rpmSpec spec, const char *cookie, int cheating)
-+rpmRC packageBinaries(rpmSpec spec, const char *cookie, int cheating, rpm_time_t buildTime, char* buildHost)
- {
-     char *pkglist = NULL;
- 
--    struct binaryPackageTaskData *tasks = runBinaryPackageTasks(spec, cookie, cheating);
-+    struct binaryPackageTaskData *tasks = runBinaryPackageTasks(spec, cookie, cheating, buildTime, buildHost);
- 
-     for (struct binaryPackageTaskData *task = tasks; task != NULL; task = task->next) {
-         if (task->result == RPMRC_OK) {
-@@ -797,7 +745,7 @@ rpmRC packageBinaries(rpmSpec spec, const char *cookie, int cheating)
-     return RPMRC_OK;
- }
- 
--rpmRC packageSources(rpmSpec spec, char **cookie)
-+rpmRC packageSources(rpmSpec spec, char **cookie, rpm_time_t buildTime, char* buildHost)
- {
-     Package sourcePkg = spec->sourcePackage;
-     rpmRC rc;
-@@ -805,8 +753,8 @@ rpmRC packageSources(rpmSpec spec, char **cookie)
- 
-     /* Add some cruft */
-     headerPutString(sourcePkg->header, RPMTAG_RPMVERSION, VERSION);
--    headerPutString(sourcePkg->header, RPMTAG_BUILDHOST, buildHost());
--    headerPutUint32(sourcePkg->header, RPMTAG_BUILDTIME, getBuildTime(), 1);
-+    headerPutString(sourcePkg->header, RPMTAG_BUILDHOST, buildHost);
-+    headerPutUint32(sourcePkg->header, RPMTAG_BUILDTIME, &buildTime, 1);
-     headerPutUint32(sourcePkg->header, RPMTAG_SOURCEPACKAGE, &one, 1);
- 
-     /* XXX this should be %_srpmdir */
-@@ -814,7 +762,7 @@ rpmRC packageSources(rpmSpec spec, char **cookie)
- 	char *pkgcheck = rpmExpand("%{?_build_pkgcheck_srpm} ", fn, NULL);
- 
- 	spec->sourcePkgId = NULL;
--	rc = writeRPM(sourcePkg, &spec->sourcePkgId, fn, cookie);
-+	rc = writeRPM(sourcePkg, &spec->sourcePkgId, fn, cookie, buildTime, buildHost);
- 
- 	/* Do check SRPM package if enabled */
- 	if (rc == RPMRC_OK && pkgcheck[0] != ' ') {
-diff --git a/build/rpmbuild_internal.h b/build/rpmbuild_internal.h
-index 439b7d3..07e8338 100644
---- a/build/rpmbuild_internal.h
-+++ b/build/rpmbuild_internal.h
-@@ -427,19 +427,23 @@ rpmRC processSourceFiles(rpmSpec spec, rpmBuildPkgFlags pkgFlags);
-  * @param spec		spec file control structure
-  * @param cookie	build identifier "cookie" or NULL
-  * @param cheating	was build shortcircuited?
-+ * @param buildTime	the build timestamp that goes into packages
-+ * @param buildHost	the hostname where the build is happening
-  * @return		RPMRC_OK on success
-  */
- RPM_GNUC_INTERNAL
--rpmRC packageBinaries(rpmSpec spec, const char *cookie, int cheating);
-+rpmRC packageBinaries(rpmSpec spec, const char *cookie, int cheating, rpm_time_t buildTime, char* buildHost);
- 
- /** \ingroup rpmbuild
-  * Generate source package.
-  * @param spec		spec file control structure
-  * @retval cookie	build identifier "cookie" or NULL
-+ * @param buildTime	the build timestamp that goes into packages
-+ * @param buildHost	the hostname where the build is happening
-  * @return		RPMRC_OK on success
-  */
- RPM_GNUC_INTERNAL
--rpmRC packageSources(rpmSpec spec, char **cookie);
-+rpmRC packageSources(rpmSpec spec, char **cookie, rpm_time_t buildTime, char* buildHost);
- 
- RPM_GNUC_INTERNAL
- int addLangTag(rpmSpec spec, Header h, rpmTagVal tag,
diff --git a/meta/recipes-devtools/rpm/rpm_4.14.2.1.bb b/meta/recipes-devtools/rpm/rpm_4.15.1.bb
similarity index 90%
rename from meta/recipes-devtools/rpm/rpm_4.14.2.1.bb
rename to meta/recipes-devtools/rpm/rpm_4.15.1.bb
index c37330eb4c6..5896e78e734 100644
--- a/meta/recipes-devtools/rpm/rpm_4.14.2.1.bb
+++ b/meta/recipes-devtools/rpm/rpm_4.15.1.bb
@@ -24,7 +24,7 @@ HOMEPAGE = "http://www.rpm.org"
 LICENSE = "GPL-2.0"
 LIC_FILES_CHKSUM = "file://COPYING;md5=c0bf017c0fd1920e6158a333acabfd4a"
 
-SRC_URI = "git://github.com/rpm-software-management/rpm;branch=rpm-4.14.x \
+SRC_URI = "git://github.com/rpm-software-management/rpm;branch=rpm-4.15.x \
            file://0001-Do-not-add-an-unsatisfiable-dependency-when-building.patch \
            file://0001-Do-not-read-config-files-from-HOME.patch \
            file://0001-When-cross-installing-execute-package-scriptlets-wit.patch \
@@ -34,18 +34,14 @@ SRC_URI = "git://github.com/rpm-software-management/rpm;branch=rpm-4.14.x \
            file://0001-Fix-build-with-musl-C-library.patch \
            file://0001-Add-a-color-setting-for-mips64_n32-binaries.patch \
            file://0011-Do-not-require-that-ELF-binaries-are-executable-to-b.patch \
-           file://0001-Split-binary-package-building-into-a-separate-functi.patch \
-           file://0002-Run-binary-package-creation-via-thread-pools.patch \
-           file://0003-rpmstrpool.c-make-operations-over-string-pools-threa.patch \
-           file://0004-build-pack.c-remove-static-local-variables-from-buil.patch \
            file://0001-perl-disable-auto-reqs.patch \
            file://0001-rpm-rpmio.c-restrict-virtual-memory-usage-if-limit-s.patch \
            file://0016-rpmscript.c-change-logging-level-around-scriptlets-t.patch \
-           file://0001-mono-find-provides-requires-do-not-use-monodis-from-.patch \
+           file://0001-rpmfc.c-do-not-run-file-classification-in-parallel.patch \
            "
 
 PE = "1"
-SRCREV = "4a9440006398646583f0d9ae1837dad2875013aa"
+SRCREV = "ab2179452c5be276a6b96c591afded485c7e58c3"
 
 S = "${WORKDIR}/git"
 
@@ -59,7 +55,7 @@ export PYTHON_ABI
 EXTRA_AUTORECONF_append = " --exclude=gnu-configize"
 
 EXTRA_OECONF_append = " --without-lua --enable-python"
-EXTRA_OECONF_append_libc-musl = " --disable-nls"
+EXTRA_OECONF_append_libc-musl = " --disable-nls --disable-openmp"
 
 # --sysconfdir prevents rpm from attempting to access machine-specific configuration in sysroot/etc; we need to have it in rootfs
 #
@@ -125,8 +121,7 @@ do_install_append () {
 	    ${D}/${libdir}/rpm/macros
 
 	sed -i -e 's|/usr/bin/python|${USRBINPATH}/env ${PYTHON_PN}|' \
-	    ${D}${libdir}/rpm/pythondistdeps.py \
-	    ${D}${libdir}/rpm/python-macro-helper
+	    ${D}${libdir}/rpm/pythondistdeps.py
 }
 
 FILES_${PN} += "${libdir}/rpm-plugins/*.so \
-- 
2.17.1



^ permalink raw reply related	[flat|nested] 62+ messages in thread

* [PATCH 02/30] gettext-minimal-native: update to 0.20.1
  2019-12-12 18:14 [PATCH 01/30] rpm: upgrade to 4.15.1 Alexander Kanavin
@ 2019-12-12 18:14 ` Alexander Kanavin
  2019-12-12 18:14 ` [PATCH 03/30] gettext: " Alexander Kanavin
                   ` (28 subsequent siblings)
  29 siblings, 0 replies; 62+ messages in thread
From: Alexander Kanavin @ 2019-12-12 18:14 UTC (permalink / raw)
  To: openembedded-core

Rather than update a tarball, I took m4 files directly from an install of 0.20.1.

The patch is dropped as guile has long been removed from oe-core.

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
 ...H-Disable-the-test-to-convert-euc-jp.patch |  38 -
 .../gettext-minimal-0.19.8.1/aclocal.tgz      | Bin 40014 -> 0 bytes
 .../COPYING                                   |   0
 .../Makefile.in.in                            | 124 +--
 .../gettext-minimal-0.20.1/aclocal/gettext.m4 | 386 +++++++++
 .../aclocal/host-cpu-c-abi.m4                 | 644 +++++++++++++++
 .../gettext-minimal-0.20.1/aclocal/iconv.m4   | 288 +++++++
 .../aclocal/intlmacosx.m4                     |  72 ++
 .../gettext-minimal-0.20.1/aclocal/lib-ld.m4  | 168 ++++
 .../aclocal/lib-link.m4                       | 774 ++++++++++++++++++
 .../aclocal/lib-prefix.m4                     | 249 ++++++
 .../gettext-minimal-0.20.1/aclocal/nls.m4     |  32 +
 .../gettext-minimal-0.20.1/aclocal/po.m4      | 450 ++++++++++
 .../aclocal/progtest.m4                       |  91 ++
 .../config.rpath                              |   2 +-
 .../remove-potcdate.sin                       |   8 +-
 ....1.bb => gettext-minimal-native_0.20.1.bb} |   5 +-
 17 files changed, 3236 insertions(+), 95 deletions(-)
 delete mode 100644 meta/recipes-core/gettext/gettext-minimal-0.19.8.1/0001-PATCH-Disable-the-test-to-convert-euc-jp.patch
 delete mode 100644 meta/recipes-core/gettext/gettext-minimal-0.19.8.1/aclocal.tgz
 rename meta/recipes-core/gettext/{gettext-minimal-0.19.8.1 => gettext-minimal-0.20.1}/COPYING (100%)
 rename meta/recipes-core/gettext/{gettext-minimal-0.19.8.1 => gettext-minimal-0.20.1}/Makefile.in.in (78%)
 create mode 100644 meta/recipes-core/gettext/gettext-minimal-0.20.1/aclocal/gettext.m4
 create mode 100644 meta/recipes-core/gettext/gettext-minimal-0.20.1/aclocal/host-cpu-c-abi.m4
 create mode 100644 meta/recipes-core/gettext/gettext-minimal-0.20.1/aclocal/iconv.m4
 create mode 100644 meta/recipes-core/gettext/gettext-minimal-0.20.1/aclocal/intlmacosx.m4
 create mode 100644 meta/recipes-core/gettext/gettext-minimal-0.20.1/aclocal/lib-ld.m4
 create mode 100644 meta/recipes-core/gettext/gettext-minimal-0.20.1/aclocal/lib-link.m4
 create mode 100644 meta/recipes-core/gettext/gettext-minimal-0.20.1/aclocal/lib-prefix.m4
 create mode 100644 meta/recipes-core/gettext/gettext-minimal-0.20.1/aclocal/nls.m4
 create mode 100644 meta/recipes-core/gettext/gettext-minimal-0.20.1/aclocal/po.m4
 create mode 100644 meta/recipes-core/gettext/gettext-minimal-0.20.1/aclocal/progtest.m4
 rename meta/recipes-core/gettext/{gettext-minimal-0.19.8.1 => gettext-minimal-0.20.1}/config.rpath (99%)
 rename meta/recipes-core/gettext/{gettext-minimal-0.19.8.1 => gettext-minimal-0.20.1}/remove-potcdate.sin (50%)
 rename meta/recipes-core/gettext/{gettext-minimal-native_0.19.8.1.bb => gettext-minimal-native_0.20.1.bb} (86%)

diff --git a/meta/recipes-core/gettext/gettext-minimal-0.19.8.1/0001-PATCH-Disable-the-test-to-convert-euc-jp.patch b/meta/recipes-core/gettext/gettext-minimal-0.19.8.1/0001-PATCH-Disable-the-test-to-convert-euc-jp.patch
deleted file mode 100644
index 29ef2a5a63d..00000000000
--- a/meta/recipes-core/gettext/gettext-minimal-0.19.8.1/0001-PATCH-Disable-the-test-to-convert-euc-jp.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-[PATCH] Disable the test to convert euc-jp
-
-Remove the test "Test against HP-UX 11.11 bug:
-No converter from EUC-JP to UTF-8 is provided"
-since we don't support HP-UX and if the euc-jp is not
-installed on the host, the dependence will be built without
-iconv support and will cause guile-native building fail.
-
-Upstream-Status: Inappropriate [OE specific]
-
-Signed-off-by: Roy Li <rongqing.li@windriver.com>
----
- iconv.m4 | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/iconv.m4 b/iconv.m4
-index 4e37363..35f54bd 100644
---- a/iconv.m4
-+++ b/iconv.m4
-@@ -165,6 +165,7 @@ AC_DEFUN([AM_ICONV_LINK],
-       }
-   }
- #endif
-+#if 0
-   /* Test against HP-UX 11.11 bug: No converter from EUC-JP to UTF-8 is
-      provided.  */
-   if (/* Try standardized names.  */
-@@ -176,6 +177,7 @@ AC_DEFUN([AM_ICONV_LINK],
-       /* Try HP-UX names.  */
-       && iconv_open ("utf8", "eucJP") == (iconv_t)(-1))
-     result |= 16;
-+#endif
-   return result;
- ]])],
-           [am_cv_func_iconv_works=yes], ,
--- 
-2.0.1
-
diff --git a/meta/recipes-core/gettext/gettext-minimal-0.19.8.1/aclocal.tgz b/meta/recipes-core/gettext/gettext-minimal-0.19.8.1/aclocal.tgz
deleted file mode 100644
index 9b2d1f561d734df608c9c7a6e29e08131296a5fd..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 40014
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

diff --git a/meta/recipes-core/gettext/gettext-minimal-0.19.8.1/COPYING b/meta/recipes-core/gettext/gettext-minimal-0.20.1/COPYING
similarity index 100%
rename from meta/recipes-core/gettext/gettext-minimal-0.19.8.1/COPYING
rename to meta/recipes-core/gettext/gettext-minimal-0.20.1/COPYING
diff --git a/meta/recipes-core/gettext/gettext-minimal-0.19.8.1/Makefile.in.in b/meta/recipes-core/gettext/gettext-minimal-0.20.1/Makefile.in.in
similarity index 78%
rename from meta/recipes-core/gettext/gettext-minimal-0.19.8.1/Makefile.in.in
rename to meta/recipes-core/gettext/gettext-minimal-0.20.1/Makefile.in.in
index 38c293d2ed2..fdb6ad35881 100644
--- a/meta/recipes-core/gettext/gettext-minimal-0.19.8.1/Makefile.in.in
+++ b/meta/recipes-core/gettext/gettext-minimal-0.20.1/Makefile.in.in
@@ -1,13 +1,14 @@
 # Makefile for PO directory in any package using GNU gettext.
-# Copyright (C) 1995-1997, 2000-2007, 2009-2010 by Ulrich Drepper <drepper@gnu.ai.mit.edu>
+# Copyright (C) 1995-2000 Ulrich Drepper <drepper@gnu.ai.mit.edu>
+# Copyright (C) 2000-2019 Free Software Foundation, Inc.
 #
 # Copying and distribution of this file, with or without modification,
 # are permitted in any medium without royalty provided the copyright
 # notice and this notice are preserved.  This file is offered as-is,
 # without any warranty.
 #
-# Origin: gettext-0.19.8
-GETTEXT_MACRO_VERSION = 0.19
+# Origin: gettext-0.20
+GETTEXT_MACRO_VERSION = 0.20
 
 PACKAGE = @PACKAGE@
 VERSION = @VERSION@
@@ -52,16 +53,13 @@ GMSGFMT_ = @GMSGFMT@
 GMSGFMT_no = @GMSGFMT@
 GMSGFMT_yes = @GMSGFMT_015@
 GMSGFMT = $(GMSGFMT_$(USE_MSGCTXT))
-MSGFMT_ = @MSGFMT@
-MSGFMT_no = @MSGFMT@
-MSGFMT_yes = @MSGFMT_015@
-MSGFMT = $(MSGFMT_$(USE_MSGCTXT))
 XGETTEXT_ = @XGETTEXT@
 XGETTEXT_no = @XGETTEXT@
 XGETTEXT_yes = @XGETTEXT_015@
 XGETTEXT = $(XGETTEXT_$(USE_MSGCTXT))
-MSGMERGE = msgmerge
+MSGMERGE = @MSGMERGE@
 MSGMERGE_UPDATE = @MSGMERGE@ --update
+MSGMERGE_FOR_MSGFMT_OPTION = @MSGMERGE_FOR_MSGFMT_OPTION@
 MSGINIT = msginit
 MSGCONV = msgconv
 MSGFILTER = msgfilter
@@ -93,17 +91,32 @@ DISTFILESDEPS = $(DISTFILESDEPS_$(DIST_DEPENDS_ON_UPDATE_PO))
 # Makevars gets inserted here. (Don't remove this line!)
 
 .SUFFIXES:
-.SUFFIXES: .po .gmo .mo .sed .sin .nop .po-create .po-update
-
-.po.mo:
-	@echo "$(MSGFMT) -c -o $@ $<"; \
-	$(MSGFMT) -c -o t-$@ $< && mv t-$@ $@
-
-.po.gmo:
+.SUFFIXES: .po .gmo .sed .sin .nop .po-create .po-update
+
+# The .pot file, stamp-po, .po files, and .gmo files appear in release tarballs.
+# The GNU Coding Standards say in
+# <https://www.gnu.org/prep/standards/html_node/Makefile-Basics.html>:
+#   "GNU distributions usually contain some files which are not source files
+#    ... . Since these files normally appear in the source directory, they
+#    should always appear in the source directory, not in the build directory.
+#    So Makefile rules to update them should put the updated files in the
+#    source directory."
+# Therefore we put these files in the source directory, not the build directory.
+
+# During .po -> .gmo conversion, take into account the most recent changes to
+# the .pot file. This eliminates the need to update the .po files when the
+# .pot file has changed, which would be troublesome if the .po files are put
+# under version control.
+.po.gmo: $(srcdir)/$(DOMAIN).pot
 	@lang=`echo $* | sed -e 's,.*/,,'`; \
 	test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \
-	echo "$${cdcmd}rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics --verbose -o $${lang}.gmo $${lang}.po"; \
-	cd $(srcdir) && rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics --verbose -o t-$${lang}.gmo $${lang}.po && mv t-$${lang}.gmo $${lang}.gmo
+	echo "$${cdcmd}rm -f $${lang}.gmo && $(MSGMERGE) $(MSGMERGE_FOR_MSGFMT_OPTION) -o $${lang}.1po $${lang}.po $(DOMAIN).pot && $(GMSGFMT) -c --statistics --verbose -o $${lang}.gmo $${lang}.1po && rm -f $${lang}.1po"; \
+	cd $(srcdir) && \
+	rm -f $${lang}.gmo && \
+	$(MSGMERGE) $(MSGMERGE_FOR_MSGFMT_OPTION) -o $${lang}.1po $${lang}.po $(DOMAIN).pot && \
+	$(GMSGFMT) -c --statistics --verbose -o t-$${lang}.gmo $${lang}.1po && \
+	mv t-$${lang}.gmo $${lang}.gmo && \
+	rm -f $${lang}.1po
 
 .sin.sed:
 	sed -e '/^#/d' $< > t-$@
@@ -112,7 +125,7 @@ DISTFILESDEPS = $(DISTFILESDEPS_$(DIST_DEPENDS_ON_UPDATE_PO))
 
 all: all-@USE_NLS@
 
-all-yes: stamp-po
+all-yes: $(srcdir)/stamp-po
 all-no:
 
 # Ensure that the gettext macros and this Makefile.in.in are in sync.
@@ -126,24 +139,24 @@ CHECK_MACRO_VERSION = \
 # internationalized messages, no $(srcdir)/$(DOMAIN).pot is created (because
 # we don't want to bother translators with empty POT files). We assume that
 # LINGUAS is empty in this case, i.e. $(POFILES) and $(GMOFILES) are empty.
-# In this case, stamp-po is a nop (i.e. a phony target).
-
-# stamp-po is a timestamp denoting the last time at which the CATALOGS have
-# been loosely updated. Its purpose is that when a developer or translator
-# checks out the package via CVS, and the $(DOMAIN).pot file is not in CVS,
-# "make" will update the $(DOMAIN).pot and the $(CATALOGS), but subsequent
-# invocations of "make" will do nothing. This timestamp would not be necessary
-# if updating the $(CATALOGS) would always touch them; however, the rule for
-# $(POFILES) has been designed to not touch files that don't need to be
-# changed.
-stamp-po: $(srcdir)/$(DOMAIN).pot
+# In this case, $(srcdir)/stamp-po is a nop (i.e. a phony target).
+
+# $(srcdir)/stamp-po is a timestamp denoting the last time at which the CATALOGS
+# have been loosely updated. Its purpose is that when a developer or translator
+# checks out the package from a version control system, and the $(DOMAIN).pot
+# file is not under version control, "make" will update the $(DOMAIN).pot and
+# the $(CATALOGS), but subsequent invocations of "make" will do nothing. This
+# timestamp would not be necessary if updating the $(CATALOGS) would always
+# touch them; however, the rule for $(POFILES) has been designed to not touch
+# files that don't need to be changed.
+$(srcdir)/stamp-po: $(srcdir)/$(DOMAIN).pot
 	@$(CHECK_MACRO_VERSION)
 	test ! -f $(srcdir)/$(DOMAIN).pot || \
 	  test -z "$(GMOFILES)" || $(MAKE) $(GMOFILES)
 	@test ! -f $(srcdir)/$(DOMAIN).pot || { \
-	  echo "touch stamp-po" && \
-	  echo timestamp > stamp-poT && \
-	  mv stamp-poT stamp-po; \
+	  echo "touch $(srcdir)/stamp-po" && \
+	  echo timestamp > $(srcdir)/stamp-poT && \
+	  mv $(srcdir)/stamp-poT $(srcdir)/stamp-po; \
 	}
 
 # Note: Target 'all' must not depend on target '$(DOMAIN).pot-update',
@@ -159,11 +172,9 @@ $(DOMAIN).pot-update: $(POTFILES) $(srcdir)/POTFILES.in remove-potcdate.sed
 	package_gnu="$(PACKAGE_GNU)"; \
 	test -n "$$package_gnu" || { \
 	  if { if (LC_ALL=C find --version) 2>/dev/null | grep GNU >/dev/null; then \
-		 LC_ALL=C find -L $(top_srcdir) -maxdepth 1 -type f \
-			       -size -10000000c -exec grep 'GNU @PACKAGE@' \
-			       /dev/null '{}' ';' 2>/dev/null; \
+	         LC_ALL=C find -L $(top_srcdir) -maxdepth 1 -type f -size -10000000c -exec grep -i 'GNU @PACKAGE@' /dev/null '{}' ';' 2>/dev/null; \
 	       else \
-		 LC_ALL=C grep 'GNU @PACKAGE@' $(top_srcdir)/* 2>/dev/null; \
+	         LC_ALL=C grep -i 'GNU @PACKAGE@' $(top_srcdir)/* 2>/dev/null; \
 	       fi; \
 	     } | grep -v 'libtool:' >/dev/null; then \
 	     package_gnu=yes; \
@@ -184,26 +195,29 @@ $(DOMAIN).pot-update: $(POTFILES) $(srcdir)/POTFILES.in remove-potcdate.sed
 	case `$(XGETTEXT) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \
 	  '' | 0.[0-9] | 0.[0-9].* | 0.1[0-5] | 0.1[0-5].* | 0.16 | 0.16.[0-1]*) \
 	    $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \
-	      --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \
+	      --add-comments=TRANSLATORS: \
 	      --files-from=$(srcdir)/POTFILES.in \
 	      --copyright-holder='$(COPYRIGHT_HOLDER)' \
 	      --msgid-bugs-address="$$msgid_bugs_address" \
+	      $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \
 	    ;; \
 	  *) \
 	    $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \
-	      --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \
+	      --add-comments=TRANSLATORS: \
 	      --files-from=$(srcdir)/POTFILES.in \
 	      --copyright-holder='$(COPYRIGHT_HOLDER)' \
 	      --package-name="$${package_prefix}@PACKAGE@" \
 	      --package-version='@VERSION@' \
 	      --msgid-bugs-address="$$msgid_bugs_address" \
+	      $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \
 	    ;; \
 	esac
 	test ! -f $(DOMAIN).po || { \
 	  if test -f $(srcdir)/$(DOMAIN).pot-header; then \
 	    sed -e '1,/^#$$/d' < $(DOMAIN).po > $(DOMAIN).1po && \
-	    cat $(srcdir)/$(DOMAIN).pot-header $(DOMAIN).1po > $(DOMAIN).po; \
-	    rm -f $(DOMAIN).1po; \
+	    cat $(srcdir)/$(DOMAIN).pot-header $(DOMAIN).1po > $(DOMAIN).po && \
+	    rm -f $(DOMAIN).1po \
+	    || exit 1; \
 	  fi; \
 	  if test -f $(srcdir)/$(DOMAIN).pot; then \
 	    sed -f remove-potcdate.sed < $(srcdir)/$(DOMAIN).pot > $(DOMAIN).1po && \
@@ -228,17 +242,19 @@ $(srcdir)/$(DOMAIN).pot:
 # This target rebuilds a PO file if $(DOMAIN).pot has changed.
 # Note that a PO file is not touched if it doesn't need to be changed.
 $(POFILES): $(POFILESDEPS)
+	@test -f $(srcdir)/$(DOMAIN).pot || $(MAKE) $(srcdir)/$(DOMAIN).pot
 	@lang=`echo $@ | sed -e 's,.*/,,' -e 's/\.po$$//'`; \
 	if test -f "$(srcdir)/$${lang}.po"; then \
-	  test -f $(srcdir)/$(DOMAIN).pot || $(MAKE) $(srcdir)/$(DOMAIN).pot; \
 	  test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \
-	  echo "$${cdcmd}$(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} $${lang}.po $(DOMAIN).pot"; \
+	  echo "$${cdcmd}$(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} --previous $${lang}.po $(DOMAIN).pot"; \
 	  cd $(srcdir) \
-	    && { case `$(MSGMERGE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \
-	           '' | 0.[0-9] | 0.[0-9].* | 0.1[0-7] | 0.1[0-7].*) \
+	    && { case `$(MSGMERGE_UPDATE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \
+	           '' | 0.[0-9] | 0.[0-9].* | 0.1[0-5] | 0.1[0-5].*) \
 	             $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) $${lang}.po $(DOMAIN).pot;; \
+	           0.1[6-7] | 0.1[6-7].*) \
+	             $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --previous $${lang}.po $(DOMAIN).pot;; \
 	           *) \
-	             $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} $${lang}.po $(DOMAIN).pot;; \
+	             $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} --previous $${lang}.po $(DOMAIN).pot;; \
 	         esac; \
 	       }; \
 	else \
@@ -373,28 +389,30 @@ check: all
 
 info dvi ps pdf html tags TAGS ctags CTAGS ID:
 
+install-dvi install-ps install-pdf install-html:
+
 mostlyclean:
 	rm -f remove-potcdate.sed
-	rm -f stamp-poT
+	rm -f $(srcdir)/stamp-poT
 	rm -f core core.* $(DOMAIN).po $(DOMAIN).1po $(DOMAIN).2po *.new.po
 	rm -fr *.o
 
 clean: mostlyclean
 
 distclean: clean
-	rm -f Makefile Makefile.in POTFILES *.mo
+	rm -f Makefile Makefile.in POTFILES
 
 maintainer-clean: distclean
 	@echo "This command is intended for maintainers to use;"
 	@echo "it deletes files that may require special tools to rebuild."
-	rm -f stamp-po $(GMOFILES)
+	rm -f $(srcdir)/$(DOMAIN).pot $(srcdir)/stamp-po $(GMOFILES)
 
 distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
 dist distdir:
 	test -z "$(DISTFILESDEPS)" || $(MAKE) $(DISTFILESDEPS)
 	@$(MAKE) dist2
 # This is a separate target because 'update-po' must be executed before.
-dist2: stamp-po $(DISTFILES)
+dist2: $(srcdir)/stamp-po $(DISTFILES)
 	dists="$(DISTFILES)"; \
 	if test "$(PACKAGE)" = "gettext-tools"; then \
 	  dists="$$dists Makevars.template"; \
@@ -439,13 +457,15 @@ update-po: Makefile
 	tmpdir=`pwd`; \
 	echo "$$lang:"; \
 	test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \
-	echo "$${cdcmd}$(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang $$lang.po $(DOMAIN).pot -o $$lang.new.po"; \
+	echo "$${cdcmd}$(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang --previous $$lang.po $(DOMAIN).pot -o $$lang.new.po"; \
 	cd $(srcdir); \
 	if { case `$(MSGMERGE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \
-	       '' | 0.[0-9] | 0.[0-9].* | 0.1[0-7] | 0.1[0-7].*) \
+	       '' | 0.[0-9] | 0.[0-9].* | 0.1[0-5] | 0.1[0-5].*) \
 	         $(MSGMERGE) $(MSGMERGE_OPTIONS) -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \
+	       0.1[6-7] | 0.1[6-7].*) \
+	         $(MSGMERGE) $(MSGMERGE_OPTIONS) --previous -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \
 	       *) \
-	         $(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \
+	         $(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang --previous -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \
 	     esac; \
 	   }; then \
 	  if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \
diff --git a/meta/recipes-core/gettext/gettext-minimal-0.20.1/aclocal/gettext.m4 b/meta/recipes-core/gettext/gettext-minimal-0.20.1/aclocal/gettext.m4
new file mode 100644
index 00000000000..e7832418ea1
--- /dev/null
+++ b/meta/recipes-core/gettext/gettext-minimal-0.20.1/aclocal/gettext.m4
@@ -0,0 +1,386 @@
+# gettext.m4 serial 70 (gettext-0.20)
+dnl Copyright (C) 1995-2014, 2016, 2018 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+dnl
+dnl This file can be used in projects which are not available under
+dnl the GNU General Public License or the GNU Library General Public
+dnl License but which still want to provide support for the GNU gettext
+dnl functionality.
+dnl Please note that the actual code of the GNU gettext library is covered
+dnl by the GNU Library General Public License, and the rest of the GNU
+dnl gettext package is covered by the GNU General Public License.
+dnl They are *not* in the public domain.
+
+dnl Authors:
+dnl   Ulrich Drepper <drepper@cygnus.com>, 1995-2000.
+dnl   Bruno Haible <haible@clisp.cons.org>, 2000-2006, 2008-2010.
+
+dnl Macro to add for using GNU gettext.
+
+dnl Usage: AM_GNU_GETTEXT([INTLSYMBOL], [NEEDSYMBOL], [INTLDIR]).
+dnl INTLSYMBOL must be one of 'external', 'use-libtool'.
+dnl    INTLSYMBOL should be 'external' for packages other than GNU gettext, and
+dnl    'use-libtool' for the packages 'gettext-runtime' and 'gettext-tools'.
+dnl    If INTLSYMBOL is 'use-libtool', then a libtool library
+dnl    $(top_builddir)/intl/libintl.la will be created (shared and/or static,
+dnl    depending on --{enable,disable}-{shared,static} and on the presence of
+dnl    AM-DISABLE-SHARED).
+dnl If NEEDSYMBOL is specified and is 'need-ngettext', then GNU gettext
+dnl    implementations (in libc or libintl) without the ngettext() function
+dnl    will be ignored.  If NEEDSYMBOL is specified and is
+dnl    'need-formatstring-macros', then GNU gettext implementations that don't
+dnl    support the ISO C 99 <inttypes.h> formatstring macros will be ignored.
+dnl INTLDIR is used to find the intl libraries.  If empty,
+dnl    the value '$(top_builddir)/intl/' is used.
+dnl
+dnl The result of the configuration is one of three cases:
+dnl 1) GNU gettext, as included in the intl subdirectory, will be compiled
+dnl    and used.
+dnl    Catalog format: GNU --> install in $(datadir)
+dnl    Catalog extension: .mo after installation, .gmo in source tree
+dnl 2) GNU gettext has been found in the system's C library.
+dnl    Catalog format: GNU --> install in $(datadir)
+dnl    Catalog extension: .mo after installation, .gmo in source tree
+dnl 3) No internationalization, always use English msgid.
+dnl    Catalog format: none
+dnl    Catalog extension: none
+dnl If INTLSYMBOL is 'external', only cases 2 and 3 can occur.
+dnl The use of .gmo is historical (it was needed to avoid overwriting the
+dnl GNU format catalogs when building on a platform with an X/Open gettext),
+dnl but we keep it in order not to force irrelevant filename changes on the
+dnl maintainers.
+dnl
+AC_DEFUN([AM_GNU_GETTEXT],
+[
+  dnl Argument checking.
+  ifelse([$1], [], , [ifelse([$1], [external], , [ifelse([$1], [use-libtool], ,
+    [errprint([ERROR: invalid first argument to AM_GNU_GETTEXT
+])])])])
+  ifelse(ifelse([$1], [], [old])[]ifelse([$1], [no-libtool], [old]), [old],
+    [errprint([ERROR: Use of AM_GNU_GETTEXT without [external] argument is no longer supported.
+])])
+  ifelse([$2], [], , [ifelse([$2], [need-ngettext], , [ifelse([$2], [need-formatstring-macros], ,
+    [errprint([ERROR: invalid second argument to AM_GNU_GETTEXT
+])])])])
+  define([gt_included_intl],
+    ifelse([$1], [external], [no], [yes]))
+  gt_NEEDS_INIT
+  AM_GNU_GETTEXT_NEED([$2])
+
+  AC_REQUIRE([AM_PO_SUBDIRS])dnl
+  ifelse(gt_included_intl, yes, [
+    AC_REQUIRE([AM_INTL_SUBDIR])dnl
+  ])
+
+  dnl Prerequisites of AC_LIB_LINKFLAGS_BODY.
+  AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
+  AC_REQUIRE([AC_LIB_RPATH])
+
+  dnl Sometimes libintl requires libiconv, so first search for libiconv.
+  dnl Ideally we would do this search only after the
+  dnl      if test "$USE_NLS" = "yes"; then
+  dnl        if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" != "yes"; }; then
+  dnl tests. But if configure.in invokes AM_ICONV after AM_GNU_GETTEXT
+  dnl the configure script would need to contain the same shell code
+  dnl again, outside any 'if'. There are two solutions:
+  dnl - Invoke AM_ICONV_LINKFLAGS_BODY here, outside any 'if'.
+  dnl - Control the expansions in more detail using AC_PROVIDE_IFELSE.
+  dnl Since AC_PROVIDE_IFELSE is not documented, we avoid it.
+  ifelse(gt_included_intl, yes, , [
+    AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY])
+  ])
+
+  dnl Sometimes, on Mac OS X, libintl requires linking with CoreFoundation.
+  gt_INTL_MACOSX
+
+  dnl Set USE_NLS.
+  AC_REQUIRE([AM_NLS])
+
+  ifelse(gt_included_intl, yes, [
+    BUILD_INCLUDED_LIBINTL=no
+    USE_INCLUDED_LIBINTL=no
+  ])
+  LIBINTL=
+  LTLIBINTL=
+  POSUB=
+
+  dnl Add a version number to the cache macros.
+  case " $gt_needs " in
+    *" need-formatstring-macros "*) gt_api_version=3 ;;
+    *" need-ngettext "*) gt_api_version=2 ;;
+    *) gt_api_version=1 ;;
+  esac
+  gt_func_gnugettext_libc="gt_cv_func_gnugettext${gt_api_version}_libc"
+  gt_func_gnugettext_libintl="gt_cv_func_gnugettext${gt_api_version}_libintl"
+
+  dnl If we use NLS figure out what method
+  if test "$USE_NLS" = "yes"; then
+    gt_use_preinstalled_gnugettext=no
+    ifelse(gt_included_intl, yes, [
+      AC_MSG_CHECKING([whether included gettext is requested])
+      AC_ARG_WITH([included-gettext],
+        [  --with-included-gettext use the GNU gettext library included here],
+        nls_cv_force_use_gnu_gettext=$withval,
+        nls_cv_force_use_gnu_gettext=no)
+      AC_MSG_RESULT([$nls_cv_force_use_gnu_gettext])
+
+      nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext"
+      if test "$nls_cv_force_use_gnu_gettext" != "yes"; then
+    ])
+        dnl User does not insist on using GNU NLS library.  Figure out what
+        dnl to use.  If GNU gettext is available we use this.  Else we have
+        dnl to fall back to GNU NLS library.
+
+        if test $gt_api_version -ge 3; then
+          gt_revision_test_code='
+#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
+#define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1)
+#endif
+changequote(,)dnl
+typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1];
+changequote([,])dnl
+'
+        else
+          gt_revision_test_code=
+        fi
+        if test $gt_api_version -ge 2; then
+          gt_expression_test_code=' + * ngettext ("", "", 0)'
+        else
+          gt_expression_test_code=
+        fi
+
+        AC_CACHE_CHECK([for GNU gettext in libc], [$gt_func_gnugettext_libc],
+         [AC_LINK_IFELSE(
+            [AC_LANG_PROGRAM(
+               [[
+#include <libintl.h>
+#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
+extern int _nl_msg_cat_cntr;
+extern int *_nl_domain_bindings;
+#define __GNU_GETTEXT_SYMBOL_EXPRESSION (_nl_msg_cat_cntr + *_nl_domain_bindings)
+#else
+#define __GNU_GETTEXT_SYMBOL_EXPRESSION 0
+#endif
+$gt_revision_test_code
+               ]],
+               [[
+bindtextdomain ("", "");
+return * gettext ("")$gt_expression_test_code + __GNU_GETTEXT_SYMBOL_EXPRESSION
+               ]])],
+            [eval "$gt_func_gnugettext_libc=yes"],
+            [eval "$gt_func_gnugettext_libc=no"])])
+
+        if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" != "yes"; }; then
+          dnl Sometimes libintl requires libiconv, so first search for libiconv.
+          ifelse(gt_included_intl, yes, , [
+            AM_ICONV_LINK
+          ])
+          dnl Search for libintl and define LIBINTL, LTLIBINTL and INCINTL
+          dnl accordingly. Don't use AC_LIB_LINKFLAGS_BODY([intl],[iconv])
+          dnl because that would add "-liconv" to LIBINTL and LTLIBINTL
+          dnl even if libiconv doesn't exist.
+          AC_LIB_LINKFLAGS_BODY([intl])
+          AC_CACHE_CHECK([for GNU gettext in libintl],
+            [$gt_func_gnugettext_libintl],
+           [gt_save_CPPFLAGS="$CPPFLAGS"
+            CPPFLAGS="$CPPFLAGS $INCINTL"
+            gt_save_LIBS="$LIBS"
+            LIBS="$LIBS $LIBINTL"
+            dnl Now see whether libintl exists and does not depend on libiconv.
+            AC_LINK_IFELSE(
+              [AC_LANG_PROGRAM(
+                 [[
+#include <libintl.h>
+#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
+extern int _nl_msg_cat_cntr;
+extern
+#ifdef __cplusplus
+"C"
+#endif
+const char *_nl_expand_alias (const char *);
+#define __GNU_GETTEXT_SYMBOL_EXPRESSION (_nl_msg_cat_cntr + *_nl_expand_alias (""))
+#else
+#define __GNU_GETTEXT_SYMBOL_EXPRESSION 0
+#endif
+$gt_revision_test_code
+                 ]],
+                 [[
+bindtextdomain ("", "");
+return * gettext ("")$gt_expression_test_code + __GNU_GETTEXT_SYMBOL_EXPRESSION
+                 ]])],
+              [eval "$gt_func_gnugettext_libintl=yes"],
+              [eval "$gt_func_gnugettext_libintl=no"])
+            dnl Now see whether libintl exists and depends on libiconv.
+            if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" != yes; } && test -n "$LIBICONV"; then
+              LIBS="$LIBS $LIBICONV"
+              AC_LINK_IFELSE(
+                [AC_LANG_PROGRAM(
+                   [[
+#include <libintl.h>
+#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
+extern int _nl_msg_cat_cntr;
+extern
+#ifdef __cplusplus
+"C"
+#endif
+const char *_nl_expand_alias (const char *);
+#define __GNU_GETTEXT_SYMBOL_EXPRESSION (_nl_msg_cat_cntr + *_nl_expand_alias (""))
+#else
+#define __GNU_GETTEXT_SYMBOL_EXPRESSION 0
+#endif
+$gt_revision_test_code
+                   ]],
+                   [[
+bindtextdomain ("", "");
+return * gettext ("")$gt_expression_test_code + __GNU_GETTEXT_SYMBOL_EXPRESSION
+                   ]])],
+                [LIBINTL="$LIBINTL $LIBICONV"
+                 LTLIBINTL="$LTLIBINTL $LTLIBICONV"
+                 eval "$gt_func_gnugettext_libintl=yes"
+                ])
+            fi
+            CPPFLAGS="$gt_save_CPPFLAGS"
+            LIBS="$gt_save_LIBS"])
+        fi
+
+        dnl If an already present or preinstalled GNU gettext() is found,
+        dnl use it.  But if this macro is used in GNU gettext, and GNU
+        dnl gettext is already preinstalled in libintl, we update this
+        dnl libintl.  (Cf. the install rule in intl/Makefile.in.)
+        if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" = "yes"; } \
+           || { { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; } \
+                && test "$PACKAGE" != gettext-runtime \
+                && test "$PACKAGE" != gettext-tools; }; then
+          gt_use_preinstalled_gnugettext=yes
+        else
+          dnl Reset the values set by searching for libintl.
+          LIBINTL=
+          LTLIBINTL=
+          INCINTL=
+        fi
+
+    ifelse(gt_included_intl, yes, [
+        if test "$gt_use_preinstalled_gnugettext" != "yes"; then
+          dnl GNU gettext is not found in the C library.
+          dnl Fall back on included GNU gettext library.
+          nls_cv_use_gnu_gettext=yes
+        fi
+      fi
+
+      if test "$nls_cv_use_gnu_gettext" = "yes"; then
+        dnl Mark actions used to generate GNU NLS library.
+        BUILD_INCLUDED_LIBINTL=yes
+        USE_INCLUDED_LIBINTL=yes
+        LIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.la $LIBICONV $LIBTHREAD"
+        LTLIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.la $LTLIBICONV $LTLIBTHREAD"
+        LIBS=`echo " $LIBS " | sed -e 's/ -lintl / /' -e 's/^ //' -e 's/ $//'`
+      fi
+
+      CATOBJEXT=
+      if test "$gt_use_preinstalled_gnugettext" = "yes" \
+         || test "$nls_cv_use_gnu_gettext" = "yes"; then
+        dnl Mark actions to use GNU gettext tools.
+        CATOBJEXT=.gmo
+      fi
+    ])
+
+    if test -n "$INTL_MACOSX_LIBS"; then
+      if test "$gt_use_preinstalled_gnugettext" = "yes" \
+         || test "$nls_cv_use_gnu_gettext" = "yes"; then
+        dnl Some extra flags are needed during linking.
+        LIBINTL="$LIBINTL $INTL_MACOSX_LIBS"
+        LTLIBINTL="$LTLIBINTL $INTL_MACOSX_LIBS"
+      fi
+    fi
+
+    if test "$gt_use_preinstalled_gnugettext" = "yes" \
+       || test "$nls_cv_use_gnu_gettext" = "yes"; then
+      AC_DEFINE([ENABLE_NLS], [1],
+        [Define to 1 if translation of program messages to the user's native language
+   is requested.])
+    else
+      USE_NLS=no
+    fi
+  fi
+
+  AC_MSG_CHECKING([whether to use NLS])
+  AC_MSG_RESULT([$USE_NLS])
+  if test "$USE_NLS" = "yes"; then
+    AC_MSG_CHECKING([where the gettext function comes from])
+    if test "$gt_use_preinstalled_gnugettext" = "yes"; then
+      if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then
+        gt_source="external libintl"
+      else
+        gt_source="libc"
+      fi
+    else
+      gt_source="included intl directory"
+    fi
+    AC_MSG_RESULT([$gt_source])
+  fi
+
+  if test "$USE_NLS" = "yes"; then
+
+    if test "$gt_use_preinstalled_gnugettext" = "yes"; then
+      if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then
+        AC_MSG_CHECKING([how to link with libintl])
+        AC_MSG_RESULT([$LIBINTL])
+        AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCINTL])
+      fi
+
+      dnl For backward compatibility. Some packages may be using this.
+      AC_DEFINE([HAVE_GETTEXT], [1],
+       [Define if the GNU gettext() function is already present or preinstalled.])
+      AC_DEFINE([HAVE_DCGETTEXT], [1],
+       [Define if the GNU dcgettext() function is already present or preinstalled.])
+    fi
+
+    dnl We need to process the po/ directory.
+    POSUB=po
+  fi
+
+  ifelse(gt_included_intl, yes, [
+    dnl In GNU gettext we have to set BUILD_INCLUDED_LIBINTL to 'yes'
+    dnl because some of the testsuite requires it.
+    BUILD_INCLUDED_LIBINTL=yes
+
+    dnl Make all variables we use known to autoconf.
+    AC_SUBST([BUILD_INCLUDED_LIBINTL])
+    AC_SUBST([USE_INCLUDED_LIBINTL])
+    AC_SUBST([CATOBJEXT])
+  ])
+
+  dnl For backward compatibility. Some Makefiles may be using this.
+  INTLLIBS="$LIBINTL"
+  AC_SUBST([INTLLIBS])
+
+  dnl Make all documented variables known to autoconf.
+  AC_SUBST([LIBINTL])
+  AC_SUBST([LTLIBINTL])
+  AC_SUBST([POSUB])
+])
+
+
+dnl gt_NEEDS_INIT ensures that the gt_needs variable is initialized.
+m4_define([gt_NEEDS_INIT],
+[
+  m4_divert_text([DEFAULTS], [gt_needs=])
+  m4_define([gt_NEEDS_INIT], [])
+])
+
+
+dnl Usage: AM_GNU_GETTEXT_NEED([NEEDSYMBOL])
+AC_DEFUN([AM_GNU_GETTEXT_NEED],
+[
+  m4_divert_text([INIT_PREPARE], [gt_needs="$gt_needs $1"])
+])
+
+
+dnl Usage: AM_GNU_GETTEXT_VERSION([gettext-version])
+AC_DEFUN([AM_GNU_GETTEXT_VERSION], [])
+
+
+dnl Usage: AM_GNU_GETTEXT_REQUIRE_VERSION([gettext-version])
+AC_DEFUN([AM_GNU_GETTEXT_REQUIRE_VERSION], [])
diff --git a/meta/recipes-core/gettext/gettext-minimal-0.20.1/aclocal/host-cpu-c-abi.m4 b/meta/recipes-core/gettext/gettext-minimal-0.20.1/aclocal/host-cpu-c-abi.m4
new file mode 100644
index 00000000000..4407296d084
--- /dev/null
+++ b/meta/recipes-core/gettext/gettext-minimal-0.20.1/aclocal/host-cpu-c-abi.m4
@@ -0,0 +1,644 @@
+# host-cpu-c-abi.m4 serial 11
+dnl Copyright (C) 2002-2019 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl From Bruno Haible and Sam Steingold.
+
+dnl Sets the HOST_CPU variable to the canonical name of the CPU.
+dnl Sets the HOST_CPU_C_ABI variable to the canonical name of the CPU with its
+dnl C language ABI (application binary interface).
+dnl Also defines __${HOST_CPU}__ and __${HOST_CPU_C_ABI}__ as C macros in
+dnl config.h.
+dnl
+dnl This canonical name can be used to select a particular assembly language
+dnl source file that will interoperate with C code on the given host.
+dnl
+dnl For example:
+dnl * 'i386' and 'sparc' are different canonical names, because code for i386
+dnl   will not run on SPARC CPUs and vice versa. They have different
+dnl   instruction sets.
+dnl * 'sparc' and 'sparc64' are different canonical names, because code for
+dnl   'sparc' and code for 'sparc64' cannot be linked together: 'sparc' code
+dnl   contains 32-bit instructions, whereas 'sparc64' code contains 64-bit
+dnl   instructions. A process on a SPARC CPU can be in 32-bit mode or in 64-bit
+dnl   mode, but not both.
+dnl * 'mips' and 'mipsn32' are different canonical names, because they use
+dnl   different argument passing and return conventions for C functions, and
+dnl   although the instruction set of 'mips' is a large subset of the
+dnl   instruction set of 'mipsn32'.
+dnl * 'mipsn32' and 'mips64' are different canonical names, because they use
+dnl   different sizes for the C types like 'int' and 'void *', and although
+dnl   the instruction sets of 'mipsn32' and 'mips64' are the same.
+dnl * The same canonical name is used for different endiannesses. You can
+dnl   determine the endianness through preprocessor symbols:
+dnl   - 'arm': test __ARMEL__.
+dnl   - 'mips', 'mipsn32', 'mips64': test _MIPSEB vs. _MIPSEL.
+dnl   - 'powerpc64': test _BIG_ENDIAN vs. _LITTLE_ENDIAN.
+dnl * The same name 'i386' is used for CPUs of type i386, i486, i586
+dnl   (Pentium), AMD K7, Pentium II, Pentium IV, etc., because
+dnl   - Instructions that do not exist on all of these CPUs (cmpxchg,
+dnl     MMX, SSE, SSE2, 3DNow! etc.) are not frequently used. If your
+dnl     assembly language source files use such instructions, you will
+dnl     need to make the distinction.
+dnl   - Speed of execution of the common instruction set is reasonable across
+dnl     the entire family of CPUs. If you have assembly language source files
+dnl     that are optimized for particular CPU types (like GNU gmp has), you
+dnl     will need to make the distinction.
+dnl   See <https://en.wikipedia.org/wiki/X86_instruction_listings>.
+AC_DEFUN([gl_HOST_CPU_C_ABI],
+[
+  AC_REQUIRE([AC_CANONICAL_HOST])
+  AC_REQUIRE([gl_C_ASM])
+  AC_CACHE_CHECK([host CPU and C ABI], [gl_cv_host_cpu_c_abi],
+    [case "$host_cpu" in
+
+changequote(,)dnl
+       i[4567]86 )
+changequote([,])dnl
+         gl_cv_host_cpu_c_abi=i386
+         ;;
+
+       x86_64 )
+         # On x86_64 systems, the C compiler may be generating code in one of
+         # these ABIs:
+         # - 64-bit instruction set, 64-bit pointers, 64-bit 'long': x86_64.
+         # - 64-bit instruction set, 64-bit pointers, 32-bit 'long': x86_64
+         #   with native Windows (mingw, MSVC).
+         # - 64-bit instruction set, 32-bit pointers, 32-bit 'long': x86_64-x32.
+         # - 32-bit instruction set, 32-bit pointers, 32-bit 'long': i386.
+         AC_COMPILE_IFELSE(
+           [AC_LANG_SOURCE(
+              [[#if (defined __x86_64__ || defined __amd64__ \
+                     || defined _M_X64 || defined _M_AMD64)
+                 int ok;
+                #else
+                 error fail
+                #endif
+              ]])],
+           [AC_COMPILE_IFELSE(
+              [AC_LANG_SOURCE(
+                 [[#if defined __ILP32__ || defined _ILP32
+                    int ok;
+                   #else
+                    error fail
+                   #endif
+                 ]])],
+              [gl_cv_host_cpu_c_abi=x86_64-x32],
+              [gl_cv_host_cpu_c_abi=x86_64])],
+           [gl_cv_host_cpu_c_abi=i386])
+         ;;
+
+changequote(,)dnl
+       alphaev[4-8] | alphaev56 | alphapca5[67] | alphaev6[78] )
+changequote([,])dnl
+         gl_cv_host_cpu_c_abi=alpha
+         ;;
+
+       arm* | aarch64 )
+         # Assume arm with EABI.
+         # On arm64 systems, the C compiler may be generating code in one of
+         # these ABIs:
+         # - aarch64 instruction set, 64-bit pointers, 64-bit 'long': arm64.
+         # - aarch64 instruction set, 32-bit pointers, 32-bit 'long': arm64-ilp32.
+         # - 32-bit instruction set, 32-bit pointers, 32-bit 'long': arm or armhf.
+         AC_COMPILE_IFELSE(
+           [AC_LANG_SOURCE(
+              [[#ifdef __aarch64__
+                 int ok;
+                #else
+                 error fail
+                #endif
+              ]])],
+           [AC_COMPILE_IFELSE(
+              [AC_LANG_SOURCE(
+                [[#if defined __ILP32__ || defined _ILP32
+                   int ok;
+                  #else
+                   error fail
+                  #endif
+                ]])],
+              [gl_cv_host_cpu_c_abi=arm64-ilp32],
+              [gl_cv_host_cpu_c_abi=arm64])],
+           [# Don't distinguish little-endian and big-endian arm, since they
+            # don't require different machine code for simple operations and
+            # since the user can distinguish them through the preprocessor
+            # defines __ARMEL__ vs. __ARMEB__.
+            # But distinguish arm which passes floating-point arguments and
+            # return values in integer registers (r0, r1, ...) - this is
+            # gcc -mfloat-abi=soft or gcc -mfloat-abi=softfp - from arm which
+            # passes them in float registers (s0, s1, ...) and double registers
+            # (d0, d1, ...) - this is gcc -mfloat-abi=hard. GCC 4.6 or newer
+            # sets the preprocessor defines __ARM_PCS (for the first case) and
+            # __ARM_PCS_VFP (for the second case), but older GCC does not.
+            echo 'double ddd; void func (double dd) { ddd = dd; }' > conftest.c
+            # Look for a reference to the register d0 in the .s file.
+            AC_TRY_COMMAND(${CC-cc} $CFLAGS $CPPFLAGS $gl_c_asm_opt conftest.c) >/dev/null 2>&1
+            if LC_ALL=C grep 'd0,' conftest.$gl_asmext >/dev/null; then
+              gl_cv_host_cpu_c_abi=armhf
+            else
+              gl_cv_host_cpu_c_abi=arm
+            fi
+            rm -f conftest*
+           ])
+         ;;
+
+       hppa1.0 | hppa1.1 | hppa2.0* | hppa64 )
+         # On hppa, the C compiler may be generating 32-bit code or 64-bit
+         # code. In the latter case, it defines _LP64 and __LP64__.
+         AC_COMPILE_IFELSE(
+           [AC_LANG_SOURCE(
+              [[#ifdef __LP64__
+                 int ok;
+                #else
+                 error fail
+                #endif
+              ]])],
+           [gl_cv_host_cpu_c_abi=hppa64],
+           [gl_cv_host_cpu_c_abi=hppa])
+         ;;
+
+       ia64* )
+         # On ia64 on HP-UX, the C compiler may be generating 64-bit code or
+         # 32-bit code. In the latter case, it defines _ILP32.
+         AC_COMPILE_IFELSE(
+           [AC_LANG_SOURCE(
+              [[#ifdef _ILP32
+                 int ok;
+                #else
+                 error fail
+                #endif
+              ]])],
+           [gl_cv_host_cpu_c_abi=ia64-ilp32],
+           [gl_cv_host_cpu_c_abi=ia64])
+         ;;
+
+       mips* )
+         # We should also check for (_MIPS_SZPTR == 64), but gcc keeps this
+         # at 32.
+         AC_COMPILE_IFELSE(
+           [AC_LANG_SOURCE(
+              [[#if defined _MIPS_SZLONG && (_MIPS_SZLONG == 64)
+                 int ok;
+                #else
+                 error fail
+                #endif
+              ]])],
+           [gl_cv_host_cpu_c_abi=mips64],
+           [# In the n32 ABI, _ABIN32 is defined, _ABIO32 is not defined (but
+            # may later get defined by <sgidefs.h>), and _MIPS_SIM == _ABIN32.
+            # In the 32 ABI, _ABIO32 is defined, _ABIN32 is not defined (but
+            # may later get defined by <sgidefs.h>), and _MIPS_SIM == _ABIO32.
+            AC_COMPILE_IFELSE(
+              [AC_LANG_SOURCE(
+                 [[#if (_MIPS_SIM == _ABIN32)
+                    int ok;
+                   #else
+                    error fail
+                   #endif
+                 ]])],
+              [gl_cv_host_cpu_c_abi=mipsn32],
+              [gl_cv_host_cpu_c_abi=mips])])
+         ;;
+
+       powerpc* )
+         # Different ABIs are in use on AIX vs. Mac OS X vs. Linux,*BSD.
+         # No need to distinguish them here; the caller may distinguish
+         # them based on the OS.
+         # On powerpc64 systems, the C compiler may still be generating
+         # 32-bit code. And on powerpc-ibm-aix systems, the C compiler may
+         # be generating 64-bit code.
+         AC_COMPILE_IFELSE(
+           [AC_LANG_SOURCE(
+              [[#if defined __powerpc64__ || defined _ARCH_PPC64
+                 int ok;
+                #else
+                 error fail
+                #endif
+              ]])],
+           [# On powerpc64, there are two ABIs on Linux: The AIX compatible
+            # one and the ELFv2 one. The latter defines _CALL_ELF=2.
+            AC_COMPILE_IFELSE(
+              [AC_LANG_SOURCE(
+                 [[#if defined _CALL_ELF && _CALL_ELF == 2
+                    int ok;
+                   #else
+                    error fail
+                   #endif
+                 ]])],
+              [gl_cv_host_cpu_c_abi=powerpc64-elfv2],
+              [gl_cv_host_cpu_c_abi=powerpc64])
+           ],
+           [gl_cv_host_cpu_c_abi=powerpc])
+         ;;
+
+       rs6000 )
+         gl_cv_host_cpu_c_abi=powerpc
+         ;;
+
+       riscv32 | riscv64 )
+         # There are 2 architectures (with variants): rv32* and rv64*.
+         AC_COMPILE_IFELSE(
+           [AC_LANG_SOURCE(
+              [[#if __riscv_xlen == 64
+                  int ok;
+                #else
+                  error fail
+                #endif
+              ]])],
+           [cpu=riscv64],
+           [cpu=riscv32])
+         # There are 6 ABIs: ilp32, ilp32f, ilp32d, lp64, lp64f, lp64d.
+         # Size of 'long' and 'void *':
+         AC_COMPILE_IFELSE(
+           [AC_LANG_SOURCE(
+              [[#if defined __LP64__
+                  int ok;
+                #else
+                  error fail
+                #endif
+              ]])],
+           [main_abi=lp64],
+           [main_abi=ilp32])
+         # Float ABIs:
+         # __riscv_float_abi_double:
+         #   'float' and 'double' are passed in floating-point registers.
+         # __riscv_float_abi_single:
+         #   'float' are passed in floating-point registers.
+         # __riscv_float_abi_soft:
+         #   No values are passed in floating-point registers.
+         AC_COMPILE_IFELSE(
+           [AC_LANG_SOURCE(
+              [[#if defined __riscv_float_abi_double
+                  int ok;
+                #else
+                  error fail
+                #endif
+              ]])],
+           [float_abi=d],
+           [AC_COMPILE_IFELSE(
+              [AC_LANG_SOURCE(
+                 [[#if defined __riscv_float_abi_single
+                     int ok;
+                   #else
+                     error fail
+                   #endif
+                 ]])],
+              [float_abi=f],
+              [float_abi=''])
+           ])
+         gl_cv_host_cpu_c_abi="${cpu}-${main_abi}${float_abi}"
+         ;;
+
+       s390* )
+         # On s390x, the C compiler may be generating 64-bit (= s390x) code
+         # or 31-bit (= s390) code.
+         AC_COMPILE_IFELSE(
+           [AC_LANG_SOURCE(
+              [[#if defined __LP64__ || defined __s390x__
+                  int ok;
+                #else
+                  error fail
+                #endif
+              ]])],
+           [gl_cv_host_cpu_c_abi=s390x],
+           [gl_cv_host_cpu_c_abi=s390])
+         ;;
+
+       sparc | sparc64 )
+         # UltraSPARCs running Linux have `uname -m` = "sparc64", but the
+         # C compiler still generates 32-bit code.
+         AC_COMPILE_IFELSE(
+           [AC_LANG_SOURCE(
+              [[#if defined __sparcv9 || defined __arch64__
+                 int ok;
+                #else
+                 error fail
+                #endif
+              ]])],
+           [gl_cv_host_cpu_c_abi=sparc64],
+           [gl_cv_host_cpu_c_abi=sparc])
+         ;;
+
+       *)
+         gl_cv_host_cpu_c_abi="$host_cpu"
+         ;;
+     esac
+    ])
+
+  dnl In most cases, $HOST_CPU and $HOST_CPU_C_ABI are the same.
+  HOST_CPU=`echo "$gl_cv_host_cpu_c_abi" | sed -e 's/-.*//'`
+  HOST_CPU_C_ABI="$gl_cv_host_cpu_c_abi"
+  AC_SUBST([HOST_CPU])
+  AC_SUBST([HOST_CPU_C_ABI])
+
+  # This was
+  #   AC_DEFINE_UNQUOTED([__${HOST_CPU}__])
+  #   AC_DEFINE_UNQUOTED([__${HOST_CPU_C_ABI}__])
+  # earlier, but KAI C++ 3.2d doesn't like this.
+  sed -e 's/-/_/g' >> confdefs.h <<EOF
+#ifndef __${HOST_CPU}__
+#define __${HOST_CPU}__ 1
+#endif
+#ifndef __${HOST_CPU_C_ABI}__
+#define __${HOST_CPU_C_ABI}__ 1
+#endif
+EOF
+  AH_TOP([/* CPU and C ABI indicator */
+#ifndef __i386__
+#undef __i386__
+#endif
+#ifndef __x86_64_x32__
+#undef __x86_64_x32__
+#endif
+#ifndef __x86_64__
+#undef __x86_64__
+#endif
+#ifndef __alpha__
+#undef __alpha__
+#endif
+#ifndef __arm__
+#undef __arm__
+#endif
+#ifndef __armhf__
+#undef __armhf__
+#endif
+#ifndef __arm64_ilp32__
+#undef __arm64_ilp32__
+#endif
+#ifndef __arm64__
+#undef __arm64__
+#endif
+#ifndef __hppa__
+#undef __hppa__
+#endif
+#ifndef __hppa64__
+#undef __hppa64__
+#endif
+#ifndef __ia64_ilp32__
+#undef __ia64_ilp32__
+#endif
+#ifndef __ia64__
+#undef __ia64__
+#endif
+#ifndef __m68k__
+#undef __m68k__
+#endif
+#ifndef __mips__
+#undef __mips__
+#endif
+#ifndef __mipsn32__
+#undef __mipsn32__
+#endif
+#ifndef __mips64__
+#undef __mips64__
+#endif
+#ifndef __powerpc__
+#undef __powerpc__
+#endif
+#ifndef __powerpc64__
+#undef __powerpc64__
+#endif
+#ifndef __powerpc64_elfv2__
+#undef __powerpc64_elfv2__
+#endif
+#ifndef __riscv32__
+#undef __riscv32__
+#endif
+#ifndef __riscv64__
+#undef __riscv64__
+#endif
+#ifndef __riscv32_ilp32__
+#undef __riscv32_ilp32__
+#endif
+#ifndef __riscv32_ilp32f__
+#undef __riscv32_ilp32f__
+#endif
+#ifndef __riscv32_ilp32d__
+#undef __riscv32_ilp32d__
+#endif
+#ifndef __riscv64_ilp32__
+#undef __riscv64_ilp32__
+#endif
+#ifndef __riscv64_ilp32f__
+#undef __riscv64_ilp32f__
+#endif
+#ifndef __riscv64_ilp32d__
+#undef __riscv64_ilp32d__
+#endif
+#ifndef __riscv64_lp64__
+#undef __riscv64_lp64__
+#endif
+#ifndef __riscv64_lp64f__
+#undef __riscv64_lp64f__
+#endif
+#ifndef __riscv64_lp64d__
+#undef __riscv64_lp64d__
+#endif
+#ifndef __s390__
+#undef __s390__
+#endif
+#ifndef __s390x__
+#undef __s390x__
+#endif
+#ifndef __sh__
+#undef __sh__
+#endif
+#ifndef __sparc__
+#undef __sparc__
+#endif
+#ifndef __sparc64__
+#undef __sparc64__
+#endif
+])
+
+])
+
+
+dnl Sets the HOST_CPU_C_ABI_32BIT variable to 'yes' if the C language ABI
+dnl (application binary interface) is a 32-bit one, or to 'no' otherwise.
+dnl This is a simplified variant of gl_HOST_CPU_C_ABI.
+AC_DEFUN([gl_HOST_CPU_C_ABI_32BIT],
+[
+  AC_REQUIRE([AC_CANONICAL_HOST])
+  AC_CACHE_CHECK([32-bit host C ABI], [gl_cv_host_cpu_c_abi_32bit],
+    [if test -n "$gl_cv_host_cpu_c_abi"; then
+       case "$gl_cv_host_cpu_c_abi" in
+         i386 | x86_64-x32 | arm | armhf | arm64-ilp32 | hppa | ia64-ilp32 | mips | mipsn32 | powerpc | riscv*-ilp32* | s390 | sparc)
+           gl_cv_host_cpu_c_abi_32bit=yes ;;
+         *)
+           gl_cv_host_cpu_c_abi_32bit=no ;;
+       esac
+     else
+       case "$host_cpu" in
+
+changequote(,)dnl
+         i[4567]86 )
+changequote([,])dnl
+           gl_cv_host_cpu_c_abi_32bit=yes
+           ;;
+
+         x86_64 )
+           # On x86_64 systems, the C compiler may be generating code in one of
+           # these ABIs:
+           # - 64-bit instruction set, 64-bit pointers, 64-bit 'long': x86_64.
+           # - 64-bit instruction set, 64-bit pointers, 32-bit 'long': x86_64
+           #   with native Windows (mingw, MSVC).
+           # - 64-bit instruction set, 32-bit pointers, 32-bit 'long': x86_64-x32.
+           # - 32-bit instruction set, 32-bit pointers, 32-bit 'long': i386.
+           AC_COMPILE_IFELSE(
+             [AC_LANG_SOURCE(
+                [[#if (defined __x86_64__ || defined __amd64__ \
+                       || defined _M_X64 || defined _M_AMD64) \
+                      && !(defined __ILP32__ || defined _ILP32)
+                   int ok;
+                  #else
+                   error fail
+                  #endif
+                ]])],
+             [gl_cv_host_cpu_c_abi_32bit=no],
+             [gl_cv_host_cpu_c_abi_32bit=yes])
+           ;;
+
+         arm* | aarch64 )
+           # Assume arm with EABI.
+           # On arm64 systems, the C compiler may be generating code in one of
+           # these ABIs:
+           # - aarch64 instruction set, 64-bit pointers, 64-bit 'long': arm64.
+           # - aarch64 instruction set, 32-bit pointers, 32-bit 'long': arm64-ilp32.
+           # - 32-bit instruction set, 32-bit pointers, 32-bit 'long': arm or armhf.
+           AC_COMPILE_IFELSE(
+             [AC_LANG_SOURCE(
+                [[#if defined __aarch64__ && !(defined __ILP32__ || defined _ILP32)
+                   int ok;
+                  #else
+                   error fail
+                  #endif
+                ]])],
+             [gl_cv_host_cpu_c_abi_32bit=no],
+             [gl_cv_host_cpu_c_abi_32bit=yes])
+           ;;
+
+         hppa1.0 | hppa1.1 | hppa2.0* | hppa64 )
+           # On hppa, the C compiler may be generating 32-bit code or 64-bit
+           # code. In the latter case, it defines _LP64 and __LP64__.
+           AC_COMPILE_IFELSE(
+             [AC_LANG_SOURCE(
+                [[#ifdef __LP64__
+                   int ok;
+                  #else
+                   error fail
+                  #endif
+                ]])],
+             [gl_cv_host_cpu_c_abi_32bit=no],
+             [gl_cv_host_cpu_c_abi_32bit=yes])
+           ;;
+
+         ia64* )
+           # On ia64 on HP-UX, the C compiler may be generating 64-bit code or
+           # 32-bit code. In the latter case, it defines _ILP32.
+           AC_COMPILE_IFELSE(
+             [AC_LANG_SOURCE(
+                [[#ifdef _ILP32
+                   int ok;
+                  #else
+                   error fail
+                  #endif
+                ]])],
+             [gl_cv_host_cpu_c_abi_32bit=yes],
+             [gl_cv_host_cpu_c_abi_32bit=no])
+           ;;
+
+         mips* )
+           # We should also check for (_MIPS_SZPTR == 64), but gcc keeps this
+           # at 32.
+           AC_COMPILE_IFELSE(
+             [AC_LANG_SOURCE(
+                [[#if defined _MIPS_SZLONG && (_MIPS_SZLONG == 64)
+                   int ok;
+                  #else
+                   error fail
+                  #endif
+                ]])],
+             [gl_cv_host_cpu_c_abi_32bit=no],
+             [gl_cv_host_cpu_c_abi_32bit=yes])
+           ;;
+
+         powerpc* )
+           # Different ABIs are in use on AIX vs. Mac OS X vs. Linux,*BSD.
+           # No need to distinguish them here; the caller may distinguish
+           # them based on the OS.
+           # On powerpc64 systems, the C compiler may still be generating
+           # 32-bit code. And on powerpc-ibm-aix systems, the C compiler may
+           # be generating 64-bit code.
+           AC_COMPILE_IFELSE(
+             [AC_LANG_SOURCE(
+                [[#if defined __powerpc64__ || defined _ARCH_PPC64
+                   int ok;
+                  #else
+                   error fail
+                  #endif
+                ]])],
+             [gl_cv_host_cpu_c_abi_32bit=no],
+             [gl_cv_host_cpu_c_abi_32bit=yes])
+           ;;
+
+         rs6000 )
+           gl_cv_host_cpu_c_abi_32bit=yes
+           ;;
+
+         riscv32 | riscv64 )
+           # There are 6 ABIs: ilp32, ilp32f, ilp32d, lp64, lp64f, lp64d.
+           # Size of 'long' and 'void *':
+           AC_COMPILE_IFELSE(
+             [AC_LANG_SOURCE(
+                [[#if defined __LP64__
+                    int ok;
+                  #else
+                    error fail
+                  #endif
+                ]])],
+             [gl_cv_host_cpu_c_abi_32bit=no],
+             [gl_cv_host_cpu_c_abi_32bit=yes])
+           ;;
+
+         s390* )
+           # On s390x, the C compiler may be generating 64-bit (= s390x) code
+           # or 31-bit (= s390) code.
+           AC_COMPILE_IFELSE(
+             [AC_LANG_SOURCE(
+                [[#if defined __LP64__ || defined __s390x__
+                    int ok;
+                  #else
+                    error fail
+                  #endif
+                ]])],
+             [gl_cv_host_cpu_c_abi_32bit=no],
+             [gl_cv_host_cpu_c_abi_32bit=yes])
+           ;;
+
+         sparc | sparc64 )
+           # UltraSPARCs running Linux have `uname -m` = "sparc64", but the
+           # C compiler still generates 32-bit code.
+           AC_COMPILE_IFELSE(
+             [AC_LANG_SOURCE(
+                [[#if defined __sparcv9 || defined __arch64__
+                   int ok;
+                  #else
+                   error fail
+                  #endif
+                ]])],
+             [gl_cv_host_cpu_c_abi_32bit=no],
+             [gl_cv_host_cpu_c_abi_32bit=yes])
+           ;;
+
+         *)
+           gl_cv_host_cpu_c_abi_32bit=no
+           ;;
+       esac
+     fi
+    ])
+
+  HOST_CPU_C_ABI_32BIT="$gl_cv_host_cpu_c_abi_32bit"
+])
diff --git a/meta/recipes-core/gettext/gettext-minimal-0.20.1/aclocal/iconv.m4 b/meta/recipes-core/gettext/gettext-minimal-0.20.1/aclocal/iconv.m4
new file mode 100644
index 00000000000..a285e9daa5e
--- /dev/null
+++ b/meta/recipes-core/gettext/gettext-minimal-0.20.1/aclocal/iconv.m4
@@ -0,0 +1,288 @@
+# iconv.m4 serial 21
+dnl Copyright (C) 2000-2002, 2007-2014, 2016-2019 Free Software Foundation,
+dnl Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl From Bruno Haible.
+
+AC_DEFUN([AM_ICONV_LINKFLAGS_BODY],
+[
+  dnl Prerequisites of AC_LIB_LINKFLAGS_BODY.
+  AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
+  AC_REQUIRE([AC_LIB_RPATH])
+
+  dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV
+  dnl accordingly.
+  AC_LIB_LINKFLAGS_BODY([iconv])
+])
+
+AC_DEFUN([AM_ICONV_LINK],
+[
+  dnl Some systems have iconv in libc, some have it in libiconv (OSF/1 and
+  dnl those with the standalone portable GNU libiconv installed).
+  AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
+
+  dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV
+  dnl accordingly.
+  AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY])
+
+  dnl Add $INCICONV to CPPFLAGS before performing the following checks,
+  dnl because if the user has installed libiconv and not disabled its use
+  dnl via --without-libiconv-prefix, he wants to use it. The first
+  dnl AC_LINK_IFELSE will then fail, the second AC_LINK_IFELSE will succeed.
+  am_save_CPPFLAGS="$CPPFLAGS"
+  AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCICONV])
+
+  AC_CACHE_CHECK([for iconv], [am_cv_func_iconv], [
+    am_cv_func_iconv="no, consider installing GNU libiconv"
+    am_cv_lib_iconv=no
+    AC_LINK_IFELSE(
+      [AC_LANG_PROGRAM(
+         [[
+#include <stdlib.h>
+#include <iconv.h>
+         ]],
+         [[iconv_t cd = iconv_open("","");
+           iconv(cd,NULL,NULL,NULL,NULL);
+           iconv_close(cd);]])],
+      [am_cv_func_iconv=yes])
+    if test "$am_cv_func_iconv" != yes; then
+      am_save_LIBS="$LIBS"
+      LIBS="$LIBS $LIBICONV"
+      AC_LINK_IFELSE(
+        [AC_LANG_PROGRAM(
+           [[
+#include <stdlib.h>
+#include <iconv.h>
+           ]],
+           [[iconv_t cd = iconv_open("","");
+             iconv(cd,NULL,NULL,NULL,NULL);
+             iconv_close(cd);]])],
+        [am_cv_lib_iconv=yes]
+        [am_cv_func_iconv=yes])
+      LIBS="$am_save_LIBS"
+    fi
+  ])
+  if test "$am_cv_func_iconv" = yes; then
+    AC_CACHE_CHECK([for working iconv], [am_cv_func_iconv_works], [
+      dnl This tests against bugs in AIX 5.1, AIX 6.1..7.1, HP-UX 11.11,
+      dnl Solaris 10.
+      am_save_LIBS="$LIBS"
+      if test $am_cv_lib_iconv = yes; then
+        LIBS="$LIBS $LIBICONV"
+      fi
+      am_cv_func_iconv_works=no
+      for ac_iconv_const in '' 'const'; do
+        AC_RUN_IFELSE(
+          [AC_LANG_PROGRAM(
+             [[
+#include <iconv.h>
+#include <string.h>
+
+#ifndef ICONV_CONST
+# define ICONV_CONST $ac_iconv_const
+#endif
+             ]],
+             [[int result = 0;
+  /* Test against AIX 5.1 bug: Failures are not distinguishable from successful
+     returns.  */
+  {
+    iconv_t cd_utf8_to_88591 = iconv_open ("ISO8859-1", "UTF-8");
+    if (cd_utf8_to_88591 != (iconv_t)(-1))
+      {
+        static ICONV_CONST char input[] = "\342\202\254"; /* EURO SIGN */
+        char buf[10];
+        ICONV_CONST char *inptr = input;
+        size_t inbytesleft = strlen (input);
+        char *outptr = buf;
+        size_t outbytesleft = sizeof (buf);
+        size_t res = iconv (cd_utf8_to_88591,
+                            &inptr, &inbytesleft,
+                            &outptr, &outbytesleft);
+        if (res == 0)
+          result |= 1;
+        iconv_close (cd_utf8_to_88591);
+      }
+  }
+  /* Test against Solaris 10 bug: Failures are not distinguishable from
+     successful returns.  */
+  {
+    iconv_t cd_ascii_to_88591 = iconv_open ("ISO8859-1", "646");
+    if (cd_ascii_to_88591 != (iconv_t)(-1))
+      {
+        static ICONV_CONST char input[] = "\263";
+        char buf[10];
+        ICONV_CONST char *inptr = input;
+        size_t inbytesleft = strlen (input);
+        char *outptr = buf;
+        size_t outbytesleft = sizeof (buf);
+        size_t res = iconv (cd_ascii_to_88591,
+                            &inptr, &inbytesleft,
+                            &outptr, &outbytesleft);
+        if (res == 0)
+          result |= 2;
+        iconv_close (cd_ascii_to_88591);
+      }
+  }
+  /* Test against AIX 6.1..7.1 bug: Buffer overrun.  */
+  {
+    iconv_t cd_88591_to_utf8 = iconv_open ("UTF-8", "ISO-8859-1");
+    if (cd_88591_to_utf8 != (iconv_t)(-1))
+      {
+        static ICONV_CONST char input[] = "\304";
+        static char buf[2] = { (char)0xDE, (char)0xAD };
+        ICONV_CONST char *inptr = input;
+        size_t inbytesleft = 1;
+        char *outptr = buf;
+        size_t outbytesleft = 1;
+        size_t res = iconv (cd_88591_to_utf8,
+                            &inptr, &inbytesleft,
+                            &outptr, &outbytesleft);
+        if (res != (size_t)(-1) || outptr - buf > 1 || buf[1] != (char)0xAD)
+          result |= 4;
+        iconv_close (cd_88591_to_utf8);
+      }
+  }
+#if 0 /* This bug could be worked around by the caller.  */
+  /* Test against HP-UX 11.11 bug: Positive return value instead of 0.  */
+  {
+    iconv_t cd_88591_to_utf8 = iconv_open ("utf8", "iso88591");
+    if (cd_88591_to_utf8 != (iconv_t)(-1))
+      {
+        static ICONV_CONST char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337";
+        char buf[50];
+        ICONV_CONST char *inptr = input;
+        size_t inbytesleft = strlen (input);
+        char *outptr = buf;
+        size_t outbytesleft = sizeof (buf);
+        size_t res = iconv (cd_88591_to_utf8,
+                            &inptr, &inbytesleft,
+                            &outptr, &outbytesleft);
+        if ((int)res > 0)
+          result |= 8;
+        iconv_close (cd_88591_to_utf8);
+      }
+  }
+#endif
+  /* Test against HP-UX 11.11 bug: No converter from EUC-JP to UTF-8 is
+     provided.  */
+  {
+    /* Try standardized names.  */
+    iconv_t cd1 = iconv_open ("UTF-8", "EUC-JP");
+    /* Try IRIX, OSF/1 names.  */
+    iconv_t cd2 = iconv_open ("UTF-8", "eucJP");
+    /* Try AIX names.  */
+    iconv_t cd3 = iconv_open ("UTF-8", "IBM-eucJP");
+    /* Try HP-UX names.  */
+    iconv_t cd4 = iconv_open ("utf8", "eucJP");
+    if (cd1 == (iconv_t)(-1) && cd2 == (iconv_t)(-1)
+        && cd3 == (iconv_t)(-1) && cd4 == (iconv_t)(-1))
+      result |= 16;
+    if (cd1 != (iconv_t)(-1))
+      iconv_close (cd1);
+    if (cd2 != (iconv_t)(-1))
+      iconv_close (cd2);
+    if (cd3 != (iconv_t)(-1))
+      iconv_close (cd3);
+    if (cd4 != (iconv_t)(-1))
+      iconv_close (cd4);
+  }
+  return result;
+]])],
+          [am_cv_func_iconv_works=yes], ,
+          [case "$host_os" in
+             aix* | hpux*) am_cv_func_iconv_works="guessing no" ;;
+             *)            am_cv_func_iconv_works="guessing yes" ;;
+           esac])
+        test "$am_cv_func_iconv_works" = no || break
+      done
+      LIBS="$am_save_LIBS"
+    ])
+    case "$am_cv_func_iconv_works" in
+      *no) am_func_iconv=no am_cv_lib_iconv=no ;;
+      *)   am_func_iconv=yes ;;
+    esac
+  else
+    am_func_iconv=no am_cv_lib_iconv=no
+  fi
+  if test "$am_func_iconv" = yes; then
+    AC_DEFINE([HAVE_ICONV], [1],
+      [Define if you have the iconv() function and it works.])
+  fi
+  if test "$am_cv_lib_iconv" = yes; then
+    AC_MSG_CHECKING([how to link with libiconv])
+    AC_MSG_RESULT([$LIBICONV])
+  else
+    dnl If $LIBICONV didn't lead to a usable library, we don't need $INCICONV
+    dnl either.
+    CPPFLAGS="$am_save_CPPFLAGS"
+    LIBICONV=
+    LTLIBICONV=
+  fi
+  AC_SUBST([LIBICONV])
+  AC_SUBST([LTLIBICONV])
+])
+
+dnl Define AM_ICONV using AC_DEFUN_ONCE for Autoconf >= 2.64, in order to
+dnl avoid warnings like
+dnl "warning: AC_REQUIRE: `AM_ICONV' was expanded before it was required".
+dnl This is tricky because of the way 'aclocal' is implemented:
+dnl - It requires defining an auxiliary macro whose name ends in AC_DEFUN.
+dnl   Otherwise aclocal's initial scan pass would miss the macro definition.
+dnl - It requires a line break inside the AC_DEFUN_ONCE and AC_DEFUN expansions.
+dnl   Otherwise aclocal would emit many "Use of uninitialized value $1"
+dnl   warnings.
+m4_define([gl_iconv_AC_DEFUN],
+  m4_version_prereq([2.64],
+    [[AC_DEFUN_ONCE(
+        [$1], [$2])]],
+    [m4_ifdef([gl_00GNULIB],
+       [[AC_DEFUN_ONCE(
+           [$1], [$2])]],
+       [[AC_DEFUN(
+           [$1], [$2])]])]))
+gl_iconv_AC_DEFUN([AM_ICONV],
+[
+  AM_ICONV_LINK
+  if test "$am_cv_func_iconv" = yes; then
+    AC_MSG_CHECKING([for iconv declaration])
+    AC_CACHE_VAL([am_cv_proto_iconv], [
+      AC_COMPILE_IFELSE(
+        [AC_LANG_PROGRAM(
+           [[
+#include <stdlib.h>
+#include <iconv.h>
+extern
+#ifdef __cplusplus
+"C"
+#endif
+#if defined(__STDC__) || defined(_MSC_VER) || defined(__cplusplus)
+size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);
+#else
+size_t iconv();
+#endif
+           ]],
+           [[]])],
+        [am_cv_proto_iconv_arg1=""],
+        [am_cv_proto_iconv_arg1="const"])
+      am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"])
+    am_cv_proto_iconv=`echo "[$]am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'`
+    AC_MSG_RESULT([
+         $am_cv_proto_iconv])
+  else
+    dnl When compiling GNU libiconv on a system that does not have iconv yet,
+    dnl pick the POSIX compliant declaration without 'const'.
+    am_cv_proto_iconv_arg1=""
+  fi
+  AC_DEFINE_UNQUOTED([ICONV_CONST], [$am_cv_proto_iconv_arg1],
+    [Define as const if the declaration of iconv() needs const.])
+  dnl Also substitute ICONV_CONST in the gnulib generated <iconv.h>.
+  m4_ifdef([gl_ICONV_H_DEFAULTS],
+    [AC_REQUIRE([gl_ICONV_H_DEFAULTS])
+     if test -n "$am_cv_proto_iconv_arg1"; then
+       ICONV_CONST="const"
+     fi
+    ])
+])
diff --git a/meta/recipes-core/gettext/gettext-minimal-0.20.1/aclocal/intlmacosx.m4 b/meta/recipes-core/gettext/gettext-minimal-0.20.1/aclocal/intlmacosx.m4
new file mode 100644
index 00000000000..30e6f50e0ac
--- /dev/null
+++ b/meta/recipes-core/gettext/gettext-minimal-0.20.1/aclocal/intlmacosx.m4
@@ -0,0 +1,72 @@
+# intlmacosx.m4 serial 6 (gettext-0.20)
+dnl Copyright (C) 2004-2014, 2016, 2019 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+dnl
+dnl This file can be used in projects which are not available under
+dnl the GNU General Public License or the GNU Library General Public
+dnl License but which still want to provide support for the GNU gettext
+dnl functionality.
+dnl Please note that the actual code of the GNU gettext library is covered
+dnl by the GNU Library General Public License, and the rest of the GNU
+dnl gettext package is covered by the GNU General Public License.
+dnl They are *not* in the public domain.
+
+dnl Checks for special options needed on Mac OS X.
+dnl Defines INTL_MACOSX_LIBS.
+AC_DEFUN([gt_INTL_MACOSX],
+[
+  dnl Check for API introduced in Mac OS X 10.4.
+  AC_CACHE_CHECK([for CFPreferencesCopyAppValue],
+    [gt_cv_func_CFPreferencesCopyAppValue],
+    [gt_save_LIBS="$LIBS"
+     LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation"
+     AC_LINK_IFELSE(
+       [AC_LANG_PROGRAM(
+          [[#include <CoreFoundation/CFPreferences.h>]],
+          [[CFPreferencesCopyAppValue(NULL, NULL)]])],
+       [gt_cv_func_CFPreferencesCopyAppValue=yes],
+       [gt_cv_func_CFPreferencesCopyAppValue=no])
+     LIBS="$gt_save_LIBS"])
+  if test $gt_cv_func_CFPreferencesCopyAppValue = yes; then
+    AC_DEFINE([HAVE_CFPREFERENCESCOPYAPPVALUE], [1],
+      [Define to 1 if you have the Mac OS X function CFPreferencesCopyAppValue in the CoreFoundation framework.])
+  fi
+  dnl Check for API introduced in Mac OS X 10.5.
+  AC_CACHE_CHECK([for CFLocaleCopyCurrent], [gt_cv_func_CFLocaleCopyCurrent],
+    [gt_save_LIBS="$LIBS"
+     LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation"
+     AC_LINK_IFELSE(
+       [AC_LANG_PROGRAM(
+          [[#include <CoreFoundation/CFLocale.h>]],
+          [[CFLocaleCopyCurrent();]])],
+       [gt_cv_func_CFLocaleCopyCurrent=yes],
+       [gt_cv_func_CFLocaleCopyCurrent=no])
+     LIBS="$gt_save_LIBS"])
+  if test $gt_cv_func_CFLocaleCopyCurrent = yes; then
+    AC_DEFINE([HAVE_CFLOCALECOPYCURRENT], [1],
+      [Define to 1 if you have the Mac OS X function CFLocaleCopyCurrent in the CoreFoundation framework.])
+  fi
+  AC_CACHE_CHECK([for CFLocaleCopyPreferredLanguages], [gt_cv_func_CFLocaleCopyPreferredLanguages],
+    [gt_save_LIBS="$LIBS"
+     LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation"
+     AC_LINK_IFELSE(
+       [AC_LANG_PROGRAM(
+          [[#include <CoreFoundation/CFLocale.h>]],
+          [[CFLocaleCopyPreferredLanguages();]])],
+       [gt_cv_func_CFLocaleCopyPreferredLanguages=yes],
+       [gt_cv_func_CFLocaleCopyPreferredLanguages=no])
+     LIBS="$gt_save_LIBS"])
+  if test $gt_cv_func_CFLocaleCopyPreferredLanguages = yes; then
+    AC_DEFINE([HAVE_CFLOCALECOPYPREFERREDLANGUAGES], [1],
+      [Define to 1 if you have the Mac OS X function CFLocaleCopyPreferredLanguages in the CoreFoundation framework.])
+  fi
+  INTL_MACOSX_LIBS=
+  if test $gt_cv_func_CFPreferencesCopyAppValue = yes \
+     || test $gt_cv_func_CFLocaleCopyCurrent = yes \
+     || test $gt_cv_func_CFLocaleCopyPreferredLanguages = yes; then
+    INTL_MACOSX_LIBS="-Wl,-framework -Wl,CoreFoundation"
+  fi
+  AC_SUBST([INTL_MACOSX_LIBS])
+])
diff --git a/meta/recipes-core/gettext/gettext-minimal-0.20.1/aclocal/lib-ld.m4 b/meta/recipes-core/gettext/gettext-minimal-0.20.1/aclocal/lib-ld.m4
new file mode 100644
index 00000000000..a18719630d5
--- /dev/null
+++ b/meta/recipes-core/gettext/gettext-minimal-0.20.1/aclocal/lib-ld.m4
@@ -0,0 +1,168 @@
+# lib-ld.m4 serial 9
+dnl Copyright (C) 1996-2003, 2009-2019 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl Subroutines of libtool.m4,
+dnl with replacements s/_*LT_PATH/AC_LIB_PROG/ and s/lt_/acl_/ to avoid
+dnl collision with libtool.m4.
+
+dnl From libtool-2.4. Sets the variable with_gnu_ld to yes or no.
+AC_DEFUN([AC_LIB_PROG_LD_GNU],
+[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], [acl_cv_prog_gnu_ld],
+[# I'd rather use --version here, but apparently some GNU lds only accept -v.
+case `$LD -v 2>&1 </dev/null` in
+*GNU* | *'with BFD'*)
+  acl_cv_prog_gnu_ld=yes
+  ;;
+*)
+  acl_cv_prog_gnu_ld=no
+  ;;
+esac])
+with_gnu_ld=$acl_cv_prog_gnu_ld
+])
+
+dnl From libtool-2.4. Sets the variable LD.
+AC_DEFUN([AC_LIB_PROG_LD],
+[AC_REQUIRE([AC_PROG_CC])dnl
+AC_REQUIRE([AC_CANONICAL_HOST])dnl
+
+AC_ARG_WITH([gnu-ld],
+    [AS_HELP_STRING([--with-gnu-ld],
+        [assume the C compiler uses GNU ld [default=no]])],
+    [test "$withval" = no || with_gnu_ld=yes],
+    [with_gnu_ld=no])dnl
+
+# Prepare PATH_SEPARATOR.
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+  # Determine PATH_SEPARATOR by trying to find /bin/sh in a PATH which
+  # contains only /bin. Note that ksh looks also at the FPATH variable,
+  # so we have to set that as well for the test.
+  PATH_SEPARATOR=:
+  (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \
+    && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \
+           || PATH_SEPARATOR=';'
+       }
+fi
+
+if test -n "$LD"; then
+  AC_MSG_CHECKING([for ld])
+elif test "$GCC" = yes; then
+  AC_MSG_CHECKING([for ld used by $CC])
+elif test "$with_gnu_ld" = yes; then
+  AC_MSG_CHECKING([for GNU ld])
+else
+  AC_MSG_CHECKING([for non-GNU ld])
+fi
+if test -n "$LD"; then
+  # Let the user override the test with a path.
+  :
+else
+  AC_CACHE_VAL([acl_cv_path_LD],
+  [
+    acl_cv_path_LD= # Final result of this test
+    ac_prog=ld # Program to search in $PATH
+    if test "$GCC" = yes; then
+      # Check if gcc -print-prog-name=ld gives a path.
+      case $host in
+        *-*-mingw*)
+          # gcc leaves a trailing carriage return which upsets mingw
+          acl_output=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
+        *)
+          acl_output=`($CC -print-prog-name=ld) 2>&5` ;;
+      esac
+      case $acl_output in
+        # Accept absolute paths.
+        [[\\/]]* | ?:[[\\/]]*)
+          re_direlt='/[[^/]][[^/]]*/\.\./'
+          # Canonicalize the pathname of ld
+          acl_output=`echo "$acl_output" | sed 's%\\\\%/%g'`
+          while echo "$acl_output" | grep "$re_direlt" > /dev/null 2>&1; do
+            acl_output=`echo $acl_output | sed "s%$re_direlt%/%"`
+          done
+          # Got the pathname. No search in PATH is needed.
+          acl_cv_path_LD="$acl_output"
+          ac_prog=
+          ;;
+        "")
+          # If it fails, then pretend we aren't using GCC.
+          ;;
+        *)
+          # If it is relative, then search for the first ld in PATH.
+          with_gnu_ld=unknown
+          ;;
+      esac
+    fi
+    if test -n "$ac_prog"; then
+      # Search for $ac_prog in $PATH.
+      acl_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+      for ac_dir in $PATH; do
+        IFS="$acl_save_ifs"
+        test -z "$ac_dir" && ac_dir=.
+        if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
+          acl_cv_path_LD="$ac_dir/$ac_prog"
+          # Check to see if the program is GNU ld.  I'd rather use --version,
+          # but apparently some variants of GNU ld only accept -v.
+          # Break only if it was the GNU/non-GNU ld that we prefer.
+          case `"$acl_cv_path_LD" -v 2>&1 </dev/null` in
+            *GNU* | *'with BFD'*)
+              test "$with_gnu_ld" != no && break
+              ;;
+            *)
+              test "$with_gnu_ld" != yes && break
+              ;;
+          esac
+        fi
+      done
+      IFS="$acl_save_ifs"
+    fi
+    case $host in
+      *-*-aix*)
+        AC_COMPILE_IFELSE(
+          [AC_LANG_SOURCE(
+             [[#if defined __powerpc64__ || defined _ARCH_PPC64
+                int ok;
+               #else
+                error fail
+               #endif
+             ]])],
+          [# The compiler produces 64-bit code. Add option '-b64' so that the
+           # linker groks 64-bit object files.
+           case "$acl_cv_path_LD " in
+             *" -b64 "*) ;;
+             *) acl_cv_path_LD="$acl_cv_path_LD -b64" ;;
+           esac
+          ], [])
+        ;;
+      sparc64-*-netbsd*)
+        AC_COMPILE_IFELSE(
+          [AC_LANG_SOURCE(
+             [[#if defined __sparcv9 || defined __arch64__
+                int ok;
+               #else
+                error fail
+               #endif
+             ]])],
+          [],
+          [# The compiler produces 32-bit code. Add option '-m elf32_sparc'
+           # so that the linker groks 32-bit object files.
+           case "$acl_cv_path_LD " in
+             *" -m elf32_sparc "*) ;;
+             *) acl_cv_path_LD="$acl_cv_path_LD -m elf32_sparc" ;;
+           esac
+          ])
+        ;;
+    esac
+  ])
+  LD="$acl_cv_path_LD"
+fi
+if test -n "$LD"; then
+  AC_MSG_RESULT([$LD])
+else
+  AC_MSG_RESULT([no])
+  AC_MSG_ERROR([no acceptable ld found in \$PATH])
+fi
+AC_LIB_PROG_LD_GNU
+])
diff --git a/meta/recipes-core/gettext/gettext-minimal-0.20.1/aclocal/lib-link.m4 b/meta/recipes-core/gettext/gettext-minimal-0.20.1/aclocal/lib-link.m4
new file mode 100644
index 00000000000..0ff10731fac
--- /dev/null
+++ b/meta/recipes-core/gettext/gettext-minimal-0.20.1/aclocal/lib-link.m4
@@ -0,0 +1,774 @@
+# lib-link.m4 serial 28
+dnl Copyright (C) 2001-2019 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl From Bruno Haible.
+
+AC_PREREQ([2.61])
+
+dnl AC_LIB_LINKFLAGS(name [, dependencies]) searches for libname and
+dnl the libraries corresponding to explicit and implicit dependencies.
+dnl Sets and AC_SUBSTs the LIB${NAME} and LTLIB${NAME} variables and
+dnl augments the CPPFLAGS variable.
+dnl Sets and AC_SUBSTs the LIB${NAME}_PREFIX variable to nonempty if libname
+dnl was found in ${LIB${NAME}_PREFIX}/$acl_libdirstem.
+AC_DEFUN([AC_LIB_LINKFLAGS],
+[
+  AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
+  AC_REQUIRE([AC_LIB_RPATH])
+  pushdef([Name],[m4_translit([$1],[./+-], [____])])
+  pushdef([NAME],[m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./+-],
+                                   [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])])
+  AC_CACHE_CHECK([how to link with lib[]$1], [ac_cv_lib[]Name[]_libs], [
+    AC_LIB_LINKFLAGS_BODY([$1], [$2])
+    ac_cv_lib[]Name[]_libs="$LIB[]NAME"
+    ac_cv_lib[]Name[]_ltlibs="$LTLIB[]NAME"
+    ac_cv_lib[]Name[]_cppflags="$INC[]NAME"
+    ac_cv_lib[]Name[]_prefix="$LIB[]NAME[]_PREFIX"
+  ])
+  LIB[]NAME="$ac_cv_lib[]Name[]_libs"
+  LTLIB[]NAME="$ac_cv_lib[]Name[]_ltlibs"
+  INC[]NAME="$ac_cv_lib[]Name[]_cppflags"
+  LIB[]NAME[]_PREFIX="$ac_cv_lib[]Name[]_prefix"
+  AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME)
+  AC_SUBST([LIB]NAME)
+  AC_SUBST([LTLIB]NAME)
+  AC_SUBST([LIB]NAME[_PREFIX])
+  dnl Also set HAVE_LIB[]NAME so that AC_LIB_HAVE_LINKFLAGS can reuse the
+  dnl results of this search when this library appears as a dependency.
+  HAVE_LIB[]NAME=yes
+  popdef([NAME])
+  popdef([Name])
+])
+
+dnl AC_LIB_HAVE_LINKFLAGS(name, dependencies, includes, testcode, [missing-message])
+dnl searches for libname and the libraries corresponding to explicit and
+dnl implicit dependencies, together with the specified include files and
+dnl the ability to compile and link the specified testcode. The missing-message
+dnl defaults to 'no' and may contain additional hints for the user.
+dnl If found, it sets and AC_SUBSTs HAVE_LIB${NAME}=yes and the LIB${NAME}
+dnl and LTLIB${NAME} variables and augments the CPPFLAGS variable, and
+dnl #defines HAVE_LIB${NAME} to 1. Otherwise, it sets and AC_SUBSTs
+dnl HAVE_LIB${NAME}=no and LIB${NAME} and LTLIB${NAME} to empty.
+dnl Sets and AC_SUBSTs the LIB${NAME}_PREFIX variable to nonempty if libname
+dnl was found in ${LIB${NAME}_PREFIX}/$acl_libdirstem.
+AC_DEFUN([AC_LIB_HAVE_LINKFLAGS],
+[
+  AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
+  AC_REQUIRE([AC_LIB_RPATH])
+  pushdef([Name],[m4_translit([$1],[./+-], [____])])
+  pushdef([NAME],[m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./+-],
+                                   [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])])
+
+  dnl Search for lib[]Name and define LIB[]NAME, LTLIB[]NAME and INC[]NAME
+  dnl accordingly.
+  AC_LIB_LINKFLAGS_BODY([$1], [$2])
+
+  dnl Add $INC[]NAME to CPPFLAGS before performing the following checks,
+  dnl because if the user has installed lib[]Name and not disabled its use
+  dnl via --without-lib[]Name-prefix, he wants to use it.
+  ac_save_CPPFLAGS="$CPPFLAGS"
+  AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME)
+
+  AC_CACHE_CHECK([for lib[]$1], [ac_cv_lib[]Name], [
+    ac_save_LIBS="$LIBS"
+    dnl If $LIB[]NAME contains some -l options, add it to the end of LIBS,
+    dnl because these -l options might require -L options that are present in
+    dnl LIBS. -l options benefit only from the -L options listed before it.
+    dnl Otherwise, add it to the front of LIBS, because it may be a static
+    dnl library that depends on another static library that is present in LIBS.
+    dnl Static libraries benefit only from the static libraries listed after
+    dnl it.
+    case " $LIB[]NAME" in
+      *" -l"*) LIBS="$LIBS $LIB[]NAME" ;;
+      *)       LIBS="$LIB[]NAME $LIBS" ;;
+    esac
+    AC_LINK_IFELSE(
+      [AC_LANG_PROGRAM([[$3]], [[$4]])],
+      [ac_cv_lib[]Name=yes],
+      [ac_cv_lib[]Name='m4_if([$5], [], [no], [[$5]])'])
+    LIBS="$ac_save_LIBS"
+  ])
+  if test "$ac_cv_lib[]Name" = yes; then
+    HAVE_LIB[]NAME=yes
+    AC_DEFINE([HAVE_LIB]NAME, 1, [Define if you have the lib][$1 library.])
+    AC_MSG_CHECKING([how to link with lib[]$1])
+    AC_MSG_RESULT([$LIB[]NAME])
+  else
+    HAVE_LIB[]NAME=no
+    dnl If $LIB[]NAME didn't lead to a usable library, we don't need
+    dnl $INC[]NAME either.
+    CPPFLAGS="$ac_save_CPPFLAGS"
+    LIB[]NAME=
+    LTLIB[]NAME=
+    LIB[]NAME[]_PREFIX=
+  fi
+  AC_SUBST([HAVE_LIB]NAME)
+  AC_SUBST([LIB]NAME)
+  AC_SUBST([LTLIB]NAME)
+  AC_SUBST([LIB]NAME[_PREFIX])
+  popdef([NAME])
+  popdef([Name])
+])
+
+dnl Determine the platform dependent parameters needed to use rpath:
+dnl   acl_libext,
+dnl   acl_shlibext,
+dnl   acl_libname_spec,
+dnl   acl_library_names_spec,
+dnl   acl_hardcode_libdir_flag_spec,
+dnl   acl_hardcode_libdir_separator,
+dnl   acl_hardcode_direct,
+dnl   acl_hardcode_minus_L.
+AC_DEFUN([AC_LIB_RPATH],
+[
+  dnl Complain if config.rpath is missing.
+  AC_REQUIRE_AUX_FILE([config.rpath])
+  AC_REQUIRE([AC_PROG_CC])                dnl we use $CC, $GCC, $LDFLAGS
+  AC_REQUIRE([AC_LIB_PROG_LD])            dnl we use $LD, $with_gnu_ld
+  AC_REQUIRE([AC_CANONICAL_HOST])         dnl we use $host
+  AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT]) dnl we use $ac_aux_dir
+  AC_CACHE_CHECK([for shared library run path origin], [acl_cv_rpath], [
+    CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \
+    ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh
+    . ./conftest.sh
+    rm -f ./conftest.sh
+    acl_cv_rpath=done
+  ])
+  wl="$acl_cv_wl"
+  acl_libext="$acl_cv_libext"
+  acl_shlibext="$acl_cv_shlibext"
+  acl_libname_spec="$acl_cv_libname_spec"
+  acl_library_names_spec="$acl_cv_library_names_spec"
+  acl_hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec"
+  acl_hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator"
+  acl_hardcode_direct="$acl_cv_hardcode_direct"
+  acl_hardcode_minus_L="$acl_cv_hardcode_minus_L"
+  dnl Determine whether the user wants rpath handling at all.
+  AC_ARG_ENABLE([rpath],
+    [  --disable-rpath         do not hardcode runtime library paths],
+    :, enable_rpath=yes)
+])
+
+dnl AC_LIB_FROMPACKAGE(name, package)
+dnl declares that libname comes from the given package. The configure file
+dnl will then not have a --with-libname-prefix option but a
+dnl --with-package-prefix option. Several libraries can come from the same
+dnl package. This declaration must occur before an AC_LIB_LINKFLAGS or similar
+dnl macro call that searches for libname.
+AC_DEFUN([AC_LIB_FROMPACKAGE],
+[
+  pushdef([NAME],[m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./+-],
+                                   [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])])
+  define([acl_frompackage_]NAME, [$2])
+  popdef([NAME])
+  pushdef([PACK],[$2])
+  pushdef([PACKUP],[m4_translit(PACK,[abcdefghijklmnopqrstuvwxyz./+-],
+                                     [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])])
+  define([acl_libsinpackage_]PACKUP,
+    m4_ifdef([acl_libsinpackage_]PACKUP, [m4_defn([acl_libsinpackage_]PACKUP)[, ]],)[lib$1])
+  popdef([PACKUP])
+  popdef([PACK])
+])
+
+dnl AC_LIB_LINKFLAGS_BODY(name [, dependencies]) searches for libname and
+dnl the libraries corresponding to explicit and implicit dependencies.
+dnl Sets the LIB${NAME}, LTLIB${NAME} and INC${NAME} variables.
+dnl Also, sets the LIB${NAME}_PREFIX variable to nonempty if libname was found
+dnl in ${LIB${NAME}_PREFIX}/$acl_libdirstem.
+AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
+[
+  AC_REQUIRE([AC_LIB_PREPARE_MULTILIB])
+  pushdef([NAME],[m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./+-],
+                                   [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])])
+  pushdef([PACK],[m4_ifdef([acl_frompackage_]NAME, [acl_frompackage_]NAME, lib[$1])])
+  pushdef([PACKUP],[m4_translit(PACK,[abcdefghijklmnopqrstuvwxyz./+-],
+                                     [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])])
+  pushdef([PACKLIBS],[m4_ifdef([acl_frompackage_]NAME, [acl_libsinpackage_]PACKUP, lib[$1])])
+  dnl By default, look in $includedir and $libdir.
+  use_additional=yes
+  AC_LIB_WITH_FINAL_PREFIX([
+    eval additional_includedir=\"$includedir\"
+    eval additional_libdir=\"$libdir\"
+  ])
+  AC_ARG_WITH(PACK[-prefix],
+[[  --with-]]PACK[[-prefix[=DIR]  search for ]PACKLIBS[ in DIR/include and DIR/lib
+  --without-]]PACK[[-prefix     don't search for ]PACKLIBS[ in includedir and libdir]],
+[
+    if test "X$withval" = "Xno"; then
+      use_additional=no
+    else
+      if test "X$withval" = "X"; then
+        AC_LIB_WITH_FINAL_PREFIX([
+          eval additional_includedir=\"$includedir\"
+          eval additional_libdir=\"$libdir\"
+        ])
+      else
+        additional_includedir="$withval/include"
+        additional_libdir="$withval/$acl_libdirstem"
+        if test "$acl_libdirstem2" != "$acl_libdirstem" \
+           && test ! -d "$withval/$acl_libdirstem"; then
+          additional_libdir="$withval/$acl_libdirstem2"
+        fi
+      fi
+    fi
+])
+  dnl Search the library and its dependencies in $additional_libdir and
+  dnl $LDFLAGS. Using breadth-first-seach.
+  LIB[]NAME=
+  LTLIB[]NAME=
+  INC[]NAME=
+  LIB[]NAME[]_PREFIX=
+  dnl HAVE_LIB${NAME} is an indicator that LIB${NAME}, LTLIB${NAME} have been
+  dnl computed. So it has to be reset here.
+  HAVE_LIB[]NAME=
+  rpathdirs=
+  ltrpathdirs=
+  names_already_handled=
+  names_next_round='$1 $2'
+  while test -n "$names_next_round"; do
+    names_this_round="$names_next_round"
+    names_next_round=
+    for name in $names_this_round; do
+      already_handled=
+      for n in $names_already_handled; do
+        if test "$n" = "$name"; then
+          already_handled=yes
+          break
+        fi
+      done
+      if test -z "$already_handled"; then
+        names_already_handled="$names_already_handled $name"
+        dnl See if it was already located by an earlier AC_LIB_LINKFLAGS
+        dnl or AC_LIB_HAVE_LINKFLAGS call.
+        uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./+-|ABCDEFGHIJKLMNOPQRSTUVWXYZ____|'`
+        eval value=\"\$HAVE_LIB$uppername\"
+        if test -n "$value"; then
+          if test "$value" = yes; then
+            eval value=\"\$LIB$uppername\"
+            test -z "$value" || LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$value"
+            eval value=\"\$LTLIB$uppername\"
+            test -z "$value" || LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$value"
+          else
+            dnl An earlier call to AC_LIB_HAVE_LINKFLAGS has determined
+            dnl that this library doesn't exist. So just drop it.
+            :
+          fi
+        else
+          dnl Search the library lib$name in $additional_libdir and $LDFLAGS
+          dnl and the already constructed $LIBNAME/$LTLIBNAME.
+          found_dir=
+          found_la=
+          found_so=
+          found_a=
+          eval libname=\"$acl_libname_spec\"    # typically: libname=lib$name
+          if test -n "$acl_shlibext"; then
+            shrext=".$acl_shlibext"             # typically: shrext=.so
+          else
+            shrext=
+          fi
+          if test $use_additional = yes; then
+            dir="$additional_libdir"
+            dnl The same code as in the loop below:
+            dnl First look for a shared library.
+            if test -n "$acl_shlibext"; then
+              if test -f "$dir/$libname$shrext"; then
+                found_dir="$dir"
+                found_so="$dir/$libname$shrext"
+              else
+                if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then
+                  ver=`(cd "$dir" && \
+                        for f in "$libname$shrext".*; do echo "$f"; done \
+                        | sed -e "s,^$libname$shrext\\\\.,," \
+                        | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \
+                        | sed 1q ) 2>/dev/null`
+                  if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then
+                    found_dir="$dir"
+                    found_so="$dir/$libname$shrext.$ver"
+                  fi
+                else
+                  eval library_names=\"$acl_library_names_spec\"
+                  for f in $library_names; do
+                    if test -f "$dir/$f"; then
+                      found_dir="$dir"
+                      found_so="$dir/$f"
+                      break
+                    fi
+                  done
+                fi
+              fi
+            fi
+            dnl Then look for a static library.
+            if test "X$found_dir" = "X"; then
+              if test -f "$dir/$libname.$acl_libext"; then
+                found_dir="$dir"
+                found_a="$dir/$libname.$acl_libext"
+              fi
+            fi
+            if test "X$found_dir" != "X"; then
+              if test -f "$dir/$libname.la"; then
+                found_la="$dir/$libname.la"
+              fi
+            fi
+          fi
+          if test "X$found_dir" = "X"; then
+            for x in $LDFLAGS $LTLIB[]NAME; do
+              AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
+              case "$x" in
+                -L*)
+                  dir=`echo "X$x" | sed -e 's/^X-L//'`
+                  dnl First look for a shared library.
+                  if test -n "$acl_shlibext"; then
+                    if test -f "$dir/$libname$shrext"; then
+                      found_dir="$dir"
+                      found_so="$dir/$libname$shrext"
+                    else
+                      if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then
+                        ver=`(cd "$dir" && \
+                              for f in "$libname$shrext".*; do echo "$f"; done \
+                              | sed -e "s,^$libname$shrext\\\\.,," \
+                              | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \
+                              | sed 1q ) 2>/dev/null`
+                        if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then
+                          found_dir="$dir"
+                          found_so="$dir/$libname$shrext.$ver"
+                        fi
+                      else
+                        eval library_names=\"$acl_library_names_spec\"
+                        for f in $library_names; do
+                          if test -f "$dir/$f"; then
+                            found_dir="$dir"
+                            found_so="$dir/$f"
+                            break
+                          fi
+                        done
+                      fi
+                    fi
+                  fi
+                  dnl Then look for a static library.
+                  if test "X$found_dir" = "X"; then
+                    if test -f "$dir/$libname.$acl_libext"; then
+                      found_dir="$dir"
+                      found_a="$dir/$libname.$acl_libext"
+                    fi
+                  fi
+                  if test "X$found_dir" != "X"; then
+                    if test -f "$dir/$libname.la"; then
+                      found_la="$dir/$libname.la"
+                    fi
+                  fi
+                  ;;
+              esac
+              if test "X$found_dir" != "X"; then
+                break
+              fi
+            done
+          fi
+          if test "X$found_dir" != "X"; then
+            dnl Found the library.
+            LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$found_dir -l$name"
+            if test "X$found_so" != "X"; then
+              dnl Linking with a shared library. We attempt to hardcode its
+              dnl directory into the executable's runpath, unless it's the
+              dnl standard /usr/lib.
+              if test "$enable_rpath" = no \
+                 || test "X$found_dir" = "X/usr/$acl_libdirstem" \
+                 || test "X$found_dir" = "X/usr/$acl_libdirstem2"; then
+                dnl No hardcoding is needed.
+                LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
+              else
+                dnl Use an explicit option to hardcode DIR into the resulting
+                dnl binary.
+                dnl Potentially add DIR to ltrpathdirs.
+                dnl The ltrpathdirs will be appended to $LTLIBNAME at the end.
+                haveit=
+                for x in $ltrpathdirs; do
+                  if test "X$x" = "X$found_dir"; then
+                    haveit=yes
+                    break
+                  fi
+                done
+                if test -z "$haveit"; then
+                  ltrpathdirs="$ltrpathdirs $found_dir"
+                fi
+                dnl The hardcoding into $LIBNAME is system dependent.
+                if test "$acl_hardcode_direct" = yes; then
+                  dnl Using DIR/libNAME.so during linking hardcodes DIR into the
+                  dnl resulting binary.
+                  LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
+                else
+                  if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then
+                    dnl Use an explicit option to hardcode DIR into the resulting
+                    dnl binary.
+                    LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
+                    dnl Potentially add DIR to rpathdirs.
+                    dnl The rpathdirs will be appended to $LIBNAME at the end.
+                    haveit=
+                    for x in $rpathdirs; do
+                      if test "X$x" = "X$found_dir"; then
+                        haveit=yes
+                        break
+                      fi
+                    done
+                    if test -z "$haveit"; then
+                      rpathdirs="$rpathdirs $found_dir"
+                    fi
+                  else
+                    dnl Rely on "-L$found_dir".
+                    dnl But don't add it if it's already contained in the LDFLAGS
+                    dnl or the already constructed $LIBNAME
+                    haveit=
+                    for x in $LDFLAGS $LIB[]NAME; do
+                      AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
+                      if test "X$x" = "X-L$found_dir"; then
+                        haveit=yes
+                        break
+                      fi
+                    done
+                    if test -z "$haveit"; then
+                      LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir"
+                    fi
+                    if test "$acl_hardcode_minus_L" != no; then
+                      dnl FIXME: Not sure whether we should use
+                      dnl "-L$found_dir -l$name" or "-L$found_dir $found_so"
+                      dnl here.
+                      LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
+                    else
+                      dnl We cannot use $acl_hardcode_runpath_var and LD_RUN_PATH
+                      dnl here, because this doesn't fit in flags passed to the
+                      dnl compiler. So give up. No hardcoding. This affects only
+                      dnl very old systems.
+                      dnl FIXME: Not sure whether we should use
+                      dnl "-L$found_dir -l$name" or "-L$found_dir $found_so"
+                      dnl here.
+                      LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name"
+                    fi
+                  fi
+                fi
+              fi
+            else
+              if test "X$found_a" != "X"; then
+                dnl Linking with a static library.
+                LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_a"
+              else
+                dnl We shouldn't come here, but anyway it's good to have a
+                dnl fallback.
+                LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir -l$name"
+              fi
+            fi
+            dnl Assume the include files are nearby.
+            additional_includedir=
+            case "$found_dir" in
+              */$acl_libdirstem | */$acl_libdirstem/)
+                basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'`
+                if test "$name" = '$1'; then
+                  LIB[]NAME[]_PREFIX="$basedir"
+                fi
+                additional_includedir="$basedir/include"
+                ;;
+              */$acl_libdirstem2 | */$acl_libdirstem2/)
+                basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem2/"'*$,,'`
+                if test "$name" = '$1'; then
+                  LIB[]NAME[]_PREFIX="$basedir"
+                fi
+                additional_includedir="$basedir/include"
+                ;;
+            esac
+            if test "X$additional_includedir" != "X"; then
+              dnl Potentially add $additional_includedir to $INCNAME.
+              dnl But don't add it
+              dnl   1. if it's the standard /usr/include,
+              dnl   2. if it's /usr/local/include and we are using GCC on Linux,
+              dnl   3. if it's already present in $CPPFLAGS or the already
+              dnl      constructed $INCNAME,
+              dnl   4. if it doesn't exist as a directory.
+              if test "X$additional_includedir" != "X/usr/include"; then
+                haveit=
+                if test "X$additional_includedir" = "X/usr/local/include"; then
+                  if test -n "$GCC"; then
+                    case $host_os in
+                      linux* | gnu* | k*bsd*-gnu) haveit=yes;;
+                    esac
+                  fi
+                fi
+                if test -z "$haveit"; then
+                  for x in $CPPFLAGS $INC[]NAME; do
+                    AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
+                    if test "X$x" = "X-I$additional_includedir"; then
+                      haveit=yes
+                      break
+                    fi
+                  done
+                  if test -z "$haveit"; then
+                    if test -d "$additional_includedir"; then
+                      dnl Really add $additional_includedir to $INCNAME.
+                      INC[]NAME="${INC[]NAME}${INC[]NAME:+ }-I$additional_includedir"
+                    fi
+                  fi
+                fi
+              fi
+            fi
+            dnl Look for dependencies.
+            if test -n "$found_la"; then
+              dnl Read the .la file. It defines the variables
+              dnl dlname, library_names, old_library, dependency_libs, current,
+              dnl age, revision, installed, dlopen, dlpreopen, libdir.
+              save_libdir="$libdir"
+              case "$found_la" in
+                */* | *\\*) . "$found_la" ;;
+                *) . "./$found_la" ;;
+              esac
+              libdir="$save_libdir"
+              dnl We use only dependency_libs.
+              for dep in $dependency_libs; do
+                case "$dep" in
+                  -L*)
+                    additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'`
+                    dnl Potentially add $additional_libdir to $LIBNAME and $LTLIBNAME.
+                    dnl But don't add it
+                    dnl   1. if it's the standard /usr/lib,
+                    dnl   2. if it's /usr/local/lib and we are using GCC on Linux,
+                    dnl   3. if it's already present in $LDFLAGS or the already
+                    dnl      constructed $LIBNAME,
+                    dnl   4. if it doesn't exist as a directory.
+                    if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \
+                       && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then
+                      haveit=
+                      if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \
+                         || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then
+                        if test -n "$GCC"; then
+                          case $host_os in
+                            linux* | gnu* | k*bsd*-gnu) haveit=yes;;
+                          esac
+                        fi
+                      fi
+                      if test -z "$haveit"; then
+                        haveit=
+                        for x in $LDFLAGS $LIB[]NAME; do
+                          AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
+                          if test "X$x" = "X-L$additional_libdir"; then
+                            haveit=yes
+                            break
+                          fi
+                        done
+                        if test -z "$haveit"; then
+                          if test -d "$additional_libdir"; then
+                            dnl Really add $additional_libdir to $LIBNAME.
+                            LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$additional_libdir"
+                          fi
+                        fi
+                        haveit=
+                        for x in $LDFLAGS $LTLIB[]NAME; do
+                          AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
+                          if test "X$x" = "X-L$additional_libdir"; then
+                            haveit=yes
+                            break
+                          fi
+                        done
+                        if test -z "$haveit"; then
+                          if test -d "$additional_libdir"; then
+                            dnl Really add $additional_libdir to $LTLIBNAME.
+                            LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$additional_libdir"
+                          fi
+                        fi
+                      fi
+                    fi
+                    ;;
+                  -R*)
+                    dir=`echo "X$dep" | sed -e 's/^X-R//'`
+                    if test "$enable_rpath" != no; then
+                      dnl Potentially add DIR to rpathdirs.
+                      dnl The rpathdirs will be appended to $LIBNAME at the end.
+                      haveit=
+                      for x in $rpathdirs; do
+                        if test "X$x" = "X$dir"; then
+                          haveit=yes
+                          break
+                        fi
+                      done
+                      if test -z "$haveit"; then
+                        rpathdirs="$rpathdirs $dir"
+                      fi
+                      dnl Potentially add DIR to ltrpathdirs.
+                      dnl The ltrpathdirs will be appended to $LTLIBNAME at the end.
+                      haveit=
+                      for x in $ltrpathdirs; do
+                        if test "X$x" = "X$dir"; then
+                          haveit=yes
+                          break
+                        fi
+                      done
+                      if test -z "$haveit"; then
+                        ltrpathdirs="$ltrpathdirs $dir"
+                      fi
+                    fi
+                    ;;
+                  -l*)
+                    dnl Handle this in the next round.
+                    names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'`
+                    ;;
+                  *.la)
+                    dnl Handle this in the next round. Throw away the .la's
+                    dnl directory; it is already contained in a preceding -L
+                    dnl option.
+                    names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'`
+                    ;;
+                  *)
+                    dnl Most likely an immediate library name.
+                    LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$dep"
+                    LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$dep"
+                    ;;
+                esac
+              done
+            fi
+          else
+            dnl Didn't find the library; assume it is in the system directories
+            dnl known to the linker and runtime loader. (All the system
+            dnl directories known to the linker should also be known to the
+            dnl runtime loader, otherwise the system is severely misconfigured.)
+            LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name"
+            LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-l$name"
+          fi
+        fi
+      fi
+    done
+  done
+  if test "X$rpathdirs" != "X"; then
+    if test -n "$acl_hardcode_libdir_separator"; then
+      dnl Weird platform: only the last -rpath option counts, the user must
+      dnl pass all path elements in one option. We can arrange that for a
+      dnl single library, but not when more than one $LIBNAMEs are used.
+      alldirs=
+      for found_dir in $rpathdirs; do
+        alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir"
+      done
+      dnl Note: acl_hardcode_libdir_flag_spec uses $libdir and $wl.
+      acl_save_libdir="$libdir"
+      libdir="$alldirs"
+      eval flag=\"$acl_hardcode_libdir_flag_spec\"
+      libdir="$acl_save_libdir"
+      LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag"
+    else
+      dnl The -rpath options are cumulative.
+      for found_dir in $rpathdirs; do
+        acl_save_libdir="$libdir"
+        libdir="$found_dir"
+        eval flag=\"$acl_hardcode_libdir_flag_spec\"
+        libdir="$acl_save_libdir"
+        LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag"
+      done
+    fi
+  fi
+  if test "X$ltrpathdirs" != "X"; then
+    dnl When using libtool, the option that works for both libraries and
+    dnl executables is -R. The -R options are cumulative.
+    for found_dir in $ltrpathdirs; do
+      LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-R$found_dir"
+    done
+  fi
+  popdef([PACKLIBS])
+  popdef([PACKUP])
+  popdef([PACK])
+  popdef([NAME])
+])
+
+dnl AC_LIB_APPENDTOVAR(VAR, CONTENTS) appends the elements of CONTENTS to VAR,
+dnl unless already present in VAR.
+dnl Works only for CPPFLAGS, not for LIB* variables because that sometimes
+dnl contains two or three consecutive elements that belong together.
+AC_DEFUN([AC_LIB_APPENDTOVAR],
+[
+  for element in [$2]; do
+    haveit=
+    for x in $[$1]; do
+      AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
+      if test "X$x" = "X$element"; then
+        haveit=yes
+        break
+      fi
+    done
+    if test -z "$haveit"; then
+      [$1]="${[$1]}${[$1]:+ }$element"
+    fi
+  done
+])
+
+dnl For those cases where a variable contains several -L and -l options
+dnl referring to unknown libraries and directories, this macro determines the
+dnl necessary additional linker options for the runtime path.
+dnl AC_LIB_LINKFLAGS_FROM_LIBS([LDADDVAR], [LIBSVALUE], [USE-LIBTOOL])
+dnl sets LDADDVAR to linker options needed together with LIBSVALUE.
+dnl If USE-LIBTOOL evaluates to non-empty, linking with libtool is assumed,
+dnl otherwise linking without libtool is assumed.
+AC_DEFUN([AC_LIB_LINKFLAGS_FROM_LIBS],
+[
+  AC_REQUIRE([AC_LIB_RPATH])
+  AC_REQUIRE([AC_LIB_PREPARE_MULTILIB])
+  $1=
+  if test "$enable_rpath" != no; then
+    if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then
+      dnl Use an explicit option to hardcode directories into the resulting
+      dnl binary.
+      rpathdirs=
+      next=
+      for opt in $2; do
+        if test -n "$next"; then
+          dir="$next"
+          dnl No need to hardcode the standard /usr/lib.
+          if test "X$dir" != "X/usr/$acl_libdirstem" \
+             && test "X$dir" != "X/usr/$acl_libdirstem2"; then
+            rpathdirs="$rpathdirs $dir"
+          fi
+          next=
+        else
+          case $opt in
+            -L) next=yes ;;
+            -L*) dir=`echo "X$opt" | sed -e 's,^X-L,,'`
+                 dnl No need to hardcode the standard /usr/lib.
+                 if test "X$dir" != "X/usr/$acl_libdirstem" \
+                    && test "X$dir" != "X/usr/$acl_libdirstem2"; then
+                   rpathdirs="$rpathdirs $dir"
+                 fi
+                 next= ;;
+            *) next= ;;
+          esac
+        fi
+      done
+      if test "X$rpathdirs" != "X"; then
+        if test -n ""$3""; then
+          dnl libtool is used for linking. Use -R options.
+          for dir in $rpathdirs; do
+            $1="${$1}${$1:+ }-R$dir"
+          done
+        else
+          dnl The linker is used for linking directly.
+          if test -n "$acl_hardcode_libdir_separator"; then
+            dnl Weird platform: only the last -rpath option counts, the user
+            dnl must pass all path elements in one option.
+            alldirs=
+            for dir in $rpathdirs; do
+              alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$dir"
+            done
+            acl_save_libdir="$libdir"
+            libdir="$alldirs"
+            eval flag=\"$acl_hardcode_libdir_flag_spec\"
+            libdir="$acl_save_libdir"
+            $1="$flag"
+          else
+            dnl The -rpath options are cumulative.
+            for dir in $rpathdirs; do
+              acl_save_libdir="$libdir"
+              libdir="$dir"
+              eval flag=\"$acl_hardcode_libdir_flag_spec\"
+              libdir="$acl_save_libdir"
+              $1="${$1}${$1:+ }$flag"
+            done
+          fi
+        fi
+      fi
+    fi
+  fi
+  AC_SUBST([$1])
+])
diff --git a/meta/recipes-core/gettext/gettext-minimal-0.20.1/aclocal/lib-prefix.m4 b/meta/recipes-core/gettext/gettext-minimal-0.20.1/aclocal/lib-prefix.m4
new file mode 100644
index 00000000000..8adb17bb916
--- /dev/null
+++ b/meta/recipes-core/gettext/gettext-minimal-0.20.1/aclocal/lib-prefix.m4
@@ -0,0 +1,249 @@
+# lib-prefix.m4 serial 14
+dnl Copyright (C) 2001-2005, 2008-2019 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl From Bruno Haible.
+
+dnl AC_LIB_PREFIX adds to the CPPFLAGS and LDFLAGS the flags that are needed
+dnl to access previously installed libraries. The basic assumption is that
+dnl a user will want packages to use other packages he previously installed
+dnl with the same --prefix option.
+dnl This macro is not needed if only AC_LIB_LINKFLAGS is used to locate
+dnl libraries, but is otherwise very convenient.
+AC_DEFUN([AC_LIB_PREFIX],
+[
+  AC_BEFORE([$0], [AC_LIB_LINKFLAGS])
+  AC_REQUIRE([AC_PROG_CC])
+  AC_REQUIRE([AC_CANONICAL_HOST])
+  AC_REQUIRE([AC_LIB_PREPARE_MULTILIB])
+  AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
+  dnl By default, look in $includedir and $libdir.
+  use_additional=yes
+  AC_LIB_WITH_FINAL_PREFIX([
+    eval additional_includedir=\"$includedir\"
+    eval additional_libdir=\"$libdir\"
+  ])
+  AC_ARG_WITH([lib-prefix],
+[[  --with-lib-prefix[=DIR] search for libraries in DIR/include and DIR/lib
+  --without-lib-prefix    don't search for libraries in includedir and libdir]],
+[
+    if test "X$withval" = "Xno"; then
+      use_additional=no
+    else
+      if test "X$withval" = "X"; then
+        AC_LIB_WITH_FINAL_PREFIX([
+          eval additional_includedir=\"$includedir\"
+          eval additional_libdir=\"$libdir\"
+        ])
+      else
+        additional_includedir="$withval/include"
+        additional_libdir="$withval/$acl_libdirstem"
+      fi
+    fi
+])
+  if test $use_additional = yes; then
+    dnl Potentially add $additional_includedir to $CPPFLAGS.
+    dnl But don't add it
+    dnl   1. if it's the standard /usr/include,
+    dnl   2. if it's already present in $CPPFLAGS,
+    dnl   3. if it's /usr/local/include and we are using GCC on Linux,
+    dnl   4. if it doesn't exist as a directory.
+    if test "X$additional_includedir" != "X/usr/include"; then
+      haveit=
+      for x in $CPPFLAGS; do
+        AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
+        if test "X$x" = "X-I$additional_includedir"; then
+          haveit=yes
+          break
+        fi
+      done
+      if test -z "$haveit"; then
+        if test "X$additional_includedir" = "X/usr/local/include"; then
+          if test -n "$GCC"; then
+            case $host_os in
+              linux* | gnu* | k*bsd*-gnu) haveit=yes;;
+            esac
+          fi
+        fi
+        if test -z "$haveit"; then
+          if test -d "$additional_includedir"; then
+            dnl Really add $additional_includedir to $CPPFLAGS.
+            CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }-I$additional_includedir"
+          fi
+        fi
+      fi
+    fi
+    dnl Potentially add $additional_libdir to $LDFLAGS.
+    dnl But don't add it
+    dnl   1. if it's the standard /usr/lib,
+    dnl   2. if it's already present in $LDFLAGS,
+    dnl   3. if it's /usr/local/lib and we are using GCC on Linux,
+    dnl   4. if it doesn't exist as a directory.
+    if test "X$additional_libdir" != "X/usr/$acl_libdirstem"; then
+      haveit=
+      for x in $LDFLAGS; do
+        AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
+        if test "X$x" = "X-L$additional_libdir"; then
+          haveit=yes
+          break
+        fi
+      done
+      if test -z "$haveit"; then
+        if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem"; then
+          if test -n "$GCC"; then
+            case $host_os in
+              linux*) haveit=yes;;
+            esac
+          fi
+        fi
+        if test -z "$haveit"; then
+          if test -d "$additional_libdir"; then
+            dnl Really add $additional_libdir to $LDFLAGS.
+            LDFLAGS="${LDFLAGS}${LDFLAGS:+ }-L$additional_libdir"
+          fi
+        fi
+      fi
+    fi
+  fi
+])
+
+dnl AC_LIB_PREPARE_PREFIX creates variables acl_final_prefix,
+dnl acl_final_exec_prefix, containing the values to which $prefix and
+dnl $exec_prefix will expand at the end of the configure script.
+AC_DEFUN([AC_LIB_PREPARE_PREFIX],
+[
+  dnl Unfortunately, prefix and exec_prefix get only finally determined
+  dnl at the end of configure.
+  if test "X$prefix" = "XNONE"; then
+    acl_final_prefix="$ac_default_prefix"
+  else
+    acl_final_prefix="$prefix"
+  fi
+  if test "X$exec_prefix" = "XNONE"; then
+    acl_final_exec_prefix='${prefix}'
+  else
+    acl_final_exec_prefix="$exec_prefix"
+  fi
+  acl_save_prefix="$prefix"
+  prefix="$acl_final_prefix"
+  eval acl_final_exec_prefix=\"$acl_final_exec_prefix\"
+  prefix="$acl_save_prefix"
+])
+
+dnl AC_LIB_WITH_FINAL_PREFIX([statement]) evaluates statement, with the
+dnl variables prefix and exec_prefix bound to the values they will have
+dnl at the end of the configure script.
+AC_DEFUN([AC_LIB_WITH_FINAL_PREFIX],
+[
+  acl_save_prefix="$prefix"
+  prefix="$acl_final_prefix"
+  acl_save_exec_prefix="$exec_prefix"
+  exec_prefix="$acl_final_exec_prefix"
+  $1
+  exec_prefix="$acl_save_exec_prefix"
+  prefix="$acl_save_prefix"
+])
+
+dnl AC_LIB_PREPARE_MULTILIB creates
+dnl - a variable acl_libdirstem, containing the basename of the libdir, either
+dnl   "lib" or "lib64" or "lib/64",
+dnl - a variable acl_libdirstem2, as a secondary possible value for
+dnl   acl_libdirstem, either the same as acl_libdirstem or "lib/sparcv9" or
+dnl   "lib/amd64".
+AC_DEFUN([AC_LIB_PREPARE_MULTILIB],
+[
+  dnl There is no formal standard regarding lib and lib64.
+  dnl On glibc systems, the current practice is that on a system supporting
+  dnl 32-bit and 64-bit instruction sets or ABIs, 64-bit libraries go under
+  dnl $prefix/lib64 and 32-bit libraries go under $prefix/lib. We determine
+  dnl the compiler's default mode by looking at the compiler's library search
+  dnl path. If at least one of its elements ends in /lib64 or points to a
+  dnl directory whose absolute pathname ends in /lib64, we assume a 64-bit ABI.
+  dnl Otherwise we use the default, namely "lib".
+  dnl On Solaris systems, the current practice is that on a system supporting
+  dnl 32-bit and 64-bit instruction sets or ABIs, 64-bit libraries go under
+  dnl $prefix/lib/64 (which is a symlink to either $prefix/lib/sparcv9 or
+  dnl $prefix/lib/amd64) and 32-bit libraries go under $prefix/lib.
+  AC_REQUIRE([AC_CANONICAL_HOST])
+  AC_REQUIRE([gl_HOST_CPU_C_ABI_32BIT])
+
+  case "$host_os" in
+    solaris*)
+      AC_CACHE_CHECK([for 64-bit host], [gl_cv_solaris_64bit],
+        [AC_COMPILE_IFELSE(
+           [AC_LANG_SOURCE(
+              [[#ifdef _LP64
+                 int ok;
+                #else
+                 error fail
+                #endif
+              ]])],
+           [gl_cv_solaris_64bit=yes],
+           [gl_cv_solaris_64bit=no])
+        ]);;
+  esac
+
+  dnl Allow the user to override the result by setting acl_cv_libdirstems.
+  AC_CACHE_CHECK([for the common suffixes of directories in the library search path],
+    [acl_cv_libdirstems],
+    [acl_libdirstem=lib
+     acl_libdirstem2=
+     case "$host_os" in
+       solaris*)
+         dnl See Solaris 10 Software Developer Collection > Solaris 64-bit Developer's Guide > The Development Environment
+         dnl <https://docs.oracle.com/cd/E19253-01/816-5138/dev-env/index.html>.
+         dnl "Portable Makefiles should refer to any library directories using the 64 symbolic link."
+         dnl But we want to recognize the sparcv9 or amd64 subdirectory also if the
+         dnl symlink is missing, so we set acl_libdirstem2 too.
+         if test $gl_cv_solaris_64bit = yes; then
+           acl_libdirstem=lib/64
+           case "$host_cpu" in
+             sparc*)        acl_libdirstem2=lib/sparcv9 ;;
+             i*86 | x86_64) acl_libdirstem2=lib/amd64 ;;
+           esac
+         fi
+         ;;
+       *)
+         dnl If $CC generates code for a 32-bit ABI, the libraries are
+         dnl surely under $prefix/lib, not $prefix/lib64.
+         if test "$HOST_CPU_C_ABI_32BIT" != yes; then
+           dnl The result is a property of the system. However, non-system
+           dnl compilers sometimes have odd library search paths. Therefore
+           dnl prefer asking /usr/bin/gcc, if available, rather than $CC.
+           searchpath=`(if test -f /usr/bin/gcc \
+                           && LC_ALL=C /usr/bin/gcc -print-search-dirs >/dev/null 2>/dev/null; then \
+                          LC_ALL=C /usr/bin/gcc -print-search-dirs; \
+                        else \
+                          LC_ALL=C $CC -print-search-dirs; \
+                        fi) 2>/dev/null \
+                       | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'`
+           if test -n "$searchpath"; then
+             acl_save_IFS="${IFS= 	}"; IFS=":"
+             for searchdir in $searchpath; do
+               if test -d "$searchdir"; then
+                 case "$searchdir" in
+                   */lib64/ | */lib64 ) acl_libdirstem=lib64 ;;
+                   */../ | */.. )
+                     # Better ignore directories of this form. They are misleading.
+                     ;;
+                   *) searchdir=`cd "$searchdir" && pwd`
+                      case "$searchdir" in
+                        */lib64 ) acl_libdirstem=lib64 ;;
+                      esac ;;
+                 esac
+               fi
+             done
+             IFS="$acl_save_IFS"
+           fi
+         fi
+         ;;
+     esac
+     test -n "$acl_libdirstem2" || acl_libdirstem2="$acl_libdirstem"
+     acl_cv_libdirstems="$acl_libdirstem,$acl_libdirstem2"
+    ])
+  # Decompose acl_cv_libdirstems into acl_libdirstem and acl_libdirstem2.
+  acl_libdirstem=`echo "$acl_cv_libdirstems" | sed -e 's/,.*//'`
+  acl_libdirstem2=`echo "$acl_cv_libdirstems" | sed -e '/,/s/.*,//'`
+])
diff --git a/meta/recipes-core/gettext/gettext-minimal-0.20.1/aclocal/nls.m4 b/meta/recipes-core/gettext/gettext-minimal-0.20.1/aclocal/nls.m4
new file mode 100644
index 00000000000..b62f6148570
--- /dev/null
+++ b/meta/recipes-core/gettext/gettext-minimal-0.20.1/aclocal/nls.m4
@@ -0,0 +1,32 @@
+# nls.m4 serial 5 (gettext-0.18)
+dnl Copyright (C) 1995-2003, 2005-2006, 2008-2014, 2016, 2019 Free Software
+dnl Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+dnl
+dnl This file can be used in projects which are not available under
+dnl the GNU General Public License or the GNU Library General Public
+dnl License but which still want to provide support for the GNU gettext
+dnl functionality.
+dnl Please note that the actual code of the GNU gettext library is covered
+dnl by the GNU Library General Public License, and the rest of the GNU
+dnl gettext package is covered by the GNU General Public License.
+dnl They are *not* in the public domain.
+
+dnl Authors:
+dnl   Ulrich Drepper <drepper@cygnus.com>, 1995-2000.
+dnl   Bruno Haible <haible@clisp.cons.org>, 2000-2003.
+
+AC_PREREQ([2.50])
+
+AC_DEFUN([AM_NLS],
+[
+  AC_MSG_CHECKING([whether NLS is requested])
+  dnl Default is enabled NLS
+  AC_ARG_ENABLE([nls],
+    [  --disable-nls           do not use Native Language Support],
+    USE_NLS=$enableval, USE_NLS=yes)
+  AC_MSG_RESULT([$USE_NLS])
+  AC_SUBST([USE_NLS])
+])
diff --git a/meta/recipes-core/gettext/gettext-minimal-0.20.1/aclocal/po.m4 b/meta/recipes-core/gettext/gettext-minimal-0.20.1/aclocal/po.m4
new file mode 100644
index 00000000000..143792dba56
--- /dev/null
+++ b/meta/recipes-core/gettext/gettext-minimal-0.20.1/aclocal/po.m4
@@ -0,0 +1,450 @@
+# po.m4 serial 30 (gettext-0.20)
+dnl Copyright (C) 1995-2014, 2016, 2018-2019 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+dnl
+dnl This file can be used in projects which are not available under
+dnl the GNU General Public License or the GNU Library General Public
+dnl License but which still want to provide support for the GNU gettext
+dnl functionality.
+dnl Please note that the actual code of the GNU gettext library is covered
+dnl by the GNU Library General Public License, and the rest of the GNU
+dnl gettext package is covered by the GNU General Public License.
+dnl They are *not* in the public domain.
+
+dnl Authors:
+dnl   Ulrich Drepper <drepper@cygnus.com>, 1995-2000.
+dnl   Bruno Haible <haible@clisp.cons.org>, 2000-2003.
+
+AC_PREREQ([2.60])
+
+dnl Checks for all prerequisites of the po subdirectory.
+AC_DEFUN([AM_PO_SUBDIRS],
+[
+  AC_REQUIRE([AC_PROG_MAKE_SET])dnl
+  AC_REQUIRE([AC_PROG_INSTALL])dnl
+  AC_REQUIRE([AC_PROG_MKDIR_P])dnl
+  AC_REQUIRE([AC_PROG_SED])dnl
+  AC_REQUIRE([AM_NLS])dnl
+
+  dnl Release version of the gettext macros. This is used to ensure that
+  dnl the gettext macros and po/Makefile.in.in are in sync.
+  AC_SUBST([GETTEXT_MACRO_VERSION], [0.20])
+
+  dnl Perform the following tests also if --disable-nls has been given,
+  dnl because they are needed for "make dist" to work.
+
+  dnl Search for GNU msgfmt in the PATH.
+  dnl The first test excludes Solaris msgfmt and early GNU msgfmt versions.
+  dnl The second test excludes FreeBSD msgfmt.
+  AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,
+    [$ac_dir/$ac_word --statistics /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1 &&
+     (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)],
+    :)
+  AC_PATH_PROG([GMSGFMT], [gmsgfmt], [$MSGFMT])
+
+  dnl Test whether it is GNU msgfmt >= 0.15.
+changequote(,)dnl
+  case `$GMSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in
+    '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) GMSGFMT_015=: ;;
+    *) GMSGFMT_015=$GMSGFMT ;;
+  esac
+changequote([,])dnl
+  AC_SUBST([GMSGFMT_015])
+
+  dnl Search for GNU xgettext 0.12 or newer in the PATH.
+  dnl The first test excludes Solaris xgettext and early GNU xgettext versions.
+  dnl The second test excludes FreeBSD xgettext.
+  AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
+    [$ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1 &&
+     (if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)],
+    :)
+  dnl Remove leftover from FreeBSD xgettext call.
+  rm -f messages.po
+
+  dnl Test whether it is GNU xgettext >= 0.15.
+changequote(,)dnl
+  case `$XGETTEXT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in
+    '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) XGETTEXT_015=: ;;
+    *) XGETTEXT_015=$XGETTEXT ;;
+  esac
+changequote([,])dnl
+  AC_SUBST([XGETTEXT_015])
+
+  dnl Search for GNU msgmerge 0.11 or newer in the PATH.
+  AM_PATH_PROG_WITH_TEST(MSGMERGE, msgmerge,
+    [$ac_dir/$ac_word --update -q /dev/null /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1], :)
+
+  dnl Test whether it is GNU msgmerge >= 0.20.
+  if LC_ALL=C $MSGMERGE --help | grep ' --for-msgfmt ' >/dev/null; then
+    MSGMERGE_FOR_MSGFMT_OPTION='--for-msgfmt'
+  else
+    dnl Test whether it is GNU msgmerge >= 0.12.
+    if LC_ALL=C $MSGMERGE --help | grep ' --no-fuzzy-matching ' >/dev/null; then
+      MSGMERGE_FOR_MSGFMT_OPTION='--no-fuzzy-matching --no-location --quiet'
+    else
+      dnl With these old versions, $(MSGMERGE) $(MSGMERGE_FOR_MSGFMT_OPTION) is
+      dnl slow. But this is not a big problem, as such old gettext versions are
+      dnl hardly in use any more.
+      MSGMERGE_FOR_MSGFMT_OPTION='--no-location --quiet'
+    fi
+  fi
+  AC_SUBST([MSGMERGE_FOR_MSGFMT_OPTION])
+
+  dnl Support for AM_XGETTEXT_OPTION.
+  test -n "${XGETTEXT_EXTRA_OPTIONS+set}" || XGETTEXT_EXTRA_OPTIONS=
+  AC_SUBST([XGETTEXT_EXTRA_OPTIONS])
+
+  AC_CONFIG_COMMANDS([po-directories], [[
+    for ac_file in $CONFIG_FILES; do
+      # Support "outfile[:infile[:infile...]]"
+      case "$ac_file" in
+        *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
+      esac
+      # PO directories have a Makefile.in generated from Makefile.in.in.
+      case "$ac_file" in */Makefile.in)
+        # Adjust a relative srcdir.
+        ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'`
+        ac_dir_suffix=/`echo "$ac_dir"|sed 's%^\./%%'`
+        ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'`
+        # In autoconf-2.13 it is called $ac_given_srcdir.
+        # In autoconf-2.50 it is called $srcdir.
+        test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir"
+        case "$ac_given_srcdir" in
+          .)  top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;;
+          /*) top_srcdir="$ac_given_srcdir" ;;
+          *)  top_srcdir="$ac_dots$ac_given_srcdir" ;;
+        esac
+        # Treat a directory as a PO directory if and only if it has a
+        # POTFILES.in file. This allows packages to have multiple PO
+        # directories under different names or in different locations.
+        if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then
+          rm -f "$ac_dir/POTFILES"
+          test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES"
+          gt_tab=`printf '\t'`
+          cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ ${gt_tab}]*\$/d" -e "s,.*,     $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES"
+          POMAKEFILEDEPS="POTFILES.in"
+          # ALL_LINGUAS, POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES depend
+          # on $ac_dir but don't depend on user-specified configuration
+          # parameters.
+          if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then
+            # The LINGUAS file contains the set of available languages.
+            if test -n "$OBSOLETE_ALL_LINGUAS"; then
+              test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete"
+            fi
+            ALL_LINGUAS=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"`
+            POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS"
+          else
+            # The set of available languages was given in configure.in.
+            ALL_LINGUAS=$OBSOLETE_ALL_LINGUAS
+          fi
+          # Compute POFILES
+          # as      $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po)
+          # Compute UPDATEPOFILES
+          # as      $(foreach lang, $(ALL_LINGUAS), $(lang).po-update)
+          # Compute DUMMYPOFILES
+          # as      $(foreach lang, $(ALL_LINGUAS), $(lang).nop)
+          # Compute GMOFILES
+          # as      $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).gmo)
+          case "$ac_given_srcdir" in
+            .) srcdirpre= ;;
+            *) srcdirpre='$(srcdir)/' ;;
+          esac
+          POFILES=
+          UPDATEPOFILES=
+          DUMMYPOFILES=
+          GMOFILES=
+          for lang in $ALL_LINGUAS; do
+            POFILES="$POFILES $srcdirpre$lang.po"
+            UPDATEPOFILES="$UPDATEPOFILES $lang.po-update"
+            DUMMYPOFILES="$DUMMYPOFILES $lang.nop"
+            GMOFILES="$GMOFILES $srcdirpre$lang.gmo"
+          done
+          # CATALOGS depends on both $ac_dir and the user's LINGUAS
+          # environment variable.
+          INST_LINGUAS=
+          if test -n "$ALL_LINGUAS"; then
+            for presentlang in $ALL_LINGUAS; do
+              useit=no
+              if test "%UNSET%" != "$LINGUAS"; then
+                desiredlanguages="$LINGUAS"
+              else
+                desiredlanguages="$ALL_LINGUAS"
+              fi
+              for desiredlang in $desiredlanguages; do
+                # Use the presentlang catalog if desiredlang is
+                #   a. equal to presentlang, or
+                #   b. a variant of presentlang (because in this case,
+                #      presentlang can be used as a fallback for messages
+                #      which are not translated in the desiredlang catalog).
+                case "$desiredlang" in
+                  "$presentlang"*) useit=yes;;
+                esac
+              done
+              if test $useit = yes; then
+                INST_LINGUAS="$INST_LINGUAS $presentlang"
+              fi
+            done
+          fi
+          CATALOGS=
+          if test -n "$INST_LINGUAS"; then
+            for lang in $INST_LINGUAS; do
+              CATALOGS="$CATALOGS $lang.gmo"
+            done
+          fi
+          test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile"
+          sed -e "/^POTFILES =/r $ac_dir/POTFILES" -e "/^# Makevars/r $ac_given_srcdir/$ac_dir/Makevars" -e "s|@POFILES@|$POFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@POMAKEFILEDEPS@|$POMAKEFILEDEPS|g" "$ac_dir/Makefile.in" > "$ac_dir/Makefile"
+          for f in "$ac_given_srcdir/$ac_dir"/Rules-*; do
+            if test -f "$f"; then
+              case "$f" in
+                *.orig | *.bak | *~) ;;
+                *) cat "$f" >> "$ac_dir/Makefile" ;;
+              esac
+            fi
+          done
+        fi
+        ;;
+      esac
+    done]],
+   [# Capture the value of obsolete ALL_LINGUAS because we need it to compute
+    # POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES, CATALOGS.
+    OBSOLETE_ALL_LINGUAS="$ALL_LINGUAS"
+    # Capture the value of LINGUAS because we need it to compute CATALOGS.
+    LINGUAS="${LINGUAS-%UNSET%}"
+   ])
+])
+
+dnl Postprocesses a Makefile in a directory containing PO files.
+AC_DEFUN([AM_POSTPROCESS_PO_MAKEFILE],
+[
+  # When this code is run, in config.status, two variables have already been
+  # set:
+  # - OBSOLETE_ALL_LINGUAS is the value of LINGUAS set in configure.in,
+  # - LINGUAS is the value of the environment variable LINGUAS at configure
+  #   time.
+
+changequote(,)dnl
+  # Adjust a relative srcdir.
+  ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'`
+  ac_dir_suffix=/`echo "$ac_dir"|sed 's%^\./%%'`
+  ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'`
+  # In autoconf-2.13 it is called $ac_given_srcdir.
+  # In autoconf-2.50 it is called $srcdir.
+  test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir"
+  case "$ac_given_srcdir" in
+    .)  top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;;
+    /*) top_srcdir="$ac_given_srcdir" ;;
+    *)  top_srcdir="$ac_dots$ac_given_srcdir" ;;
+  esac
+
+  # Find a way to echo strings without interpreting backslash.
+  if test "X`(echo '\t') 2>/dev/null`" = 'X\t'; then
+    gt_echo='echo'
+  else
+    if test "X`(printf '%s\n' '\t') 2>/dev/null`" = 'X\t'; then
+      gt_echo='printf %s\n'
+    else
+      echo_func () {
+        cat <<EOT
+$*
+EOT
+      }
+      gt_echo='echo_func'
+    fi
+  fi
+
+  # A sed script that extracts the value of VARIABLE from a Makefile.
+  tab=`printf '\t'`
+  sed_x_variable='
+# Test if the hold space is empty.
+x
+s/P/P/
+x
+ta
+# Yes it was empty. Look if we have the expected variable definition.
+/^['"${tab}"' ]*VARIABLE['"${tab}"' ]*=/{
+  # Seen the first line of the variable definition.
+  s/^['"${tab}"' ]*VARIABLE['"${tab}"' ]*=//
+  ba
+}
+bd
+:a
+# Here we are processing a line from the variable definition.
+# Remove comment, more precisely replace it with a space.
+s/#.*$/ /
+# See if the line ends in a backslash.
+tb
+:b
+s/\\$//
+# Print the line, without the trailing backslash.
+p
+tc
+# There was no trailing backslash. The end of the variable definition is
+# reached. Clear the hold space.
+s/^.*$//
+x
+bd
+:c
+# A trailing backslash means that the variable definition continues in the
+# next line. Put a nonempty string into the hold space to indicate this.
+s/^.*$/P/
+x
+:d
+'
+changequote([,])dnl
+
+  # Set POTFILES to the value of the Makefile variable POTFILES.
+  sed_x_POTFILES=`$gt_echo "$sed_x_variable" | sed -e '/^ *#/d' -e 's/VARIABLE/POTFILES/g'`
+  POTFILES=`sed -n -e "$sed_x_POTFILES" < "$ac_file"`
+  # Compute POTFILES_DEPS as
+  #   $(foreach file, $(POTFILES), $(top_srcdir)/$(file))
+  POTFILES_DEPS=
+  for file in $POTFILES; do
+    POTFILES_DEPS="$POTFILES_DEPS "'$(top_srcdir)/'"$file"
+  done
+  POMAKEFILEDEPS=""
+
+  if test -n "$OBSOLETE_ALL_LINGUAS"; then
+    test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete"
+  fi
+  if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then
+    # The LINGUAS file contains the set of available languages.
+    ALL_LINGUAS=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"`
+    POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS"
+  else
+    # Set ALL_LINGUAS to the value of the Makefile variable LINGUAS.
+    sed_x_LINGUAS=`$gt_echo "$sed_x_variable" | sed -e '/^ *#/d' -e 's/VARIABLE/LINGUAS/g'`
+    ALL_LINGUAS=`sed -n -e "$sed_x_LINGUAS" < "$ac_file"`
+  fi
+  # Compute POFILES
+  # as      $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po)
+  # Compute UPDATEPOFILES
+  # as      $(foreach lang, $(ALL_LINGUAS), $(lang).po-update)
+  # Compute DUMMYPOFILES
+  # as      $(foreach lang, $(ALL_LINGUAS), $(lang).nop)
+  # Compute GMOFILES
+  # as      $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).gmo)
+  # Compute PROPERTIESFILES
+  # as      $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(DOMAIN)_$(lang).properties)
+  # Compute CLASSFILES
+  # as      $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(DOMAIN)_$(lang).class)
+  # Compute QMFILES
+  # as      $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).qm)
+  # Compute MSGFILES
+  # as      $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(frob $(lang)).msg)
+  # Compute RESOURCESDLLFILES
+  # as      $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(frob $(lang))/$(DOMAIN).resources.dll)
+  case "$ac_given_srcdir" in
+    .) srcdirpre= ;;
+    *) srcdirpre='$(srcdir)/' ;;
+  esac
+  POFILES=
+  UPDATEPOFILES=
+  DUMMYPOFILES=
+  GMOFILES=
+  PROPERTIESFILES=
+  CLASSFILES=
+  QMFILES=
+  MSGFILES=
+  RESOURCESDLLFILES=
+  for lang in $ALL_LINGUAS; do
+    POFILES="$POFILES $srcdirpre$lang.po"
+    UPDATEPOFILES="$UPDATEPOFILES $lang.po-update"
+    DUMMYPOFILES="$DUMMYPOFILES $lang.nop"
+    GMOFILES="$GMOFILES $srcdirpre$lang.gmo"
+    PROPERTIESFILES="$PROPERTIESFILES \$(srcdir)/\$(DOMAIN)_$lang.properties"
+    CLASSFILES="$CLASSFILES \$(srcdir)/\$(DOMAIN)_$lang.class"
+    QMFILES="$QMFILES $srcdirpre$lang.qm"
+    frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'`
+    MSGFILES="$MSGFILES $srcdirpre$frobbedlang.msg"
+    frobbedlang=`echo $lang | sed -e 's/_/-/g' -e 's/^sr-CS/sr-SP/' -e 's/@latin$/-Latn/' -e 's/@cyrillic$/-Cyrl/' -e 's/^sr-SP$/sr-SP-Latn/' -e 's/^uz-UZ$/uz-UZ-Latn/'`
+    RESOURCESDLLFILES="$RESOURCESDLLFILES $srcdirpre$frobbedlang/\$(DOMAIN).resources.dll"
+  done
+  # CATALOGS depends on both $ac_dir and the user's LINGUAS
+  # environment variable.
+  INST_LINGUAS=
+  if test -n "$ALL_LINGUAS"; then
+    for presentlang in $ALL_LINGUAS; do
+      useit=no
+      if test "%UNSET%" != "$LINGUAS"; then
+        desiredlanguages="$LINGUAS"
+      else
+        desiredlanguages="$ALL_LINGUAS"
+      fi
+      for desiredlang in $desiredlanguages; do
+        # Use the presentlang catalog if desiredlang is
+        #   a. equal to presentlang, or
+        #   b. a variant of presentlang (because in this case,
+        #      presentlang can be used as a fallback for messages
+        #      which are not translated in the desiredlang catalog).
+        case "$desiredlang" in
+          "$presentlang"*) useit=yes;;
+        esac
+      done
+      if test $useit = yes; then
+        INST_LINGUAS="$INST_LINGUAS $presentlang"
+      fi
+    done
+  fi
+  CATALOGS=
+  JAVACATALOGS=
+  QTCATALOGS=
+  TCLCATALOGS=
+  CSHARPCATALOGS=
+  if test -n "$INST_LINGUAS"; then
+    for lang in $INST_LINGUAS; do
+      CATALOGS="$CATALOGS $lang.gmo"
+      JAVACATALOGS="$JAVACATALOGS \$(DOMAIN)_$lang.properties"
+      QTCATALOGS="$QTCATALOGS $lang.qm"
+      frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'`
+      TCLCATALOGS="$TCLCATALOGS $frobbedlang.msg"
+      frobbedlang=`echo $lang | sed -e 's/_/-/g' -e 's/^sr-CS/sr-SP/' -e 's/@latin$/-Latn/' -e 's/@cyrillic$/-Cyrl/' -e 's/^sr-SP$/sr-SP-Latn/' -e 's/^uz-UZ$/uz-UZ-Latn/'`
+      CSHARPCATALOGS="$CSHARPCATALOGS $frobbedlang/\$(DOMAIN).resources.dll"
+    done
+  fi
+
+  sed -e "s|@POTFILES_DEPS@|$POTFILES_DEPS|g" -e "s|@POFILES@|$POFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@PROPERTIESFILES@|$PROPERTIESFILES|g" -e "s|@CLASSFILES@|$CLASSFILES|g" -e "s|@QMFILES@|$QMFILES|g" -e "s|@MSGFILES@|$MSGFILES|g" -e "s|@RESOURCESDLLFILES@|$RESOURCESDLLFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@JAVACATALOGS@|$JAVACATALOGS|g" -e "s|@QTCATALOGS@|$QTCATALOGS|g" -e "s|@TCLCATALOGS@|$TCLCATALOGS|g" -e "s|@CSHARPCATALOGS@|$CSHARPCATALOGS|g" -e 's,^#distdir:,distdir:,' < "$ac_file" > "$ac_file.tmp"
+  tab=`printf '\t'`
+  if grep -l '@TCLCATALOGS@' "$ac_file" > /dev/null; then
+    # Add dependencies that cannot be formulated as a simple suffix rule.
+    for lang in $ALL_LINGUAS; do
+      frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'`
+      cat >> "$ac_file.tmp" <<EOF
+$frobbedlang.msg: $lang.po
+${tab}@echo "\$(MSGFMT) -c --tcl -d \$(srcdir) -l $lang $srcdirpre$lang.po"; \
+${tab}\$(MSGFMT) -c --tcl -d "\$(srcdir)" -l $lang $srcdirpre$lang.po || { rm -f "\$(srcdir)/$frobbedlang.msg"; exit 1; }
+EOF
+    done
+  fi
+  if grep -l '@CSHARPCATALOGS@' "$ac_file" > /dev/null; then
+    # Add dependencies that cannot be formulated as a simple suffix rule.
+    for lang in $ALL_LINGUAS; do
+      frobbedlang=`echo $lang | sed -e 's/_/-/g' -e 's/^sr-CS/sr-SP/' -e 's/@latin$/-Latn/' -e 's/@cyrillic$/-Cyrl/' -e 's/^sr-SP$/sr-SP-Latn/' -e 's/^uz-UZ$/uz-UZ-Latn/'`
+      cat >> "$ac_file.tmp" <<EOF
+$frobbedlang/\$(DOMAIN).resources.dll: $lang.po
+${tab}@echo "\$(MSGFMT) -c --csharp -d \$(srcdir) -l $lang $srcdirpre$lang.po -r \$(DOMAIN)"; \
+${tab}\$(MSGFMT) -c --csharp -d "\$(srcdir)" -l $lang $srcdirpre$lang.po -r "\$(DOMAIN)" || { rm -f "\$(srcdir)/$frobbedlang.msg"; exit 1; }
+EOF
+    done
+  fi
+  if test -n "$POMAKEFILEDEPS"; then
+    cat >> "$ac_file.tmp" <<EOF
+Makefile: $POMAKEFILEDEPS
+EOF
+  fi
+  mv "$ac_file.tmp" "$ac_file"
+])
+
+dnl Initializes the accumulator used by AM_XGETTEXT_OPTION.
+AC_DEFUN([AM_XGETTEXT_OPTION_INIT],
+[
+  XGETTEXT_EXTRA_OPTIONS=
+])
+
+dnl Registers an option to be passed to xgettext in the po subdirectory.
+AC_DEFUN([AM_XGETTEXT_OPTION],
+[
+  AC_REQUIRE([AM_XGETTEXT_OPTION_INIT])
+  XGETTEXT_EXTRA_OPTIONS="$XGETTEXT_EXTRA_OPTIONS $1"
+])
diff --git a/meta/recipes-core/gettext/gettext-minimal-0.20.1/aclocal/progtest.m4 b/meta/recipes-core/gettext/gettext-minimal-0.20.1/aclocal/progtest.m4
new file mode 100644
index 00000000000..5f186b14909
--- /dev/null
+++ b/meta/recipes-core/gettext/gettext-minimal-0.20.1/aclocal/progtest.m4
@@ -0,0 +1,91 @@
+# progtest.m4 serial 7 (gettext-0.18.2)
+dnl Copyright (C) 1996-2003, 2005, 2008-2019 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+dnl
+dnl This file can be used in projects which are not available under
+dnl the GNU General Public License or the GNU Library General Public
+dnl License but which still want to provide support for the GNU gettext
+dnl functionality.
+dnl Please note that the actual code of the GNU gettext library is covered
+dnl by the GNU Library General Public License, and the rest of the GNU
+dnl gettext package is covered by the GNU General Public License.
+dnl They are *not* in the public domain.
+
+dnl Authors:
+dnl   Ulrich Drepper <drepper@cygnus.com>, 1996.
+
+AC_PREREQ([2.50])
+
+# Search path for a program which passes the given test.
+
+dnl AM_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR,
+dnl   TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]])
+AC_DEFUN([AM_PATH_PROG_WITH_TEST],
+[
+# Prepare PATH_SEPARATOR.
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+  # Determine PATH_SEPARATOR by trying to find /bin/sh in a PATH which
+  # contains only /bin. Note that ksh looks also at the FPATH variable,
+  # so we have to set that as well for the test.
+  PATH_SEPARATOR=:
+  (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \
+    && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \
+           || PATH_SEPARATOR=';'
+       }
+fi
+
+# Find out how to test for executable files. Don't use a zero-byte file,
+# as systems may use methods other than mode bits to determine executability.
+cat >conf$$.file <<_ASEOF
+#! /bin/sh
+exit 0
+_ASEOF
+chmod +x conf$$.file
+if test -x conf$$.file >/dev/null 2>&1; then
+  ac_executable_p="test -x"
+else
+  ac_executable_p="test -f"
+fi
+rm -f conf$$.file
+
+# Extract the first word of "$2", so it can be a program name with args.
+set dummy $2; ac_word=[$]2
+AC_MSG_CHECKING([for $ac_word])
+AC_CACHE_VAL([ac_cv_path_$1],
+[case "[$]$1" in
+  [[\\/]]* | ?:[[\\/]]*)
+    ac_cv_path_$1="[$]$1" # Let the user override the test with a path.
+    ;;
+  *)
+    ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR
+    for ac_dir in ifelse([$5], , $PATH, [$5]); do
+      IFS="$ac_save_IFS"
+      test -z "$ac_dir" && ac_dir=.
+      for ac_exec_ext in '' $ac_executable_extensions; do
+        if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then
+          echo "$as_me: trying $ac_dir/$ac_word..." >&AS_MESSAGE_LOG_FD
+          if [$3]; then
+            ac_cv_path_$1="$ac_dir/$ac_word$ac_exec_ext"
+            break 2
+          fi
+        fi
+      done
+    done
+    IFS="$ac_save_IFS"
+dnl If no 4th arg is given, leave the cache variable unset,
+dnl so AC_PATH_PROGS will keep looking.
+ifelse([$4], , , [  test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4"
+])dnl
+    ;;
+esac])dnl
+$1="$ac_cv_path_$1"
+if test ifelse([$4], , [-n "[$]$1"], ["[$]$1" != "$4"]); then
+  AC_MSG_RESULT([$][$1])
+else
+  AC_MSG_RESULT([no])
+fi
+AC_SUBST([$1])dnl
+])
diff --git a/meta/recipes-core/gettext/gettext-minimal-0.19.8.1/config.rpath b/meta/recipes-core/gettext/gettext-minimal-0.20.1/config.rpath
similarity index 99%
rename from meta/recipes-core/gettext/gettext-minimal-0.19.8.1/config.rpath
rename to meta/recipes-core/gettext/gettext-minimal-0.20.1/config.rpath
index 98183ff2f2e..be202c1a9e7 100755
--- a/meta/recipes-core/gettext/gettext-minimal-0.19.8.1/config.rpath
+++ b/meta/recipes-core/gettext/gettext-minimal-0.20.1/config.rpath
@@ -2,7 +2,7 @@
 # Output a system dependent set of variables, describing how to set the
 # run time search path of shared libraries in an executable.
 #
-#   Copyright 1996-2016 Free Software Foundation, Inc.
+#   Copyright 1996-2019 Free Software Foundation, Inc.
 #   Taken from GNU libtool, 2001
 #   Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
 #
diff --git a/meta/recipes-core/gettext/gettext-minimal-0.19.8.1/remove-potcdate.sin b/meta/recipes-core/gettext/gettext-minimal-0.20.1/remove-potcdate.sin
similarity index 50%
rename from meta/recipes-core/gettext/gettext-minimal-0.19.8.1/remove-potcdate.sin
rename to meta/recipes-core/gettext/gettext-minimal-0.20.1/remove-potcdate.sin
index 2436c49e786..8c70dfbf148 100644
--- a/meta/recipes-core/gettext/gettext-minimal-0.19.8.1/remove-potcdate.sin
+++ b/meta/recipes-core/gettext/gettext-minimal-0.20.1/remove-potcdate.sin
@@ -1,6 +1,12 @@
-# Sed script that remove the POT-Creation-Date line in the header entry
+# Sed script that removes the POT-Creation-Date line in the header entry
 # from a POT file.
 #
+# Copyright (C) 2002 Free Software Foundation, Inc.
+# Copying and distribution of this file, with or without modification,
+# are permitted in any medium without royalty provided the copyright
+# notice and this notice are preserved.  This file is offered as-is,
+# without any warranty.
+#
 # The distinction between the first and the following occurrences of the
 # pattern is achieved by looking at the hold space.
 /^"POT-Creation-Date: .*"$/{
diff --git a/meta/recipes-core/gettext/gettext-minimal-native_0.19.8.1.bb b/meta/recipes-core/gettext/gettext-minimal-native_0.20.1.bb
similarity index 86%
rename from meta/recipes-core/gettext/gettext-minimal-native_0.19.8.1.bb
rename to meta/recipes-core/gettext/gettext-minimal-native_0.20.1.bb
index 26ff19975d2..7a4dcbec57b 100644
--- a/meta/recipes-core/gettext/gettext-minimal-native_0.19.8.1.bb
+++ b/meta/recipes-core/gettext/gettext-minimal-native_0.20.1.bb
@@ -3,12 +3,11 @@ DESCRIPTION = "Contains the m4 macros sufficient to support building \
 autoconf/automake. This provides a significant build time speedup by \
 the removal of gettext-native from most dependency chains (now only \
 needed for gettext for the target)."
-SRC_URI = "file://aclocal.tgz \
+SRC_URI = "file://aclocal/ \
            file://config.rpath \
            file://Makefile.in.in \
            file://remove-potcdate.sin \
            file://COPYING \
-           file://0001-PATCH-Disable-the-test-to-convert-euc-jp.patch \
 "
 
 INHIBIT_DEFAULT_DEPS = "1"
@@ -23,7 +22,7 @@ S = "${WORKDIR}"
 
 do_install () {
 	install -d ${D}${datadir}/aclocal/
-	cp ${WORKDIR}/*.m4 ${D}${datadir}/aclocal/
+	cp ${WORKDIR}/aclocal/*.m4 ${D}${datadir}/aclocal/
 	install -d ${D}${datadir}/gettext/po/
 	cp ${WORKDIR}/config.rpath ${D}${datadir}/gettext/
 	cp ${WORKDIR}/Makefile.in.in ${D}${datadir}/gettext/po/
-- 
2.17.1



^ permalink raw reply related	[flat|nested] 62+ messages in thread

* [PATCH 03/30] gettext: update to 0.20.1
  2019-12-12 18:14 [PATCH 01/30] rpm: upgrade to 4.15.1 Alexander Kanavin
  2019-12-12 18:14 ` [PATCH 02/30] gettext-minimal-native: update to 0.20.1 Alexander Kanavin
@ 2019-12-12 18:14 ` Alexander Kanavin
  2019-12-15 11:03   ` Richard Purdie
  2019-12-12 18:14 ` [PATCH 04/30] psmisc: revert to default autopoint exclusion Alexander Kanavin
                   ` (27 subsequent siblings)
  29 siblings, 1 reply; 62+ messages in thread
From: Alexander Kanavin @ 2019-12-12 18:14 UTC (permalink / raw)
  To: openembedded-core

License-Update: URLs changed from http to https
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
 .../gettext-0.19.8.1/fix-CVE-2018-18751.patch | 141 ----
 .../gettext/gettext-0.19.8.1/parallel.patch   |  23 -
 .../gettext-0.19.8.1/use-pkgconfig.patch      | 321 --------
 .../add-with-bisonlocaledir.patch             |   0
 ...nt.c-timsort.h-fix-formatting-issues.patch |  30 +-
 .../gettext/gettext-0.20.1/parallel.patch     |  32 +
 .../run-ptest                                 |   0
 .../serial-tests-config.patch                 |  26 +-
 .../gettext-0.20.1/use-pkgconfig.patch        | 713 ++++++++++++++++++
 ...{gettext_0.19.8.1.bb => gettext_0.20.1.bb} |  23 +-
 10 files changed, 775 insertions(+), 534 deletions(-)
 delete mode 100644 meta/recipes-core/gettext/gettext-0.19.8.1/fix-CVE-2018-18751.patch
 delete mode 100644 meta/recipes-core/gettext/gettext-0.19.8.1/parallel.patch
 delete mode 100644 meta/recipes-core/gettext/gettext-0.19.8.1/use-pkgconfig.patch
 rename meta/recipes-core/gettext/{gettext-0.19.8.1 => gettext-0.20.1}/add-with-bisonlocaledir.patch (100%)
 rename meta/recipes-core/gettext/{gettext-0.19.8.1 => gettext-0.20.1}/cr-statement.c-timsort.h-fix-formatting-issues.patch (68%)
 create mode 100644 meta/recipes-core/gettext/gettext-0.20.1/parallel.patch
 rename meta/recipes-core/gettext/{gettext-0.19.8.1 => gettext-0.20.1}/run-ptest (100%)
 rename meta/recipes-core/gettext/{gettext-0.19.8.1 => gettext-0.20.1}/serial-tests-config.patch (75%)
 create mode 100644 meta/recipes-core/gettext/gettext-0.20.1/use-pkgconfig.patch
 rename meta/recipes-core/gettext/{gettext_0.19.8.1.bb => gettext_0.20.1.bb} (94%)

diff --git a/meta/recipes-core/gettext/gettext-0.19.8.1/fix-CVE-2018-18751.patch b/meta/recipes-core/gettext/gettext-0.19.8.1/fix-CVE-2018-18751.patch
deleted file mode 100644
index 6dfe200d654..00000000000
--- a/meta/recipes-core/gettext/gettext-0.19.8.1/fix-CVE-2018-18751.patch
+++ /dev/null
@@ -1,141 +0,0 @@
-Upstream-Status: Backport [https://git.savannah.gnu.org/gitweb/?p=gettext.git;a=commit;h=dce3a16]
-CVE: CVE-2018-18751
-
-Signed-off-by: Kai Kang <kai.kang@windriver.com>
-
-From dce3a16e5e9368245735e29bf498dcd5e3e474a4 Mon Sep 17 00:00:00 2001
-From: Daiki Ueno <ueno@gnu.org>
-Date: Thu, 15 Sep 2016 13:57:24 +0200
-Subject: [PATCH] xgettext: Fix crash with *.po file input
-
-When xgettext was given two *.po files with the same msgid_plural, it
-crashed with double-free.  Problem reported by Davlet Panech in:
-http://lists.gnu.org/archive/html/bug-gettext/2016-09/msg00001.html
-* gettext-tools/src/po-gram-gen.y: Don't free msgid_pluralform after
-calling do_callback_message, assuming that it takes ownership.
-* gettext-tools/src/read-catalog.c (default_add_message): Free
-msgid_plural after calling message_alloc.
-* gettext-tools/tests/xgettext-po-2: New file.
-* gettext-tools/tests/Makefile.am (TESTS): Add new test.
----
- gettext-tools/src/po-gram-gen.y   | 13 ++++-----
- gettext-tools/src/read-catalog.c  |  2 ++
- gettext-tools/tests/Makefile.am   |  2 +-
- gettext-tools/tests/xgettext-po-2 | 55 +++++++++++++++++++++++++++++++++++++++
- 4 files changed, 63 insertions(+), 9 deletions(-)
- create mode 100755 gettext-tools/tests/xgettext-po-2
-
-diff --git a/gettext-tools/src/po-gram-gen.y b/gettext-tools/src/po-gram-gen.y
-index becf5e6..4428e77 100644
---- a/gettext-tools/src/po-gram-gen.y
-+++ b/gettext-tools/src/po-gram-gen.y
-@@ -221,14 +221,11 @@ message
-                   check_obsolete ($1, $3);
-                   check_obsolete ($1, $4);
-                   if (!$1.obsolete || pass_obsolete_entries)
--                    {
--                      do_callback_message ($1.ctxt, string2, &$1.pos, $3.string,
--                                           $4.rhs.msgstr, $4.rhs.msgstr_len, &$4.pos,
--                                           $1.prev_ctxt,
--                                           $1.prev_id, $1.prev_id_plural,
--                                           $1.obsolete);
--                      free ($3.string);
--                    }
-+                    do_callback_message ($1.ctxt, string2, &$1.pos, $3.string,
-+                                         $4.rhs.msgstr, $4.rhs.msgstr_len, &$4.pos,
-+                                         $1.prev_ctxt,
-+                                         $1.prev_id, $1.prev_id_plural,
-+                                         $1.obsolete);
-                   else
-                     {
-                       free_message_intro ($1);
-diff --git a/gettext-tools/src/read-catalog.c b/gettext-tools/src/read-catalog.c
-index 571d18e..6af6d20 100644
---- a/gettext-tools/src/read-catalog.c
-+++ b/gettext-tools/src/read-catalog.c
-@@ -397,6 +397,8 @@ default_add_message (default_catalog_reader_ty *this,
-          appropriate.  */
-       mp = message_alloc (msgctxt, msgid, msgid_plural, msgstr, msgstr_len,
-                           msgstr_pos);
-+      if (msgid_plural != NULL)
-+        free (msgid_plural);
-       mp->prev_msgctxt = prev_msgctxt;
-       mp->prev_msgid = prev_msgid;
-       mp->prev_msgid_plural = prev_msgid_plural;
-diff --git a/gettext-tools/tests/Makefile.am b/gettext-tools/tests/Makefile.am
-index 23b09b1..0dfb4d8 100644
---- a/gettext-tools/tests/Makefile.am
-+++ b/gettext-tools/tests/Makefile.am
-@@ -95,7 +95,7 @@ TESTS = gettext-1 gettext-2 gettext-3 gettext-4 gettext-5 gettext-6 gettext-7 \
- 	xgettext-perl-1 xgettext-perl-2 xgettext-perl-3 xgettext-perl-4 \
- 	xgettext-perl-5 xgettext-perl-6 xgettext-perl-7 xgettext-perl-8 \
- 	xgettext-php-1 xgettext-php-2 xgettext-php-3 xgettext-php-4 \
--	xgettext-po-1 \
-+	xgettext-po-1 xgettext-po-2 \
- 	xgettext-properties-1 \
- 	xgettext-python-1 xgettext-python-2 xgettext-python-3 \
- 	xgettext-python-4 \
-diff --git a/gettext-tools/tests/xgettext-po-2 b/gettext-tools/tests/xgettext-po-2
-new file mode 100755
-index 0000000..c4bd9d0
---- /dev/null
-+++ b/gettext-tools/tests/xgettext-po-2
-@@ -0,0 +1,55 @@
-+#! /bin/sh
-+. "${srcdir=.}/init.sh"; path_prepend_ . ../src
-+
-+# Test PO extractors with multiple input files.
-+
-+cat <<EOF > xg-po-2-1.po
-+msgid "first msgid"
-+msgid_plural "first msgid (plural)"
-+msgstr[0] ""
-+msgstr[1] ""
-+
-+msgid "second msgid"
-+msgid_plural "second msgid (plural)"
-+msgstr[0] ""
-+msgstr[1] ""
-+EOF
-+
-+cat <<EOF > xg-po-2-2.po
-+msgid "third msgid"
-+msgid_plural "third msgid (plural)"
-+msgstr[0] ""
-+msgstr[1] ""
-+
-+msgid "second msgid"
-+msgid_plural "second msgid (plural)"
-+msgstr[0] ""
-+msgstr[1] ""
-+EOF
-+
-+: ${XGETTEXT=xgettext}
-+${XGETTEXT} --omit-header xg-po-2-1.po xg-po-2-2.po -o xg-po-2.tmp.po || Exit 1
-+LC_ALL=C tr -d '\r' < xg-po-2.tmp.po > xg-po-2.po || Exit 1
-+
-+cat <<EOF > xg-po-2.ok
-+msgid "first msgid"
-+msgid_plural "first msgid (plural)"
-+msgstr[0] ""
-+msgstr[1] ""
-+
-+msgid "second msgid"
-+msgid_plural "second msgid (plural)"
-+msgstr[0] ""
-+msgstr[1] ""
-+
-+msgid "third msgid"
-+msgid_plural "third msgid (plural)"
-+msgstr[0] ""
-+msgstr[1] ""
-+EOF
-+
-+: ${DIFF=diff}
-+${DIFF} xg-po-2.ok xg-po-2.po
-+result=$?
-+
-+exit $result
--- 
-1.9.1
-
diff --git a/meta/recipes-core/gettext/gettext-0.19.8.1/parallel.patch b/meta/recipes-core/gettext/gettext-0.19.8.1/parallel.patch
deleted file mode 100644
index c8e2c94af0e..00000000000
--- a/meta/recipes-core/gettext/gettext-0.19.8.1/parallel.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-instal libgettextlib.a before removing it
-
-In a multiple job build, Makefile can simultaneously
-be installing and removing libgettextlib.a.  We serialize
-the operations.
-
-Upstream-Status: Pending
-
-Signed-off-by: Joe Slater <jslater@windriver.com>
-
---- a/gettext-tools/gnulib-lib/Makefile.am
-+++ b/gettext-tools/gnulib-lib/Makefile.am
-@@ -57,6 +57,10 @@ endif
- # Rules generated and collected by gnulib-tool.
- include Makefile.gnulib
- 
-+# defined in Makefile.gnulib but missing this dependency
-+#
-+install-exec-clean: install-libLTLIBRARIES
-+
- # Which classes to export from the shared library.
- MOOPPFLAGS += --dllexport=styled_ostream
- 
diff --git a/meta/recipes-core/gettext/gettext-0.19.8.1/use-pkgconfig.patch b/meta/recipes-core/gettext/gettext-0.19.8.1/use-pkgconfig.patch
deleted file mode 100644
index 6156a153f74..00000000000
--- a/meta/recipes-core/gettext/gettext-0.19.8.1/use-pkgconfig.patch
+++ /dev/null
@@ -1,321 +0,0 @@
-For reasons which I just can't fathom gnulib doesn't use the expected tools to
-find libraries but badly reinvents the wheel.  This will trivially lead to host
-contamination (explicit searches of /usr/lib) or incorrect RPATHs (bad
-canonicalisation resulting in relative paths).
-
-Simply delete all the crazy, and replace with a single call to pkg-config.
-
-Upstream-Status: Inappropriate (upstream still refuse to consider pkg-config)
-Signed-off-by: Ross Burton <ross.burton@intel.com>
-
-diff --git a/gnulib-local/m4/libcroco.m4 b/gnulib-local/m4/libcroco.m4
-index f79ea82f1..1f67274db 100644
---- a/gettext-tools/gnulib-m4/libcroco.m4
-+++ b/gettext-tools/gnulib-m4/libcroco.m4
-@@ -8,6 +8,7 @@ dnl From Bruno Haible.
- 
- AC_DEFUN([gl_LIBCROCO],
- [
-+  AC_REQUIRE([PKG_PROG_PKG_CONFIG])
-   dnl libcroco depends on libglib.
-   AC_REQUIRE([gl_LIBGLIB])
- 
-@@ -23,65 +24,10 @@ AC_DEFUN([gl_LIBCROCO],
-   LTLIBCROCO=
-   INCCROCO=
-   if test "$gl_cv_libcroco_use_included" != yes; then
--    dnl Figure out whether we can use a preinstalled libcroco-0.6, or have to
--    dnl use the included one.
--    AC_CACHE_VAL([gl_cv_libcroco], [
--      gl_cv_libcroco=no
--      gl_cv_LIBCROCO=
--      gl_cv_LTLIBCROCO=
--      gl_cv_INCCROCO=
--      gl_save_LIBS="$LIBS"
--      dnl Search for libcroco and define LIBCROCO_0_6, LTLIBCROCO_0_6 and
--      dnl INCCROCO_0_6 accordingly.
--      dnl Don't use croco-0.6-config nor pkg-config, since it doesn't work when
--      dnl cross-compiling or when the C compiler in use is different from the
--      dnl one that built the library.
--      AC_LIB_LINKFLAGS_BODY([croco-0.6], [glib-2.0])
--      LIBS="$gl_save_LIBS $LIBCROCO_0_6"
--      AC_TRY_LINK([#include <libcroco-config.h>],
--        [const char *version = LIBCROCO_VERSION; return !version;],
--        [gl_cv_libcroco=yes
--         gl_cv_LIBCROCO="$LIBCROCO_0_6"
--         gl_cv_LTLIBCROCO="$LTLIBCROCO_0_6"
--        ])
--      if test "$gl_cv_libcroco" != yes; then
--        gl_save_CPPFLAGS="$CPPFLAGS"
--        CPPFLAGS="$CPPFLAGS $INCCROCO_0_6"
--        AC_TRY_LINK([#include <libcroco-config.h>],
--          [const char *version = LIBCROCO_VERSION; return !version;],
--          [gl_cv_libcroco=yes
--           gl_cv_LIBCROCO="$LIBCROCO_0_6"
--           gl_cv_LTLIBCROCO="$LTLIBCROCO_0_6"
--           gl_cv_INCCROCO="$INCCROCO_0_6"
--          ])
--        if test "$gl_cv_libcroco" != yes; then
--          dnl Often the include files are installed in
--          dnl /usr/include/libcroco-0.6/libcroco.
--          AC_TRY_LINK([#include <libcroco-0.6/libcroco/libcroco-config.h>],
--            [const char *version = LIBCROCO_VERSION; return !version;],
--            [gl_ABSOLUTE_HEADER([libcroco-0.6/libcroco/libcroco-config.h])
--             libcroco_include_dir=`echo "$gl_cv_absolute_libcroco_0_6_libcroco_libcroco_config_h" | sed -e 's,.libcroco-config\.h$,,'`
--             if test -d "$libcroco_include_dir"; then
--               gl_cv_libcroco=yes
--               gl_cv_LIBCROCO="$LIBCROCO_0_6"
--               gl_cv_LTLIBCROCO="$LTLIBCROCO_0_6"
--               gl_cv_INCCROCO="-I$libcroco_include_dir"
--             fi
--            ])
--        fi
--        CPPFLAGS="$gl_save_CPPFLAGS"
--      fi
--      LIBS="$gl_save_LIBS"
--    ])
--    AC_MSG_CHECKING([for libcroco])
--    AC_MSG_RESULT([$gl_cv_libcroco])
--    if test $gl_cv_libcroco = yes; then
--      LIBCROCO="$gl_cv_LIBCROCO"
--      LTLIBCROCO="$gl_cv_LTLIBCROCO"
--      INCCROCO="$gl_cv_INCCROCO"
--    else
--      gl_cv_libcroco_use_included=yes
--    fi
-+    PKG_CHECK_MODULES([CROCO], [libcroco-0.6])
-+    LIBCROCO=$CROCO_LIBS
-+    LTLIBCROCO=$CROCO_LIBS
-+    INCCROCO=$CROCO_CFLAGS
-   fi
-   AC_SUBST([LIBCROCO])
-   AC_SUBST([LTLIBCROCO])
-diff --git a/gnulib-local/m4/libglib.m4 b/gnulib-local/m4/libglib.m4
-index 42e55e6fd..ab25a5b22 100644
---- a/gettext-tools/gnulib-m4/libglib.m4
-+++ b/gettext-tools/gnulib-m4/libglib.m4
-@@ -8,6 +8,7 @@ dnl From Bruno Haible.
- 
- AC_DEFUN([gl_LIBGLIB],
- [
-+  AC_REQUIRE([PKG_PROG_PKG_CONFIG])
-   AC_MSG_CHECKING([whether included glib is requested])
-   AC_ARG_WITH([included-glib],
-     [  --with-included-glib    use the glib2 included here],
-@@ -20,76 +21,10 @@ AC_DEFUN([gl_LIBGLIB],
-   LTLIBGLIB=
-   INCGLIB=
-   if test "$gl_cv_libglib_use_included" != yes; then
--    dnl Figure out whether we can use a preinstalled libglib-2.0, or have to use
--    dnl the included one.
--    AC_CACHE_VAL([gl_cv_libglib], [
--      gl_cv_libglib=no
--      gl_cv_LIBGLIB=
--      gl_cv_LTLIBGLIB=
--      gl_cv_INCGLIB=
--      gl_save_LIBS="$LIBS"
--      dnl Search for libglib2 and define LIBGLIB_2_0, LTLIBGLIB_2_0 and
--      dnl INCGLIB_2_0 accordingly.
--      dnl Don't use glib-config nor pkg-config, since it doesn't work when
--      dnl cross-compiling or when the C compiler in use is different from the
--      dnl one that built the library.
--      AC_LIB_LINKFLAGS_BODY([glib-2.0])
--      LIBS="$gl_save_LIBS $LIBGLIB_2_0"
--      AC_TRY_LINK([#include <glib.h>
--#ifndef G_BEGIN_DECLS
--error this glib.h includes a glibconfig.h from a glib version 1.x
--#endif
--],
--        [g_string_new ("foo");],
--        [gl_cv_libglib=yes
--         gl_cv_LIBGLIB="$LIBGLIB_2_0"
--         gl_cv_LTLIBGLIB="$LTLIBGLIB_2_0"
--        ])
--      if test "$gl_cv_libglib" != yes; then
--        gl_save_CPPFLAGS="$CPPFLAGS"
--        CPPFLAGS="$CPPFLAGS $INCGLIB_2_0"
--        AC_TRY_LINK([#include <glib.h>
--#ifndef G_BEGIN_DECLS
--error this glib.h includes a glibconfig.h from a glib version 1.x
--#endif
--],
--          [g_string_new ("foo");],
--          [gl_cv_libglib=yes
--           gl_cv_LIBGLIB="$LIBGLIB_2_0"
--           gl_cv_LTLIBGLIB="$LTLIBGLIB_2_0"
--           gl_cv_INCGLIB="$INCGLIB_2_0"
--          ])
--        if test "$gl_cv_libglib" != yes; then
--          dnl Often the include files are installed in /usr/include/glib-2.0
--          dnl and /usr/lib/glib-2.0/include.
--          if test -n "$LIBGLIB_2_0_PREFIX"; then
--            CPPFLAGS="$gl_save_CPPFLAGS -I$LIBGLIB_2_0_PREFIX/include/glib-2.0 -I$LIBGLIB_2_0_PREFIX/$acl_libdirstem/glib-2.0/include"
--            AC_TRY_LINK([#include <glib.h>
--#ifndef G_BEGIN_DECLS
--error this glib.h includes a glibconfig.h from a glib version 1.x
--#endif
--],
--              [g_string_new ("foo");],
--              [gl_cv_libglib=yes
--               gl_cv_LIBGLIB="$LIBGLIB_2_0"
--               gl_cv_LTLIBGLIB="$LTLIBGLIB_2_0"
--               gl_cv_INCGLIB="-I$LIBGLIB_2_0_PREFIX/include/glib-2.0 -I$LIBGLIB_2_0_PREFIX/$acl_libdirstem/glib-2.0/include"
--              ])
--          fi
--        fi
--        CPPFLAGS="$gl_save_CPPFLAGS"
--      fi
--      LIBS="$gl_save_LIBS"
--    ])
--    AC_MSG_CHECKING([for glib])
--    AC_MSG_RESULT([$gl_cv_libglib])
--    if test $gl_cv_libglib = yes; then
--      LIBGLIB="$gl_cv_LIBGLIB"
--      LTLIBGLIB="$gl_cv_LTLIBGLIB"
--      INCGLIB="$gl_cv_INCGLIB"
--    else
--      gl_cv_libglib_use_included=yes
--    fi
-+    PKG_CHECK_MODULES([GLIB], [glib-2.0])
-+    LIBGLIB="$GLIB_LIBS"
-+    LTLIBGLIB="$GLIB_LIBS"
-+    INCGLIB="$GLIB_CFLAGS"
-   fi
-   AC_SUBST([LIBGLIB])
-   AC_SUBST([LTLIBGLIB])
-diff --git a/gnulib-local/m4/libxml.m4 b/gnulib-local/m4/libxml.m4
-index 480c700d2..cb39309d5 100644
---- a/gettext-tools/gnulib-m4/libxml.m4
-+++ b/gettext-tools/gnulib-m4/libxml.m4
-@@ -8,6 +8,7 @@ dnl From Bruno Haible.
-
- AC_DEFUN([gl_LIBXML],
- [
-+  AC_REQUIRE([PKG_PROG_PKG_CONFIG])
-   AC_REQUIRE([AM_ICONV_LINK])
-
-   AC_MSG_CHECKING([whether included libxml is requested])
-@@ -22,100 +22,10 @@ AC_DEFUN([gl_LIBXML],
-   LTLIBXML=
-   INCXML=
-   if test "$gl_cv_libxml_use_included" != yes; then
--    dnl Figure out whether we can use a preinstalled libxml2, or have to use
--    dnl the included one.
--    AC_CACHE_VAL([gl_cv_libxml], [
--      gl_cv_libxml=no
--      gl_cv_LIBXML=
--      gl_cv_LTLIBXML=
--      gl_cv_INCXML=
--      gl_save_LIBS="$LIBS"
--      LIBS="$LIBS $LIBICONV"
--      dnl Search for libxml2 and define LIBXML2, LTLIBXML2 and INCXML2
--      dnl accordingly.
--      dnl Don't use xml2-config nor pkg-config, since it doesn't work when
--      dnl cross-compiling or when the C compiler in use is different from the
--      dnl one that built the library.
--      dnl Use a test program that tries to invoke xmlFree. On Cygwin 1.7.x,
--      dnl libxml2 is built in such a way that uses of xmlFree work fine with
--      dnl -Wl,--enable-auto-import but lead to a link error with
--      dnl -Wl,--disable-auto-import.
--      AC_LIB_LINKFLAGS_BODY([xml2])
--      LIBS="$gl_save_LIBS $LIBXML2 $LIBICONV"
--      AC_TRY_LINK([#include <libxml/xmlversion.h>
--                   #include <libxml/xmlmemory.h>
--                   #include <libxml/xpath.h>
--                  ],
--        [xmlCheckVersion (0);
--         xmlFree ((void *) 0);
--         xmlXPathSetContextNode ((void *)0, (void *)0);
--        ],
--        [gl_cv_libxml=yes
--         gl_cv_LIBXML="$LIBXML2 $LIBICONV"
--         gl_cv_LTLIBXML="$LTLIBXML2 $LTLIBICONV"
--        ])
--      if test "$gl_cv_libxml" != yes; then
--        gl_save_CPPFLAGS="$CPPFLAGS"
--        CPPFLAGS="$CPPFLAGS $INCXML2"
--        AC_TRY_LINK([#include <libxml/xmlversion.h>
--                     #include <libxml/xmlmemory.h>
--                     #include <libxml/xpath.h>
--                    ],
--          [xmlCheckVersion (0);
--           xmlFree ((void *) 0);
--           xmlXPathSetContextNode ((void *)0, (void *)0);
--          ],
--          [gl_cv_libxml=yes
--           gl_cv_LIBXML="$LIBXML2 $LIBICONV"
--           gl_cv_LTLIBXML="$LTLIBXML2 $LTLIBICONV"
--           gl_cv_INCXML="$INCXML2"
--          ])
--        if test "$gl_cv_libxml" != yes; then
--          dnl Often the include files are installed in /usr/include/libxml2.
--          dnl In libxml2-2.5, <libxml/xmlversion.h> is self-contained.
--          dnl In libxml2-2.6, it includes <libxml/xmlexports.h> which is
--          dnl self-contained.
--          libxml2_include_dir=
--          AC_TRY_CPP([#include <libxml2/libxml/xmlexports.h>],
--            [gl_ABSOLUTE_HEADER([libxml2/libxml/xmlexports.h])
--             libxml2_include_dir=`echo "$gl_cv_absolute_libxml2_libxml_xmlexports_h" | sed -e 's,.libxml.xmlexports\.h$,,'`
--            ])
--          if test -z "$libxml2_include_dir"; then
--            AC_TRY_CPP([#include <libxml2/libxml/xmlversion.h>],
--              [gl_ABSOLUTE_HEADER([libxml2/libxml/xmlversion.h])
--               libxml2_include_dir=`echo "$gl_cv_absolute_libxml2_libxml_xmlversion_h" | sed -e 's,.libxml.xmlversion\.h$,,'`
--              ])
--          fi
--          if test -n "$libxml2_include_dir" && test -d "$libxml2_include_dir"; then
--            CPPFLAGS="$gl_save_CPPFLAGS -I$libxml2_include_dir"
--            AC_TRY_LINK([#include <libxml/xmlversion.h>
--                         #include <libxml/xmlmemory.h>
--                         #include <libxml/xpath.h>
--                        ],
--              [xmlCheckVersion (0);
--               xmlFree ((void *) 0);
--               xmlXPathSetContextNode ((void *)0, (void *)0);
--              ],
--              [gl_cv_libxml=yes
--               gl_cv_LIBXML="$LIBXML2 $LIBICONV"
--               gl_cv_LTLIBXML="$LTLIBXML2 $LTLIBICONV"
--               gl_cv_INCXML="-I$libxml2_include_dir"
--              ])
--          fi
--        fi
--        CPPFLAGS="$gl_save_CPPFLAGS"
--      fi
--      LIBS="$gl_save_LIBS"
--    ])
--    AC_MSG_CHECKING([for libxml])
--    AC_MSG_RESULT([$gl_cv_libxml])
--    if test $gl_cv_libxml = yes; then
--      LIBXML="$gl_cv_LIBXML"
--      LTLIBXML="$gl_cv_LTLIBXML"
--      INCXML="$gl_cv_INCXML"
--    else
--      gl_cv_libxml_use_included=yes
--    fi
-+    PKG_CHECK_MODULES([XML], [libxml-2.0])
-+    LIBXML=$XML_LIBS
-+    LTLIBXML=$XML_LIBS
-+    INCXML=$XML_CFLAGS
-   fi
-   AC_SUBST([LIBXML])
-   AC_SUBST([LTLIBXML])
-diff --git a/gnulib-local/lib/term-styled-ostream.oo.c b/gnulib-local/lib/term-styled-ostream.oo.c
-index 81a407467..218565329 100644
---- a/gettext-tools/gnulib-lib/term-styled-ostream.oo.c
-+++ b/gettext-tools/gnulib-lib/term-styled-ostream.oo.c
-@@ -25,4 +25,4 @@
--#include <cr-om-parser.h>
--#include <cr-sel-eng.h>
--#include <cr-style.h>
--#include <cr-rgb.h>
-+#include <libcroco/cr-om-parser.h>
-+#include <libcroco/cr-sel-eng.h>
-+#include <libcroco/cr-style.h>
-+#include <libcroco/cr-rgb.h>
-@@ -31 +31 @@
--# include <cr-fonts.h>
-+# include <libcroco/cr-fonts.h>
-@@ -33 +33 @@
--#include <cr-string.h>
-+#include <libcroco/cr-string.h>
diff --git a/meta/recipes-core/gettext/gettext-0.19.8.1/add-with-bisonlocaledir.patch b/meta/recipes-core/gettext/gettext-0.20.1/add-with-bisonlocaledir.patch
similarity index 100%
rename from meta/recipes-core/gettext/gettext-0.19.8.1/add-with-bisonlocaledir.patch
rename to meta/recipes-core/gettext/gettext-0.20.1/add-with-bisonlocaledir.patch
diff --git a/meta/recipes-core/gettext/gettext-0.19.8.1/cr-statement.c-timsort.h-fix-formatting-issues.patch b/meta/recipes-core/gettext/gettext-0.20.1/cr-statement.c-timsort.h-fix-formatting-issues.patch
similarity index 68%
rename from meta/recipes-core/gettext/gettext-0.19.8.1/cr-statement.c-timsort.h-fix-formatting-issues.patch
rename to meta/recipes-core/gettext/gettext-0.20.1/cr-statement.c-timsort.h-fix-formatting-issues.patch
index 6af16041987..0561ed7d32c 100644
--- a/meta/recipes-core/gettext/gettext-0.19.8.1/cr-statement.c-timsort.h-fix-formatting-issues.patch
+++ b/meta/recipes-core/gettext/gettext-0.20.1/cr-statement.c-timsort.h-fix-formatting-issues.patch
@@ -1,4 +1,4 @@
-From e546de65a333789e83f5485757967cee29ee3681 Mon Sep 17 00:00:00 2001
+From f6245ef5530fc37a6243e798df34162fbbeab6f0 Mon Sep 17 00:00:00 2001
 From: Robert Yang <liezhi.yang@windriver.com>
 Date: Sun, 19 Feb 2017 23:32:46 -0800
 Subject: [PATCH] cr-statement.c/timsort.h: fix formatting issues
@@ -15,15 +15,15 @@ gettext-tools/gnulib-lib/libxml/timsort.h:326:80: warning: format '%lu' expects
 Upstream-Status: Pending
 
 Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
+
 ---
- gettext-tools/gnulib-lib/libcroco/cr-statement.c | 10 +++++-----
- gettext-tools/gnulib-lib/libxml/timsort.h        |  2 +-
- 2 files changed, 6 insertions(+), 6 deletions(-)
+ libtextstyle/lib/libcroco/cr-statement.c | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
 
-diff --git a/gettext-tools/gnulib-lib/libcroco/cr-statement.c b/gettext-tools/gnulib-lib/libcroco/cr-statement.c
+diff --git a/libtextstyle/lib/libcroco/cr-statement.c b/libtextstyle/lib/libcroco/cr-statement.c
 index 617520f..100104b 100644
---- a/gettext-tools/gnulib-lib/libcroco/cr-statement.c
-+++ b/gettext-tools/gnulib-lib/libcroco/cr-statement.c
+--- a/libtextstyle/lib/libcroco/cr-statement.c
++++ b/libtextstyle/lib/libcroco/cr-statement.c
 @@ -2607,7 +2607,7 @@ cr_statement_dump_ruleset (CRStatement * a_this, FILE * a_fp, glong a_indent)
          g_return_if_fail (a_fp && a_this);
          str = cr_statement_ruleset_to_string (a_this, a_indent);
@@ -69,19 +69,3 @@ index 617520f..100104b 100644
                  g_free (str) ;
                  str = NULL ;
          }
-diff --git a/gettext-tools/gnulib-lib/libxml/timsort.h b/gettext-tools/gnulib-lib/libxml/timsort.h
-index 795f272..443918a 100644
---- a/gettext-tools/gnulib-lib/libxml/timsort.h
-+++ b/gettext-tools/gnulib-lib/libxml/timsort.h
-@@ -323,7 +323,7 @@ static void TIM_SORT_RESIZE(TEMP_STORAGE_T *store, const size_t new_size)
-     SORT_TYPE *tempstore = (SORT_TYPE *)realloc(store->storage, new_size * sizeof(SORT_TYPE));
-     if (tempstore == NULL)
-     {
--      fprintf(stderr, "Error allocating temporary storage for tim sort: need %lu bytes", sizeof(SORT_TYPE) * new_size);
-+      fprintf(stderr, "Error allocating temporary storage for tim sort: need %zu bytes", sizeof(SORT_TYPE) * new_size);
-       exit(1);
-     }
-     store->storage = tempstore;
--- 
-2.10.2
-
diff --git a/meta/recipes-core/gettext/gettext-0.20.1/parallel.patch b/meta/recipes-core/gettext/gettext-0.20.1/parallel.patch
new file mode 100644
index 00000000000..d96a376b7d1
--- /dev/null
+++ b/meta/recipes-core/gettext/gettext-0.20.1/parallel.patch
@@ -0,0 +1,32 @@
+From 4a2a0a93b469093b60ffd0bec55d33d1e03d4713 Mon Sep 17 00:00:00 2001
+From: Joe Slater <jslater@windriver.com>
+Date: Thu, 7 Jun 2012 16:37:01 -0700
+Subject: [PATCH] instal libgettextlib.a before removing it
+
+In a multiple job build, Makefile can simultaneously
+be installing and removing libgettextlib.a.  We serialize
+the operations.
+
+Upstream-Status: Pending
+
+Signed-off-by: Joe Slater <jslater@windriver.com>
+
+---
+ gettext-tools/gnulib-lib/Makefile.am | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/gettext-tools/gnulib-lib/Makefile.am b/gettext-tools/gnulib-lib/Makefile.am
+index 2126699..d2dd7e4 100644
+--- a/gettext-tools/gnulib-lib/Makefile.am
++++ b/gettext-tools/gnulib-lib/Makefile.am
+@@ -58,6 +58,10 @@ endif
+ # Rules generated and collected by gnulib-tool.
+ include Makefile.gnulib
+ 
++# defined in Makefile.gnulib but missing this dependency
++#
++install-exec-clean: install-libLTLIBRARIES
++
+ # OS/2 does not support a DLL name longer than 8 characters.
+ if OS2
+ libgettextlib_la_LDFLAGS += -os2dllname gtlib
diff --git a/meta/recipes-core/gettext/gettext-0.19.8.1/run-ptest b/meta/recipes-core/gettext/gettext-0.20.1/run-ptest
similarity index 100%
rename from meta/recipes-core/gettext/gettext-0.19.8.1/run-ptest
rename to meta/recipes-core/gettext/gettext-0.20.1/run-ptest
diff --git a/meta/recipes-core/gettext/gettext-0.19.8.1/serial-tests-config.patch b/meta/recipes-core/gettext/gettext-0.20.1/serial-tests-config.patch
similarity index 75%
rename from meta/recipes-core/gettext/gettext-0.19.8.1/serial-tests-config.patch
rename to meta/recipes-core/gettext/gettext-0.20.1/serial-tests-config.patch
index 31ff9138a91..93f7c03334a 100644
--- a/meta/recipes-core/gettext/gettext-0.19.8.1/serial-tests-config.patch
+++ b/meta/recipes-core/gettext/gettext-0.20.1/serial-tests-config.patch
@@ -1,4 +1,4 @@
-From c4b1f3a0c7b7c40b343be9b95deb84e0485643be Mon Sep 17 00:00:00 2001
+From ed64a5724ef7d6eb4e9a876f817ea266a536e195 Mon Sep 17 00:00:00 2001
 From: "Hongjun.Yang" <hongjun.yang@windriver.com>
 Date: Thu, 28 Jul 2016 12:36:15 +0800
 Subject: [PATCH] fix for ptest
@@ -8,6 +8,7 @@ Add serial-tests support, ptest need it
 Upstream-Status: Inappropriate [oe specific]
 
 Signed-off-by: Changqing Li <changqing.li@windriver.com>
+
 ---
  configure.ac                 | 2 +-
  gettext-runtime/configure.ac | 2 +-
@@ -15,24 +16,24 @@ Signed-off-by: Changqing Li <changqing.li@windriver.com>
  3 files changed, 3 insertions(+), 3 deletions(-)
 
 diff --git a/configure.ac b/configure.ac
-index 5e996fa..880581f 100644
+index 38db6fd..f019ae0 100644
 --- a/configure.ac
 +++ b/configure.ac
-@@ -23,7 +23,7 @@ AC_INIT([gettext],
- 	[bug-gnu-gettext@gnu.org])
+@@ -22,7 +22,7 @@ AC_INIT([gettext],
+ 	[bug-gettext@gnu.org])
  AC_CONFIG_SRCDIR([gettext-tools/src/msgfmt.c])
  AC_CONFIG_AUX_DIR([build-aux])
--AM_INIT_AUTOMAKE([1.13 silent-rules parallel-tests dist-xz dist-lzip])
-+AM_INIT_AUTOMAKE([1.13 silent-rules serial-tests dist-xz dist-lzip])
+-AM_INIT_AUTOMAKE([1.13 silent-rules parallel-tests tar-ustar])
++AM_INIT_AUTOMAKE([1.13 silent-rules serial-tests tar-ustar])
  
  dnl Override automake's tar command used for creating distributions.
- am__tar='${AMTAR} chof - --owner=root --group=root "$$tardir"'
+ am__tar='${AMTAR} chf - --format=ustar --owner=root --group=root "$$tardir"'
 diff --git a/gettext-runtime/configure.ac b/gettext-runtime/configure.ac
-index e9299b6..d4f5528 100644
+index de203e7..138a07f 100644
 --- a/gettext-runtime/configure.ac
 +++ b/gettext-runtime/configure.ac
 @@ -22,7 +22,7 @@ AC_INIT([gettext-runtime],
- 	[bug-gnu-gettext@gnu.org])
+ 	[bug-gettext@gnu.org])
  AC_CONFIG_SRCDIR([intl/dcigettext.c])
  AC_CONFIG_AUX_DIR([../build-aux])
 -AM_INIT_AUTOMAKE([1.11.1 silent-rules parallel-tests])
@@ -41,11 +42,11 @@ index e9299b6..d4f5528 100644
  
  dnl Installation directories.
 diff --git a/gettext-tools/configure.ac b/gettext-tools/configure.ac
-index 920eeb6..c507434 100644
+index cf1dd73..b544d6d 100644
 --- a/gettext-tools/configure.ac
 +++ b/gettext-tools/configure.ac
 @@ -22,7 +22,7 @@ AC_INIT([gettext-tools],
- 	[bug-gnu-gettext@gnu.org])
+ 	[bug-gettext@gnu.org])
  AC_CONFIG_SRCDIR([src/msgfmt.c])
  AC_CONFIG_AUX_DIR([../build-aux])
 -AM_INIT_AUTOMAKE([1.11.1 silent-rules parallel-tests])
@@ -53,6 +54,3 @@ index 920eeb6..c507434 100644
  AC_CONFIG_HEADERS([config.h])
  
  dnl Installation directories.
--- 
-2.1.4
-
diff --git a/meta/recipes-core/gettext/gettext-0.20.1/use-pkgconfig.patch b/meta/recipes-core/gettext/gettext-0.20.1/use-pkgconfig.patch
new file mode 100644
index 00000000000..d1b2603779b
--- /dev/null
+++ b/meta/recipes-core/gettext/gettext-0.20.1/use-pkgconfig.patch
@@ -0,0 +1,713 @@
+From ef414b06be80c6f605731abc9e674e396b80ec9e Mon Sep 17 00:00:00 2001
+From: Ross Burton <ross.burton@intel.com>
+Date: Tue, 23 Jan 2018 00:54:13 +0000
+Subject: [PATCH] gettext: beat library detection into shape
+
+For reasons which I just can't fathom gnulib doesn't use the expected tools to
+find libraries but badly reinvents the wheel.  This will trivially lead to host
+contamination (explicit searches of /usr/lib) or incorrect RPATHs (bad
+canonicalisation resulting in relative paths).
+
+Simply delete all the crazy, and replace with a single call to pkg-config.
+
+Upstream-Status: Inappropriate (upstream still refuse to consider pkg-config)
+Signed-off-by: Ross Burton <ross.burton@intel.com>
+
+---
+ gettext-tools/gnulib-m4/libxml.m4             |  99 +----------------
+ .../gnulib-local/lib/term-styled-ostream.oo.c |  12 +-
+ libtextstyle/gnulib-local/m4/libcroco.m4      |  99 +++--------------
+ libtextstyle/gnulib-local/m4/libglib.m4       | 104 +++---------------
+ libtextstyle/gnulib-m4/libcroco.m4            |  99 +++--------------
+ libtextstyle/gnulib-m4/libglib.m4             | 104 +++---------------
+ libtextstyle/lib/term-styled-ostream.c        |  12 +-
+ libtextstyle/lib/term-styled-ostream.oo.c     |  12 +-
+ 8 files changed, 87 insertions(+), 454 deletions(-)
+
+diff --git a/gettext-tools/gnulib-m4/libxml.m4 b/gettext-tools/gnulib-m4/libxml.m4
+index 05b9550..031ee65 100644
+--- a/gettext-tools/gnulib-m4/libxml.m4
++++ b/gettext-tools/gnulib-m4/libxml.m4
+@@ -13,6 +13,7 @@ dnl gl_LIBXML(FORCE-INCLUDED)
+ dnl   forces the use of the included or an external libxml.
+ AC_DEFUN([gl_LIBXML],
+ [
++  AC_REQUIRE([PKG_PROG_PKG_CONFIG])
+   AC_REQUIRE([AM_ICONV_LINK])
+ 
+   ifelse([$1], , [
+@@ -30,100 +31,10 @@ AC_DEFUN([gl_LIBXML],
+   INCXML=
+   ifelse([$1], [yes], , [
+     if test "$gl_cv_libxml_use_included" != yes; then
+-      dnl Figure out whether we can use a preinstalled libxml2, or have to use
+-      dnl the included one.
+-      AC_CACHE_VAL([gl_cv_libxml], [
+-        gl_cv_libxml=no
+-        gl_cv_LIBXML=
+-        gl_cv_LTLIBXML=
+-        gl_cv_INCXML=
+-        gl_save_LIBS="$LIBS"
+-        LIBS="$LIBS $LIBICONV"
+-        dnl Search for libxml2 and define LIBXML2, LTLIBXML2 and INCXML2
+-        dnl accordingly.
+-        dnl Don't use xml2-config nor pkg-config, since it doesn't work when
+-        dnl cross-compiling or when the C compiler in use is different from the
+-        dnl one that built the library.
+-        dnl Use a test program that tries to invoke xmlFree. On Cygwin 1.7.x,
+-        dnl libxml2 is built in such a way that uses of xmlFree work fine with
+-        dnl -Wl,--enable-auto-import but lead to a link error with
+-        dnl -Wl,--disable-auto-import.
+-        AC_LIB_LINKFLAGS_BODY([xml2])
+-        LIBS="$gl_save_LIBS $LIBXML2 $LIBICONV"
+-        AC_TRY_LINK([#include <libxml/xmlversion.h>
+-                     #include <libxml/xmlmemory.h>
+-                     #include <libxml/xpath.h>
+-                    ],
+-          [xmlCheckVersion (0);
+-           xmlFree ((void *) 0);
+-           xmlXPathSetContextNode ((void *)0, (void *)0);
+-          ],
+-          [gl_cv_libxml=yes
+-           gl_cv_LIBXML="$LIBXML2 $LIBICONV"
+-           gl_cv_LTLIBXML="$LTLIBXML2 $LTLIBICONV"
+-          ])
+-        if test "$gl_cv_libxml" != yes; then
+-          gl_save_CPPFLAGS="$CPPFLAGS"
+-          CPPFLAGS="$CPPFLAGS $INCXML2"
+-          AC_TRY_LINK([#include <libxml/xmlversion.h>
+-                       #include <libxml/xmlmemory.h>
+-                       #include <libxml/xpath.h>
+-                      ],
+-            [xmlCheckVersion (0);
+-             xmlFree ((void *) 0);
+-             xmlXPathSetContextNode ((void *)0, (void *)0);
+-            ],
+-            [gl_cv_libxml=yes
+-             gl_cv_LIBXML="$LIBXML2 $LIBICONV"
+-             gl_cv_LTLIBXML="$LTLIBXML2 $LTLIBICONV"
+-             gl_cv_INCXML="$INCXML2"
+-            ])
+-          if test "$gl_cv_libxml" != yes; then
+-            dnl Often the include files are installed in /usr/include/libxml2.
+-            dnl In libxml2-2.5, <libxml/xmlversion.h> is self-contained.
+-            dnl In libxml2-2.6, it includes <libxml/xmlexports.h> which is
+-            dnl self-contained.
+-            libxml2_include_dir=
+-            AC_TRY_CPP([#include <libxml2/libxml/xmlexports.h>],
+-              [gl_ABSOLUTE_HEADER([libxml2/libxml/xmlexports.h])
+-               libxml2_include_dir=`echo "$gl_cv_absolute_libxml2_libxml_xmlexports_h" | sed -e 's,.libxml.xmlexports\.h$,,'`
+-              ])
+-            if test -z "$libxml2_include_dir"; then
+-              AC_TRY_CPP([#include <libxml2/libxml/xmlversion.h>],
+-                [gl_ABSOLUTE_HEADER([libxml2/libxml/xmlversion.h])
+-                 libxml2_include_dir=`echo "$gl_cv_absolute_libxml2_libxml_xmlversion_h" | sed -e 's,.libxml.xmlversion\.h$,,'`
+-                ])
+-            fi
+-            if test -n "$libxml2_include_dir" && test -d "$libxml2_include_dir"; then
+-              CPPFLAGS="$gl_save_CPPFLAGS -I$libxml2_include_dir"
+-              AC_TRY_LINK([#include <libxml/xmlversion.h>
+-                           #include <libxml/xmlmemory.h>
+-                           #include <libxml/xpath.h>
+-                          ],
+-                [xmlCheckVersion (0);
+-                 xmlFree ((void *) 0);
+-                 xmlXPathSetContextNode ((void *)0, (void *)0);
+-                ],
+-                [gl_cv_libxml=yes
+-                 gl_cv_LIBXML="$LIBXML2 $LIBICONV"
+-                 gl_cv_LTLIBXML="$LTLIBXML2 $LTLIBICONV"
+-                 gl_cv_INCXML="-I$libxml2_include_dir"
+-                ])
+-            fi
+-          fi
+-          CPPFLAGS="$gl_save_CPPFLAGS"
+-        fi
+-        LIBS="$gl_save_LIBS"
+-      ])
+-      AC_MSG_CHECKING([for libxml])
+-      AC_MSG_RESULT([$gl_cv_libxml])
+-      if test $gl_cv_libxml = yes; then
+-        LIBXML="$gl_cv_LIBXML"
+-        LTLIBXML="$gl_cv_LTLIBXML"
+-        INCXML="$gl_cv_INCXML"
+-      else
+-        gl_cv_libxml_use_included=yes
+-      fi
++      PKG_CHECK_MODULES([XML], [libxml-2.0])
++      LIBXML=$XML_LIBS
++      LTLIBXML=$XML_LIBS
++      INCXML=$XML_CFLAGS
+     fi
+   ])
+   AC_SUBST([LIBXML])
+diff --git a/libtextstyle/gnulib-local/lib/term-styled-ostream.oo.c b/libtextstyle/gnulib-local/lib/term-styled-ostream.oo.c
+index 2cfd4a8..d42c8b4 100644
+--- a/libtextstyle/gnulib-local/lib/term-styled-ostream.oo.c
++++ b/libtextstyle/gnulib-local/lib/term-styled-ostream.oo.c
+@@ -22,15 +22,15 @@
+ 
+ #include <stdlib.h>
+ 
+-#include <cr-om-parser.h>
+-#include <cr-sel-eng.h>
+-#include <cr-style.h>
+-#include <cr-rgb.h>
++#include <libcroco/cr-om-parser.h>
++#include <libcroco/cr-sel-eng.h>
++#include <libcroco/cr-style.h>
++#include <libcroco/cr-rgb.h>
+ /* <cr-fonts.h> has a broken double-inclusion guard in libcroco-0.6.1.  */
+ #ifndef __CR_FONTS_H__
+-# include <cr-fonts.h>
++# include <libcroco/cr-fonts.h>
+ #endif
+-#include <cr-string.h>
++#include <libcroco/cr-string.h>
+ 
+ #include "term-ostream.h"
+ #include "hash.h"
+diff --git a/libtextstyle/gnulib-local/m4/libcroco.m4 b/libtextstyle/gnulib-local/m4/libcroco.m4
+index bc53cc6..10b2455 100644
+--- a/libtextstyle/gnulib-local/m4/libcroco.m4
++++ b/libtextstyle/gnulib-local/m4/libcroco.m4
+@@ -1,99 +1,34 @@
+-# libcroco.m4 serial 3
+-dnl Copyright (C) 2006-2007, 2019 Free Software Foundation, Inc.
++# libcroco.m4 serial 2 (gettext-0.17)
++dnl Copyright (C) 2006, 2015-2016 Free Software Foundation, Inc.
+ dnl This file is free software; the Free Software Foundation
+ dnl gives unlimited permission to copy and/or distribute it,
+ dnl with or without modifications, as long as this notice is preserved.
+ 
+ dnl From Bruno Haible.
+ 
+-dnl gl_LIBCROCO
+-dnl   gives the user the option to decide whether to use the included or
+-dnl   an external libcroco.
+-dnl gl_LIBCROCO(FORCE-INCLUDED)
+-dnl   forces the use of the included or an external libcroco.
+ AC_DEFUN([gl_LIBCROCO],
+ [
+-  ifelse([$1], [yes], , [
+-    dnl libcroco depends on libglib.
+-    AC_REQUIRE([gl_LIBGLIB])
+-  ])
++  AC_REQUIRE([PKG_PROG_PKG_CONFIG])
++  dnl libcroco depends on libglib.
++  AC_REQUIRE([gl_LIBGLIB])
+ 
+-  ifelse([$1], , [
+-    AC_MSG_CHECKING([whether included libcroco is requested])
+-    AC_ARG_WITH([included-libcroco],
+-      [  --with-included-libcroco  use the libcroco included here],
+-      [gl_cv_libcroco_force_included=$withval],
+-      [gl_cv_libcroco_force_included=no])
+-    AC_MSG_RESULT([$gl_cv_libcroco_force_included])
+-  ], [gl_cv_libcroco_force_included=$1])
++  AC_MSG_CHECKING([whether included libcroco is requested])
++  AC_ARG_WITH([included-libcroco],
++    [  --with-included-libcroco  use the libcroco included here],
++    [gl_cv_libcroco_force_included=$withval],
++    [gl_cv_libcroco_force_included=no])
++  AC_MSG_RESULT([$gl_cv_libcroco_force_included])
+ 
+   gl_cv_libcroco_use_included="$gl_cv_libcroco_force_included"
+   LIBCROCO=
+   LTLIBCROCO=
+   INCCROCO=
+-  ifelse([$1], [yes], , [
+-    if test "$gl_cv_libcroco_use_included" != yes; then
+-      dnl Figure out whether we can use a preinstalled libcroco-0.6, or have to
+-      dnl use the included one.
+-      AC_CACHE_VAL([gl_cv_libcroco], [
+-        gl_cv_libcroco=no
+-        gl_cv_LIBCROCO=
+-        gl_cv_LTLIBCROCO=
+-        gl_cv_INCCROCO=
+-        gl_save_LIBS="$LIBS"
+-        dnl Search for libcroco and define LIBCROCO_0_6, LTLIBCROCO_0_6 and
+-        dnl INCCROCO_0_6 accordingly.
+-        dnl Don't use croco-0.6-config nor pkg-config, since it doesn't work when
+-        dnl cross-compiling or when the C compiler in use is different from the
+-        dnl one that built the library.
+-        AC_LIB_LINKFLAGS_BODY([croco-0.6], [glib-2.0])
+-        LIBS="$gl_save_LIBS $LIBCROCO_0_6"
+-        AC_TRY_LINK([#include <libcroco-config.h>],
+-          [const char *version = LIBCROCO_VERSION; return !version;],
+-          [gl_cv_libcroco=yes
+-           gl_cv_LIBCROCO="$LIBCROCO_0_6"
+-           gl_cv_LTLIBCROCO="$LTLIBCROCO_0_6"
+-          ])
+-        if test "$gl_cv_libcroco" != yes; then
+-          gl_save_CPPFLAGS="$CPPFLAGS"
+-          CPPFLAGS="$CPPFLAGS $INCCROCO_0_6"
+-          AC_TRY_LINK([#include <libcroco-config.h>],
+-            [const char *version = LIBCROCO_VERSION; return !version;],
+-            [gl_cv_libcroco=yes
+-             gl_cv_LIBCROCO="$LIBCROCO_0_6"
+-             gl_cv_LTLIBCROCO="$LTLIBCROCO_0_6"
+-             gl_cv_INCCROCO="$INCCROCO_0_6"
+-            ])
+-          if test "$gl_cv_libcroco" != yes; then
+-            dnl Often the include files are installed in
+-            dnl /usr/include/libcroco-0.6/libcroco.
+-            AC_TRY_LINK([#include <libcroco-0.6/libcroco/libcroco-config.h>],
+-              [const char *version = LIBCROCO_VERSION; return !version;],
+-              [gl_ABSOLUTE_HEADER([libcroco-0.6/libcroco/libcroco-config.h])
+-               libcroco_include_dir=`echo "$gl_cv_absolute_libcroco_0_6_libcroco_libcroco_config_h" | sed -e 's,.libcroco-config\.h$,,'`
+-               if test -d "$libcroco_include_dir"; then
+-                 gl_cv_libcroco=yes
+-                 gl_cv_LIBCROCO="$LIBCROCO_0_6"
+-                 gl_cv_LTLIBCROCO="$LTLIBCROCO_0_6"
+-                 gl_cv_INCCROCO="-I$libcroco_include_dir"
+-               fi
+-              ])
+-          fi
+-          CPPFLAGS="$gl_save_CPPFLAGS"
+-        fi
+-        LIBS="$gl_save_LIBS"
+-      ])
+-      AC_MSG_CHECKING([for libcroco])
+-      AC_MSG_RESULT([$gl_cv_libcroco])
+-      if test $gl_cv_libcroco = yes; then
+-        LIBCROCO="$gl_cv_LIBCROCO"
+-        LTLIBCROCO="$gl_cv_LTLIBCROCO"
+-        INCCROCO="$gl_cv_INCCROCO"
+-      else
+-        gl_cv_libcroco_use_included=yes
+-      fi
+-    fi
+-  ])
++  if test "$gl_cv_libcroco_use_included" != yes; then
++    PKG_CHECK_MODULES([CROCO], [libcroco-0.6])
++    LIBCROCO=$CROCO_LIBS
++    LTLIBCROCO=$CROCO_LIBS
++    INCCROCO=$CROCO_CFLAGS
++  fi
+   AC_SUBST([LIBCROCO])
+   AC_SUBST([LTLIBCROCO])
+   AC_SUBST([INCCROCO])
+diff --git a/libtextstyle/gnulib-local/m4/libglib.m4 b/libtextstyle/gnulib-local/m4/libglib.m4
+index bef6fa3..8841755 100644
+--- a/libtextstyle/gnulib-local/m4/libglib.m4
++++ b/libtextstyle/gnulib-local/m4/libglib.m4
+@@ -1,105 +1,31 @@
+-# libglib.m4 serial 4
+-dnl Copyright (C) 2006-2007, 2019 Free Software Foundation, Inc.
++# libglib.m4 serial 3 (gettext-0.17)
++dnl Copyright (C) 2006-2007, 2015-2016 Free Software Foundation, Inc.
+ dnl This file is free software; the Free Software Foundation
+ dnl gives unlimited permission to copy and/or distribute it,
+ dnl with or without modifications, as long as this notice is preserved.
+ 
+ dnl From Bruno Haible.
+ 
+-dnl gl_LIBGLIB
+-dnl   gives the user the option to decide whether to use the included or
+-dnl   an external libglib.
+-dnl gl_LIBGLIB(FORCE-INCLUDED)
+-dnl   forces the use of the included or an external libglib.
+ AC_DEFUN([gl_LIBGLIB],
+ [
+-  ifelse([$1], , [
+-    AC_MSG_CHECKING([whether included glib is requested])
+-    AC_ARG_WITH([included-glib],
+-      [  --with-included-glib    use the glib2 included here],
+-      [gl_cv_libglib_force_included=$withval],
+-      [gl_cv_libglib_force_included=no])
+-    AC_MSG_RESULT([$gl_cv_libglib_force_included])
+-  ], [gl_cv_libglib_force_included=$1])
++  AC_REQUIRE([PKG_PROG_PKG_CONFIG])
++  AC_MSG_CHECKING([whether included glib is requested])
++  AC_ARG_WITH([included-glib],
++    [  --with-included-glib    use the glib2 included here],
++    [gl_cv_libglib_force_included=$withval],
++    [gl_cv_libglib_force_included=no])
++  AC_MSG_RESULT([$gl_cv_libglib_force_included])
+ 
+   gl_cv_libglib_use_included="$gl_cv_libglib_force_included"
+   LIBGLIB=
+   LTLIBGLIB=
+   INCGLIB=
+-  ifelse([$1], [yes], , [
+-    if test "$gl_cv_libglib_use_included" != yes; then
+-      dnl Figure out whether we can use a preinstalled libglib-2.0, or have to use
+-      dnl the included one.
+-      AC_CACHE_VAL([gl_cv_libglib], [
+-        gl_cv_libglib=no
+-        gl_cv_LIBGLIB=
+-        gl_cv_LTLIBGLIB=
+-        gl_cv_INCGLIB=
+-        gl_save_LIBS="$LIBS"
+-        dnl Search for libglib2 and define LIBGLIB_2_0, LTLIBGLIB_2_0 and
+-        dnl INCGLIB_2_0 accordingly.
+-        dnl Don't use glib-config nor pkg-config, since it doesn't work when
+-        dnl cross-compiling or when the C compiler in use is different from the
+-        dnl one that built the library.
+-        AC_LIB_LINKFLAGS_BODY([glib-2.0])
+-        LIBS="$gl_save_LIBS $LIBGLIB_2_0"
+-        AC_TRY_LINK([#include <glib.h>
+-#ifndef G_BEGIN_DECLS
+-error this glib.h includes a glibconfig.h from a glib version 1.x
+-#endif
+-],
+-          [g_string_new ("foo");],
+-          [gl_cv_libglib=yes
+-           gl_cv_LIBGLIB="$LIBGLIB_2_0"
+-           gl_cv_LTLIBGLIB="$LTLIBGLIB_2_0"
+-          ])
+-        if test "$gl_cv_libglib" != yes; then
+-          gl_save_CPPFLAGS="$CPPFLAGS"
+-          CPPFLAGS="$CPPFLAGS $INCGLIB_2_0"
+-          AC_TRY_LINK([#include <glib.h>
+-#ifndef G_BEGIN_DECLS
+-error this glib.h includes a glibconfig.h from a glib version 1.x
+-#endif
+-],
+-            [g_string_new ("foo");],
+-            [gl_cv_libglib=yes
+-             gl_cv_LIBGLIB="$LIBGLIB_2_0"
+-             gl_cv_LTLIBGLIB="$LTLIBGLIB_2_0"
+-             gl_cv_INCGLIB="$INCGLIB_2_0"
+-            ])
+-          if test "$gl_cv_libglib" != yes; then
+-            dnl Often the include files are installed in /usr/include/glib-2.0
+-            dnl and /usr/lib/glib-2.0/include.
+-            if test -n "$LIBGLIB_2_0_PREFIX"; then
+-              CPPFLAGS="$gl_save_CPPFLAGS -I$LIBGLIB_2_0_PREFIX/include/glib-2.0 -I$LIBGLIB_2_0_PREFIX/$acl_libdirstem/glib-2.0/include"
+-              AC_TRY_LINK([#include <glib.h>
+-#ifndef G_BEGIN_DECLS
+-error this glib.h includes a glibconfig.h from a glib version 1.x
+-#endif
+-],
+-                [g_string_new ("foo");],
+-                [gl_cv_libglib=yes
+-                 gl_cv_LIBGLIB="$LIBGLIB_2_0"
+-                 gl_cv_LTLIBGLIB="$LTLIBGLIB_2_0"
+-                 gl_cv_INCGLIB="-I$LIBGLIB_2_0_PREFIX/include/glib-2.0 -I$LIBGLIB_2_0_PREFIX/$acl_libdirstem/glib-2.0/include"
+-                ])
+-            fi
+-          fi
+-          CPPFLAGS="$gl_save_CPPFLAGS"
+-        fi
+-        LIBS="$gl_save_LIBS"
+-      ])
+-      AC_MSG_CHECKING([for glib])
+-      AC_MSG_RESULT([$gl_cv_libglib])
+-      if test $gl_cv_libglib = yes; then
+-        LIBGLIB="$gl_cv_LIBGLIB"
+-        LTLIBGLIB="$gl_cv_LTLIBGLIB"
+-        INCGLIB="$gl_cv_INCGLIB"
+-      else
+-        gl_cv_libglib_use_included=yes
+-      fi
+-    fi
+-  ])
++  if test "$gl_cv_libglib_use_included" != yes; then
++    PKG_CHECK_MODULES([GLIB], [glib-2.0])
++    LIBGLIB="$GLIB_LIBS"
++    LTLIBGLIB="$GLIB_LIBS"
++    INCGLIB="$GLIB_CFLAGS"
++  fi
+   AC_SUBST([LIBGLIB])
+   AC_SUBST([LTLIBGLIB])
+   AC_SUBST([INCGLIB])
+diff --git a/libtextstyle/gnulib-m4/libcroco.m4 b/libtextstyle/gnulib-m4/libcroco.m4
+index bc53cc6..10b2455 100644
+--- a/libtextstyle/gnulib-m4/libcroco.m4
++++ b/libtextstyle/gnulib-m4/libcroco.m4
+@@ -1,99 +1,34 @@
+-# libcroco.m4 serial 3
+-dnl Copyright (C) 2006-2007, 2019 Free Software Foundation, Inc.
++# libcroco.m4 serial 2 (gettext-0.17)
++dnl Copyright (C) 2006, 2015-2016 Free Software Foundation, Inc.
+ dnl This file is free software; the Free Software Foundation
+ dnl gives unlimited permission to copy and/or distribute it,
+ dnl with or without modifications, as long as this notice is preserved.
+ 
+ dnl From Bruno Haible.
+ 
+-dnl gl_LIBCROCO
+-dnl   gives the user the option to decide whether to use the included or
+-dnl   an external libcroco.
+-dnl gl_LIBCROCO(FORCE-INCLUDED)
+-dnl   forces the use of the included or an external libcroco.
+ AC_DEFUN([gl_LIBCROCO],
+ [
+-  ifelse([$1], [yes], , [
+-    dnl libcroco depends on libglib.
+-    AC_REQUIRE([gl_LIBGLIB])
+-  ])
++  AC_REQUIRE([PKG_PROG_PKG_CONFIG])
++  dnl libcroco depends on libglib.
++  AC_REQUIRE([gl_LIBGLIB])
+ 
+-  ifelse([$1], , [
+-    AC_MSG_CHECKING([whether included libcroco is requested])
+-    AC_ARG_WITH([included-libcroco],
+-      [  --with-included-libcroco  use the libcroco included here],
+-      [gl_cv_libcroco_force_included=$withval],
+-      [gl_cv_libcroco_force_included=no])
+-    AC_MSG_RESULT([$gl_cv_libcroco_force_included])
+-  ], [gl_cv_libcroco_force_included=$1])
++  AC_MSG_CHECKING([whether included libcroco is requested])
++  AC_ARG_WITH([included-libcroco],
++    [  --with-included-libcroco  use the libcroco included here],
++    [gl_cv_libcroco_force_included=$withval],
++    [gl_cv_libcroco_force_included=no])
++  AC_MSG_RESULT([$gl_cv_libcroco_force_included])
+ 
+   gl_cv_libcroco_use_included="$gl_cv_libcroco_force_included"
+   LIBCROCO=
+   LTLIBCROCO=
+   INCCROCO=
+-  ifelse([$1], [yes], , [
+-    if test "$gl_cv_libcroco_use_included" != yes; then
+-      dnl Figure out whether we can use a preinstalled libcroco-0.6, or have to
+-      dnl use the included one.
+-      AC_CACHE_VAL([gl_cv_libcroco], [
+-        gl_cv_libcroco=no
+-        gl_cv_LIBCROCO=
+-        gl_cv_LTLIBCROCO=
+-        gl_cv_INCCROCO=
+-        gl_save_LIBS="$LIBS"
+-        dnl Search for libcroco and define LIBCROCO_0_6, LTLIBCROCO_0_6 and
+-        dnl INCCROCO_0_6 accordingly.
+-        dnl Don't use croco-0.6-config nor pkg-config, since it doesn't work when
+-        dnl cross-compiling or when the C compiler in use is different from the
+-        dnl one that built the library.
+-        AC_LIB_LINKFLAGS_BODY([croco-0.6], [glib-2.0])
+-        LIBS="$gl_save_LIBS $LIBCROCO_0_6"
+-        AC_TRY_LINK([#include <libcroco-config.h>],
+-          [const char *version = LIBCROCO_VERSION; return !version;],
+-          [gl_cv_libcroco=yes
+-           gl_cv_LIBCROCO="$LIBCROCO_0_6"
+-           gl_cv_LTLIBCROCO="$LTLIBCROCO_0_6"
+-          ])
+-        if test "$gl_cv_libcroco" != yes; then
+-          gl_save_CPPFLAGS="$CPPFLAGS"
+-          CPPFLAGS="$CPPFLAGS $INCCROCO_0_6"
+-          AC_TRY_LINK([#include <libcroco-config.h>],
+-            [const char *version = LIBCROCO_VERSION; return !version;],
+-            [gl_cv_libcroco=yes
+-             gl_cv_LIBCROCO="$LIBCROCO_0_6"
+-             gl_cv_LTLIBCROCO="$LTLIBCROCO_0_6"
+-             gl_cv_INCCROCO="$INCCROCO_0_6"
+-            ])
+-          if test "$gl_cv_libcroco" != yes; then
+-            dnl Often the include files are installed in
+-            dnl /usr/include/libcroco-0.6/libcroco.
+-            AC_TRY_LINK([#include <libcroco-0.6/libcroco/libcroco-config.h>],
+-              [const char *version = LIBCROCO_VERSION; return !version;],
+-              [gl_ABSOLUTE_HEADER([libcroco-0.6/libcroco/libcroco-config.h])
+-               libcroco_include_dir=`echo "$gl_cv_absolute_libcroco_0_6_libcroco_libcroco_config_h" | sed -e 's,.libcroco-config\.h$,,'`
+-               if test -d "$libcroco_include_dir"; then
+-                 gl_cv_libcroco=yes
+-                 gl_cv_LIBCROCO="$LIBCROCO_0_6"
+-                 gl_cv_LTLIBCROCO="$LTLIBCROCO_0_6"
+-                 gl_cv_INCCROCO="-I$libcroco_include_dir"
+-               fi
+-              ])
+-          fi
+-          CPPFLAGS="$gl_save_CPPFLAGS"
+-        fi
+-        LIBS="$gl_save_LIBS"
+-      ])
+-      AC_MSG_CHECKING([for libcroco])
+-      AC_MSG_RESULT([$gl_cv_libcroco])
+-      if test $gl_cv_libcroco = yes; then
+-        LIBCROCO="$gl_cv_LIBCROCO"
+-        LTLIBCROCO="$gl_cv_LTLIBCROCO"
+-        INCCROCO="$gl_cv_INCCROCO"
+-      else
+-        gl_cv_libcroco_use_included=yes
+-      fi
+-    fi
+-  ])
++  if test "$gl_cv_libcroco_use_included" != yes; then
++    PKG_CHECK_MODULES([CROCO], [libcroco-0.6])
++    LIBCROCO=$CROCO_LIBS
++    LTLIBCROCO=$CROCO_LIBS
++    INCCROCO=$CROCO_CFLAGS
++  fi
+   AC_SUBST([LIBCROCO])
+   AC_SUBST([LTLIBCROCO])
+   AC_SUBST([INCCROCO])
+diff --git a/libtextstyle/gnulib-m4/libglib.m4 b/libtextstyle/gnulib-m4/libglib.m4
+index bef6fa3..8841755 100644
+--- a/libtextstyle/gnulib-m4/libglib.m4
++++ b/libtextstyle/gnulib-m4/libglib.m4
+@@ -1,105 +1,31 @@
+-# libglib.m4 serial 4
+-dnl Copyright (C) 2006-2007, 2019 Free Software Foundation, Inc.
++# libglib.m4 serial 3 (gettext-0.17)
++dnl Copyright (C) 2006-2007, 2015-2016 Free Software Foundation, Inc.
+ dnl This file is free software; the Free Software Foundation
+ dnl gives unlimited permission to copy and/or distribute it,
+ dnl with or without modifications, as long as this notice is preserved.
+ 
+ dnl From Bruno Haible.
+ 
+-dnl gl_LIBGLIB
+-dnl   gives the user the option to decide whether to use the included or
+-dnl   an external libglib.
+-dnl gl_LIBGLIB(FORCE-INCLUDED)
+-dnl   forces the use of the included or an external libglib.
+ AC_DEFUN([gl_LIBGLIB],
+ [
+-  ifelse([$1], , [
+-    AC_MSG_CHECKING([whether included glib is requested])
+-    AC_ARG_WITH([included-glib],
+-      [  --with-included-glib    use the glib2 included here],
+-      [gl_cv_libglib_force_included=$withval],
+-      [gl_cv_libglib_force_included=no])
+-    AC_MSG_RESULT([$gl_cv_libglib_force_included])
+-  ], [gl_cv_libglib_force_included=$1])
++  AC_REQUIRE([PKG_PROG_PKG_CONFIG])
++  AC_MSG_CHECKING([whether included glib is requested])
++  AC_ARG_WITH([included-glib],
++    [  --with-included-glib    use the glib2 included here],
++    [gl_cv_libglib_force_included=$withval],
++    [gl_cv_libglib_force_included=no])
++  AC_MSG_RESULT([$gl_cv_libglib_force_included])
+ 
+   gl_cv_libglib_use_included="$gl_cv_libglib_force_included"
+   LIBGLIB=
+   LTLIBGLIB=
+   INCGLIB=
+-  ifelse([$1], [yes], , [
+-    if test "$gl_cv_libglib_use_included" != yes; then
+-      dnl Figure out whether we can use a preinstalled libglib-2.0, or have to use
+-      dnl the included one.
+-      AC_CACHE_VAL([gl_cv_libglib], [
+-        gl_cv_libglib=no
+-        gl_cv_LIBGLIB=
+-        gl_cv_LTLIBGLIB=
+-        gl_cv_INCGLIB=
+-        gl_save_LIBS="$LIBS"
+-        dnl Search for libglib2 and define LIBGLIB_2_0, LTLIBGLIB_2_0 and
+-        dnl INCGLIB_2_0 accordingly.
+-        dnl Don't use glib-config nor pkg-config, since it doesn't work when
+-        dnl cross-compiling or when the C compiler in use is different from the
+-        dnl one that built the library.
+-        AC_LIB_LINKFLAGS_BODY([glib-2.0])
+-        LIBS="$gl_save_LIBS $LIBGLIB_2_0"
+-        AC_TRY_LINK([#include <glib.h>
+-#ifndef G_BEGIN_DECLS
+-error this glib.h includes a glibconfig.h from a glib version 1.x
+-#endif
+-],
+-          [g_string_new ("foo");],
+-          [gl_cv_libglib=yes
+-           gl_cv_LIBGLIB="$LIBGLIB_2_0"
+-           gl_cv_LTLIBGLIB="$LTLIBGLIB_2_0"
+-          ])
+-        if test "$gl_cv_libglib" != yes; then
+-          gl_save_CPPFLAGS="$CPPFLAGS"
+-          CPPFLAGS="$CPPFLAGS $INCGLIB_2_0"
+-          AC_TRY_LINK([#include <glib.h>
+-#ifndef G_BEGIN_DECLS
+-error this glib.h includes a glibconfig.h from a glib version 1.x
+-#endif
+-],
+-            [g_string_new ("foo");],
+-            [gl_cv_libglib=yes
+-             gl_cv_LIBGLIB="$LIBGLIB_2_0"
+-             gl_cv_LTLIBGLIB="$LTLIBGLIB_2_0"
+-             gl_cv_INCGLIB="$INCGLIB_2_0"
+-            ])
+-          if test "$gl_cv_libglib" != yes; then
+-            dnl Often the include files are installed in /usr/include/glib-2.0
+-            dnl and /usr/lib/glib-2.0/include.
+-            if test -n "$LIBGLIB_2_0_PREFIX"; then
+-              CPPFLAGS="$gl_save_CPPFLAGS -I$LIBGLIB_2_0_PREFIX/include/glib-2.0 -I$LIBGLIB_2_0_PREFIX/$acl_libdirstem/glib-2.0/include"
+-              AC_TRY_LINK([#include <glib.h>
+-#ifndef G_BEGIN_DECLS
+-error this glib.h includes a glibconfig.h from a glib version 1.x
+-#endif
+-],
+-                [g_string_new ("foo");],
+-                [gl_cv_libglib=yes
+-                 gl_cv_LIBGLIB="$LIBGLIB_2_0"
+-                 gl_cv_LTLIBGLIB="$LTLIBGLIB_2_0"
+-                 gl_cv_INCGLIB="-I$LIBGLIB_2_0_PREFIX/include/glib-2.0 -I$LIBGLIB_2_0_PREFIX/$acl_libdirstem/glib-2.0/include"
+-                ])
+-            fi
+-          fi
+-          CPPFLAGS="$gl_save_CPPFLAGS"
+-        fi
+-        LIBS="$gl_save_LIBS"
+-      ])
+-      AC_MSG_CHECKING([for glib])
+-      AC_MSG_RESULT([$gl_cv_libglib])
+-      if test $gl_cv_libglib = yes; then
+-        LIBGLIB="$gl_cv_LIBGLIB"
+-        LTLIBGLIB="$gl_cv_LTLIBGLIB"
+-        INCGLIB="$gl_cv_INCGLIB"
+-      else
+-        gl_cv_libglib_use_included=yes
+-      fi
+-    fi
+-  ])
++  if test "$gl_cv_libglib_use_included" != yes; then
++    PKG_CHECK_MODULES([GLIB], [glib-2.0])
++    LIBGLIB="$GLIB_LIBS"
++    LTLIBGLIB="$GLIB_LIBS"
++    INCGLIB="$GLIB_CFLAGS"
++  fi
+   AC_SUBST([LIBGLIB])
+   AC_SUBST([LTLIBGLIB])
+   AC_SUBST([INCGLIB])
+diff --git a/libtextstyle/lib/term-styled-ostream.c b/libtextstyle/lib/term-styled-ostream.c
+index 3675b5f..811e546 100644
+--- a/libtextstyle/lib/term-styled-ostream.c
++++ b/libtextstyle/lib/term-styled-ostream.c
+@@ -28,15 +28,15 @@
+ 
+ #include <stdlib.h>
+ 
+-#include <cr-om-parser.h>
+-#include <cr-sel-eng.h>
+-#include <cr-style.h>
+-#include <cr-rgb.h>
++#include <libcroco/cr-om-parser.h>
++#include <libcroco/cr-sel-eng.h>
++#include <libcroco/cr-style.h>
++#include <libcroco/cr-rgb.h>
+ /* <cr-fonts.h> has a broken double-inclusion guard in libcroco-0.6.1.  */
+ #ifndef __CR_FONTS_H__
+-# include <cr-fonts.h>
++# include <libcroco/cr-fonts.h>
+ #endif
+-#include <cr-string.h>
++#include <libcroco/cr-string.h>
+ 
+ #include "term-ostream.h"
+ #include "hash.h"
+diff --git a/libtextstyle/lib/term-styled-ostream.oo.c b/libtextstyle/lib/term-styled-ostream.oo.c
+index 2cfd4a8..d42c8b4 100644
+--- a/libtextstyle/lib/term-styled-ostream.oo.c
++++ b/libtextstyle/lib/term-styled-ostream.oo.c
+@@ -22,15 +22,15 @@
+ 
+ #include <stdlib.h>
+ 
+-#include <cr-om-parser.h>
+-#include <cr-sel-eng.h>
+-#include <cr-style.h>
+-#include <cr-rgb.h>
++#include <libcroco/cr-om-parser.h>
++#include <libcroco/cr-sel-eng.h>
++#include <libcroco/cr-style.h>
++#include <libcroco/cr-rgb.h>
+ /* <cr-fonts.h> has a broken double-inclusion guard in libcroco-0.6.1.  */
+ #ifndef __CR_FONTS_H__
+-# include <cr-fonts.h>
++# include <libcroco/cr-fonts.h>
+ #endif
+-#include <cr-string.h>
++#include <libcroco/cr-string.h>
+ 
+ #include "term-ostream.h"
+ #include "hash.h"
diff --git a/meta/recipes-core/gettext/gettext_0.19.8.1.bb b/meta/recipes-core/gettext/gettext_0.20.1.bb
similarity index 94%
rename from meta/recipes-core/gettext/gettext_0.19.8.1.bb
rename to meta/recipes-core/gettext/gettext_0.20.1.bb
index 30121ad23e1..fc05ef2e0a3 100644
--- a/meta/recipes-core/gettext/gettext_0.19.8.1.bb
+++ b/meta/recipes-core/gettext/gettext_0.20.1.bb
@@ -6,7 +6,7 @@ a few stand-alone programs to massage in various ways the sets of translatable a
 HOMEPAGE = "http://www.gnu.org/software/gettext/gettext.html"
 SECTION = "libs"
 LICENSE = "GPLv3+ & LGPL-2.1+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
+LIC_FILES_CHKSUM = "file://COPYING;md5=c678957b0c8e964aa6c70fd77641a71e"
 
 # Because po-gram-gen.y has been modified by fix-CVE-2018-18751.patch,
 # it requires yacc which provided by bison-native
@@ -17,17 +17,16 @@ PROVIDES = "virtual/libintl virtual/gettext"
 PROVIDES_class-native = "virtual/gettext-native"
 RCONFLICTS_${PN} = "proxy-libintl"
 SRC_URI = "${GNU_MIRROR}/gettext/gettext-${PV}.tar.gz \
-	   file://parallel.patch \
-	   file://add-with-bisonlocaledir.patch \
-	   file://cr-statement.c-timsort.h-fix-formatting-issues.patch \
-	   file://use-pkgconfig.patch \
-	   file://fix-CVE-2018-18751.patch \
-	   file://run-ptest \
-	   file://serial-tests-config.patch \
-"
+           file://parallel.patch \
+           file://add-with-bisonlocaledir.patch \
+           file://cr-statement.c-timsort.h-fix-formatting-issues.patch \
+           file://use-pkgconfig.patch \
+           file://run-ptest \
+           file://serial-tests-config.patch \
+           "
 
-SRC_URI[md5sum] = "97e034cf8ce5ba73a28ff6c3c0638092"
-SRC_URI[sha256sum] = "ff942af0e438ced4a8b0ea4b0b6e0d6d657157c5e2364de57baa279c1c125c43"
+SRC_URI[md5sum] = "bb5b0c0caa028105f3ca1905ddc306e2"
+SRC_URI[sha256sum] = "66415634c6e8c3fa8b71362879ec7575e27da43da562c798a8a2f223e6e47f5c"
 
 inherit autotools texinfo pkgconfig ptest
 
@@ -127,7 +126,7 @@ do_install_append_class-native () {
 	rm ${D}${datadir}/gettext/po/remove-potcdate.sin
 
         create_wrapper ${D}${bindir}/msgfmt \
-                GETTEXTDATADIR="${STAGING_DATADIR_NATIVE}/gettext-0.19.8/"
+                GETTEXTDATADIR="${STAGING_DATADIR_NATIVE}/gettext-0.20/"
 
 }
 
-- 
2.17.1



^ permalink raw reply related	[flat|nested] 62+ messages in thread

* [PATCH 04/30] psmisc: revert to default autopoint exclusion
  2019-12-12 18:14 [PATCH 01/30] rpm: upgrade to 4.15.1 Alexander Kanavin
  2019-12-12 18:14 ` [PATCH 02/30] gettext-minimal-native: update to 0.20.1 Alexander Kanavin
  2019-12-12 18:14 ` [PATCH 03/30] gettext: " Alexander Kanavin
@ 2019-12-12 18:14 ` Alexander Kanavin
  2019-12-12 18:14 ` [PATCH 05/30] gettext: fix failing ptests Alexander Kanavin
                   ` (26 subsequent siblings)
  29 siblings, 0 replies; 62+ messages in thread
From: Alexander Kanavin @ 2019-12-12 18:14 UTC (permalink / raw)
  To: openembedded-core

Otherwise, builds break with latest gettext.

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
 meta/recipes-extended/psmisc/psmisc.inc | 1 -
 1 file changed, 1 deletion(-)

diff --git a/meta/recipes-extended/psmisc/psmisc.inc b/meta/recipes-extended/psmisc/psmisc.inc
index 594a10cf222..a75b04702c3 100644
--- a/meta/recipes-extended/psmisc/psmisc.inc
+++ b/meta/recipes-extended/psmisc/psmisc.inc
@@ -19,7 +19,6 @@ inherit autotools gettext
 # Upstream has a custom autogen.sh which invokes po/update-potfiles as they 
 # don't ship a po/POTFILES.in (which is silly).  Without that file gettext 
 # doesn't believe po/ is a gettext directory and won't generate po/Makefile.
-EXTRA_AUTORECONF_remove = "--exclude=autopoint"
 do_configure_prepend() {
     ( cd ${S} && po/update-potfiles )
 }
-- 
2.17.1



^ permalink raw reply related	[flat|nested] 62+ messages in thread

* [PATCH 05/30] gettext: fix failing ptests
  2019-12-12 18:14 [PATCH 01/30] rpm: upgrade to 4.15.1 Alexander Kanavin
                   ` (2 preceding siblings ...)
  2019-12-12 18:14 ` [PATCH 04/30] psmisc: revert to default autopoint exclusion Alexander Kanavin
@ 2019-12-12 18:14 ` Alexander Kanavin
  2019-12-12 18:14 ` [PATCH 06/30] python3: update to 3.8.0 Alexander Kanavin
                   ` (25 subsequent siblings)
  29 siblings, 0 replies; 62+ messages in thread
From: Alexander Kanavin @ 2019-12-12 18:14 UTC (permalink / raw)
  To: openembedded-core

Results:

pass 400
fail 0
skip 32

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
 meta/recipes-core/gettext/gettext_0.20.1.bb | 23 +++++++++++++++++++--
 1 file changed, 21 insertions(+), 2 deletions(-)

diff --git a/meta/recipes-core/gettext/gettext_0.20.1.bb b/meta/recipes-core/gettext/gettext_0.20.1.bb
index fc05ef2e0a3..a6fc2195685 100644
--- a/meta/recipes-core/gettext/gettext_0.20.1.bb
+++ b/meta/recipes-core/gettext/gettext_0.20.1.bb
@@ -44,6 +44,10 @@ EXTRA_OECONF += "--without-lispdir \
                 "
 EXTRA_OECONF_append_class-target = " \
                  --with-bisonlocaledir=${datadir}/locale \
+                 gt_cv_locale_fr_utf8=fr_FR \
+                 gt_cv_locale_fr=fr_FR.ISO-8859-1 \
+                 gt_cv_locale_de_utf8=de_DE \
+                 gt_cv_locale_de=de_DE.ISO-8859-1 \
 "
 
 PACKAGECONFIG ??= "croco glib libxml"
@@ -143,13 +147,17 @@ do_install_ptest() {
         mkdir -p                                        ${D}${PTEST_PATH}/src
         mkdir -p                                        ${D}${PTEST_PATH}/po
         mkdir -p                                        ${D}${PTEST_PATH}/misc
+        mkdir -p                                        ${D}${PTEST_PATH}/its
+        mkdir -p                                        ${D}${PTEST_PATH}/styles
+        cp -rf ${S}/gettext-tools/its/*                 ${D}${PTEST_PATH}/its
+        cp -rf ${S}/gettext-tools/styles/*              ${D}${PTEST_PATH}/styles
         cp -rf ${S}/gettext-tools/tests/*               ${D}${PTEST_PATH}/tests
         cp -rf ${B}/gettext-tools/tests/.libs/*         ${D}${PTEST_PATH}/tests
         cp -rf ${B}/gettext-runtime/intl/.libs/libgnuintl.so.8*         ${D}${libdir}/
         cp -rf ${B}/gettext-tools/tests/Makefile        ${D}${PTEST_PATH}/tests
+        cp -rf ${B}/gettext-tools/tests/init-env        ${D}${PTEST_PATH}/tests
         sed -i '/^Makefile:/c Makefile:'                ${D}${PTEST_PATH}/tests/Makefile
-        sed -i -e 's:CONFIG_SHELL=.*:& LOCALE_FR='fr_FR.iso88591' LOCALE_FR_UTF8='fr_FR.utf8' LOCALE_JA='ja_JP.eucjp':g' \
-            -e 's:lang-c lang-c++:lang-c++:g' ${D}${PTEST_PATH}/tests/Makefile
+        sed -i -e 's:lang-c lang-c++:lang-c++:g'        ${D}${PTEST_PATH}/tests/Makefile
         install ${S}/gettext-tools/src/msgunfmt.tcl     ${D}${PTEST_PATH}/src
         install ${S}/gettext-tools/src/project-id       ${D}${PTEST_PATH}/src
         install ${B}/gettext-runtime/src/gettext.sh     ${D}${PTEST_PATH}/src
@@ -177,8 +185,19 @@ RDEPENDS_${PN}-ptest_append_libc-glibc = "\
     glibc-gconv-koi8-r \
     glibc-gconv-iso8859-2 \
     glibc-charmap-iso-8859-2 \
+    glibc-gconv-iso8859-1 \
+    glibc-charmap-iso-8859-1 \
     glibc-gconv-euc-kr \
     glibc-charmap-euc-kr \
+    glibc-gconv-euc-jp \
+    glibc-charmap-euc-jp \
+    locale-base-de-de \
+    locale-base-fr-fr \
+"
+
+RRECOMMENDS_${PN}-ptest_append_libc-glibc = "\
+    locale-base-de-de.iso-8859-1 \
+    locale-base-fr-fr.iso-8859-1 \
 "
 
 INSANE_SKIP_${PN}-ptest += "ldflags"
-- 
2.17.1



^ permalink raw reply related	[flat|nested] 62+ messages in thread

* [PATCH 06/30] python3: update to 3.8.0
  2019-12-12 18:14 [PATCH 01/30] rpm: upgrade to 4.15.1 Alexander Kanavin
                   ` (3 preceding siblings ...)
  2019-12-12 18:14 ` [PATCH 05/30] gettext: fix failing ptests Alexander Kanavin
@ 2019-12-12 18:14 ` Alexander Kanavin
  2019-12-12 18:14 ` [PATCH 07/30] gstreamer1.0-python: add a patch to fix python 3.8 builds Alexander Kanavin
                   ` (24 subsequent siblings)
  29 siblings, 0 replies; 62+ messages in thread
From: Alexander Kanavin @ 2019-12-12 18:14 UTC (permalink / raw)
  To: openembedded-core

Drop backports, rebase other patches.

One patch I wasn't able to rebase as upstream code changed too much:
0003-setup.py-pass-missing-libraries-to-Extension-for-mul.patch
Please determine if it is still needed, produce a new version,
and work with upstream to get it merged.

0001-main.c-if-OEPYTHON3HOME-is-set-use-instead-of-PYTHON.patch
is removed as the use case (allowing python 2 and 3 to coexist
in SDKs) is no longer relevant with Python 2.x reaching end of line
and upstream has refactored the code making a rebase difficult.
If needed, please re-add the patch to py2, rather than py3.

Python 3.8 no longer adds "m" to "3.8" in paths, so adjust the recipes
and classes accordingly.

The manifest for the 3.8.0 version is updated; particularly pkgutil
module is now packaged in -core (as other things in core need it);
this also necessitates allowing empty -pkgutil package to avoid
breakage across layers.

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
 meta/classes/python3-dir.bbclass              |   4 +-
 ...ib-termcap-to-linker-flags-to-avoid-.patch |  14 +-
 ...lib-as-location-for-site-packages-an.patch | 156 ++++++++------
 ...-detection-of-mips-architecture-for-.patch |  16 +-
 ...fig-append-STAGING_LIBDIR-python-sys.patch |   2 +-
 ...ON3HOME-is-set-use-instead-of-PYTHON.patch |  47 -----
 ...asename-to-replace-CC-for-checking-c.patch |  37 ++--
 ...runtime-test-to-get-float-byte-order.patch | 199 ------------------
 ...ssing-libraries-to-Extension-for-mul.patch |  80 -------
 ...report-missing-dependencies-for-disa.patch |  11 +-
 ...tutils-prefix-is-inside-staging-area.patch |   2 +-
 .../python3/avoid_warning_about_tkinter.patch |  33 ++-
 .../python/python3/python-config.patch        |  24 ++-
 .../python/python3/python3-manifest.json      | 106 +++++-----
 .../{python3_3.7.5.bb => python3_3.8.0.bb}    |  29 ++-
 15 files changed, 226 insertions(+), 534 deletions(-)
 delete mode 100644 meta/recipes-devtools/python/python3/0001-main.c-if-OEPYTHON3HOME-is-set-use-instead-of-PYTHON.patch
 delete mode 100644 meta/recipes-devtools/python/python3/0002-Don-t-do-runtime-test-to-get-float-byte-order.patch
 delete mode 100644 meta/recipes-devtools/python/python3/0003-setup.py-pass-missing-libraries-to-Extension-for-mul.patch
 rename meta/recipes-devtools/python/{python3_3.7.5.bb => python3_3.8.0.bb} (91%)

diff --git a/meta/classes/python3-dir.bbclass b/meta/classes/python3-dir.bbclass
index 7dd130bad99..036d7140d99 100644
--- a/meta/classes/python3-dir.bbclass
+++ b/meta/classes/python3-dir.bbclass
@@ -1,5 +1,5 @@
-PYTHON_BASEVERSION = "3.7"
-PYTHON_ABI = "m"
+PYTHON_BASEVERSION = "3.8"
+PYTHON_ABI = ""
 PYTHON_DIR = "python${PYTHON_BASEVERSION}"
 PYTHON_PN = "python3"
 PYTHON_SITEPACKAGES_DIR = "${libdir}/${PYTHON_DIR}/site-packages"
diff --git a/meta/recipes-devtools/python/python3/0001-Do-not-add-usr-lib-termcap-to-linker-flags-to-avoid-.patch b/meta/recipes-devtools/python/python3/0001-Do-not-add-usr-lib-termcap-to-linker-flags-to-avoid-.patch
index 09f279ba1d7..59592821d7f 100644
--- a/meta/recipes-devtools/python/python3/0001-Do-not-add-usr-lib-termcap-to-linker-flags-to-avoid-.patch
+++ b/meta/recipes-devtools/python/python3/0001-Do-not-add-usr-lib-termcap-to-linker-flags-to-avoid-.patch
@@ -1,4 +1,4 @@
-From 23294c6ba6896115828293fdb7e67b47b38ba675 Mon Sep 17 00:00:00 2001
+From 039c53dd5baddec3359a05be0bff46a3b32bbb84 Mon Sep 17 00:00:00 2001
 From: Alexander Kanavin <alex.kanavin@gmail.com>
 Date: Fri, 25 Jan 2019 19:04:13 +0100
 Subject: [PATCH] Do not add /usr/lib/termcap to linker flags to avoid host
@@ -12,14 +12,14 @@ Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
  1 file changed, 1 deletion(-)
 
 diff --git a/setup.py b/setup.py
-index b4357e3..fbec00d 100644
+index 20d7f35..ab18ff0 100644
 --- a/setup.py
 +++ b/setup.py
-@@ -856,7 +856,6 @@ class PyBuildExt(build_ext):
+@@ -957,7 +957,6 @@ class PyBuildExt(build_ext):
                                                       'termcap'):
                  readline_libs.append('termcap')
-             exts.append( Extension('readline', ['readline.c'],
--                                   library_dirs=['/usr/lib/termcap'],
-                                    extra_link_args=readline_extra_link_args,
-                                    libraries=readline_libs) )
+             self.add(Extension('readline', ['readline.c'],
+-                               library_dirs=['/usr/lib/termcap'],
+                                extra_link_args=readline_extra_link_args,
+                                libraries=readline_libs))
          else:
diff --git a/meta/recipes-devtools/python/python3/0001-Do-not-hardcode-lib-as-location-for-site-packages-an.patch b/meta/recipes-devtools/python/python3/0001-Do-not-hardcode-lib-as-location-for-site-packages-an.patch
index ea75262c4f6..112c979441f 100644
--- a/meta/recipes-devtools/python/python3/0001-Do-not-hardcode-lib-as-location-for-site-packages-an.patch
+++ b/meta/recipes-devtools/python/python3/0001-Do-not-hardcode-lib-as-location-for-site-packages-an.patch
@@ -1,4 +1,4 @@
-From 0fbdad1eaf541a8e92be81f39514cd249b3b0801 Mon Sep 17 00:00:00 2001
+From a078b6ff1492e848ad1055764fb9a414abaf3e12 Mon Sep 17 00:00:00 2001
 From: Alexander Kanavin <alex.kanavin@gmail.com>
 Date: Tue, 5 Feb 2019 15:52:02 +0100
 Subject: [PATCH] Do not hardcode "lib" as location for modules, site-packages
@@ -11,13 +11,13 @@ Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
  Include/pythonrun.h  |  2 ++
  Lib/site.py          |  4 ++--
  Makefile.pre.in      |  5 +++--
- Modules/getpath.c    | 18 ++++++++++++------
+ Modules/getpath.c    | 22 ++++++++++++++--------
  Python/getplatform.c | 10 ++++++++++
  Python/sysmodule.c   |  2 ++
- 6 files changed, 31 insertions(+), 10 deletions(-)
+ 6 files changed, 33 insertions(+), 12 deletions(-)
 
 diff --git a/Include/pythonrun.h b/Include/pythonrun.h
-index 6f0c6fc..0a17edd 100644
+index 46091e0..61b2e15 100644
 --- a/Include/pythonrun.h
 +++ b/Include/pythonrun.h
 @@ -7,6 +7,8 @@
@@ -28,12 +28,12 @@ index 6f0c6fc..0a17edd 100644
 +
  #ifndef Py_LIMITED_API
  PyAPI_FUNC(int) PyRun_SimpleStringFlags(const char *, PyCompilerFlags *);
- PyAPI_FUNC(int) PyRun_AnyFileFlags(FILE *, const char *, PyCompilerFlags *);
+ PyAPI_FUNC(int) PyRun_AnyFileExFlags(
 diff --git a/Lib/site.py b/Lib/site.py
-index ffd132b..b55f6d8 100644
+index a065ab0..1d720ef 100644
 --- a/Lib/site.py
 +++ b/Lib/site.py
-@@ -334,12 +334,12 @@ def getsitepackages(prefixes=None):
+@@ -335,12 +335,12 @@ def getsitepackages(prefixes=None):
          seen.add(prefix)
  
          if os.sep == '/':
@@ -49,10 +49,10 @@ index ffd132b..b55f6d8 100644
  
  def addsitepackages(known_paths, prefixes=None):
 diff --git a/Makefile.pre.in b/Makefile.pre.in
-index 6e81b2f..671a20e 100644
+index 65665df..be49140 100644
 --- a/Makefile.pre.in
 +++ b/Makefile.pre.in
-@@ -142,7 +142,7 @@ LIBDIR=		@libdir@
+@@ -143,7 +143,7 @@ LIBDIR=		@libdir@
  MANDIR=		@mandir@
  INCLUDEDIR=	@includedir@
  CONFINCLUDEDIR=	$(exec_prefix)/include
@@ -61,7 +61,7 @@ index 6e81b2f..671a20e 100644
  ABIFLAGS=	@ABIFLAGS@
  
  # Detailed destination directories
-@@ -768,6 +768,7 @@ Modules/getpath.o: $(srcdir)/Modules/getpath.c Makefile
+@@ -753,6 +753,7 @@ Modules/getpath.o: $(srcdir)/Modules/getpath.c Makefile
  		-DEXEC_PREFIX='"$(exec_prefix)"' \
  		-DVERSION='"$(VERSION)"' \
  		-DVPATH='"$(VPATH)"' \
@@ -69,7 +69,7 @@ index 6e81b2f..671a20e 100644
  		-o $@ $(srcdir)/Modules/getpath.c
  
  Programs/python.o: $(srcdir)/Programs/python.c
-@@ -856,7 +857,7 @@ regen-opcode:
+@@ -868,7 +869,7 @@ regen-symbol: $(srcdir)/Include/graminit.h
  Python/compile.o Python/symtable.o Python/ast_unparse.o Python/ast.o Python/future.o Parser/parsetok.o: $(srcdir)/Include/graminit.h $(srcdir)/Include/Python-ast.h
  
  Python/getplatform.o: $(srcdir)/Python/getplatform.c
@@ -79,72 +79,90 @@ index 6e81b2f..671a20e 100644
  Python/importdl.o: $(srcdir)/Python/importdl.c
  		$(CC) -c $(PY_CORE_CFLAGS) -I$(DLINCLDIR) -o $@ $(srcdir)/Python/importdl.c
 diff --git a/Modules/getpath.c b/Modules/getpath.c
-index e6a3e8e..0c62af6 100644
+index b727f66..c003e46 100644
 --- a/Modules/getpath.c
 +++ b/Modules/getpath.c
-@@ -123,6 +123,7 @@ typedef struct {
-     wchar_t *exec_prefix;              /* EXEC_PREFIX define */
+@@ -128,6 +128,7 @@ typedef struct {
+     wchar_t *exec_prefix;              /* EXEC_PREFIX macro */
  
      wchar_t *lib_python;               /* "lib/pythonX.Y" */
 +    wchar_t *multilib_python;               /* "lib[suffix]/pythonX.Y" */
-     wchar_t argv0_path[MAXPATHLEN+1];
-     wchar_t zip_path[MAXPATHLEN+1];    /* ".../lib/pythonXY.zip" */
  
-@@ -314,7 +315,7 @@ search_for_prefix(const _PyCoreConfig *core_config,
+     int prefix_found;         /* found platform independent libraries? */
+     int exec_prefix_found;    /* found the platform dependent libraries? */
+@@ -386,7 +387,7 @@ search_for_prefix(PyCalculatePath *calculate, _PyPathConfig *pathconfig,
          if (delim) {
              *delim = L'\0';
          }
--        joinpath(prefix, calculate->lib_python);
-+        joinpath(prefix, calculate->multilib_python);
-         joinpath(prefix, LANDMARK);
-         return 1;
-     }
-@@ -343,7 +344,7 @@ search_for_prefix(const _PyCoreConfig *core_config,
-     copy_absolute(prefix, calculate->argv0_path, MAXPATHLEN+1);
+-        status = joinpath(prefix, calculate->lib_python, prefix_len);
++        status = joinpath(prefix, calculate->multilib_python, prefix_len);
+         if (_PyStatus_EXCEPTION(status)) {
+             return status;
+         }
+@@ -444,7 +445,7 @@ search_for_prefix(PyCalculatePath *calculate, _PyPathConfig *pathconfig,
      do {
-         n = wcslen(prefix);
--        joinpath(prefix, calculate->lib_python);
-+        joinpath(prefix, calculate->multilib_python);
-         joinpath(prefix, LANDMARK);
-         if (ismodule(prefix)) {
-             return 1;
-@@ -355,7 +356,7 @@ search_for_prefix(const _PyCoreConfig *core_config,
-     /* Look at configure's PREFIX */
-     wcsncpy(prefix, calculate->prefix, MAXPATHLEN);
-     prefix[MAXPATHLEN] = L'\0';
--    joinpath(prefix, calculate->lib_python);
-+    joinpath(prefix, calculate->multilib_python);
-     joinpath(prefix, LANDMARK);
-     if (ismodule(prefix)) {
-         return 1;
-@@ -427,7 +428,7 @@ search_for_exec_prefix(const _PyCoreConfig *core_config,
-             wcsncpy(exec_prefix, core_config->home, MAXPATHLEN);
+         /* Path: <argv0_path or substring> / <lib_python> / LANDMARK */
+         size_t n = wcslen(prefix);
+-        status = joinpath(prefix, calculate->lib_python, prefix_len);
++        status = joinpath(prefix, calculate->multilib_python, prefix_len);
+         if (_PyStatus_EXCEPTION(status)) {
+             return status;
          }
-         exec_prefix[MAXPATHLEN] = L'\0';
--        joinpath(exec_prefix, calculate->lib_python);
-+        joinpath(exec_prefix, calculate->multilib_python);
-         joinpath(exec_prefix, L"lib-dynload");
-         return 1;
+@@ -467,7 +468,7 @@ search_for_prefix(PyCalculatePath *calculate, _PyPathConfig *pathconfig,
+     if (safe_wcscpy(prefix, calculate->prefix, prefix_len) < 0) {
+         return PATHLEN_ERR();
+     }
+-    status = joinpath(prefix, calculate->lib_python, prefix_len);
++    status = joinpath(prefix, calculate->multilib_python, prefix_len);
+     if (_PyStatus_EXCEPTION(status)) {
+         return status;
      }
-@@ -464,7 +465,7 @@ search_for_exec_prefix(const _PyCoreConfig *core_config,
-     copy_absolute(exec_prefix, calculate->argv0_path, MAXPATHLEN+1);
+@@ -510,7 +511,7 @@ calculate_prefix(PyCalculatePath *calculate, _PyPathConfig *pathconfig,
+         if (safe_wcscpy(prefix, calculate->prefix, prefix_len) < 0) {
+             return PATHLEN_ERR();
+         }
+-        status = joinpath(prefix, calculate->lib_python, prefix_len);
++        status = joinpath(prefix, calculate->multilib_python, prefix_len);
+         if (_PyStatus_EXCEPTION(status)) {
+             return status;
+         }
+@@ -635,7 +636,7 @@ search_for_exec_prefix(PyCalculatePath *calculate, _PyPathConfig *pathconfig,
+                 return PATHLEN_ERR();
+             }
+         }
+-        status = joinpath(exec_prefix, calculate->lib_python, exec_prefix_len);
++        status = joinpath(exec_prefix, calculate->multilib_python, exec_prefix_len);
+         if (_PyStatus_EXCEPTION(status)) {
+             return status;
+         }
+@@ -667,7 +668,7 @@ search_for_exec_prefix(PyCalculatePath *calculate, _PyPathConfig *pathconfig,
      do {
-         n = wcslen(exec_prefix);
--        joinpath(exec_prefix, calculate->lib_python);
-+        joinpath(exec_prefix, calculate->multilib_python);
-         joinpath(exec_prefix, L"lib-dynload");
-         if (isdir(exec_prefix)) {
-             return 1;
-@@ -476,7 +477,7 @@ search_for_exec_prefix(const _PyCoreConfig *core_config,
-     /* Look at configure's EXEC_PREFIX */
-     wcsncpy(exec_prefix, calculate->exec_prefix, MAXPATHLEN);
-     exec_prefix[MAXPATHLEN] = L'\0';
--    joinpath(exec_prefix, calculate->lib_python);
-+    joinpath(exec_prefix, calculate->multilib_python);
-     joinpath(exec_prefix, L"lib-dynload");
-     if (isdir(exec_prefix)) {
-         return 1;
-@@ -871,6 +872,10 @@ calculate_init(PyCalculatePath *calculate,
+         /* Path: <argv0_path or substring> / <lib_python> / "lib-dynload" */
+         size_t n = wcslen(exec_prefix);
+-        status = joinpath(exec_prefix, calculate->lib_python, exec_prefix_len);
++        status = joinpath(exec_prefix, calculate->multilib_python, exec_prefix_len);
+         if (_PyStatus_EXCEPTION(status)) {
+             return status;
+         }
+@@ -689,7 +690,7 @@ search_for_exec_prefix(PyCalculatePath *calculate, _PyPathConfig *pathconfig,
+     if (safe_wcscpy(exec_prefix, calculate->exec_prefix, exec_prefix_len) < 0) {
+         return PATHLEN_ERR();
+     }
+-    status = joinpath(exec_prefix, calculate->lib_python, exec_prefix_len);
++    status = joinpath(exec_prefix, calculate->multilib_python, exec_prefix_len);
+     if (_PyStatus_EXCEPTION(status)) {
+         return status;
+     }
+@@ -928,7 +929,7 @@ calculate_argv0_path(PyCalculatePath *calculate, const wchar_t *program_full_pat
+             return PATHLEN_ERR();
+         }
+         reduce(argv0_path);
+-        status = joinpath(argv0_path, calculate->lib_python, argv0_path_len);
++        status = joinpath(argv0_path, calculate->multilib_python, argv0_path_len);
+         if (_PyStatus_EXCEPTION(status)) {
+             PyMem_RawFree(wbuf);
+             return status;
+@@ -1201,6 +1202,10 @@ calculate_init(PyCalculatePath *calculate, const PyConfig *config)
      if (!calculate->lib_python) {
          return DECODE_LOCALE_ERR("EXEC_PREFIX define", len);
      }
@@ -152,10 +170,10 @@ index e6a3e8e..0c62af6 100644
 +    if (!calculate->multilib_python) {
 +        return DECODE_LOCALE_ERR("EXEC_PREFIX define", len);
 +    }
-     return _Py_INIT_OK();
- }
  
-@@ -882,6 +887,7 @@ calculate_free(PyCalculatePath *calculate)
+     calculate->warnings = config->pathconfig_warnings;
+     calculate->pythonpath_env = config->pythonpath_env;
+@@ -1216,6 +1221,7 @@ calculate_free(PyCalculatePath *calculate)
      PyMem_RawFree(calculate->prefix);
      PyMem_RawFree(calculate->exec_prefix);
      PyMem_RawFree(calculate->lib_python);
@@ -182,10 +200,10 @@ index 81a0f7a..d55396b 100644
 +	return LIB;
 +}
 diff --git a/Python/sysmodule.c b/Python/sysmodule.c
-index efe5b29..de77b17 100644
+index 5b0fb81..0dce754 100644
 --- a/Python/sysmodule.c
 +++ b/Python/sysmodule.c
-@@ -2319,6 +2319,8 @@ _PySys_BeginInit(PyObject **sysmod)
+@@ -2668,6 +2668,8 @@ _PySys_InitCore(_PyRuntimeState *runtime, PyInterpreterState *interp,
                          PyUnicode_FromString(Py_GetCopyright()));
      SET_SYS_FROM_STRING("platform",
                          PyUnicode_FromString(Py_GetPlatform()));
diff --git a/meta/recipes-devtools/python/python3/0001-bpo-36852-proper-detection-of-mips-architecture-for-.patch b/meta/recipes-devtools/python/python3/0001-bpo-36852-proper-detection-of-mips-architecture-for-.patch
index e7af88654da..fe0aa8aabed 100644
--- a/meta/recipes-devtools/python/python3/0001-bpo-36852-proper-detection-of-mips-architecture-for-.patch
+++ b/meta/recipes-devtools/python/python3/0001-bpo-36852-proper-detection-of-mips-architecture-for-.patch
@@ -1,4 +1,4 @@
-From 7535c39951b9d15dd64c4669092a8582ba555466 Mon Sep 17 00:00:00 2001
+From 2581ebe3cd9686089aed223651e1b8bf0b862b48 Mon Sep 17 00:00:00 2001
 From: Matthias Schoepfer <matthias.schoepfer@ithinx.io>
 Date: Fri, 31 May 2019 15:34:34 +0200
 Subject: [PATCH] bpo-36852: proper detection of mips architecture for soft
@@ -12,15 +12,16 @@ to do this in a more autoconf/autotools manner.
 
 Upstream-Status: Submitted [https://github.com/python/cpython/pull/13196]
 Signed-off-by: Matthias Schoepfer <matthias.schoepfer@ithinx.io>
+
 ---
- configure.ac | 169 ++++++---------------------------------------------
- 1 file changed, 17 insertions(+), 152 deletions(-)
+ configure.ac | 171 +++++----------------------------------------------
+ 1 file changed, 17 insertions(+), 154 deletions(-)
 
 diff --git a/configure.ac b/configure.ac
-index a7de901e08..a73e2de51b 100644
+index 0f85486..0ca7e24 100644
 --- a/configure.ac
 +++ b/configure.ac
-@@ -727,158 +727,23 @@ fi
+@@ -704,160 +704,23 @@ fi
  MULTIARCH=$($CC --print-multiarch 2>/dev/null)
  AC_SUBST(MULTIARCH)
  
@@ -163,6 +164,8 @@ index a7de901e08..a73e2de51b 100644
 -        i386-gnu
 -#elif defined(__APPLE__)
 -        darwin
+-#elif defined(__VXWORKS__)
+-        vxworks
 -#else
 -# error unknown platform triplet
 -#endif
@@ -196,6 +199,3 @@ index a7de901e08..a73e2de51b 100644
  
  if test x$PLATFORM_TRIPLET != x && test x$MULTIARCH != x; then
    if test x$PLATFORM_TRIPLET != x$MULTIARCH; then
--- 
-2.21.0
-
diff --git a/meta/recipes-devtools/python/python3/0001-distutils-sysconfig-append-STAGING_LIBDIR-python-sys.patch b/meta/recipes-devtools/python/python3/0001-distutils-sysconfig-append-STAGING_LIBDIR-python-sys.patch
index 1709011be8a..ee37f6bd52d 100644
--- a/meta/recipes-devtools/python/python3/0001-distutils-sysconfig-append-STAGING_LIBDIR-python-sys.patch
+++ b/meta/recipes-devtools/python/python3/0001-distutils-sysconfig-append-STAGING_LIBDIR-python-sys.patch
@@ -1,4 +1,4 @@
-From eff903c600f4c40f5753e95ab1557126fc6e0c9c Mon Sep 17 00:00:00 2001
+From cf676775109c0a7fb38058bb60b453ff8f1a166b Mon Sep 17 00:00:00 2001
 From: Alexander Kanavin <alex.kanavin@gmail.com>
 Date: Thu, 31 Jan 2019 16:46:30 +0100
 Subject: [PATCH] distutils/sysconfig: append
diff --git a/meta/recipes-devtools/python/python3/0001-main.c-if-OEPYTHON3HOME-is-set-use-instead-of-PYTHON.patch b/meta/recipes-devtools/python/python3/0001-main.c-if-OEPYTHON3HOME-is-set-use-instead-of-PYTHON.patch
deleted file mode 100644
index a146c747f83..00000000000
--- a/meta/recipes-devtools/python/python3/0001-main.c-if-OEPYTHON3HOME-is-set-use-instead-of-PYTHON.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-From 5ce3ac59531828ff682646fbba59b2126b28a8aa Mon Sep 17 00:00:00 2001
-From: Jaewon Lee <jaewon.lee@xilinx.com>
-Date: Thu, 25 Apr 2019 15:34:26 -0700
-Subject: [PATCH] main.c: if OEPYTHON3HOME is set use instead of PYTHONHOME
-
-There is one variable PYTHONHOME to determine where libraries are coming
-from for both python2 and python3. This becomes an issue if only one has
-libraries in the specified PYTHONHOME path, but they are using the same
-PYTHONHOME. Creating another variable OEPYTHON3HOME to allow for a way
-to set a different path for python3
-
-Signed-off-by: Jaewon Lee <jaewon.lee@xilinx.com>
-
-Upstream-Status: Inappropriate [OE specific configuration]
-
----
- Modules/main.c | 17 +++++++++++++----
- 1 file changed, 13 insertions(+), 4 deletions(-)
-
-diff --git a/Modules/main.c b/Modules/main.c
-index acc59c6..407085a 100644
---- a/Modules/main.c
-+++ b/Modules/main.c
-@@ -1834,10 +1834,19 @@ config_init_home(_PyCoreConfig *config)
-         }
-         return _Py_INIT_OK();
-     }
--
--    int res = config_get_env_var_dup(&home, L"PYTHONHOME", "PYTHONHOME");
--    if (res < 0) {
--        return DECODE_LOCALE_ERR("PYTHONHOME", res);
-+    int res;
-+    const char *oepython3home = config_get_env_var("OEPYTHON3HOME");
-+    if (oepython3home) {
-+        res = config_get_env_var_dup(&home, L"OEPYTHON3HOME", "OEPYTHON3HOME");
-+        if (res < 0) {
-+            return DECODE_LOCALE_ERR("OEPYTHON3HOME", res);
-+        }
-+    }
-+    else {
-+        res = config_get_env_var_dup(&home, L"PYTHONHOME", "PYTHONHOME");
-+        if (res < 0) {
-+            return DECODE_LOCALE_ERR("PYTHONHOME", res);
-+        }
-     }
-     config->home = home;
-     return _Py_INIT_OK();
diff --git a/meta/recipes-devtools/python/python3/0001-python3-use-cc_basename-to-replace-CC-for-checking-c.patch b/meta/recipes-devtools/python/python3/0001-python3-use-cc_basename-to-replace-CC-for-checking-c.patch
index a0ea897f4e8..fb10ca94b31 100644
--- a/meta/recipes-devtools/python/python3/0001-python3-use-cc_basename-to-replace-CC-for-checking-c.patch
+++ b/meta/recipes-devtools/python/python3/0001-python3-use-cc_basename-to-replace-CC-for-checking-c.patch
@@ -1,4 +1,4 @@
-From 2645317fef09afe31b01bb2c1d4fe5b9afdbb11a Mon Sep 17 00:00:00 2001
+From 994783da5c21cab81b6589ed2d4275e665a946f9 Mon Sep 17 00:00:00 2001
 From: Changqing Li <changqing.li@windriver.com>
 Date: Mon, 22 Oct 2018 15:19:51 +0800
 Subject: [PATCH] python3: use cc_basename to replace CC for checking compiler
@@ -21,12 +21,13 @@ Signed-off-by: Li Zhou <li.zhou@windriver.com>
 patch originally from Li Zhou, I just rework it to new version
 
 Signed-off-by: Changqing Li <changqing.li@windriver.com>
+
 ---
  configure.ac | 19 ++++++++++---------
  1 file changed, 10 insertions(+), 9 deletions(-)
 
 diff --git a/configure.ac b/configure.ac
-index a7de901..4a3681f 100644
+index a189d42..0f85486 100644
 --- a/configure.ac
 +++ b/configure.ac
 @@ -54,6 +54,7 @@ AC_CONFIG_HEADER(pyconfig.h)
@@ -37,7 +38,7 @@ index a7de901..4a3681f 100644
  
  # pybuilddir.txt will be created by --generate-posix-vars in the Makefile
  rm -f pybuilddir.txt
-@@ -695,7 +696,7 @@ AC_MSG_RESULT($with_cxx_main)
+@@ -671,7 +672,7 @@ AC_MSG_RESULT($with_cxx_main)
  preset_cxx="$CXX"
  if test -z "$CXX"
  then
@@ -46,7 +47,7 @@ index a7de901..4a3681f 100644
          gcc)    AC_PATH_TOOL(CXX, [g++], [g++], [notfound]) ;;
          cc)     AC_PATH_TOOL(CXX, [c++], [c++], [notfound]) ;;
          clang|*/clang)     AC_PATH_TOOL(CXX, [clang++], [clang++], [notfound]) ;;
-@@ -979,7 +980,7 @@ rmdir CaseSensitiveTestDir
+@@ -957,7 +958,7 @@ rmdir CaseSensitiveTestDir
  
  case $ac_sys_system in
  hp*|HP*)
@@ -55,7 +56,7 @@ index a7de901..4a3681f 100644
      cc|*/cc) CC="$CC -Ae";;
      esac;;
  esac
-@@ -1336,7 +1337,7 @@ else
+@@ -1335,7 +1336,7 @@ else
  fi],
  [AC_MSG_RESULT(no)])
  if test "$Py_LTO" = 'true' ; then
@@ -64,7 +65,7 @@ index a7de901..4a3681f 100644
      *clang*)
        AC_SUBST(LLVM_AR)
        AC_PATH_TOOL(LLVM_AR, llvm-ar, '', ${llvm_path})
-@@ -1426,7 +1427,7 @@ then
+@@ -1425,7 +1426,7 @@ then
    fi
  fi
  LLVM_PROF_ERR=no
@@ -73,16 +74,16 @@ index a7de901..4a3681f 100644
    *clang*)
      # Any changes made here should be reflected in the GCC+Darwin case below
      PGO_PROF_GEN_FLAG="-fprofile-instr-generate"
-@@ -1500,7 +1501,7 @@ then
-            WRAP="-fwrapv"
-         fi
+@@ -1486,7 +1487,7 @@ esac
+ # compiler and platform.  BASECFLAGS tweaks need to be made even if the
+ # user set OPT.
  
--        case $CC in
-+        case $cc_basename in
-             *clang*)
-                 cc_is_clang=1
-                 ;;
-@@ -1623,7 +1624,7 @@ yes)
+-case $CC in
++case $cc_basename in
+     *clang*)
+         cc_is_clang=1
+         ;;
+@@ -1622,7 +1623,7 @@ yes)
  
      # ICC doesn't recognize the option, but only emits a warning
      ## XXX does it emit an unused result warning and can it be disabled?
@@ -91,7 +92,7 @@ index a7de901..4a3681f 100644
      *icc*)
      ac_cv_disable_unused_result_warning=no
      ;;
-@@ -1965,7 +1966,7 @@ yes)
+@@ -1943,7 +1944,7 @@ yes)
  esac
  
  # ICC needs -fp-model strict or floats behave badly
@@ -100,7 +101,7 @@ index a7de901..4a3681f 100644
  *icc*)
      CFLAGS_NODIST="$CFLAGS_NODIST -fp-model strict"
      ;;
-@@ -2727,7 +2728,7 @@ then
+@@ -2711,7 +2712,7 @@ then
  		then
  			LINKFORSHARED="-Wl,--export-dynamic"
  		fi;;
@@ -109,7 +110,7 @@ index a7de901..4a3681f 100644
  		  *gcc*)
  		    if $CC -Xlinker --help 2>&1 | grep export-dynamic >/dev/null
  		    then
-@@ -5429,7 +5430,7 @@ if test "$have_gcc_asm_for_x87" = yes; then
+@@ -5362,7 +5363,7 @@ if test "$have_gcc_asm_for_x87" = yes; then
      # Some versions of gcc miscompile inline asm:
      # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46491
      # http://gcc.gnu.org/ml/gcc/2010-11/msg00366.html
diff --git a/meta/recipes-devtools/python/python3/0002-Don-t-do-runtime-test-to-get-float-byte-order.patch b/meta/recipes-devtools/python/python3/0002-Don-t-do-runtime-test-to-get-float-byte-order.patch
deleted file mode 100644
index 58ab709028e..00000000000
--- a/meta/recipes-devtools/python/python3/0002-Don-t-do-runtime-test-to-get-float-byte-order.patch
+++ /dev/null
@@ -1,199 +0,0 @@
-From fa96a7fd19e17b9c6b4dd01c3c3774fb382dddc6 Mon Sep 17 00:00:00 2001
-From: Ross Burton <ross.burton@intel.com>
-Date: Wed, 5 Sep 2018 11:45:52 +0100
-Subject: [PATCH] Don't do runtime test to get float byte order
-
-Python uses AC_RUN_IFELSE to determine the byte order for floats and doubles,
-and falls back onto "I don't know" if it can't run code.  This results in
-crippled floating point numbers in Python, and the regression tests fail.
-
-Instead of running code, take a macro from autoconf-archive which compiles C
-with a special double in which has an ASCII representation, and then greps the
-binary to identify the format.
-
-Upstream-Status: Backport [2a9c3805ddedf282881ef7811a561c70b74f80b1]
-Signed-off-by: Ross Burton <ross.burton@intel.com>
----
- configure.ac                     | 72 +++------------------------
- m4/ax_c_float_words_bigendian.m4 | 83 ++++++++++++++++++++++++++++++++
- 2 files changed, 90 insertions(+), 65 deletions(-)
- create mode 100644 m4/ax_c_float_words_bigendian.m4
-
-diff --git a/configure.ac b/configure.ac
-index 4a3681f..4ab19a6 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -4328,77 +4328,19 @@ fi
- # * Check for various properties of floating point *
- # **************************************************
- 
--AC_MSG_CHECKING(whether C doubles are little-endian IEEE 754 binary64)
--AC_CACHE_VAL(ac_cv_little_endian_double, [
--AC_RUN_IFELSE([AC_LANG_SOURCE([[
--#include <string.h>
--int main() {
--    double x = 9006104071832581.0;
--    if (memcmp(&x, "\x05\x04\x03\x02\x01\xff\x3f\x43", 8) == 0)
--        return 0;
--    else
--        return 1;
--}
--]])],
--[ac_cv_little_endian_double=yes],
--[ac_cv_little_endian_double=no],
--[ac_cv_little_endian_double=no])])
--AC_MSG_RESULT($ac_cv_little_endian_double)
--if test "$ac_cv_little_endian_double" = yes
--then
--  AC_DEFINE(DOUBLE_IS_LITTLE_ENDIAN_IEEE754, 1,
--  [Define if C doubles are 64-bit IEEE 754 binary format, stored
--   with the least significant byte first])
--fi
--
--AC_MSG_CHECKING(whether C doubles are big-endian IEEE 754 binary64)
--AC_CACHE_VAL(ac_cv_big_endian_double, [
--AC_RUN_IFELSE([AC_LANG_SOURCE([[
--#include <string.h>
--int main() {
--    double x = 9006104071832581.0;
--    if (memcmp(&x, "\x43\x3f\xff\x01\x02\x03\x04\x05", 8) == 0)
--        return 0;
--    else
--        return 1;
--}
--]])],
--[ac_cv_big_endian_double=yes],
--[ac_cv_big_endian_double=no],
--[ac_cv_big_endian_double=no])])
--AC_MSG_RESULT($ac_cv_big_endian_double)
--if test "$ac_cv_big_endian_double" = yes
-+AX_C_FLOAT_WORDS_BIGENDIAN
-+if test "$ax_cv_c_float_words_bigendian" = "yes"
- then
-   AC_DEFINE(DOUBLE_IS_BIG_ENDIAN_IEEE754, 1,
-   [Define if C doubles are 64-bit IEEE 754 binary format, stored
-    with the most significant byte first])
--fi
--
--# Some ARM platforms use a mixed-endian representation for doubles.
--# While Python doesn't currently have full support for these platforms
--# (see e.g., issue 1762561), we can at least make sure that float <-> string
--# conversions work.
--AC_MSG_CHECKING(whether C doubles are ARM mixed-endian IEEE 754 binary64)
--AC_CACHE_VAL(ac_cv_mixed_endian_double, [
--AC_RUN_IFELSE([AC_LANG_SOURCE([[
--#include <string.h>
--int main() {
--    double x = 9006104071832581.0;
--    if (memcmp(&x, "\x01\xff\x3f\x43\x05\x04\x03\x02", 8) == 0)
--        return 0;
--    else
--        return 1;
--}
--]])],
--[ac_cv_mixed_endian_double=yes],
--[ac_cv_mixed_endian_double=no],
--[ac_cv_mixed_endian_double=no])])
--AC_MSG_RESULT($ac_cv_mixed_endian_double)
--if test "$ac_cv_mixed_endian_double" = yes
-+elif test "$ax_cv_c_float_words_bigendian" = "no"
- then
--  AC_DEFINE(DOUBLE_IS_ARM_MIXED_ENDIAN_IEEE754, 1,
-+  AC_DEFINE(DOUBLE_IS_LITTLE_ENDIAN_IEEE754, 1,
-   [Define if C doubles are 64-bit IEEE 754 binary format, stored
--   in ARM mixed-endian order (byte order 45670123)])
-+   with the least significant byte first])
-+else
-+  AC_MSG_ERROR([Cannot identify floating point byte order])
- fi
- 
- # The short float repr introduced in Python 3.1 requires the
-diff --git a/m4/ax_c_float_words_bigendian.m4 b/m4/ax_c_float_words_bigendian.m4
-new file mode 100644
-index 0000000..216b90d
---- /dev/null
-+++ b/m4/ax_c_float_words_bigendian.m4
-@@ -0,0 +1,83 @@
-+# ===============================================================================
-+#  https://www.gnu.org/software/autoconf-archive/ax_c_float_words_bigendian.html
-+# ===============================================================================
-+#
-+# SYNOPSIS
-+#
-+#   AX_C_FLOAT_WORDS_BIGENDIAN([ACTION-IF-TRUE], [ACTION-IF-FALSE], [ACTION-IF-UNKNOWN])
-+#
-+# DESCRIPTION
-+#
-+#   Checks the ordering of words within a multi-word float. This check is
-+#   necessary because on some systems (e.g. certain ARM systems), the float
-+#   word ordering can be different from the byte ordering. In a multi-word
-+#   float context, "big-endian" implies that the word containing the sign
-+#   bit is found in the memory location with the lowest address. This
-+#   implementation was inspired by the AC_C_BIGENDIAN macro in autoconf.
-+#
-+#   The endianness is detected by first compiling C code that contains a
-+#   special double float value, then grepping the resulting object file for
-+#   certain strings of ASCII values. The double is specially crafted to have
-+#   a binary representation that corresponds with a simple string. In this
-+#   implementation, the string "noonsees" was selected because the
-+#   individual word values ("noon" and "sees") are palindromes, thus making
-+#   this test byte-order agnostic. If grep finds the string "noonsees" in
-+#   the object file, the target platform stores float words in big-endian
-+#   order. If grep finds "seesnoon", float words are in little-endian order.
-+#   If neither value is found, the user is instructed to specify the
-+#   ordering.
-+#
-+# LICENSE
-+#
-+#   Copyright (c) 2008 Daniel Amelang <dan@amelang.net>
-+#
-+#   Copying and distribution of this file, with or without modification, are
-+#   permitted in any medium without royalty provided the copyright notice
-+#   and this notice are preserved. This file is offered as-is, without any
-+#   warranty.
-+
-+#serial 11
-+
-+AC_DEFUN([AX_C_FLOAT_WORDS_BIGENDIAN],
-+  [AC_CACHE_CHECK(whether float word ordering is bigendian,
-+                  ax_cv_c_float_words_bigendian, [
-+
-+ax_cv_c_float_words_bigendian=unknown
-+AC_COMPILE_IFELSE([AC_LANG_SOURCE([[
-+
-+double d = 90904234967036810337470478905505011476211692735615632014797120844053488865816695273723469097858056257517020191247487429516932130503560650002327564517570778480236724525140520121371739201496540132640109977779420565776568942592.0;
-+
-+]])], [
-+
-+if grep noonsees conftest.$ac_objext >/dev/null ; then
-+  ax_cv_c_float_words_bigendian=yes
-+fi
-+if grep seesnoon conftest.$ac_objext >/dev/null ; then
-+  if test "$ax_cv_c_float_words_bigendian" = unknown; then
-+    ax_cv_c_float_words_bigendian=no
-+  else
-+    ax_cv_c_float_words_bigendian=unknown
-+  fi
-+fi
-+
-+])])
-+
-+case $ax_cv_c_float_words_bigendian in
-+  yes)
-+    m4_default([$1],
-+      [AC_DEFINE([FLOAT_WORDS_BIGENDIAN], 1,
-+                 [Define to 1 if your system stores words within floats
-+                  with the most significant word first])]) ;;
-+  no)
-+    $2 ;;
-+  *)
-+    m4_default([$3],
-+      [AC_MSG_ERROR([
-+
-+Unknown float word ordering. You need to manually preset
-+ax_cv_c_float_words_bigendian=no (or yes) according to your system.
-+
-+    ])]) ;;
-+esac
-+
-+])# AX_C_FLOAT_WORDS_BIGENDIAN
diff --git a/meta/recipes-devtools/python/python3/0003-setup.py-pass-missing-libraries-to-Extension-for-mul.patch b/meta/recipes-devtools/python/python3/0003-setup.py-pass-missing-libraries-to-Extension-for-mul.patch
deleted file mode 100644
index b9d5bc9c516..00000000000
--- a/meta/recipes-devtools/python/python3/0003-setup.py-pass-missing-libraries-to-Extension-for-mul.patch
+++ /dev/null
@@ -1,80 +0,0 @@
-From b881a79adcd4ae5ac8fe4f49d0fc77c47f777919 Mon Sep 17 00:00:00 2001
-From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Fri, 4 Aug 2017 11:16:14 +0800
-Subject: [PATCH] setup.py: pass missing libraries to Extension for
- multiprocessing module
-
-In the following commit:
-...
-commit e711cafab13efc9c1fe6c5cd75826401445eb585
-Author: Benjamin Peterson <benjamin@python.org>
-Date:   Wed Jun 11 16:44:04 2008 +0000
-
-    Merged revisions 64104,64117 via svnmerge from
-    svn+ssh://pythondev@svn.python.org/python/trunk
-...
-(see diff in setup.py)
-It assigned libraries for multiprocessing module according
-the host_platform, but not pass it to Extension.
-
-In glibc, the following commit caused two definition of
-sem_getvalue are different.
-https://sourceware.org/git/?p=glibc.git;a=commit;h=042e1521c794a945edc43b5bfa7e69ad70420524
-(see diff in nptl/sem_getvalue.c for detail)
-`__new_sem_getvalue' is the latest sem_getvalue@@GLIBC_2.1
-and `__old_sem_getvalue' is to compat the old version
-sem_getvalue@GLIBC_2.0.
-
-To build python for embedded Linux systems:
-http://www.yoctoproject.org/docs/2.3.1/yocto-project-qs/yocto-project-qs.html
-If not explicitly link to library pthread (-lpthread), it will
-load glibc's sem_getvalue randomly at runtime.
-
-Such as build python on linux x86_64 host and run the python
-on linux x86_32 target. If not link library pthread, it caused
-multiprocessing bounded semaphore could not work correctly.
-...
->>> import multiprocessing
->>> pool_sema = multiprocessing.BoundedSemaphore(value=1)
->>> pool_sema.acquire()
-True
->>> pool_sema.release()
-Traceback (most recent call last):
-  File "<stdin>", line 1, in <module>
-ValueError: semaphore or lock released too many times
-...
-
-And the semaphore issue also caused multiprocessing.Queue().put() hung.
-
-Upstream-Status: Submitted [https://github.com/python/cpython/pull/2999]
-
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- setup.py | 7 +++++--
- 1 file changed, 5 insertions(+), 2 deletions(-)
-
-diff --git a/setup.py b/setup.py
-index b7a36a6..658ead3 100644
---- a/setup.py
-+++ b/setup.py
-@@ -1584,8 +1584,10 @@ class PyBuildExt(build_ext):
-         elif host_platform.startswith('netbsd'):
-             macros = dict()
-             libraries = []
--
--        else:                                   # Linux and other unices
-+        elif host_platform.startswith(('linux')):
-+            macros = dict()
-+            libraries = ['pthread']
-+        else:                                   # Other unices
-             macros = dict()
-             libraries = ['rt']
- 
-@@ -1603,6 +1605,7 @@ class PyBuildExt(build_ext):
- 
-         exts.append ( Extension('_multiprocessing', multiprocessing_srcs,
-                                 define_macros=list(macros.items()),
-+                                libraries=libraries,
-                                 include_dirs=["Modules/_multiprocessing"]))
-         # End multiprocessing
- 
diff --git a/meta/recipes-devtools/python/python3/0017-setup.py-do-not-report-missing-dependencies-for-disa.patch b/meta/recipes-devtools/python/python3/0017-setup.py-do-not-report-missing-dependencies-for-disa.patch
index c15295c034c..4bd98f62fd6 100644
--- a/meta/recipes-devtools/python/python3/0017-setup.py-do-not-report-missing-dependencies-for-disa.patch
+++ b/meta/recipes-devtools/python/python3/0017-setup.py-do-not-report-missing-dependencies-for-disa.patch
@@ -1,4 +1,4 @@
-From e3b59cb9658e1d3efa3535840939a0fa92a70a5a Mon Sep 17 00:00:00 2001
+From a2dd127b4163aff6cc35af0d0251321964232ad4 Mon Sep 17 00:00:00 2001
 From: Alexander Kanavin <alex.kanavin@gmail.com>
 Date: Mon, 7 Oct 2019 13:22:14 +0200
 Subject: [PATCH] setup.py: do not report missing dependencies for disabled
@@ -10,22 +10,23 @@ build completeness checker which relies on the report.
 
 Upstream-Status: Inappropriate [oe-core specific]
 Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+
 ---
  setup.py | 4 ++++
  1 file changed, 4 insertions(+)
 
 diff --git a/setup.py b/setup.py
-index 4b53668..0097643 100644
+index 7691258..ec3f2a4 100644
 --- a/setup.py
 +++ b/setup.py
-@@ -365,6 +365,10 @@ class PyBuildExt(build_ext):
+@@ -408,6 +408,10 @@ class PyBuildExt(build_ext):
                  print("%-*s   %-*s   %-*s" % (longest, e, longest, f,
                                                longest, g))
  
 +        # There is no need to report missing module dependencies,
 +        # if the modules have been disabled in the first place.
-+        missing = list(set(missing) - set(sysconf_dis))
++        self.missing = list(set(self.missing) - set(sysconf_dis))
 +
-         if missing:
+         if self.missing:
              print()
              print("Python build finished successfully!")
diff --git a/meta/recipes-devtools/python/python3/12-distutils-prefix-is-inside-staging-area.patch b/meta/recipes-devtools/python/python3/12-distutils-prefix-is-inside-staging-area.patch
index d49604ba4d9..219b3551b8b 100644
--- a/meta/recipes-devtools/python/python3/12-distutils-prefix-is-inside-staging-area.patch
+++ b/meta/recipes-devtools/python/python3/12-distutils-prefix-is-inside-staging-area.patch
@@ -1,4 +1,4 @@
-From a274ba778838824efcacaba57c415b7262f779ec Mon Sep 17 00:00:00 2001
+From 93b2c26467b0ea9a18c178e4e1371d52e917a68b Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Tue, 14 May 2013 15:00:26 -0700
 Subject: [PATCH] python3: Add target and native recipes
diff --git a/meta/recipes-devtools/python/python3/avoid_warning_about_tkinter.patch b/meta/recipes-devtools/python/python3/avoid_warning_about_tkinter.patch
index 24e67b4ca14..184540e794c 100644
--- a/meta/recipes-devtools/python/python3/avoid_warning_about_tkinter.patch
+++ b/meta/recipes-devtools/python/python3/avoid_warning_about_tkinter.patch
@@ -1,4 +1,4 @@
-From fead48c8b501a8d7c3db21df2e599f90f38f11d3 Mon Sep 17 00:00:00 2001
+From ba7202700578d435b07cfdfb7b57e83185752800 Mon Sep 17 00:00:00 2001
 From: Andrei Gherzan <andrei@gherzan.ro>
 Date: Mon, 28 Jan 2019 15:57:54 +0000
 Subject: [PATCH] _tkinter module needs tk module along with tcl. tk is not yet
@@ -11,26 +11,21 @@ Also simply disable the tk module since its not in DEPENDS.
 Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
 
 ---
- setup.py | 8 +++++---
- 1 file changed, 5 insertions(+), 3 deletions(-)
+ setup.py | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
 
 diff --git a/setup.py b/setup.py
-index fbec00d..b7a36a6 100644
+index ab18ff0..7691258 100644
 --- a/setup.py
 +++ b/setup.py
-@@ -1623,10 +1623,12 @@ class PyBuildExt(build_ext):
-         self.extensions.extend(exts)
+@@ -1706,8 +1706,8 @@ class PyBuildExt(build_ext):
+         self.detect_decimal()
+         self.detect_ctypes()
+         self.detect_multiprocessing()
+-        if not self.detect_tkinter():
+-            self.missing.append('_tkinter')
++#        if not self.detect_tkinter():
++#            self.missing.append('_tkinter')
+         self.detect_uuid()
  
-         # Call the method for detecting whether _tkinter can be compiled
--        self.detect_tkinter(inc_dirs, lib_dirs)
-+        # self.detect_tkinter(inc_dirs, lib_dirs)
- 
--        if '_tkinter' not in [e.name for e in self.extensions]:
--            missing.append('_tkinter')
-+        # tkinter module will not be avalaible as yocto
-+        # doesn't have tk integrated (yet)
-+        #if '_tkinter' not in [e.name for e in self.extensions]:
-+        #    missing.append('_tkinter')
- 
-         # Build the _uuid module if possible
-         uuid_incs = find_file("uuid.h", inc_dirs, ["/usr/include/uuid"])
+ ##         # Uncomment these lines if you want to play with xxmodule.c
diff --git a/meta/recipes-devtools/python/python3/python-config.patch b/meta/recipes-devtools/python/python3/python-config.patch
index f23b8b7df06..c8a8f3d4aa3 100644
--- a/meta/recipes-devtools/python/python3/python-config.patch
+++ b/meta/recipes-devtools/python/python3/python-config.patch
@@ -1,4 +1,7 @@
-python-config: Revert to using distutils.sysconfig
+From 07df0ae0d70cba6d1847fe1c24a71063930bec60 Mon Sep 17 00:00:00 2001
+From: Tyler Hall <tylerwhall@gmail.com>
+Date: Sun, 4 May 2014 20:06:43 -0400
+Subject: [PATCH] python-config: Revert to using distutils.sysconfig
 
 The newer sysconfig module shares some code with distutils.sysconfig, but the same modifications as in
 
@@ -12,11 +15,16 @@ Upstream-Status: Inappropriate [Embedded Specific]
 
 Signed-off-by: Tyler Hall <tylerwhall@gmail.com>
 :
-Index: Python-3.3.3/Misc/python-config.in
-===================================================================
---- Python-3.3.3.orig/Misc/python-config.in
-+++ Python-3.3.3/Misc/python-config.in
-@@ -4,7 +4,7 @@
+
+---
+ Misc/python-config.in | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/Misc/python-config.in b/Misc/python-config.in
+index 727c4a8..c702829 100644
+--- a/Misc/python-config.in
++++ b/Misc/python-config.in
+@@ -6,7 +6,7 @@
  import getopt
  import os
  import sys
@@ -24,8 +32,8 @@ Index: Python-3.3.3/Misc/python-config.in
 +from distutils import sysconfig
  
  valid_opts = ['prefix', 'exec-prefix', 'includes', 'libs', 'cflags',
-               'ldflags', 'extension-suffix', 'help', 'abiflags', 'configdir']
-@@ -32,14 +32,14 @@ if '--help' in opt_flags:
+               'ldflags', 'extension-suffix', 'help', 'abiflags', 'configdir',
+@@ -35,14 +35,14 @@ if '--help' in opt_flags:
  
  for opt in opt_flags:
      if opt == '--prefix':
diff --git a/meta/recipes-devtools/python/python3/python3-manifest.json b/meta/recipes-devtools/python/python3/python3-manifest.json
index dba92b0e396..cbfa8d59d30 100644
--- a/meta/recipes-devtools/python/python3/python3-manifest.json
+++ b/meta/recipes-devtools/python/python3/python3-manifest.json
@@ -122,7 +122,8 @@
             "logging",
             "netclient",
             "numbers",
-            "stringold"
+            "stringold",
+            "typing"
         ],
         "files": [
             "${libdir}/python${PYTHON_MAJMIN}/asyncio",
@@ -182,26 +183,15 @@
     "compression": {
         "summary": "Python high-level compression support",
         "rdepends": [
-            "core",
-            "shell",
-            "unixadmin"
+            "core"
         ],
         "files": [
-            "${libdir}/python${PYTHON_MAJMIN}/_compression.py",
-            "${libdir}/python${PYTHON_MAJMIN}/bz2.py",
             "${libdir}/python${PYTHON_MAJMIN}/gzip.py",
-            "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_bz2.*.so",
-            "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_lzma.*.so",
-            "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/zlib.*.so",
-            "${libdir}/python${PYTHON_MAJMIN}/lzma.py",
             "${libdir}/python${PYTHON_MAJMIN}/tarfile.py",
             "${libdir}/python${PYTHON_MAJMIN}/zipfile.py"
         ],
         "cached": [
-            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/_compression.*.pyc",
-            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/bz2.*.pyc",
             "${libdir}/python${PYTHON_MAJMIN}/__pycache__/gzip.*.pyc",
-            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/lzma.*.pyc",
             "${libdir}/python${PYTHON_MAJMIN}/__pycache__/tarfile.*.pyc",
             "${libdir}/python${PYTHON_MAJMIN}/__pycache__/zipfile.*.pyc"
         ]
@@ -210,12 +200,10 @@
         "summary": "Python interpreter and core modules",
         "rdepends": [],
         "files": [
-            "${bindir}/python3",
             "${bindir}/python${PYTHON_MAJMIN}",
             "${bindir}/python${PYTHON_MAJMIN}.real",
-            "${bindir}/python${PYTHON_BINABI}",
-            "${includedir}/python${PYTHON_BINABI}/pyconfig*.h",
-            "${prefix}/lib/python${PYTHON_MAJMIN}/config*/*[!.a]",
+            "${bindir}/python3",
+            "${includedir}/python${PYTHON_MAJMIN}/pyconfig*.h",
             "${libdir}/python${PYTHON_MAJMIN}/UserDict.py",
             "${libdir}/python${PYTHON_MAJMIN}/UserList.py",
             "${libdir}/python${PYTHON_MAJMIN}/UserString.py",
@@ -223,6 +211,7 @@
             "${libdir}/python${PYTHON_MAJMIN}/_abcoll.py",
             "${libdir}/python${PYTHON_MAJMIN}/_bootlocale.py",
             "${libdir}/python${PYTHON_MAJMIN}/_collections_abc.py",
+            "${libdir}/python${PYTHON_MAJMIN}/_compression.py",
             "${libdir}/python${PYTHON_MAJMIN}/_markupbase.py",
             "${libdir}/python${PYTHON_MAJMIN}/_sitebuiltins.py",
             "${libdir}/python${PYTHON_MAJMIN}/_sysconfigdata*.py",
@@ -231,6 +220,7 @@
             "${libdir}/python${PYTHON_MAJMIN}/argparse.py",
             "${libdir}/python${PYTHON_MAJMIN}/ast.py",
             "${libdir}/python${PYTHON_MAJMIN}/bisect.py",
+            "${libdir}/python${PYTHON_MAJMIN}/bz2.py",
             "${libdir}/python${PYTHON_MAJMIN}/code.py",
             "${libdir}/python${PYTHON_MAJMIN}/codecs.py",
             "${libdir}/python${PYTHON_MAJMIN}/codeop.py",
@@ -247,6 +237,7 @@
             "${libdir}/python${PYTHON_MAJMIN}/encodings/latin_1.py",
             "${libdir}/python${PYTHON_MAJMIN}/encodings/utf_8.py",
             "${libdir}/python${PYTHON_MAJMIN}/enum.py",
+            "${libdir}/python${PYTHON_MAJMIN}/fnmatch.py",
             "${libdir}/python${PYTHON_MAJMIN}/functools.py",
             "${libdir}/python${PYTHON_MAJMIN}/genericpath.py",
             "${libdir}/python${PYTHON_MAJMIN}/getopt.py",
@@ -267,13 +258,16 @@
             "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/__pycache__/time.*.so",
             "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/__pycache__/xreadlines.*.so",
             "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_bisect.*.so",
+            "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_bz2.*.so",
             "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_csv.*.so",
             "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_heapq.*.so",
+            "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_lzma.*.so",
             "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_opcode.*.so",
             "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_posixsubprocess.*.so",
             "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_struct.*.so",
             "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/array.*.so",
             "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/binascii.*.so",
+            "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/grp.*.so",
             "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/math.*.so",
             "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/parser.*.so",
             "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/readline.*.so",
@@ -281,14 +275,17 @@
             "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/time.*.so",
             "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/unicodedata.*.so",
             "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/xreadlines.*.so",
+            "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/zlib.*.so",
             "${libdir}/python${PYTHON_MAJMIN}/linecache.py",
             "${libdir}/python${PYTHON_MAJMIN}/locale.py",
+            "${libdir}/python${PYTHON_MAJMIN}/lzma.py",
             "${libdir}/python${PYTHON_MAJMIN}/new.py",
             "${libdir}/python${PYTHON_MAJMIN}/ntpath.py",
             "${libdir}/python${PYTHON_MAJMIN}/opcode.py",
             "${libdir}/python${PYTHON_MAJMIN}/operator.py",
             "${libdir}/python${PYTHON_MAJMIN}/optparse.py",
             "${libdir}/python${PYTHON_MAJMIN}/os.py",
+            "${libdir}/python${PYTHON_MAJMIN}/pkgutil.py",
             "${libdir}/python${PYTHON_MAJMIN}/platform.py",
             "${libdir}/python${PYTHON_MAJMIN}/posixpath.py",
             "${libdir}/python${PYTHON_MAJMIN}/re.py",
@@ -296,6 +293,7 @@
             "${libdir}/python${PYTHON_MAJMIN}/rlcompleter.py",
             "${libdir}/python${PYTHON_MAJMIN}/runpy.py",
             "${libdir}/python${PYTHON_MAJMIN}/selectors.py",
+            "${libdir}/python${PYTHON_MAJMIN}/shutil.py",
             "${libdir}/python${PYTHON_MAJMIN}/signal.py",
             "${libdir}/python${PYTHON_MAJMIN}/site.py",
             "${libdir}/python${PYTHON_MAJMIN}/sitecustomize.py",
@@ -315,12 +313,14 @@
             "${libdir}/python${PYTHON_MAJMIN}/traceback.py",
             "${libdir}/python${PYTHON_MAJMIN}/types.py",
             "${libdir}/python${PYTHON_MAJMIN}/warnings.py",
-            "${libdir}/python${PYTHON_MAJMIN}/weakref.py"
+            "${libdir}/python${PYTHON_MAJMIN}/weakref.py",
+            "${prefix}/lib/python${PYTHON_MAJMIN}/config*/*[!.a]"
         ],
         "cached": [
             "${libdir}/python${PYTHON_MAJMIN}/__pycache__/__future__.*.pyc",
             "${libdir}/python${PYTHON_MAJMIN}/__pycache__/_bootlocale.*.pyc",
             "${libdir}/python${PYTHON_MAJMIN}/__pycache__/_collections_abc.*.pyc",
+            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/_compression.*.pyc",
             "${libdir}/python${PYTHON_MAJMIN}/__pycache__/_markupbase.*.pyc",
             "${libdir}/python${PYTHON_MAJMIN}/__pycache__/_sitebuiltins.*.pyc",
             "${libdir}/python${PYTHON_MAJMIN}/__pycache__/_sysconfigdata.*.pyc",
@@ -329,6 +329,7 @@
             "${libdir}/python${PYTHON_MAJMIN}/__pycache__/argparse.*.pyc",
             "${libdir}/python${PYTHON_MAJMIN}/__pycache__/ast.*.pyc",
             "${libdir}/python${PYTHON_MAJMIN}/__pycache__/bisect.*.pyc",
+            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/bz2.*.pyc",
             "${libdir}/python${PYTHON_MAJMIN}/__pycache__/code.*.pyc",
             "${libdir}/python${PYTHON_MAJMIN}/__pycache__/codecs.*.pyc",
             "${libdir}/python${PYTHON_MAJMIN}/__pycache__/codeop.*.pyc",
@@ -339,6 +340,7 @@
             "${libdir}/python${PYTHON_MAJMIN}/__pycache__/csv.*.pyc",
             "${libdir}/python${PYTHON_MAJMIN}/__pycache__/dis.*.pyc",
             "${libdir}/python${PYTHON_MAJMIN}/__pycache__/enum.*.pyc",
+            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/fnmatch.*.pyc",
             "${libdir}/python${PYTHON_MAJMIN}/__pycache__/functools.*.pyc",
             "${libdir}/python${PYTHON_MAJMIN}/__pycache__/genericpath.*.pyc",
             "${libdir}/python${PYTHON_MAJMIN}/__pycache__/getopt.*.pyc",
@@ -350,10 +352,13 @@
             "${libdir}/python${PYTHON_MAJMIN}/__pycache__/keyword.*.pyc",
             "${libdir}/python${PYTHON_MAJMIN}/__pycache__/linecache.*.pyc",
             "${libdir}/python${PYTHON_MAJMIN}/__pycache__/locale.*.pyc",
+            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/lzma.*.pyc",
+            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/ntpath.*.pyc",
             "${libdir}/python${PYTHON_MAJMIN}/__pycache__/opcode.*.pyc",
             "${libdir}/python${PYTHON_MAJMIN}/__pycache__/operator.*.pyc",
             "${libdir}/python${PYTHON_MAJMIN}/__pycache__/optparse.*.pyc",
             "${libdir}/python${PYTHON_MAJMIN}/__pycache__/os.*.pyc",
+            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/pkgutil.*.pyc",
             "${libdir}/python${PYTHON_MAJMIN}/__pycache__/platform.*.pyc",
             "${libdir}/python${PYTHON_MAJMIN}/__pycache__/posixpath.*.pyc",
             "${libdir}/python${PYTHON_MAJMIN}/__pycache__/re.*.pyc",
@@ -361,6 +366,7 @@
             "${libdir}/python${PYTHON_MAJMIN}/__pycache__/rlcompleter.*.pyc",
             "${libdir}/python${PYTHON_MAJMIN}/__pycache__/runpy.*.pyc",
             "${libdir}/python${PYTHON_MAJMIN}/__pycache__/selectors.*.pyc",
+            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/shutil.*.pyc",
             "${libdir}/python${PYTHON_MAJMIN}/__pycache__/signal.*.pyc",
             "${libdir}/python${PYTHON_MAJMIN}/__pycache__/site.*.pyc",
             "${libdir}/python${PYTHON_MAJMIN}/__pycache__/sre_compile.*.pyc",
@@ -405,10 +411,10 @@
             "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_blake2.*.so",
             "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_crypt.*.so",
             "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_hashlib.*.so",
+            "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_md5.*.so",
+            "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_sha1.*.so",
             "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_sha256.*.so",
             "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_sha3.*.so",
-            "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_sha1.*.so",
-            "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_md5.*.so",
             "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_sha512.*.so"
         ],
         "cached": [
@@ -519,14 +525,12 @@
         ]
     },
     "distutils-windows": {
-        "cached": [],
-        "files": [
-            "${libdir}/python${PYTHON_MAJMIN}/distutils/command/wininst-*.exe"
-        ],
+        "summary": "Python distribution utilities (Windows installer stubs)",
         "rdepends": [
-            "distutils"
+            "core"
         ],
-        "summary": "Python distribution utilities (Windows installer stubs)"
+        "files": [],
+        "cached": []
     },
     "distutils": {
         "summary": "Python Distribution Utilities",
@@ -541,13 +545,19 @@
     "doctest": {
         "summary": "Python framework for running examples in docstrings",
         "rdepends": [
+            "asyncio",
+            "compression",
             "core",
             "debugger",
             "difflib",
+            "io",
             "logging",
+            "netclient",
+            "numbers",
             "pprint",
             "shell",
             "stringold",
+            "typing",
             "unittest"
         ],
         "files": [
@@ -641,8 +651,7 @@
             "crypt",
             "math",
             "netclient",
-            "shell",
-            "unixadmin"
+            "shell"
         ],
         "files": [
             "${libdir}/python${PYTHON_MAJMIN}/_pyio.py",
@@ -875,9 +884,7 @@
             "math",
             "mime",
             "netclient",
-            "shell",
-            "stringold",
-            "unixadmin"
+            "stringold"
         ],
         "files": [
             "${libdir}/python${PYTHON_MAJMIN}/cgi.py",
@@ -934,12 +941,8 @@
         "rdepends": [
             "core"
         ],
-        "files": [
-            "${libdir}/python${PYTHON_MAJMIN}/pkgutil.py"
-        ],
-        "cached": [
-            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/pkgutil.*.pyc"
-        ]
+        "files": [],
+        "cached": []
     },
     "plistlib": {
         "summary": "Generate and parse Mac OS X .plist files",
@@ -988,8 +991,7 @@
         "summary": "Python interactive help support",
         "rdepends": [
             "core",
-            "netclient",
-            "pkgutil"
+            "netclient"
         ],
         "files": [
             "${bindir}/pydoc*",
@@ -1015,22 +1017,17 @@
         "rdepends": [
             "compression",
             "core",
-            "stringold",
-            "unixadmin"
+            "stringold"
         ],
         "files": [
             "${libdir}/python${PYTHON_MAJMIN}/cmd.py",
-            "${libdir}/python${PYTHON_MAJMIN}/fnmatch.py",
             "${libdir}/python${PYTHON_MAJMIN}/glob.py",
-            "${libdir}/python${PYTHON_MAJMIN}/shlex.py",
-            "${libdir}/python${PYTHON_MAJMIN}/shutil.py"
+            "${libdir}/python${PYTHON_MAJMIN}/shlex.py"
         ],
         "cached": [
             "${libdir}/python${PYTHON_MAJMIN}/__pycache__/cmd.*.pyc",
-            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/fnmatch.*.pyc",
             "${libdir}/python${PYTHON_MAJMIN}/__pycache__/glob.*.pyc",
-            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/shlex.*.pyc",
-            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/shutil.*.pyc"
+            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/shlex.*.pyc"
         ]
     },
     "smtpd": {
@@ -1130,7 +1127,6 @@
             "core"
         ],
         "files": [
-            "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_tkinter.*.so",
             "${libdir}/python${PYTHON_MAJMIN}/tkinter"
         ],
         "cached": []
@@ -1150,12 +1146,17 @@
     "unittest": {
         "summary": "Python unit testing framework",
         "rdepends": [
+            "asyncio",
+            "compression",
             "core",
             "difflib",
+            "io",
             "logging",
+            "netclient",
+            "numbers",
             "pprint",
-            "shell",
-            "stringold"
+            "stringold",
+            "typing"
         ],
         "files": [
             "${libdir}/python${PYTHON_MAJMIN}/unittest",
@@ -1172,7 +1173,6 @@
         ],
         "files": [
             "${libdir}/python${PYTHON_MAJMIN}/getpass.py",
-            "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/grp.*.so",
             "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/nis.*.so"
         ],
         "cached": [
@@ -1185,9 +1185,7 @@
             "compression",
             "core",
             "logging",
-            "shell",
-            "stringold",
-            "unixadmin"
+            "stringold"
         ],
         "files": [
             "${bindir}/pyvenv*",
diff --git a/meta/recipes-devtools/python/python3_3.7.5.bb b/meta/recipes-devtools/python/python3_3.8.0.bb
similarity index 91%
rename from meta/recipes-devtools/python/python3_3.7.5.bb
rename to meta/recipes-devtools/python/python3_3.8.0.bb
index 57eaaea5e7c..33103278164 100644
--- a/meta/recipes-devtools/python/python3_3.7.5.bb
+++ b/meta/recipes-devtools/python/python3_3.8.0.bb
@@ -19,8 +19,6 @@ SRC_URI = "http://www.python.org/ftp/python/${PV}/Python-${PV}.tar.xz \
            file://0001-Makefile.pre-use-qemu-wrapper-when-gathering-profile.patch \
            file://0001-Do-not-hardcode-lib-as-location-for-site-packages-an.patch \
            file://0001-python3-use-cc_basename-to-replace-CC-for-checking-c.patch \
-           file://0002-Don-t-do-runtime-test-to-get-float-byte-order.patch \
-           file://0003-setup.py-pass-missing-libraries-to-Extension-for-mul.patch \
            file://0001-Lib-sysconfig.py-fix-another-place-where-lib-is-hard.patch \
            file://0001-Makefile-fix-Issue36464-parallel-build-race-problem.patch \
            file://0001-bpo-36852-proper-detection-of-mips-architecture-for-.patch \
@@ -35,20 +33,16 @@ SRC_URI_append_class-native = " \
            file://0001-distutils-sysconfig-append-STAGING_LIBDIR-python-sys.patch \
            file://12-distutils-prefix-is-inside-staging-area.patch \
            "
-SRC_URI_append_class-nativesdk = " \
-           file://0001-main.c-if-OEPYTHON3HOME-is-set-use-instead-of-PYTHON.patch \
-           "
 
-SRC_URI[md5sum] = "08ed8030b1183107c48f2092e79a87e2"
-SRC_URI[sha256sum] = "e85a76ea9f3d6c485ec1780fca4e500725a4a7bbc63c78ebc44170de9b619d94"
+SRC_URI[md5sum] = "dbac8df9d8b9edc678d0f4cacdb7dbb0"
+SRC_URI[sha256sum] = "b356244e13fb5491da890b35b13b2118c3122977c2cd825e3eb6e7d462030d84"
 
 # exclude pre-releases for both python 2.x and 3.x
 UPSTREAM_CHECK_REGEX = "[Pp]ython-(?P<pver>\d+(\.\d+)+).tar"
 
 CVE_PRODUCT = "python"
 
-PYTHON_MAJMIN = "3.7"
-PYTHON_BINABI = "${PYTHON_MAJMIN}m"
+PYTHON_MAJMIN = "3.8"
 
 S = "${WORKDIR}/Python-${PV}"
 
@@ -59,8 +53,8 @@ inherit autotools pkgconfig qemu ptest multilib_header update-alternatives
 MULTILIB_SUFFIX = "${@d.getVar('base_libdir',1).split('/')[-1]}"
 
 ALTERNATIVE_${PN}-dev = "python3-config"
-ALTERNATIVE_LINK_NAME[python3-config] = "${bindir}/python${PYTHON_BINABI}-config"
-ALTERNATIVE_TARGET[python3-config] = "${bindir}/python${PYTHON_BINABI}-config-${MULTILIB_SUFFIX}"
+ALTERNATIVE_LINK_NAME[python3-config] = "${bindir}/python${PYTHON_MAJMIN}-config"
+ALTERNATIVE_TARGET[python3-config] = "${bindir}/python${PYTHON_MAJMIN}-config-${MULTILIB_SUFFIX}"
 
 
 DEPENDS = "bzip2-replacement-native libffi bzip2 openssl sqlite3 zlib virtual/libintl xz virtual/crypt util-linux libtirpc libnsl2"
@@ -131,7 +125,7 @@ do_install_prepend() {
 }
 
 do_install_append_class-target() {
-        oe_multilib_header python${PYTHON_BINABI}/pyconfig.h
+        oe_multilib_header python${PYTHON_MAJMIN}/pyconfig.h
 }
 
 do_install_append_class-native() {
@@ -161,7 +155,7 @@ do_install_append() {
 }
 
 do_install_append_class-nativesdk () {
-    create_wrapper ${D}${bindir}/python${PYTHON_MAJMIN} OEPYTHON3HOME='${prefix}' TERMINFO_DIRS='${sysconfdir}/terminfo:/etc/terminfo:/usr/share/terminfo:/usr/share/misc/terminfo:/lib/terminfo' PYTHONNOUSERSITE='1'
+    create_wrapper ${D}${bindir}/python${PYTHON_MAJMIN} TERMINFO_DIRS='${sysconfdir}/terminfo:/etc/terminfo:/usr/share/terminfo:/usr/share/misc/terminfo:/lib/terminfo' PYTHONNOUSERSITE='1'
 }
 
 SSTATE_SCAN_FILES += "Makefile _sysconfigdata.py"
@@ -177,7 +171,7 @@ py_package_preprocess () {
                 -e 's:${BASE_WORKDIR}/${MULTIMACH_TARGET_SYS}::g' \
                 ${PKGD}/${prefix}/lib/python${PYTHON_MAJMIN}/config-${PYTHON_MAJMIN}${PYTHON_ABI}*/Makefile \
                 ${PKGD}/${libdir}/python${PYTHON_MAJMIN}/_sysconfigdata*.py \
-                ${PKGD}/${bindir}/python${PYTHON_BINABI}-config
+                ${PKGD}/${bindir}/python${PYTHON_MAJMIN}-config
 
         # Reformat _sysconfigdata after modifying it so that it remains
         # reproducible
@@ -196,7 +190,7 @@ py_package_preprocess () {
              -c "from py_compile import compile; compile('$sysconfigfile', optimize=2)"
         cd -
 
-        mv ${PKGD}/${bindir}/python${PYTHON_BINABI}-config ${PKGD}/${bindir}/python${PYTHON_BINABI}-config-${MULTILIB_SUFFIX}
+        mv ${PKGD}/${bindir}/python${PYTHON_MAJMIN}-config ${PKGD}/${bindir}/python${PYTHON_MAJMIN}-config-${MULTILIB_SUFFIX}
         
         #Remove the unneeded copy of target sysconfig data
         rm -rf ${PKGD}/${libdir}/python-sysconfigdata
@@ -278,6 +272,7 @@ python(){
     packages = newpackages + packages
     d.setVar('PACKAGES', ' '.join(packages))
     d.setVar('ALLOW_EMPTY_${PN}-modules', '1')
+    d.setVar('ALLOW_EMPTY_${PN}-pkgutil', '1')
 }
 
 # Files needed to create a new manifest
@@ -322,7 +317,7 @@ RPROVIDES_${PN}-venv += "python3-pyvenv"
 # package libpython3
 PACKAGES =+ "libpython3 libpython3-staticdev"
 FILES_libpython3 = "${libdir}/libpython*.so.*"
-FILES_libpython3-staticdev += "${prefix}/lib/python${PYTHON_MAJMIN}/config-${PYTHON_BINABI}-*/libpython${PYTHON_BINABI}.a"
+FILES_libpython3-staticdev += "${prefix}/lib/python${PYTHON_MAJMIN}/config-${PYTHON_MAJMIN}-*/libpython${PYTHON_MAJMIN}.a"
 INSANE_SKIP_${PN}-dev += "dev-elf"
 
 # catch all the rest (unsorted)
@@ -341,3 +336,5 @@ RDEPENDS_${PN}-ptest_append_libc-glibc = " locale-base-tr-tr.iso-8859-9"
 RDEPENDS_${PN}-tkinter += "${@bb.utils.contains('PACKAGECONFIG', 'tk', 'tk tk-lib', '', d)}"
 RDEPENDS_${PN}-dev = ""
 
+RDEPENDS_${PN}-tests_append_class-target = " bash"
+RDEPENDS_${PN}-tests_append_class-nativesdk = " bash"
-- 
2.17.1



^ permalink raw reply related	[flat|nested] 62+ messages in thread

* [PATCH 07/30] gstreamer1.0-python: add a patch to fix python 3.8 builds
  2019-12-12 18:14 [PATCH 01/30] rpm: upgrade to 4.15.1 Alexander Kanavin
                   ` (4 preceding siblings ...)
  2019-12-12 18:14 ` [PATCH 06/30] python3: update to 3.8.0 Alexander Kanavin
@ 2019-12-12 18:14 ` Alexander Kanavin
  2019-12-15  5:21   ` Khem Raj
  2019-12-12 18:14 ` [PATCH 08/30] shadow: update 4.6 -> 4.8 Alexander Kanavin
                   ` (23 subsequent siblings)
  29 siblings, 1 reply; 62+ messages in thread
From: Alexander Kanavin @ 2019-12-12 18:14 UTC (permalink / raw)
  To: openembedded-core

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
 ...son.build-fix-builds-with-python-3.8.patch | 24 +++++++++++++++++++
 .../gstreamer/gstreamer1.0-python_1.16.1.bb   |  4 +++-
 2 files changed, 27 insertions(+), 1 deletion(-)
 create mode 100644 meta/recipes-multimedia/gstreamer/gstreamer1.0-python/0001-meson.build-fix-builds-with-python-3.8.patch

diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-python/0001-meson.build-fix-builds-with-python-3.8.patch b/meta/recipes-multimedia/gstreamer/gstreamer1.0-python/0001-meson.build-fix-builds-with-python-3.8.patch
new file mode 100644
index 00000000000..053108ad50b
--- /dev/null
+++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-python/0001-meson.build-fix-builds-with-python-3.8.patch
@@ -0,0 +1,24 @@
+From 61cfd1b49dc82baf14bb36d88b6c5be7b8c3d23a Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Mon, 2 Dec 2019 18:16:41 +0100
+Subject: [PATCH] meson.build: fix builds with python 3.8
+
+Upstream-Status: Submitted [https://gitlab.freedesktop.org/gstreamer/gst-python/merge_requests/14]
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ meson.build | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/meson.build b/meson.build
+index 1da81d5..3e0db38 100644
+--- a/meson.build
++++ b/meson.build
+@@ -24,7 +24,7 @@ pygobject_dep = dependency('pygobject-3.0', fallback: ['pygobject', 'pygobject_d
+ 
+ pymod = import('python')
+ python = pymod.find_installation(get_option('python'))
+-python_dep = python.dependency(required : true)
++python_dep = dependency('python3-embed', required : true)
+ 
+ python_abi_flags = python.get_variable('ABIFLAGS', '')
+ pylib_loc = get_option('libpython-dir')
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-python_1.16.1.bb b/meta/recipes-multimedia/gstreamer/gstreamer1.0-python_1.16.1.bb
index b770ec060e1..0382360ec26 100644
--- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-python_1.16.1.bb
+++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-python_1.16.1.bb
@@ -5,7 +5,9 @@ SECTION = "multimedia"
 LICENSE = "LGPLv2.1"
 LIC_FILES_CHKSUM = "file://COPYING;md5=c34deae4e395ca07e725ab0076a5f740"
 
-SRC_URI = "https://gstreamer.freedesktop.org/src/${PNREAL}/${PNREAL}-${PV}.tar.xz"
+SRC_URI = "https://gstreamer.freedesktop.org/src/${PNREAL}/${PNREAL}-${PV}.tar.xz \
+           file://0001-meson.build-fix-builds-with-python-3.8.patch \
+           "
 SRC_URI[md5sum] = "499645fbd1790c5845c02a3998dccc1b"
 SRC_URI[sha256sum] = "b469c8955126f41b8ce0bf689b7029f182cd305f422b3a8df35b780bd8347489"
 
-- 
2.17.1



^ permalink raw reply related	[flat|nested] 62+ messages in thread

* [PATCH 08/30] shadow: update 4.6 -> 4.8
  2019-12-12 18:14 [PATCH 01/30] rpm: upgrade to 4.15.1 Alexander Kanavin
                   ` (5 preceding siblings ...)
  2019-12-12 18:14 ` [PATCH 07/30] gstreamer1.0-python: add a patch to fix python 3.8 builds Alexander Kanavin
@ 2019-12-12 18:14 ` Alexander Kanavin
  2019-12-17  8:51   ` Richard Purdie
  2019-12-12 18:14 ` [PATCH 09/30] sysklogd: update to 2.0.3 Alexander Kanavin
                   ` (22 subsequent siblings)
  29 siblings, 1 reply; 62+ messages in thread
From: Alexander Kanavin @ 2019-12-12 18:14 UTC (permalink / raw)
  To: openembedded-core

Drop two backports.

Remove 0001-useradd.c-create-parent-directories-when-necessary.patch
as upstream has addressed the issue:
https://github.com/shadow-maint/shadow/commit/b3b6d9d77c1d18b98670b97157777bb74092cd69

Rebase the rest of the paches.

Add a patch to remove the check for validity of login shells
which does not work in our environment.

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
 ...01-Disable-use-of-syslog-for-sysroot.patch |  18 ++-
 ...eck-for-validity-of-shell-executable.patch |  29 +++++
 ...chg-shadow-field-reproducible-re.-71.patch |  89 --------------
 ...ure.ac-fix-configure-error-with-dash.patch |  36 ------
 ...te-parent-directories-when-necessary.patch | 116 ------------------
 ...-for-setting-password-in-clear-text.patch} | 101 +++++++--------
 ...nexpected-open-failure-in-chroot-env.patch |  15 ++-
 .../files/shadow-relaxed-usernames.patch      |  51 +++++---
 meta/recipes-extended/shadow/shadow.inc       |  10 +-
 .../shadow/{shadow_4.6.bb => shadow_4.8.bb}   |   0
 10 files changed, 132 insertions(+), 333 deletions(-)
 create mode 100644 meta/recipes-extended/shadow/files/0001-Do-not-check-for-validity-of-shell-executable.patch
 delete mode 100644 meta/recipes-extended/shadow/files/0001-Make-the-sp_lstchg-shadow-field-reproducible-re.-71.patch
 delete mode 100644 meta/recipes-extended/shadow/files/0001-configure.ac-fix-configure-error-with-dash.patch
 delete mode 100644 meta/recipes-extended/shadow/files/0001-useradd.c-create-parent-directories-when-necessary.patch
 rename meta/recipes-extended/shadow/files/{allow-for-setting-password-in-clear-text.patch => 0002-Allow-for-setting-password-in-clear-text.patch} (81%)
 rename meta/recipes-extended/shadow/{shadow_4.6.bb => shadow_4.8.bb} (100%)

diff --git a/meta/recipes-extended/shadow/files/0001-Disable-use-of-syslog-for-sysroot.patch b/meta/recipes-extended/shadow/files/0001-Disable-use-of-syslog-for-sysroot.patch
index aac2d42b12a..ab317b9aa03 100644
--- a/meta/recipes-extended/shadow/files/0001-Disable-use-of-syslog-for-sysroot.patch
+++ b/meta/recipes-extended/shadow/files/0001-Disable-use-of-syslog-for-sysroot.patch
@@ -1,4 +1,4 @@
-From 8cf3454d567f77233023be49a39a33e9f0836f89 Mon Sep 17 00:00:00 2001
+From fa2d9453656641002802d8165e80adb9e6a729d2 Mon Sep 17 00:00:00 2001
 From: Scott Garman <scott.a.garman@intel.com>
 Date: Thu, 14 Apr 2016 12:28:57 +0200
 Subject: [PATCH] Disable use of syslog for sysroot
@@ -12,6 +12,7 @@ Upstream-Status: Inappropriate [disable feature]
 Signed-off-by: Scott Garman <scott.a.garman@intel.com>
 Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
 Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+
 ---
  src/groupadd.c  | 3 +++
  src/groupdel.c  | 3 +++
@@ -23,7 +24,7 @@ Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
  7 files changed, 21 insertions(+)
 
 diff --git a/src/groupadd.c b/src/groupadd.c
-index 63e1c48..a596c49 100644
+index 2dd8eec..e9c4bb7 100644
 --- a/src/groupadd.c
 +++ b/src/groupadd.c
 @@ -34,6 +34,9 @@
@@ -37,7 +38,7 @@ index 63e1c48..a596c49 100644
  #include <fcntl.h>
  #include <getopt.h>
 diff --git a/src/groupdel.c b/src/groupdel.c
-index 70bed01..ababd81 100644
+index f941a84..5a70056 100644
 --- a/src/groupdel.c
 +++ b/src/groupdel.c
 @@ -34,6 +34,9 @@
@@ -65,7 +66,7 @@ index fc91c8b..2842514 100644
  #include <getopt.h>
  #include <grp.h>
 diff --git a/src/groupmod.c b/src/groupmod.c
-index 72daf2c..8965f9d 100644
+index 1dca5fc..bc14438 100644
 --- a/src/groupmod.c
 +++ b/src/groupmod.c
 @@ -34,6 +34,9 @@
@@ -79,7 +80,7 @@ index 72daf2c..8965f9d 100644
  #include <fcntl.h>
  #include <getopt.h>
 diff --git a/src/useradd.c b/src/useradd.c
-index 3aaf45c..1ab9174 100644
+index 4af0f7c..1b7bf06 100644
 --- a/src/useradd.c
 +++ b/src/useradd.c
 @@ -34,6 +34,9 @@
@@ -93,7 +94,7 @@ index 3aaf45c..1ab9174 100644
  #include <ctype.h>
  #include <errno.h>
 diff --git a/src/userdel.c b/src/userdel.c
-index c8de1d3..24d3ea9 100644
+index cc951e5..153e0be 100644
 --- a/src/userdel.c
 +++ b/src/userdel.c
 @@ -34,6 +34,9 @@
@@ -107,7 +108,7 @@ index c8de1d3..24d3ea9 100644
  #include <errno.h>
  #include <fcntl.h>
 diff --git a/src/usermod.c b/src/usermod.c
-index ccfbb99..24fb60d 100644
+index 05b9871..21c6da9 100644
 --- a/src/usermod.c
 +++ b/src/usermod.c
 @@ -34,6 +34,9 @@
@@ -120,6 +121,3 @@ index ccfbb99..24fb60d 100644
  #include <assert.h>
  #include <ctype.h>
  #include <errno.h>
--- 
-2.11.0
-
diff --git a/meta/recipes-extended/shadow/files/0001-Do-not-check-for-validity-of-shell-executable.patch b/meta/recipes-extended/shadow/files/0001-Do-not-check-for-validity-of-shell-executable.patch
new file mode 100644
index 00000000000..2d15ff0673a
--- /dev/null
+++ b/meta/recipes-extended/shadow/files/0001-Do-not-check-for-validity-of-shell-executable.patch
@@ -0,0 +1,29 @@
+From 0d0aded7307a9f4ee0d299951512acd18b3e029e Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Wed, 4 Dec 2019 19:28:48 +0100
+Subject: [PATCH] Do not check for validity of shell executable.
+
+This kind of check fails when building a rootfs.
+
+Upstream-Status: Inappropriate [oe-core specific]
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ src/useradd.c | 5 +----
+ 1 file changed, 1 insertion(+), 4 deletions(-)
+
+diff --git a/src/useradd.c b/src/useradd.c
+index 4af0f7c..898fe02 100644
+--- a/src/useradd.c
++++ b/src/useradd.c
+@@ -1328,10 +1328,7 @@ static void process_flags (int argc, char **argv)
+ 				if (   ( !VALID (optarg) )
+ 				    || (   ('\0' != optarg[0])
+ 				        && ('/'  != optarg[0])
+-				        && ('*'  != optarg[0]) )
+-				    || (stat(optarg, &st) != 0)
+-				    || (S_ISDIR(st.st_mode))
+-				    || (access(optarg, X_OK) != 0)) {
++				        && ('*'  != optarg[0]) )) {
+ 					fprintf (stderr,
+ 					         _("%s: invalid shell '%s'\n"),
+ 					         Prog, optarg);
diff --git a/meta/recipes-extended/shadow/files/0001-Make-the-sp_lstchg-shadow-field-reproducible-re.-71.patch b/meta/recipes-extended/shadow/files/0001-Make-the-sp_lstchg-shadow-field-reproducible-re.-71.patch
deleted file mode 100644
index de0ba3ebb42..00000000000
--- a/meta/recipes-extended/shadow/files/0001-Make-the-sp_lstchg-shadow-field-reproducible-re.-71.patch
+++ /dev/null
@@ -1,89 +0,0 @@
-From fe34a2a0e44bc80ff213bfd185046a5f10c94997 Mon Sep 17 00:00:00 2001
-From: Chris Lamb <chris@chris-lamb.co.uk>
-Date: Wed, 2 Jan 2019 18:06:16 +0000
-Subject: [PATCH 1/2] Make the sp_lstchg shadow field reproducible (re. #71)
-
-From <https://github.com/shadow-maint/shadow/pull/71>:
-
-```
-The third field in the /etc/shadow file (sp_lstchg) contains the date of
-the last password change expressed as the number of days since Jan 1, 1970.
-As this is a relative time, creating a user today will result in:
-
-username:17238:0:99999:7:::
-whilst creating the same user tomorrow will result in:
-
-username:17239:0:99999:7:::
-This has an impact for the Reproducible Builds[0] project where we aim to
-be independent of as many elements the build environment as possible,
-including the current date.
-
-This patch changes the behaviour to use the SOURCE_DATE_EPOCH[1]
-environment variable (instead of Jan 1, 1970) if valid.
-```
-
-This updated PR adds some missing calls to gettime (). This was originally
-filed by Johannes Schauer in Debian as #917773 [2].
-
-[0] https://reproducible-builds.org/
-[1] https://reproducible-builds.org/specs/source-date-epoch/
-[2] https://bugs.debian.org/917773
-
-Upstream-Status: Backport
-Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
----
- libmisc/pwd2spwd.c | 3 +--
- src/pwck.c         | 2 +-
- src/pwconv.c       | 2 +-
- 3 files changed, 3 insertions(+), 4 deletions(-)
-
-diff --git a/libmisc/pwd2spwd.c b/libmisc/pwd2spwd.c
-index c1b9b29ac873..6799dd50d490 100644
---- a/libmisc/pwd2spwd.c
-+++ b/libmisc/pwd2spwd.c
-@@ -40,7 +40,6 @@
- #include "prototypes.h"
- #include "defines.h"
- #include <pwd.h>
--extern time_t time (time_t *);
- 
- /*
-  * pwd_to_spwd - create entries for new spwd structure
-@@ -66,7 +65,7 @@ struct spwd *pwd_to_spwd (const struct passwd *pw)
- 		 */
- 		sp.sp_min = 0;
- 		sp.sp_max = (10000L * DAY) / SCALE;
--		sp.sp_lstchg = (long) time ((time_t *) 0) / SCALE;
-+		sp.sp_lstchg = (long) gettime () / SCALE;
- 		if (0 == sp.sp_lstchg) {
- 			/* Better disable aging than requiring a password
- 			 * change */
-diff --git a/src/pwck.c b/src/pwck.c
-index 0ffb711efb13..f70071b12500 100644
---- a/src/pwck.c
-+++ b/src/pwck.c
-@@ -609,7 +609,7 @@ static void check_pw_file (int *errors, bool *changed)
- 					sp.sp_inact  = -1;
- 					sp.sp_expire = -1;
- 					sp.sp_flag   = SHADOW_SP_FLAG_UNSET;
--					sp.sp_lstchg = (long) time ((time_t *) 0) / SCALE;
-+					sp.sp_lstchg = (long) gettime () / SCALE;
- 					if (0 == sp.sp_lstchg) {
- 						/* Better disable aging than
- 						 * requiring a password change
-diff --git a/src/pwconv.c b/src/pwconv.c
-index 9c69fa131d8e..f932f266c59c 100644
---- a/src/pwconv.c
-+++ b/src/pwconv.c
-@@ -267,7 +267,7 @@ int main (int argc, char **argv)
- 			spent.sp_flag   = SHADOW_SP_FLAG_UNSET;
- 		}
- 		spent.sp_pwdp = pw->pw_passwd;
--		spent.sp_lstchg = (long) time ((time_t *) 0) / SCALE;
-+		spent.sp_lstchg = (long) gettime () / SCALE;
- 		if (0 == spent.sp_lstchg) {
- 			/* Better disable aging than requiring a password
- 			 * change */
--- 
-2.17.1
-
diff --git a/meta/recipes-extended/shadow/files/0001-configure.ac-fix-configure-error-with-dash.patch b/meta/recipes-extended/shadow/files/0001-configure.ac-fix-configure-error-with-dash.patch
deleted file mode 100644
index a74cbb0c0e7..00000000000
--- a/meta/recipes-extended/shadow/files/0001-configure.ac-fix-configure-error-with-dash.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From 3c52a84ff8775590e7e9da9c0d4408c23494305e Mon Sep 17 00:00:00 2001
-From: Yi Zhao <yi.zhao@windriver.com>
-Date: Mon, 17 Jun 2019 15:36:34 +0800
-Subject: [PATCH] configure.ac: fix configure error with dash
-
-A configure error occurs when /bin/sh -> dash:
-  checking for is_selinux_enabled in -lselinux... yes
-  checking for semanage_connect in -lsemanage... yes
-  configure: 16322: test: yesyes: unexpected operator
-
-Use "=" instead of "==" since dash doesn't support this operator.
-
-Upstream-Status: Backport
-[https://github.com/shadow-maint/shadow/commit/3c52a84ff8775590e7e9da9c0d4408c23494305e]
-
-Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
----
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/configure.ac b/configure.ac
-index 6762556..1907afb 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -500,7 +500,7 @@ if test "$with_selinux" != "no"; then
- 			AC_MSG_ERROR([libsemanage not found])
- 		fi
- 
--		if test "$selinux_lib$semanage_lib" == "yesyes" ; then
-+		if test "$selinux_lib$semanage_lib" = "yesyes" ; then
- 			AC_DEFINE(WITH_SELINUX, 1,
- 			          [Build shadow with SELinux support])
- 			LIBSELINUX="-lselinux"
--- 
-2.7.4
-
diff --git a/meta/recipes-extended/shadow/files/0001-useradd.c-create-parent-directories-when-necessary.patch b/meta/recipes-extended/shadow/files/0001-useradd.c-create-parent-directories-when-necessary.patch
deleted file mode 100644
index faa6f68ebe2..00000000000
--- a/meta/recipes-extended/shadow/files/0001-useradd.c-create-parent-directories-when-necessary.patch
+++ /dev/null
@@ -1,116 +0,0 @@
-Subject: [PATCH] useradd.c: create parent directories when necessary
-
-Upstream-Status: Inappropriate [OE specific]
-
-Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
----
- src/useradd.c | 80 +++++++++++++++++++++++++++++++++++++++--------------------
- 1 file changed, 53 insertions(+), 27 deletions(-)
-
-diff --git a/src/useradd.c b/src/useradd.c
-index 00a3c30..9ecbb58 100644
---- a/src/useradd.c
-+++ b/src/useradd.c
-@@ -2021,6 +2021,35 @@ static void usr_update (void)
- }
- 
- /*
-+ * mkdir_p - create directories, including parent directories when needed
-+ *
-+ * similar to `mkdir -p'
-+ */
-+void mkdir_p(const char *path) {
-+	int len = strlen(path);
-+	char newdir[len + 1];
-+	mode_t mode = 0755;
-+	int i = 0;
-+
-+	if (path[i] == '\0') {
-+		return;
-+	}
-+
-+	/* skip the leading '/' */
-+	i++;
-+
-+	while(path[i] != '\0') {
-+		if (path[i] == '/') {
-+			strncpy(newdir, path, i);
-+			newdir[i] = '\0';
-+			mkdir(newdir, mode);
-+		}
-+		i++;
-+	}
-+	mkdir(path, mode);
-+}
-+
-+/*
-  * create_home - create the user's home directory
-  *
-  *	create_home() creates the user's home directory if it does not
-@@ -2038,39 +2067,36 @@ static void create_home (void)
- 			fail_exit (E_HOMEDIR);
- 		}
- #endif
--		/* XXX - create missing parent directories.  --marekm */
--		if (mkdir (prefix_user_home, 0) != 0) {
--			fprintf (stderr,
--			         _("%s: cannot create directory %s\n"),
--			         Prog, prefix_user_home);
-+		mkdir_p(user_home);
-+	}
-+	if (access (prefix_user_home, F_OK) != 0) {
- #ifdef WITH_AUDIT
--			audit_logger (AUDIT_ADD_USER, Prog,
--			              "adding home directory",
--			              user_name, (unsigned int) user_id,
--			              SHADOW_AUDIT_FAILURE);
-+		audit_logger (AUDIT_ADD_USER, Prog,
-+			      "adding home directory",
-+			      user_name, (unsigned int) user_id,
-+			      SHADOW_AUDIT_FAILURE);
- #endif
--			fail_exit (E_HOMEDIR);
--		}
--		(void) chown (prefix_user_home, user_id, user_gid);
--		chmod (prefix_user_home,
--		       0777 & ~getdef_num ("UMASK", GETDEF_DEFAULT_UMASK));
--		home_added = true;
-+		fail_exit (E_HOMEDIR);
-+	}
-+	(void) chown (prefix_user_home, user_id, user_gid);
-+	chmod (prefix_user_home,
-+	       0777 & ~getdef_num ("UMASK", GETDEF_DEFAULT_UMASK));
-+	home_added = true;
- #ifdef WITH_AUDIT
--		audit_logger (AUDIT_ADD_USER, Prog,
--		              "adding home directory",
--		              user_name, (unsigned int) user_id,
--		              SHADOW_AUDIT_SUCCESS);
-+	audit_logger (AUDIT_ADD_USER, Prog,
-+		      "adding home directory",
-+		      user_name, (unsigned int) user_id,
-+		      SHADOW_AUDIT_SUCCESS);
- #endif
- #ifdef WITH_SELINUX
--		/* Reset SELinux to create files with default contexts */
--		if (reset_selinux_file_context () != 0) {
--			fprintf (stderr,
--			         _("%s: cannot reset SELinux file creation context\n"),
--			         Prog);
--			fail_exit (E_HOMEDIR);
--		}
--#endif
-+	/* Reset SELinux to create files with default contexts */
-+	if (reset_selinux_file_context () != 0) {
-+		fprintf (stderr,
-+			 _("%s: cannot reset SELinux file creation context\n"),
-+			 Prog);
-+		fail_exit (E_HOMEDIR);
- 	}
-+#endif
- }
- 
- /*
--- 
-2.11.0
-
diff --git a/meta/recipes-extended/shadow/files/allow-for-setting-password-in-clear-text.patch b/meta/recipes-extended/shadow/files/0002-Allow-for-setting-password-in-clear-text.patch
similarity index 81%
rename from meta/recipes-extended/shadow/files/allow-for-setting-password-in-clear-text.patch
rename to meta/recipes-extended/shadow/files/0002-Allow-for-setting-password-in-clear-text.patch
index fa7eb07aa51..c6332e4f766 100644
--- a/meta/recipes-extended/shadow/files/allow-for-setting-password-in-clear-text.patch
+++ b/meta/recipes-extended/shadow/files/0002-Allow-for-setting-password-in-clear-text.patch
@@ -1,8 +1,12 @@
+From a7d995228491ad5255ad86c1f04ba071f6880897 Mon Sep 17 00:00:00 2001
+From: Chen Qi <Qi.Chen@windriver.com>
+Date: Sat, 16 Nov 2013 15:27:47 +0800
 Subject: [PATCH] Allow for setting password in clear text
 
 Upstream-Status: Inappropriate [OE specific]
 
 Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+
 ---
  src/Makefile.am |  8 ++++----
  src/groupadd.c  | 20 +++++++++++++++-----
@@ -12,39 +16,39 @@ Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
  5 files changed, 64 insertions(+), 25 deletions(-)
 
 diff --git a/src/Makefile.am b/src/Makefile.am
-index 3c98a8d..b8093d5 100644
+index f31fd7a..4a317a3 100644
 --- a/src/Makefile.am
 +++ b/src/Makefile.am
-@@ -93,10 +93,10 @@ chgpasswd_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBSELINUX) $(LIBCRYPT)
- chsh_LDADD     = $(LDADD) $(LIBPAM) $(LIBSELINUX) $(LIBCRYPT_NOPAM) $(LIBSKEY) $(LIBMD)
- chpasswd_LDADD = $(LDADD) $(LIBPAM) $(LIBSELINUX) $(LIBCRYPT)
- gpasswd_LDADD  = $(LDADD) $(LIBAUDIT) $(LIBSELINUX) $(LIBCRYPT)
--groupadd_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX)
-+groupadd_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBCRYPT)
- groupdel_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX)
- groupmems_LDADD = $(LDADD) $(LIBPAM) $(LIBSELINUX)
--groupmod_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX)
-+groupmod_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBCRYPT)
- grpck_LDADD    = $(LDADD) $(LIBSELINUX)
- grpconv_LDADD  = $(LDADD) $(LIBSELINUX)
- grpunconv_LDADD = $(LDADD) $(LIBSELINUX)
-@@ -117,9 +117,9 @@ su_SOURCES     = \
+@@ -103,10 +103,10 @@ chsh_LDADD     = $(LDADD) $(LIBPAM) $(LIBAUDIT) $(LIBSELINUX) $(LIBCRYPT_NOPAM)
+ chpasswd_LDADD = $(LDADD) $(LIBPAM) $(LIBAUDIT) $(LIBSELINUX) $(LIBCRYPT) $(LIBECONF)
+ expiry_LDADD = $(LDADD) $(LIBECONF)
+ gpasswd_LDADD  = $(LDADD) $(LIBAUDIT) $(LIBSELINUX) $(LIBCRYPT) $(LIBECONF)
+-groupadd_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBECONF)
++groupadd_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBECONF) $(LIBCRYPT)
+ groupdel_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBECONF)
+ groupmems_LDADD = $(LDADD) $(LIBPAM) $(LIBAUDIT) $(LIBSELINUX) $(LIBECONF)
+-groupmod_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBECONF)
++groupmod_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBECONF) $(LIBCRYPT)
+ grpck_LDADD    = $(LDADD) $(LIBAUDIT) $(LIBSELINUX) $(LIBECONF)
+ grpconv_LDADD  = $(LDADD) $(LIBAUDIT) $(LIBSELINUX) $(LIBECONF)
+ grpunconv_LDADD = $(LDADD) $(LIBAUDIT) $(LIBSELINUX) $(LIBECONF)
+@@ -127,9 +127,9 @@ su_SOURCES     = \
  	suauth.c
- su_LDADD       = $(LDADD) $(LIBPAM) $(LIBAUDIT) $(LIBCRYPT_NOPAM) $(LIBSKEY) $(LIBMD)
- sulogin_LDADD  = $(LDADD) $(LIBCRYPT)
--useradd_LDADD  = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBSEMANAGE) $(LIBACL) $(LIBATTR)
-+useradd_LDADD  = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBSEMANAGE) $(LIBACL) $(LIBATTR) $(LIBCRYPT)
- userdel_LDADD  = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBSEMANAGE)
--usermod_LDADD  = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBSEMANAGE) $(LIBACL) $(LIBATTR)
-+usermod_LDADD  = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBSEMANAGE) $(LIBACL) $(LIBATTR) $(LIBCRYPT)
- vipw_LDADD     = $(LDADD) $(LIBSELINUX)
+ su_LDADD       = $(LDADD) $(LIBPAM) $(LIBAUDIT) $(LIBCRYPT_NOPAM) $(LIBSKEY) $(LIBMD) $(LIBECONF)
+ sulogin_LDADD  = $(LDADD) $(LIBCRYPT) $(LIBECONF)
+-useradd_LDADD  = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBSEMANAGE) $(LIBACL) $(LIBATTR) $(LIBECONF)
++useradd_LDADD  = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBSEMANAGE) $(LIBACL) $(LIBATTR) $(LIBECONF) $(LIBCRYPT)
+ userdel_LDADD  = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBSEMANAGE) $(LIBECONF)
+-usermod_LDADD  = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBSEMANAGE) $(LIBACL) $(LIBATTR) $(LIBECONF)
++usermod_LDADD  = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBSEMANAGE) $(LIBACL) $(LIBATTR) $(LIBECONF) $(LIBCRYPT)
+ vipw_LDADD     = $(LDADD) $(LIBAUDIT) $(LIBSELINUX) $(LIBECONF)
  
  install-am: all-am
 diff --git a/src/groupadd.c b/src/groupadd.c
-index b57006c..63e1c48 100644
+index e9c4bb7..d572c00 100644
 --- a/src/groupadd.c
 +++ b/src/groupadd.c
-@@ -123,9 +123,10 @@ static /*@noreturn@*/void usage (int status)
+@@ -127,9 +127,10 @@ static /*@noreturn@*/void usage (int status)
  	(void) fputs (_("  -o, --non-unique              allow to create groups with duplicate\n"
  	                "                                (non-unique) GID\n"), usageout);
  	(void) fputs (_("  -p, --password PASSWORD       use this encrypted password for the new group\n"), usageout);
@@ -56,7 +60,7 @@ index b57006c..63e1c48 100644
  	(void) fputs ("\n", usageout);
  	exit (status);
  }
-@@ -387,13 +388,14 @@ static void process_flags (int argc, char **argv)
+@@ -391,13 +392,14 @@ static void process_flags (int argc, char **argv)
  		{"key",        required_argument, NULL, 'K'},
  		{"non-unique", no_argument,       NULL, 'o'},
  		{"password",   required_argument, NULL, 'p'},
@@ -73,7 +77,7 @@ index b57006c..63e1c48 100644
  		                 long_options, NULL)) != -1) {
  		switch (c) {
  		case 'f':
-@@ -445,12 +447,20 @@ static void process_flags (int argc, char **argv)
+@@ -449,12 +451,20 @@ static void process_flags (int argc, char **argv)
  			pflg = true;
  			group_passwd = optarg;
  			break;
@@ -95,7 +99,7 @@ index b57006c..63e1c48 100644
  			break;
  		default:
  			usage (E_USAGE);
-@@ -584,7 +594,7 @@ int main (int argc, char **argv)
+@@ -588,7 +598,7 @@ int main (int argc, char **argv)
  	(void) textdomain (PACKAGE);
  
  	process_root_flag ("-R", argc, argv);
@@ -105,10 +109,10 @@ index b57006c..63e1c48 100644
  	OPENLOG ("groupadd");
  #ifdef WITH_AUDIT
 diff --git a/src/groupmod.c b/src/groupmod.c
-index b293b98..72daf2c 100644
+index bc14438..25ccb44 100644
 --- a/src/groupmod.c
 +++ b/src/groupmod.c
-@@ -134,8 +134,9 @@ static void usage (int status)
+@@ -138,8 +138,9 @@ static void usage (int status)
  	(void) fputs (_("  -o, --non-unique              allow to use a duplicate (non-unique) GID\n"), usageout);
  	(void) fputs (_("  -p, --password PASSWORD       change the password to this (encrypted)\n"
  	                "                                PASSWORD\n"), usageout);
@@ -119,7 +123,7 @@ index b293b98..72daf2c 100644
  	(void) fputs ("\n", usageout);
  	exit (status);
  }
-@@ -383,11 +384,12 @@ static void process_flags (int argc, char **argv)
+@@ -387,11 +388,12 @@ static void process_flags (int argc, char **argv)
  		{"new-name",   required_argument, NULL, 'n'},
  		{"non-unique", no_argument,       NULL, 'o'},
  		{"password",   required_argument, NULL, 'p'},
@@ -134,7 +138,7 @@ index b293b98..72daf2c 100644
  		                 long_options, NULL)) != -1) {
  		switch (c) {
  		case 'g':
-@@ -414,9 +416,17 @@ static void process_flags (int argc, char **argv)
+@@ -418,9 +420,17 @@ static void process_flags (int argc, char **argv)
  			group_passwd = optarg;
  			pflg = true;
  			break;
@@ -153,7 +157,7 @@ index b293b98..72daf2c 100644
  			break;
  		default:
  			usage (E_USAGE);
-@@ -757,7 +767,7 @@ int main (int argc, char **argv)
+@@ -761,7 +771,7 @@ int main (int argc, char **argv)
  	(void) textdomain (PACKAGE);
  
  	process_root_flag ("-R", argc, argv);
@@ -163,10 +167,10 @@ index b293b98..72daf2c 100644
  	OPENLOG ("groupmod");
  #ifdef WITH_AUDIT
 diff --git a/src/useradd.c b/src/useradd.c
-index c74e491..7214e72 100644
+index 1b7bf06..44f09e2 100644
 --- a/src/useradd.c
 +++ b/src/useradd.c
-@@ -829,9 +829,10 @@ static void usage (int status)
+@@ -853,9 +853,10 @@ static void usage (int status)
  	(void) fputs (_("  -o, --non-unique              allow to create users with duplicate\n"
  	                "                                (non-unique) UID\n"), usageout);
  	(void) fputs (_("  -p, --password PASSWORD       encrypted password of the new account\n"), usageout);
@@ -178,7 +182,7 @@ index c74e491..7214e72 100644
  	(void) fputs (_("  -s, --shell SHELL             login shell of the new account\n"), usageout);
  	(void) fputs (_("  -u, --uid UID                 user ID of the new account\n"), usageout);
  	(void) fputs (_("  -U, --user-group              create a group with the same name as the user\n"), usageout);
-@@ -1104,9 +1105,10 @@ static void process_flags (int argc, char **argv)
+@@ -1133,9 +1134,10 @@ static void process_flags (int argc, char **argv)
  			{"no-user-group",  no_argument,       NULL, 'N'},
  			{"non-unique",     no_argument,       NULL, 'o'},
  			{"password",       required_argument, NULL, 'p'},
@@ -190,7 +194,7 @@ index c74e491..7214e72 100644
  			{"shell",          required_argument, NULL, 's'},
  			{"uid",            required_argument, NULL, 'u'},
  			{"user-group",     no_argument,       NULL, 'U'},
-@@ -1117,9 +1119,9 @@ static void process_flags (int argc, char **argv)
+@@ -1146,9 +1148,9 @@ static void process_flags (int argc, char **argv)
  		};
  		while ((c = getopt_long (argc, argv,
  #ifdef WITH_SELINUX
@@ -202,7 +206,7 @@ index c74e491..7214e72 100644
  #endif				/* !WITH_SELINUX */
  		                         long_options, NULL)) != -1) {
  			switch (c) {
-@@ -1285,12 +1287,19 @@ static void process_flags (int argc, char **argv)
+@@ -1320,12 +1322,19 @@ static void process_flags (int argc, char **argv)
  				}
  				user_pass = optarg;
  				break;
@@ -223,7 +227,7 @@ index c74e491..7214e72 100644
  				break;
  			case 's':
  				if (   ( !VALID (optarg) )
-@@ -2148,7 +2157,7 @@ int main (int argc, char **argv)
+@@ -2257,7 +2266,7 @@ int main (int argc, char **argv)
  
  	process_root_flag ("-R", argc, argv);
  
@@ -233,10 +237,10 @@ index c74e491..7214e72 100644
  	OPENLOG ("useradd");
  #ifdef WITH_AUDIT
 diff --git a/src/usermod.c b/src/usermod.c
-index e571426..ccfbb99 100644
+index 21c6da9..cffdb3e 100644
 --- a/src/usermod.c
 +++ b/src/usermod.c
-@@ -424,8 +424,9 @@ static /*@noreturn@*/void usage (int status)
+@@ -431,8 +431,9 @@ static /*@noreturn@*/void usage (int status)
  	                "                                new location (use only with -d)\n"), usageout);
  	(void) fputs (_("  -o, --non-unique              allow using duplicate (non-unique) UID\n"), usageout);
  	(void) fputs (_("  -p, --password PASSWORD       use encrypted password for the new password\n"), usageout);
@@ -247,7 +251,7 @@ index e571426..ccfbb99 100644
  	(void) fputs (_("  -s, --shell SHELL             new login shell for the user account\n"), usageout);
  	(void) fputs (_("  -u, --uid UID                 new UID for the user account\n"), usageout);
  	(void) fputs (_("  -U, --unlock                  unlock the user account\n"), usageout);
-@@ -1002,8 +1003,9 @@ static void process_flags (int argc, char **argv)
+@@ -1010,8 +1011,9 @@ static void process_flags (int argc, char **argv)
  			{"move-home",    no_argument,       NULL, 'm'},
  			{"non-unique",   no_argument,       NULL, 'o'},
  			{"password",     required_argument, NULL, 'p'},
@@ -258,16 +262,16 @@ index e571426..ccfbb99 100644
  			{"shell",        required_argument, NULL, 's'},
  			{"uid",          required_argument, NULL, 'u'},
  			{"unlock",       no_argument,       NULL, 'U'},
-@@ -1019,7 +1021,7 @@ static void process_flags (int argc, char **argv)
+@@ -1027,7 +1029,7 @@ static void process_flags (int argc, char **argv)
  			{NULL, 0, NULL, '\0'}
  		};
  		while ((c = getopt_long (argc, argv,
--		                         "ac:d:e:f:g:G:hl:Lmop:R:s:u:UP:"
-+		                         "ac:d:e:f:g:G:hl:Lmop:P:R:s:u:UA:"
+-		                         "abc:d:e:f:g:G:hl:Lmop:R:s:u:UP:"
++		                         "abc:d:e:f:g:G:hl:Lmop:P:R:s:u:UA:"
  #ifdef ENABLE_SUBIDS
  		                         "v:w:V:W:"
  #endif				/* ENABLE_SUBIDS */
-@@ -1119,9 +1121,17 @@ static void process_flags (int argc, char **argv)
+@@ -1130,9 +1132,17 @@ static void process_flags (int argc, char **argv)
  				user_pass = optarg;
  				pflg = true;
  				break;
@@ -286,7 +290,7 @@ index e571426..ccfbb99 100644
  				break;
  			case 's':
  				if (!VALID (optarg)) {
-@@ -2098,7 +2108,7 @@ int main (int argc, char **argv)
+@@ -2127,7 +2137,7 @@ int main (int argc, char **argv)
  	(void) textdomain (PACKAGE);
  
  	process_root_flag ("-R", argc, argv);
@@ -295,6 +299,3 @@ index e571426..ccfbb99 100644
  
  	OPENLOG ("usermod");
  #ifdef WITH_AUDIT
--- 
-2.11.0
-
diff --git a/meta/recipes-extended/shadow/files/commonio.c-fix-unexpected-open-failure-in-chroot-env.patch b/meta/recipes-extended/shadow/files/commonio.c-fix-unexpected-open-failure-in-chroot-env.patch
index 4fa3d184edf..98252163692 100644
--- a/meta/recipes-extended/shadow/files/commonio.c-fix-unexpected-open-failure-in-chroot-env.patch
+++ b/meta/recipes-extended/shadow/files/commonio.c-fix-unexpected-open-failure-in-chroot-env.patch
@@ -1,3 +1,8 @@
+From 66533c7c6f347d257020675a1ed6e0c59cbbc3f0 Mon Sep 17 00:00:00 2001
+From: Chen Qi <Qi.Chen@windriver.com>
+Date: Thu, 17 Jul 2014 15:53:34 +0800
+Subject: [PATCH] commonio.c-fix-unexpected-open-failure-in-chroot-env
+
 Upstream-Status: Inappropriate [OE specific]
 
 commonio.c: fix unexpected open failure in chroot environment
@@ -10,15 +15,16 @@ Note that this patch doesn't change the logic in the code, it just expands
 the codes.
 
 Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+
 ---
- lib/commonio.c |   16 ++++++++++++----
+ lib/commonio.c | 16 ++++++++++++----
  1 file changed, 12 insertions(+), 4 deletions(-)
 
 diff --git a/lib/commonio.c b/lib/commonio.c
-index cc536bf..51cafd9 100644
+index 16fa7e7..d6bc297 100644
 --- a/lib/commonio.c
 +++ b/lib/commonio.c
-@@ -613,10 +613,18 @@ int commonio_open (struct commonio_db *db, int mode)
+@@ -632,10 +632,18 @@ int commonio_open (struct commonio_db *db, int mode)
  	db->cursor = NULL;
  	db->changed = false;
  
@@ -41,6 +47,3 @@ index cc536bf..51cafd9 100644
  	db->fp = NULL;
  	if (fd >= 0) {
  #ifdef WITH_TCB
--- 
-1.7.9.5
-
diff --git a/meta/recipes-extended/shadow/files/shadow-relaxed-usernames.patch b/meta/recipes-extended/shadow/files/shadow-relaxed-usernames.patch
index 1af04d5fe89..cc833362e9a 100644
--- a/meta/recipes-extended/shadow/files/shadow-relaxed-usernames.patch
+++ b/meta/recipes-extended/shadow/files/shadow-relaxed-usernames.patch
@@ -1,26 +1,37 @@
+From ca472d6866e545aaa70a70020e3226f236a8aafc Mon Sep 17 00:00:00 2001
+From: Shan Hai <shan.hai@windriver.com>
+Date: Tue, 13 Sep 2016 13:45:46 +0800
+Subject: [PATCH] shadow: use relaxed usernames
 
 The groupadd from shadow does not allow upper case group names, the
 same is true for the upstream shadow. But distributions like
 Debian/Ubuntu/CentOS has their own way to cope with this problem,
 this patch is picked up from CentOS release 7.0 to relax the usernames
 restrictions to allow the upper case group names, and the relaxation is
-POSIX compliant because POSIX indicate that usernames are composed of 
+POSIX compliant because POSIX indicate that usernames are composed of
 characters from the portable filename character set [A-Za-z0-9._-].
 
 Upstream-Status: Pending
 
-Signed-off-by: Shan Hai <shan.hai@windriver.com> 
+Signed-off-by: Shan Hai <shan.hai@windriver.com>
 
-diff -urpN a/libmisc/chkname.c b/libmisc/chkname.c
-index 5089112..f40a0da 100644
+---
+ libmisc/chkname.c  | 30 ++++++++++++++++++------------
+ man/groupadd.8.xml |  6 ------
+ man/useradd.8.xml  |  8 +-------
+ 3 files changed, 19 insertions(+), 25 deletions(-)
+
+diff --git a/libmisc/chkname.c b/libmisc/chkname.c
+index 90f185c..65762b4 100644
 --- a/libmisc/chkname.c
 +++ b/libmisc/chkname.c
-@@ -49,21 +49,28 @@
- static bool is_valid_name (const char *name)
- {
+@@ -55,22 +55,28 @@ static bool is_valid_name (const char *name)
+ 	}
+ 
  	/*
 -	 * User/group names must match [a-z_][a-z0-9_-]*[$]
 -	 */
+-
 -	if (('\0' == *name) ||
 -	    !((('a' <= *name) && ('z' >= *name)) || ('_' == *name))) {
 +         * User/group names must match gnu e-regex:
@@ -55,28 +66,28 @@ index 5089112..f40a0da 100644
  			return false;
  		}
  	}
-diff -urpN a/man/groupadd.8.xml b/man/groupadd.8.xml
-index 230fd0c..94f7807 100644
+diff --git a/man/groupadd.8.xml b/man/groupadd.8.xml
+index 1e58f09..d804b61 100644
 --- a/man/groupadd.8.xml
 +++ b/man/groupadd.8.xml
-@@ -222,12 +222,6 @@
+@@ -272,12 +272,6 @@
+ 
     <refsect1 id='caveats'>
       <title>CAVEATS</title>
-      <para>
+-     <para>
 -       Groupnames must start with a lower case letter or an underscore,
 -       followed by lower case letters, digits, underscores, or dashes.
 -       They can end with a dollar sign.
 -       In regular expression terms: [a-z_][a-z0-9_-]*[$]?
 -     </para>
--     <para>
+      <para>
         Groupnames may only be up to &GROUP_NAME_MAX_LENGTH; characters long.
       </para>
-      <para>
-diff -urpN a/man/useradd.8.xml b/man/useradd.8.xml
-index 5dec989..fe623b9 100644
+diff --git a/man/useradd.8.xml b/man/useradd.8.xml
+index a16d730..c0bd777 100644
 --- a/man/useradd.8.xml
 +++ b/man/useradd.8.xml
-@@ -336,7 +336,7 @@
+@@ -366,7 +366,7 @@
  	</term>
  	<listitem>
  	  <para>
@@ -85,16 +96,16 @@ index 5dec989..fe623b9 100644
  	    wide setting from <filename>/etc/login.defs</filename>
  	    (<option>CREATE_HOME</option>) is set to
  	    <replaceable>yes</replaceable>.
-@@ -607,12 +607,6 @@
+@@ -660,12 +660,6 @@
+       the user account creation request.
      </para>
  
-     <para>
+-    <para>
 -      Usernames must start with a lower case letter or an underscore,
 -      followed by lower case letters, digits, underscores, or dashes.
 -      They can end with a dollar sign.
 -      In regular expression terms: [a-z_][a-z0-9_-]*[$]?
 -    </para>
--    <para>
+     <para>
        Usernames may only be up to 32 characters long.
      </para>
-   </refsect1>
diff --git a/meta/recipes-extended/shadow/shadow.inc b/meta/recipes-extended/shadow/shadow.inc
index 770c239e96d..670eee85a51 100644
--- a/meta/recipes-extended/shadow/shadow.inc
+++ b/meta/recipes-extended/shadow/shadow.inc
@@ -11,8 +11,6 @@ DEPENDS = "virtual/crypt"
 UPSTREAM_CHECK_URI = "https://github.com/shadow-maint/shadow/releases"
 SRC_URI = "https://github.com/shadow-maint/shadow/releases/download/${PV}/${BP}.tar.gz \
            file://shadow-4.1.3-dots-in-usernames.patch \
-           file://0001-Make-the-sp_lstchg-shadow-field-reproducible-re.-71.patch  \
-           file://0001-configure.ac-fix-configure-error-with-dash.patch \
            ${@bb.utils.contains('PACKAGECONFIG', 'pam', '${PAM_SRC_URI}', '', d)} \
            file://shadow-relaxed-usernames.patch \
            "
@@ -24,16 +22,16 @@ SRC_URI_append_class-target = " \
 
 SRC_URI_append_class-native = " \
            file://0001-Disable-use-of-syslog-for-sysroot.patch \
-           file://allow-for-setting-password-in-clear-text.patch \
+           file://0002-Allow-for-setting-password-in-clear-text.patch \
            file://commonio.c-fix-unexpected-open-failure-in-chroot-env.patch \
-           file://0001-useradd.c-create-parent-directories-when-necessary.patch \
+           file://0001-Do-not-check-for-validity-of-shell-executable.patch \
            "
 SRC_URI_append_class-nativesdk = " \
            file://0001-Disable-use-of-syslog-for-sysroot.patch \
            "
 
-SRC_URI[md5sum] = "36feb15665338ae3de414f2a88e434db"
-SRC_URI[sha256sum] = "4668f99bd087399c4a586084dc3b046b75f560720d83e92fd23bf7a89dda4d31"
+SRC_URI[md5sum] = "017ac773ba370bc28e157cee30dad71a"
+SRC_URI[sha256sum] = "82016d65317555fc8ce9e669eb187984d8d4b1f8ecda0769f4bc5412aed326e4"
 
 # Additional Policy files for PAM
 PAM_SRC_URI = "file://pam.d/chfn \
diff --git a/meta/recipes-extended/shadow/shadow_4.6.bb b/meta/recipes-extended/shadow/shadow_4.8.bb
similarity index 100%
rename from meta/recipes-extended/shadow/shadow_4.6.bb
rename to meta/recipes-extended/shadow/shadow_4.8.bb
-- 
2.17.1



^ permalink raw reply related	[flat|nested] 62+ messages in thread

* [PATCH 09/30] sysklogd: update to 2.0.3
  2019-12-12 18:14 [PATCH 01/30] rpm: upgrade to 4.15.1 Alexander Kanavin
                   ` (6 preceding siblings ...)
  2019-12-12 18:14 ` [PATCH 08/30] shadow: update 4.6 -> 4.8 Alexander Kanavin
@ 2019-12-12 18:14 ` Alexander Kanavin
  2019-12-12 18:14 ` [PATCH 10/30] libtasn1: update to 4.15.0 Alexander Kanavin
                   ` (21 subsequent siblings)
  29 siblings, 0 replies; 62+ messages in thread
From: Alexander Kanavin @ 2019-12-12 18:14 UTC (permalink / raw)
  To: openembedded-core

Drop all patches as they are no longer necessary with autotools,
fix problems that are addressed upstream, or (in case of no-vectorization.patch)
don't apply to the old version either, which means no one is using that hw target
anymore.

Remove custom systemd configs (provided by upstream), and custom
syslog config (also provided by upstream but not installed by default).

Adjust parselogs to not error out on not being able to find
System.map file during boot (that is packaged into kernel-dev
and is not normally installed).

License-Update: various tweaks; the license terms are the same.
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
 meta/lib/oeqa/runtime/cases/parselogs.py      |   3 +-
 .../files/0001-Fix-build-with-musl.patch      | 132 ------------------
 ...t-causes-a-segmentation-fault-under-.patch |  28 ----
 ...or-respecting-flags-from-environment.patch |  35 -----
 .../sysklogd/files/klogd.service              |  13 --
 .../sysklogd/files/no-strip-install.patch     |  17 ---
 .../sysklogd/files/no-vectorization.patch     |  20 ---
 meta/recipes-extended/sysklogd/files/sysklogd |   4 +-
 .../sysklogd/files/syslog.conf                |  71 ----------
 .../sysklogd/files/syslogd.service            |  14 --
 .../sysklogd/files/tmpfiles.sysklogd.conf     |   1 -
 meta/recipes-extended/sysklogd/sysklogd.inc   |  46 ++----
 .../sysklogd/sysklogd_1.5.1.bb                |   3 -
 .../sysklogd/sysklogd_2.0.3.bb                |   3 +
 14 files changed, 19 insertions(+), 371 deletions(-)
 delete mode 100644 meta/recipes-extended/sysklogd/files/0001-Fix-build-with-musl.patch
 delete mode 100644 meta/recipes-extended/sysklogd/files/0001-fix-problems-that-causes-a-segmentation-fault-under-.patch
 delete mode 100644 meta/recipes-extended/sysklogd/files/0002-Make-way-for-respecting-flags-from-environment.patch
 delete mode 100644 meta/recipes-extended/sysklogd/files/klogd.service
 delete mode 100644 meta/recipes-extended/sysklogd/files/no-strip-install.patch
 delete mode 100644 meta/recipes-extended/sysklogd/files/no-vectorization.patch
 delete mode 100644 meta/recipes-extended/sysklogd/files/syslog.conf
 delete mode 100644 meta/recipes-extended/sysklogd/files/syslogd.service
 delete mode 100644 meta/recipes-extended/sysklogd/files/tmpfiles.sysklogd.conf
 delete mode 100644 meta/recipes-extended/sysklogd/sysklogd_1.5.1.bb
 create mode 100644 meta/recipes-extended/sysklogd/sysklogd_2.0.3.bb

diff --git a/meta/lib/oeqa/runtime/cases/parselogs.py b/meta/lib/oeqa/runtime/cases/parselogs.py
index 15343d7abbe..b7c7b30adf5 100644
--- a/meta/lib/oeqa/runtime/cases/parselogs.py
+++ b/meta/lib/oeqa/runtime/cases/parselogs.py
@@ -55,7 +55,8 @@ common_errors = [
     "Failed to read /var/lib/nfs/statd/state: Success",
     "error retry time-out =",
     "logind: cannot setup systemd-logind helper (-61), using legacy fallback",
-    "Error changing net interface name 'eth0' to "
+    "Error changing net interface name 'eth0' to ",
+    "Cannot find a map file"
     ]
 
 video_related = [
diff --git a/meta/recipes-extended/sysklogd/files/0001-Fix-build-with-musl.patch b/meta/recipes-extended/sysklogd/files/0001-Fix-build-with-musl.patch
deleted file mode 100644
index 9567946c0cb..00000000000
--- a/meta/recipes-extended/sysklogd/files/0001-Fix-build-with-musl.patch
+++ /dev/null
@@ -1,132 +0,0 @@
-From f0af5bcfd753691652eac35efbcb208c933253f1 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Mon, 31 Aug 2015 05:11:53 +0000
-Subject: [PATCH] Fix build with musl
-
-Explicitly include fcntl.h since with glibc is comes in as indirect
-include but not with musl
-
-linux/time.h inclusion is not required on musl so using !__GLIBC__ is
-not right for musl here
-
-wait type is glibc specific
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
-Upstream-Status: Pending
-
- klogd.c    | 10 +---------
- ksym_mod.c |  5 +----
- pidfile.c  |  1 +
- syslog.c   |  3 ++-
- syslogd.c  |  4 +---
- 5 files changed, 6 insertions(+), 17 deletions(-)
-
-diff --git a/klogd.c b/klogd.c
-index 6cc80ed..9219671 100644
---- a/klogd.c
-+++ b/klogd.c
-@@ -260,11 +260,8 @@
- #include <unistd.h>
- #include <signal.h>
- #include <errno.h>
--#include <sys/fcntl.h>
-+#include <fcntl.h>
- #include <sys/stat.h>
--#if !defined(__GLIBC__)
--#include <linux/time.h>
--#endif /* __GLIBC__ */
- #include <stdarg.h>
- #include <paths.h>
- #include <stdlib.h>
-@@ -277,13 +274,8 @@
- 
- #define __LIBRARY__
- #include <linux/unistd.h>
--#if !defined(__GLIBC__)
--# define __NR_ksyslog __NR_syslog
--_syscall3(int,ksyslog,int, type, char *, buf, int, len);
--#else
- #include <sys/klog.h>
- #define ksyslog klogctl
--#endif
- 
- #define LOG_BUFFER_SIZE 4096
- #define LOG_LINE_LENGTH 1000
-diff --git a/ksym_mod.c b/ksym_mod.c
-index 68cd6b6..6e26da1 100644
---- a/ksym_mod.c
-+++ b/ksym_mod.c
-@@ -113,12 +113,9 @@
- #include <unistd.h>
- #include <signal.h>
- #include <errno.h>
--#include <sys/fcntl.h>
-+#include <fcntl.h>
- #include <sys/stat.h>
- #include "module.h"
--#if !defined(__GLIBC__)
--#include <linux/time.h>
--#endif /* __GLIBC__ */
- #include <stdarg.h>
- #include <paths.h>
- #include <linux/version.h>
-diff --git a/pidfile.c b/pidfile.c
-index e0959a0..6daa2e0 100644
---- a/pidfile.c
-+++ b/pidfile.c
-@@ -31,6 +31,7 @@
- #include <string.h>
- #include <errno.h>
- #include <signal.h>
-+#include <fcntl.h>
- 
- /* read_pid
-  *
-diff --git a/syslog.c b/syslog.c
-index bdb3ff2..ef7b34e 100644
---- a/syslog.c
-+++ b/syslog.c
-@@ -55,7 +55,7 @@ static char sccsid[] = "@(#)syslog.c	5.28 (Berkeley) 6/27/90";
- #include <sys/types.h>
- #include <sys/socket.h>
- #include <sys/file.h>
--#include <sys/signal.h>
-+//#include <sys/signal.h>
- #include <sys/syslog.h>
- #if 0
- #include "syslog.h"
-@@ -72,6 +72,7 @@ static char sccsid[] = "@(#)syslog.c	5.28 (Berkeley) 6/27/90";
- #include <stdarg.h>
- #include <paths.h>
- #include <stdio.h>
-+#include <fcntl.h>
- 
- #define	_PATH_LOGNAME	"/dev/log"
- 
-diff --git a/syslogd.c b/syslogd.c
-index ea73ea5..1ca0595 100644
---- a/syslogd.c
-+++ b/syslogd.c
-@@ -818,9 +818,7 @@ void doexit(int sig);
- void init();
- void cfline(char *line, register struct filed *f);
- int decode(char *name, struct code *codetab);
--#if defined(__GLIBC__)
- #define dprintf mydprintf
--#endif /* __GLIBC__ */
- static void dprintf(char *, ...);
- static void allocate_log(void);
- void sighup_handler();
-@@ -2094,7 +2092,7 @@ void reapchild()
- 	(void) signal(SIGCHLD, reapchild);	/* reset signal handler -ASP */
- 	wait ((int *)0);
- #else
--	union wait status;
-+	int status;
- 
- 	while (wait3(&status, WNOHANG, (struct rusage *) NULL) > 0)
- 		;
--- 
-2.5.1
-
diff --git a/meta/recipes-extended/sysklogd/files/0001-fix-problems-that-causes-a-segmentation-fault-under-.patch b/meta/recipes-extended/sysklogd/files/0001-fix-problems-that-causes-a-segmentation-fault-under-.patch
deleted file mode 100644
index 56431af8456..00000000000
--- a/meta/recipes-extended/sysklogd/files/0001-fix-problems-that-causes-a-segmentation-fault-under-.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-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/meta/recipes-extended/sysklogd/files/0002-Make-way-for-respecting-flags-from-environment.patch b/meta/recipes-extended/sysklogd/files/0002-Make-way-for-respecting-flags-from-environment.patch
deleted file mode 100644
index ebbdef303bc..00000000000
--- a/meta/recipes-extended/sysklogd/files/0002-Make-way-for-respecting-flags-from-environment.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-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/meta/recipes-extended/sysklogd/files/klogd.service b/meta/recipes-extended/sysklogd/files/klogd.service
deleted file mode 100644
index 0c888c497dd..00000000000
--- a/meta/recipes-extended/sysklogd/files/klogd.service
+++ /dev/null
@@ -1,13 +0,0 @@
-[Unit]
-Description=Kernel Logging Service
-After=syslogd.service
-
-[Service]
-Type=forking
-ExecStart=/sbin/klogd
-PIDFile=/var/run/klogd.pid
-StandardOutput=null
-Restart=on-failure
-
-[Install]
-WantedBy=multi-user.target
diff --git a/meta/recipes-extended/sysklogd/files/no-strip-install.patch b/meta/recipes-extended/sysklogd/files/no-strip-install.patch
deleted file mode 100644
index d426c83bf25..00000000000
--- a/meta/recipes-extended/sysklogd/files/no-strip-install.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-Upstream-Status: Inappropriate [configuration]
-
-Index: sysklogd-1.5.1/Makefile
-===================================================================
---- sysklogd-1.5.1.orig/Makefile
-+++ sysklogd-1.5.1/Makefile
-@@ -127,8 +127,8 @@ clobber: clean
- 	rm -f syslogd klogd ksym syslog_tst oops_test TAGS tsyslogd tklogd
- 
- install_exec: syslogd klogd
--	${INSTALL} -m 500 -s syslogd ${BINDIR}/syslogd
--	${INSTALL} -m 500 -s klogd ${BINDIR}/klogd
-+	${INSTALL} -m 500 syslogd ${BINDIR}/syslogd
-+	${INSTALL} -m 500 klogd ${BINDIR}/klogd
- 
- install_man:
- 	${INSTALL} -o ${MAN_USER} -g ${MAN_GROUP} -m ${MAN_PERMS} sysklogd.8 ${MANDIR}/man8/sysklogd.8
diff --git a/meta/recipes-extended/sysklogd/files/no-vectorization.patch b/meta/recipes-extended/sysklogd/files/no-vectorization.patch
deleted file mode 100644
index c1cc042c9cf..00000000000
--- a/meta/recipes-extended/sysklogd/files/no-vectorization.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-Upstream-Status: Inappropriate
-
-The compiler should not be generating vectorized instructions on this target.
-This is a work around until I can determine why this is occuring on this
-particular recipe
-
-Index: sysklogd-1.5/Makefile
-===================================================================
---- sysklogd-1.5.orig/Makefile
-+++ sysklogd-1.5/Makefile
-@@ -20,7 +20,8 @@
- CC= gcc
- #SKFLAGS= -g -DSYSV -Wall
- #LDFLAGS= -g
--SKFLAGS= $(RPM_OPT_FLAGS) -O3 -DSYSV -fomit-frame-pointer -Wall -fno-strength-reduce
-+SKFLAGS= $(RPM_OPT_FLAGS) -O3 -DSYSV -fomit-frame-pointer -Wall -fno-strength-reduce \
-+	-fno-tree-vectorize
- # -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
- # -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE
- # $(shell getconf LFS_SKFLAGS)
diff --git a/meta/recipes-extended/sysklogd/files/sysklogd b/meta/recipes-extended/sysklogd/files/sysklogd
index 73424840ba3..4a4ca8a78ed 100755
--- a/meta/recipes-extended/sysklogd/files/sysklogd
+++ b/meta/recipes-extended/sysklogd/files/sysklogd
@@ -19,8 +19,8 @@ PATH=/bin:/usr/bin:/sbin:/usr/sbin
 
 pidfile_syslogd=/var/run/syslogd.pid
 pidfile_klogd=/var/run/klogd.pid
-binpath_syslogd=/sbin/syslogd
-binpath_klogd=/sbin/klogd
+binpath_syslogd=/usr/sbin/syslogd
+binpath_klogd=/usr/sbin/klogd
 
 test -x $binpath || exit 0
 
diff --git a/meta/recipes-extended/sysklogd/files/syslog.conf b/meta/recipes-extended/sysklogd/files/syslog.conf
deleted file mode 100644
index 0849de12687..00000000000
--- a/meta/recipes-extended/sysklogd/files/syslog.conf
+++ /dev/null
@@ -1,71 +0,0 @@
-#  /etc/syslog.conf	Configuration file for syslogd.
-#
-#  Ported from debian by Yu Ke <ke.yu@intel.com>
-#
-
-#
-# First some standard logfiles.  Log by facility.
-#
-
-auth,authpriv.*			/var/log/auth.log
-*.*;auth,authpriv.none		-/var/log/syslog
-#cron.*				/var/log/cron.log
-daemon.*			-/var/log/daemon.log
-kern.*				-/var/log/kern.log
-lpr.*				-/var/log/lpr.log
-mail.*				-/var/log/mail.log
-user.*				-/var/log/user.log
-
-#
-# Logging for the mail system.  Split it up so that
-# it is easy to write scripts to parse these files.
-#
-mail.info			-/var/log/mail.info
-mail.warn			-/var/log/mail.warn
-mail.err			/var/log/mail.err
-
-# Logging for INN news system
-#
-news.crit			/var/log/news.crit
-news.err			/var/log/news.err
-news.notice			-/var/log/news.notice
-
-#
-# Some `catch-all' logfiles.
-#
-*.=debug;\
-auth,authpriv.none;\
-news.none;mail.none	-/var/log/debug
-
-*.=info;*.=notice;*.=warn;\
-auth,authpriv.none;\
-cron,daemon.none;\
-mail,news.none		-/var/log/messages
-
-#
-# Emergencies are sent to everybody logged in.
-#
-*.emerg				*
-
-#
-# I like to have messages displayed on the console, but only on a virtual
-# console I usually leave idle.
-#
-#daemon,mail.*;\
-#news.=crit;news.=err;news.=notice;\
-#*.=debug;*.=info;\
-#*.=notice;*.=warn	/dev/tty8
-
-# The named pipe /dev/xconsole is for the `xconsole' utility.  To use it,
-# you must invoke `xconsole' with the `-file' option:
-#
-#    $ xconsole -file /dev/xconsole [...]
-#
-# NOTE: adjust the list below, or you'll go crazy if you have a reasonably
-#      busy site..
-#
-daemon.*;mail.*;\
-news.err;\
-*.=debug;*.=info;\
-*.=notice;*.=warn	|/dev/xconsole
-
diff --git a/meta/recipes-extended/sysklogd/files/syslogd.service b/meta/recipes-extended/sysklogd/files/syslogd.service
deleted file mode 100644
index eeaff3d38d6..00000000000
--- a/meta/recipes-extended/sysklogd/files/syslogd.service
+++ /dev/null
@@ -1,14 +0,0 @@
-[Unit]
-Description=System Logging Service
-Requires=syslog.socket
-
-[Service]
-Type=forking
-ExecStart=/sbin/syslogd
-PIDFile=/var/run/syslogd.pid
-StandardOutput=null
-Restart=on-failure
-
-[Install]
-WantedBy=multi-user.target
-Alias=syslog.service
diff --git a/meta/recipes-extended/sysklogd/files/tmpfiles.sysklogd.conf b/meta/recipes-extended/sysklogd/files/tmpfiles.sysklogd.conf
deleted file mode 100644
index f4aecd385b6..00000000000
--- a/meta/recipes-extended/sysklogd/files/tmpfiles.sysklogd.conf
+++ /dev/null
@@ -1 +0,0 @@
-p /dev/xconsole 0640 root adm
diff --git a/meta/recipes-extended/sysklogd/sysklogd.inc b/meta/recipes-extended/sysklogd/sysklogd.inc
index 749026f8533..b90911af2b7 100644
--- a/meta/recipes-extended/sysklogd/sysklogd.inc
+++ b/meta/recipes-extended/sysklogd/sysklogd.inc
@@ -6,27 +6,26 @@ SECTION = "base"
 LICENSE = "GPLv2+ & BSD"
 LICENSE_syslogd = "BSD"
 LICENSE_klogd = "GPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=8ca43cbc842c2336e835926c2166c28b \
-                    file://syslogd.c;beginline=2;endline=15;md5=77ffb2fec48c46d7ca0abb2d5813e7fd \
-                    file://klogd.c;beginline=2;endline=19;md5=7e87ed0ae6142de079bce738c10c899d \
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+                    file://src/syslogd.c;beginline=2;endline=15;md5=a880fecbc04503f071c494a9c0dd4f97 \
+                    file://src/klogd.c;beginline=2;endline=19;md5=4f5591d04cccbeb0352758ed4a9d7213 \
                    "
 
-inherit update-rc.d update-alternatives systemd
+inherit update-rc.d update-alternatives systemd autotools
 
 SRC_URI = "git://github.com/troglobit/sysklogd.git;nobranch=1 \
-           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 \
-           file://klogd.service \
-           file://tmpfiles.sysklogd.conf \
            "
 S = "${WORKDIR}/git"
 
-SRC_URI_append_e500v2 = " file://no-vectorization.patch"
+EXTRA_OECONF = "--with-systemd=${systemd_system_unitdir} --with-klogd --without-logger"
+
+do_install_append () {
+       install -d ${D}${sysconfdir}
+       install -m 644 ${S}/syslog.conf ${D}${sysconfdir}/syslog.conf
+       install -d ${D}${sysconfdir}/init.d
+       install -m 755 ${WORKDIR}/sysklogd ${D}${sysconfdir}/init.d/syslog
+}
 
 SYSTEMD_PACKAGES = "${PN}"
 SYSTEMD_SERVICE_${PN} = "syslogd.service klogd.service"
@@ -36,27 +35,6 @@ INITSCRIPT_NAME = "syslog"
 CONFFILES_${PN} = "${sysconfdir}/syslog.conf"
 RCONFLICTS_${PN} = "rsyslog busybox-syslog syslog-ng"
 
-CFLAGS += "-DSYSV -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE"
-
-do_install () {
-	install -d ${D}${mandir}/man8 \
-			${D}${mandir}/man5 \
-			${D}${base_sbindir}
-	oe_runmake 'BINDIR=${D}${base_sbindir}' \
-			'MANDIR=${D}${mandir}' install
-	install -d ${D}${sysconfdir}
-	install -m 644 ${WORKDIR}/syslog.conf ${D}${sysconfdir}/syslog.conf
-	install -d ${D}${sysconfdir}/init.d
-	install -m 755 ${WORKDIR}/sysklogd ${D}${sysconfdir}/init.d/syslog
-	install -d ${D}${systemd_unitdir}/system
-	install -m 644 ${WORKDIR}/syslogd.service ${D}${systemd_unitdir}/system
-	install -m 644 ${WORKDIR}/klogd.service ${D}${systemd_unitdir}/system
-	if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true', 'false', d)}; then
-		install -d ${D}${exec_prefix}/lib/tmpfiles.d
-		install -m 644 ${WORKDIR}/tmpfiles.sysklogd.conf ${D}${exec_prefix}/lib/tmpfiles.d/sysklogd.conf
-	fi
-}
-
 FILES_${PN} += "${@bb.utils.contains('DISTRO_FEATURES','systemd','${exec_prefix}/lib/tmpfiles.d/sysklogd.conf', '', d)}"
 
 ALTERNATIVE_PRIORITY = "100"
diff --git a/meta/recipes-extended/sysklogd/sysklogd_1.5.1.bb b/meta/recipes-extended/sysklogd/sysklogd_1.5.1.bb
deleted file mode 100644
index 88bcfd9e4a0..00000000000
--- a/meta/recipes-extended/sysklogd/sysklogd_1.5.1.bb
+++ /dev/null
@@ -1,3 +0,0 @@
-require sysklogd.inc
-
-SRCREV = "930a2b1c0d15b14309a49f14e3f30e905456af4d"
diff --git a/meta/recipes-extended/sysklogd/sysklogd_2.0.3.bb b/meta/recipes-extended/sysklogd/sysklogd_2.0.3.bb
new file mode 100644
index 00000000000..21f750fa60f
--- /dev/null
+++ b/meta/recipes-extended/sysklogd/sysklogd_2.0.3.bb
@@ -0,0 +1,3 @@
+require sysklogd.inc
+
+SRCREV = "ad686ca86d977f9eac4cd0a0d0e9a5964a4621d3"
-- 
2.17.1



^ permalink raw reply related	[flat|nested] 62+ messages in thread

* [PATCH 10/30] libtasn1: update to 4.15.0
  2019-12-12 18:14 [PATCH 01/30] rpm: upgrade to 4.15.1 Alexander Kanavin
                   ` (7 preceding siblings ...)
  2019-12-12 18:14 ` [PATCH 09/30] sysklogd: update to 2.0.3 Alexander Kanavin
@ 2019-12-12 18:14 ` Alexander Kanavin
  2019-12-17  8:53   ` Richard Purdie
  2019-12-12 18:14 ` [PATCH 11/30] sysklogd: Fix 2.0.3 upgrade fallouts on musl Alexander Kanavin
                   ` (20 subsequent siblings)
  29 siblings, 1 reply; 62+ messages in thread
From: Alexander Kanavin @ 2019-12-12 18:14 UTC (permalink / raw)
  To: openembedded-core

Drop backports.

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
 .../gnutls/libtasn1/fix-gtkdoc.patch          | 38 -------------------
 .../gnutls/libtasn1/fix-ldflags.patch         | 31 ---------------
 .../{libtasn1_4.14.bb => libtasn1_4.15.0.bb}  | 11 ++++--
 3 files changed, 7 insertions(+), 73 deletions(-)
 delete mode 100644 meta/recipes-support/gnutls/libtasn1/fix-gtkdoc.patch
 delete mode 100644 meta/recipes-support/gnutls/libtasn1/fix-ldflags.patch
 rename meta/recipes-support/gnutls/{libtasn1_4.14.bb => libtasn1_4.15.0.bb} (72%)

diff --git a/meta/recipes-support/gnutls/libtasn1/fix-gtkdoc.patch b/meta/recipes-support/gnutls/libtasn1/fix-gtkdoc.patch
deleted file mode 100644
index bfc9b9fca7e..00000000000
--- a/meta/recipes-support/gnutls/libtasn1/fix-gtkdoc.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-Upstream-Status: Backport [https://gitlab.com/gnutls/libtasn1/merge_requests/49]
-Signed-off-by: Ross Burton <ross.burton@intel.com>
-
-From ebd4f871b5241809f6a5b461444a6d331e15c949 Mon Sep 17 00:00:00 2001
-From: Ross Burton <ross.burton@intel.com>
-Date: Mon, 9 Sep 2019 13:11:39 +0100
-Subject: [PATCH] doc/reference: don't add empty object hierarchy chapter
-
-The object hierarchy section is empty because there are no GObjects in the
-libtasn1 API.  With gtk-doc 1.30 onwards if there are no objects then the object
-hierarchy file won't exist, resulting in a failure when building the
-documentation:
-
-| ../libtasn1-docs.xml:39: element include: XInclude error : could not load ../xml/tree_index.sgml, and no fallback was found
-
-Signed-off-by: Ross Burton <ross.burton@intel.com>
----
- doc/reference/libtasn1-docs.xml | 4 ----
- 1 file changed, 4 deletions(-)
-
-diff --git a/doc/reference/libtasn1-docs.xml b/doc/reference/libtasn1-docs.xml
-index accdb85..f88b888 100644
---- a/doc/reference/libtasn1-docs.xml
-+++ b/doc/reference/libtasn1-docs.xml
-@@ -34,10 +34,6 @@
-         <xi:include href="xml/libtasn1.xml"/>
- 
-   </chapter>
--  <chapter id="object-tree">
--    <title>Object Hierarchy</title>
--    <xi:include href="xml/tree_index.sgml"/>
--  </chapter>
-   <index id="api-index-full">
-     <title>API Index</title>
-     <xi:include href="xml/api-index-full.xml"><xi:fallback /></xi:include>
--- 
-2.20.1
-
diff --git a/meta/recipes-support/gnutls/libtasn1/fix-ldflags.patch b/meta/recipes-support/gnutls/libtasn1/fix-ldflags.patch
deleted file mode 100644
index f18f3c62679..00000000000
--- a/meta/recipes-support/gnutls/libtasn1/fix-ldflags.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From a6f93b7ace347bc4fe29eb4a8fe4383d786cc8d0 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Tim=20R=C3=BChsen?= <tim.ruehsen@gmx.de>
-Date: Tue, 23 Jul 2019 20:44:01 +0200
-Subject: [PATCH] Fix LDFLAGS to AM_LDFLAGS in src/Makefile.am
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Signed-off-by: Tim Rühsen <tim.ruehsen@gmx.de>
-Upstream-Status: Backport
-Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
----
- src/Makefile.am | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/Makefile.am b/src/Makefile.am
-index 5bf3622..4459767 100644
---- a/src/Makefile.am
-+++ b/src/Makefile.am
-@@ -21,7 +21,7 @@ AM_CPPFLAGS = -I$(top_builddir)/lib/includes -I$(top_srcdir)/lib/includes \
-  -I$(top_builddir)/lib/gl -I$(top_srcdir)/lib/gl $(CODE_COVERAGE_CPPFLAGS)
- 
- LDADD = ../lib/libtasn1.la
--LDFLAGS = $(CODE_COVERAGE_LDFLAGS)
-+AM_LDFLAGS = $(CODE_COVERAGE_LDFLAGS)
- 
- bin_PROGRAMS = asn1Parser asn1Coding asn1Decoding
- 
--- 
-2.21.0
-
diff --git a/meta/recipes-support/gnutls/libtasn1_4.14.bb b/meta/recipes-support/gnutls/libtasn1_4.15.0.bb
similarity index 72%
rename from meta/recipes-support/gnutls/libtasn1_4.14.bb
rename to meta/recipes-support/gnutls/libtasn1_4.15.0.bb
index ef2c1956a24..398faa29a86 100644
--- a/meta/recipes-support/gnutls/libtasn1_4.14.bb
+++ b/meta/recipes-support/gnutls/libtasn1_4.15.0.bb
@@ -10,15 +10,18 @@ LIC_FILES_CHKSUM = "file://doc/COPYING;md5=d32239bcb673463ab874e80d47fae504 \
 
 SRC_URI = "${GNU_MIRROR}/libtasn1/libtasn1-${PV}.tar.gz \
            file://dont-depend-on-help2man.patch \
-           file://fix-ldflags.patch \
-           file://fix-gtkdoc.patch \
            "
 
 DEPENDS = "bison-native"
 
-SRC_URI[md5sum] = "e9918200ed4a778e2b3cbe34c1be4205"
-SRC_URI[sha256sum] = "9e604ba5c5c8ea403487695c2e407405820d98540d9de884d6e844f9a9c5ba08"
+SRC_URI[md5sum] = "33e3fb5501bb2142184238c815b0beb8"
+SRC_URI[sha256sum] = "dd77509fe8f5304deafbca654dc7f0ea57f5841f41ba530cff9a5bf71382739e"
 
 inherit autotools texinfo lib_package gtk-doc
 
+do_install_append () {
+    # this utility has a bogus RPATH
+    chrpath -d ${D}/${bindir}/corpus2array
+}
+
 BBCLASSEXTEND = "native nativesdk"
-- 
2.17.1



^ permalink raw reply related	[flat|nested] 62+ messages in thread

* [PATCH 11/30] sysklogd: Fix 2.0.3 upgrade fallouts on musl
  2019-12-12 18:14 [PATCH 01/30] rpm: upgrade to 4.15.1 Alexander Kanavin
                   ` (8 preceding siblings ...)
  2019-12-12 18:14 ` [PATCH 10/30] libtasn1: update to 4.15.0 Alexander Kanavin
@ 2019-12-12 18:14 ` Alexander Kanavin
  2019-12-12 18:14 ` [PATCH 12/30] dos2unix: update to 7.4.1 Alexander Kanavin
                   ` (19 subsequent siblings)
  29 siblings, 0 replies; 62+ messages in thread
From: Alexander Kanavin @ 2019-12-12 18:14 UTC (permalink / raw)
  To: openembedded-core

From: Khem Raj <raj.khem@gmail.com>

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Cc: Alexander Kanavin <alex.kanavin@gmail.com>
---
 ...001-Remove-__BEGIN_DECLS-__END_DECLS.patch | 44 +++++++++++++++++++
 .../0002-include-sys-types.h-for-off_t.patch  | 29 ++++++++++++
 meta/recipes-extended/sysklogd/sysklogd.inc   |  2 +
 3 files changed, 75 insertions(+)
 create mode 100644 meta/recipes-extended/sysklogd/files/0001-Remove-__BEGIN_DECLS-__END_DECLS.patch
 create mode 100644 meta/recipes-extended/sysklogd/files/0002-include-sys-types.h-for-off_t.patch

diff --git a/meta/recipes-extended/sysklogd/files/0001-Remove-__BEGIN_DECLS-__END_DECLS.patch b/meta/recipes-extended/sysklogd/files/0001-Remove-__BEGIN_DECLS-__END_DECLS.patch
new file mode 100644
index 00000000000..b2d45c0a0a6
--- /dev/null
+++ b/meta/recipes-extended/sysklogd/files/0001-Remove-__BEGIN_DECLS-__END_DECLS.patch
@@ -0,0 +1,44 @@
+From 8c7995ac8da99eed55bf5410c558b1f0a74998d0 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 7 Dec 2019 10:27:28 -0800
+Subject: [PATCH 1/2] Remove __BEGIN_DECLS/__END_DECLS
+
+The __BEGIN_DECLS and __END_DECLS are internal identifiers in glibc and
+are not defined in any standard. Using them fails build on musl
+libc, its better to avoid them
+
+Upstream-Status: Submitted [https://github.com/troglobit/sysklogd/pull/10]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/syslog.h | 8 ++++++--
+ 1 file changed, 6 insertions(+), 2 deletions(-)
+
+diff --git a/src/syslog.h b/src/syslog.h
+index 4fb7627..120a18f 100644
+--- a/src/syslog.h
++++ b/src/syslog.h
+@@ -221,7 +221,9 @@ struct syslog_data {
+     .log_mask = 0xff, \
+ }
+ 
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ void	openlog    (const char *, int, int);
+ void	closelog   (void);
+ 
+@@ -245,7 +247,9 @@ void	syslogp_r  (int, struct syslog_data *, const char *, const char *,
+ 		    const char *, ...);
+ void	vsyslogp_r (int, struct syslog_data *, const char *, const char *,
+ 		    const char *, va_list);
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+ 
+ #else /* !__KERNEL__ */
+ 
+-- 
+2.24.0
+
diff --git a/meta/recipes-extended/sysklogd/files/0002-include-sys-types.h-for-off_t.patch b/meta/recipes-extended/sysklogd/files/0002-include-sys-types.h-for-off_t.patch
new file mode 100644
index 00000000000..799a7a4c4cd
--- /dev/null
+++ b/meta/recipes-extended/sysklogd/files/0002-include-sys-types.h-for-off_t.patch
@@ -0,0 +1,29 @@
+From 10cff4ba2d09b30f8f1967f910e8ab08447a8add Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 7 Dec 2019 10:31:04 -0800
+Subject: [PATCH 2/2] include sys/types.h for off_t
+
+Fixes
+error: unknown type name 'off_t'
+
+Upstream-Status: Submitted [https://github.com/troglobit/sysklogd/pull/10]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/compat.h | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/compat.h b/src/compat.h
+index a867636..1ef1bf0 100644
+--- a/src/compat.h
++++ b/src/compat.h
+@@ -34,6 +34,7 @@
+ #include <pthread.h>
+ #include <stdlib.h>
+ #include <string.h>
++#include <sys/types.h>
+ 
+ /*
+  * The following macro is used to remove const cast-away warnings
+-- 
+2.24.0
+
diff --git a/meta/recipes-extended/sysklogd/sysklogd.inc b/meta/recipes-extended/sysklogd/sysklogd.inc
index b90911af2b7..07edf403266 100644
--- a/meta/recipes-extended/sysklogd/sysklogd.inc
+++ b/meta/recipes-extended/sysklogd/sysklogd.inc
@@ -14,6 +14,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
 inherit update-rc.d update-alternatives systemd autotools
 
 SRC_URI = "git://github.com/troglobit/sysklogd.git;nobranch=1 \
+           file://0001-Remove-__BEGIN_DECLS-__END_DECLS.patch \
+           file://0002-include-sys-types.h-for-off_t.patch \
            file://sysklogd \
            "
 S = "${WORKDIR}/git"
-- 
2.17.1



^ permalink raw reply related	[flat|nested] 62+ messages in thread

* [PATCH 12/30] dos2unix: update to 7.4.1
  2019-12-12 18:14 [PATCH 01/30] rpm: upgrade to 4.15.1 Alexander Kanavin
                   ` (9 preceding siblings ...)
  2019-12-12 18:14 ` [PATCH 11/30] sysklogd: Fix 2.0.3 upgrade fallouts on musl Alexander Kanavin
@ 2019-12-12 18:14 ` Alexander Kanavin
  2019-12-12 18:14 ` [PATCH 13/30] puzzles: update to latest revision Alexander Kanavin
                   ` (18 subsequent siblings)
  29 siblings, 0 replies; 62+ messages in thread
From: Alexander Kanavin @ 2019-12-12 18:14 UTC (permalink / raw)
  To: openembedded-core

License-Update: copyright years
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
 .../dos2unix/{dos2unix_7.4.0.bb => dos2unix_7.4.1.bb}        | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)
 rename meta/recipes-support/dos2unix/{dos2unix_7.4.0.bb => dos2unix_7.4.1.bb} (87%)

diff --git a/meta/recipes-support/dos2unix/dos2unix_7.4.0.bb b/meta/recipes-support/dos2unix/dos2unix_7.4.1.bb
similarity index 87%
rename from meta/recipes-support/dos2unix/dos2unix_7.4.0.bb
rename to meta/recipes-support/dos2unix/dos2unix_7.4.1.bb
index 9a712706839..1623285fd0d 100644
--- a/meta/recipes-support/dos2unix/dos2unix_7.4.0.bb
+++ b/meta/recipes-support/dos2unix/dos2unix_7.4.1.bb
@@ -6,13 +6,12 @@ HOMEPAGE = "http://waterlan.home.xs4all.nl/dos2unix.html"
 SECTION = "support"
 
 LICENSE = "BSD-2-Clause"
-LIC_FILES_CHKSUM = "file://COPYING.txt;md5=1b78fca784db24f4a40e30b300787f3f"
+LIC_FILES_CHKSUM = "file://COPYING.txt;md5=0c977b18f0a384d03597a517d7d03e32"
 
 SRC_URI = "git://git.code.sf.net/p/dos2unix/dos2unix"
 UPSTREAM_CHECK_GITTAGREGEX = "dos2unix-(?P<pver>(\d+(\.\d+)+))"
 
-# Release 7.4.0
-SRCREV = "1182533bde3c1fe65be2ead465e87671faa2c027"
+SRCREV = "0490f0723b1a0851b17343f6164915f3474b5197"
 
 S = "${WORKDIR}/git/dos2unix"
 
-- 
2.17.1



^ permalink raw reply related	[flat|nested] 62+ messages in thread

* [PATCH 13/30] puzzles: update to latest revision
  2019-12-12 18:14 [PATCH 01/30] rpm: upgrade to 4.15.1 Alexander Kanavin
                   ` (10 preceding siblings ...)
  2019-12-12 18:14 ` [PATCH 12/30] dos2unix: update to 7.4.1 Alexander Kanavin
@ 2019-12-12 18:14 ` Alexander Kanavin
  2019-12-12 18:14 ` [PATCH 14/30] glide: update to 0.13.3 Alexander Kanavin
                   ` (17 subsequent siblings)
  29 siblings, 0 replies; 62+ messages in thread
From: Alexander Kanavin @ 2019-12-12 18:14 UTC (permalink / raw)
  To: openembedded-core

Remove 0001-Use-labs-instead-of-abs.patch as problem is fixed upstream.

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
 .../files/0001-Use-labs-instead-of-abs.patch  | 46 -------------------
 ...isade-Fix-warnings-with-clang-on-arm.patch | 24 ++++------
 ...-string-lenght-parameter-to-be-size_.patch | 23 +++++-----
 ...ix-compiling-failure-with-option-g-O.patch | 23 +++++-----
 meta/recipes-sato/puzzles/puzzles_git.bb      |  3 +-
 5 files changed, 35 insertions(+), 84 deletions(-)
 delete mode 100644 meta/recipes-sato/puzzles/files/0001-Use-labs-instead-of-abs.patch

diff --git a/meta/recipes-sato/puzzles/files/0001-Use-labs-instead-of-abs.patch b/meta/recipes-sato/puzzles/files/0001-Use-labs-instead-of-abs.patch
deleted file mode 100644
index f43d1df6cc8..00000000000
--- a/meta/recipes-sato/puzzles/files/0001-Use-labs-instead-of-abs.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From 9808dc09e08937c9bffd858d3ded428225a4312a Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Mon, 7 Sep 2015 09:02:38 +0000
-Subject: [PATCH] Use labs instead of abs
-
-cluevals is array of longs so we have to use labs() instead of abs()
-since abs() returns int
-
-Fixes
-
-keen.c:1458:17: error: absolute value function 'abs' given an argument
-of type 'long' but has parameter of type 'int' which may cause
-truncation of value
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
-Upstream-Status: Pending
-
- keen.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/keen.c b/keen.c
-index a6a7238..1631992 100644
---- a/keen.c
-+++ b/keen.c
-@@ -1043,7 +1043,7 @@ done
- 		    cluevals[j] *= grid[i];
- 		    break;
- 		  case C_SUB:
--		    cluevals[j] = abs(cluevals[j] - grid[i]);
-+		    cluevals[j] = labs(cluevals[j] - grid[i]);
- 		    break;
- 		  case C_DIV:
- 		    {
-@@ -1455,7 +1455,7 @@ static int check_errors(const game_state *state, long *errors)
- 		cluevals[j] *= state->grid[i];
- 		break;
- 	      case C_SUB:
--		cluevals[j] = abs(cluevals[j] - state->grid[i]);
-+		cluevals[j] = labs(cluevals[j] - state->grid[i]);
- 		break;
- 	      case C_DIV:
- 		{
--- 
-2.5.1
-
diff --git a/meta/recipes-sato/puzzles/files/0001-palisade-Fix-warnings-with-clang-on-arm.patch b/meta/recipes-sato/puzzles/files/0001-palisade-Fix-warnings-with-clang-on-arm.patch
index 5351f8eb4e0..143e898a513 100644
--- a/meta/recipes-sato/puzzles/files/0001-palisade-Fix-warnings-with-clang-on-arm.patch
+++ b/meta/recipes-sato/puzzles/files/0001-palisade-Fix-warnings-with-clang-on-arm.patch
@@ -1,7 +1,7 @@
-From 6d8326275802a2e6e61d3e99460af6891ae8362f Mon Sep 17 00:00:00 2001
+From 453587d714473b806473b309727f865b673cbc06 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Wed, 13 Jan 2016 23:10:19 -0800
-Subject: [puzzles][PATCH] palisade: Fix warnings with clang on arm
+Subject: [PATCH] palisade: Fix warnings with clang on arm
 
 ARM treats 'char' as unsigned char when 'char' is not qualified with
 'signed' or 'unsigned' explicitly.
@@ -16,17 +16,16 @@ type 'clue' (aka 'char') is always false
 Therefore, typcast the contant to char in such places to be explicit
 
 Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
 Upstream-Status: Submitted
-
+---
  palisade.c | 10 +++++-----
  1 file changed, 5 insertions(+), 5 deletions(-)
 
 diff --git a/palisade.c b/palisade.c
-index 984e616..2b9c25c 100644
+index 6ffbf2d..8b54d42 100644
 --- a/palisade.c
 +++ b/palisade.c
-@@ -295,11 +295,11 @@ static void solver_connected_clues_versus_region_size(solver_ctx *ctx)
+@@ -304,11 +304,11 @@ static void solver_connected_clues_versus_region_size(solver_ctx *ctx)
       * If p = q = 3 then the region has size exactly 2. */
  
      for (i = 0; i < wh; ++i) {
@@ -40,8 +39,8 @@ index 984e616..2b9c25c 100644
              if ((8 - ctx->clues[i] - ctx->clues[j] > ctx->params->k) ||
                  (ctx->clues[i] == 3 && ctx->clues[j] == 3 &&
                   ctx->params->k != 2))
-@@ -317,7 +317,7 @@ static int solver_number_exhausted(solver_ctx *ctx)
-     int changed = FALSE;
+@@ -326,7 +326,7 @@ static bool solver_number_exhausted(solver_ctx *ctx)
+     bool changed = false;
  
      for (i = 0; i < wh; ++i) {
 -        if (ctx->clues[i] == EMPTY) continue;
@@ -49,16 +48,16 @@ index 984e616..2b9c25c 100644
  
          if (bitcount[(ctx->borders[i] & BORDER_MASK)] == ctx->clues[i]) {
              for (dir = 0; dir < 4; ++dir) {
-@@ -528,7 +528,7 @@ static int is_solved(const game_params *params, clue *clues,
+@@ -538,7 +538,7 @@ static bool is_solved(const game_params *params, clue *clues,
      for (i = 0; i < wh; ++i) {
-         if (dsf[i] == UNVISITED) dfs_dsf(i, params->w, border, dsf, TRUE);
+         if (dsf[i] == UNVISITED) dfs_dsf(i, params->w, border, dsf, true);
          if (dsf_size(dsf, i) != k) goto error;
 -        if (clues[i] == EMPTY) continue;
 +        if (clues[i] == (char)EMPTY) continue;
          if (clues[i] != bitcount[border[i] & BORDER_MASK]) goto error;
      }
  
-@@ -674,7 +674,7 @@ static char *new_game_desc(const game_params *params, random_state *rs,
+@@ -685,7 +685,7 @@ static char *new_game_desc(const game_params *params, random_state *rs,
      p = numbers;
      r = 0;
      for (i = 0; i < wh; ++i) {
@@ -67,6 +66,3 @@ index 984e616..2b9c25c 100644
              while (r) {
                  while (r > 26) {
                      *p++ = 'z';
--- 
-2.7.0
-
diff --git a/meta/recipes-sato/puzzles/files/0001-pattern.c-Change-string-lenght-parameter-to-be-size_.patch b/meta/recipes-sato/puzzles/files/0001-pattern.c-Change-string-lenght-parameter-to-be-size_.patch
index 9ac62015d8c..7ca582fe5d6 100644
--- a/meta/recipes-sato/puzzles/files/0001-pattern.c-Change-string-lenght-parameter-to-be-size_.patch
+++ b/meta/recipes-sato/puzzles/files/0001-pattern.c-Change-string-lenght-parameter-to-be-size_.patch
@@ -1,4 +1,4 @@
-From 035467aa0abfbc0de7e5d24543d4aab37301593c Mon Sep 17 00:00:00 2001
+From 3af5a1e579e3324a13ba1f892c7befb3ab32d899 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Thu, 7 Mar 2019 21:56:57 -0800
 Subject: [PATCH] pattern.c: Change string lenght parameter to be size_t in
@@ -11,23 +11,24 @@ pattern.c:455:9: error: 'memset' specified size between 18446744071562067968 and
 Upstream-Status: Pending
 
 Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
 ---
  pattern.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/pattern.c b/pattern.c
-index 45b1b0c..f73a4c2 100644
+index ffadd3f..4e5f187 100644
 --- a/pattern.c
 +++ b/pattern.c
-@@ -428,7 +428,7 @@ static int do_row(unsigned char *known, unsigned char *deduced,
-                   unsigned char *row,
-                   unsigned char *minpos_done, unsigned char *maxpos_done,
- 		  unsigned char *minpos_ok, unsigned char *maxpos_ok,
--                  unsigned char *start, int len, int step, int *data,
-+                  unsigned char *start, size_t len, int step, int *data,
- 		  unsigned int *changed
+@@ -428,7 +428,7 @@ static bool do_row(unsigned char *known, unsigned char *deduced,
+                    unsigned char *row,
+                    unsigned char *minpos_done, unsigned char *maxpos_done,
+                    unsigned char *minpos_ok, unsigned char *maxpos_ok,
+-                   unsigned char *start, int len, int step, int *data,
++                   unsigned char *start, size_t len, int step, int *data,
+                    unsigned int *changed
  #ifdef STANDALONE_SOLVER
- 		  , const char *rowcol, int index, int cluewid
+                    , const char *rowcol, int index, int cluewid
 -- 
-2.21.0
+2.17.1
 
diff --git a/meta/recipes-sato/puzzles/files/fix-compiling-failure-with-option-g-O.patch b/meta/recipes-sato/puzzles/files/fix-compiling-failure-with-option-g-O.patch
index c134acde2f2..28040523d4f 100644
--- a/meta/recipes-sato/puzzles/files/fix-compiling-failure-with-option-g-O.patch
+++ b/meta/recipes-sato/puzzles/files/fix-compiling-failure-with-option-g-O.patch
@@ -1,4 +1,7 @@
-gtk.c: fix compiling failure with option -g -O
+From 876c6ff1e20f51b0921acda99861f476b6423f26 Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Mon, 11 Aug 2014 12:39:53 +0800
+Subject: [PATCH] gtk.c: fix compiling failure with option -g -O
 
 There were compiling failure with option -g -O
 ...
@@ -21,23 +24,21 @@ Initialized pointer 'cr' and 'error' with NULL
 Upstream-Status: Pending
 
 Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+
 ---
- gtk.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
+ gtk.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/gtk.c b/gtk.c
-index a2eba2c..c54bf63 100644
+index 4565836..5e83b48 100644
 --- a/gtk.c
 +++ b/gtk.c
-@@ -2481,7 +2481,7 @@ char *fgetline(FILE *fp)
+@@ -2944,7 +2944,7 @@ static void list_presets_from_menu(struct preset_menu *menu)
  int main(int argc, char **argv)
  {
      char *pname = argv[0];
 -    char *error;
 +    char *error = NULL;
-     int ngenerate = 0, print = FALSE, px = 1, py = 1;
-     int time_generation = FALSE, test_solve = FALSE, list_presets = FALSE;
-     int soln = FALSE, colour = FALSE;
--- 
-1.9.1
-
+     int ngenerate = 0, px = 1, py = 1;
+     bool print = false;
+     bool time_generation = false, test_solve = false, list_presets = false;
diff --git a/meta/recipes-sato/puzzles/puzzles_git.bb b/meta/recipes-sato/puzzles/puzzles_git.bb
index 5ee9164b85f..57f2af48eb8 100644
--- a/meta/recipes-sato/puzzles/puzzles_git.bb
+++ b/meta/recipes-sato/puzzles/puzzles_git.bb
@@ -10,7 +10,6 @@ REQUIRED_DISTRO_FEATURES = "x11"
 
 SRC_URI = "git://git.tartarus.org/simon/puzzles.git \
            file://fix-compiling-failure-with-option-g-O.patch \
-           file://0001-Use-labs-instead-of-abs.patch \
            file://0001-palisade-Fix-warnings-with-clang-on-arm.patch \
            file://0001-Use-Wno-error-format-overflow-if-the-compiler-suppor.patch \
            file://0001-pattern.c-Change-string-lenght-parameter-to-be-size_.patch \
@@ -18,7 +17,7 @@ SRC_URI = "git://git.tartarus.org/simon/puzzles.git \
            "
 
 UPSTREAM_CHECK_COMMITS = "1"
-SRCREV = "c6e0161dd475415316ed66dc82794d68e52f0025"
+SRCREV = "1c0c49dd5cd8df6ae87f7be5371be84589fa2662"
 PE = "2"
 PV = "0.0+git${SRCPV}"
 
-- 
2.17.1



^ permalink raw reply related	[flat|nested] 62+ messages in thread

* [PATCH 14/30] glide: update to 0.13.3
  2019-12-12 18:14 [PATCH 01/30] rpm: upgrade to 4.15.1 Alexander Kanavin
                   ` (11 preceding siblings ...)
  2019-12-12 18:14 ` [PATCH 13/30] puzzles: update to latest revision Alexander Kanavin
@ 2019-12-12 18:14 ` Alexander Kanavin
  2019-12-12 18:14 ` [PATCH 15/30] bluez: update 5.50 -> 5.52 Alexander Kanavin
                   ` (16 subsequent siblings)
  29 siblings, 0 replies; 62+ messages in thread
From: Alexander Kanavin @ 2019-12-12 18:14 UTC (permalink / raw)
  To: openembedded-core

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
 .../recipes-devtools/glide/{glide_0.13.2.bb => glide_0.13.3.bb} | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
 rename meta/recipes-devtools/glide/{glide_0.13.2.bb => glide_0.13.3.bb} (98%)

diff --git a/meta/recipes-devtools/glide/glide_0.13.2.bb b/meta/recipes-devtools/glide/glide_0.13.3.bb
similarity index 98%
rename from meta/recipes-devtools/glide/glide_0.13.2.bb
rename to meta/recipes-devtools/glide/glide_0.13.3.bb
index 7faaf4a3888..ebad0ec60a0 100644
--- a/meta/recipes-devtools/glide/glide_0.13.2.bb
+++ b/meta/recipes-devtools/glide/glide_0.13.3.bb
@@ -5,7 +5,7 @@ LIC_FILES_CHKSUM = "file://src/${GO_IMPORT}/LICENSE;md5=54905cf894f8cc416a92f4fc
 
 GO_IMPORT = "github.com/Masterminds/glide"
 SRC_URI = "git://${GO_IMPORT}"
-SRCREV = "9ef6ca313b3200079861f2de4e567b1d22081d19"
+SRCREV = "8ed5b9292379d86c39592a7e6a58eb9c903877cf"
 
 inherit go
 
-- 
2.17.1



^ permalink raw reply related	[flat|nested] 62+ messages in thread

* [PATCH 15/30] bluez: update 5.50 -> 5.52
  2019-12-12 18:14 [PATCH 01/30] rpm: upgrade to 4.15.1 Alexander Kanavin
                   ` (12 preceding siblings ...)
  2019-12-12 18:14 ` [PATCH 14/30] glide: update to 0.13.3 Alexander Kanavin
@ 2019-12-12 18:14 ` Alexander Kanavin
  2019-12-12 18:14 ` [PATCH 16/30] bluez5: disable debug output in ptests Alexander Kanavin
                   ` (15 subsequent siblings)
  29 siblings, 0 replies; 62+ messages in thread
From: Alexander Kanavin @ 2019-12-12 18:14 UTC (permalink / raw)
  To: openembedded-core

Drop a big pile of backports.

Disable zsh completions, as they're unlikely to be useful.

(From OE-Core rev: dad8cd50bcc4203a65d153dc2445502c1e728975)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
---
 meta/recipes-connectivity/bluez5/bluez5.inc   |  22 +-
 ...d-without-systemd-in-the-user-sessio.patch |  12 +-
 ...kefile.am-Fix-a-race-issue-for-tools.patch |  30 --
 ...x-build-after-y2038-changes-in-glibc.patch |  68 ---
 ...1-tools-btpclient.c-include-signal.h.patch |  30 --
 .../bluez5/bluez5/CVE-2018-10910.patch        | 505 ------------------
 .../bluez5/bluez5/gcc9-fixes.patch            | 301 -----------
 .../bluez5/bluez5/out-of-tree.patch           |  26 -
 .../bluez5/{bluez5_5.50.bb => bluez5_5.52.bb} |   4 +-
 9 files changed, 16 insertions(+), 982 deletions(-)
 delete mode 100644 meta/recipes-connectivity/bluez5/bluez5/0001-Makefile.am-Fix-a-race-issue-for-tools.patch
 delete mode 100644 meta/recipes-connectivity/bluez5/bluez5/0001-tools-Fix-build-after-y2038-changes-in-glibc.patch
 delete mode 100644 meta/recipes-connectivity/bluez5/bluez5/0001-tools-btpclient.c-include-signal.h.patch
 delete mode 100644 meta/recipes-connectivity/bluez5/bluez5/CVE-2018-10910.patch
 delete mode 100644 meta/recipes-connectivity/bluez5/bluez5/gcc9-fixes.patch
 delete mode 100644 meta/recipes-connectivity/bluez5/bluez5/out-of-tree.patch
 rename meta/recipes-connectivity/bluez5/{bluez5_5.50.bb => bluez5_5.52.bb} (91%)

diff --git a/meta/recipes-connectivity/bluez5/bluez5.inc b/meta/recipes-connectivity/bluez5/bluez5.inc
index 484509350b0..150d909d735 100644
--- a/meta/recipes-connectivity/bluez5/bluez5.inc
+++ b/meta/recipes-connectivity/bluez5/bluez5.inc
@@ -46,20 +46,13 @@ PACKAGECONFIG[mesh] = "--enable-mesh,--disable-mesh, json-c ell"
 PACKAGECONFIG[btpclient] = "--enable-btpclient,--disable-btpclient, ell"
 PACKAGECONFIG[udev] = "--enable-udev,--disable-udev,udev"
 
-SRC_URI = "\
-    ${KERNELORG_MIRROR}/linux/bluetooth/bluez-${PV}.tar.xz \
-    file://out-of-tree.patch \
-    file://init \
-    file://run-ptest \
-    ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '', 'file://0001-Allow-using-obexd-without-systemd-in-the-user-sessio.patch', d)} \
-    file://0001-tests-add-a-target-for-building-tests-without-runnin.patch \
-    file://0001-test-gatt-Fix-hung-issue.patch \
-    file://0001-Makefile.am-Fix-a-race-issue-for-tools.patch \
-    file://CVE-2018-10910.patch \
-    file://gcc9-fixes.patch \
-    file://0001-tools-Fix-build-after-y2038-changes-in-glibc.patch \
-    file://0001-tools-btpclient.c-include-signal.h.patch \
-"
+SRC_URI = "${KERNELORG_MIRROR}/linux/bluetooth/bluez-${PV}.tar.xz \
+           file://init \
+           file://run-ptest \
+           ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '', 'file://0001-Allow-using-obexd-without-systemd-in-the-user-sessio.patch', d)} \
+           file://0001-tests-add-a-target-for-building-tests-without-runnin.patch \
+           file://0001-test-gatt-Fix-hung-issue.patch \
+           "
 S = "${WORKDIR}/bluez-${PV}"
 
 CVE_PRODUCT = "bluez"
@@ -70,6 +63,7 @@ EXTRA_OECONF = "\
   --enable-test \
   --enable-datafiles \
   --enable-library \
+  --without-zsh-completion-dir \
 "
 
 # bluez5 builds a large number of useful utilities but does not
diff --git a/meta/recipes-connectivity/bluez5/bluez5/0001-Allow-using-obexd-without-systemd-in-the-user-sessio.patch b/meta/recipes-connectivity/bluez5/bluez5/0001-Allow-using-obexd-without-systemd-in-the-user-sessio.patch
index da7140922d9..618ed734a96 100644
--- a/meta/recipes-connectivity/bluez5/bluez5/0001-Allow-using-obexd-without-systemd-in-the-user-sessio.patch
+++ b/meta/recipes-connectivity/bluez5/bluez5/0001-Allow-using-obexd-without-systemd-in-the-user-sessio.patch
@@ -1,4 +1,4 @@
-From 99ccdbe155028c4c789803a429072675b87d0c3a Mon Sep 17 00:00:00 2001
+From f74eb97c9fb3c0ee2895742e773ac6a3c41c999c Mon Sep 17 00:00:00 2001
 From: Giovanni Campagna <gcampagna-cNUdlRotFMnNLxjTenLetw@public.gmane.org>
 Date: Sat, 12 Oct 2013 17:45:25 +0200
 Subject: [PATCH] Allow using obexd without systemd in the user session
@@ -17,22 +17,22 @@ http://thread.gmane.org/gmane.linux.bluez.kernel/38725/focus=38843
 Signed-off-by: Javier Viguera <javier.viguera@digi.com>
 
 ---
- Makefile.obexd                                                  | 4 ++--
- obexd/src/{org.bluez.obex.service => org.bluez.obex.service.in} | 2 +-
+ Makefile.obexd                                                | 4 ++--
+ .../src/{org.bluez.obex.service => org.bluez.obex.service.in} | 2 +-
  2 files changed, 3 insertions(+), 3 deletions(-)
  rename obexd/src/{org.bluez.obex.service => org.bluez.obex.service.in} (76%)
 
 diff --git a/Makefile.obexd b/Makefile.obexd
-index c462692..0325f66 100644
+index de59d29..73004a3 100644
 --- a/Makefile.obexd
 +++ b/Makefile.obexd
 @@ -1,12 +1,12 @@
  if SYSTEMD
- systemduserunitdir = @SYSTEMD_USERUNITDIR@
+ systemduserunitdir = $(SYSTEMD_USERUNITDIR)
  systemduserunit_DATA = obexd/src/obex.service
 +endif
  
- dbussessionbusdir = @DBUS_SESSIONBUSDIR@
+ dbussessionbusdir = $(DBUS_SESSIONBUSDIR)
  dbussessionbus_DATA = obexd/src/org.bluez.obex.service
 -endif
  
diff --git a/meta/recipes-connectivity/bluez5/bluez5/0001-Makefile.am-Fix-a-race-issue-for-tools.patch b/meta/recipes-connectivity/bluez5/bluez5/0001-Makefile.am-Fix-a-race-issue-for-tools.patch
deleted file mode 100644
index b6cb978393e..00000000000
--- a/meta/recipes-connectivity/bluez5/bluez5/0001-Makefile.am-Fix-a-race-issue-for-tools.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-Upstream-Status: Backport
-Signed-off-by: Ross Burton <ross.burton@intel.com>
-
-From 117c41242c01e057295aed80ed973c6dc7e35fe2 Mon Sep 17 00:00:00 2001
-From: Ross Burton <ross.burton@intel.com>
-Date: Tue, 8 Oct 2019 11:01:56 +0100
-Subject: [PATCH BlueZ] Makefile.am: add missing mkdir in rules generation
-
-In parallel out-of-tree builds it's possible that tools/*.rules are
-generated before the target directory has been implicitly created. Solve this by
-creating the directory before writing into it.
----
- Makefile.am | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/Makefile.am b/Makefile.am
-index 2ac28b23d..e7bcd2366 100644
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -589,6 +589,7 @@ src/builtin.h: src/genbuiltin $(builtin_sources)
- 	$(AM_V_GEN)$(srcdir)/src/genbuiltin $(builtin_modules) > $@
- 
- tools/%.rules:
-+	$(AM_V_at)$(MKDIR_P) tools
- 	$(AM_V_GEN)cp $(srcdir)/$(subst 97-,,$@) $@
- 
- $(lib_libbluetooth_la_OBJECTS): $(local_headers)
--- 
-2.20.1
-
diff --git a/meta/recipes-connectivity/bluez5/bluez5/0001-tools-Fix-build-after-y2038-changes-in-glibc.patch b/meta/recipes-connectivity/bluez5/bluez5/0001-tools-Fix-build-after-y2038-changes-in-glibc.patch
deleted file mode 100644
index 9ca20ae53b9..00000000000
--- a/meta/recipes-connectivity/bluez5/bluez5/0001-tools-Fix-build-after-y2038-changes-in-glibc.patch
+++ /dev/null
@@ -1,68 +0,0 @@
-From f36f71f60b1e68c0f12e615b9b128d089ec3dd19 Mon Sep 17 00:00:00 2001
-From: Bastien Nocera <hadess@hadess.net>
-Date: Fri, 7 Jun 2019 09:51:33 +0200
-Subject: [PATCH] tools: Fix build after y2038 changes in glibc
-
-The 32-bit SIOCGSTAMP has been deprecated. Use the deprecated name
-to fix the build.
-
-Upstream-Status: backport commit f36f71f60b1e68c0f12e615b9b128d089ec3dd19
-
-Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
-
----
- tools/l2test.c | 6 +++++-
- tools/rctest.c | 6 +++++-
- 2 files changed, 10 insertions(+), 2 deletions(-)
-
-diff --git a/tools/l2test.c b/tools/l2test.c
-index e755ac881..e787c2ce2 100644
---- a/tools/l2test.c
-+++ b/tools/l2test.c
-@@ -55,6 +55,10 @@
- #define BREDR_DEFAULT_PSM	0x1011
- #define LE_DEFAULT_PSM		0x0080
- 
-+#ifndef SIOCGSTAMP_OLD
-+#define SIOCGSTAMP_OLD SIOCGSTAMP
-+#endif
-+
- /* Test modes */
- enum {
- 	SEND,
-@@ -907,7 +911,7 @@ static void recv_mode(int sk)
- 			if (timestamp) {
- 				struct timeval tv;
- 
--				if (ioctl(sk, SIOCGSTAMP, &tv) < 0) {
-+				if (ioctl(sk, SIOCGSTAMP_OLD, &tv) < 0) {
- 					timestamp = 0;
- 					memset(ts, 0, sizeof(ts));
- 				} else {
-diff --git a/tools/rctest.c b/tools/rctest.c
-index 94490f462..bc8ed875d 100644
---- a/tools/rctest.c
-+++ b/tools/rctest.c
-@@ -50,6 +50,10 @@
- 
- #include "src/shared/util.h"
- 
-+#ifndef SIOCGSTAMP_OLD
-+#define SIOCGSTAMP_OLD SIOCGSTAMP
-+#endif
-+
- /* Test modes */
- enum {
- 	SEND,
-@@ -505,7 +509,7 @@ static void recv_mode(int sk)
- 			if (timestamp) {
- 				struct timeval tv;
- 
--				if (ioctl(sk, SIOCGSTAMP, &tv) < 0) {
-+				if (ioctl(sk, SIOCGSTAMP_OLD, &tv) < 0) {
- 					timestamp = 0;
- 					memset(ts, 0, sizeof(ts));
- 				} else {
--- 
-2.19.1
-
diff --git a/meta/recipes-connectivity/bluez5/bluez5/0001-tools-btpclient.c-include-signal.h.patch b/meta/recipes-connectivity/bluez5/bluez5/0001-tools-btpclient.c-include-signal.h.patch
deleted file mode 100644
index 620aaabc687..00000000000
--- a/meta/recipes-connectivity/bluez5/bluez5/0001-tools-btpclient.c-include-signal.h.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 0b1766514f6847c7367fce07f19a750ec74c11a6 Mon Sep 17 00:00:00 2001
-From: Robert Yang <liezhi.yang@windriver.com>
-Date: Thu, 26 Sep 2019 16:19:34 +0800
-Subject: [PATCH] tools/btpclient.c: include signal.h
-
-Fix compile failure when configure --enable-btpclient:
-btpclient.c:2834:7: error: 'SIGINT' undeclared (first use in this function)
-
-Upstream-Status: Backport [A subset of the full fix that went upstream]
-
-Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
----
- tools/btpclient.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/tools/btpclient.c b/tools/btpclient.c
-index b217df5..aece7fe 100644
---- a/tools/btpclient.c
-+++ b/tools/btpclient.c
-@@ -29,6 +29,7 @@
- #include <stdlib.h>
- #include <assert.h>
- #include <getopt.h>
-+#include <signal.h>
- 
- #include <ell/ell.h>
- 
--- 
-2.7.4
-
diff --git a/meta/recipes-connectivity/bluez5/bluez5/CVE-2018-10910.patch b/meta/recipes-connectivity/bluez5/bluez5/CVE-2018-10910.patch
deleted file mode 100644
index 2a780774439..00000000000
--- a/meta/recipes-connectivity/bluez5/bluez5/CVE-2018-10910.patch
+++ /dev/null
@@ -1,505 +0,0 @@
-From 977321f2c7f974ea68a3d90df296c66189a3f254 Mon Sep 17 00:00:00 2001
-From: Lei Maohui <leimaohui@cn.fujitsu.com>
-Date: Fri, 21 Jun 2019 17:57:35 +0900
-Subject: [PATCH] CVE-2018-10910
-
-A bug in Bluez may allow for the Bluetooth Discoverable state being set to on
-when no Bluetooth agent is registered with the system. This situation could
-lead to the unauthorized pairing of certain Bluetooth devices without any
-form of authentication.
-
-CVE: CVE-2018-10910
-Upstream-Status: Backport
-Signed-off-by: Ross Burton <ross.burton@intel.com>
-
-Subject:    [PATCH BlueZ 1/4] client: Add discoverable-timeout command
-From:       Luiz Augusto von Dentz <luiz.dentz () gmail ! com>
-Date:       2018-07-25 10:20:32
-Message-ID: 20180725102035.19439-1-luiz.dentz () gmail ! com
-[Download RAW message or body]
-
-From: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
-
-This adds discoverable-timeout command which can be used to get/set
-DiscoverableTimeout property:
-
-[bluetooth]# discoverable-timeout 180
-Changing discoverable-timeout 180 succeeded
----
- client/main.c       |  82 +++++++++++++++++++++++++++++++++-
- doc/adapter-api.txt |   6 +++
- src/adapter.c       | 125 ++++++++++++++++++++++++++++++++++++++++++++++------
- 3 files changed, 198 insertions(+), 15 deletions(-)
-
-diff --git a/client/main.c b/client/main.c
-index 87323d8..1a66a3a 100644
---- a/client/main.c
-+++ b/client/main.c
-@@ -877,6 +877,7 @@ static void cmd_show(int argc, char *argv[])
- 	print_property(proxy, "Class");
- 	print_property(proxy, "Powered");
- 	print_property(proxy, "Discoverable");
-+	print_property(proxy, "DiscoverableTimeout");
- 	print_property(proxy, "Pairable");
- 	print_uuids(proxy);
- 	print_property(proxy, "Modalias");
-@@ -1061,6 +1062,47 @@ static void cmd_discoverable(int argc, char *argv[])
- 	return bt_shell_noninteractive_quit(EXIT_FAILURE);
- }
- 
-+static void cmd_discoverable_timeout(int argc, char *argv[])
-+{
-+	uint32_t value;
-+	char *endptr = NULL;
-+	char *str;
-+
-+	if (argc < 2) {
-+		DBusMessageIter iter;
-+
-+		if (!g_dbus_proxy_get_property(default_ctrl->proxy,
-+					"DiscoverableTimeout", &iter)) {
-+			bt_shell_printf("Unable to get DiscoverableTimeout\n");
-+			return bt_shell_noninteractive_quit(EXIT_FAILURE);
-+		}
-+
-+		dbus_message_iter_get_basic(&iter, &value);
-+
-+		bt_shell_printf("DiscoverableTimeout: %d seconds\n", value);
-+
-+		return;
-+	}
-+
-+	value = strtol(argv[1], &endptr, 0);
-+	if (!endptr || *endptr != '\0' || value > UINT32_MAX) {
-+		bt_shell_printf("Invalid argument\n");
-+		return bt_shell_noninteractive_quit(EXIT_FAILURE);
-+	}
-+
-+	str = g_strdup_printf("discoverable-timeout %d", value);
-+
-+	if (g_dbus_proxy_set_property_basic(default_ctrl->proxy,
-+					"DiscoverableTimeout",
-+					DBUS_TYPE_UINT32, &value,
-+					generic_callback, str, g_free))
-+		return;
-+
-+	g_free(str);
-+
-+	return bt_shell_noninteractive_quit(EXIT_FAILURE);
-+}
-+
- static void cmd_agent(int argc, char *argv[])
- {
- 	dbus_bool_t enable;
-@@ -1124,6 +1166,7 @@ static struct set_discovery_filter_args {
- 	char **uuids;
- 	size_t uuids_len;
- 	dbus_bool_t duplicate;
-+	dbus_bool_t discoverable;
- 	bool set;
- } filter = {
- 	.rssi = DISTANCE_VAL_INVALID,
-@@ -1163,6 +1206,11 @@ static void set_discovery_filter_setup(DBusMessageIter *iter, void *user_data)
- 						DBUS_TYPE_BOOLEAN,
- 						&args->duplicate);
- 
-+	if (args->discoverable)
-+		g_dbus_dict_append_entry(&dict, "Discoverable",
-+						DBUS_TYPE_BOOLEAN,
-+						&args->discoverable);
-+
- 	dbus_message_iter_close_container(iter, &dict);
- }
- 
-@@ -1320,6 +1368,26 @@ static void cmd_scan_filter_duplicate_data(int argc, char *argv[])
- 	filter.set = false;
- }
- 
-+static void cmd_scan_filter_discoverable(int argc, char *argv[])
-+{
-+	if (argc < 2 || !strlen(argv[1])) {
-+		bt_shell_printf("Discoverable: %s\n",
-+				filter.discoverable ? "on" : "off");
-+		return bt_shell_noninteractive_quit(EXIT_SUCCESS);
-+	}
-+
-+	if (!strcmp(argv[1], "on"))
-+		filter.discoverable = true;
-+	else if (!strcmp(argv[1], "off"))
-+		filter.discoverable = false;
-+	else {
-+		bt_shell_printf("Invalid option: %s\n", argv[1]);
-+		return bt_shell_noninteractive_quit(EXIT_FAILURE);
-+	}
-+
-+	filter.set = false;
-+}
-+
- static void filter_clear_uuids(void)
- {
- 	g_strfreev(filter.uuids);
-@@ -1348,6 +1416,11 @@ static void filter_clear_duplicate(void)
- 	filter.duplicate = false;
- }
- 
-+static void filter_clear_discoverable(void)
-+{
-+	filter.discoverable = false;
-+}
-+
- struct clear_entry {
- 	const char *name;
- 	void (*clear) (void);
-@@ -1359,6 +1432,7 @@ static const struct clear_entry filter_clear[] = {
- 	{ "pathloss", filter_clear_pathloss },
- 	{ "transport", filter_clear_transport },
- 	{ "duplicate-data", filter_clear_duplicate },
-+	{ "discoverable", filter_clear_discoverable },
- 	{}
- };
- 
-@@ -2468,7 +2542,11 @@ static const struct bt_shell_menu scan_menu = {
- 	{ "duplicate-data", "[on/off]", cmd_scan_filter_duplicate_data,
- 				"Set/Get duplicate data filter",
- 				NULL },
--	{ "clear", "[uuids/rssi/pathloss/transport/duplicate-data]",
-+	{ "discoverable", "[on/off]", cmd_scan_filter_discoverable,
-+				"Set/Get discoverable filter",
-+				NULL },
-+	{ "clear",
-+		"[uuids/rssi/pathloss/transport/duplicate-data/discoverable]",
- 				cmd_scan_filter_clear,
- 				"Clears discovery filter.",
- 				filter_clear_generator },
-@@ -2549,6 +2627,8 @@ static const struct bt_shell_menu main_menu = {
- 	{ "discoverable", "<on/off>", cmd_discoverable,
- 					"Set controller discoverable mode",
- 							NULL },
-+	{ "discoverable-timeout", "[value]", cmd_discoverable_timeout,
-+					"Set discoverable timeout", NULL },
- 	{ "agent",        "<on/off/capability>", cmd_agent,
- 				"Enable/disable agent with given capability",
- 							capability_generator},
-diff --git a/doc/adapter-api.txt b/doc/adapter-api.txt
-index d14d0ca..4791af2 100644
---- a/doc/adapter-api.txt
-+++ b/doc/adapter-api.txt
-@@ -113,6 +113,12 @@ Methods		void StartDiscovery()
- 				generated for either ManufacturerData and
- 				ServiceData everytime they are discovered.
- 
-+			bool Discoverable (Default: false)
-+
-+				Make adapter discoverable while discovering,
-+				if the adapter is already discoverable this
-+				setting this filter won't do anything.
-+
- 			When discovery filter is set, Device objects will be
- 			created as new devices with matching criteria are
- 			discovered regardless of they are connectable or
-diff --git a/src/adapter.c b/src/adapter.c
-index af340fd..822bd34 100644
---- a/src/adapter.c
-+++ b/src/adapter.c
-@@ -157,6 +157,7 @@ struct discovery_filter {
- 	int16_t rssi;
- 	GSList *uuids;
- 	bool duplicate;
-+	bool discoverable;
- };
- 
- struct watch_client {
-@@ -196,6 +197,7 @@ struct btd_adapter {
- 	char *name;			/* controller device name */
- 	char *short_name;		/* controller short name */
- 	uint32_t supported_settings;	/* controller supported settings */
-+	uint32_t pending_settings;	/* pending controller settings */
- 	uint32_t current_settings;	/* current controller settings */
- 
- 	char *path;			/* adapter object path */
-@@ -213,6 +215,7 @@ struct btd_adapter {
- 
- 	bool discovering;		/* discovering property state */
- 	bool filtered_discovery;	/* we are doing filtered discovery */
-+	bool filtered_discoverable;	/* we are doing filtered discovery */
- 	bool no_scan_restart_delay;	/* when this flag is set, restart scan
- 					 * without delay */
- 	uint8_t discovery_type;		/* current active discovery type */
-@@ -509,8 +512,10 @@ static void settings_changed(struct btd_adapter *adapter, uint32_t settings)
- 	changed_mask = adapter->current_settings ^ settings;
- 
- 	adapter->current_settings = settings;
-+	adapter->pending_settings &= ~changed_mask;
- 
- 	DBG("Changed settings: 0x%08x", changed_mask);
-+	DBG("Pending settings: 0x%08x", adapter->pending_settings);
- 
- 	if (changed_mask & MGMT_SETTING_POWERED) {
- 	        g_dbus_emit_property_changed(dbus_conn, adapter->path,
-@@ -596,10 +601,31 @@ static bool set_mode(struct btd_adapter *adapter, uint16_t opcode,
- 							uint8_t mode)
- {
- 	struct mgmt_mode cp;
-+	uint32_t setting = 0;
- 
- 	memset(&cp, 0, sizeof(cp));
- 	cp.val = mode;
- 
-+	switch (mode) {
-+	case MGMT_OP_SET_POWERED:
-+		setting = MGMT_SETTING_POWERED;
-+		break;
-+	case MGMT_OP_SET_CONNECTABLE:
-+		setting = MGMT_SETTING_CONNECTABLE;
-+		break;
-+	case MGMT_OP_SET_FAST_CONNECTABLE:
-+		setting = MGMT_SETTING_FAST_CONNECTABLE;
-+		break;
-+	case MGMT_OP_SET_DISCOVERABLE:
-+		setting = MGMT_SETTING_DISCOVERABLE;
-+		break;
-+	case MGMT_OP_SET_BONDABLE:
-+		setting = MGMT_SETTING_DISCOVERABLE;
-+		break;
-+	}
-+
-+	adapter->pending_settings |= setting;
-+
- 	DBG("sending set mode command for index %u", adapter->dev_id);
- 
- 	if (mgmt_send(adapter->mgmt, opcode,
-@@ -1818,7 +1844,17 @@ static void discovery_free(void *user_data)
- 	g_free(client);
- }
- 
--static void discovery_remove(struct watch_client *client)
-+static bool set_filtered_discoverable(struct btd_adapter *adapter, bool enable)
-+{
-+	if (adapter->filtered_discoverable == enable)
-+		return true;
-+
-+	adapter->filtered_discoverable = enable;
-+
-+	return set_discoverable(adapter, enable, 0);
-+}
-+
-+static void discovery_remove(struct watch_client *client, bool exit)
- {
- 	struct btd_adapter *adapter = client->adapter;
- 
-@@ -1830,7 +1866,27 @@ static void discovery_remove(struct watch_client *client)
- 	adapter->discovery_list = g_slist_remove(adapter->discovery_list,
- 								client);
- 
--	discovery_free(client);
-+	if (adapter->filtered_discoverable &&
-+			client->discovery_filter->discoverable) {
-+		GSList *l;
-+
-+		for (l = adapter->discovery_list; l; l = g_slist_next(l)) {
-+			struct watch_client *client = l->data;
-+
-+			if (client->discovery_filter->discoverable)
-+				break;
-+		}
-+
-+		/* Disable filtered discoverable if there are no clients */
-+		if (!l)
-+			set_filtered_discoverable(adapter, false);
-+	}
-+
-+	if (!exit && client->discovery_filter)
-+		adapter->set_filter_list = g_slist_prepend(
-+					adapter->set_filter_list, client);
-+	else
-+		discovery_free(client);
- 
- 	/*
- 	 * If there are other client discoveries in progress, then leave
-@@ -1859,8 +1915,11 @@ static void stop_discovery_complete(uint8_t status, uint16_t length,
- 		goto done;
- 	}
- 
--	if (client->msg)
-+	if (client->msg) {
- 		g_dbus_send_reply(dbus_conn, client->msg, DBUS_TYPE_INVALID);
-+		dbus_message_unref(client->msg);
-+		client->msg = NULL;
-+	}
- 
- 	adapter->discovery_type = 0x00;
- 	adapter->discovery_enable = 0x00;
-@@ -1873,7 +1932,7 @@ static void stop_discovery_complete(uint8_t status, uint16_t length,
- 	trigger_passive_scanning(adapter);
- 
- done:
--	discovery_remove(client);
-+	discovery_remove(client, false);
- }
- 
- static int compare_sender(gconstpointer a, gconstpointer b)
-@@ -2094,14 +2153,14 @@ static int update_discovery_filter(struct btd_adapter *adapter)
- 	return -EINPROGRESS;
- }
- 
--static int discovery_stop(struct watch_client *client)
-+static int discovery_stop(struct watch_client *client, bool exit)
- {
- 	struct btd_adapter *adapter = client->adapter;
- 	struct mgmt_cp_stop_discovery cp;
- 
- 	/* Check if there are more client discovering */
- 	if (g_slist_next(adapter->discovery_list)) {
--		discovery_remove(client);
-+		discovery_remove(client, exit);
- 		update_discovery_filter(adapter);
- 		return 0;
- 	}
-@@ -2111,7 +2170,7 @@ static int discovery_stop(struct watch_client *client)
- 	 * and so it is enough to send out the signal and just return.
- 	 */
- 	if (adapter->discovery_enable == 0x00) {
--		discovery_remove(client);
-+		discovery_remove(client, exit);
- 		adapter->discovering = false;
- 		g_dbus_emit_property_changed(dbus_conn, adapter->path,
- 					ADAPTER_INTERFACE, "Discovering");
-@@ -2136,7 +2195,7 @@ static void discovery_disconnect(DBusConnection *conn, void *user_data)
- 
- 	DBG("owner %s", client->owner);
- 
--	discovery_stop(client);
-+	discovery_stop(client, true);
- }
- 
- /*
-@@ -2200,6 +2259,15 @@ static DBusMessage *start_discovery(DBusConnection *conn,
- 					     adapter->set_filter_list, client);
- 		adapter->discovery_list = g_slist_prepend(
- 					      adapter->discovery_list, client);
-+
-+		/* Reset discoverable filter if already set */
-+		if (adapter->current_settings & MGMT_OP_SET_DISCOVERABLE)
-+			goto done;
-+
-+		/* Set discoverable if filter requires and it*/
-+		if (client->discovery_filter->discoverable)
-+			set_filtered_discoverable(adapter, true);
-+
- 		goto done;
- 	}
- 
-@@ -2324,6 +2392,17 @@ static bool parse_duplicate_data(DBusMessageIter *value,
- 	return true;
- }
- 
-+static bool parse_discoverable(DBusMessageIter *value,
-+					struct discovery_filter *filter)
-+{
-+	if (dbus_message_iter_get_arg_type(value) != DBUS_TYPE_BOOLEAN)
-+		return false;
-+
-+	dbus_message_iter_get_basic(value, &filter->discoverable);
-+
-+	return true;
-+}
-+
- struct filter_parser {
- 	const char *name;
- 	bool (*func)(DBusMessageIter *iter, struct discovery_filter *filter);
-@@ -2333,6 +2412,7 @@ struct filter_parser {
- 	{ "Pathloss", parse_pathloss },
- 	{ "Transport", parse_transport },
- 	{ "DuplicateData", parse_duplicate_data },
-+	{ "Discoverable", parse_discoverable },
- 	{ }
- };
- 
-@@ -2372,6 +2452,7 @@ static bool parse_discovery_filter_dict(struct btd_adapter *adapter,
- 	(*filter)->rssi = DISTANCE_VAL_INVALID;
- 	(*filter)->type = get_scan_type(adapter);
- 	(*filter)->duplicate = false;
-+	(*filter)->discoverable = false;
- 
- 	dbus_message_iter_init(msg, &iter);
- 	if (dbus_message_iter_get_arg_type(&iter) != DBUS_TYPE_ARRAY ||
-@@ -2417,8 +2498,10 @@ static bool parse_discovery_filter_dict(struct btd_adapter *adapter,
- 		goto invalid_args;
- 
- 	DBG("filtered discovery params: transport: %d rssi: %d pathloss: %d "
--		" duplicate data: %s ", (*filter)->type, (*filter)->rssi,
--		(*filter)->pathloss, (*filter)->duplicate ? "true" : "false");
-+		" duplicate data: %s discoverable %s", (*filter)->type,
-+		(*filter)->rssi, (*filter)->pathloss,
-+		(*filter)->duplicate ? "true" : "false",
-+		(*filter)->discoverable ? "true" : "false");
- 
- 	return true;
- 
-@@ -2510,7 +2593,7 @@ static DBusMessage *stop_discovery(DBusConnection *conn,
- 	if (client->msg)
- 		return btd_error_busy(msg);
- 
--	err = discovery_stop(client);
-+	err = discovery_stop(client, false);
- 	switch (err) {
- 	case 0:
- 		return dbus_message_new_method_return(msg);
-@@ -2739,13 +2822,15 @@ static void property_set_mode(struct btd_adapter *adapter, uint32_t setting,
- 	else
- 		current_enable = FALSE;
- 
--	if (enable == current_enable) {
-+	if (enable == current_enable || adapter->pending_settings & setting) {
- 		g_dbus_pending_property_success(id);
- 		return;
- 	}
- 
- 	mode = (enable == TRUE) ? 0x01 : 0x00;
- 
-+	adapter->pending_settings |= setting;
-+
- 	switch (setting) {
- 	case MGMT_SETTING_POWERED:
- 		opcode = MGMT_OP_SET_POWERED;
-@@ -2798,7 +2883,7 @@ static void property_set_mode(struct btd_adapter *adapter, uint32_t setting,
- 	data->id = id;
- 
- 	if (mgmt_send(adapter->mgmt, opcode, adapter->dev_id, len, param,
--				property_set_mode_complete, data, g_free) > 0)
-+			property_set_mode_complete, data, g_free) > 0)
- 		return;
- 
- 	g_free(data);
-@@ -2875,6 +2960,7 @@ static void property_set_discoverable_timeout(
- 				GDBusPendingPropertySet id, void *user_data)
- {
- 	struct btd_adapter *adapter = user_data;
-+	bool enabled;
- 	dbus_uint32_t value;
- 
- 	dbus_message_iter_get_basic(iter, &value);
-@@ -2888,8 +2974,19 @@ static void property_set_discoverable_timeout(
- 	g_dbus_emit_property_changed(dbus_conn, adapter->path,
- 				ADAPTER_INTERFACE, "DiscoverableTimeout");
- 
-+	if (adapter->pending_settings & MGMT_SETTING_DISCOVERABLE) {
-+		if (adapter->current_settings & MGMT_SETTING_DISCOVERABLE)
-+			enabled = false;
-+		else
-+			enabled = true;
-+	} else {
-+		if (adapter->current_settings & MGMT_SETTING_DISCOVERABLE)
-+			enabled = true;
-+		else
-+			enabled = false;
-+	}
- 
--	if (adapter->current_settings & MGMT_SETTING_DISCOVERABLE)
-+	if (enabled)
- 		set_discoverable(adapter, 0x01, adapter->discoverable_timeout);
- }
- 
--- 
-2.7.4
-
diff --git a/meta/recipes-connectivity/bluez5/bluez5/gcc9-fixes.patch b/meta/recipes-connectivity/bluez5/bluez5/gcc9-fixes.patch
deleted file mode 100644
index ca678e601e7..00000000000
--- a/meta/recipes-connectivity/bluez5/bluez5/gcc9-fixes.patch
+++ /dev/null
@@ -1,301 +0,0 @@
-Backported commit from upstream master branch (post 5.50 release), which
-resolves assertion failures in several unit tests.
-
-https://git.kernel.org/pub/scm/bluetooth/bluez.git/patch/?id=0be5246170
-
-Upstream-Status: Backport
-Signed-off-by: Ross Burton <ross.burton@intel.com>
-
-diff --git a/unit/test-avctp.c b/unit/test-avctp.c
-index 3bc3569..24de663 100644
---- a/unit/test-avctp.c
-+++ b/unit/test-avctp.c
-@@ -43,7 +43,7 @@
- 
- struct test_pdu {
- 	bool valid;
--	const uint8_t *data;
-+	uint8_t *data;
- 	size_t size;
- };
- 
-@@ -66,7 +66,7 @@ struct context {
- #define raw_pdu(args...)					\
- 	{							\
- 		.valid = true,					\
--		.data = data(args),				\
-+		.data = g_memdup(data(args), sizeof(data(args))), \
- 		.size = sizeof(data(args)),			\
- 	}
- 
-@@ -91,6 +91,11 @@ static void test_debug(const char *str, void *user_data)
- static void test_free(gconstpointer user_data)
- {
- 	const struct test_data *data = user_data;
-+	struct test_pdu *pdu;
-+	int i;
-+
-+	for (i = 0; (pdu = &data->pdu_list[i]) && pdu->valid; i++)
-+		g_free(pdu->data);
- 
- 	g_free(data->test_name);
- 	g_free(data->pdu_list);
-diff --git a/unit/test-avdtp.c b/unit/test-avdtp.c
-index dd8aed7..e2c951a 100644
---- a/unit/test-avdtp.c
-+++ b/unit/test-avdtp.c
-@@ -47,7 +47,7 @@
- struct test_pdu {
- 	bool valid;
- 	bool fragmented;
--	const uint8_t *data;
-+	uint8_t *data;
- 	size_t size;
- };
- 
-@@ -61,7 +61,7 @@ struct test_data {
- #define raw_pdu(args...) \
- 	{							\
- 		.valid = true,					\
--		.data = data(args),				\
-+		.data = g_memdup(data(args), sizeof(data(args))), \
- 		.size = sizeof(data(args)),			\
- 	}
- 
-@@ -69,7 +69,7 @@ struct test_data {
- 	{							\
- 		.valid = true,					\
- 		.fragmented = true,				\
--		.data = data(args),				\
-+		.data = g_memdup(data(args), sizeof(data(args))), \
- 		.size = sizeof(data(args)),			\
- 	}
- 
-@@ -81,7 +81,7 @@ struct test_data {
- 		static struct test_data data;				\
- 		data.test_name = g_strdup(name);			\
- 		data.pdu_list = g_memdup(pdus, sizeof(pdus));		\
--		tester_add(name, &data, NULL, function, NULL);		\
-+		tester_add(name, &data, NULL, function, NULL);	\
- 	} while (0)
- 
- struct context {
-@@ -109,6 +109,11 @@ static void test_debug(const char *str, void *user_data)
- static void test_free(gconstpointer user_data)
- {
- 	const struct test_data *data = user_data;
-+	struct test_pdu *pdu;
-+	int i;
-+
-+	for (i = 0; (pdu = &data->pdu_list[i]) && pdu->valid; i++)
-+		g_free(pdu->data);
- 
- 	g_free(data->test_name);
- 	g_free(data->pdu_list);
-diff --git a/unit/test-avrcp.c b/unit/test-avrcp.c
-index 01307e6..f1aa353 100644
---- a/unit/test-avrcp.c
-+++ b/unit/test-avrcp.c
-@@ -49,7 +49,7 @@ struct test_pdu {
- 	bool fragmented;
- 	bool continuing;
- 	bool browse;
--	const uint8_t *data;
-+	uint8_t *data;
- 	size_t size;
- };
- 
-@@ -74,7 +74,7 @@ struct context {
- #define raw_pdu(args...)					\
- 	{							\
- 		.valid = true,					\
--		.data = data(args),				\
-+		.data = g_memdup(data(args), sizeof(data(args))), \
- 		.size = sizeof(data(args)),			\
- 	}
- 
-@@ -82,7 +82,7 @@ struct context {
- 	{							\
- 		.valid = true,					\
- 		.browse = true,					\
--		.data = data(args),				\
-+		.data = g_memdup(data(args), sizeof(data(args))), \
- 		.size = sizeof(data(args)),			\
- 	}
- 
-@@ -90,7 +90,7 @@ struct context {
- 	{							\
- 		.valid = true,					\
- 		.fragmented = true,				\
--		.data = data(args),				\
-+		.data = g_memdup(data(args), sizeof(data(args))), \
- 		.size = sizeof(data(args)),			\
- 	}
- 
-@@ -98,7 +98,7 @@ struct context {
- 	{							\
- 		.valid = true,					\
- 		.continuing = true,				\
--		.data = data(args),				\
-+		.data = g_memdup(data(args), sizeof(data(args))), \
- 		.size = sizeof(data(args)),			\
- 	}
- 
-@@ -123,6 +123,11 @@ static void test_debug(const char *str, void *user_data)
- static void test_free(gconstpointer user_data)
- {
- 	const struct test_data *data = user_data;
-+	struct test_pdu *pdu;
-+	int i;
-+
-+	for (i = 0; (pdu = &data->pdu_list[i]) && pdu->valid; i++)
-+		g_free(pdu->data);
- 
- 	g_free(data->test_name);
- 	g_free(data->pdu_list);
-diff --git a/unit/test-gatt.c b/unit/test-gatt.c
-index c7e28f8..d49f7a0 100644
---- a/unit/test-gatt.c
-+++ b/unit/test-gatt.c
-@@ -48,7 +48,7 @@
- 
- struct test_pdu {
- 	bool valid;
--	const uint8_t *data;
-+	uint8_t *data;
- 	size_t size;
- };
- 
-@@ -86,7 +86,7 @@ struct context {
- #define raw_pdu(args...)					\
- 	{							\
- 		.valid = true,					\
--		.data = data(args),				\
-+		.data = g_memdup(data(args), sizeof(data(args))), \
- 		.size = sizeof(data(args)),			\
- 	}
- 
-@@ -306,6 +306,11 @@ static bt_uuid_t uuid_char_128 = {
- static void test_free(gconstpointer user_data)
- {
- 	const struct test_data *data = user_data;
-+	struct test_pdu *pdu;
-+	int i;
-+
-+	for (i = 0; (pdu = &data->pdu_list[i]) && pdu->valid; i++)
-+		g_free(pdu->data);
- 
- 	g_free(data->test_name);
- 	g_free(data->pdu_list);
-@@ -1911,6 +1916,8 @@ static void test_server(gconstpointer data)
- 	g_assert_cmpint(len, ==, pdu.size);
- 
- 	util_hexdump('<', pdu.data, len, test_debug, "GATT: ");
-+
-+	g_free(pdu.data);
- }
- 
- static void test_search_primary(gconstpointer data)
-diff --git a/unit/test-hfp.c b/unit/test-hfp.c
-index f2b9622..890eee6 100644
---- a/unit/test-hfp.c
-+++ b/unit/test-hfp.c
-@@ -43,7 +43,7 @@ struct context {
- 
- struct test_pdu {
- 	bool valid;
--	const uint8_t *data;
-+	uint8_t *data;
- 	size_t size;
- 	enum hfp_gw_cmd_type type;
- 	bool fragmented;
-@@ -63,7 +63,7 @@ struct test_data {
- #define raw_pdu(args...)					\
- 	{							\
- 		.valid = true,					\
--		.data = data(args),				\
-+		.data = g_memdup(data(args), sizeof(data(args))), \
- 		.size = sizeof(data(args)),			\
- 	}
- 
-@@ -75,7 +75,7 @@ struct test_data {
- #define type_pdu(cmd_type, args...)				\
- 	{							\
- 		.valid = true,					\
--		.data = data(args),				\
-+		.data = g_memdup(data(args), sizeof(data(args))), \
- 		.size = sizeof(data(args)),			\
- 		.type = cmd_type,				\
- 	}
-@@ -83,7 +83,7 @@ struct test_data {
- #define frg_pdu(args...)					\
- 	{							\
- 		.valid = true,					\
--		.data = data(args),				\
-+		.data = g_memdup(data(args), sizeof(data(args))), \
- 		.size = sizeof(data(args)),			\
- 		.fragmented = true,				\
- 	}
-@@ -119,6 +119,11 @@ struct test_data {
- static void test_free(gconstpointer user_data)
- {
- 	const struct test_data *data = user_data;
-+	struct test_pdu *pdu;
-+	int i;
-+
-+	for (i = 0; (pdu = &data->pdu_list[i]) && pdu->valid; i++)
-+		g_free(pdu->data);
- 
- 	g_free(data->test_name);
- 	g_free(data->pdu_list);
-diff --git a/unit/test-hog.c b/unit/test-hog.c
-index d117968..25bdb42 100644
---- a/unit/test-hog.c
-+++ b/unit/test-hog.c
-@@ -68,11 +68,11 @@ struct context {
- 
- #define data(args...) ((const unsigned char[]) { args })
- 
--#define raw_pdu(args...)    \
--{      \
--	.valid = true,		\
--	.data = data(args), \
--	.size = sizeof(data(args)),\
-+#define raw_pdu(args...)					\
-+{								\
-+	.valid = true,						\
-+	.data = g_memdup(data(args), sizeof(data(args))),	\
-+	.size = sizeof(data(args)),				\
- }
- 
- #define false_pdu()	\
-diff --git a/unit/test-sdp.c b/unit/test-sdp.c
-index ac921a9..c71ee1f 100644
---- a/unit/test-sdp.c
-+++ b/unit/test-sdp.c
-@@ -59,14 +59,14 @@ struct test_data {
- #define raw_pdu(args...) \
- 	{							\
- 		.valid = true,					\
--		.raw_data = raw_data(args),			\
-+		.raw_data = g_memdup(raw_data(args), sizeof(raw_data(args))), \
- 		.raw_size = sizeof(raw_data(args)),		\
- 	}
- 
- #define raw_pdu_cont(cont, args...) \
- 	{							\
- 		.valid = true,					\
--		.raw_data = raw_data(args),			\
-+		.raw_data = g_memdup(raw_data(args), sizeof(raw_data(args))), \
- 		.raw_size = sizeof(raw_data(args)),		\
- 		.cont_len = cont,				\
- 	}
-@@ -103,7 +103,7 @@ struct test_data_de {
- #define define_test_de_attr(name, input, exp) \
- 	do {								\
- 		static struct test_data_de data;			\
--		data.input_data = input;				\
-+		data.input_data = g_memdup(input, sizeof(input));	\
- 		data.input_size = sizeof(input);			\
- 		data.expected = exp;					\
- 		tester_add("/sdp/DE/ATTR/" name, &data,	NULL,		\
diff --git a/meta/recipes-connectivity/bluez5/bluez5/out-of-tree.patch b/meta/recipes-connectivity/bluez5/bluez5/out-of-tree.patch
deleted file mode 100644
index 76ed7792589..00000000000
--- a/meta/recipes-connectivity/bluez5/bluez5/out-of-tree.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From ed55b49a226ca3909f52416be2ae5ce1c5ca2cb2 Mon Sep 17 00:00:00 2001
-From: Ross Burton <ross.burton@intel.com>
-Date: Fri, 22 Apr 2016 15:40:37 +0100
-Subject: [PATCH] Makefile.obexd: add missing mkdir in builtin.h generation
-
-In parallel out-of-tree builds it's possible that obexd/src/builtin.h is
-generated before the target directory has been implicitly created. Solve this by
-creating the directory before writing into it.
-
-Upstream-Status: Backport
-Signed-off-by: Ross Burton <ross.burton@intel.com>
----
- Makefile.obexd | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/Makefile.obexd b/Makefile.obexd
-index 2e33cbc..c8286f0 100644
---- a/Makefile.obexd
-+++ b/Makefile.obexd
-@@ -105,2 +105,3 @@ obexd/src/plugin.$(OBJEXT): obexd/src/builtin.h
- obexd/src/builtin.h: obexd/src/genbuiltin $(obexd_builtin_sources)
-+	$(AM_V_at)$(MKDIR_P) $(dir $@)
- 	$(AM_V_GEN)$(srcdir)/obexd/src/genbuiltin $(obexd_builtin_modules) > $@
--- 
-2.8.0.rc3
-
diff --git a/meta/recipes-connectivity/bluez5/bluez5_5.50.bb b/meta/recipes-connectivity/bluez5/bluez5_5.52.bb
similarity index 91%
rename from meta/recipes-connectivity/bluez5/bluez5_5.50.bb
rename to meta/recipes-connectivity/bluez5/bluez5_5.52.bb
index 4e443e5fb08..b86103014b8 100644
--- a/meta/recipes-connectivity/bluez5/bluez5_5.50.bb
+++ b/meta/recipes-connectivity/bluez5/bluez5_5.52.bb
@@ -1,7 +1,7 @@
 require bluez5.inc
 
-SRC_URI[md5sum] = "8e35c67c81a55d3ad4c9f22280dae178"
-SRC_URI[sha256sum] = "5ffcaae18bbb6155f1591be8c24898dc12f062075a40b538b745bfd477481911"
+SRC_URI[md5sum] = "a33eb9aadf1dd4153420958709d3ce60"
+SRC_URI[sha256sum] = "f7144ce2039202cfac18ccb52426efea11c98e4f6e1bb8041bcb994b8378560a"
 
 # noinst programs in Makefile.tools that are conditional on READLINE
 # support
-- 
2.17.1



^ permalink raw reply related	[flat|nested] 62+ messages in thread

* [PATCH 16/30] bluez5: disable debug output in ptests
  2019-12-12 18:14 [PATCH 01/30] rpm: upgrade to 4.15.1 Alexander Kanavin
                   ` (13 preceding siblings ...)
  2019-12-12 18:14 ` [PATCH 15/30] bluez: update 5.50 -> 5.52 Alexander Kanavin
@ 2019-12-12 18:14 ` Alexander Kanavin
  2019-12-12 18:14 ` [PATCH 17/30] libxml2: update to 2.9.10 Alexander Kanavin
                   ` (14 subsequent siblings)
  29 siblings, 0 replies; 62+ messages in thread
From: Alexander Kanavin @ 2019-12-12 18:14 UTC (permalink / raw)
  To: openembedded-core

This makes the log very large and breaks the ptest result
parser.

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
 meta/recipes-connectivity/bluez5/bluez5/run-ptest | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta/recipes-connectivity/bluez5/bluez5/run-ptest b/meta/recipes-connectivity/bluez5/bluez5/run-ptest
index 21df00c3277..0335e68e489 100644
--- a/meta/recipes-connectivity/bluez5/bluez5/run-ptest
+++ b/meta/recipes-connectivity/bluez5/bluez5/run-ptest
@@ -6,7 +6,7 @@ failed=0
 all=0
 
 for f in test-*; do
-    "./$f"
+    "./$f" -q
     case "$?" in
         0)
             echo "PASS: $f"
-- 
2.17.1



^ permalink raw reply related	[flat|nested] 62+ messages in thread

* [PATCH 17/30] libxml2: update to 2.9.10
  2019-12-12 18:14 [PATCH 01/30] rpm: upgrade to 4.15.1 Alexander Kanavin
                   ` (14 preceding siblings ...)
  2019-12-12 18:14 ` [PATCH 16/30] bluez5: disable debug output in ptests Alexander Kanavin
@ 2019-12-12 18:14 ` Alexander Kanavin
  2019-12-12 18:14 ` [PATCH 18/30] parted: update 3.2->3.3 Alexander Kanavin
                   ` (13 subsequent siblings)
  29 siblings, 0 replies; 62+ messages in thread
From: Alexander Kanavin @ 2019-12-12 18:14 UTC (permalink / raw)
  To: openembedded-core

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
 ...he-python-tests-if-python-is-enabled.patch | 62 ++++++++++---------
 .../{libxml2_2.9.9.bb => libxml2_2.9.10.bb}   |  4 +-
 2 files changed, 34 insertions(+), 32 deletions(-)
 rename meta/recipes-core/libxml/{libxml2_2.9.9.bb => libxml2_2.9.10.bb} (96%)

diff --git a/meta/recipes-core/libxml/libxml2/0001-Make-ptest-run-the-python-tests-if-python-is-enabled.patch b/meta/recipes-core/libxml/libxml2/0001-Make-ptest-run-the-python-tests-if-python-is-enabled.patch
index 2b92dbc8dcb..5e9a0a506bd 100644
--- a/meta/recipes-core/libxml/libxml2/0001-Make-ptest-run-the-python-tests-if-python-is-enabled.patch
+++ b/meta/recipes-core/libxml/libxml2/0001-Make-ptest-run-the-python-tests-if-python-is-enabled.patch
@@ -1,4 +1,4 @@
-From 78dbd4c09d617a9cb730d796f94ee4d93840d3cc Mon Sep 17 00:00:00 2001
+From 2b5fb416aa275fd2a17a0139a2f783998bcb42cc Mon Sep 17 00:00:00 2001
 From: Peter Kjellerstedt <pkj@axis.com>
 Date: Fri, 9 Jun 2017 17:50:46 +0200
 Subject: [PATCH] Make ptest run the python tests if python is enabled
@@ -8,18 +8,19 @@ be due to the fact that the tests are forced to run with Python 3.
 
 Upstream-Status: Inappropriate [OE specific]
 Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
+
 ---
  Makefile.am                  |  2 +-
  python/Makefile.am           |  9 +++++++++
- python/tests/Makefile.am     | 12 ++++++++++--
+ python/tests/Makefile.am     | 10 ++++++++++
  python/tests/tstLastError.py |  2 +-
- 4 files changed, 21 insertions(+), 4 deletions(-)
+ 4 files changed, 21 insertions(+), 2 deletions(-)
 
-Index: libxml2-2.9.7/Makefile.am
-===================================================================
---- libxml2-2.9.7.orig/Makefile.am
-+++ libxml2-2.9.7/Makefile.am
-@@ -207,9 +207,9 @@ install-ptest:
+diff --git a/Makefile.am b/Makefile.am
+index ae62274..bd1e425 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -203,9 +203,9 @@ install-ptest:
  	install $(check_PROGRAMS) $(DESTDIR))
  	cp -r $(srcdir)/test $(DESTDIR)
  	cp -r $(srcdir)/result $(DESTDIR)
@@ -30,11 +31,11 @@ Index: libxml2-2.9.7/Makefile.am
  
  runtests: runtest$(EXEEXT) testrecurse$(EXEEXT) testapi$(EXEEXT) \
            testchar$(EXEEXT) testdict$(EXEEXT) runxmlconf$(EXEEXT)
-Index: libxml2-2.9.7/python/Makefile.am
-===================================================================
---- libxml2-2.9.7.orig/python/Makefile.am
-+++ libxml2-2.9.7/python/Makefile.am
-@@ -48,7 +48,16 @@ GENERATED = libxml2class.py libxml2class
+diff --git a/python/Makefile.am b/python/Makefile.am
+index 34aed96..ba3ec6a 100644
+--- a/python/Makefile.am
++++ b/python/Makefile.am
+@@ -48,7 +48,16 @@ GENERATED = libxml2class.py libxml2class.txt $(BUILT_SOURCES)
  
  $(GENERATED): $(srcdir)/generator.py $(API_DESC)
  	$(PYTHON) $(srcdir)/generator.py $(srcdir)
@@ -51,10 +52,10 @@ Index: libxml2-2.9.7/python/Makefile.am
 +.PHONY: tests test
  tests test: all
  	cd tests && $(MAKE) tests
-Index: libxml2-2.9.7/python/tests/Makefile.am
-===================================================================
---- libxml2-2.9.7.orig/python/tests/Makefile.am
-+++ libxml2-2.9.7/python/tests/Makefile.am
+diff --git a/python/tests/Makefile.am b/python/tests/Makefile.am
+index 227e24d..021bb29 100644
+--- a/python/tests/Makefile.am
++++ b/python/tests/Makefile.am
 @@ -59,6 +59,11 @@ XMLS=		\
  CLEANFILES = core tmp.xml *.pyc
  
@@ -67,24 +68,25 @@ Index: libxml2-2.9.7/python/tests/Makefile.am
  tests: $(PYTESTS)
  	@for f in $(XMLS) ; do test -f $$f || $(LN_S) $(srcdir)/$$f . ; done
  	@echo "## running Python regression tests"
-@@ -68,8 +73,11 @@ tests: $(PYTESTS)
- 	   export LD_LIBRARY_PATH; \
- 	   for test in $(PYTESTS) ; \
- 	   do log=`$(PYTHON) $(srcdir)/$$test` ; \
--	   if [ "`echo $$log | grep OK`" = "" ] ; then \
--	   echo "-- $$test" ; echo "$$log" ; fi ; done)
-+	   if [ "`echo $$log | grep OK`" ]; then \
-+	   echo "PASS: $$test"; else \
-+	   echo "$$log"; echo "FAIL: $$test"; fi; done)
+@@ -70,9 +75,14 @@ tests: $(PYTESTS)
+ 	    if [ "$$?" -ne 0 ] ; then \
+ 	      echo "-- $$test" ; \
+ 	      echo "$$log" ; \
++              echo "FAIL: $$test"; \
+ 	      exit 1 ; \
++            else \
++              echo "PASS: $$test"; \
+ 	    fi ; \
+ 	  done)
  else
 +install-ptest:
 +
  tests:
  endif
-Index: libxml2-2.9.7/python/tests/tstLastError.py
-===================================================================
---- libxml2-2.9.7.orig/python/tests/tstLastError.py
-+++ libxml2-2.9.7/python/tests/tstLastError.py
+diff --git a/python/tests/tstLastError.py b/python/tests/tstLastError.py
+index 81d0acc..162c8db 100755
+--- a/python/tests/tstLastError.py
++++ b/python/tests/tstLastError.py
 @@ -25,7 +25,7 @@ class TestCase(unittest.TestCase):
          when the exception is raised, check the libxml2.lastError for
          expected values."""
diff --git a/meta/recipes-core/libxml/libxml2_2.9.9.bb b/meta/recipes-core/libxml/libxml2_2.9.10.bb
similarity index 96%
rename from meta/recipes-core/libxml/libxml2_2.9.9.bb
rename to meta/recipes-core/libxml/libxml2_2.9.10.bb
index 5a7e098f382..2c833fa7a2c 100644
--- a/meta/recipes-core/libxml/libxml2_2.9.9.bb
+++ b/meta/recipes-core/libxml/libxml2_2.9.10.bb
@@ -22,8 +22,8 @@ SRC_URI = "http://www.xmlsoft.org/sources/libxml2-${PV}.tar.gz;name=libtar \
            file://fix-execution-of-ptests.patch \
            "
 
-SRC_URI[libtar.md5sum] = "c04a5a0a042eaa157e8e8c9eabe76bd6"
-SRC_URI[libtar.sha256sum] = "94fb70890143e3c6549f265cee93ec064c80a84c42ad0f23e85ee1fd6540a871"
+SRC_URI[libtar.md5sum] = "10942a1dc23137a8aa07f0639cbfece5"
+SRC_URI[libtar.sha256sum] = "aafee193ffb8fe0c82d4afef6ef91972cbaf5feea100edc2f262750611b4be1f"
 SRC_URI[testtar.md5sum] = "ae3d1ebe000a3972afa104ca7f0e1b4a"
 SRC_URI[testtar.sha256sum] = "96151685cec997e1f9f3387e3626d61e6284d4d6e66e0e440c209286c03e9cc7"
 
-- 
2.17.1



^ permalink raw reply related	[flat|nested] 62+ messages in thread

* [PATCH 18/30] parted: update 3.2->3.3
  2019-12-12 18:14 [PATCH 01/30] rpm: upgrade to 4.15.1 Alexander Kanavin
                   ` (15 preceding siblings ...)
  2019-12-12 18:14 ` [PATCH 17/30] libxml2: update to 2.9.10 Alexander Kanavin
@ 2019-12-12 18:14 ` Alexander Kanavin
  2019-12-12 18:14 ` [PATCH 19/30] acl/attr: update to latest upstream releases Alexander Kanavin
                   ` (12 subsequent siblings)
  29 siblings, 0 replies; 62+ messages in thread
From: Alexander Kanavin @ 2019-12-12 18:14 UTC (permalink / raw)
  To: openembedded-core

0001-Unset-need_charset_alias-when-building-for-musl.patch is no longer
necessary as upstream has removed the code.

dm_check.patch is replaced with 0002-tests-use-skip_-rather-than-skip_test_-which-is-unde.patch

Rework ptests, in particular remove the generated Makefile
from the layer, and use the upstream Makefile.

Ptest pass rate is 100%.

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
 ...1-Include-fcntl.h-in-platform_defs.h.patch |  33 --
 ...er-scripts-used-only-in-tests-to-Pyt.patch |  23 +-
 ...charset_alias-when-building-for-musl.patch |  33 --
 ...ad-only-when-probing-devices-on-linu.patch | 222 --------------
 ...s-add-sourcedir-lib-to-include-paths.patch |  26 ++
 ...lude-sys-sysmacros.h-for-major-macro.patch |  28 --
 ...rather-than-skip_test_-which-is-unde.patch |  66 ++++
 meta/recipes-extended/parted/files/Makefile   | 285 ------------------
 .../parted/files/dm_check.patch               |  22 --
 .../files/fix-compile-failure-while-dis.patch |  81 -----
 meta/recipes-extended/parted/files/run-ptest  |   2 +-
 .../parted/{parted_3.2.bb => parted_3.3.bb}   |  33 +-
 12 files changed, 117 insertions(+), 737 deletions(-)
 delete mode 100644 meta/recipes-extended/parted/files/0001-Include-fcntl.h-in-platform_defs.h.patch
 delete mode 100644 meta/recipes-extended/parted/files/0001-Unset-need_charset_alias-when-building-for-musl.patch
 delete mode 100644 meta/recipes-extended/parted/files/0001-libparted-Use-read-only-when-probing-devices-on-linu.patch
 create mode 100644 meta/recipes-extended/parted/files/0001-libparted-fs-add-sourcedir-lib-to-include-paths.patch
 delete mode 100644 meta/recipes-extended/parted/files/0001-linux-Include-sys-sysmacros.h-for-major-macro.patch
 create mode 100644 meta/recipes-extended/parted/files/0002-tests-use-skip_-rather-than-skip_test_-which-is-unde.patch
 delete mode 100644 meta/recipes-extended/parted/files/Makefile
 delete mode 100644 meta/recipes-extended/parted/files/dm_check.patch
 delete mode 100644 meta/recipes-extended/parted/files/fix-compile-failure-while-dis.patch
 rename meta/recipes-extended/parted/{parted_3.2.bb => parted_3.3.bb} (61%)

diff --git a/meta/recipes-extended/parted/files/0001-Include-fcntl.h-in-platform_defs.h.patch b/meta/recipes-extended/parted/files/0001-Include-fcntl.h-in-platform_defs.h.patch
deleted file mode 100644
index 4070127d343..00000000000
--- a/meta/recipes-extended/parted/files/0001-Include-fcntl.h-in-platform_defs.h.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-Upstream-Status: Backport
-Signed-off-by: Ross Burton <ross.burton@intel.com>
-
-From a3877115f1956949096d77aca5a703a47ed68397 Mon Sep 17 00:00:00 2001
-From: Felix Janda <felix.janda@posteo.de>
-Date: Sun, 3 May 2015 10:33:31 +0200
-Subject: [PATCH] libparted/fs/xfs/platform_defs.h: Include <fcntl.h> for
- loff_t
-
-This is needed for compilation with musl libc
-
-Suggested-by: Travis Tilley <ttilley@gmail.com>
-
-Signed-off-by: Brian C. Lane <bcl@redhat.com>
----
- libparted/fs/xfs/platform_defs.h | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/libparted/fs/xfs/platform_defs.h b/libparted/fs/xfs/platform_defs.h
-index 2b55752..a6ec8fb 100644
---- a/libparted/fs/xfs/platform_defs.h
-+++ b/libparted/fs/xfs/platform_defs.h
-@@ -38,6 +38,7 @@
- #include <stdarg.h>
- #include <assert.h>
- #include <endian.h>
-+#include <fcntl.h>
- #include <stddef.h>
- #include <stdlib.h>
- #include <string.h>
--- 
-2.11.0
-
diff --git a/meta/recipes-extended/parted/files/0001-Move-python-helper-scripts-used-only-in-tests-to-Pyt.patch b/meta/recipes-extended/parted/files/0001-Move-python-helper-scripts-used-only-in-tests-to-Pyt.patch
index 428b14ed5e0..829c0c8b78d 100644
--- a/meta/recipes-extended/parted/files/0001-Move-python-helper-scripts-used-only-in-tests-to-Pyt.patch
+++ b/meta/recipes-extended/parted/files/0001-Move-python-helper-scripts-used-only-in-tests-to-Pyt.patch
@@ -1,17 +1,18 @@
-From 6e82af54714392dcdf74a8aedaae7de7d0af1080 Mon Sep 17 00:00:00 2001
+From ddbefd80d74c3baaae328332458db447e1666240 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(-)
+ tests/msdos-overlap   | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
 
 diff --git a/tests/gpt-header-move b/tests/gpt-header-move
-index 05cdc65..3cbcb7e 100755
+index 3dda5cb..a2b9508 100755
 --- a/tests/gpt-header-move
 +++ b/tests/gpt-header-move
 @@ -1,4 +1,4 @@
@@ -21,7 +22,7 @@ index 05cdc65..3cbcb7e 100755
  # 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
+index d6ae8d6..2c6747b 100755
 --- a/tests/msdos-overlap
 +++ b/tests/msdos-overlap
 @@ -1,4 +1,4 @@
@@ -30,15 +31,3 @@ index 5bddfb0..3de7d2e 100755
  """
      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/meta/recipes-extended/parted/files/0001-Unset-need_charset_alias-when-building-for-musl.patch b/meta/recipes-extended/parted/files/0001-Unset-need_charset_alias-when-building-for-musl.patch
deleted file mode 100644
index ba1a4bab4c1..00000000000
--- a/meta/recipes-extended/parted/files/0001-Unset-need_charset_alias-when-building-for-musl.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From b9565dc2fe0c4f7daaec91b7e83bc7313dee2f4a Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Mon, 13 Apr 2015 17:02:13 -0700
-Subject: [PATCH] Unset need_charset_alias when building for musl
-
-localcharset uses ac_cv_gnu_library_2_1 from glibc21.m4
-which actually shoudl be fixed in gnulib and then all downstream
-projects will get it eventually. For now we apply the fix to
-coreutils
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- lib/gnulib.mk | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/lib/gnulib.mk b/lib/gnulib.mk
-index e1d74db..c0e92dd 100644
---- a/lib/gnulib.mk
-+++ b/lib/gnulib.mk
-@@ -1882,7 +1882,7 @@ install-exec-localcharset: all-local
- 	  case '$(host_os)' in \
- 	    darwin[56]*) \
- 	      need_charset_alias=true ;; \
--	    darwin* | cygwin* | mingw* | pw32* | cegcc*) \
-+	    darwin* | cygwin* | mingw* | pw32* | cegcc* | linux-musl*) \
- 	      need_charset_alias=false ;; \
- 	    *) \
- 	      need_charset_alias=true ;; \
--- 
-2.1.4
-
diff --git a/meta/recipes-extended/parted/files/0001-libparted-Use-read-only-when-probing-devices-on-linu.patch b/meta/recipes-extended/parted/files/0001-libparted-Use-read-only-when-probing-devices-on-linu.patch
deleted file mode 100644
index 39107620d54..00000000000
--- a/meta/recipes-extended/parted/files/0001-libparted-Use-read-only-when-probing-devices-on-linu.patch
+++ /dev/null
@@ -1,222 +0,0 @@
-From 843225aa9d5077bebdb08bbf9699c02aec0b83eb Mon Sep 17 00:00:00 2001
-From: "Brian C. Lane" <bcl@redhat.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
-
-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 7f12f58..4ddea58 100644
---- a/libparted/arch/linux.c
-+++ b/libparted/arch/linux.c
-@@ -292,7 +292,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)
-@@ -911,7 +913,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)) {
-@@ -980,11 +982,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;
- }
-@@ -1117,7 +1119,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) {
-@@ -1131,7 +1133,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;
-         }
- 
-@@ -1153,11 +1155,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;
- }
-@@ -1169,7 +1171,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;
-@@ -1196,7 +1198,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;
-@@ -1207,7 +1209,7 @@ init_file (PedDevice* dev)
-         return 1;
- 
- error_close_dev:
--        ped_device_close (dev);
-+        _device_close (dev);
- error:
-         return 0;
- }
-@@ -1223,7 +1225,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);
-@@ -1263,11 +1265,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;
- }
-@@ -1282,7 +1284,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 ();
-@@ -1330,11 +1332,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;
- }
-@@ -1621,12 +1623,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);
-@@ -1695,6 +1712,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
- 
- static _syscall5(int,_llseek,
diff --git a/meta/recipes-extended/parted/files/0001-libparted-fs-add-sourcedir-lib-to-include-paths.patch b/meta/recipes-extended/parted/files/0001-libparted-fs-add-sourcedir-lib-to-include-paths.patch
new file mode 100644
index 00000000000..4dc2ab259d4
--- /dev/null
+++ b/meta/recipes-extended/parted/files/0001-libparted-fs-add-sourcedir-lib-to-include-paths.patch
@@ -0,0 +1,26 @@
+From d60a8a86f6593738b5324ccd8fe3e6d84a1fe7bc Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Wed, 11 Dec 2019 14:18:36 +0100
+Subject: [PATCH] libparted/fs: add $sourcedir/lib to include paths
+
+Otherwise, getopt-pfx-core.h won't be found.
+
+Upstream-Status: Pending
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ libparted/fs/Makefile.am | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/libparted/fs/Makefile.am b/libparted/fs/Makefile.am
+index 286bff6..65f45d3 100644
+--- a/libparted/fs/Makefile.am
++++ b/libparted/fs/Makefile.am
+@@ -3,7 +3,7 @@
+ #
+ # This file may be modified and/or distributed without restriction.
+ 
+-partedincludedir = -I$(top_builddir)/include -I$(top_srcdir)/include
++partedincludedir = -I$(top_builddir)/include -I$(top_srcdir)/include -I$(top_srcdir)/lib
+ 
+ AM_CFLAGS = $(WARN_CFLAGS)
+ 
diff --git a/meta/recipes-extended/parted/files/0001-linux-Include-sys-sysmacros.h-for-major-macro.patch b/meta/recipes-extended/parted/files/0001-linux-Include-sys-sysmacros.h-for-major-macro.patch
deleted file mode 100644
index 01262e5452a..00000000000
--- a/meta/recipes-extended/parted/files/0001-linux-Include-sys-sysmacros.h-for-major-macro.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-Upstream-Status: Backport
-Signed-off-by: Ross Burton <ross.burton@intel.com>
-
-From 0b72b8eb41438b62eeb9e3548b0b8f3094a78681 Mon Sep 17 00:00:00 2001
-From: "Richard W.M. Jones" <rjones@redhat.com>
-Date: Sat, 24 Mar 2018 17:37:02 +0000
-Subject: [PATCH] linux: Include <sys/sysmacros.h> for major() macro.
-
-Since glibc 2.27 this header is required.
----
- libparted/arch/linux.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/libparted/arch/linux.c b/libparted/arch/linux.c
-index 0f18904..a15854f 100644
---- a/libparted/arch/linux.c
-+++ b/libparted/arch/linux.c
-@@ -41,6 +41,7 @@
- #include <sys/utsname.h>        /* for uname() */
- #include <scsi/scsi.h>
- #include <assert.h>
-+#include <sys/sysmacros.h>
- #ifdef ENABLE_DEVICE_MAPPER
- #include <libdevmapper.h>
- #endif
--- 
-2.11.0
-
diff --git a/meta/recipes-extended/parted/files/0002-tests-use-skip_-rather-than-skip_test_-which-is-unde.patch b/meta/recipes-extended/parted/files/0002-tests-use-skip_-rather-than-skip_test_-which-is-unde.patch
new file mode 100644
index 00000000000..9524adf7b82
--- /dev/null
+++ b/meta/recipes-extended/parted/files/0002-tests-use-skip_-rather-than-skip_test_-which-is-unde.patch
@@ -0,0 +1,66 @@
+From 9f844484cedb39e301b016e9da7852c1a0fb6eea Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Wed, 11 Dec 2019 16:27:48 +0100
+Subject: [PATCH] tests: use skip_ rather than skip_test_ (which is undefined)
+
+Upstream-Status: Pending
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ tests/t6001-psep.sh               | 2 +-
+ tests/t6004-dm-many-partitions.sh | 2 +-
+ tests/t6005-dm-uuid.sh            | 2 +-
+ tests/t6006-dm-512b-sectors.sh    | 2 +-
+ 4 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/tests/t6001-psep.sh b/tests/t6001-psep.sh
+index e350bd2..67014a0 100644
+--- a/tests/t6001-psep.sh
++++ b/tests/t6001-psep.sh
+@@ -21,7 +21,7 @@
+ require_root_
+ require_udevadm_settle_
+ 
+-(dmsetup --help) > /dev/null 2>&1 || skip_test_ "No dmsetup installed"
++(dmsetup --help) > /dev/null 2>&1 || skip_ "No dmsetup installed"
+ 
+ # Device maps names - should be random to not conflict with existing ones on
+ # the system
+diff --git a/tests/t6004-dm-many-partitions.sh b/tests/t6004-dm-many-partitions.sh
+index b4be975..7214f60 100755
+--- a/tests/t6004-dm-many-partitions.sh
++++ b/tests/t6004-dm-many-partitions.sh
+@@ -21,7 +21,7 @@
+ 
+ require_root_
+ require_udevadm_settle_
+-(dmsetup --help) > /dev/null 2>&1 || skip_test_ "No dmsetup installed"
++(dmsetup --help) > /dev/null 2>&1 || skip_ "No dmsetup installed"
+ 
+ ss=$sector_size_
+ ns=300
+diff --git a/tests/t6005-dm-uuid.sh b/tests/t6005-dm-uuid.sh
+index 4266747..4790a8b 100755
+--- a/tests/t6005-dm-uuid.sh
++++ b/tests/t6005-dm-uuid.sh
+@@ -21,7 +21,7 @@
+ 
+ require_root_
+ require_udevadm_settle_
+-(dmsetup --help) > /dev/null 2>&1 || skip_test_ "No dmsetup installed"
++(dmsetup --help) > /dev/null 2>&1 || skip_ "No dmsetup installed"
+ 
+ ss=$sector_size_
+ ns=300
+diff --git a/tests/t6006-dm-512b-sectors.sh b/tests/t6006-dm-512b-sectors.sh
+index bf32135..b679adb 100644
+--- a/tests/t6006-dm-512b-sectors.sh
++++ b/tests/t6006-dm-512b-sectors.sh
+@@ -25,7 +25,7 @@ require_scsi_debug_module_
+ grep '^#define USE_BLKID 1' "$CONFIG_HEADER" > /dev/null ||
+   skip_ 'this system lacks a new-enough libblkid'
+ 
+-(dmsetup --help) > /dev/null 2>&1 || skip_test_ "No dmsetup installed"
++(dmsetup --help) > /dev/null 2>&1 || skip_ "No dmsetup installed"
+ 
+ # Device maps names - should be random to not conflict with existing ones on
+ # the system
diff --git a/meta/recipes-extended/parted/files/Makefile b/meta/recipes-extended/parted/files/Makefile
deleted file mode 100644
index ee90be0814b..00000000000
--- a/meta/recipes-extended/parted/files/Makefile
+++ /dev/null
@@ -1,285 +0,0 @@
-am__tty_colors_dummy = \
-  mgn= red= grn= lgn= blu= brg= std=; \
-  am__color_tests=no
-
-am__tty_colors = \
-$(am__tty_colors_dummy); \
-test "X$(AM_COLOR_TESTS)" != Xno \
-&& test "X$$TERM" != Xdumb \
-&& { test "X$(AM_COLOR_TESTS)" = Xalways || test -t 1 2>/dev/null; } \
-&& { \
-  am__color_tests=yes; \
-  red='^[[0;31m'; \
-  grn='^[[0;32m'; \
-  lgn='^[[1;32m'; \
-  blu='^[[1;34m'; \
-  mgn='^[[0;35m'; \
-  brg='^[[1m'; \
-  std='^[[m'; \
-}
-
-am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
-am__vpath_adj = case $$p in \
-    $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
-    *) f=$$p;; \
-  esac;
-am__rst_title = { sed 's/.*/   &   /;h;s/./=/g;p;x;s/ *$$//;p;g' && echo; }
-am__rst_section = { sed 'p;s/./=/g;' && echo; }
-am__sh_e_setup = case $$- in *e*) set +e;; esac
-
-am__common_driver_flags = \
-  --color-tests "$$am__color_tests" \
-  --enable-hard-errors "$$am__enable_hard_errors" \
-  --expect-failure "$$am__expect_failure"
-am__check_pre = \
-$(am__sh_e_setup);					\
-$(am__vpath_adj_setup) $(am__vpath_adj)			\
-$(am__tty_colors);					\
-srcdir=$(srcdir); export srcdir;			\
-am__odir=`echo "./$@" | sed 's|/[^/]*$$||'`;		\
-test "x$$am__odir" = x. || $(MKDIR_P) "$$am__odir" || exit $$?;	\
-if test -f "./$$f"; then dir=./;			\
-elif test -f "$$f"; then dir=;				\
-else dir="$(srcdir)/"; fi;				\
-tst=$$dir$$f; log='$@'; 				\
-if test -n '$(DISABLE_HARD_ERRORS)'; then		\
-  am__enable_hard_errors=no; 				\
-else							\
-  am__enable_hard_errors=yes; 				\
-fi; 							\
-$(AM_TESTS_ENVIRONMENT) $(TESTS_ENVIRONMENT)
-
-am__set_TESTS_bases = \
-  bases='$(TEST_LOGS)'; \
-  bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \
-  bases=`echo $$bases`
-
-RECHECK_LOGS = $(TEST_LOGS)
-TEST_SUITE_LOG = test-suite.log
-am__test_logs1 = $(TESTS:=.log)
-am__test_logs2 = $(am__test_logs1:.log=.log)
-TEST_LOGS = $(am__test_logs2:.sh.log=.log)
-SH_LOG_DRIVER = $(SHELL) $(top_srcdir)/build-aux/test-driver
-SH_LOG_COMPILE = $(SH_LOG_COMPILER)
-
-am__set_b = \
-  case '$@' in \
-    */*) \
-      case '$*' in \
-        */*) b='$*';; \
-          *) b=`echo '$@' | sed 's/\.log$$//'`; \
-       esac;; \
-    *) \
-      b='$*';; \
-  esac
-
-MKDIR_P = /bin/mkdir -p
-SHELL = /bin/bash
-VERSION = 3.1
-PACKAGE_STRING = GNU parted 3.1
-PACKAGE_BUGREPORT = bug-parted@gnu.org
-abs_srcdir = $(PWD)
-abs_top_builddir = $(PWD)/..
-abs_top_srcdir = $(PWD)/..
-srcdir = .
-top_srcdir = ..
-subdir = tests
-SH_LOG_COMPILER = $(SHELL)
-
-TESTS = \
-  help-version.sh \
-  t0000-basic.sh \
-  t0001-tiny.sh \
-  t0010-script-no-ctrl-chars.sh \
-  t0100-print.sh \
-  t0101-print-empty.sh \
-  t0200-gpt.sh \
-  t0201-gpt.sh \
-  t0202-gpt-pmbr.sh \
-  t0203-gpt-tiny-device-abort.sh \
-  t0203-gpt-shortened-device-primary-valid.sh \
-  t0205-gpt-list-clobbers-pmbr.sh \
-  t0206-gpt-print-with-corrupt-primary-clobbers-pmbr.sh \
-  t0207-IEC-binary-notation.sh \
-  t0208-mkpart-end-in-IEC.sh \
-  t0209-gpt-pmbr_boot.sh \
-  t0210-gpt-resized-partition-entry-array.sh \
-  t0211-gpt-rewrite-header.sh \
-  t0212-gpt-many-partitions.sh \
-  t0220-gpt-msftres.sh \
-  t0250-gpt.sh \
-  t0280-gpt-corrupt.sh \
-  t0300-dos-on-gpt.sh \
-  t0400-loop-clobber-infloop.sh \
-  t0500-dup-clobber.sh \
-  t0501-duplicate.sh \
-  t1100-busy-label.sh \
-  t1101-busy-partition.sh \
-  t1700-probe-fs.sh \
-  t2200-dos-label-recog.sh \
-  t2201-pc98-label-recog.sh \
-  t2300-dos-label-extended-bootcode.sh \
-  t2310-dos-extended-2-sector-min-offset.sh \
-  t2400-dos-hfs-partition-type.sh \
-  t2500-probe-corrupt-hfs.sh \
-  t3000-resize-fs.sh \
-  t3200-type-change.sh \
-  t3300-palo-prep.sh \
-  t3310-flags.sh \
-  t3400-whole-disk-FAT-partition.sh \
-  t4000-sun-raid-type.sh \
-  t4001-sun-vtoc.sh \
-  t4100-msdos-partition-limits.sh \
-  t4100-dvh-partition-limits.sh \
-  t4100-msdos-starting-sector.sh \
-  t4200-partprobe.sh \
-  t4300-nilfs2-tiny.sh \
-  t5000-tags.sh \
-  t6000-dm.sh \
-  t6001-psep.sh \
-  t6100-mdraid-partitions.sh \
-  t7000-scripting.sh \
-  t8000-loop.sh \
-  t8001-loop-blkpg.sh \
-  t9010-big-sector.sh \
-  t9020-alignment.sh \
-  t9021-maxima.sh \
-  t9022-one-unit-snap.sh \
-  t9023-value-lt-one.sh \
-  t9030-align-check.sh \
-  t9040-many-partitions.sh \
-  t9041-undetected-in-use-16th-partition.sh \
-  t9042-dos-partition-limit.sh \
-  t9050-partition-table-types.sh
-
-TESTS_ENVIRONMENT = \
-  export					\
-  abs_top_builddir='$(abs_top_builddir)'	\
-  abs_top_srcdir='$(abs_top_srcdir)'		\
-  abs_srcdir='$(abs_srcdir)'			\
-  built_programs=parted				\
-  srcdir='$(srcdir)'				\
-  top_srcdir='$(top_srcdir)'			\
-  VERSION=$(VERSION)				\
-  ; 9>&2
-
-.SUFFIXES: .log
-
-$(TEST_SUITE_LOG): $(TEST_LOGS)
-	@$(am__sh_e_setup); $(am__tty_colors); $(am__set_TESTS_bases); \
-	ws='[ 	]'; \
-	results=`for b in $$bases; do echo $$b.trs; done`; \
-	test -n "$$results" || results=/dev/null; \
-	all=`  grep "^$$ws*:test-result:"           $$results | wc -l`; \
-	pass=` grep "^$$ws*:test-result:$$ws*PASS"  $$results | wc -l`; \
-	fail=` grep "^$$ws*:test-result:$$ws*FAIL"  $$results | wc -l`; \
-	skip=` grep "^$$ws*:test-result:$$ws*SKIP"  $$results | wc -l`; \
-	xfail=`grep "^$$ws*:test-result:$$ws*XFAIL" $$results | wc -l`; \
-	xpass=`grep "^$$ws*:test-result:$$ws*XPASS" $$results | wc -l`; \
-	error=`grep "^$$ws*:test-result:$$ws*ERROR" $$results | wc -l`; \
-	if test `expr $$fail + $$xpass + $$error` -eq 0; then \
-	  success=true; \
-	else \
-	  success=false; \
-	fi; \
-	br='==================='; br=$$br$$br$$br$$br; \
-	result_count () \
-	{ \
-	    if test x"$$1" = x"--maybe-color"; then \
-	      maybe_colorize=yes; \
-	    elif test x"$$1" = x"--no-color"; then \
-	      maybe_colorize=no; \
-	    else \
-	      echo "$@: invalid 'result_count' usage" >&2; exit 4; \
-	    fi; \
-	    shift; \
-	    desc=$$1 count=$$2; \
-	    if test $$maybe_colorize = yes && test $$count -gt 0; then \
-	      color_start=$$3 color_end=$$std; \
-	    else \
-	      color_start= color_end=; \
-	    fi; \
-	    echo "$${color_start}# $$desc $$count$${color_end}"; \
-	}; \
-	create_testsuite_report () \
-	{ \
-	  result_count $$1 "TOTAL:" $$all   "$$brg"; \
-	  result_count $$1 "PASS: " $$pass  "$$grn"; \
-	  result_count $$1 "SKIP: " $$skip  "$$blu"; \
-	  result_count $$1 "XFAIL:" $$xfail "$$lgn"; \
-	  result_count $$1 "FAIL: " $$fail  "$$red"; \
-	  result_count $$1 "XPASS:" $$xpass "$$red"; \
-	  result_count $$1 "ERROR:" $$error "$$mgn"; \
-	}; \
-	{								\
-	  echo "$(PACKAGE_STRING): $(subdir)/$(TEST_SUITE_LOG)" |	\
-	    $(am__rst_title);						\
-	  create_testsuite_report --no-color;				\
-	  echo;								\
-	  echo ".. contents:: :depth: 2";				\
-	  echo;								\
-	  for i in $$bases; do						\
-	    if grep "^$$ws*:copy-in-global-log:$$ws*no$$ws*$$" $$i.trs \
-	         >/dev/null; then continue; \
-	    fi; \
-	    glob_res=`sed -n -e "s/$$ws*$$//" \
-	                     -e "s/^$$ws*:global-test-result:$$ws*//p" \
-		        $$i.trs`; \
-	    test -n "$$glob_res" || glob_res=RUN; \
-	    echo "$$glob_res: $$i" | $(am__rst_section); \
-	    if test ! -r $$i.log; then \
-	      echo "fatal: making $@: $$i.log is unreadable" >&2; \
-	      exit 1; \
-	    fi; \
-	    cat $$i.log; echo; \
-	  done;	\
-	} >$(TEST_SUITE_LOG).tmp;					\
-	mv $(TEST_SUITE_LOG).tmp $(TEST_SUITE_LOG);			\
-	if $$success; then						\
-	  col="$$grn";							\
-	 else								\
-	  col="$$red";							\
-	  test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG);		\
-	fi;								\
-	echo "$${col}$$br$${std}"; 					\
-	echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}";	\
-	echo "$${col}$$br$${std}"; 					\
-	create_testsuite_report --maybe-color;				\
-	echo "$$col$$br$$std";						\
-	if $$success; then :; else					\
-	  echo "$${col}See $(subdir)/$(TEST_SUITE_LOG)$${std}";		\
-	  if test -n "$(PACKAGE_BUGREPORT)"; then			\
-	    echo "$${col}Please report to $(PACKAGE_BUGREPORT)$${std}";	\
-	  fi;								\
-	  echo "$$col$$br$$std";					\
-	fi;								\
-	$$success || exit 1
-
-check-TESTS:
-	@if test $@ != recheck; then \
-	   list='$(RECHECK_LOGS)'; \
-	   test -z "$$list" || rm -f $$list; \
-	 fi
-	@test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
-	@ws='[ 	]'; \
-	log_list='' trs_list=''; $(am__set_TESTS_bases); \
-	for i in $$bases; do \
-	  if test -z "$$log_list"; then \
-	    log_list="$$i.log"; \
-	  else \
-	    log_list="$$log_list $$i.log"; \
-	  fi; \
-	  if test -z "$$trs_list"; then \
-	    trs_list="$$i.trs"; \
-	  else \
-	    trs_list="$$trs_list $$i.trs"; \
-	  fi; \
-	done; \
-	$(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) TEST_LOGS="$$log_list"
-
-.sh.log:
-	@p='$<'; \
-	$(am__set_b); \
-	$(am__check_pre) $(SH_LOG_DRIVER) --test-name "$$f" \
-	--log-file $$b.log --trs-file $$b.trs \
-	$(am__common_driver_flags) -- $(SH_LOG_COMPILE) "$$tst"
diff --git a/meta/recipes-extended/parted/files/dm_check.patch b/meta/recipes-extended/parted/files/dm_check.patch
deleted file mode 100644
index 5f3c4ddae8b..00000000000
--- a/meta/recipes-extended/parted/files/dm_check.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-parted: change check for device-manager
-
-Other ptests use this method.
-
-Upstream-Status: Submitted [bug-parted@gnu.org]
-
-Signed-off-by: Joe Slater <joe.slater@windriver.com>
-
-
---- a/tests/t6001-psep.sh
-+++ b/tests/t6001-psep.sh
-@@ -19,7 +19,9 @@
- . "${srcdir=.}/init.sh"; path_prepend_ ../parted
- 
- require_root_
--(dmsetup --help) > /dev/null 2>&1 || skip_test_ "No dmsetup installed"
-+
-+test "x$ENABLE_DEVICE_MAPPER" = xyes \
-+  || skip_ "no device-mapper support"
- 
- # Device maps names - should be random to not conflict with existing ones on
- # the system
diff --git a/meta/recipes-extended/parted/files/fix-compile-failure-while-dis.patch b/meta/recipes-extended/parted/files/fix-compile-failure-while-dis.patch
deleted file mode 100644
index 8c4d2ae66d1..00000000000
--- a/meta/recipes-extended/parted/files/fix-compile-failure-while-dis.patch
+++ /dev/null
@@ -1,81 +0,0 @@
-Upstream-Status: Backport
-Signed-off-by: Ross Burton <ross.burton@intel.com>
-
-From da3f129710929abe9a403901fa7d168355b0e95a Mon Sep 17 00:00:00 2001
-From: Felix Janda <felix.janda@posteo.de>
-Date: Sun, 3 May 2015 10:33:15 +0200
-Subject: [PATCH] libparted/arch/linux.c: Compile without ENABLE_DEVICE_MAPPER
-
-Signed-off-by: Brian C. Lane <bcl@redhat.com>
----
- libparted/arch/linux.c | 21 +++++++++++++++++----
- 1 file changed, 17 insertions(+), 4 deletions(-)
-
-diff --git a/libparted/arch/linux.c b/libparted/arch/linux.c
-index a15854f..7f12f58 100644
---- a/libparted/arch/linux.c
-+++ b/libparted/arch/linux.c
-@@ -2305,6 +2305,7 @@ zasprintf (const char *format, ...)
-   return r < 0 ? NULL : resultp;
- }
- 
-+#ifdef ENABLE_DEVICE_MAPPER
- static char *
- dm_canonical_path (PedDevice const *dev)
- {
-@@ -2327,14 +2328,21 @@ dm_canonical_path (PedDevice const *dev)
- err:
-         return NULL;
- }
-+#endif
- 
- static char*
- _device_get_part_path (PedDevice const *dev, int num)
- {
--        char *devpath = (dev->type == PED_DEVICE_DM
--                         ? dm_canonical_path (dev) : dev->path);
--        size_t path_len = strlen (devpath);
-+        char *devpath;
-+        size_t path_len;
-         char *result;
-+#ifdef ENABLE_DEVICE_MAPPER
-+        devpath = (dev->type == PED_DEVICE_DM
-+                         ? dm_canonical_path (dev) : dev->path);
-+#else
-+        devpath = dev->path;
-+#endif
-+        path_len = strlen (devpath);
-         /* Check for devfs-style /disc => /partN transformation
-            unconditionally; the system might be using udev with devfs rules,
-            and if not the test is harmless. */
-@@ -2350,8 +2358,10 @@ _device_get_part_path (PedDevice const *dev, int num)
-                                  ? "p" : "");
-                 result = zasprintf ("%s%s%d", devpath, p, num);
-         }
-+#ifdef ENABLE_DEVICE_MAPPER
-         if (dev->type == PED_DEVICE_DM)
-                 free (devpath);
-+#endif
-         return result;
- }
- 
-@@ -2946,12 +2956,15 @@ _disk_sync_part_table (PedDisk* disk)
-                                                unsigned long long *length);
- 
- 
-+#ifdef ENABLE_DEVICE_MAPPER
-         if (disk->dev->type == PED_DEVICE_DM) {
-                 add_partition = _dm_add_partition;
-                 remove_partition = _dm_remove_partition;
-                 resize_partition = _dm_resize_partition;
-                 get_partition_start_and_length = _dm_get_partition_start_and_length;
--        } else {
-+        } else
-+#endif
-+        {
-                 add_partition = _blkpg_add_partition;
-                 remove_partition = _blkpg_remove_partition;
- #ifdef BLKPG_RESIZE_PARTITION
--- 
-2.11.0
-
diff --git a/meta/recipes-extended/parted/files/run-ptest b/meta/recipes-extended/parted/files/run-ptest
index 695c5e8a7bb..b57c29400ab 100644
--- a/meta/recipes-extended/parted/files/run-ptest
+++ b/meta/recipes-extended/parted/files/run-ptest
@@ -1,3 +1,3 @@
 #!/bin/sh
 
-make -C tests check-TESTS
+make -C tests test-suite.log
diff --git a/meta/recipes-extended/parted/parted_3.2.bb b/meta/recipes-extended/parted/parted_3.3.bb
similarity index 61%
rename from meta/recipes-extended/parted/parted_3.2.bb
rename to meta/recipes-extended/parted/parted_3.3.bb
index 21a815345a9..1cfd9ec2648 100644
--- a/meta/recipes-extended/parted/parted_3.2.bb
+++ b/meta/recipes-extended/parted/parted_3.3.bb
@@ -4,25 +4,19 @@ LICENSE = "GPLv3+"
 LIC_FILES_CHKSUM = "file://COPYING;md5=2f31b266d3440dd7ee50f92cf67d8e6c"
 SECTION = "console/tools"
 DEPENDS = "ncurses readline util-linux virtual/libiconv"
-PR = "r1"
 
 SRC_URI = "${GNU_MIRROR}/parted/parted-${PV}.tar.xz \
            file://no_check.patch \
            file://fix-doc-mandir.patch \
-           file://fix-compile-failure-while-dis.patch \
-           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://0001-linux-Include-sys-sysmacros.h-for-major-macro.patch \
            file://run-ptest \
-           file://Makefile \
-           file://0001-libparted-Use-read-only-when-probing-devices-on-linu.patch \
-           file://dm_check.patch \
-"
+           file://0001-libparted-fs-add-sourcedir-lib-to-include-paths.patch \
+           file://0002-tests-use-skip_-rather-than-skip_test_-which-is-unde.patch \
+           "
 
-SRC_URI[md5sum] = "0247b6a7b314f8edeb618159fa95f9cb"
-SRC_URI[sha256sum] = "858b589c22297cacdf437f3baff6f04b333087521ab274f7ab677cb8c6bb78e4"
+SRC_URI[md5sum] = "090655d05f3c471aa8e15a27536889ec"
+SRC_URI[sha256sum] = "57e2b4bd87018625c515421d4524f6e3b55175b472302056391c5f7eccb83d44"
 
 EXTRA_OECONF = "--disable-device-mapper"
 
@@ -31,7 +25,7 @@ inherit autotools pkgconfig gettext texinfo ptest
 BBCLASSEXTEND = "native"
 
 do_compile_ptest() {
-	oe_runmake -C tests print-align print-max dup-clobber duplicate fs-resize
+	oe_runmake -C tests print-align print-max dup-clobber duplicate fs-resize print-flags
 }
 
 do_install_ptest() {
@@ -39,15 +33,24 @@ do_install_ptest() {
 	mkdir $t/build-aux
 	cp ${S}/build-aux/test-driver $t/build-aux/
 	cp -r ${S}/tests $t
-	cp ${WORKDIR}/Makefile $t/tests/
+	cp ${B}/tests/Makefile $t/tests/
 	sed -i "s|^VERSION.*|VERSION = ${PV}|g" $t/tests/Makefile
-	for i in print-align print-max dup-clobber duplicate fs-resize; \
+	sed -i "s|^srcdir =.*|srcdir = \.|g" $t/tests/Makefile
+	sed -i "s|^abs_srcdir =.*|abs_srcdir = \.|g" $t/tests/Makefile
+	sed -i "s|^abs_top_srcdir =.*|abs_top_srcdir = \.\.|g" $t/tests/Makefile
+	sed -i "s|^Makefile:.*|Makefile:|g" $t/tests/Makefile
+	for i in print-align print-max print-flags dup-clobber duplicate fs-resize; \
 	  do cp ${B}/tests/.libs/$i $t/tests/; \
 	done
 	sed -e 's| ../parted||' -i $t/tests/*.sh
 }
 
-RDEPENDS_${PN}-ptest = "bash coreutils perl util-linux-losetup python3 make"
+RDEPENDS_${PN}-ptest = "bash coreutils perl util-linux-losetup python3 make gawk e2fsprogs-mke2fs"
+
+RDEPENDS_${PN}-ptest_append_libc-glibc = "\
+        glibc-utils \
+        locale-base-en-us \
+        "
 
 inherit update-alternatives
 
-- 
2.17.1



^ permalink raw reply related	[flat|nested] 62+ messages in thread

* [PATCH 19/30] acl/attr: update to latest upstream releases
  2019-12-12 18:14 [PATCH 01/30] rpm: upgrade to 4.15.1 Alexander Kanavin
                   ` (16 preceding siblings ...)
  2019-12-12 18:14 ` [PATCH 18/30] parted: update 3.2->3.3 Alexander Kanavin
@ 2019-12-12 18:14 ` Alexander Kanavin
  2019-12-14 20:24   ` Khem Raj
  2019-12-12 18:14 ` [PATCH 20/30] lttng-modules: update to 2.11.0 Alexander Kanavin
                   ` (11 subsequent siblings)
  29 siblings, 1 reply; 62+ messages in thread
From: Alexander Kanavin @ 2019-12-12 18:14 UTC (permalink / raw)
  To: openembedded-core

The latest release use standard autotools, so drop all
the build system related hacks and patches.

Ptests have been rewritten, with 100% pass rate for both.

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
 .../0001-test-patch-out-failing-bits.patch    |  63 ++
 ...dcode-the-build-path-into-a-helper-l.patch |  24 +
 ...file-libacl-should-depend-on-include.patch |  51 --
 ...-order-of-expected-output-of-getfacl.patch | 198 ------
 meta/recipes-support/attr/acl/configure.ac    |  49 --
 meta/recipes-support/attr/acl/run-ptest       |  60 +-
 .../acl/test-fix-directory-permissions.patch  |  37 -
 .../test-fix-insufficient-quoting-of.patch    | 100 ---
 ...-SELinux-machines-for-root-testcases.patch |  84 ---
 meta/recipes-support/attr/acl_2.2.52.bb       |  52 --
 meta/recipes-support/attr/acl_2.2.53.bb       |  60 ++
 meta/recipes-support/attr/attr.inc            |  41 +-
 .../0001-Use-stdint-types-consistently.patch  |  69 --
 .../attr/attr/attr-Missing-configure.ac.patch |  63 --
 .../attr/attr/dont-use-decl-macros.patch      |  56 --
 meta/recipes-support/attr/attr/run-ptest      |   3 +
 meta/recipes-support/attr/attr_2.4.47.bb      |  15 -
 meta/recipes-support/attr/attr_2.4.48.bb      |   6 +
 meta/recipes-support/attr/ea-acl.inc          |  52 --
 ...option-to-enable-disable-static-libr.patch |  70 --
 ...e-attr.5-man-page-moved-to-man-pages.patch | 240 -------
 .../Remove-the-section-2-man-pages.patch      | 666 ------------------
 .../attr/files/relative-libdir.patch          |  25 -
 meta/recipes-support/attr/files/run-ptest     |   5 -
 24 files changed, 182 insertions(+), 1907 deletions(-)
 create mode 100644 meta/recipes-support/attr/acl/0001-test-patch-out-failing-bits.patch
 create mode 100644 meta/recipes-support/attr/acl/0001-tests-do-not-hardcode-the-build-path-into-a-helper-l.patch
 delete mode 100644 meta/recipes-support/attr/acl/Makefile-libacl-should-depend-on-include.patch
 delete mode 100644 meta/recipes-support/attr/acl/acl-fix-the-order-of-expected-output-of-getfacl.patch
 delete mode 100644 meta/recipes-support/attr/acl/configure.ac
 delete mode 100644 meta/recipes-support/attr/acl/test-fix-directory-permissions.patch
 delete mode 100644 meta/recipes-support/attr/acl/test-fix-insufficient-quoting-of.patch
 delete mode 100644 meta/recipes-support/attr/acl/test-fixups-on-SELinux-machines-for-root-testcases.patch
 delete mode 100644 meta/recipes-support/attr/acl_2.2.52.bb
 create mode 100644 meta/recipes-support/attr/acl_2.2.53.bb
 delete mode 100644 meta/recipes-support/attr/attr/0001-Use-stdint-types-consistently.patch
 delete mode 100644 meta/recipes-support/attr/attr/attr-Missing-configure.ac.patch
 delete mode 100644 meta/recipes-support/attr/attr/dont-use-decl-macros.patch
 create mode 100644 meta/recipes-support/attr/attr/run-ptest
 delete mode 100644 meta/recipes-support/attr/attr_2.4.47.bb
 create mode 100644 meta/recipes-support/attr/attr_2.4.48.bb
 delete mode 100644 meta/recipes-support/attr/ea-acl.inc
 delete mode 100644 meta/recipes-support/attr/files/0001-Added-configure-option-to-enable-disable-static-libr.patch
 delete mode 100644 meta/recipes-support/attr/files/Remove-the-attr.5-man-page-moved-to-man-pages.patch
 delete mode 100644 meta/recipes-support/attr/files/Remove-the-section-2-man-pages.patch
 delete mode 100644 meta/recipes-support/attr/files/relative-libdir.patch
 delete mode 100644 meta/recipes-support/attr/files/run-ptest

diff --git a/meta/recipes-support/attr/acl/0001-test-patch-out-failing-bits.patch b/meta/recipes-support/attr/acl/0001-test-patch-out-failing-bits.patch
new file mode 100644
index 00000000000..ba2ffee5d27
--- /dev/null
+++ b/meta/recipes-support/attr/acl/0001-test-patch-out-failing-bits.patch
@@ -0,0 +1,63 @@
+From 9e08219e0e99ee2589cf35fa8d52cef3515accce Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Thu, 12 Dec 2019 15:47:49 +0100
+Subject: [PATCH] test: patch out failing bits
+
+I have confirmed on the host distro (Ubuntu 18.04) that they
+fail as well; upstream probably haven't noticed because the
+test is only executed under sudo.
+
+Upstream-Status: Inappropriate [disabling tests instead of fixing them properly]
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ test/root/permissions.test | 13 -------------
+ 1 file changed, 13 deletions(-)
+
+diff --git a/test/root/permissions.test b/test/root/permissions.test
+index 8f8f825..21e8a95 100644
+--- a/test/root/permissions.test
++++ b/test/root/permissions.test
+@@ -50,10 +50,6 @@ User daemon is a member in the owning group, which has only read access.
+ Verify this.
+ 
+ 	$ su daemon
+-	$ cat f
+-	> root
+-	> bin
+-
+ 	$ echo daemon >> f
+ 	>~ .*f: Permission denied$
+ 
+@@ -146,8 +142,6 @@ the owning group, he should still have no write access.
+ 	$ setfacl -x g:daemon f
+ 
+ 	$ su daemon
+-	$ echo daemon4 >> f
+-	>~ .*f: Permission denied$
+ 
+ 
+ Change the owning group. The other permissions should now grant user
+@@ -158,12 +152,6 @@ daemon write access.
+ 
+ 	$ su daemon
+ 	$ echo daemon5 >> f
+-	$ cat f
+-	> root
+-	> bin
+-	> daemon
+-	> daemon2
+-	> daemon5
+ 
+ 
+ Verify that permissions in separate matching ACL entries do not
+@@ -173,7 +161,6 @@ accumulate.
+ 	$ setfacl -m g:bin:r,g:daemon:w f
+ 
+ 	$ su daemon
+-	$ : < f
+ 	$ : > f
+ 	$ : <> f
+ 	>~ .*f: Permission denied$
+-- 
+2.17.1
+
diff --git a/meta/recipes-support/attr/acl/0001-tests-do-not-hardcode-the-build-path-into-a-helper-l.patch b/meta/recipes-support/attr/acl/0001-tests-do-not-hardcode-the-build-path-into-a-helper-l.patch
new file mode 100644
index 00000000000..57ef0bb728c
--- /dev/null
+++ b/meta/recipes-support/attr/acl/0001-tests-do-not-hardcode-the-build-path-into-a-helper-l.patch
@@ -0,0 +1,24 @@
+From 39d332a8801de5d9ef09dacb3dba85c208b7b2ad Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Thu, 12 Dec 2019 13:45:52 +0100
+Subject: [PATCH] tests: do not hardcode the build path into a helper library
+
+Upstream-Status: Inappropriate [oe-core specific]
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ test/Makemodule.am | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/test/Makemodule.am b/test/Makemodule.am
+index 17d4927..015de7f 100644
+--- a/test/Makemodule.am
++++ b/test/Makemodule.am
+@@ -30,7 +30,7 @@ EXTRA_DIST += \
+ check_LTLIBRARIES = libtestlookup.la
+ 
+ libtestlookup_la_SOURCES = test/test_passwd.c test/test_group.c
+-libtestlookup_la_CFLAGS = -DBASEDIR=\"$(abs_srcdir)\"
++libtestlookup_la_CFLAGS = -DBASEDIR=\"/tmp/acl-ptest\"
+ libtestlookup_la_LDFLAGS = -rpath $(abs_builddir)
+ 
+ AM_TESTS_ENVIRONMENT = PATH="$(abs_top_builddir):$$PATH";
diff --git a/meta/recipes-support/attr/acl/Makefile-libacl-should-depend-on-include.patch b/meta/recipes-support/attr/acl/Makefile-libacl-should-depend-on-include.patch
deleted file mode 100644
index 4c7cba3b88d..00000000000
--- a/meta/recipes-support/attr/acl/Makefile-libacl-should-depend-on-include.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-From d82457ce5ca7455e336da5e244d95f90e52aaef8 Mon Sep 17 00:00:00 2001
-From: Robert Yang <liezhi.yang@windriver.com>
-Date: Tue, 18 Apr 2017 01:17:26 -0700
-Subject: [PATCH] Makefile: libacl should depend on include
-
-Fixed race issue:
- In file included from acl_copy_entry.c:22:0:
- libacl.h:19:21: fatal error: sys/acl.h: No such file or directory
-  #include <sys/acl.h>
-
-[snip]
-
- compilation terminated.
- acl_get_file.c:27:24: fatal error: acl/libacl.h: No such file or directory
-  #include <acl/libacl.h>
-                         ^
-
-The acl.h is in "include" directory, and include/Makefile creates
-symlink "sys" and "acl" poinst to current dirctory:
-$ ls include/ -l
-acl -> .
-sys -> .
-
-So if "libacl" target runs before "include", the error would happen
-since no "acl" or "sys" directory.
-
-Let libacl depend on include can fix the problem.
-
-Upstream-Status: Pending
-
-Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
----
- Makefile | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/Makefile b/Makefile
-index dce32d3..8a79379 100644
---- a/Makefile
-+++ b/Makefile
-@@ -48,7 +48,7 @@ else
- endif
- 
- # tool/lib dependencies
--libacl: libmisc
-+libacl: include libmisc
- getfacl setfacl chacl: libacl
- 
- ifeq ($(HAVE_BUILDDEFS), yes)
--- 
-2.10.2
-
diff --git a/meta/recipes-support/attr/acl/acl-fix-the-order-of-expected-output-of-getfacl.patch b/meta/recipes-support/attr/acl/acl-fix-the-order-of-expected-output-of-getfacl.patch
deleted file mode 100644
index cf765fdbb89..00000000000
--- a/meta/recipes-support/attr/acl/acl-fix-the-order-of-expected-output-of-getfacl.patch
+++ /dev/null
@@ -1,198 +0,0 @@
-acl: fix the order of expected output of getfacl
-
-The result of getfacl is sorted by user id.
-In Centos or RHEL, bin user id is 1 and daemon user id is 2.
-But in our image, bin user id is 2 and daemon user id is 1.
-The patch fixes this issue to make ptest pass.
-
-Upstream-Status: Inappropriate [embedded specific]
-
-Signed-off-by: Chong Lu <Chong.Lu@windriver.com>
----
- test/misc.test |   38 +++++++++++++++++++-------------------
- 1 file changed, 19 insertions(+), 19 deletions(-)
-
-diff --git a/test/misc.test b/test/misc.test
-index 6e98053..53ae5b0 100644
---- a/test/misc.test
-+++ b/test/misc.test
-@@ -79,8 +79,8 @@ Multiple users
- 
- 	$ getfacl --omit-header f
- 	> user::rw-
--	> user:bin:rw-
- 	> user:daemon:r--
-+	> user:bin:rw-
- 	> group::r--
- 	> mask::rw-
- 	> other::r--
-@@ -94,8 +94,8 @@ Multiple groups
- 
- 	$ getfacl --omit-header f
- 	> user::rw-
--	> user:bin:rw-
- 	> user:daemon:r--
-+	> user:bin:rw-
- 	> group::r--
- 	> group:daemon:r--
- 	> group:users:rw-
-@@ -111,8 +111,8 @@ Remove one group
- 
- 	$ getfacl --omit-header f
- 	> user::rw-
--	> user:bin:rw-
- 	> user:daemon:r--
-+	> user:bin:rw-
- 	> group::r--
- 	> group:daemon:r--
- 	> mask::rw-
-@@ -146,8 +146,8 @@ Default ACL
- 
- 	$ getfacl --omit-header d
- 	> user::rwx
--	> user:bin:rwx
- 	> user:daemon:rw-
-+	> user:bin:rwx
- 	> group::r-x
- 	> mask::rwx
- 	> other::---
-@@ -236,16 +236,16 @@ Add some users and groups
- 
- 	$ getfacl --omit-header d/d
- 	> user::rwx
--	> user:bin:rwx	#effective:r-x
- 	> user:daemon:r-x
-+	> user:bin:rwx	#effective:r-x
- 	> group::r-x
- 	> group:daemon:rwx	#effective:r-x
- 	> group:users:r-x
- 	> mask::r-x
- 	> other::---
- 	> default:user::rwx
--	> default:user:bin:rwx	#effective:r-x
- 	> default:user:daemon:r-x
-+	> default:user:bin:rwx	#effective:r-x
- 	> default:group::r-x
- 	> default:mask::r-x
- 	> default:other::---
-@@ -262,16 +262,16 @@ Symlink in directory with default ACL?
- 
- 	$ getfacl --omit-header d/l
- 	> user::rwx
--	> user:bin:rwx	#effective:r-x
- 	> user:daemon:r-x
-+	> user:bin:rwx	#effective:r-x
- 	> group::r-x
- 	> group:daemon:rwx	#effective:r-x
- 	> group:users:r-x
- 	> mask::r-x
- 	> other::---
- 	> default:user::rwx
--	> default:user:bin:rwx	#effective:r-x
- 	> default:user:daemon:r-x
-+	> default:user:bin:rwx	#effective:r-x
- 	> default:group::r-x
- 	> default:mask::r-x
- 	> default:other::---
-@@ -287,16 +287,16 @@ Does mask manipulation work?
- 
- 	$ getfacl --omit-header d/d
- 	> user::rwx
--	> user:bin:r-x
- 	> user:daemon:r-x
-+	> user:bin:r-x
- 	> group::r-x
- 	> group:daemon:r-x
- 	> group:users:r-x
- 	> mask::r-x
- 	> other::---
- 	> default:user::rwx
--	> default:user:bin:rwx	#effective:r-x
- 	> default:user:daemon:r-x
-+	> default:user:bin:rwx	#effective:r-x
- 	> default:group::r-x
- 	> default:mask::r-x
- 	> default:other::---
-@@ -308,16 +308,16 @@ Does mask manipulation work?
- 
- 	$ getfacl --omit-header d/d
- 	> user::rwx
--	> user:bin:r-x
- 	> user:daemon:r-x
-+	> user:bin:r-x
- 	> group::r-x
- 	> group:daemon:r-x
- 	> group:users:r-x
- 	> mask::r-x
- 	> other::---
- 	> default:user::rwx
--	> default:user:bin:rwx
- 	> default:user:daemon:r-x
-+	> default:user:bin:rwx
- 	> default:group::r-x
- 	> default:mask::rwx
- 	> default:other::---
-@@ -333,8 +333,8 @@ Remove the default ACL
- 
- 	$ getfacl --omit-header d
- 	> user::rwx
--	> user:bin:rwx
- 	> user:daemon:rw-
-+	> user:bin:rwx
- 	> group::r-x
- 	> mask::rwx
- 	> other::---
-@@ -373,14 +373,14 @@ Now, chmod should change the group_obj entry
- 
- 	$ getfacl --omit-header d
- 	> user::rwx
--	> user:bin:r-x
- 	> user:daemon:rwx
-+	> user:bin:r-x
- 	> group::rwx
- 	> mask::rwx
- 	> other::r-x
- 	> default:user::rwx
--	> default:user:bin:r-x
- 	> default:user:daemon:rwx
-+	> default:user:bin:r-x
- 	> default:group::rwx
- 	> default:mask::rwx
- 	> default:other::r-x
-@@ -392,14 +392,14 @@ Now, chmod should change the group_obj entry
- 
- 	$ getfacl --omit-header d
- 	> user::rwx
--	> user:bin:r-x
- 	> user:daemon:rwx	#effective:r-x
-+	> user:bin:r-x
- 	> group::rwx	#effective:r-x
- 	> mask::r-x
- 	> other::---
- 	> default:user::rwx
--	> default:user:bin:r-x
- 	> default:user:daemon:rwx
-+	> default:user:bin:r-x
- 	> default:group::rwx
- 	> default:mask::rwx
- 	> default:other::r-x
-@@ -411,14 +411,14 @@ Now, chmod should change the group_obj entry
- 
- 	$ getfacl --omit-header d
- 	> user::rwx
--	> user:bin:r-x
- 	> user:daemon:rwx	#effective:r-x
-+	> user:bin:r-x
- 	> group::rwx	#effective:r-x
- 	> mask::r-x
- 	> other::---
- 	> default:user::rwx
--	> default:user:bin:r-x
- 	> default:user:daemon:rwx
-+	> default:user:bin:r-x
- 	> default:group::rwx
- 	> default:mask::rwx
- 	> default:other::r-x
--- 
-1.7.9.5
-
diff --git a/meta/recipes-support/attr/acl/configure.ac b/meta/recipes-support/attr/acl/configure.ac
deleted file mode 100644
index 7af2e8d886e..00000000000
--- a/meta/recipes-support/attr/acl/configure.ac
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright (C) 2009  Andreas Gruenbacher <agruen@suse.de>
-#
-# 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 2 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.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
-#
-AC_INIT(include/acl.h)
-AC_CONFIG_AUX_DIR([.])
-AC_CONFIG_MACRO_DIR([m4])
-AC_CONFIG_HEADER(include/config.h)
-AC_PREFIX_DEFAULT(/usr)
-
-AC_PROG_LIBTOOL
-
-AC_ARG_ENABLE(shared,
-[ --enable-shared=[yes/no] Enable use of shared libraries [default=yes]],,
-	enable_shared=yes)
-AC_SUBST(enable_shared)
-
-AC_ARG_ENABLE(gettext,
-[ --enable-gettext=[yes/no] Enable alternate language support [default=yes]],,
-	enable_gettext=yes)
-AC_SUBST(enable_gettext)
-
-AC_ARG_ENABLE(lib64,
-[ --enable-lib64=[yes/no] Enable lib64 support [default=no]],,
-	enable_lib64=no)
-AC_SUBST(enable_lib64)
-
-AC_PACKAGE_GLOBALS(acl)
-AC_PACKAGE_UTILITIES(acl)
-AC_PACKAGE_NEED_ATTR_XATTR_H
-AC_PACKAGE_NEED_ATTR_ERROR_H
-AC_MULTILIB($enable_lib64)
-AC_PACKAGE_NEED_GETXATTR_LIBATTR
-AC_MANUAL_FORMAT
-
-AC_FUNC_GCC_VISIBILITY
-
-AC_OUTPUT(include/builddefs)
diff --git a/meta/recipes-support/attr/acl/run-ptest b/meta/recipes-support/attr/acl/run-ptest
index a56946d8e6f..43128233654 100644
--- a/meta/recipes-support/attr/acl/run-ptest
+++ b/meta/recipes-support/attr/acl/run-ptest
@@ -4,61 +4,7 @@
 
 #umask 077
 
-EXT3_IMAGE=ext3.img
-EXT3_MOUNT_POINT=/mnt/ext3
+mkdir -p /tmp/acl-ptest/test
+cp test/test.* /tmp/acl-ptest/test
 
-trap 'rm -f ${EXT3_IMAGE}' EXIT
-
-dd if=/dev/zero of=${EXT3_IMAGE} bs=1M count=1
-if [ "$?" -eq 0 ]; then
-	echo "PASS: dump ext3.img"
-else
-	echo "FAIL: dump ext3.img"
-	exit 1
-fi
-
-mkfs.ext3 -F ${EXT3_IMAGE}
-if [ "$?" -eq 0 ]; then
-	echo "PASS: mkfs.ext3 -F ext3.img"
-else
-	echo "FAIL: mkfs.ext3 -F ext3.img"
-	exit 1
-fi
-
-if [ -d $EXT3_MOUNT_POINT ]; then
-	echo "mount point exist"
-else
-	mkdir -p $EXT3_MOUNT_POINT
-fi
-
-
-mount -o loop,rw,acl  ${EXT3_IMAGE} $EXT3_MOUNT_POINT
-if [ "$?" -eq 0 ]; then
-	echo "PASS: mount ext3.img"
-else
-	echo "FAIL: mount ext3.img"
-	exit 1
-fi
-
-cp -rf ./test/ $EXT3_MOUNT_POINT
-
-cd $EXT3_MOUNT_POINT/test/
-
-if	sed -e 's!^bin:x:2:$!bin:x:2:daemon!' < /etc/group > gtmp
-then	if	cp /etc/group group.orig;
-	then	cp gtmp /etc/group
-		make  -k tests root-tests | sed \
-			-e 's|^\[.*\] \(.*\) -- ok$|PASS: \1|' \
-	  		-e 's|^\[.*\] \(.*\) -- failed|FAIL: \1|'
-		cp group.orig /etc/group
-	else	echo "FAIL: couldn't save original group file."
-		exit 1
-	fi
-else	echo "FAIL: couldn't create modified group file."
-	exit 1
-fi
-
-cd -
-umount $EXT3_MOUNT_POINT
-rm -rf $EXT3_MOUNT_POINT
-rm $EXT3_IMAGE
+make test-suite.log
diff --git a/meta/recipes-support/attr/acl/test-fix-directory-permissions.patch b/meta/recipes-support/attr/acl/test-fix-directory-permissions.patch
deleted file mode 100644
index e64990ad5b9..00000000000
--- a/meta/recipes-support/attr/acl/test-fix-directory-permissions.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From 311589fedf196168382d8f0db303ab328bcf9d83 Mon Sep 17 00:00:00 2001
-From: Peter Seebach <peter.seebach@windriver.com>
-Date: Wed, 11 May 2016 15:16:06 -0500
-Subject: [PATCH] acl.inc, run-ptest: improve ptest functionality on limited
-
-commit c45bae84817a70fef6c2b661a07a492a0d23ae85
-
-    Fix permissions on temporary directory
-
-    The temporary directory's permissions have to allow other users to
-    view the directory. A default umask of 022 is common, but not mandatory,
-    and secure systems may have more restrictive defaults.
-
-    Signed-off-by: Peter Seebach <peter.seebach@windriver.com>
-
-Upstream-Status: Backport [ http://git.savannah.gnu.org/cgit/acl.git/commit/?id=c6772a958800de064482634f77c20a0faafc5af6 ]
-
-Signed-off-by: Dengke Du <dengke.du@windriver.com>
----
- test/root/permissions.test | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/test/root/permissions.test b/test/root/permissions.test
-index 42615f5..098b52a 100644
---- a/test/root/permissions.test
-+++ b/test/root/permissions.test
-@@ -16,6 +16,7 @@ Cry immediately if we are not running as root.
- First, set up a temporary directory and create a regular file with
- defined permissions.
- 
-+	$ umask 022
- 	$ mkdir d
- 	$ cd d
- 	$ umask 027
--- 
-2.8.1
-
diff --git a/meta/recipes-support/attr/acl/test-fix-insufficient-quoting-of.patch b/meta/recipes-support/attr/acl/test-fix-insufficient-quoting-of.patch
deleted file mode 100644
index f392465b58e..00000000000
--- a/meta/recipes-support/attr/acl/test-fix-insufficient-quoting-of.patch
+++ /dev/null
@@ -1,100 +0,0 @@
-From e98ce8acf84d12ea67a3ac76bf63c6d87d9af86d Mon Sep 17 00:00:00 2001
-From: Kamil Dudka <kdudka@redhat.com>
-Date: Mon, 20 May 2013 16:38:06 +0200
-Subject: [PATCH] test: fix insufficient quoting of '\'
-
-This is a follow-up to 7f2c91b8369242a8dbc2b304a5b71b2a85f5b855, which
-caused sbits-restore.test to fail in the following way in case SELinux
-was disabled:
-
-*** sbits-restore.test ***
-[3] $ umask 022 -- ok
-[4] $ mkdir d -- ok
-[5] $ touch d/g -- ok
-[6] $ touch d/u -- ok
-[7] $ chmod u+s d/u -- ok
-[8] $ chmod g+s d/g -- ok
-[9] $ chmod +t d -- ok
-[10] $ getfacl -R d > d.acl -- ok
-[11] $ rm -R d -- ok
-[12] $ mkdir d -- ok
-[13] $ touch d/g -- ok
-[14] $ touch d/u -- ok
-[15] $ setfacl --restore d.acl -- ok
-[16] $ ls -dl d | awk '{print $1}' | sed 's/.$//g' -- failed
-drwxr-xr-                             != drwxr-xr-t
-[18] $ ls -dl d/u | awk '{print $1}' | sed 's/.$//g' -- failed
--rwSr--r-                             != -rwSr--r--
-[20] $ ls -dl d/g | awk '{print $1}' | sed 's/.$//g' -- failed
--rw-r-Sr-                             != -rw-r-Sr--
-[22] $ rm -Rf d -- ok
-17 commands (14 passed, 3 failed)
-
-Upstream-Status: Backport
-http://git.savannah.gnu.org/cgit/acl.git/commit/?id=e98ce8acf84d12ea67a3ac76bf63c6d87d9af86d
-
-Signed-off-by: Kamil Dudka <kdudka@redhat.com>
-Signed-off-by: He Zhe <zhe.he@windriver.com>
-
-Index: acl-2.2.52/test/cp.test
-===================================================================
---- acl-2.2.52.orig/test/cp.test
-+++ acl-2.2.52/test/cp.test
-@@ -9,7 +9,7 @@ The cp utility should only copy ACLs if
- 	> -rw-rw-r--+
- 	
- 	$ cp f g
--	$ ls -l g | awk -- '{ print $1 }' | sed 's/\.$//g'
-+	$ ls -l g | awk -- '{ print $1 }' | sed 's/\\.$//g'
- 	> -rw-r--r--
- 	
- 	$ rm g
-Index: acl-2.2.52/test/misc.test
-===================================================================
---- acl-2.2.52.orig/test/misc.test
-+++ acl-2.2.52/test/misc.test
-@@ -254,7 +254,7 @@ Add some users and groups
- Symlink in directory with default ACL?
- 	 
- 	$ ln -s d d/l
--	$ ls -dl d/l | awk '{print $1}' | sed 's/\.$//g'
-+	$ ls -dl d/l | awk '{print $1}' | sed 's/\\.$//g'
- 	> lrwxrwxrwx
- 
- 	$ ls -dl -L d/l | awk '{print $1}'
-@@ -343,7 +343,7 @@ Remove the default ACL
- Reset to base entries
- 	 
- 	$ setfacl -b d
--	$ ls -dl d | awk '{print $1}' | sed 's/\.$//g'
-+	$ ls -dl d | awk '{print $1}' | sed 's/\\.$//g'
- 	> drwxr-x---
- 
- 	$ getfacl --omit-header d
-@@ -355,7 +355,7 @@ Reset to base entries
- Now, chmod should change the group_obj entry
- 	 
- 	$ chmod 775 d
--	$ ls -dl d | awk '{print $1}' | sed 's/\.$//g'
-+	$ ls -dl d | awk '{print $1}' | sed 's/\\.$//g'
- 	> drwxrwxr-x
- 	
- 	$ getfacl --omit-header d
-Index: acl-2.2.52/test/sbits-restore.test
-===================================================================
---- acl-2.2.52.orig/test/sbits-restore.test
-+++ acl-2.2.52/test/sbits-restore.test
-@@ -13,10 +13,10 @@ Ensure setting of SUID/SGID/sticky via -
- 	$ touch d/g
- 	$ touch d/u
- 	$ setfacl --restore d.acl
--	$ ls -dl d | awk '{print $1}' | sed 's/\.$//g'
-+	$ ls -dl d | awk '{print $1}' | sed 's/\\.$//g'
- 	> drwxr-xr-t
--	$ ls -dl d/u | awk '{print $1}' | sed 's/\.$//g'
-+	$ ls -dl d/u | awk '{print $1}' | sed 's/\\.$//g'
- 	> -rwSr--r--
--	$ ls -dl d/g | awk '{print $1}' | sed 's/\.$//g'
-+	$ ls -dl d/g | awk '{print $1}' | sed 's/\\.$//g'
- 	> -rw-r-Sr--
- 	$ rm -Rf d
diff --git a/meta/recipes-support/attr/acl/test-fixups-on-SELinux-machines-for-root-testcases.patch b/meta/recipes-support/attr/acl/test-fixups-on-SELinux-machines-for-root-testcases.patch
deleted file mode 100644
index 8cc11a63e12..00000000000
--- a/meta/recipes-support/attr/acl/test-fixups-on-SELinux-machines-for-root-testcases.patch
+++ /dev/null
@@ -1,84 +0,0 @@
-From d2f49ee6fe4850b8dda5b08676b36201d3c43710 Mon Sep 17 00:00:00 2001
-From: He Zhe <zhe.he@windriver.com>
-Date: Wed, 2 Mar 2016 15:46:57 +0800
-Subject: [PATCH] test: fixups on SELinux machines for root testcases
-
-ls adds a '.' at the end of the permission field list on SELinux
-machines, filter this out so root tests work on SELinux machines.
-
-Upstream-Status: Accepted
-http://git.savannah.gnu.org/cgit/acl.git/commit/?id=26a87d36f80d5e98bccb5878834d9e69dadfe3e9
-
-Signed-off-by: He Zhe <zhe.he@windriver.com>
----
- test/root/permissions.test | 8 ++++----
- test/root/restore.test     | 2 +-
- test/root/setfacl.test     | 2 +-
- 3 files changed, 6 insertions(+), 6 deletions(-)
-
-diff --git a/test/root/permissions.test b/test/root/permissions.test
-index 9b9e3de..665339a 100644
---- a/test/root/permissions.test
-+++ b/test/root/permissions.test
-@@ -19,7 +19,7 @@ defined permissions.
- 	$ cd d
- 	$ umask 027
- 	$ touch f
--	$ ls -l f | awk -- '{ print $1, $3, $4 }'
-+	$ ls -l f | awk -- '{ print $1, $3, $4 }' | sed 's/\\.//g'
- 	> -rw-r----- root root
-
-
-@@ -39,7 +39,7 @@ Now, change the ownership of the file to bin:bin and verify that this
- gives user bin write access.
-
- 	$ chown bin:bin f
--	$ ls -l f | awk -- '{ print $1, $3, $4 }'
-+	$ ls -l f | awk -- '{ print $1, $3, $4 }' | sed 's/\\.//g'
- 	> -rw-r----- bin bin
- 	$ su bin
- 	$ echo bin >> f
-@@ -256,12 +256,12 @@ directories if the file has an ACL and only CAP_FOWNER would grant them.
- 	$ mkdir -m 600 x
- 	$ chown daemon:daemon x
- 	$ echo j > x/j
--	$ ls -l x/j | awk -- '{ print $1, $3, $4 }'
-+	$ ls -l x/j | awk -- '{ print $1, $3, $4 }' | sed 's/\\.//g'
- 	> -rw-r----- root root
-
- 	$ setfacl -m u:daemon:r x
-
--	$ ls -l x/j | awk -- '{ print $1, $3, $4 }'
-+	$ ls -l x/j | awk -- '{ print $1, $3, $4 }' | sed 's/\\.//g'
- 	> -rw-r----- root root
- 	(With the bug this gives: `ls: x/j: Permission denied'.)
-
-diff --git a/test/root/restore.test b/test/root/restore.test
-index 63a9d01..c85097c 100644
---- a/test/root/restore.test
-+++ b/test/root/restore.test
-@@ -21,7 +21,7 @@ Cry immediately if we are not running as root.
- 	$ chown bin passwd
- 	$ chmod u+s passwd
- 	$ setfacl --restore passwd.acl
--	$ ls -dl passwd | awk '{print $1 " " $3 " " $4}'
-+	$ ls -dl passwd | awk '{print $1 " " $3 " " $4}' | sed 's/\\.//g'
- 	> -rwsr-xr-x root root
-
- 	$ rm passwd passwd.acl
-diff --git a/test/root/setfacl.test b/test/root/setfacl.test
-index a46a9f4..7efbad7 100644
---- a/test/root/setfacl.test
-+++ b/test/root/setfacl.test
-@@ -12,7 +12,7 @@ Cry immediately if we are not running as root.
- 	$ sg bin
- 	$ umask 027
- 	$ touch g
--	$ ls -dl g | awk '{print $1}'
-+	$ ls -dl g | awk '{print $1}' | sed 's/\\.//g'
- 	> -rw-r-----
-
- 	$ setfacl -m m:- g
---
-1.9.1
-
diff --git a/meta/recipes-support/attr/acl_2.2.52.bb b/meta/recipes-support/attr/acl_2.2.52.bb
deleted file mode 100644
index 6bc77d868d5..00000000000
--- a/meta/recipes-support/attr/acl_2.2.52.bb
+++ /dev/null
@@ -1,52 +0,0 @@
-SUMMARY = "Utilities for managing POSIX Access Control Lists"
-HOMEPAGE = "http://savannah.nongnu.org/projects/acl/"
-SECTION = "libs"
-
-LICENSE = "LGPLv2.1+ & GPLv2+"
-LICENSE_${PN} = "GPLv2+"
-LICENSE_lib${BPN} = "LGPLv2.1+"
-LIC_FILES_CHKSUM = "file://doc/COPYING;md5=c781d70ed2b4d48995b790403217a249 \
-                    file://doc/COPYING.LGPL;md5=9e9a206917f8af112da634ce3ab41764"
-
-DEPENDS = "attr"
-
-SRC_URI = "${SAVANNAH_GNU_MIRROR}/acl/${BP}.src.tar.gz \
-           file://configure.ac;subdir=${BP} \
-           file://run-ptest \
-           file://acl-fix-the-order-of-expected-output-of-getfacl.patch \
-           file://test-fix-insufficient-quoting-of.patch \
-           file://test-fixups-on-SELinux-machines-for-root-testcases.patch \
-           file://test-fix-directory-permissions.patch \
-           file://Makefile-libacl-should-depend-on-include.patch \
-"
-
-SRC_URI[md5sum] = "a61415312426e9c2212bd7dc7929abda"
-SRC_URI[sha256sum] = "179074bb0580c06c4b4137be4c5a92a701583277967acdb5546043c7874e0d23"
-
-require ea-acl.inc
-
-# avoid RPATH hardcode to staging dir
-do_configure_append() {
-	sed -i ${S}/config.status -e s,^\\\(hardcode_into_libs=\\\).*$,\\1\'no\',
-	${S}/config.status
-}
-
-# libdir should point to .la
-do_install_append() {
-	sed -i ${D}${libdir}/libacl.la -e \
-	    s,^libdir=\'${base_libdir}\'$,libdir=\'${libdir}\',
-}
-
-inherit ptest
-
-PTEST_BUILD_HOST_FILES = "builddefs"
-PTEST_BUILD_HOST_PATTERN = "^RPM"
-do_install_ptest() {
-	tar -c --exclude=nfs test/ | ( cd ${D}${PTEST_PATH} && tar -xf - )
-	install -d ${D}${PTEST_PATH}/include
-	install -m 644 ${S}/include/builddefs ${S}/include/buildmacros ${S}/include/buildrules ${D}${PTEST_PATH}/include/
-}
-
-RDEPENDS_${PN}-ptest = "acl bash coreutils perl perl-module-filehandle perl-module-getopt-std perl-module-posix shadow"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-support/attr/acl_2.2.53.bb b/meta/recipes-support/attr/acl_2.2.53.bb
new file mode 100644
index 00000000000..c95e0524eb4
--- /dev/null
+++ b/meta/recipes-support/attr/acl_2.2.53.bb
@@ -0,0 +1,60 @@
+SUMMARY = "Utilities for managing POSIX Access Control Lists"
+HOMEPAGE = "http://savannah.nongnu.org/projects/acl/"
+SECTION = "libs"
+
+LICENSE = "LGPLv2.1+ & GPLv2+"
+LICENSE_${PN} = "GPLv2+"
+LICENSE_lib${BPN} = "LGPLv2.1+"
+LIC_FILES_CHKSUM = "file://doc/COPYING;md5=c781d70ed2b4d48995b790403217a249 \
+                    file://doc/COPYING.LGPL;md5=9e9a206917f8af112da634ce3ab41764"
+
+DEPENDS = "attr"
+
+SRC_URI = "${SAVANNAH_GNU_MIRROR}/acl/${BP}.tar.gz \
+           file://run-ptest \
+           file://0001-tests-do-not-hardcode-the-build-path-into-a-helper-l.patch \
+           file://0001-test-patch-out-failing-bits.patch \
+           "
+
+SRC_URI[md5sum] = "007aabf1dbb550bcddde52a244cd1070"
+SRC_URI[sha256sum] = "06be9865c6f418d851ff4494e12406568353b891ffe1f596b34693c387af26c7"
+
+inherit autotools gettext ptest
+
+PTEST_BUILD_HOST_FILES = "builddefs"
+PTEST_BUILD_HOST_PATTERN = "^RPM"
+
+do_compile_ptest() {
+        oe_runmake libtestlookup.la
+}
+
+do_install_ptest() {
+	cp -rf ${S}/test/ ${D}${PTEST_PATH}
+	cp -rf ${S}/build-aux/ ${D}${PTEST_PATH}
+        mkdir -p ${D}${PTEST_PATH}/.libs
+	cp -rf ${B}/.libs/libtestlookup* ${D}${PTEST_PATH}/.libs
+        cp ${B}/Makefile ${D}${PTEST_PATH}
+        sed -i "s|^srcdir =.*|srcdir = \.|g" ${D}${PTEST_PATH}/Makefile
+        sed -i "s|^abs_srcdir =.*|abs_srcdir = \.|g" ${D}${PTEST_PATH}/Makefile
+        sed -i "s|^abs_top_srcdir =.*|abs_top_srcdir = \.\.|g" ${D}${PTEST_PATH}/Makefile
+        sed -i "s|^Makefile:.*|Makefile:|g" ${D}${PTEST_PATH}/Makefile
+}
+
+RDEPENDS_${PN}-ptest = "acl \
+                        bash \
+                        coreutils \
+                        perl \
+                        perl-module-filehandle \
+                        perl-module-getopt-std \
+                        perl-module-posix \
+                        shadow \
+                        make \
+                        gawk \
+                        e2fsprogs-mke2fs \
+                        perl-module-cwd \
+                        perl-module-file-basename \
+                        perl-module-file-path \
+                        perl-module-file-spec \
+                       "
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-support/attr/attr.inc b/meta/recipes-support/attr/attr.inc
index 3503d66b9e1..5661301c15a 100644
--- a/meta/recipes-support/attr/attr.inc
+++ b/meta/recipes-support/attr/attr.inc
@@ -8,22 +8,14 @@ LICENSE = "LGPLv2.1+ & GPLv2+"
 LICENSE_${PN} = "GPLv2+"
 LICENSE_lib${BPN} = "LGPLv2.1+"
 LIC_FILES_CHKSUM = "file://doc/COPYING;md5=2d0aa14b3fce4694e4f615e30186335f \
-                    file://attr/attr.c;endline=17;md5=be0403261f0847e5f43ed5b08d19593c \
+                    file://tools/attr.c;endline=17;md5=be0403261f0847e5f43ed5b08d19593c \
                     file://libattr/libattr.c;endline=17;md5=7970f77049f8fa1199fff62a7ab724fb"
 
-SRC_URI = "${SAVANNAH_GNU_MIRROR}/attr/${BP}.src.tar.gz \
+SRC_URI = "${SAVANNAH_GNU_MIRROR}/attr/${BP}.tar.gz \
            file://run-ptest \
 "
 
-require ea-acl.inc
-
-# libdir should point to .la
-do_install_append() {
-	sed -i ${D}${libdir}/libattr.la -e \
-	    s,^libdir=\'${base_libdir}\'$,libdir=\'${libdir}\',
-}
-
-inherit ptest update-alternatives
+inherit ptest update-alternatives autotools gettext
 
 ALTERNATIVE_PRIORITY = "100"
 ALTERNATIVE_${PN} = "setfattr"
@@ -33,14 +25,27 @@ PTEST_BUILD_HOST_FILES = "builddefs"
 PTEST_BUILD_HOST_PATTERN = "^RPM"
 
 do_install_ptest() {
-	tar -c --exclude=ext test/ | ( cd ${D}${PTEST_PATH} && tar -xf - )
-	mkdir ${D}${PTEST_PATH}/include
-	for i in builddefs buildmacros buildrules; \
-	  do cp ${S}/include/$i ${D}${PTEST_PATH}/include/; \
-	done
-	sed -e 's|; @echo|; echo|' -i ${D}${PTEST_PATH}/test/Makefile
+        cp ${B}/Makefile ${D}${PTEST_PATH}
+        sed -i "s|^srcdir =.*|srcdir = \.|g" ${D}${PTEST_PATH}/Makefile
+        sed -i "s|^abs_srcdir =.*|abs_srcdir = \.|g" ${D}${PTEST_PATH}/Makefile
+        sed -i "s|^abs_top_srcdir =.*|abs_top_srcdir = \.\.|g" ${D}${PTEST_PATH}/Makefile
+        sed -i "s|^Makefile:.*|Makefile:|g" ${D}${PTEST_PATH}/Makefile
+	cp -rf ${S}/build-aux/ ${D}${PTEST_PATH}
+	cp -rf ${S}/test/ ${D}${PTEST_PATH}
 }
 
-RDEPENDS_${PN}-ptest = "attr coreutils perl-module-filehandle perl-module-getopt-std perl-module-posix make perl"
+RDEPENDS_${PN}-ptest = "attr \
+                        coreutils \
+                        perl-module-filehandle \
+                        perl-module-getopt-std \
+                        perl-module-posix \
+                        make \
+                        perl \
+                        gawk \
+                        perl-module-cwd \
+                        perl-module-file-basename \
+                        perl-module-file-path \
+                        perl-module-file-spec \
+                        "
 
 BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-support/attr/attr/0001-Use-stdint-types-consistently.patch b/meta/recipes-support/attr/attr/0001-Use-stdint-types-consistently.patch
deleted file mode 100644
index dcd6507bcc5..00000000000
--- a/meta/recipes-support/attr/attr/0001-Use-stdint-types-consistently.patch
+++ /dev/null
@@ -1,69 +0,0 @@
-From 37a27b6fd09ecb37097b85e5db74e4f77b80fe0a Mon Sep 17 00:00:00 2001
-From: Felix Janda <felix.janda@posteo.de>
-Date: Tue, 12 Jan 2016 22:20:33 +0100
-Subject: [PATCH] Use stdint types consistently
-
----
-Upstream-Status: Backport
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
- include/attributes.h | 6 ++++--
- man/man3/attr_list.3 | 8 ++++----
- 2 files changed, 8 insertions(+), 6 deletions(-)
-
-Index: attr-2.4.47/include/attributes.h
-===================================================================
---- attr-2.4.47.orig/include/attributes.h
-+++ attr-2.4.47/include/attributes.h
-@@ -22,6 +22,7 @@
- extern "C" {
- #endif
- 
-+#include <stdint.h>
- /*
-  *	An almost-IRIX-compatible extended attributes API
-  *	(the IRIX attribute "list" operation is missing, added ATTR_SECURE).
-@@ -69,7 +70,7 @@ typedef struct attrlist {
-  * al_offset[i] entry points to.
-  */
- typedef struct attrlist_ent {	/* data from attr_list() */
--	u_int32_t	a_valuelen;	/* number bytes in value of attr */
-+	uint32_t	a_valuelen;	/* number bytes in value of attr */
- 	char		a_name[1];	/* attr name (NULL terminated) */
- } attrlist_ent_t;
- 
-@@ -90,7 +91,7 @@ typedef struct attrlist_ent {	/* data fr
-  * operation on a cursor is to bzero() it.
-  */
- typedef struct attrlist_cursor {
--	u_int32_t	opaque[4];	/* an opaque cookie */
-+	uint32_t	opaque[4];	/* an opaque cookie */
- } attrlist_cursor_t;
- 
- /*
-Index: attr-2.4.47/man/man3/attr_list.3
-===================================================================
---- attr-2.4.47.orig/man/man3/attr_list.3
-+++ attr-2.4.47/man/man3/attr_list.3
-@@ -72,9 +72,9 @@ The contents of an \f4attrlist_t\fP stru
- .nf
- .ft 4
- .ta 9n 22n
--__int32_t al_count; /\(** number of entries in attrlist \(**/
--__int32_t al_more; /\(** T/F: more attrs (do syscall again) \(**/
--__int32_t al_offset[1]; /\(** byte offsets of attrs [var-sized] \(**/
-+int32_t al_count; /\(** number of entries in attrlist \(**/
-+int32_t al_more; /\(** T/F: more attrs (do syscall again) \(**/
-+int32_t al_offset[1]; /\(** byte offsets of attrs [var-sized] \(**/
- .ft 1
- .fi
- .RE
-@@ -113,7 +113,7 @@ include the following members:
- .nf
- .ft 4
- .ta 9n 22n
--u_int32_t a_valuelen; /\(** number bytes in value of attr \(**/
-+uint32_t a_valuelen; /\(** number bytes in value of attr \(**/
- char a_name[]; /\(** attr name (NULL terminated) \(**/
- .ft 1
- .fi
diff --git a/meta/recipes-support/attr/attr/attr-Missing-configure.ac.patch b/meta/recipes-support/attr/attr/attr-Missing-configure.ac.patch
deleted file mode 100644
index 20fcc3cee7b..00000000000
--- a/meta/recipes-support/attr/attr/attr-Missing-configure.ac.patch
+++ /dev/null
@@ -1,63 +0,0 @@
-Subject: [PATCH] attr: Missing configure.ac
-
-Upstream-Status: Backport [Upstream released tarball missing this file]
-Signed-off-by: Nathan Rossi <nathan.rossi@xilinx.com>
----
- configure.ac |   48 ++++++++++++++++++++++++++++++++++++++++++++++++
- 1 file changed, 48 insertions(+)
- create mode 100644 configure.ac
-
-diff --git a/configure.ac b/configure.ac
-new file mode 100644
-index 0000000..b966d0e
---- /dev/null
-+++ b/configure.ac
-@@ -0,0 +1,48 @@
-+# Copyright (C) 2009  Andreas Gruenbacher <agruen@suse.de>
-+#
-+# 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 2 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.
-+#
-+# You should have received a copy of the GNU General Public License
-+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
-+#
-+AC_INIT(include/attributes.h)
-+AC_CONFIG_AUX_DIR([.])
-+AC_CONFIG_MACRO_DIR([m4])
-+AC_CONFIG_HEADER(include/config.h)
-+AC_PREFIX_DEFAULT(/usr)
-+
-+AC_PROG_LIBTOOL
-+
-+AC_ARG_ENABLE(shared,
-+[ --enable-shared=[yes/no] Enable use of shared libraries [default=yes]],,
-+	enable_shared=yes)
-+AC_SUBST(enable_shared)
-+
-+AC_ARG_ENABLE(gettext,
-+[ --enable-gettext=[yes/no] Enable alternate language support [default=yes]],,
-+	enable_gettext=yes)
-+AC_SUBST(enable_gettext)
-+
-+AC_ARG_ENABLE(lib64,
-+[ --enable-lib64=[yes/no] Enable lib64 support [default=no]],,
-+	enable_lib64=no)
-+AC_SUBST(enable_lib64)
-+
-+AC_PACKAGE_GLOBALS(attr)
-+AC_PACKAGE_UTILITIES(attr)
-+AC_MANUAL_FORMAT
-+AC_MULTILIB($enable_lib64)
-+
-+AC_C_CONST
-+AC_TYPE_MODE_T
-+AC_FUNC_ALLOCA
-+
-+AC_OUTPUT(include/builddefs)
diff --git a/meta/recipes-support/attr/attr/dont-use-decl-macros.patch b/meta/recipes-support/attr/attr/dont-use-decl-macros.patch
deleted file mode 100644
index 9d4b8929e89..00000000000
--- a/meta/recipes-support/attr/attr/dont-use-decl-macros.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-Use extern "C" instead of __BEGIN_DECL/__END_DECL macros
-these macros are defined in sys/cdefs.h for glibc and this header is not available on all libc
-
-anyway they defined like below
-
-#ifdef __cplusplus
-# define __BEGIN_DECLS extern "C" {
-# define __END_DECLS }
-#else
-# define __BEGIN_DECLS /* empty */
-# define __END_DECLS /* empty */
-#endif
-
-__THROW macro is also not available on musl, defined thusly
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-Index: attr-2.4.47/include/xattr.h
-===================================================================
---- attr-2.4.47.orig/include/xattr.h	2014-04-02 00:01:30.252091280 -0700
-+++ attr-2.4.47/include/xattr.h	2014-04-02 00:12:57.985428099 -0700
-@@ -30,8 +30,20 @@
- #define XATTR_CREATE  0x1       /* set value, fail if attr already exists */
- #define XATTR_REPLACE 0x2       /* set value, fail if attr does not exist */
- 
--
--__BEGIN_DECLS
-+#ifndef __THROW
-+# ifndef __GNUC_PREREQ
-+#  define __GNUC_PREREQ(maj, min) (0)
-+# endif
-+# if defined __cplusplus && __GNUC_PREREQ (2,8)
-+#  define __THROW       throw ()
-+# else
-+#  define __THROW
-+# endif
-+#endif
-+
-+#ifdef __cplusplus
-+extern "C" {
-+#endif
- 
- extern int setxattr (const char *__path, const char *__name,
- 		      const void *__value, size_t __size, int __flags) __THROW;
-@@ -58,6 +70,8 @@
- extern int lremovexattr (const char *__path, const char *__name) __THROW;
- extern int fremovexattr (int __filedes,   const char *__name) __THROW;
- 
--__END_DECLS
-+#ifdef __cplusplus
-+}
-+#endif
- 
- #endif	/* __XATTR_H__ */
diff --git a/meta/recipes-support/attr/attr/run-ptest b/meta/recipes-support/attr/attr/run-ptest
new file mode 100644
index 00000000000..f64244f2393
--- /dev/null
+++ b/meta/recipes-support/attr/attr/run-ptest
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+make test-suite.log
diff --git a/meta/recipes-support/attr/attr_2.4.47.bb b/meta/recipes-support/attr/attr_2.4.47.bb
deleted file mode 100644
index fc88bef830b..00000000000
--- a/meta/recipes-support/attr/attr_2.4.47.bb
+++ /dev/null
@@ -1,15 +0,0 @@
-require attr.inc
-
-# configure.ac was missing from the release tarball. This should be fixed in
-# future releases of attr, remove this when updating the recipe.
-SRC_URI += "file://attr-Missing-configure.ac.patch \
-            file://dont-use-decl-macros.patch \
-            file://Remove-the-section-2-man-pages.patch \
-            file://Remove-the-attr.5-man-page-moved-to-man-pages.patch \
-            file://0001-Use-stdint-types-consistently.patch \
-           "
-
-SRC_URI[md5sum] = "84f58dec00b60f2dc8fd1c9709291cc7"
-SRC_URI[sha256sum] = "25772f653ac5b2e3ceeb89df50e4688891e21f723c460636548971652af0a859"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-support/attr/attr_2.4.48.bb b/meta/recipes-support/attr/attr_2.4.48.bb
new file mode 100644
index 00000000000..530d4e48833
--- /dev/null
+++ b/meta/recipes-support/attr/attr_2.4.48.bb
@@ -0,0 +1,6 @@
+require attr.inc
+
+SRC_URI[md5sum] = "bc1e5cb5c96d99b24886f1f527d3bb3d"
+SRC_URI[sha256sum] = "5ead72b358ec709ed00bbf7a9eaef1654baad937c001c044fe8b74c57f5324e7"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-support/attr/ea-acl.inc b/meta/recipes-support/attr/ea-acl.inc
deleted file mode 100644
index 9336ffc9389..00000000000
--- a/meta/recipes-support/attr/ea-acl.inc
+++ /dev/null
@@ -1,52 +0,0 @@
-# this build system is mostly shared by attr and acl
-
-SRC_URI += "file://relative-libdir.patch;striplevel=0 \
-           "
-# This patch should be applied after '(attr\|acl)-Missing-configure.ac.patch' 
-SRC_URI_append = " file://0001-Added-configure-option-to-enable-disable-static-libr.patch"
-
-inherit autotools-brokensep gettext
-
-# When upstream is using automake properly, this can be removed
-CLEANBROKEN = "1"
-
-# the package comes with a custom config.h.in, it cannot be
-# overwritten by autoheader
-EXTRA_AUTORECONF += "--exclude=autoheader"
-EXTRA_OECONF = "INSTALL_USER=root INSTALL_GROUP=root"
-EXTRA_OECONF_append_class-native = " --enable-gettext=no"
-EXTRA_OECONF_append_class-target = "${@['', ' --disable-gettext '][(d.getVar('USE_NLS') == 'no')]}"
-
-EXTRA_OEMAKE = "PKG_LIB_DIR=${base_libdir} PKG_DEVLIB_DIR=${libdir}"
-
-do_install () {
-	oe_runmake install install-lib install-dev DIST_ROOT="${D}" ZIP="gzip -n"
-}
-
-do_install_append_class-native () {
-	if test "${libdir}" = "${base_libdir}" ; then
-		return
-	fi
-	librelpath=${@os.path.relpath(d.getVar('libdir'), d.getVar('base_libdir'))}
-	baselibrelpath=${@os.path.relpath(d.getVar('base_libdir'), d.getVar('libdir'))}
-
-	# Remove bad symlinks & create the correct symlinks
-	if test -L ${D}${libdir}/lib${BPN}.so ; then
-		rm -rf ${D}${libdir}/lib${BPN}.so
-		ln -sf $baselibrelpath/lib${BPN}.so ${D}${libdir}/lib${BPN}.so
-	fi
-	if test -L ${D}${base_libdir}/lib${BPN}.a ; then
-		rm -rf ${D}${base_libdir}/lib${BPN}.a
-		ln -sf $librelpath/lib${BPN}.a ${D}${base_libdir}/lib${BPN}.a
-	fi
-	if test -L  ${D}${base_libdir}/lib${BPN}.la ; then
-		rm -rf ${D}${base_libdir}/lib${BPN}.la
-		ln -sf $librelpath/lib${BPN}.la ${D}${base_libdir}/lib${BPN}.la
-	fi
-}
-
-PACKAGES =+ "lib${BPN}"
-
-FILES_lib${BPN} = "${base_libdir}/lib*${SOLIBS}"
-
-BBCLASSEXTEND = "native"
diff --git a/meta/recipes-support/attr/files/0001-Added-configure-option-to-enable-disable-static-libr.patch b/meta/recipes-support/attr/files/0001-Added-configure-option-to-enable-disable-static-libr.patch
deleted file mode 100644
index 1c1159f2c90..00000000000
--- a/meta/recipes-support/attr/files/0001-Added-configure-option-to-enable-disable-static-libr.patch
+++ /dev/null
@@ -1,70 +0,0 @@
-From 01256c61ba126449c46dd4ab5d5e145488b981fa Mon Sep 17 00:00:00 2001
-From: Amarnath Valluri <amarnath.valluri@intel.com>
-Date: Mon, 23 Jan 2017 13:25:13 +0200
-Subject: [PATCH] Added configure option to enable/disable static library
-
-Create static library archive only in case of --enable-static.
-
-Upstream-Status: Pending
-
-Signed-off-by: Amarnath Valluri <amarnath.valluri@intel.com>
----
- configure.ac         | 6 ++++++
- include/builddefs.in | 1 +
- include/buildmacros  | 3 +++
- 3 files changed, 10 insertions(+)
-
-diff --git a/configure.ac b/configure.ac
-index b966d0e..e48268b 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -26,6 +26,12 @@ AC_ARG_ENABLE(shared,
- 	enable_shared=yes)
- AC_SUBST(enable_shared)
- 
-+AC_ARG_ENABLE(static,
-+[ --enable-static=[yes/no] Enable use of static libraries [default=yes]],,
-+	enable_static=yes)
-+AC_SUBST(enable_static)
-+
-+
- AC_ARG_ENABLE(gettext,
- [ --enable-gettext=[yes/no] Enable alternate language support [default=yes]],,
- 	enable_gettext=yes)
-diff --git a/include/builddefs.in b/include/builddefs.in
-index d9931db..3b3dbd2 100644
---- a/include/builddefs.in
-+++ b/include/builddefs.in
-@@ -71,6 +71,7 @@ RPMBUILD	= @rpmbuild@
- RPM_VERSION	= @rpm_version@
- 
- ENABLE_SHARED	= @enable_shared@
-+ENABLE_STATIC 	= @enable_static@
- ENABLE_GETTEXT	= @enable_gettext@
- 
- HAVE_ZIPPED_MANPAGES = @have_zipped_manpages@
-diff --git a/include/buildmacros b/include/buildmacros
-index 39fa7e2..b0f25c5 100644
---- a/include/buildmacros
-+++ b/include/buildmacros
-@@ -80,6 +80,7 @@ endif
- # /usr/lib.
- ifeq ($(ENABLE_SHARED),yes)
- INSTALL_LTLIB_DEV = \
-+	set -x; \
- 	cd $(TOPDIR)/$(LIBNAME)/.libs; \
- 	../$(INSTALL) -m 755 -d $(PKG_DEVLIB_DIR); \
- 	../$(INSTALL) -m 644 -T old_lib $(LIBNAME).lai $(PKG_DEVLIB_DIR); \
-@@ -88,7 +89,9 @@ INSTALL_LTLIB_DEV = \
- 	../$(INSTALL) -T so_base $(LIBNAME).lai $(PKG_LIB_DIR); \
- 	if test "x$(PKG_DEVLIB_DIR)" != "x$(PKG_LIB_DIR)" ; then \
- 	rel_lib_prefix=$$(echo $(PKG_LIB_DIR) | sed 's,\(^/\|\)[^/][^/]*,..,g'); \
-+	if test "$(ENABLE_STATIC)" = "yes" ; then \
- 	../$(INSTALL) -S $$rel_lib_prefix$(PKG_DEVLIB_DIR)/$(LIBNAME).a $(PKG_LIB_DIR)/$(LIBNAME).a; \
-+	fi ;\
- 	../$(INSTALL) -S $$rel_lib_prefix$(PKG_DEVLIB_DIR)/$(LIBNAME).la $(PKG_LIB_DIR)/$(LIBNAME).la; \
- 	rel_devlib_prefix=$$(echo $(PKG_DEVLIB_DIR) | sed 's,\(^/\|\)[^/][^/]*,..,g'); \
- 	../$(INSTALL) -S $$rel_devlib_prefix$(PKG_LIB_DIR)/$(LIBNAME).so $(PKG_DEVLIB_DIR)/$(LIBNAME).so; \
--- 
-2.7.4
-
diff --git a/meta/recipes-support/attr/files/Remove-the-attr.5-man-page-moved-to-man-pages.patch b/meta/recipes-support/attr/files/Remove-the-attr.5-man-page-moved-to-man-pages.patch
deleted file mode 100644
index d5ab83d7c68..00000000000
--- a/meta/recipes-support/attr/files/Remove-the-attr.5-man-page-moved-to-man-pages.patch
+++ /dev/null
@@ -1,240 +0,0 @@
-From 6047c8522b91235ad1e835f44f5e36472d9d49b2 Mon Sep 17 00:00:00 2001
-From: Andreas Gruenbacher <andreas.gruenbacher@gmail.com>
-Date: Wed, 22 Apr 2015 11:46:59 +0200
-Subject: [PATCH 2/2] Remove the attr.5 man page (moved to man-pages)
-
-Commit dce9b4448c7f2b22bd206cd068fb05cb2f3255b9 from
-https://git.savannah.nongnu.org/git/attr.git
-
-The attr.5 page is part of the extended attribute system call documentation,
-which has been moved into the man-pages package. Move the attr.5 page there
-as well.
-
-Upstream-Status: Backport
-
-[MA: updated to apply directly to v2.4.47]
-Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com>
----
- man/Makefile      |   2 +-
- man/man5/Makefile |  35 -------------
- man/man5/attr.5   | 153 ------------------------------------------------------
- 3 files changed, 1 insertion(+), 189 deletions(-)
- delete mode 100644 man/man5/Makefile
- delete mode 100644 man/man5/attr.5
-
-diff --git a/man/Makefile b/man/Makefile
-index 755daed..9301f09 100644
---- a/man/Makefile
-+++ b/man/Makefile
-@@ -19,7 +19,7 @@
- TOPDIR = ..
- include $(TOPDIR)/include/builddefs
- 
--SUBDIRS = man1 man3 man5
-+SUBDIRS = man1 man3
- 
- default : $(SUBDIRS)
- 
-diff --git a/man/man5/Makefile b/man/man5/Makefile
-deleted file mode 100644
-index 6b70d3d..0000000
---- a/man/man5/Makefile
-+++ /dev/null
-@@ -1,35 +0,0 @@
--#
--# Copyright (c) 2000, 2002 Silicon Graphics, Inc.  All Rights Reserved.
--# Copyright (C) 2009  Andreas Gruenbacher <agruen@suse.de>
--#
--# 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 2 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.
--#
--# You should have received a copy of the GNU General Public License
--# along with this program.  If not, see <http://www.gnu.org/licenses/>.
--#
--
--TOPDIR = ../..
--include $(TOPDIR)/include/builddefs
--
--MAN_SECTION	= 5
--
--MAN_PAGES	= $(shell echo *.$(MAN_SECTION))
--MAN_DEST	= $(PKG_MAN_DIR)/man$(MAN_SECTION)
--LSRCFILES	= $(MAN_PAGES)
--
--default : $(MAN_PAGES)
--
--include $(BUILDRULES)
--
--install : default
--	$(INSTALL) -m 755 -d $(MAN_DEST)
--	$(INSTALL_MAN)
--install-dev install-lib:
-diff --git a/man/man5/attr.5 b/man/man5/attr.5
-deleted file mode 100644
-index a02757d..0000000
---- a/man/man5/attr.5
-+++ /dev/null
-@@ -1,153 +0,0 @@
--.\" Extended attributes manual page
--.\"
--.\" Copyright (C) 2000, 2002, 2007  Andreas Gruenbacher <agruen@suse.de>
--.\" Copyright (C) 2001, 2002, 2004, 2007 Silicon Graphics, Inc.
--.\" All rights reserved.
--.\"
--.\" This is free documentation; you can redistribute it and/or
--.\" modify it under the terms of the GNU General Public License as
--.\" published by the Free Software Foundation; either version 2 of
--.\" the License, or (at your option) any later version.
--.\"
--.\" The GNU General Public License's references to "object code"
--.\" and "executables" are to be interpreted as the output of any
--.\" document formatting or typesetting system, including
--.\" intermediate and printed output.
--.\"
--.\" This manual 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.
--.\"
--.\" You should have received a copy of the GNU General Public
--.\" License along with this manual.  If not, see
--.\" <http://www.gnu.org/licenses/>.
--.\"
--.TH ATTR 5
--.SH NAME
--attr - Extended attributes
--.SH DESCRIPTION
--Extended attributes are name:value pairs associated permanently with
--files and directories, similar to the environment strings associated
--with a process.
--An attribute may be defined or undefined.
--If it is defined, its value may be empty or non-empty.
--.PP
--Extended attributes are extensions to the normal attributes which are
--associated with all inodes in the system (i.e. the
--.BR stat (2)
--data).
--They are often used to provide additional functionality
--to a filesystem \- for example, additional security features such as
--Access Control Lists (ACLs) may be implemented using extended attributes.
--.PP
--Users with search access to a file or directory may retrieve a list of
--attribute names defined for that file or directory.
--.PP
--Extended attributes are accessed as atomic objects.
--Reading retrieves the whole value of an attribute and stores it in a buffer.
--Writing replaces any previous value with the new value.
--.PP
--Space consumed for extended attributes is counted towards the disk quotas
--of the file owner and file group.
--.PP
--Currently, support for extended attributes is implemented on Linux by the
--ext2, ext3, ext4, XFS, JFS and reiserfs filesystems.
--.SH EXTENDED ATTRIBUTE NAMESPACES
--Attribute names are zero-terminated strings.
--The attribute name is always specified in the fully qualified
--.IR namespace.attribute
--form, eg.
--.IR user.mime_type ,
--.IR trusted.md5sum ,
--.IR system.posix_acl_access ,
--or
--.IR security.selinux .
--.PP
--The namespace mechanism is used to define different classes of extended
--attributes.
--These different classes exist for several reasons, e.g. the permissions
--and capabilities required for manipulating extended attributes of one
--namespace may differ to another.
--.PP
--Currently the
--.IR security ,
--.IR system ,
--.IR trusted ,
--and
--.IR user
--extended attribute classes are defined as described below. Additional
--classes may be added in the future.
--.SS Extended security attributes
--The security attribute namespace is used by kernel security modules,
--such as Security Enhanced Linux.  
--Read and write access permissions to security attributes depend on the
--policy implemented for each security attribute by the security module.
--When no security module is loaded, all processes have read access to
--extended security attributes, and write access is limited to processes
--that have the CAP_SYS_ADMIN capability.
--.SS Extended system attributes
--Extended system attributes are used by the kernel to store system
--objects such as Access Control Lists and Capabilities.  Read and write
--access permissions to system attributes depend on the policy implemented
--for each system attribute implemented by filesystems in the kernel.
--.SS Trusted extended attributes
--Trusted extended attributes are visible and accessible only to processes that
--have the CAP_SYS_ADMIN capability (the super user usually has this
--capability).
--Attributes in this class are used to implement mechanisms in user
--space (i.e., outside the kernel) which keep information in extended attributes
--to which ordinary processes should not have access.
--.SS Extended user attributes
--Extended user attributes may be assigned to files and directories for
--storing arbitrary additional information such as the mime type,
--character set or encoding of a file. The access permissions for user
--attributes are defined by the file permission bits.
--.PP
--The file permission bits of regular files and directories are
--interpreted differently from the file permission bits of special files
--and symbolic links. For regular files and directories the file
--permission bits define access to the file's contents, while for device special
--files they define access to the device described by the special file.
--The file permissions of symbolic links are not used in access
--checks. These differences would allow users to consume filesystem resources in
--a way not controllable by disk quotas for group or world writable special files and directories.
--.PP
--For this reason, extended user attributes are only allowed for regular files and directories, and access to extended user attributes is restricted to the
--owner and to users with appropriate capabilities for directories with the
--sticky bit set (see the
--.BR chmod (1)
--manual page for an explanation of Sticky Directories).
--.SH FILESYSTEM DIFFERENCES
--The kernel and the filesystem may place limits on the maximum number
--and size of extended attributes that can be associated with a file.
--Some file systems, such as ext2/3 and reiserfs, require the filesystem
--to be mounted with the
--.B user_xattr
--mount option in order for extended user attributes to be used.
--.PP
--In the current ext2, ext3 and ext4 filesystem implementations, each
--extended attribute must fit on a single filesystem block (1024, 2048
--or 4096 bytes, depending on the block size specified when the
--filesystem was created).
--.PP
--In the XFS and reiserfs filesystem implementations, there is no
--practical limit on the number or size of extended attributes
--associated with a file, and the algorithms used to store extended
--attribute information on disk are scalable.
--.PP
--In the JFS filesystem implementation, names can be up to 255 bytes and
--values up to 65,535 bytes.
--.SH ADDITIONAL NOTES
--Since the filesystems on which extended attributes are stored might also
--be used on architectures with a different byte order and machine word
--size, care should be taken to store attribute values in an architecture
--independent format.
--.SH AUTHORS
--Andreas Gruenbacher,
--.RI < a.gruenbacher@bestbits.at >
--and the SGI XFS development team,
--.RI < linux-xfs@oss.sgi.com >.
--.SH SEE ALSO
--getfattr(1),
--setfattr(1).
--- 
-2.7.4
-
diff --git a/meta/recipes-support/attr/files/Remove-the-section-2-man-pages.patch b/meta/recipes-support/attr/files/Remove-the-section-2-man-pages.patch
deleted file mode 100644
index 044c5a037c8..00000000000
--- a/meta/recipes-support/attr/files/Remove-the-section-2-man-pages.patch
+++ /dev/null
@@ -1,666 +0,0 @@
-From b972600a26f3a930e53e2fce2625266a5d29813e Mon Sep 17 00:00:00 2001
-From: Andreas Gruenbacher <andreas.gruenbacher@gmail.com>
-Date: Tue, 14 Apr 2015 23:53:11 +0200
-Subject: [PATCH 1/2] Remove the section 2 man pages
-
-Commit 8d1263bca95722d66a6f8e83450f49d0956ea534 from upstream
-https://git.savannah.nongnu.org/git/attr.git/
-
-The section 2 man pages have long since been added to the man-pages package
-which documents all system calls; they were disabled in attr by default since
-January 2014.  Get rid of them here.
-
-Upstream-Status: Backport
-
-[MA: modified to apply directly to v2.4.47]
-Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com>
----
- man/Makefile           |   2 +-
- man/man2/Makefile      |  35 -----------
- man/man2/getxattr.2    | 143 --------------------------------------------
- man/man2/listxattr.2   | 158 -------------------------------------------------
- man/man2/removexattr.2 | 111 ----------------------------------
- man/man2/setxattr.2    | 143 --------------------------------------------
- 6 files changed, 1 insertion(+), 591 deletions(-)
- delete mode 100644 man/man2/Makefile
- delete mode 100644 man/man2/getxattr.2
- delete mode 100644 man/man2/listxattr.2
- delete mode 100644 man/man2/removexattr.2
- delete mode 100644 man/man2/setxattr.2
-
-diff --git a/man/Makefile b/man/Makefile
-index 9535426..755daed 100644
---- a/man/Makefile
-+++ b/man/Makefile
-@@ -19,7 +19,7 @@
- TOPDIR = ..
- include $(TOPDIR)/include/builddefs
- 
--SUBDIRS = man1 man2 man3 man5
-+SUBDIRS = man1 man3 man5
- 
- default : $(SUBDIRS)
- 
-diff --git a/man/man2/Makefile b/man/man2/Makefile
-deleted file mode 100644
-index d77309d..0000000
---- a/man/man2/Makefile
-+++ /dev/null
-@@ -1,35 +0,0 @@
--#
--# Copyright (c) 2000-2002 Silicon Graphics, Inc.  All Rights Reserved.
--# Copyright (C) 2009  Andreas Gruenbacher <agruen@suse.de>
--#
--# 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 2 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.
--#
--# You should have received a copy of the GNU General Public License
--# along with this program.  If not, see <http://www.gnu.org/licenses/>.
--#
--
--TOPDIR = ../..
--include $(TOPDIR)/include/builddefs
--
--MAN_SECTION	= 2
--
--MAN_PAGES	= $(shell echo *.$(MAN_SECTION))
--MAN_DEST	= $(PKG_MAN_DIR)/man$(MAN_SECTION)
--LSRCFILES	= $(MAN_PAGES)
--
--default install : $(MAN_PAGES)
--
--include $(BUILDRULES)
--
--install-dev : default
--	$(INSTALL) -m 755 -d $(MAN_DEST)
--	$(INSTALL_MAN)
--install-lib:
-diff --git a/man/man2/getxattr.2 b/man/man2/getxattr.2
-deleted file mode 100644
-index 405ad89..0000000
---- a/man/man2/getxattr.2
-+++ /dev/null
-@@ -1,143 +0,0 @@
--.\"
--.\" Extended attributes system calls manual pages
--.\"
--.\" (C) Andreas Gruenbacher, February 2001
--.\" (C) Silicon Graphics Inc, September 2001
--.\"
--.\" This is free documentation; you can redistribute it and/or
--.\" modify it under the terms of the GNU General Public License as
--.\" published by the Free Software Foundation; either version 2 of
--.\" the License, or (at your option) any later version.
--.\"
--.\" The GNU General Public License's references to "object code"
--.\" and "executables" are to be interpreted as the output of any
--.\" document formatting or typesetting system, including
--.\" intermediate and printed output.
--.\"
--.\" This manual 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.
--.\"
--.\" You should have received a copy of the GNU General Public
--.\" License along with this manual.  If not, see
--.\" <http://www.gnu.org/licenses/>.
--.\"
--.TH GETXATTR 2 "Extended Attributes" "Dec 2001" "System calls"
--.SH NAME
--getxattr, lgetxattr, fgetxattr \- retrieve an extended attribute value
--.SH SYNOPSIS
--.fam C
--.nf
--.B #include <sys/types.h>
--.B #include <attr/xattr.h>
--.sp
--.BI "ssize_t getxattr (const char\ *" path ", const char\ *" name ",
--.BI "\t\t\t\t void\ *" value ", size_t " size );
--.BI "ssize_t lgetxattr (const char\ *" path ", const char\ *" name ",
--.BI "\t\t\t\t void\ *" value ", size_t " size );
--.BI "ssize_t fgetxattr (int " filedes ", const char\ *" name ",
--.BI "\t\t\t\t void\ *" value ", size_t " size );
--.fi
--.fam T
--.SH DESCRIPTION
--Extended attributes are
--.IR name :\c
--.I value
--pairs associated with inodes (files, directories, symlinks, etc).
--They are extensions to the normal attributes which are associated
--with all inodes in the system (i.e. the
--.BR stat (2)
--data).
--A complete overview of extended attributes concepts can be found in
--.BR attr (5).
--.PP
--.B getxattr
--retrieves the
--.I value
--of the extended attribute identified by
--.I name
--and associated with the given
--.I path
--in the filesystem.
--The length of the attribute
--.I value
--is returned.
--.PP
--.B lgetxattr
--is identical to 
--.BR getxattr ,
--except in the case of a symbolic link, where the link itself is
--interrogated, not the file that it refers to.
--.PP
--.B fgetxattr
--is identical to
--.BR getxattr ,
--only the open file pointed to by
--.I filedes
--(as returned by
--.BR open (2))
--is interrogated in place of
--.IR path .
--.PP
--An extended attribute
--.I name
--is a simple NULL-terminated string.
--The name includes a namespace prefix \- there may be several, disjoint
--namespaces associated with an individual inode.
--The value of an extended attribute is a chunk of arbitrary textual or
--binary data of specified length.
--.PP
--An empty buffer of
--.I size
--zero can be passed into these calls to return the current size of the
--named extended attribute, which can be used to estimate the size of a
--buffer which is sufficiently large to hold the value associated with
--the extended attribute.
--.PP
--The interface is designed to allow guessing of initial buffer
--sizes, and to enlarge buffers when the return value indicates
--that the buffer provided was too small.
--.SH RETURN VALUE
--On success, a positive number is returned indicating the size of the
--extended attribute value.
--On failure, \-1 is returned and
--.I errno
--is set appropriately.
--.PP
--If the named attribute does not exist, or the process has no access to
--this attribute,
--.I errno
--is set to ENOATTR.
--.PP
--If the
--.I size
--of the
--.I value
--buffer is too small to hold the result,
--.I errno
--is set to ERANGE.
--.PP
--If extended attributes are not supported by the filesystem, or are disabled,
--.I errno
--is set to ENOTSUP.
--.PP
--The errors documented for the
--.BR stat (2)
--system call are also applicable here.
--.SH AUTHORS
--Andreas Gruenbacher,
--.RI < a.gruenbacher@bestbits.at >
--and the SGI XFS development team,
--.RI < linux-xfs@oss.sgi.com >.
--Please send any bug reports or comments to these addresses.
--.SH SEE ALSO
--.BR getfattr (1),
--.BR setfattr (1),
--.BR open (2),
--.BR stat (2),
--.BR setxattr (2),
--.BR listxattr (2),
--.BR removexattr (2),
--and
--.BR attr (5).
-diff --git a/man/man2/listxattr.2 b/man/man2/listxattr.2
-deleted file mode 100644
-index 8b4371c..0000000
---- a/man/man2/listxattr.2
-+++ /dev/null
-@@ -1,158 +0,0 @@
--.\"
--.\" Extended attributes system calls manual pages
--.\"
--.\" (C) Andreas Gruenbacher, February 2001
--.\" (C) Silicon Graphics Inc, September 2001
--.\"
--.\" This is free documentation; you can redistribute it and/or
--.\" modify it under the terms of the GNU General Public License as
--.\" published by the Free Software Foundation; either version 2 of
--.\" the License, or (at your option) any later version.
--.\"
--.\" The GNU General Public License's references to "object code"
--.\" and "executables" are to be interpreted as the output of any
--.\" document formatting or typesetting system, including
--.\" intermediate and printed output.
--.\"
--.\" This manual 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.
--.\"
--.\" You should have received a copy of the GNU General Public
--.\" License along with this manual.  If not, see
--.\" <http://www.gnu.org/licenses/>.
--.\"
--.TH LISTXATTR 2 "Extended Attributes" "Dec 2001" "System calls"
--.SH NAME
--listxattr, llistxattr, flistxattr \- list extended attribute names
--.SH SYNOPSIS
--.fam C
--.nf
--.B #include <sys/types.h>
--.B #include <attr/xattr.h>
--.sp
--.BI "ssize_t listxattr (const char\ *" path ",
--.BI "\t\t\t\t char\ *" list ", size_t " size );
--.BI "ssize_t llistxattr (const char\ *" path ",
--.BI "\t\t\t\t char\ *" list ", size_t " size );
--.BI "ssize_t flistxattr (int " filedes ",
--.BI "\t\t\t\t char\ *" list ", size_t " size );
--.fi
--.fam T
--.SH DESCRIPTION
--Extended attributes are name:value
--pairs associated with inodes (files, directories, symlinks, etc).
--They are extensions to the normal attributes which are associated
--with all inodes in the system (i.e. the
--.BR stat (2)
--data).
--A complete overview of extended attributes concepts can be found in
--.BR attr (5).
--.PP
--.B listxattr
--retrieves the
--.I list
--of extended attribute names associated with the given
--.I path
--in the filesystem.
--The list is the set of (NULL-terminated) names, one after the other.
--Names of extended attributes to which the calling process does not
--have access may be omitted from the list.
--The length of the attribute name
--.I list
--is returned.
--.PP
--.B llistxattr
--is identical to
--.BR listxattr ,
--except in the case of a symbolic link, where the list of names of
--extended attributes associated with the link itself is retrieved,
--not the file that it refers to.
--.I list
--is a caller-allocated buffer of size
--.IR size .
--.PP
--.B flistxattr
--is identical to
--.BR listxattr ,
--only the open file pointed to by
--.I filedes
--(as returned by
--.BR open (2))
--is interrogated in place of
--.IR path .
--.PP
--A single extended attribute
--.I name
--is a simple NULL-terminated string.
--The name includes a namespace prefix \- there may be several, disjoint
--namespaces associated with an individual inode.
--.PP
--An empty buffer of
--.I size
--zero can be passed into these calls to return the current size of the
--list of extended attribute names, which can be used to estimate the
--size of a buffer which is sufficiently large to hold the list of names.
--.SH EXAMPLES
--The
--.I list
--of names is returned as an unordered array of NULL-terminated character
--strings (attribute names are separated by NULL characters), like this:
--.fam C
--.RS
--.nf
--user.name1\\0system.name1\\0user.name2\\0
--.fi
--.RE
--.fam T
--.P
--Filesystems like ext2, ext3 and XFS which implement POSIX ACLs using
--extended attributes, might return a
--.I list
--like this:
--.fam C
--.RS
--.nf
--system.posix_acl_access\\0system.posix_acl_default\\0
--.fi
--.RE
--.fam T
--.SH RETURN VALUE
--On success, a positive number is returned indicating the size of the
--extended attribute name list.
--On failure, \-1 is returned and
--.I errno
--is set appropriately.
--.PP
--If the
--.I size
--of the
--.I list
--buffer is too small to hold the result,
--.I errno
--is set to ERANGE.
--.PP
--If extended attributes are not supported by the filesystem, or are disabled,
--.I errno
--is set to ENOTSUP.
--.PP
--The errors documented for the
--.BR stat (2)
--system call are also applicable here.
--.SH AUTHORS
--Andreas Gruenbacher,
--.RI < a.gruenbacher@bestbits.at >
--and the SGI XFS development team,
--.RI < linux-xfs@oss.sgi.com >.
--Please send any bug reports or comments to these addresses.
--.SH SEE ALSO
--.BR getfattr (1),
--.BR setfattr (1),
--.BR open (2),
--.BR stat (2),
--.BR getxattr (2),
--.BR setxattr (2),
--.BR removexattr (2),
--and
--.BR attr (5).
-diff --git a/man/man2/removexattr.2 b/man/man2/removexattr.2
-deleted file mode 100644
-index 2c7d934..0000000
---- a/man/man2/removexattr.2
-+++ /dev/null
-@@ -1,111 +0,0 @@
--.\"
--.\" Extended attributes system calls manual pages
--.\"
--.\" (C) Andreas Gruenbacher, February 2001
--.\" (C) Silicon Graphics Inc, September 2001
--.\"
--.\" This is free documentation; you can redistribute it and/or
--.\" modify it under the terms of the GNU General Public License as
--.\" published by the Free Software Foundation; either version 2 of
--.\" the License, or (at your option) any later version.
--.\"
--.\" The GNU General Public License's references to "object code"
--.\" and "executables" are to be interpreted as the output of any
--.\" document formatting or typesetting system, including
--.\" intermediate and printed output.
--.\"
--.\" This manual 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.
--.\"
--.\" You should have received a copy of the GNU General Public
--.\" License along with this manual.  If not, see
--.\" <http://www.gnu.org/licenses/>.
--.\"
--.TH REMOVEXATTR 2 "Extended Attributes" "Dec 2001" "System calls"
--.SH NAME
--removexattr, lremovexattr, fremovexattr \- remove an extended attribute
--.SH SYNOPSIS
--.fam C
--.nf
--.B #include <sys/types.h>
--.B #include <attr/xattr.h>
--.sp
--.BI "int removexattr (const char\ *" path ", const char\ *" name );
--.BI "int lremovexattr (const char\ *" path ", const char\ *" name );
--.BI "int fremovexattr (int " filedes ", const char\ *" name );
--.fi
--.fam T
--.SH DESCRIPTION
--Extended attributes are
--.IR name :\c
--value pairs associated with inodes (files, directories, symlinks, etc).
--They are extensions to the normal attributes which are associated
--with all inodes in the system (i.e. the
--.BR stat (2)
--data).
--A complete overview of extended attributes concepts can be found in
--.BR attr (5).
--.PP
--.B removexattr
--removes the extended attribute identified by
--.I name
--and associated with the given
--.I path
--in the filesystem.
--.PP
--.B lremovexattr
--is identical to 
--.BR removexattr ,
--except in the case of a symbolic link, where the extended attribute is
--removed from the link itself, not the file that it refers to.
--.PP
--.B fremovexattr
--is identical to
--.BR removexattr ,
--only the extended attribute is removed from the open file pointed to by
--.I filedes
--(as returned by
--.BR open (2))
--in place of
--.IR path .
--.PP
--An extended attribute name is a simple NULL-terminated string.
--The
--.I name
--includes a namespace prefix \- there may be several, disjoint
--namespaces associated with an individual inode.
--.SH RETURN VALUE
--On success, zero is returned.
--On failure, \-1 is returned and
--.I errno
--is set appropriately.
--.PP
--If the named attribute does not exist,
--.I errno
--is set to ENOATTR.
--.PP
--If extended attributes are not supported by the filesystem, or are disabled,
--.I errno
--is set to ENOTSUP.
--.PP
--The errors documented for the
--.BR stat (2)
--system call are also applicable here.
--.SH AUTHORS
--Andreas Gruenbacher,
--.RI < a.gruenbacher@bestbits.at >
--and the SGI XFS development team,
--.RI < linux-xfs@oss.sgi.com >.
--Please send any bug reports or comments to these addresses.
--.SH SEE ALSO
--.BR getfattr (1),
--.BR setfattr (1),
--.BR open (2),
--.BR stat (2),
--.BR setxattr (2),
--.BR getxattr (2),
--.BR listxattr (2),
--and
--.BR attr (5).
-diff --git a/man/man2/setxattr.2 b/man/man2/setxattr.2
-deleted file mode 100644
-index b20dc9f..0000000
---- a/man/man2/setxattr.2
-+++ /dev/null
-@@ -1,143 +0,0 @@
--.\"
--.\" Extended attributes system calls manual pages
--.\"
--.\" (C) Andreas Gruenbacher, February 2001
--.\" (C) Silicon Graphics Inc, September 2001
--.\"
--.\" This is free documentation; you can redistribute it and/or
--.\" modify it under the terms of the GNU General Public License as
--.\" published by the Free Software Foundation; either version 2 of
--.\" the License, or (at your option) any later version.
--.\"
--.\" The GNU General Public License's references to "object code"
--.\" and "executables" are to be interpreted as the output of any
--.\" document formatting or typesetting system, including
--.\" intermediate and printed output.
--.\"
--.\" This manual 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.
--.\"
--.\" You should have received a copy of the GNU General Public
--.\" License along with this manual.  If not, see
--.\" <http://www.gnu.org/licenses/>.
--.\"
--.TH SETXATTR 2 "Extended Attributes" "Dec 2001" "System calls"
--.SH NAME
--setxattr, lsetxattr, fsetxattr \- set an extended attribute value
--.SH SYNOPSIS
--.fam C
--.nf
--.B #include <sys/types.h>
--.B #include <attr/xattr.h>
--.sp
--.BI "int setxattr (const char\ *" path ", const char\ *" name ",
--.BI "\t\t\t const void\ *" value ", size_t " size ", int " flags );
--.BI "int lsetxattr (const char\ *" path ", const char\ *" name ",
--.BI "\t\t\t const void\ *" value ", size_t " size ", int " flags );
--.BI "int fsetxattr (int " filedes ", const char\ *" name ",
--.BI "\t\t\t const void\ *" value ", size_t " size ", int " flags );
--.fi
--.fam T
--.SH DESCRIPTION
--Extended attributes are
--.IR name :\c
--.I value
--pairs associated with inodes (files, directories, symlinks, etc).
--They are extensions to the normal attributes which are associated
--with all inodes in the system (i.e. the
--.BR stat (2)
--data).
--A complete overview of extended attributes concepts can be found in
--.BR attr (5).
--.PP
--.B setxattr
--sets the
--.I value
--of the extended attribute identified by
--.I name
--and associated with the given
--.I path
--in the filesystem.
--The
--.I size
--of the
--.I value
--must be specified.
--.PP
--.B lsetxattr
--is identical to 
--.BR setxattr ,
--except in the case of a symbolic link, where the extended attribute is
--set on the link itself, not the file that it refers to.
--.PP
--.B fsetxattr
--is identical to
--.BR setxattr ,
--only the extended attribute is set on the open file pointed to by
--.I filedes
--(as returned by
--.BR open (2))
--in place of
--.IR path .
--.PP
--An extended attribute name is a simple NULL-terminated string.
--The
--.I name
--includes a namespace prefix \- there may be several, disjoint
--namespaces associated with an individual inode.
--The
--.I value
--of an extended attribute is a chunk of arbitrary textual or
--binary data of specified length.
--.PP
--The
--.I flags
--parameter can be used to refine the semantics of the operation.
--XATTR_CREATE specifies a pure create, which fails if the named
--attribute exists already.
--XATTR_REPLACE specifies a pure replace operation, which fails if the
--named attribute does not already exist.
--By default (no flags), the extended attribute will be created if
--need be, or will simply replace the value if the attribute exists.
--.SH RETURN VALUE
--On success, zero is returned.
--On failure, \-1 is returned and
--.I errno
--is set appropriately.
--.PP
--If XATTR_CREATE is specified, and the attribute exists already,
--.I errno
--is set to EEXIST.
--If XATTR_REPLACE is specified, and the attribute does not exist,
--.I errno
--is set to ENOATTR.
--.PP
--If there is insufficient space remaining to store the extended attribute,
--.I errno
--is set to either ENOSPC, or EDQUOT if quota enforcement was the cause.
--.PP
--If extended attributes are not supported by the filesystem, or are disabled,
--.I errno
--is set to ENOTSUP.
--.PP
--The errors documented for the
--.BR stat (2)
--system call are also applicable here.
--.SH AUTHORS
--Andreas Gruenbacher,
--.RI < a.gruenbacher@bestbits.at >
--and the SGI XFS development team,
--.RI < linux-xfs@oss.sgi.com >.
--Please send any bug reports or comments to these addresses.
--.SH SEE ALSO
--.BR getfattr (1),
--.BR setfattr (1),
--.BR open (2),
--.BR stat (2),
--.BR getxattr (2),
--.BR listxattr (2),
--.BR removexattr (2),
--and
--.BR attr (5).
--- 
-2.7.4
-
diff --git a/meta/recipes-support/attr/files/relative-libdir.patch b/meta/recipes-support/attr/files/relative-libdir.patch
deleted file mode 100644
index b72bf184d6f..00000000000
--- a/meta/recipes-support/attr/files/relative-libdir.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-Upstream-Status: Pending
-
-use relative path in symbolic links, or it fails in staging
-sed expression from udev
-
-7/29/2010 - created by Qing He <qing.he@intel.com>
-
-diff -u include.orig/buildmacros include/buildmacros
---- include.orig/buildmacros	2010-07-29 17:39:48.000000000 +0800
-+++ include/buildmacros	2010-07-29 18:20:34.000000000 +0800
-@@ -88,9 +88,11 @@
- 	../$(INSTALL) -m 755 -d $(PKG_LIB_DIR); \
- 	../$(INSTALL) -T so_base $(LIBNAME).lai $(PKG_LIB_DIR); \
- 	if test "x$(PKG_DEVLIB_DIR)" != "x$(PKG_LIB_DIR)" ; then \
--	../$(INSTALL) -S $(PKG_DEVLIB_DIR)/$(LIBNAME).a $(PKG_LIB_DIR)/$(LIBNAME).a; \
--	../$(INSTALL) -S $(PKG_DEVLIB_DIR)/$(LIBNAME).la $(PKG_LIB_DIR)/$(LIBNAME).la; \
--	../$(INSTALL) -S $(PKG_LIB_DIR)/$(LIBNAME).so $(PKG_DEVLIB_DIR)/$(LIBNAME).so; \
-+	rel_lib_prefix=$$(echo $(PKG_LIB_DIR) | sed 's,\(^/\|\)[^/][^/]*,..,g'); \
-+	../$(INSTALL) -S $$rel_lib_prefix$(PKG_DEVLIB_DIR)/$(LIBNAME).a $(PKG_LIB_DIR)/$(LIBNAME).a; \
-+	../$(INSTALL) -S $$rel_lib_prefix$(PKG_DEVLIB_DIR)/$(LIBNAME).la $(PKG_LIB_DIR)/$(LIBNAME).la; \
-+	rel_devlib_prefix=$$(echo $(PKG_DEVLIB_DIR) | sed 's,\(^/\|\)[^/][^/]*,..,g'); \
-+	../$(INSTALL) -S $$rel_devlib_prefix$(PKG_LIB_DIR)/$(LIBNAME).so $(PKG_DEVLIB_DIR)/$(LIBNAME).so; \
- 	fi
- else
- INSTALL_LTLIB_DEV = $(INSTALL_LTLIB_STATIC)
diff --git a/meta/recipes-support/attr/files/run-ptest b/meta/recipes-support/attr/files/run-ptest
deleted file mode 100644
index a6c6867f2d9..00000000000
--- a/meta/recipes-support/attr/files/run-ptest
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-make -C test -k tests root-tests |sed \
- -e 's|^\[.*\] \(.*\) -- ok$|PASS: \1|' \
- -e 's|^\[.*\] \(.*\) -- failed|FAIL: \1|'
-- 
2.17.1



^ permalink raw reply related	[flat|nested] 62+ messages in thread

* [PATCH 20/30] lttng-modules: update to 2.11.0
  2019-12-12 18:14 [PATCH 01/30] rpm: upgrade to 4.15.1 Alexander Kanavin
                   ` (17 preceding siblings ...)
  2019-12-12 18:14 ` [PATCH 19/30] acl/attr: update to latest upstream releases Alexander Kanavin
@ 2019-12-12 18:14 ` Alexander Kanavin
  2019-12-15 12:53   ` Richard Purdie
  2019-12-12 18:14 ` [PATCH 21/30] lttng-ust: " Alexander Kanavin
                   ` (10 subsequent siblings)
  29 siblings, 1 reply; 62+ messages in thread
From: Alexander Kanavin @ 2019-12-12 18:14 UTC (permalink / raw)
  To: openembedded-core

Removed the bleeding-edge variant; if it is still useful please
maintain it separately.

License-Update: formatting, dropped the gpl texts, as they're
not anymore in source tree, and the main file is specific enough.

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
 ...les_2.10.11.bb => lttng-modules_2.11.0.bb} | 21 +++----------------
 1 file changed, 3 insertions(+), 18 deletions(-)
 rename meta/recipes-kernel/lttng/{lttng-modules_2.10.11.bb => lttng-modules_2.11.0.bb} (51%)

diff --git a/meta/recipes-kernel/lttng/lttng-modules_2.10.11.bb b/meta/recipes-kernel/lttng/lttng-modules_2.11.0.bb
similarity index 51%
rename from meta/recipes-kernel/lttng/lttng-modules_2.10.11.bb
rename to meta/recipes-kernel/lttng/lttng-modules_2.11.0.bb
index 789a3be8507..ffb703e3678 100644
--- a/meta/recipes-kernel/lttng/lttng-modules_2.10.11.bb
+++ b/meta/recipes-kernel/lttng/lttng-modules_2.11.0.bb
@@ -2,10 +2,7 @@ SECTION = "devel"
 SUMMARY = "Linux Trace Toolkit KERNEL MODULE"
 DESCRIPTION = "The lttng-modules 2.0 package contains the kernel tracer modules"
 LICENSE = "LGPLv2.1 & GPLv2 & MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=c4613d1f8a9587bd7b366191830364b3 \
-                    file://gpl-2.0.txt;md5=751419260aa954499f7abaabaa882bbe \
-                    file://lgpl-2.1.txt;md5=243b725d71bb5df4a1e5920b344b86ad \
-                    "
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3f882d431dc0f32f1f44c0707aa41128"
 
 inherit module
 
@@ -16,8 +13,8 @@ SRC_URI = "https://lttng.org/files/${BPN}/${BPN}-${PV}.tar.bz2 \
            file://BUILD_RUNTIME_BUG_ON-vs-gcc7.patch \
            "
 
-SRC_URI[md5sum] = "c618fb646514dfc1bf910cfd7cda4256"
-SRC_URI[sha256sum] = "7f91e39b2e8e46d8bbba2b4c8c1614f1fb380611cd1a1fccc1d1859be26112f1"
+SRC_URI[md5sum] = "46ec6c566e65cf27b391a1bb643e11b4"
+SRC_URI[sha256sum] = "98af92d8c2e00f4eb63bc637a6967103cf6997434493f36e7a535a491e4fad5f"
 
 export INSTALL_MOD_DIR="kernel/lttng-modules"
 
@@ -32,15 +29,3 @@ python do_package_prepend() {
     if not os.path.exists(os.path.join(d.getVar('D'), d.getVar('nonarch_base_libdir')[1:], 'modules')):
         bb.warn("%s: no modules were created; this may be due to CONFIG_TRACEPOINTS not being enabled in your kernel." % d.getVar('PN'))
 }
-
-BBCLASSEXTEND = "devupstream:target"
-LIC_FILES_CHKSUM_class-devupstream = "file://LICENSE;md5=c4613d1f8a9587bd7b366191830364b3"
-DEFAULT_PREFERENCE_class-devupstream = "-1"
-SRC_URI_class-devupstream = "git://git.lttng.org/lttng-modules;branch=stable-2.10 \
-           file://Makefile-Do-not-fail-if-CONFIG_TRACEPOINTS-is-not-en.patch \
-           file://BUILD_RUNTIME_BUG_ON-vs-gcc7.patch \
-           "
-SRCREV_class-devupstream = "624aca5d7507fbd11ea4a1a474c3aa1031bd9a31"
-PV_class-devupstream = "2.10.10+git${SRCPV}"
-S_class-devupstream = "${WORKDIR}/git"
-SRCREV_FORMAT ?= "lttng_git"
-- 
2.17.1



^ permalink raw reply related	[flat|nested] 62+ messages in thread

* [PATCH 21/30] lttng-ust: update to 2.11.0
  2019-12-12 18:14 [PATCH 01/30] rpm: upgrade to 4.15.1 Alexander Kanavin
                   ` (18 preceding siblings ...)
  2019-12-12 18:14 ` [PATCH 20/30] lttng-modules: update to 2.11.0 Alexander Kanavin
@ 2019-12-12 18:14 ` Alexander Kanavin
  2019-12-15  5:26   ` Khem Raj
  2019-12-12 18:14 ` [PATCH 22/30] lttng-tools: " Alexander Kanavin
                   ` (9 subsequent siblings)
  29 siblings, 1 reply; 62+ messages in thread
From: Alexander Kanavin @ 2019-12-12 18:14 UTC (permalink / raw)
  To: openembedded-core

Remove patch as issue addressed upstream.

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
 .../lttng-ust-doc-examples-disable.patch        | 17 -----------------
 ...{lttng-ust_2.10.5.bb => lttng-ust_2.11.0.bb} |  9 +++++----
 2 files changed, 5 insertions(+), 21 deletions(-)
 delete mode 100644 meta/recipes-kernel/lttng/lttng-ust/lttng-ust-doc-examples-disable.patch
 rename meta/recipes-kernel/lttng/{lttng-ust_2.10.5.bb => lttng-ust_2.11.0.bb} (89%)

diff --git a/meta/recipes-kernel/lttng/lttng-ust/lttng-ust-doc-examples-disable.patch b/meta/recipes-kernel/lttng/lttng-ust/lttng-ust-doc-examples-disable.patch
deleted file mode 100644
index bff852799d0..00000000000
--- a/meta/recipes-kernel/lttng/lttng-ust/lttng-ust-doc-examples-disable.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-Upstream-Status: Inappropriate [embedded specific]
-
-Don't build the doc examples - we don't need them and in fact they
-never successfully built in previous iterations of the lttng-ust
-recipe anyway.
-
-Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
-
-Index: lttng-ust-2.9.1/doc/Makefile.am
-===================================================================
---- lttng-ust-2.9.1.orig/doc/Makefile.am
-+++ lttng-ust-2.9.1/doc/Makefile.am
-@@ -1,3 +1,3 @@
--SUBDIRS = . man examples
-+SUBDIRS = . man
- 
- dist_doc_DATA = java-agent.txt
diff --git a/meta/recipes-kernel/lttng/lttng-ust_2.10.5.bb b/meta/recipes-kernel/lttng/lttng-ust_2.11.0.bb
similarity index 89%
rename from meta/recipes-kernel/lttng/lttng-ust_2.10.5.bb
rename to meta/recipes-kernel/lttng/lttng-ust_2.11.0.bb
index cfaad30b694..6d7c05e65e3 100644
--- a/meta/recipes-kernel/lttng/lttng-ust_2.10.5.bb
+++ b/meta/recipes-kernel/lttng/lttng-ust_2.11.0.bb
@@ -15,6 +15,8 @@ PYTHON_OPTION = "am_cv_python_pyexecdir='${PYTHON_SITEPACKAGES_DIR}' \
 
 inherit autotools lib_package manpages python3native
 
+EXTRA_OECONF = "--disable-numa"
+
 DEPENDS = "liburcu util-linux"
 RDEPENDS_${PN}-bin = "python3-core"
 
@@ -26,12 +28,11 @@ RCONFLICTS_${PN} = "lttng2-ust"
 PE = "2"
 
 SRC_URI = "https://lttng.org/files/lttng-ust/lttng-ust-${PV}.tar.bz2 \
-           file://lttng-ust-doc-examples-disable.patch \
            file://0001-python-lttngust-Makefile.am-Add-install-lib-to-setup.patch \
-          "
+           "
 
-SRC_URI[md5sum] = "f0c86a9fa7dcfd0205fb42584a310b1c"
-SRC_URI[sha256sum] = "06f9ed9b2198855b1c7fcbf15fe57297ee259409ffa1b3bad87321412d98bc35"
+SRC_URI[md5sum] = "99823cfeb76562d753ffe67880e9cc59"
+SRC_URI[sha256sum] = "683280cfe5e12021e64c32cef9eeb0128f1f23dec32ba28adb5a2074be37c4d8"
 
 CVE_PRODUCT = "ust"
 
-- 
2.17.1



^ permalink raw reply related	[flat|nested] 62+ messages in thread

* [PATCH 22/30] lttng-tools: update to 2.11.0
  2019-12-12 18:14 [PATCH 01/30] rpm: upgrade to 4.15.1 Alexander Kanavin
                   ` (19 preceding siblings ...)
  2019-12-12 18:14 ` [PATCH 21/30] lttng-ust: " Alexander Kanavin
@ 2019-12-12 18:14 ` Alexander Kanavin
  2019-12-12 18:14 ` [PATCH 23/30] cups: update to 2.3.0 Alexander Kanavin
                   ` (8 subsequent siblings)
  29 siblings, 0 replies; 62+ messages in thread
From: Alexander Kanavin @ 2019-12-12 18:14 UTC (permalink / raw)
  To: openembedded-core

Remove 0001-Skip-when-testapp-is-not-present.patch as it is unclear
whether it needs to be rebased, and difficult to rebase.

Remove 0001-check-for-gettid-API-during-configure.patch as it
is no longer needed.

Ptests still seem to run ok, however they are rather slow,
so I did not wait for their completion.

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
 ...001-Skip-when-testapp-is-not-present.patch | 610 ------------------
 ...heck-for-gettid-API-during-configure.patch |  55 --
 ...-tests-do-not-strip-a-helper-library.patch |  27 +
 ...ttng-modules-presence-before-testing.patch |  24 -
 ...-tools_2.10.7.bb => lttng-tools_2.11.0.bb} |  14 +-
 5 files changed, 35 insertions(+), 695 deletions(-)
 delete mode 100644 meta/recipes-kernel/lttng/lttng-tools/0001-Skip-when-testapp-is-not-present.patch
 delete mode 100644 meta/recipes-kernel/lttng/lttng-tools/0001-check-for-gettid-API-during-configure.patch
 create mode 100644 meta/recipes-kernel/lttng/lttng-tools/0001-tests-do-not-strip-a-helper-library.patch
 delete mode 100644 meta/recipes-kernel/lttng/lttng-tools/0002-Fix-check-for-lttng-modules-presence-before-testing.patch
 rename meta/recipes-kernel/lttng/{lttng-tools_2.10.7.bb => lttng-tools_2.11.0.bb} (94%)

diff --git a/meta/recipes-kernel/lttng/lttng-tools/0001-Skip-when-testapp-is-not-present.patch b/meta/recipes-kernel/lttng/lttng-tools/0001-Skip-when-testapp-is-not-present.patch
deleted file mode 100644
index 6c9f7e462cc..00000000000
--- a/meta/recipes-kernel/lttng/lttng-tools/0001-Skip-when-testapp-is-not-present.patch
+++ /dev/null
@@ -1,610 +0,0 @@
-From 95c27e6acceaeda55c729b9e92e594322adef13f Mon Sep 17 00:00:00 2001
-From: Jonathan Rajotte <jonathan.rajotte-julien@efficios.com>
-Date: Wed, 3 Apr 2019 16:31:18 -0400
-Subject: [PATCH lttng-tools] Skip when testapp is not present
-
-We expect lttng-ust do be present, this is a wrong assumptions.
-
-This is a quick fix. The real fix is to either detect at runtime
-lttng-ust support or at build time (HAVE_LIBLTTNG_UST_CTL).
-
-This prevent hang for make check done on a build configured with
---without-lttng-ust.
-
-Upstream-Status: Inappropriate [other] 
-Reason: This patch is inappropriate for upstream for 2.10 stable release 
-since we do not backport "superficial" fix to the test suite. We do 
-backport when a test is broken. The fact that on --without-lttng-ust 
-hang is not a "broken" test per-see. Still, a variation of this fix will 
-be upstreamed in our master branch and possibly 2.11. The upstreamed 
-version will split the test in kernel/ust test and skip them at the 
-build system level. This patch is more succinct.
-
-Signed-off-by: Jonathan Rajotte <jonathan.rajotte-julien@efficios.com>
----
- tests/regression/tools/crash/test_crash       |  4 ++
- .../regression/tools/exclusion/test_exclusion |  4 ++
- .../tools/filtering/test_valid_filter         | 21 ++++--
- tests/regression/tools/health/test_thread_ok  | 29 +++++---
- tests/regression/tools/live/Makefile.am       |  2 -
- tests/regression/tools/live/test_lttng_ust    |  4 ++
- tests/regression/tools/live/test_ust          |  4 ++
- .../tools/live/test_ust_tracefile_count       |  4 ++
- tests/regression/tools/mi/test_mi             |  4 ++
- .../notification/test_notification_multi_app  | 18 +++--
- .../tools/notification/test_notification_ust  |  4 ++
- .../regression/tools/regen-metadata/test_ust  |  2 +-
- .../regression/tools/regen-statedump/test_ust |  2 +-
- .../regression/tools/save-load/test_autoload  |  7 ++
- tests/regression/tools/save-load/test_load    |  8 +++
- tests/regression/tools/save-load/test_save    |  7 ++
- .../regression/tools/snapshots/test_ust_fast  |  2 +-
- .../regression/tools/snapshots/test_ust_long  |  2 +-
- .../tools/snapshots/test_ust_streaming        |  2 +-
- tests/regression/tools/snapshots/ust_test     |  2 +-
- .../streaming/test_high_throughput_limits     |  2 +-
- tests/regression/tools/streaming/test_ust     |  2 +-
- .../tracefile-limits/test_tracefile_count     |  2 +-
- .../tracefile-limits/test_tracefile_size      |  2 +-
- .../tools/wildcard/test_event_wildcard        | 67 ++++++++++---------
- 25 files changed, 147 insertions(+), 60 deletions(-)
-
-diff --git a/tests/regression/tools/crash/test_crash b/tests/regression/tools/crash/test_crash
-index 8c62c513d..3cbe97688 100755
---- a/tests/regression/tools/crash/test_crash
-+++ b/tests/regression/tools/crash/test_crash
-@@ -35,6 +35,10 @@ NUM_TESTS=77
- 
- source $TESTDIR/utils/utils.sh
- 
-+if [ ! -x "$TESTAPP_BIN" ]; then
-+	plan_skip_all "No UST events binary detected."
-+fi
-+
- # Global declaration for simplification
- LTTNG_CRASH=$TESTDIR/../src/bin/lttng-crash/$CRASH_BIN
- 
-diff --git a/tests/regression/tools/exclusion/test_exclusion b/tests/regression/tools/exclusion/test_exclusion
-index 949cd41df..42e4d72fb 100755
---- a/tests/regression/tools/exclusion/test_exclusion
-+++ b/tests/regression/tools/exclusion/test_exclusion
-@@ -30,6 +30,10 @@ NUM_TESTS=149
- 
- source $TESTDIR/utils/utils.sh
- 
-+if [ ! -x "$TESTAPP_BIN" ]; then
-+	plan_skip_all "No UST events binary detected."
-+fi
-+
- function enable_ust_lttng_all_event_exclusion()
- {
- 	sess_name="$1"
-diff --git a/tests/regression/tools/filtering/test_valid_filter b/tests/regression/tools/filtering/test_valid_filter
-index 163b32182..1e8da630b 100755
---- a/tests/regression/tools/filtering/test_valid_filter
-+++ b/tests/regression/tools/filtering/test_valid_filter
-@@ -418,12 +418,18 @@ issue_356_filter+="intfield > 4 && intfield > 5 && "
- issue_356_filter+="intfield > 6 && intfield > 7 && "
- issue_356_filter+="intfield > 8 || intfield > 0"
- 
-+BIN_NAME="gen-ust-events"
-+
-+skip_ust=1
-+if [ ! -x "$CURDIR/$BIN_NAME" ]; then
-+	skip_ust=0
-+	skip 0 "No UST nevents binary detected." $NUM_UST_TESTS
-+fi
-+
- start_lttng_sessiond
- 
- ### UST TESTS
- 
--BIN_NAME="gen-ust-events"
--
- KIRK_KRAUSS_TESTS=(
- 	# the tests below were written by Kirk Krauss in this article:
- 	# http://www.drdobbs.com/architecture-and-design/matching-wildcards-an-empirical-way-to-t/240169123
-@@ -897,9 +903,6 @@ UST_STR_FILTERS=(
- 	END
- )
- 
--if [ ! -x "$CURDIR/$BIN_NAME" ]; then
--	BAIL_OUT "No UST nevents binary detected."
--fi
- 
- IFS="$OLDIFS"
- 
-@@ -910,6 +913,10 @@ i=0
- while true; do
- 	validator="${UST_FILTERS[$i]}"
- 
-+	if [ $skip_ust -eq 0 ]; then
-+		break
-+	fi
-+
- 	if [ "$validator" = END ]; then
- 		break
- 	fi
-@@ -929,6 +936,10 @@ i=0
- while true; do
- 	validator="${UST_STR_FILTERS[$i]}"
- 
-+	if [ $skip_ust -eq 0 ]; then
-+		break
-+	fi
-+
- 	if [ "$validator" = END ]; then
- 		break
- 	fi
-diff --git a/tests/regression/tools/health/test_thread_ok b/tests/regression/tools/health/test_thread_ok
-index e81d6ed24..849b7e71f 100755
---- a/tests/regression/tools/health/test_thread_ok
-+++ b/tests/regression/tools/health/test_thread_ok
-@@ -27,6 +27,9 @@ CHANNEL_NAME="testchan"
- HEALTH_CHECK_BIN="health_check"
- NUM_TESTS=17
- SLEEP_TIME=30
-+TESTAPP_PATH="$TESTDIR/utils/testapp"
-+TESTAPP_NAME="gen-ust-events"
-+TESTAPP_BIN="$TESTAPP_PATH/$TESTAPP_NAME/$TESTAPP_NAME"
- 
- source $TESTDIR/utils/utils.sh
- 
-@@ -76,15 +79,19 @@ function test_thread_ok
- 	$CURDIR/$HEALTH_CHECK_BIN > ${STDOUT_PATH} 2> ${STDERR_PATH}
- 	report_errors
- 
--	diag "With UST consumer daemons"
--	create_lttng_session_no_output $SESSION_NAME
--	enable_ust_lttng_event_ok $SESSION_NAME $UST_EVENT_NAME $CHANNEL_NAME
--	start_lttng_tracing_ok $SESSION_NAME
--	destroy_lttng_session_ok $SESSION_NAME
-+	skip $skip_ust "Ust does not seems to be supported" "5" ||
-+	{
-+		diag "With UST consumer daemons"
-+		create_lttng_session_no_output $SESSION_NAME
-+		enable_ust_lttng_event_ok $SESSION_NAME $UST_EVENT_NAME $CHANNEL_NAME
-+		start_lttng_tracing_ok $SESSION_NAME
-+		destroy_lttng_session_ok $SESSION_NAME
- 
--	# Check health status
--	$CURDIR/$HEALTH_CHECK_BIN > ${STDOUT_PATH} 2> ${STDERR_PATH}
--	report_errors
-+
-+		# Check health status
-+		$CURDIR/$HEALTH_CHECK_BIN > ${STDOUT_PATH} 2> ${STDERR_PATH}
-+		report_errors
-+	}
- 
- 	skip $isroot "Root access is needed. Skipping kernel consumer health check test." "5" ||
- 	{
-@@ -141,6 +148,12 @@ else
- 	isroot=0
- fi
- 
-+if [ ! -x "$TESTAPP_BIN" ]; then
-+	skip_ust=0
-+else
-+	skip_ust=1
-+fi
-+
- test_thread_ok
- 
- rm -rf ${HEALTH_PATH}
-diff --git a/tests/regression/tools/live/Makefile.am b/tests/regression/tools/live/Makefile.am
-index 46186d383..db74de8d5 100644
---- a/tests/regression/tools/live/Makefile.am
-+++ b/tests/regression/tools/live/Makefile.am
-@@ -16,9 +16,7 @@ LIVE=$(top_builddir)/src/bin/lttng-sessiond/session.$(OBJEXT) \
- noinst_PROGRAMS = live_test
- EXTRA_DIST = test_kernel test_lttng_kernel
- 
--if HAVE_LIBLTTNG_UST_CTL
- EXTRA_DIST += test_ust test_ust_tracefile_count test_lttng_ust
--endif
- 
- live_test_SOURCES = live_test.c
- live_test_LDADD = $(LIBTAP) $(LIBCOMMON) $(LIBRELAYD) $(LIBSESSIOND_COMM) \
-diff --git a/tests/regression/tools/live/test_lttng_ust b/tests/regression/tools/live/test_lttng_ust
-index 06017d01d..be9b3d7f7 100755
---- a/tests/regression/tools/live/test_lttng_ust
-+++ b/tests/regression/tools/live/test_lttng_ust
-@@ -38,6 +38,10 @@ NUM_TESTS=12
- 
- source $TESTDIR/utils/utils.sh
- 
-+if [ ! -x "$TESTAPP_BIN" ]; then
-+	plan_skip_all "No UST events binary detected."
-+fi
-+
- # MUST set TESTDIR before calling those functions
- plan_tests $NUM_TESTS
- 
-diff --git a/tests/regression/tools/live/test_ust b/tests/regression/tools/live/test_ust
-index 0384a706f..add521bfc 100755
---- a/tests/regression/tools/live/test_ust
-+++ b/tests/regression/tools/live/test_ust
-@@ -36,6 +36,10 @@ DIR=$(readlink -f $TESTDIR)
- 
- source $TESTDIR/utils/utils.sh
- 
-+if [ ! -x "$TESTAPP_BIN" ]; then
-+	plan_skip_all "No UST events binary detected."
-+fi
-+
- echo "$TEST_DESC"
- 
- function setup_live_tracing()
-diff --git a/tests/regression/tools/live/test_ust_tracefile_count b/tests/regression/tools/live/test_ust_tracefile_count
-index 6da368fc6..10504f8c6 100755
---- a/tests/regression/tools/live/test_ust_tracefile_count
-+++ b/tests/regression/tools/live/test_ust_tracefile_count
-@@ -36,6 +36,10 @@ DIR=$(readlink -f $TESTDIR)
- 
- source $TESTDIR/utils/utils.sh
- 
-+if [ ! -x "$TESTAPP_BIN" ]; then
-+	plan_skip_all "No UST events binary detected."
-+fi
-+
- echo "$TEST_DESC"
- 
- function setup_live_tracing()
-diff --git a/tests/regression/tools/mi/test_mi b/tests/regression/tools/mi/test_mi
-index 48dda7da6..2cc30b29a 100755
---- a/tests/regression/tools/mi/test_mi
-+++ b/tests/regression/tools/mi/test_mi
-@@ -61,6 +61,10 @@ NUM_TESTS=228
- 
- source $TESTDIR/utils/utils.sh
- 
-+if [ ! -x "$TESTAPP_BIN" ]; then
-+	plan_skip_all "No UST events binary detected."
-+fi
-+
- #Overwrite the lttng_bin to get mi output
- LTTNG_BIN="lttng --mi xml"
- 
-diff --git a/tests/regression/tools/notification/test_notification_multi_app b/tests/regression/tools/notification/test_notification_multi_app
-index 0a05ea6a0..29b0f62fa 100755
---- a/tests/regression/tools/notification/test_notification_multi_app
-+++ b/tests/regression/tools/notification/test_notification_multi_app
-@@ -52,6 +52,11 @@ plan_tests $NUM_TESTS
- 
- print_test_banner "$TEST_DESC"
- 
-+skip_ust=1
-+if [ ! -x "$TESTAPP_BIN" ]; then
-+	skip_ust=0
-+fi
-+
- app_pids=()
- 
- function kernel_event_generator_toogle_state
-@@ -468,10 +473,15 @@ function test_on_register_evaluation ()
- }
- 
- 
--TESTS=(
--	test_multi_app_ust
--	test_on_register_evaluation_ust
--)
-+TESTS=()
-+if [ $skip_ust -eq "1" ]; then
-+	TESTS+=(
-+		test_multi_app_ust
-+		test_on_register_evaluation_ust
-+	)
-+else
-+	skip 0 "No UST events binary detected." $NUM_TEST_UST
-+fi
- 
- if [ "$(id -u)" == "0" ]; then
- 	TESTS+=(
-diff --git a/tests/regression/tools/notification/test_notification_ust b/tests/regression/tools/notification/test_notification_ust
-index 8941e476d..eb2e15cad 100755
---- a/tests/regression/tools/notification/test_notification_ust
-+++ b/tests/regression/tools/notification/test_notification_ust
-@@ -46,6 +46,10 @@ DIR=$(readlink -f $TESTDIR)
- 
- source $TESTDIR/utils/utils.sh
- 
-+if [ ! -x "$TESTAPP_BIN" ]; then
-+	plan_skip_all "No UST events binary detected."
-+fi
-+
- function ust_event_generator_toogle_state
- {
- 	ust_event_generator_suspended=$((ust_event_generator_suspended==0))
-diff --git a/tests/regression/tools/regen-metadata/test_ust b/tests/regression/tools/regen-metadata/test_ust
-index b7f1af1d8..312c8a40d 100755
---- a/tests/regression/tools/regen-metadata/test_ust
-+++ b/tests/regression/tools/regen-metadata/test_ust
-@@ -34,7 +34,7 @@ NUM_TESTS=33
- source $TESTDIR/utils/utils.sh
- 
- if [ ! -x "$TESTAPP_BIN" ]; then
--	BAIL_OUT "No UST events binary detected."
-+	plan_skip_all "No UST events binary detected."
- fi
- 
- function lttng_create_session_uri
-diff --git a/tests/regression/tools/regen-statedump/test_ust b/tests/regression/tools/regen-statedump/test_ust
-index 486b9a560..8d455b26a 100755
---- a/tests/regression/tools/regen-statedump/test_ust
-+++ b/tests/regression/tools/regen-statedump/test_ust
-@@ -34,7 +34,7 @@ NUM_TESTS=11
- source $TESTDIR/utils/utils.sh
- 
- if [ ! -x "$TESTAPP_BIN" ]; then
--	BAIL_OUT "No UST events binary detected."
-+	plan_skip_all "No UST events binary detected."
- fi
- 
- function test_ust_local ()
-diff --git a/tests/regression/tools/save-load/test_autoload b/tests/regression/tools/save-load/test_autoload
-index 7ee5e9906..ec376cfb3 100755
---- a/tests/regression/tools/save-load/test_autoload
-+++ b/tests/regression/tools/save-load/test_autoload
-@@ -21,6 +21,9 @@ CURDIR=$(dirname $0)/
- CONFIG_DIR="${CURDIR}/configuration"
- TESTDIR=$CURDIR/../../../
- export LTTNG_SESSION_CONFIG_XSD_PATH=$(readlink -m ${TESTDIR}../src/common/config/)
-+TESTAPP_PATH="$TESTDIR/utils/testapp"
-+TESTAPP_NAME="gen-ust-events"
-+TESTAPP_BIN="$TESTAPP_PATH/$TESTAPP_NAME/$TESTAPP_NAME"
- 
- DIR=$(readlink -f $TESTDIR)
- 
-@@ -28,6 +31,10 @@ NUM_TESTS=9
- 
- source $TESTDIR/utils/utils.sh
- 
-+if [ ! -x "$TESTAPP_BIN" ]; then
-+	plan_skip_all "No UST events binary detected."
-+fi
-+
- # MUST set TESTDIR before calling those functions
- plan_tests $NUM_TESTS
- 
-diff --git a/tests/regression/tools/save-load/test_load b/tests/regression/tools/save-load/test_load
-index 5e38b46b6..b6fdd8192 100755
---- a/tests/regression/tools/save-load/test_load
-+++ b/tests/regression/tools/save-load/test_load
-@@ -20,6 +20,10 @@ TEST_DESC="Load session(s)"
- CURDIR=$(dirname $0)/
- CONFIG_DIR="${CURDIR}/configuration"
- TESTDIR=$CURDIR/../../../
-+TESTAPP_PATH="$TESTDIR/utils/testapp"
-+TESTAPP_NAME="gen-ust-events"
-+TESTAPP_BIN="$TESTAPP_PATH/$TESTAPP_NAME/$TESTAPP_NAME"
-+
- export LTTNG_SESSION_CONFIG_XSD_PATH=$(readlink -m ${TESTDIR}../src/common/config/)
- 
- SESSION_NAME="load-42"
-@@ -31,6 +35,10 @@ NUM_TESTS=67
- 
- source $TESTDIR/utils/utils.sh
- 
-+if [ ! -x "$TESTAPP_BIN" ]; then
-+	plan_skip_all "No UST events binary detected."
-+fi
-+
- # MUST set TESTDIR before calling those functions
- plan_tests $NUM_TESTS
- 
-diff --git a/tests/regression/tools/save-load/test_save b/tests/regression/tools/save-load/test_save
-index c5f6b1341..cfaf67b7a 100755
---- a/tests/regression/tools/save-load/test_save
-+++ b/tests/regression/tools/save-load/test_save
-@@ -23,6 +23,9 @@ TESTDIR=$CURDIR/../../../
- SESSION_NAME="save-42"
- CHANNEL_NAME="chan-save"
- EVENT_NAME="tp:tptest"
-+TESTAPP_PATH="$TESTDIR/utils/testapp"
-+TESTAPP_NAME="gen-ust-events"
-+TESTAPP_BIN="$TESTAPP_PATH/$TESTAPP_NAME/$TESTAPP_NAME"
- 
- DIR=$(readlink -f $TESTDIR)
- 
-@@ -30,6 +33,10 @@ NUM_TESTS=41
- 
- source $TESTDIR/utils/utils.sh
- 
-+if [ ! -x "TESTAPP_BIN" ]; then
-+	plan_skip_all "No UST events binary detected."
-+fi
-+
- # MUST set TESTDIR before calling those functions
- plan_tests $NUM_TESTS
- 
-diff --git a/tests/regression/tools/snapshots/test_ust_fast b/tests/regression/tools/snapshots/test_ust_fast
-index edb435c52..5a68ec56d 100755
---- a/tests/regression/tools/snapshots/test_ust_fast
-+++ b/tests/regression/tools/snapshots/test_ust_fast
-@@ -23,7 +23,7 @@ TEST_BIN="ust_test"
- source $TESTDIR/utils/utils.sh
- 
- if [ ! -x "$CURDIR/$TEST_BIN" ]; then
--	BAIL_OUT "No UST test found: $TEST_BIN"
-+	plan_skip_all "No UST test found: $TEST_BIN"
- fi
- 
- ./$CURDIR/$TEST_BIN $NR_SNAPSHOT
-diff --git a/tests/regression/tools/snapshots/test_ust_long b/tests/regression/tools/snapshots/test_ust_long
-index 9e1a0c262..afa019f6a 100755
---- a/tests/regression/tools/snapshots/test_ust_long
-+++ b/tests/regression/tools/snapshots/test_ust_long
-@@ -23,7 +23,7 @@ TEST_BIN="ust_test"
- source $TESTDIR/utils/utils.sh
- 
- if [ ! -x "$CURDIR/$TEST_BIN" ]; then
--	BAIL_OUT "No UST test found: $TEST_BIN"
-+	plan_skip_all "No UST test found: $TEST_BIN"
- fi
- 
- ./$CURDIR/$TEST_BIN $NR_SNAPSHOT
-diff --git a/tests/regression/tools/snapshots/test_ust_streaming b/tests/regression/tools/snapshots/test_ust_streaming
-index 93b0957f3..69291ab4d 100755
---- a/tests/regression/tools/snapshots/test_ust_streaming
-+++ b/tests/regression/tools/snapshots/test_ust_streaming
-@@ -37,7 +37,7 @@ NUM_TESTS=75
- source $TESTDIR/utils/utils.sh
- 
- if [ ! -x "$TESTAPP_BIN" ]; then
--	BAIL_OUT "No UST events binary detected."
-+	plan_skip_all "No UST events binary detected."
- fi
- 
- function snapshot_add_output ()
-diff --git a/tests/regression/tools/snapshots/ust_test b/tests/regression/tools/snapshots/ust_test
-index 755cef9e0..92f9f6cff 100755
---- a/tests/regression/tools/snapshots/ust_test
-+++ b/tests/regression/tools/snapshots/ust_test
-@@ -34,7 +34,7 @@ TRACE_PATH=$(mktemp -d)
- source $TESTDIR/utils/utils.sh
- 
- if [ ! -x "$TESTAPP_BIN" ]; then
--	BAIL_OUT "No UST events binary detected."
-+	plan_skip_all "No UST events binary detected."
- fi
- 
- # Need the number of snapshot to do.
-diff --git a/tests/regression/tools/streaming/test_high_throughput_limits b/tests/regression/tools/streaming/test_high_throughput_limits
-index 32c3f1f2b..f54178923 100755
---- a/tests/regression/tools/streaming/test_high_throughput_limits
-+++ b/tests/regression/tools/streaming/test_high_throughput_limits
-@@ -38,7 +38,7 @@ NUM_TESTS=104
- source $TESTDIR/utils/utils.sh
- 
- if [ ! -x "$TESTAPP_BIN" ]; then
--	BAIL_OUT "No UST events binary detected."
-+	plan_skip_all "No UST events binary detected."
- fi
- 
- function set_bw_limit
-diff --git a/tests/regression/tools/streaming/test_ust b/tests/regression/tools/streaming/test_ust
-index a5d5b5e92..e1dd98ee7 100755
---- a/tests/regression/tools/streaming/test_ust
-+++ b/tests/regression/tools/streaming/test_ust
-@@ -34,7 +34,7 @@ NUM_TESTS=16
- source $TESTDIR/utils/utils.sh
- 
- if [ ! -x "$TESTAPP_BIN" ]; then
--	BAIL_OUT "No UST events binary detected."
-+	plan_skip_all "No UST events binary detected."
- fi
- 
- function lttng_create_session_uri
-diff --git a/tests/regression/tools/tracefile-limits/test_tracefile_count b/tests/regression/tools/tracefile-limits/test_tracefile_count
-index 6ada8580f..7553c7d1f 100755
---- a/tests/regression/tools/tracefile-limits/test_tracefile_count
-+++ b/tests/regression/tools/tracefile-limits/test_tracefile_count
-@@ -33,7 +33,7 @@ PAGE_SIZE=$(getconf PAGE_SIZE)
- source $TESTDIR/utils/utils.sh
- 
- if [ ! -x "$TESTAPP_BIN" ]; then
--	BAIL_OUT "No UST events binary detected."
-+	plan_skip_all "No UST events binary detected."
- fi
- 
- function enable_lttng_channel_count_limit ()
-diff --git a/tests/regression/tools/tracefile-limits/test_tracefile_size b/tests/regression/tools/tracefile-limits/test_tracefile_size
-index 3dddbe613..1089487ff 100755
---- a/tests/regression/tools/tracefile-limits/test_tracefile_size
-+++ b/tests/regression/tools/tracefile-limits/test_tracefile_size
-@@ -33,7 +33,7 @@ NUM_TESTS=66
- source $TESTDIR/utils/utils.sh
- 
- if [ ! -x "$TESTAPP_BIN" ]; then
--	BAIL_OUT "No UST events binary detected."
-+	plan_skip_all "No UST events binary detected."
- fi
- 
- function enable_lttng_channel_size_limit ()
-diff --git a/tests/regression/tools/wildcard/test_event_wildcard b/tests/regression/tools/wildcard/test_event_wildcard
-index 61ea67a72..921a2301d 100755
---- a/tests/regression/tools/wildcard/test_event_wildcard
-+++ b/tests/regression/tools/wildcard/test_event_wildcard
-@@ -97,42 +97,47 @@ print_test_banner "$TEST_DESC"
- 
- start_lttng_sessiond
- 
--diag "Test UST wildcard"
--
- if [ ! -x "$TESTAPP_BIN" ]; then
--	BAIL_OUT "No UST nevents binary detected."
-+	skip_ust=0
-+else
-+	skip_ust=1
- fi
- 
--EVENT_NAME="tp:tptest"
-+skip $skip_ust "No UST nevents binary detected." $NUM_UST_TESTS ||
-+{
-+	diag "Test UST wildcard"
- 
--# non-matching
--test_event_wildcard ust 0 'tp:abc*'
--test_event_wildcard ust 0 '*abc'
--test_event_wildcard ust 0 '*z*'
--test_event_wildcard ust 0 '*\**'
--test_event_wildcard ust 0 '*\*'
--test_event_wildcard ust 0 '\**'
--test_event_wildcard ust 0 '*:*tpte*s'
--test_event_wildcard ust 0 'tp**tpTest'
-+	EVENT_NAME="tp:tptest"
- 
--# matching
--test_event_wildcard ust 1 'tp:tp*'
--test_event_wildcard ust 1 '*'
--test_event_wildcard ust 1 'tp:tptest*'
--test_event_wildcard ust 1 '**'
--test_event_wildcard ust 1 '***'
--test_event_wildcard ust 1 '*tptest'
--test_event_wildcard ust 1 '**tptest'
--test_event_wildcard ust 1 '*tpte*'
--test_event_wildcard ust 1 '*tp*'
--test_event_wildcard ust 1 '*tp**'
--test_event_wildcard ust 1 '*:*tptest'
--test_event_wildcard ust 1 '*:*tpte*t'
--test_event_wildcard ust 1 't*p*:*t*e*s*t'
--test_event_wildcard ust 1 '*t*p*:*t*e*s*t*'
--test_event_wildcard ust 1 'tp*tptest'
--test_event_wildcard ust 1 'tp**tptest'
--test_event_wildcard ust 1 'tp*test'
-+	# non-matching
-+	test_event_wildcard ust 0 'tp:abc*'
-+	test_event_wildcard ust 0 '*abc'
-+	test_event_wildcard ust 0 '*z*'
-+	test_event_wildcard ust 0 '*\**'
-+	test_event_wildcard ust 0 '*\*'
-+	test_event_wildcard ust 0 '\**'
-+	test_event_wildcard ust 0 '*:*tpte*s'
-+	test_event_wildcard ust 0 'tp**tpTest'
-+
-+	# matching
-+	test_event_wildcard ust 1 'tp:tp*'
-+	test_event_wildcard ust 1 '*'
-+	test_event_wildcard ust 1 'tp:tptest*'
-+	test_event_wildcard ust 1 '**'
-+	test_event_wildcard ust 1 '***'
-+	test_event_wildcard ust 1 '*tptest'
-+	test_event_wildcard ust 1 '**tptest'
-+	test_event_wildcard ust 1 '*tpte*'
-+	test_event_wildcard ust 1 '*tp*'
-+	test_event_wildcard ust 1 '*tp**'
-+	test_event_wildcard ust 1 '*:*tptest'
-+	test_event_wildcard ust 1 '*:*tpte*t'
-+	test_event_wildcard ust 1 't*p*:*t*e*s*t'
-+	test_event_wildcard ust 1 '*t*p*:*t*e*s*t*'
-+	test_event_wildcard ust 1 'tp*tptest'
-+	test_event_wildcard ust 1 'tp**tptest'
-+	test_event_wildcard ust 1 'tp*test'
-+}
- 
- if [ "$(id -u)" == "0" ]; then
- 	isroot=1
--- 
-2.17.1
-
diff --git a/meta/recipes-kernel/lttng/lttng-tools/0001-check-for-gettid-API-during-configure.patch b/meta/recipes-kernel/lttng/lttng-tools/0001-check-for-gettid-API-during-configure.patch
deleted file mode 100644
index c494cee6040..00000000000
--- a/meta/recipes-kernel/lttng/lttng-tools/0001-check-for-gettid-API-during-configure.patch
+++ /dev/null
@@ -1,55 +0,0 @@
-From 69c62f5f3cc424b7dd0c8e4097743b39a9c48306 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 27 Jul 2019 08:48:13 -0700
-Subject: [lttng-tools][PATCH] check for gettid API during configure
-
-Add support for gettid() provided by glibc 2.30+
-
-Since version 2.30 glibc provides gettid and it causes conflicts with
-locally defined gettid(). Use the local definition of
-gettid only if system gettid is not available.
-
-https://sourceware.org/git/?p=glibc.git;a=blob_plain;f=NEWS;hb=HEAD<Paste>
-
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- configure.ac            | 2 +-
- src/common/compat/tid.h | 3 ++-
- 2 files changed, 3 insertions(+), 2 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 7b99f5c..e4bd82c 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -190,7 +190,7 @@ AC_CHECK_HEADERS([ \
- # Basic functions check
- AC_CHECK_FUNCS([ \
- 	atexit bzero clock_gettime dup2 fdatasync fls ftruncate \
--	gethostbyname gethostname getpagesize localtime_r memchr memset \
-+	gethostbyname gethostname getpagesize gettid localtime_r memchr memset \
- 	mkdir munmap putenv realpath rmdir socket strchr strcspn strdup \
- 	strncasecmp strndup strnlen strpbrk strrchr strstr strtol strtoul \
- 	strtoull dirfd gethostbyname2 getipnodebyname epoll_create1 \
-diff --git a/src/common/compat/tid.h b/src/common/compat/tid.h
-index 40f562f..aa07a85 100644
---- a/src/common/compat/tid.h
-+++ b/src/common/compat/tid.h
-@@ -25,6 +25,7 @@
- #ifndef LTTNG_TID_H
- #define LTTNG_TID_H
- 
-+#if !HAVE_GETTID
- #ifdef __linux__
- #include <syscall.h>
- #endif
-@@ -47,5 +48,5 @@ static inline pid_t gettid(void)
- 	return getpid();
- }
- #endif
--
-+#endif /* HAVE_GETTID */
- #endif /* LTTNG_TID_H */
--- 
-2.22.0
-
diff --git a/meta/recipes-kernel/lttng/lttng-tools/0001-tests-do-not-strip-a-helper-library.patch b/meta/recipes-kernel/lttng/lttng-tools/0001-tests-do-not-strip-a-helper-library.patch
new file mode 100644
index 00000000000..2d08b088794
--- /dev/null
+++ b/meta/recipes-kernel/lttng/lttng-tools/0001-tests-do-not-strip-a-helper-library.patch
@@ -0,0 +1,27 @@
+From ab238c213fac190972f55e73cf3e0bb1c7846eb8 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Thu, 12 Dec 2019 16:52:07 +0100
+Subject: [PATCH] tests: do not strip a helper library
+
+Upstream-Status: Inappropriate [oe-core specific]
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ tests/utils/testapp/userspace-probe-elf-binary/Makefile.am | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/tests/utils/testapp/userspace-probe-elf-binary/Makefile.am b/tests/utils/testapp/userspace-probe-elf-binary/Makefile.am
+index 03f5d5a..d12c343 100644
+--- a/tests/utils/testapp/userspace-probe-elf-binary/Makefile.am
++++ b/tests/utils/testapp/userspace-probe-elf-binary/Makefile.am
+@@ -12,7 +12,7 @@ userspace_probe_elf_binary_LDADD = libfoo.la
+ libfoo.strip: libfoo.la
+ 	$(OBJCOPY) --strip-all .libs/libfoo.so
+ 
+-all-local: libfoo.strip
++all-local:
+ 	@if [ x"$(srcdir)" != x"$(builddir)" ]; then \
+ 		for script in $(EXTRA_DIST); do \
+ 			cp -f $(srcdir)/$$script $(builddir); \
+-- 
+2.17.1
+
diff --git a/meta/recipes-kernel/lttng/lttng-tools/0002-Fix-check-for-lttng-modules-presence-before-testing.patch b/meta/recipes-kernel/lttng/lttng-tools/0002-Fix-check-for-lttng-modules-presence-before-testing.patch
deleted file mode 100644
index 784a07940a4..00000000000
--- a/meta/recipes-kernel/lttng/lttng-tools/0002-Fix-check-for-lttng-modules-presence-before-testing.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From 58e4dcce48b48b68b65bffc0cd51d9e26b44c75d Mon Sep 17 00:00:00 2001
-From: Jonathan Rajotte <jonathan.rajotte-julien@efficios.com>
-Date: Wed, 22 May 2019 16:44:54 -0400
-Subject: [PATCH] Fix: check for lttng modules presence before testing
-
-Upstream-Status: Submitted [https://lists.lttng.org/pipermail/lttng-dev/2019-May/028987.html]
-
-Signed-off-by: Jonathan Rajotte <jonathan.rajotte-julien@efficios.com>
----
- tests/regression/tools/notification/test_notification_multi_app | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/tests/regression/tools/notification/test_notification_multi_app b/tests/regression/tools/notification/test_notification_multi_app
-index 29b0f62..a6baf65 100755
---- a/tests/regression/tools/notification/test_notification_multi_app
-+++ b/tests/regression/tools/notification/test_notification_multi_app
-@@ -484,6 +484,7 @@ else
- fi
- 
- if [ "$(id -u)" == "0" ]; then
-+	validate_lttng_modules_present
- 	TESTS+=(
- 	test_multi_app_kernel
- 	test_on_register_evaluation_kernel
diff --git a/meta/recipes-kernel/lttng/lttng-tools_2.10.7.bb b/meta/recipes-kernel/lttng/lttng-tools_2.11.0.bb
similarity index 94%
rename from meta/recipes-kernel/lttng/lttng-tools_2.10.7.bb
rename to meta/recipes-kernel/lttng/lttng-tools_2.11.0.bb
index aa6d19d0fa5..a2797567410 100644
--- a/meta/recipes-kernel/lttng/lttng-tools_2.10.7.bb
+++ b/meta/recipes-kernel/lttng/lttng-tools_2.11.0.bb
@@ -11,7 +11,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=01d7fc4496aacf37d90df90b90b0cac1 \
 
 DEPENDS = "liburcu popt libxml2 util-linux"
 RDEPENDS_${PN} = "libgcc"
-RDEPENDS_${PN}-ptest += "make perl bash gawk babeltrace procps perl-module-overloading coreutils util-linux kmod lttng-modules sed"
+RDEPENDS_${PN}-ptest += "make perl bash gawk babeltrace procps perl-module-overloading coreutils util-linux kmod lttng-modules sed python3-core"
 RDEPENDS_${PN}-ptest_append_libc-glibc = " glibc-utils"
 RDEPENDS_${PN}-ptest_append_libc-musl = " musl-utils"
 # babelstats.pl wants getopt-long
@@ -30,15 +30,13 @@ PACKAGECONFIG_remove_arc = "lttng-ust"
 
 SRC_URI = "https://lttng.org/files/lttng-tools/lttng-tools-${PV}.tar.bz2 \
            file://x32.patch \
+           file://0001-tests-do-not-strip-a-helper-library.patch \
            file://run-ptest \
            file://lttng-sessiond.service \
-           file://0001-Skip-when-testapp-is-not-present.patch \
-           file://0002-Fix-check-for-lttng-modules-presence-before-testing.patch \
-           file://0001-check-for-gettid-API-during-configure.patch \
            "
 
-SRC_URI[md5sum] = "e7804d10e4cade381e241601f6047373"
-SRC_URI[sha256sum] = "ed71ebe00c5d985c74f30e97b614e909573cbd9276c85e05d9557a0b817a1312"
+SRC_URI[md5sum] = "e6c23244a36e2a09783d03a362eb63cb"
+SRC_URI[sha256sum] = "dce493c82db673c96049b5fad155a760fa449fab3d92467a69fcb0ddaf3f0fbc"
 
 inherit autotools ptest pkgconfig useradd python3-dir manpages systemd
 
@@ -59,6 +57,8 @@ FILES_${PN}-dev += "${PYTHON_SITEPACKAGES_DIR}/*.la"
 INSANE_SKIP_${PN} = "libexec dev-so"
 INSANE_SKIP_${PN}-dbg = "libexec"
 
+PRIVATE_LIBS_${PN}-ptest = "libfoo.so"
+
 do_install_append () {
     # install systemd unit file
     install -d ${D}${systemd_unitdir}/system
@@ -111,6 +111,8 @@ do_install_ptest () {
         done
     done
 
+    chrpath --delete ${D}${PTEST_PATH}/tests/utils/testapp/userspace-probe-elf-binary/userspace-probe-elf-binary
+
     #
     # Use the versioned libs of liblttng-ust-dl.
     #
-- 
2.17.1



^ permalink raw reply related	[flat|nested] 62+ messages in thread

* [PATCH 23/30] cups: update to 2.3.0
  2019-12-12 18:14 [PATCH 01/30] rpm: upgrade to 4.15.1 Alexander Kanavin
                   ` (20 preceding siblings ...)
  2019-12-12 18:14 ` [PATCH 22/30] lttng-tools: " Alexander Kanavin
@ 2019-12-12 18:14 ` Alexander Kanavin
  2019-12-13  2:55   ` Mittal, Anuj
  2019-12-12 18:14 ` [PATCH 24/30] man-pages: update to 5.04 Alexander Kanavin
                   ` (7 subsequent siblings)
  29 siblings, 1 reply; 62+ messages in thread
From: Alexander Kanavin @ 2019-12-12 18:14 UTC (permalink / raw)
  To: openembedded-core

License-Update: license changed to Apache 2.0

Remove no longer recognized configure options.

Refresh all patches.

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
 meta/recipes-extended/cups/cups.inc           | 14 ++---
 .../cups/cups/0001-cups-Update-to-1.6.1.patch | 27 ++++++++++
 ...don-t-try-to-run-generated-binaries.patch} | 29 ++++++-----
 ...003-cups_1.4.6.bb-Fix-build-on-ppc64.patch | 51 +++++++++++++++++++
 ...fix-multilib-install-file-conflicts.patch} | 12 +++++
 .../cups/cups/cups_serverbin.patch            | 38 --------------
 .../cups/cups/use_echo_only_in_init.patch     | 15 ------
 meta/recipes-extended/cups/cups_2.2.12.bb     |  6 ---
 meta/recipes-extended/cups/cups_2.3.0.bb      |  6 +++
 9 files changed, 117 insertions(+), 81 deletions(-)
 create mode 100644 meta/recipes-extended/cups/cups/0001-cups-Update-to-1.6.1.patch
 rename meta/recipes-extended/cups/cups/{0001-don-t-try-to-run-generated-binaries.patch => 0002-don-t-try-to-run-generated-binaries.patch} (69%)
 create mode 100644 meta/recipes-extended/cups/cups/0003-cups_1.4.6.bb-Fix-build-on-ppc64.patch
 rename meta/recipes-extended/cups/cups/{cups-avoid-install-file-conflicts.patch => 0004-cups-fix-multilib-install-file-conflicts.patch} (68%)
 delete mode 100644 meta/recipes-extended/cups/cups/cups_serverbin.patch
 delete mode 100644 meta/recipes-extended/cups/cups/use_echo_only_in_init.patch
 delete mode 100644 meta/recipes-extended/cups/cups_2.2.12.bb
 create mode 100644 meta/recipes-extended/cups/cups_2.3.0.bb

diff --git a/meta/recipes-extended/cups/cups.inc b/meta/recipes-extended/cups/cups.inc
index 2149cbe4cfb..d16eb4c735f 100644
--- a/meta/recipes-extended/cups/cups.inc
+++ b/meta/recipes-extended/cups/cups.inc
@@ -5,14 +5,14 @@ Protocol (IPP), and has its own filtering driver model for handling various \
 document types."
 HOMEPAGE = "https://www.cups.org/"
 SECTION = "console/utils"
-LICENSE = "GPLv2 & LGPLv2"
+LICENSE = "Apache-2.0"
 DEPENDS = "gnutls libpng jpeg dbus zlib libusb1"
 
 SRC_URI = "https://github.com/apple/cups/releases/download/v${PV}/${BP}-source.tar.gz \
-           file://use_echo_only_in_init.patch \
-           file://0001-don-t-try-to-run-generated-binaries.patch \
-           file://cups_serverbin.patch \
-           file://cups-avoid-install-file-conflicts.patch \
+           file://0001-cups-Update-to-1.6.1.patch \
+           file://0002-don-t-try-to-run-generated-binaries.patch \
+           file://0003-cups_1.4.6.bb-Fix-build-on-ppc64.patch \
+           file://0004-cups-fix-multilib-install-file-conflicts.patch\
            "
 
 UPSTREAM_CHECK_URI = "https://github.com/apple/cups/releases"
@@ -45,10 +45,6 @@ EXTRA_OECONF = " \
                --enable-debug \
                --disable-relro \
                --enable-libusb \
-               --without-php \
-               --without-perl \
-               --without-python \
-               --without-java \
                DSOFLAGS='${LDFLAGS}' \
                "
 
diff --git a/meta/recipes-extended/cups/cups/0001-cups-Update-to-1.6.1.patch b/meta/recipes-extended/cups/cups/0001-cups-Update-to-1.6.1.patch
new file mode 100644
index 00000000000..1cd02e8b324
--- /dev/null
+++ b/meta/recipes-extended/cups/cups/0001-cups-Update-to-1.6.1.patch
@@ -0,0 +1,27 @@
+From a3f4d8ba97f4669a95943a7e65eb61aa44ce7999 Mon Sep 17 00:00:00 2001
+From: Saul Wold <sgw@linux.intel.com>
+Date: Thu, 13 Dec 2012 19:03:52 -0800
+Subject: [PATCH 1/4] cups: Update to 1.6.1
+
+Upstream-Status: Inappropriate [embedded specific]
+
+---
+ scheduler/cups.sh.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/scheduler/cups.sh.in b/scheduler/cups.sh.in
+index 89ac36d..6618a0f 100644
+--- a/scheduler/cups.sh.in
++++ b/scheduler/cups.sh.in
+@@ -50,7 +50,7 @@ case "`uname`" in
+ 		ECHO_ERROR=:
+ 		;;
+ 
+-	Linux*)
++	DisableLinux*)
+ 		IS_ON=/bin/true
+ 		if test -f /etc/init.d/functions; then
+ 			. /etc/init.d/functions
+-- 
+2.17.1
+
diff --git a/meta/recipes-extended/cups/cups/0001-don-t-try-to-run-generated-binaries.patch b/meta/recipes-extended/cups/cups/0002-don-t-try-to-run-generated-binaries.patch
similarity index 69%
rename from meta/recipes-extended/cups/cups/0001-don-t-try-to-run-generated-binaries.patch
rename to meta/recipes-extended/cups/cups/0002-don-t-try-to-run-generated-binaries.patch
index d6a69f28338..ea248e4710a 100644
--- a/meta/recipes-extended/cups/cups/0001-don-t-try-to-run-generated-binaries.patch
+++ b/meta/recipes-extended/cups/cups/0002-don-t-try-to-run-generated-binaries.patch
@@ -1,7 +1,7 @@
-From 1fb07162a9ed187cccf06e34c9bf841d15c6e64e Mon Sep 17 00:00:00 2001
+From 3e9a965dcd65ab2d40b753b6f792a1a4559182aa Mon Sep 17 00:00:00 2001
 From: Koen Kooi <koen@dominion.thruhere.net>
 Date: Sun, 30 Jan 2011 16:37:27 +0100
-Subject: [PATCH] don't try to run generated binaries
+Subject: [PATCH 2/4] don't try to run generated binaries
 
 Upstream-Status: Inappropriate [embedded specific]
 
@@ -12,13 +12,13 @@ Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
  1 file changed, 16 insertions(+), 16 deletions(-)
 
 diff --git a/ppdc/Makefile b/ppdc/Makefile
-index e563988..973dd3f 100644
+index 32e2e0b..f1478d4 100644
 --- a/ppdc/Makefile
 +++ b/ppdc/Makefile
-@@ -189,8 +189,8 @@ genstrings:		genstrings.o libcupsppdc.a ../cups/$(LIBCUPSSTATIC) \
- 	$(LD_CXX) $(ARCHFLAGS) $(LDFLAGS) -o genstrings genstrings.o \
- 		libcupsppdc.a ../cups/$(LIBCUPSSTATIC) $(LIBGSSAPI) $(SSLLIBS) \
- 		$(DNSSDLIBS) $(COMMONLIBS) $(LIBZ)
+@@ -186,8 +186,8 @@ genstrings:		genstrings.o libcupsppdc.a ../cups/$(LIBCUPSSTATIC) \
+ 	$(LD_CXX) $(ARCHFLAGS) $(ALL_LDFLAGS) -o genstrings genstrings.o \
+ 		libcupsppdc.a $(LINKCUPSSTATIC)
+ 	$(CODE_SIGN) -s "$(CODE_SIGN_IDENTITY)" $@
 -	echo Generating localization strings...
 -	./genstrings >sample.c
 +#	echo Generating localization strings...
@@ -26,9 +26,9 @@ index e563988..973dd3f 100644
  
  
  #
-@@ -209,9 +209,9 @@ ppdc-static:		ppdc.o libcupsppdc.a ../cups/$(LIBCUPSSTATIC) foo.drv foo-fr.po
- 		../cups/$(LIBCUPSSTATIC) $(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) \
- 		$(COMMONLIBS) $(LIBZ)
+@@ -205,9 +205,9 @@ ppdc-static:		ppdc.o libcupsppdc.a ../cups/$(LIBCUPSSTATIC) foo.drv foo-fr.po
+ 	$(LD_CXX) $(ARCHFLAGS) $(ALL_LDFLAGS) -o ppdc-static ppdc.o libcupsppdc.a \
+ 		$(LINKCUPSSTATIC)
  	$(CODE_SIGN) -s "$(CODE_SIGN_IDENTITY)" $@
 -	echo Testing PPD compiler...
 -	./ppdc-static -l en,fr -I ../data foo.drv
@@ -39,9 +39,9 @@ index e563988..973dd3f 100644
  
  
  #
-@@ -240,17 +240,17 @@ ppdi-static:		ppdc-static ppdi.o libcupsppdc.a  ../cups/$(LIBCUPSSTATIC)
- 		../cups/$(LIBCUPSSTATIC) $(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) \
- 		$(COMMONLIBS) $(LIBZ)
+@@ -235,17 +235,17 @@ ppdi-static:		ppdc-static ppdi.o libcupsppdc.a ../cups/$(LIBCUPSSTATIC)
+ 	$(LD_CXX) $(ARCHFLAGS) $(ALL_LDFLAGS) -o ppdi-static ppdi.o libcupsppdc.a \
+ 		$(LINKCUPSSTATIC)
  	$(CODE_SIGN) -s "$(CODE_SIGN_IDENTITY)" $@
 -	echo Testing PPD importer...
 -	$(RM) -r ppd ppd2 sample-import.drv
@@ -68,3 +68,6 @@ index e563988..973dd3f 100644
  
  
  #
+-- 
+2.17.1
+
diff --git a/meta/recipes-extended/cups/cups/0003-cups_1.4.6.bb-Fix-build-on-ppc64.patch b/meta/recipes-extended/cups/cups/0003-cups_1.4.6.bb-Fix-build-on-ppc64.patch
new file mode 100644
index 00000000000..b48c7a9ad2f
--- /dev/null
+++ b/meta/recipes-extended/cups/cups/0003-cups_1.4.6.bb-Fix-build-on-ppc64.patch
@@ -0,0 +1,51 @@
+From 66c2079ae91389ee0f9d704bf0d2cccd53b2c603 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 22 Jul 2012 16:54:17 -0700
+Subject: [PATCH 3/4] cups_1.4.6.bb: Fix build on ppc64
+
+Make CUPS_SERVERBIN relative to libdir otherwise on 64bit arches
+e.g. ppc64 where base libdir is lib64 this does not go well
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Upstream-Status: Inappropriate [OE config specific]
+
+Update on 20190904:
+Redefine CUPS_SERVERBIN to "$libexecdir/cups" which solves file confliction
+when multilib is enabled.
+
+Signed-off-by: Kai Kang <kai.kang@windriver.com>
+
+---
+ config-scripts/cups-directories.m4 | 2 +-
+ configure                          | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/config-scripts/cups-directories.m4 b/config-scripts/cups-directories.m4
+index b74083a..9a5abb2 100644
+--- a/config-scripts/cups-directories.m4
++++ b/config-scripts/cups-directories.m4
+@@ -270,7 +270,7 @@ case "$host_os_name" in
+ 	*)
+ 		# All others
+ 		INSTALL_SYSV="install-sysv"
+-		CUPS_SERVERBIN="$exec_prefix/lib/cups"
++		CUPS_SERVERBIN="$libexecdir/cups"
+ 		;;
+ esac
+ 
+diff --git a/configure b/configure
+index d3df145..bc68a6c 100755
+--- a/configure
++++ b/configure
+@@ -6420,7 +6420,7 @@ case "$host_os_name" in
+ 	*)
+ 		# All others
+ 		INSTALL_SYSV="install-sysv"
+-		CUPS_SERVERBIN="$exec_prefix/lib/cups"
++		CUPS_SERVERBIN="$libexecdir/cups"
+ 		;;
+ esac
+ 
+-- 
+2.17.1
+
diff --git a/meta/recipes-extended/cups/cups/cups-avoid-install-file-conflicts.patch b/meta/recipes-extended/cups/cups/0004-cups-fix-multilib-install-file-conflicts.patch
similarity index 68%
rename from meta/recipes-extended/cups/cups/cups-avoid-install-file-conflicts.patch
rename to meta/recipes-extended/cups/cups/0004-cups-fix-multilib-install-file-conflicts.patch
index 68885fa4db0..bc9260307c8 100644
--- a/meta/recipes-extended/cups/cups/cups-avoid-install-file-conflicts.patch
+++ b/meta/recipes-extended/cups/cups/0004-cups-fix-multilib-install-file-conflicts.patch
@@ -1,3 +1,8 @@
+From 7dbda1887aa19ab720aff22312f4caff2d575f62 Mon Sep 17 00:00:00 2001
+From: Kai Kang <kai.kang@windriver.com>
+Date: Wed, 3 Oct 2018 00:27:11 +0800
+Subject: [PATCH 4/4] cups: fix multilib install file conflicts
+
 @CUPS_SERVERBIN@ is ${libdir} related that causes multilib install file
 conflict. Remove @CUPS_SERVERBIN@ from the comment line of cups-files.conf to
 avoid the conflict.
@@ -6,6 +11,10 @@ Upstream-Status: Inappropriate [OE specific]
 
 Signed-off-by: Kai Kang <kai.kang@windriver.com>
 
+---
+ conf/cups-files.conf.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
 diff --git a/conf/cups-files.conf.in b/conf/cups-files.conf.in
 index 4a78ba6..03c6582 100644
 --- a/conf/cups-files.conf.in
@@ -19,3 +28,6 @@ index 4a78ba6..03c6582 100644
  
  # SSL/TLS keychain for the scheduler...
  #ServerKeychain @CUPS_SERVERKEYCHAIN@
+-- 
+2.17.1
+
diff --git a/meta/recipes-extended/cups/cups/cups_serverbin.patch b/meta/recipes-extended/cups/cups/cups_serverbin.patch
deleted file mode 100644
index 85c6af10719..00000000000
--- a/meta/recipes-extended/cups/cups/cups_serverbin.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-Make CUPS_SERVERBIN relative to libdir otherwise on 64bit arches
-e.g. ppc64 where base libdir is lib64 this does not go well
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Upstream-Status: Inappropriate [OE config specific]
-
-Update on 20190904:
-Redefine CUPS_SERVERBIN to "$libexecdir/cups" which solves file confliction
-when multilib is enabled.
-
-Signed-off-by: Kai Kang <kai.kang@windriver.com>
-
-Index: cups-1.4.6/config-scripts/cups-directories.m4
-===================================================================
---- cups-1.4.6.orig/config-scripts/cups-directories.m4	2009-04-12 16:04:51.000000000 -0700
-+++ cups-1.4.6/config-scripts/cups-directories.m4	2012-07-21 12:12:05.896405923 -0700
-@@ -397,7 +397,7 @@
- 	*)
- 		# All others
- 		INSTALL_SYSV="install-sysv"
--		CUPS_SERVERBIN="$exec_prefix/lib/cups"
-+		CUPS_SERVERBIN="$libexecdir/cups"
- 		;;
- esac
- 
-Index: cups-1.4.6/configure
-===================================================================
---- cups-1.4.6.orig/configure	2012-07-21 12:13:34.512405950 -0700
-+++ cups-1.4.6/configure	2012-07-21 12:14:05.724406017 -0700
-@@ -11181,7 +11181,7 @@
- 	*)
- 		# All others
- 		INSTALL_SYSV="install-sysv"
--		CUPS_SERVERBIN="$exec_prefix/lib/cups"
-+		CUPS_SERVERBIN="$libexecdir/cups"
- 		;;
- esac
- 
diff --git a/meta/recipes-extended/cups/cups/use_echo_only_in_init.patch b/meta/recipes-extended/cups/cups/use_echo_only_in_init.patch
deleted file mode 100644
index 696f1374d9c..00000000000
--- a/meta/recipes-extended/cups/cups/use_echo_only_in_init.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-Upstream-Status: Inappropriate [embedded specific]
-
-Index: cups-1.6.1/scheduler/cups.sh.in
-===================================================================
---- cups-1.6.1.orig/scheduler/cups.sh.in
-+++ cups-1.6.1/scheduler/cups.sh.in
-@@ -67,7 +67,7 @@ case "`uname`" in
- 		ECHO_ERROR=:
- 		;;
- 
--	Linux*)
-+	DisableLinux*)
- 		IS_ON=/bin/true
- 		if test -f /etc/init.d/functions; then
- 			. /etc/init.d/functions
diff --git a/meta/recipes-extended/cups/cups_2.2.12.bb b/meta/recipes-extended/cups/cups_2.2.12.bb
deleted file mode 100644
index 8e5534a979e..00000000000
--- a/meta/recipes-extended/cups/cups_2.2.12.bb
+++ /dev/null
@@ -1,6 +0,0 @@
-require cups.inc
-
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=f212b4338db0da8cb892e94bf2949460"
-
-SRC_URI[md5sum] = "e763689f7735d3fe95a2943397189e40"
-SRC_URI[sha256sum] = "0f61ab449e4748a24c6ab355b481ff7691247a140d327b2b7526fce34b7f9aa8"
diff --git a/meta/recipes-extended/cups/cups_2.3.0.bb b/meta/recipes-extended/cups/cups_2.3.0.bb
new file mode 100644
index 00000000000..ebe2b18fb49
--- /dev/null
+++ b/meta/recipes-extended/cups/cups_2.3.0.bb
@@ -0,0 +1,6 @@
+require cups.inc
+
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
+
+SRC_URI[md5sum] = "644f374573f5433fb8a8af3880db6a98"
+SRC_URI[sha256sum] = "acaf0229cf008ea8f06353ffd1bbd62d71dbe88990dd3330650ef87edb95a1a5"
-- 
2.17.1



^ permalink raw reply related	[flat|nested] 62+ messages in thread

* [PATCH 24/30] man-pages: update to 5.04
  2019-12-12 18:14 [PATCH 01/30] rpm: upgrade to 4.15.1 Alexander Kanavin
                   ` (21 preceding siblings ...)
  2019-12-12 18:14 ` [PATCH 23/30] cups: update to 2.3.0 Alexander Kanavin
@ 2019-12-12 18:14 ` Alexander Kanavin
  2019-12-12 18:14 ` [PATCH 25/30] man-db: update to 2.9.0 Alexander Kanavin
                   ` (6 subsequent siblings)
  29 siblings, 0 replies; 62+ messages in thread
From: Alexander Kanavin @ 2019-12-12 18:14 UTC (permalink / raw)
  To: openembedded-core

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
 .../man-pages/{man-pages_5.03.bb => man-pages_5.04.bb}        | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
 rename meta/recipes-extended/man-pages/{man-pages_5.03.bb => man-pages_5.04.bb} (87%)

diff --git a/meta/recipes-extended/man-pages/man-pages_5.03.bb b/meta/recipes-extended/man-pages/man-pages_5.04.bb
similarity index 87%
rename from meta/recipes-extended/man-pages/man-pages_5.03.bb
rename to meta/recipes-extended/man-pages/man-pages_5.04.bb
index 2381ba4348b..be456759fc4 100644
--- a/meta/recipes-extended/man-pages/man-pages_5.03.bb
+++ b/meta/recipes-extended/man-pages/man-pages_5.04.bb
@@ -7,8 +7,8 @@ LICENSE = "GPLv2+"
 LIC_FILES_CHKSUM = "file://README;md5=794f701617cc03fe50c53257660d8ec4"
 SRC_URI = "${KERNELORG_MIRROR}/linux/docs/${BPN}/${BP}.tar.gz"
 
-SRC_URI[md5sum] = "d1da6babb99cbd269233a35de9d8718e"
-SRC_URI[sha256sum] = "e8bab0b10c6fb3a6d69615edb488f8a27020f3625c4cf43b8451ba206acbb1b8"
+SRC_URI[md5sum] = "14d33d3fe02577a33aab26eb75df39cb"
+SRC_URI[sha256sum] = "8c6ab56b654a6dd00e3759279954a25fc68b258b8f493a75af55ea7b6401fdb2"
 
 inherit manpages
 
-- 
2.17.1



^ permalink raw reply related	[flat|nested] 62+ messages in thread

* [PATCH 25/30] man-db: update to 2.9.0
  2019-12-12 18:14 [PATCH 01/30] rpm: upgrade to 4.15.1 Alexander Kanavin
                   ` (22 preceding siblings ...)
  2019-12-12 18:14 ` [PATCH 24/30] man-pages: update to 5.04 Alexander Kanavin
@ 2019-12-12 18:14 ` Alexander Kanavin
  2019-12-12 18:14 ` [PATCH 26/30] ltp: update to 20190930 Alexander Kanavin
                   ` (5 subsequent siblings)
  29 siblings, 0 replies; 62+ messages in thread
From: Alexander Kanavin @ 2019-12-12 18:14 UTC (permalink / raw)
  To: openembedded-core

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
 .../man-db/{man-db_2.8.7.bb => man-db_2.9.0.bb}               | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
 rename meta/recipes-extended/man-db/{man-db_2.8.7.bb => man-db_2.9.0.bb} (92%)

diff --git a/meta/recipes-extended/man-db/man-db_2.8.7.bb b/meta/recipes-extended/man-db/man-db_2.9.0.bb
similarity index 92%
rename from meta/recipes-extended/man-db/man-db_2.8.7.bb
rename to meta/recipes-extended/man-db/man-db_2.9.0.bb
index 083b2374aa2..5b017e80234 100644
--- a/meta/recipes-extended/man-db/man-db_2.8.7.bb
+++ b/meta/recipes-extended/man-db/man-db_2.9.0.bb
@@ -7,8 +7,8 @@ LIC_FILES_CHKSUM = "file://docs/COPYING.LIB;md5=a6f89e2100d9b6cdffcea4f398e37343
 SRC_URI = "${SAVANNAH_NONGNU_MIRROR}/man-db/man-db-${PV}.tar.xz \
            file://99_mandb \
            file://man_db.conf-avoid-multilib-install-file-conflict.patch"
-SRC_URI[md5sum] = "ec0b23c8314a1654c4d059b2c18ce43d"
-SRC_URI[sha256sum] = "b9cd5bb996305d08bfe9e1114edc30b4c97be807093b88af8033ed1cf9beb326"
+SRC_URI[md5sum] = "897576a19ecbef376a916485608cd790"
+SRC_URI[sha256sum] = "5d4aacd9e8876d6a3203a889860c3524c293c38f04111a3350deab8a6cd3e261"
 
 DEPENDS = "libpipeline gdbm groff-native base-passwd"
 RDEPENDS_${PN} += "base-passwd"
-- 
2.17.1



^ permalink raw reply related	[flat|nested] 62+ messages in thread

* [PATCH 26/30] ltp: update to 20190930
  2019-12-12 18:14 [PATCH 01/30] rpm: upgrade to 4.15.1 Alexander Kanavin
                   ` (23 preceding siblings ...)
  2019-12-12 18:14 ` [PATCH 25/30] man-db: update to 2.9.0 Alexander Kanavin
@ 2019-12-12 18:14 ` Alexander Kanavin
  2019-12-15  5:32   ` Khem Raj
  2019-12-12 18:14 ` [PATCH 27/30] cpio: update to 2.13 Alexander Kanavin
                   ` (4 subsequent siblings)
  29 siblings, 1 reply; 62+ messages in thread
From: Alexander Kanavin @ 2019-12-12 18:14 UTC (permalink / raw)
  To: openembedded-core

Drop a big pile of backports.

Add a patch to address absent string formatting error.

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
 ...me-check-for-getdents-getdents64-API.patch |  72 --------
 ...option-to-select-libc-implementation.patch |  27 ++-
 ...-17052-Avoid-unsafe-exits-in-threads.patch |  64 -------
 ...meltdown.c-Fix-kernel-symbol-finding.patch |  81 ---------
 ...y-update-for-mm-fix-false-positive-O.patch |  57 -------
 ...medwait01-Fix-wrong-sigset-length-fo.patch |  46 -----
 ...3-wait-for-defunct-tid-to-get-detach.patch |  75 --------
 ...es-fix-an-absent-format-string-issue.patch |  24 +++
 ...thon3-everywhere-to-run-python-scrip.patch | 161 ------------------
 ...x-EFAULT-in-32bit-compatibility-mode.patch |  36 ----
 ...k-for-RES_USE_INET6-during-configure.patch |  68 --------
 ...BC_PREREQ-is-defined-before-using-it.patch |  27 ++-
 ...se-hardcoded-index-0-for-SHM_STAT-te.patch |  82 ---------
 ...11-direct_io-diotest4-drop-MAP_FIXED.patch |  56 ------
 ...st-a-bit-of-code-to-compatiable-with.patch |  64 -------
 .../ltp/{ltp_20190517.bb => ltp_20190930.bb}  |  15 +-
 16 files changed, 51 insertions(+), 904 deletions(-)
 delete mode 100644 meta/recipes-extended/ltp/ltp/0001-Add-configure-time-check-for-getdents-getdents64-API.patch
 delete mode 100644 meta/recipes-extended/ltp/ltp/0001-cve-2017-17052-Avoid-unsafe-exits-in-threads.patch
 delete mode 100644 meta/recipes-extended/ltp/ltp/0001-cve-meltdown.c-Fix-kernel-symbol-finding.patch
 delete mode 100644 meta/recipes-extended/ltp/ltp/0001-overcommit_memory-update-for-mm-fix-false-positive-O.patch
 delete mode 100644 meta/recipes-extended/ltp/ltp/0001-syscall-rt_sigtimedwait01-Fix-wrong-sigset-length-fo.patch
 delete mode 100644 meta/recipes-extended/ltp/ltp/0001-syscalls-tgkill03-wait-for-defunct-tid-to-get-detach.patch
 create mode 100644 meta/recipes-extended/ltp/ltp/0001-testcases-fix-an-absent-format-string-issue.patch
 delete mode 100644 meta/recipes-extended/ltp/ltp/0001-testcases-use-python3-everywhere-to-run-python-scrip.patch
 delete mode 100644 meta/recipes-extended/ltp/ltp/0001-ustat02-Fix-EFAULT-in-32bit-compatibility-mode.patch
 delete mode 100644 meta/recipes-extended/ltp/ltp/0002-check-for-RES_USE_INET6-during-configure.patch
 delete mode 100644 meta/recipes-extended/ltp/ltp/0010-shmctl01-don-t-use-hardcoded-index-0-for-SHM_STAT-te.patch
 delete mode 100644 meta/recipes-extended/ltp/ltp/0011-direct_io-diotest4-drop-MAP_FIXED.patch
 delete mode 100644 meta/recipes-extended/ltp/ltp/0012-getrlimit03-adjust-a-bit-of-code-to-compatiable-with.patch
 rename meta/recipes-extended/ltp/{ltp_20190517.bb => ltp_20190930.bb} (84%)

diff --git a/meta/recipes-extended/ltp/ltp/0001-Add-configure-time-check-for-getdents-getdents64-API.patch b/meta/recipes-extended/ltp/ltp/0001-Add-configure-time-check-for-getdents-getdents64-API.patch
deleted file mode 100644
index bfceadb190d..00000000000
--- a/meta/recipes-extended/ltp/ltp/0001-Add-configure-time-check-for-getdents-getdents64-API.patch
+++ /dev/null
@@ -1,72 +0,0 @@
-From 404dfeb4faef213b0450f173b60cd7080edec349 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 26 Jul 2019 10:32:29 -0700
-Subject: [PATCH 1/2] Add configure time check for getdents/getdents64 APIs
-
-glibc 2.30 has added wrapper for getdents64 this will help in detecting
-right condition to use fallback
-
-Check for getdents API as well while here
-
-Upstream-Status: Submitted [http://lists.linux.it/pipermail/ltp/2019-July/012954.html]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- configure.ac                                  | 2 ++
- testcases/kernel/syscalls/getdents/getdents.h | 8 ++++++--
- 2 files changed, 8 insertions(+), 2 deletions(-)
-
---- a/configure.ac
-+++ b/configure.ac
-@@ -65,6 +65,8 @@ AC_CHECK_FUNCS([ \
-     fallocate \
-     fchownat \
-     fstatat \
-+    getdents \
-+    getdents64 \
-     kcmp \
-     mkdirat \
-     mknodat \
---- a/testcases/kernel/syscalls/getdents/getdents.h
-+++ b/testcases/kernel/syscalls/getdents/getdents.h
-@@ -23,7 +23,7 @@
- #include <stdint.h>
- #include "test.h"
- #include "lapi/syscalls.h"
--
-+#include "config.h"
- /*
-  * See fs/compat.c struct compat_linux_dirent
-  */
-@@ -34,12 +34,17 @@ struct linux_dirent {
- 	char            d_name[];
- };
- 
-+#if HAVE_GETDENTS
-+#include <unistd.h>
-+#else
- static inline int
- getdents(unsigned int fd, struct linux_dirent *dirp, unsigned int size)
- {
- 	return ltp_syscall(__NR_getdents, fd, dirp, size);
- }
- 
-+#endif /* HAVE_GETDENTS */
-+
- struct linux_dirent64 {
- 	uint64_t	d_ino;
- 	int64_t		d_off;
-@@ -48,10 +53,13 @@ struct linux_dirent64 {
- 	char		d_name[];
- };
- 
-+#if HAVE_GETDENTS64
-+#include <unistd.h>
-+#else
- static inline int
- getdents64(unsigned int fd, struct linux_dirent64 *dirp64, unsigned int size)
- {
- 	return ltp_syscall(__NR_getdents64, fd, dirp64, size);
- }
--
-+#endif /* HAVE_GETDENTS64 */
- #endif /* GETDENTS_H */
diff --git a/meta/recipes-extended/ltp/ltp/0001-build-Add-option-to-select-libc-implementation.patch b/meta/recipes-extended/ltp/ltp/0001-build-Add-option-to-select-libc-implementation.patch
index b5c25c56a57..1705abcf196 100644
--- a/meta/recipes-extended/ltp/ltp/0001-build-Add-option-to-select-libc-implementation.patch
+++ b/meta/recipes-extended/ltp/ltp/0001-build-Add-option-to-select-libc-implementation.patch
@@ -1,4 +1,4 @@
-From ec282980e6eee96f5b74aba464141f86049263e6 Mon Sep 17 00:00:00 2001
+From 62c3481c73a2414d7a5f0a70808bfc9a06195bd9 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Thu, 7 Jan 2016 18:19:03 +0000
 Subject: [PATCH] build: Add option to select libc implementation
@@ -12,6 +12,7 @@ Disable tests specifically not building _yet_ on musl based systems
 Upstream-Status: Pending
 
 Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
 ---
  Makefile                                    | 5 +++++
  testcases/kernel/Makefile                   | 5 ++++-
@@ -24,7 +25,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
  8 files changed, 35 insertions(+), 2 deletions(-)
 
 diff --git a/Makefile b/Makefile
-index 768ca46..e9d679a 100644
+index 768ca4606..e9d679a71 100644
 --- a/Makefile
 +++ b/Makefile
 @@ -41,6 +41,11 @@ vpath %.mk		$(top_srcdir)/mk:$(top_srcdir)/mk/include
@@ -40,18 +41,19 @@ index 768ca46..e9d679a 100644
  # COMMON_TARGETS:	Targets which exist in all, clean, and install.
  # INSTALL_TARGETS:	Targets which exist in clean and install (contains
 diff --git a/testcases/kernel/Makefile b/testcases/kernel/Makefile
-index 39d79c7..24a57d9 100644
+index 3319b3163..94ea362c8 100644
 --- a/testcases/kernel/Makefile
 +++ b/testcases/kernel/Makefile
-@@ -49,12 +49,15 @@ SUBDIRS			+= connectors \
+@@ -49,13 +49,16 @@ SUBDIRS			+= connectors \
  			   logging \
  			   mem \
  			   numa \
 -			   pty \
  			   sched \
  			   security \
- 			   timers \
+ 			   sound \
  			   tracing \
+ 			   uevents \
  
 +ifneq ($(LIBC),musl)
 +SUBDIRS			+= pty
@@ -61,7 +63,7 @@ index 39d79c7..24a57d9 100644
  SUBDIRS			+= power_management
  endif
 diff --git a/testcases/kernel/sched/Makefile b/testcases/kernel/sched/Makefile
-index 6a57d79..74bb933 100644
+index 6a57d79ee..74bb93370 100644
 --- a/testcases/kernel/sched/Makefile
 +++ b/testcases/kernel/sched/Makefile
 @@ -23,5 +23,7 @@
@@ -74,7 +76,7 @@ index 6a57d79..74bb933 100644
 +endif
  include $(top_srcdir)/include/mk/generic_trunk_target.mk
 diff --git a/testcases/kernel/syscalls/Makefile b/testcases/kernel/syscalls/Makefile
-index 45a00cf..d1becd0 100644
+index 45a00cf7d..d1becd054 100644
 --- a/testcases/kernel/syscalls/Makefile
 +++ b/testcases/kernel/syscalls/Makefile
 @@ -28,6 +28,11 @@ ifeq ($(UCLINUX),1)
@@ -90,7 +92,7 @@ index 45a00cf..d1becd0 100644
  ifeq ($(UCLIBC),1)
  FILTER_OUT_DIRS	+= profil
 diff --git a/testcases/network/nfsv4/acl/Makefile b/testcases/network/nfsv4/acl/Makefile
-index 8c55a6b..f7cda62 100644
+index 8c55a6bbd..f7cda621d 100644
 --- a/testcases/network/nfsv4/acl/Makefile
 +++ b/testcases/network/nfsv4/acl/Makefile
 @@ -26,4 +26,8 @@ include $(top_srcdir)/include/mk/env_pre.mk
@@ -103,7 +105,7 @@ index 8c55a6b..f7cda62 100644
 +
  include $(top_srcdir)/include/mk/generic_leaf_target.mk
 diff --git a/testcases/network/rpc/basic_tests/Makefile b/testcases/network/rpc/basic_tests/Makefile
-index 66e9d56..ea8eb8a 100644
+index 66e9d5675..ea8eb8a98 100644
 --- a/testcases/network/rpc/basic_tests/Makefile
 +++ b/testcases/network/rpc/basic_tests/Makefile
 @@ -23,4 +23,9 @@
@@ -117,7 +119,7 @@ index 66e9d56..ea8eb8a 100644
 +
  include $(top_srcdir)/include/mk/generic_trunk_target.mk
 diff --git a/testcases/realtime/func/pi-tests/Makefile b/testcases/realtime/func/pi-tests/Makefile
-index 68616a7..748754b 100644
+index 68616a711..748754bb4 100644
 --- a/testcases/realtime/func/pi-tests/Makefile
 +++ b/testcases/realtime/func/pi-tests/Makefile
 @@ -27,5 +27,9 @@ include $(top_srcdir)/include/mk/env_pre.mk
@@ -131,7 +133,7 @@ index 68616a7..748754b 100644
  
  include $(top_srcdir)/include/mk/generic_leaf_target.mk
 diff --git a/testcases/realtime/stress/pi-tests/Makefile b/testcases/realtime/stress/pi-tests/Makefile
-index 1881f75..266e0b8 100644
+index 1881f7565..266e0b815 100644
 --- a/testcases/realtime/stress/pi-tests/Makefile
 +++ b/testcases/realtime/stress/pi-tests/Makefile
 @@ -24,4 +24,9 @@ top_srcdir		?= ../../../..
@@ -144,6 +146,3 @@ index 1881f75..266e0b8 100644
 +endif
 +
  include $(top_srcdir)/include/mk/generic_leaf_target.mk
--- 
-2.7.4
-
diff --git a/meta/recipes-extended/ltp/ltp/0001-cve-2017-17052-Avoid-unsafe-exits-in-threads.patch b/meta/recipes-extended/ltp/ltp/0001-cve-2017-17052-Avoid-unsafe-exits-in-threads.patch
deleted file mode 100644
index cc40081300c..00000000000
--- a/meta/recipes-extended/ltp/ltp/0001-cve-2017-17052-Avoid-unsafe-exits-in-threads.patch
+++ /dev/null
@@ -1,64 +0,0 @@
-From e3a8502d0a4f8a44ddd02ca4b2efc097133fb9f7 Mon Sep 17 00:00:00 2001
-From: Mathias Fiedler <mathias.fiedler@aox-tech.de>
-Date: Fri, 23 Aug 2019 12:46:48 +0200
-Subject: [PATCH] cve-2017-17052: Avoid unsafe exits in threads
-
-According to manpage exit(3) calling exit is not thread-safe.
-And with glibc 2.28 (and probably also with glibc >=2.27) sometimes
-child processes created in fork_thread can get stuck on process exit in
-glibc's __run_exit_handlers trying to acquire some lock which was in
-locked state while the fork was created. This can happen when exit is
-called in mmap_thread concurrently to the fork.
-While the main process will still return with PASSED some of its
-children are left behind.
-
-Comparing the source code with the original program as described in the
-commit 2b7e8665b4ff51c034c55df3cff76518d1a9ee3a of linux kernel >=4.13
-the exits in mmap_thread and fork_thread should not be necessary to
-trigger the original bug.
-
-Therefore those exit calls are removed. The mmap_thread and fork_thread
-should still exit when their corresponding main thread in do_test_fork
-calls exit_group. The remaining exit in do_test_fork will be called in
-the main thread without any concurrent thread in the same process.
-
-Signed-off-by: Mathias Fiedler <mathias.fiedler@aox-tech.de>
-Acked-by: Cyril Hrubis <chrubis@suse.cz>
-Acked-by: Jan Stancek <jstancek@redhat.com>
-
-Upstream-Status: Backport
-[https://github.com/linux-test-project/ltp/commit/9f0b452c1af4bcb54da35711eb3fa77334a350b4]
-
-CVE: CVE-2017-17052
-
-Signed-off-by: He Zhe <zhe.he@windriver.com>
----
- testcases/cve/cve-2017-17052.c | 5 -----
- 1 file changed, 5 deletions(-)
-
-diff --git a/testcases/cve/cve-2017-17052.c b/testcases/cve/cve-2017-17052.c
-index d7da7e919..18cd2a6d7 100644
---- a/testcases/cve/cve-2017-17052.c
-+++ b/testcases/cve/cve-2017-17052.c
-@@ -58,8 +58,6 @@ static void *mmap_thread(void *arg)
- 	for (;;) {
- 		SAFE_MMAP(NULL, 0x1000000, PROT_READ,
- 				MAP_POPULATE|MAP_ANONYMOUS|MAP_PRIVATE, -1, 0);
--		if (*do_exit)
--			exit(0);
- 	}
- 
- 	return arg;
-@@ -67,9 +65,6 @@ static void *mmap_thread(void *arg)
- 
- static void *fork_thread(void *arg)
- {
--	if (*do_exit)
--		exit(0);
--
- 	usleep(rand() % 10000);
- 	SAFE_FORK();
- 
--- 
-2.17.1
-
diff --git a/meta/recipes-extended/ltp/ltp/0001-cve-meltdown.c-Fix-kernel-symbol-finding.patch b/meta/recipes-extended/ltp/ltp/0001-cve-meltdown.c-Fix-kernel-symbol-finding.patch
deleted file mode 100644
index 94f6f5a15a6..00000000000
--- a/meta/recipes-extended/ltp/ltp/0001-cve-meltdown.c-Fix-kernel-symbol-finding.patch
+++ /dev/null
@@ -1,81 +0,0 @@
-From fbeda82f440a0098be42dd668cbc47212a86ab48 Mon Sep 17 00:00:00 2001
-From: He Zhe <zhe.he@windriver.com>
-Date: Wed, 21 Aug 2019 16:27:24 +0800
-Subject: [PATCH] cve/meltdown.c: Fix kernel symbol finding
-
-meltdown case fails as below.
-safe_file_ops.c:219: BROK: Expected 3 conversions got 2 at meltdown.c:272
-
-find_kernel_symbol is defined to try twice with each of /proc/kallsyms and
-/boot/System.map-%s. Currently if the symbol is not found in /proc/kallsyms,
-when kernel option CONFIG_KALLSYMS_ALL is disabled, it would stop the case
-immediately due to SAFE_FILE_LINES_SCANF.
-
-This patch turns to use FILE_LINES_SCANF to give find_kernel_symbol second
-chance.
-
-[jstancek] Fix also condition introduced in 7709d2ae92ea, even if
-           /proc/kallsyms is disabled, we still want to try System.map.
-
-Signed-off-by: He Zhe <zhe.he@windriver.com>
-Signed-off-by: Jan Stancek <jstancek@redhat.com>
-
-Upstream-Status: Backport
-[https://github.com/linux-test-project/ltp/commit/c2049b5c874bc071f8185bffb5fd7dcb042d9ec8]
-
-Remove the hunk for upstream 7709d2ae92ea ("cve/meltdown.c: abort the test if kallsyms was not enabled")
-that has been covered by this patch.
-
-Signed-off-by: He Zhe <zhe.he@windriver.com>
----
- testcases/cve/meltdown.c | 13 ++++++++++---
- 1 file changed, 10 insertions(+), 3 deletions(-)
-
-diff --git a/testcases/cve/meltdown.c b/testcases/cve/meltdown.c
-index a53ea9b..22651a6 100644
---- a/testcases/cve/meltdown.c
-+++ b/testcases/cve/meltdown.c
-@@ -267,9 +267,15 @@ find_symbol_in_file(const char *filename, const char *symname)
- 	int ret, read;
- 	char fmt[strlen(symname) + 64];
- 
-+	tst_res(TINFO, "Looking for %s in %s", symname, filename);
-+	if (access(filename, F_OK) == -1) {
-+		tst_res(TINFO, "%s not available", filename);
-+		return 0;
-+	}
-+
- 	sprintf(fmt, "%%lx %%c %s%%c", symname);
- 
--	ret = SAFE_FILE_LINES_SCANF(filename, fmt, &addr, &type, &read);
-+	ret = FILE_LINES_SCANF(filename, fmt, &addr, &type, &read);
- 	if (ret)
- 		return 0;
- 
-@@ -287,13 +293,11 @@ find_kernel_symbol(const char *name)
- 	if (addr)
- 		return addr;
- 
--	tst_res(TINFO, "not found '%s' in /proc/kallsyms", name);
- 	if (uname(&utsname) < 0)
- 		tst_brk(TBROK | TERRNO, "uname");
- 
- 	sprintf(systemmap, "/boot/System.map-%s", utsname.release);
- 
--	tst_res(TINFO, "looking in '%s'\n", systemmap);
- 	addr = find_symbol_in_file(systemmap, name);
- 	return addr;
- }
-@@ -308,6 +312,9 @@ static void setup(void)
- 	saved_cmdline_addr = find_kernel_symbol("saved_command_line");
- 	tst_res(TINFO, "&saved_command_line == 0x%lx", saved_cmdline_addr);
- 
-+	if (!saved_cmdline_addr)
-+		tst_brk(TCONF, "saved_command_line not found");
-+
- 	spec_fd = SAFE_OPEN("/proc/cmdline", O_RDONLY);
- 
- 	memset(target_array, 1, sizeof(target_array));
--- 
-2.7.4
-
diff --git a/meta/recipes-extended/ltp/ltp/0001-overcommit_memory-update-for-mm-fix-false-positive-O.patch b/meta/recipes-extended/ltp/ltp/0001-overcommit_memory-update-for-mm-fix-false-positive-O.patch
deleted file mode 100644
index bed84712a15..00000000000
--- a/meta/recipes-extended/ltp/ltp/0001-overcommit_memory-update-for-mm-fix-false-positive-O.patch
+++ /dev/null
@@ -1,57 +0,0 @@
-From d656a447893dccc310c975a239f482278550c3e0 Mon Sep 17 00:00:00 2001
-From: Jan Stancek <jstancek@redhat.com>
-Date: Tue, 21 May 2019 10:10:44 +0200
-Subject: [PATCH] overcommit_memory: update for "mm: fix false-positive
- OVERCOMMIT_GUESS failures"
-
-commit 8c7829b04c52 ("mm: fix false-positive OVERCOMMIT_GUESS failures")
-changes logic of __vm_enough_memory(), simplifying it to:
-    When in GUESS mode, catch wild allocations by comparing their request
-    size to total amount of ram and swap in the system.
-
-Testcase currently allocates mem_total + swap_total, which doesn't trigger
-new condition. Make it more extreme, but assuming free_total / 2 will PASS,
-and 2*sum_total will FAIL.
-
-Signed-off-by: Jan Stancek <jstancek@redhat.com>
-Acked-by: Cyril Hrubis <chrubis@suse.cz>
-
-Upstream-Status: Backport [https://github.com/linux-test-project/ltp/commit/d656a447893dccc310c975a239f482278550c3e0]
-Signed-off-by: He Zhe <zhe.he@windriver.com>
----
- testcases/kernel/mem/tunable/overcommit_memory.c | 11 ++++-------
- 1 file changed, 4 insertions(+), 7 deletions(-)
-
-diff --git a/testcases/kernel/mem/tunable/overcommit_memory.c b/testcases/kernel/mem/tunable/overcommit_memory.c
-index 555298f..345764d 100644
---- a/testcases/kernel/mem/tunable/overcommit_memory.c
-+++ b/testcases/kernel/mem/tunable/overcommit_memory.c
-@@ -36,11 +36,10 @@
-  *
-  * The program is designed to test the two tunables:
-  *
-- * When overcommit_memory = 0, allocatable memory can't overextends
-- * the amount of free memory. I choose the three cases:
-+ * When overcommit_memory = 0, allocatable memory can't overextend
-+ * the amount of total memory:
-  * a. less than free_total:    free_total / 2, alloc should pass.
-- * b. greater than free_total: free_total * 2, alloc should fail.
-- * c. equal to sum_total:      sum_tatal,      alloc should fail
-+ * b. greater than sum_total:   sum_total * 2, alloc should fail.
-  *
-  * When overcommit_memory = 1, it can alloc enough much memory, I
-  * choose the three cases:
-@@ -164,9 +163,7 @@ static void overcommit_memory_test(void)
- 
- 	update_mem();
- 	alloc_and_check(free_total / 2, EXPECT_PASS);
--	update_mem();
--	alloc_and_check(free_total * 2, EXPECT_FAIL);
--	alloc_and_check(sum_total, EXPECT_FAIL);
-+	alloc_and_check(sum_total * 2, EXPECT_FAIL);
- 
- 	/* start to test overcommit_memory=1 */
- 	set_sys_tune("overcommit_memory", 1, 1);
--- 
-2.7.4
-
diff --git a/meta/recipes-extended/ltp/ltp/0001-syscall-rt_sigtimedwait01-Fix-wrong-sigset-length-fo.patch b/meta/recipes-extended/ltp/ltp/0001-syscall-rt_sigtimedwait01-Fix-wrong-sigset-length-fo.patch
deleted file mode 100644
index 0e56c08255e..00000000000
--- a/meta/recipes-extended/ltp/ltp/0001-syscall-rt_sigtimedwait01-Fix-wrong-sigset-length-fo.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From a5046625eaeed2d3fba456c3ba84c6c141c2ad7c Mon Sep 17 00:00:00 2001
-From: He Zhe <zhe.he@windriver.com>
-Date: Thu, 29 Aug 2019 21:09:46 +0800
-Subject: [PATCH] syscall/rt_sigtimedwait01: Fix wrong sigset length for MIPS
-
-rt_sigtimedwait01 fails as follow on MIPS arches
-rt_sigtimedwait01    1  TFAIL  :  .../sigwaitinfo01.c:58: test_empty_set
-(.../sigwaitinfo01.c: 148): Unexpected failure:
-TEST_ERRNO=EINVAL(22): Invalid argument
-
-As this case purposely bypasses glibc, it should align with the size of kernel
-definition of sigset_t which is different from other arches.
-https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch/mips/include/uapi/asm/signal.h#n15
-
-This patch turns to use _NSIG which is always right for all arches.
-
-Upstream-Status: Backport [a5046625eaeed2d3fba456c3ba84c6c141c2ad7c]
-
-Suggested-by: Jan Stancek <jstancek@redhat.com>
-Acked-by: Jan Stancek <jstancek@redhat.com>
-Acked-by: Cyril Hrubis <chrubis@suse.cz>
-Signed-off-by: He Zhe <zhe.he@windriver.com>
-Signed-off-by: Petr Vorel <pvorel@suse.cz>
----
- testcases/kernel/syscalls/sigwaitinfo/sigwaitinfo01.c | 5 ++---
- 1 file changed, 2 insertions(+), 3 deletions(-)
-
-diff --git a/testcases/kernel/syscalls/sigwaitinfo/sigwaitinfo01.c b/testcases/kernel/syscalls/sigwaitinfo/sigwaitinfo01.c
-index 5a32ce1..6a30c27 100644
---- a/testcases/kernel/syscalls/sigwaitinfo/sigwaitinfo01.c
-+++ b/testcases/kernel/syscalls/sigwaitinfo/sigwaitinfo01.c
-@@ -128,9 +128,8 @@ static int my_sigtimedwait(const sigset_t * set, siginfo_t * info,
- static int my_rt_sigtimedwait(const sigset_t * set, siginfo_t * info,
- 			      struct timespec *timeout)
- {
--
--	/* The last argument is (number_of_signals)/(bits_per_byte), which are 64 and 8, resp. */
--	return ltp_syscall(__NR_rt_sigtimedwait, set, info, timeout, 8);
-+	/* _NSIG is always the right number of bits of signal map for all arches */
-+	return ltp_syscall(__NR_rt_sigtimedwait, set, info, timeout, _NSIG/8);
- }
- #endif
- 
--- 
-2.7.4
-
diff --git a/meta/recipes-extended/ltp/ltp/0001-syscalls-tgkill03-wait-for-defunct-tid-to-get-detach.patch b/meta/recipes-extended/ltp/ltp/0001-syscalls-tgkill03-wait-for-defunct-tid-to-get-detach.patch
deleted file mode 100644
index 6ea26150fbf..00000000000
--- a/meta/recipes-extended/ltp/ltp/0001-syscalls-tgkill03-wait-for-defunct-tid-to-get-detach.patch
+++ /dev/null
@@ -1,75 +0,0 @@
-From e747d0456adc080a1d31fb653bda9dc491795c80 Mon Sep 17 00:00:00 2001
-From: Jan Stancek <jstancek@redhat.com>
-Date: Sun, 16 Jun 2019 11:14:16 +0200
-Subject: [PATCH] syscalls/tgkill03: wait for defunct tid to get detached
-
-Case where defunct tid is used has been observed to sporadically fail:
-  tgkill03.c:96: FAIL: Defunct tid should have failed with ESRCH: SUCCESS
-
-glibc __pthread_timedjoin_ex() waits for CLONE_CHILD_CLEARTID to clear tid,
-and then resumes. Kernel clears it (glibc pd->tid) at:
-  do_exit
-    exit_mm
-      mm_release
-        put_user(0, tsk->clear_child_tid);
-
-but kernel tid is still valid, presumably until:
-  release_task
-    __exit_signal
-      __unhash_process
-        detach_pid
-
-To avoid race wait until /proc/<pid>/task/<tid> disappears.
-
-Signed-off-by: Jan Stancek <jstancek@redhat.com>
-Reviewed-by: Li Wang <liwang@redhat.com>
-Acked-by: Sumit Garg <sumit.garg@linaro.org>
-
-Upstream-Status: Backport
-[https://github.com/linux-test-project/ltp/commit/e747d0456adc080a1d31fb653bda9dc491795c80]
-
-Signed-off-by: He Zhe <zhe.he@windriver.com>
----
- testcases/kernel/syscalls/tgkill/tgkill03.c | 6 +++++-
- 1 file changed, 5 insertions(+), 1 deletion(-)
-
-diff --git a/testcases/kernel/syscalls/tgkill/tgkill03.c b/testcases/kernel/syscalls/tgkill/tgkill03.c
-index f5bbdc5..593a217 100644
---- a/testcases/kernel/syscalls/tgkill/tgkill03.c
-+++ b/testcases/kernel/syscalls/tgkill/tgkill03.c
-@@ -7,6 +7,7 @@
- 
- #include <pthread.h>
- #include <pwd.h>
-+#include <stdio.h>
- #include <sys/types.h>
- 
- #include "tst_safe_pthread.h"
-@@ -42,6 +43,7 @@ static void setup(void)
- {
- 	sigset_t sigusr1;
- 	pthread_t defunct_thread;
-+	char defunct_tid_path[PATH_MAX];
- 
- 	sigemptyset(&sigusr1);
- 	sigaddset(&sigusr1, SIGUSR1);
-@@ -55,8 +57,9 @@ static void setup(void)
- 	TST_CHECKPOINT_WAIT(0);
- 
- 	SAFE_PTHREAD_CREATE(&defunct_thread, NULL, defunct_thread_func, NULL);
--
- 	SAFE_PTHREAD_JOIN(defunct_thread, NULL);
-+	sprintf(defunct_tid_path, "/proc/%d/task/%d", getpid(), defunct_tid);
-+	TST_RETRY_FN_EXP_BACKOFF(access(defunct_tid_path, R_OK), -1, 15);
- }
- 
- static void cleanup(void)
-@@ -108,4 +111,5 @@ static struct tst_test test = {
- 	.setup = setup,
- 	.cleanup = cleanup,
- 	.test = run,
-+	.timeout = 20,
- };
--- 
-2.7.4
-
diff --git a/meta/recipes-extended/ltp/ltp/0001-testcases-fix-an-absent-format-string-issue.patch b/meta/recipes-extended/ltp/ltp/0001-testcases-fix-an-absent-format-string-issue.patch
new file mode 100644
index 00000000000..93308445098
--- /dev/null
+++ b/meta/recipes-extended/ltp/ltp/0001-testcases-fix-an-absent-format-string-issue.patch
@@ -0,0 +1,24 @@
+From 476ce907fa18042cdde0a244ba9a46cd895ce76c Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Thu, 12 Dec 2019 17:56:02 +0100
+Subject: [PATCH] testcases: fix an absent format string issue
+
+Upstream-Status: Pending
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ .../kernel/syscalls/pidfd_send_signal/pidfd_send_signal03.c     | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/testcases/kernel/syscalls/pidfd_send_signal/pidfd_send_signal03.c b/testcases/kernel/syscalls/pidfd_send_signal/pidfd_send_signal03.c
+index 27dbc6626..19d943d06 100644
+--- a/testcases/kernel/syscalls/pidfd_send_signal/pidfd_send_signal03.c
++++ b/testcases/kernel/syscalls/pidfd_send_signal/pidfd_send_signal03.c
+@@ -59,7 +59,7 @@ static void verify_pidfd_send_signal(void)
+ 
+ 		/* Manipulate PID for next process */
+ 		sprintf(pid_str, "%d", pid - 1);
+-		SAFE_FILE_PRINTF(last_pid_file, pid_str);
++		SAFE_FILE_PRINTF(last_pid_file, "%s", pid_str);
+ 
+ 		new_pid = SAFE_FORK();
+ 		if (new_pid == 0) {
diff --git a/meta/recipes-extended/ltp/ltp/0001-testcases-use-python3-everywhere-to-run-python-scrip.patch b/meta/recipes-extended/ltp/ltp/0001-testcases-use-python3-everywhere-to-run-python-scrip.patch
deleted file mode 100644
index f4f87f38ab7..00000000000
--- a/meta/recipes-extended/ltp/ltp/0001-testcases-use-python3-everywhere-to-run-python-scrip.patch
+++ /dev/null
@@ -1,161 +0,0 @@
-From 0463d793566772a606255957915f99d166d5740c Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Wed, 28 Aug 2019 18:30:23 +0200
-Subject: [PATCH] testcases: use python3 everywhere to run python scripts
-
-The scripts themselves have #!/usr/bin/python3 in them,
-so I trust they are already py3-compatible.
-
-Upstream-Status: Pending
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
----
- testcases/kernel/power_management/runpwtests05.sh  |  2 +-
- .../power_management/runpwtests_exclusive01.sh     |  2 +-
- .../power_management/runpwtests_exclusive02.sh     |  2 +-
- .../power_management/runpwtests_exclusive03.sh     |  2 +-
- .../power_management/runpwtests_exclusive04.sh     |  2 +-
- .../power_management/runpwtests_exclusive05.sh     |  2 +-
- testcases/network/nfsv4/acl/runtest                | 14 +++++++-------
- testcases/realtime/func/pi-tests/run_auto.sh       |  6 +++---
- 8 files changed, 16 insertions(+), 16 deletions(-)
-
-diff --git a/testcases/kernel/power_management/runpwtests05.sh b/testcases/kernel/power_management/runpwtests05.sh
-index 8a7d0f6e0..43e234d01 100755
---- a/testcases/kernel/power_management/runpwtests05.sh
-+++ b/testcases/kernel/power_management/runpwtests05.sh
-@@ -35,7 +35,7 @@ else
- 	max_sched_smt=1
- fi
- 
--tst_test_cmds python
-+tst_test_cmds python3
- 
- if ! grep sched_debug -qw /proc/cmdline ; then
- 	tst_brkm TCONF "Kernel cmdline parameter 'sched_debug' needed," \
-diff --git a/testcases/kernel/power_management/runpwtests_exclusive01.sh b/testcases/kernel/power_management/runpwtests_exclusive01.sh
-index ec78319e2..9fefcbf6e 100755
---- a/testcases/kernel/power_management/runpwtests_exclusive01.sh
-+++ b/testcases/kernel/power_management/runpwtests_exclusive01.sh
-@@ -35,7 +35,7 @@ else
- 	max_sched_smt=1
- fi
- 
--tst_test_cmds python
-+tst_test_cmds python3
- 
- hyper_threaded=$(is_hyper_threaded)
- multi_socket=$(is_multi_socket)
-diff --git a/testcases/kernel/power_management/runpwtests_exclusive02.sh b/testcases/kernel/power_management/runpwtests_exclusive02.sh
-index e107fce35..2cd0ecb05 100755
---- a/testcases/kernel/power_management/runpwtests_exclusive02.sh
-+++ b/testcases/kernel/power_management/runpwtests_exclusive02.sh
-@@ -33,7 +33,7 @@ else
- 	max_sched_smt=1
- fi
- 
--tst_test_cmds python
-+tst_test_cmds python3
- 
- hyper_threaded=$(is_hyper_threaded)
- multi_socket=$(is_multi_socket)
-diff --git a/testcases/kernel/power_management/runpwtests_exclusive03.sh b/testcases/kernel/power_management/runpwtests_exclusive03.sh
-index 490344bb3..ab3a5d11d 100755
---- a/testcases/kernel/power_management/runpwtests_exclusive03.sh
-+++ b/testcases/kernel/power_management/runpwtests_exclusive03.sh
-@@ -35,7 +35,7 @@ else
- 	max_sched_smt=1
- fi
- 
--tst_test_cmds python
-+tst_test_cmds python3
- 
- hyper_threaded=$(is_hyper_threaded)
- multi_socket=$(is_multi_socket)
-diff --git a/testcases/kernel/power_management/runpwtests_exclusive04.sh b/testcases/kernel/power_management/runpwtests_exclusive04.sh
-index 978ca02ae..438ef603f 100755
---- a/testcases/kernel/power_management/runpwtests_exclusive04.sh
-+++ b/testcases/kernel/power_management/runpwtests_exclusive04.sh
-@@ -27,7 +27,7 @@ export TST_TOTAL=2
- # Checking test environment
- check_kervel_arch
- 
--tst_test_cmds python
-+tst_test_cmds python3
- 
- hyper_threaded=$(is_hyper_threaded)
- multi_socket=$(is_multi_socket)
-diff --git a/testcases/kernel/power_management/runpwtests_exclusive05.sh b/testcases/kernel/power_management/runpwtests_exclusive05.sh
-index a0dad5834..3a9afdbf2 100755
---- a/testcases/kernel/power_management/runpwtests_exclusive05.sh
-+++ b/testcases/kernel/power_management/runpwtests_exclusive05.sh
-@@ -35,7 +35,7 @@ else
- 	max_sched_smt=1
- fi
- 
--tst_test_cmds python
-+tst_test_cmds python3
- 
- hyper_threaded=$(is_hyper_threaded)
- multi_socket=$(is_multi_socket)
-diff --git a/testcases/network/nfsv4/acl/runtest b/testcases/network/nfsv4/acl/runtest
-index d2e1b4c49..a859e85bc 100755
---- a/testcases/network/nfsv4/acl/runtest
-+++ b/testcases/network/nfsv4/acl/runtest
-@@ -22,7 +22,7 @@ do
- done
- 
- #  creation of users on the remote machine (removed only at the end of the tests)
--rsh -n $REMOTEHOST python $PWD/create_users.py -u 50 -g 50
-+rsh -n $REMOTEHOST python3 $PWD/create_users.py -u 50 -g 50
- 
- echo "Starting ACL testing"
- 
-@@ -51,19 +51,19 @@ echo "Basic tests finished"
- 
- echo "LONG ACL TEST"
- echo "creating necessary users and groups"
--python create_users.py -u 50 -g 50
-+python3 create_users.py -u 50 -g 50
- echo "creating necessary users and groups on the remote host"
- mkdir $NFSMNTDIR/lacl-testdir
--python test_long_acl.py -l $MAXLENGTH -p $NFSMNTDIR/lacl-testdir
-+python3 test_long_acl.py -l $MAXLENGTH -p $NFSMNTDIR/lacl-testdir
- rm -rf $NFSMNTDIR/lacl-testdir
- echo "Long ACL test OK with $MAXLENGTH entries"
- echo "ACL STRESSING TEST"
--python setacl_stress.py -n 100 -u $USER_NB -g $GRP_NB -f $FILE_NB -p $NFSMNTDIR
-+python3 setacl_stress.py -n 100 -u $USER_NB -g $GRP_NB -f $FILE_NB -p $NFSMNTDIR
- 
- # remove local an remote users
--python cleanusers.py
--python cleangroups.py
--rsh -n $REMOTEHOST python $PWD/cleanusers.py
-+python3 cleanusers.py
-+python3 cleangroups.py
-+rsh -n $REMOTEHOST python3 $PWD/cleanusers.py
- 
- echo "Test OK"
- 
-diff --git a/testcases/realtime/func/pi-tests/run_auto.sh b/testcases/realtime/func/pi-tests/run_auto.sh
-index d13026049..277988568 100755
---- a/testcases/realtime/func/pi-tests/run_auto.sh
-+++ b/testcases/realtime/func/pi-tests/run_auto.sh
-@@ -15,15 +15,15 @@ $SCRIPTS_DIR/run_c_files.sh $profile testpi-0
- 
- export LOG_FILE="$LOG_DIR/$LOG_FORMAT-testpi-1.log"
- $SCRIPTS_DIR/run_c_files.sh $profile testpi-1
--PYTHONPATH=../../  python parse-testpi1.py $LOG_FILE 2>&1 | tee -a $LOG_FILE
-+PYTHONPATH=../../  python3 parse-testpi1.py $LOG_FILE 2>&1 | tee -a $LOG_FILE
- 
- export LOG_FILE="$LOG_DIR/$LOG_FORMAT-testpi-2.log"
- $SCRIPTS_DIR/run_c_files.sh $profile testpi-2
--PYTHONPATH=../../  python parse-testpi2.py $LOG_FILE 2>&1 | tee -a $LOG_FILE
-+PYTHONPATH=../../  python3 parse-testpi2.py $LOG_FILE 2>&1 | tee -a $LOG_FILE
- 
- export LOG_FILE="$LOG_DIR/$LOG_FORMAT-testpi-4.log"
- $SCRIPTS_DIR/run_c_files.sh $profile testpi-4
--PYTHONPATH=../../  python parse-testpi1.py $LOG_FILE 2>&1 | tee -a $LOG_FILE
-+PYTHONPATH=../../  python3 parse-testpi1.py $LOG_FILE 2>&1 | tee -a $LOG_FILE
- 
- 
- export LOG_FILE=""
diff --git a/meta/recipes-extended/ltp/ltp/0001-ustat02-Fix-EFAULT-in-32bit-compatibility-mode.patch b/meta/recipes-extended/ltp/ltp/0001-ustat02-Fix-EFAULT-in-32bit-compatibility-mode.patch
deleted file mode 100644
index c936b788fe1..00000000000
--- a/meta/recipes-extended/ltp/ltp/0001-ustat02-Fix-EFAULT-in-32bit-compatibility-mode.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From 156776a3e29491b363fdc9811912e1298655d060 Mon Sep 17 00:00:00 2001
-From: Steven Price <steven.price@arm.com>
-Date: Fri, 19 Jul 2019 13:48:17 +0100
-Subject: [PATCH] ustat02: Fix EFAULT in 32bit compatibility mode
-
-The size of dev_t is larger than 32 bits which causes the dev argument
-to be passed incorrectly. On Arm this means that the EFAULT test case
-actually returns EINVAL because the device number isn't recognised.
-
-Signed-off-by: Steven Price <steven.price@arm.com>
-Acked-by: Li Wang <liwang@redhat.com>
-
-Upstream-Status: Backport
-[https://github.com/linux-test-project/ltp/commit/156776a3e29491b363fdc9811912e1298655d060]
-
-Signed-off-by: He Zhe <zhe.he@windriver.com>
----
- testcases/kernel/syscalls/ustat/ustat02.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/testcases/kernel/syscalls/ustat/ustat02.c b/testcases/kernel/syscalls/ustat/ustat02.c
-index 9bbe4f3..1a0e9e0 100644
---- a/testcases/kernel/syscalls/ustat/ustat02.c
-+++ b/testcases/kernel/syscalls/ustat/ustat02.c
-@@ -36,7 +36,7 @@ int TST_TOTAL = ARRAY_SIZE(tc);
- 
- void run(unsigned int test)
- {
--	TEST(tst_syscall(__NR_ustat, *tc[test].dev, tc[test].buf));
-+	TEST(tst_syscall(__NR_ustat, (unsigned int)*tc[test].dev, tc[test].buf));
- 
- 	if ((TST_RET == -1) && (TST_ERR == tc[test].exp_errno))
- 		tst_res(TPASS | TTERRNO, "ustat(2) expected failure");
--- 
-2.7.4
-
diff --git a/meta/recipes-extended/ltp/ltp/0002-check-for-RES_USE_INET6-during-configure.patch b/meta/recipes-extended/ltp/ltp/0002-check-for-RES_USE_INET6-during-configure.patch
deleted file mode 100644
index 12e47eb2b61..00000000000
--- a/meta/recipes-extended/ltp/ltp/0002-check-for-RES_USE_INET6-during-configure.patch
+++ /dev/null
@@ -1,68 +0,0 @@
-From 7bc134545b7beb09717a60541530c20a1a5740d3 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 26 Jul 2019 10:55:28 -0700
-Subject: [PATCH 2/2] check for RES_USE_INET6 during configure
-
-glibc 2.30 has remove RES_USE_INET6 define which has been on its way out
-since 2.26 release, this check ensures that we detect it before using it
-
-Upstream-Status: Submitted [http://lists.linux.it/pipermail/ltp/2019-July/012955.html]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- configure.ac                                        | 13 +++++++++++++
- testcases/network/multicast/mc_gethost/mc_gethost.c |  6 ++++++
- 2 files changed, 19 insertions(+)
-
-diff --git a/configure.ac b/configure.ac
-index 2255b5c181..ed7acccb01 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -91,6 +91,19 @@ AC_CHECK_FUNCS([ \
-     vmsplice \
- ])
- 
-+#check defines
-+AC_MSG_CHECKING([for RES_USE_INET6])
-+AC_COMPILE_IFELSE( [AC_LANG_PROGRAM([[#include <resolv.h>]],
-+  [[char dummy[RES_USE_INET6];]])],
-+  [
-+    AC_MSG_RESULT([yes])
-+    AC_DEFINE_UNQUOTED([HAVE_RES_USE_INET6], 1, [Define to 1 if you have the RES_USE_INET6 macro.])
-+  ],
-+  [
-+    AC_MSG_RESULT([no])
-+    AC_DEFINE_UNQUOTED([HAVE_RES_USE_INET6], 0, [Define to 1 if you have the RES_USE_INET6 macro.])
-+  ]
-+)
- # Tools knobs
- 
- # Expect
-diff --git a/testcases/network/multicast/mc_gethost/mc_gethost.c b/testcases/network/multicast/mc_gethost/mc_gethost.c
-index 9cc15d086b..d1cae5441a 100644
---- a/testcases/network/multicast/mc_gethost/mc_gethost.c
-+++ b/testcases/network/multicast/mc_gethost/mc_gethost.c
-@@ -17,6 +17,8 @@
- #include <string.h>
- #include <stdlib.h>
- 
-+#include "config.h"
-+
- #ifndef LOG_PERROR
- #define LOG_PERROR 0
- #endif
-@@ -50,8 +52,12 @@ usage:
- 		argv++, argc--;
- 	}
- 	if (argc >= 1 && !strcmp(*argv, "-6")) {
-+#if HAVE_RES_USE_INET6
- 		af = AF_INET6, size = IN6ADDRSZ;
- 		_res.options |= RES_USE_INET6;
-+#else
-+		af = AF_INET, size = INADDRSZ;
-+#endif
- 		argv++, argc--;
- 	}
- 	if (argc >= 1 && !strcmp(*argv, "-f")) {
--- 
-2.22.0
-
diff --git a/meta/recipes-extended/ltp/ltp/0003-Check-if-__GLIBC_PREREQ-is-defined-before-using-it.patch b/meta/recipes-extended/ltp/ltp/0003-Check-if-__GLIBC_PREREQ-is-defined-before-using-it.patch
index c0f69ecf5fc..df3e8831f54 100644
--- a/meta/recipes-extended/ltp/ltp/0003-Check-if-__GLIBC_PREREQ-is-defined-before-using-it.patch
+++ b/meta/recipes-extended/ltp/ltp/0003-Check-if-__GLIBC_PREREQ-is-defined-before-using-it.patch
@@ -1,4 +1,4 @@
-From 29ce9fdab3bd34e69d73b5b890795559c06553f7 Mon Sep 17 00:00:00 2001
+From 1ce47a6ed811fd78ed04ea2f82e6321c6bca57b6 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Thu, 7 Jan 2016 19:40:08 +0000
 Subject: [PATCH] Check if __GLIBC_PREREQ is defined before using it
@@ -10,16 +10,17 @@ Upstream-Status: Pending
 
 Signed-off-by: Khem Raj <raj.khem@gmail.com>
 Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
+
 ---
  testcases/kernel/syscalls/accept4/accept4_01.c | 7 +++++++
  1 file changed, 7 insertions(+)
 
 diff --git a/testcases/kernel/syscalls/accept4/accept4_01.c b/testcases/kernel/syscalls/accept4/accept4_01.c
-index dd289cf..76aa969 100644
+index 29e18f27d..07444a46f 100644
 --- a/testcases/kernel/syscalls/accept4/accept4_01.c
 +++ b/testcases/kernel/syscalls/accept4/accept4_01.c
 @@ -38,6 +38,7 @@
- static struct sockaddr_in conn_addr;
+ static struct sockaddr_in *conn_addr, *accept_addr;
  static int listening_fd;
  
 +#if defined(__GLIBC__) && defined(__GLIBC_PREREQ)
@@ -34,25 +35,21 @@ index dd289cf..76aa969 100644
  
  static int create_listening_socket(void)
  {
-@@ -115,6 +117,7 @@ static void verify_accept4(unsigned int nr)
- 	SAFE_CONNECT(connfd, (struct sockaddr *)&conn_addr, sizeof(conn_addr));
- 	addrlen = sizeof(claddr);
+@@ -114,12 +116,17 @@ static void verify_accept4(unsigned int nr)
+ 	SAFE_CONNECT(connfd, (struct sockaddr *)conn_addr, sizeof(*conn_addr));
+ 	addrlen = sizeof(*accept_addr);
  
 +#if defined(__GLIBC__) && defined(__GLIBC_PREREQ)
  #if !(__GLIBC_PREREQ(2, 10))
- 	TEST(accept4_01(listening_fd, (struct sockaddr *)&claddr, &addrlen,
+ 	TEST(accept4_01(listening_fd, (struct sockaddr *)accept_addr, &addrlen,
  				tcase->cloexec | tcase->nonblock));
-@@ -122,6 +125,10 @@ static void verify_accept4(unsigned int nr)
- 	TEST(accept4(listening_fd, (struct sockaddr *)&claddr, &addrlen,
+ #else
+ 	TEST(accept4(listening_fd, (struct sockaddr *)accept_addr, &addrlen,
  				tcase->cloexec | tcase->nonblock));
- #endif
++#endif
 +#else
 +	TEST(accept4(listening_fd, (struct sockaddr *)&claddr, &addrlen,
 +				tcase->cloexec | tcase->nonblock));
-+#endif
+ #endif
  	if (TST_RET == -1) {
  		if (TST_ERR == ENOSYS)
- 			tst_brk(TCONF, "syscall __NR_accept4 not supported");
--- 
-2.7.4
-
diff --git a/meta/recipes-extended/ltp/ltp/0010-shmctl01-don-t-use-hardcoded-index-0-for-SHM_STAT-te.patch b/meta/recipes-extended/ltp/ltp/0010-shmctl01-don-t-use-hardcoded-index-0-for-SHM_STAT-te.patch
deleted file mode 100644
index 8704e5ffe8a..00000000000
--- a/meta/recipes-extended/ltp/ltp/0010-shmctl01-don-t-use-hardcoded-index-0-for-SHM_STAT-te.patch
+++ /dev/null
@@ -1,82 +0,0 @@
-From 794933b38354a2612cf2c471f11798b306f35315 Mon Sep 17 00:00:00 2001
-From: Jan Stancek <jstancek@redhat.com>
-Date: Mon, 20 May 2019 20:47:20 +0200
-Subject: [PATCH] shmctl01: don't use hardcoded index == 0 for SHM_STAT test
-
-Test fails on SHM_STAT testcase:
-   shmctl01    5  TFAIL  :  shmctl01.c:173: shmctl01 call failed
-                            errno = 22 : Invalid argument
-   shmctl(0, SHM_STAT, 0x601060)           = -EINVAL
-
-since following commit:
-   commit 99db46ea292780cd978d56932d9445b1e8bdafe8
-   Author: Manfred Spraul <manfred@colorfullife.com>
-   Date:   Tue May 14 15:46:36 2019 -0700
-     ipc: do cyclic id allocation for the ipc object.
-
-Don't rely on index 0 being always available, but instead
-use (maximum) index returned by SHM_INFO.
-
-Signed-off-by: Jan Stancek <jstancek@redhat.com>
-Reviewed-by: Petr Vorel <pvorel@suse.cz>
-Acked-by: Cyril Hrubis <chrubis@suse.cz>
-
-Upstream-Status: Backport
-[https://github.com/linux-test-project/ltp/commit/db0a43d9388be2c347a8306751bbe6bec086d062]
-
-Signed-off-by: Hongzhi Song <hongzhi.song@windriver.com>
-Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
----
- testcases/kernel/syscalls/ipc/shmctl/shmctl01.c | 21 ++++++++++++++++++---
- 1 file changed, 18 insertions(+), 3 deletions(-)
-
-diff --git a/testcases/kernel/syscalls/ipc/shmctl/shmctl01.c b/testcases/kernel/syscalls/ipc/shmctl/shmctl01.c
-index 1b46977..52bf23a 100644
---- a/testcases/kernel/syscalls/ipc/shmctl/shmctl01.c
-+++ b/testcases/kernel/syscalls/ipc/shmctl/shmctl01.c
-@@ -79,6 +79,7 @@ static void func_info(int ret);
- 
- /* Check routine for SHM_STAT */
- static void func_sstat(int ret);
-+static void func_sstat_setup(void);
- 
- /* Check routine for SHM_LOCK */
- static void func_lock(int ret);
-@@ -110,7 +111,7 @@ static struct test_case_t {
- #endif
- 	{&shm_id_1, IPC_SET, &buf, func_set, set_setup},
- 	{&shm_id_1, IPC_INFO, (struct shmid_ds *) &info, func_info, NULL},
--	{&shm_index, SHM_STAT, &buf, func_sstat, NULL},
-+	{&shm_index, SHM_STAT, &buf, func_sstat, func_sstat_setup},
- 	{&shm_id_1, SHM_LOCK, NULL, func_lock, NULL},
- 	{&shm_id_1, SHM_UNLOCK, NULL, func_unlock, NULL},
- 	{&shm_id_1, IPC_RMID, NULL, func_rmid, NULL},
-@@ -407,9 +408,23 @@ static void func_info(int ret)
- static void func_sstat(int ret)
- {
- 	if (ret >= 0)
--		tst_resm(TPASS, "get correct shared memory id");
-+		tst_resm(TPASS, "get correct shared memory id for index: %d",
-+			shm_index);
- 	else
--		tst_resm(TFAIL, "shared memory id is incorrect");
-+		tst_resm(TFAIL, "shared memory id is incorrect, index: %d",
-+			shm_index);
-+}
-+
-+static void func_sstat_setup(void)
-+{
-+	struct shm_info tmp;
-+	int ret;
-+
-+	ret = shmctl(shm_id_1, SHM_INFO, (void *)&tmp);
-+	if (ret < 0)
-+		tst_resm(TFAIL|TERRNO, "shmctl(SHM_INFO)");
-+	else
-+		shm_index = ret;
- }
- 
- static void func_lock(int ret)
--- 
-2.7.4
-
diff --git a/meta/recipes-extended/ltp/ltp/0011-direct_io-diotest4-drop-MAP_FIXED.patch b/meta/recipes-extended/ltp/ltp/0011-direct_io-diotest4-drop-MAP_FIXED.patch
deleted file mode 100644
index 9cd188f6567..00000000000
--- a/meta/recipes-extended/ltp/ltp/0011-direct_io-diotest4-drop-MAP_FIXED.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-From f210d7e19b721041f31b7f258a169f89dc850303 Mon Sep 17 00:00:00 2001
-From: Jan Stancek <jstancek@redhat.com>
-Date: Thu, 4 Jul 2019 16:45:23 +0200
-Subject: [PATCH] direct_io/diotest4: drop MAP_FIXED
-
-Hongzhi reports that this test is failing on mips64 with 5.1+:
-  diotest4 10 TBROK : diotest4.c:368: can't mmap file: Invalid argument
-  diotest4 11 TBROK : diotest4.c:368: Remaining cases broken
-I could reproduce it on emulated 5kc-malta, running 5.2.0-rc7.
-
-Test is trying to map into area immediately following heap as MAP_SHARED,
-but it used wrong alignment (fixed by 'lapi/mmap.h: include config.h').
-
-Usage of MAP_FIXED seems unnecessary, so drop that too and let the kernel
-pick an address.
-
-Reported-by: Hongzhi.Song <hongzhi.song@windriver.com>
-Signed-off-by: Jan Stancek <jstancek@redhat.com>
-Acked-by: Cyril Hrubis <chrubis@suse.cz>
-
-Upstream-Status: Backport
-[https://github.com/linux-test-project/ltp/commit/f5444eeeabf252b8884b9465d277b6af853819e3]
-
-Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
----
- testcases/kernel/io/direct_io/diotest4.c | 8 ++------
- 1 file changed, 2 insertions(+), 6 deletions(-)
-
-diff --git a/testcases/kernel/io/direct_io/diotest4.c b/testcases/kernel/io/direct_io/diotest4.c
-index e4616e4..bf200cd 100644
---- a/testcases/kernel/io/direct_io/diotest4.c
-+++ b/testcases/kernel/io/direct_io/diotest4.c
-@@ -352,18 +352,14 @@ int main(int argc, char *argv[])
- 	total++;
- 
- 	/* Test-10: read, write to a mmaped file */
--	shm_base = (char *)(((long)sbrk(0) + (shmsz - 1)) & ~(shmsz - 1));
--	if (shm_base == NULL) {
--		tst_brkm(TBROK, cleanup, "sbrk failed: %s", strerror(errno));
--	}
- 	offset = 4096;
- 	count = bufsize;
- 	if ((fd = open(filename, O_DIRECT | O_RDWR)) < 0) {
- 		tst_brkm(TBROK, cleanup, "can't open %s: %s",
- 			 filename, strerror(errno));
- 	}
--	shm_base = mmap(shm_base, 0x100000, PROT_READ | PROT_WRITE,
--			MAP_SHARED | MAP_FIXED, fd, 0);
-+	shm_base = mmap(0, 0x100000, PROT_READ | PROT_WRITE,
-+			MAP_SHARED, fd, 0);
- 	if (shm_base == (caddr_t) - 1) {
- 		tst_brkm(TBROK, cleanup, "can't mmap file: %s",
- 			 strerror(errno));
--- 
-2.7.4
-
diff --git a/meta/recipes-extended/ltp/ltp/0012-getrlimit03-adjust-a-bit-of-code-to-compatiable-with.patch b/meta/recipes-extended/ltp/ltp/0012-getrlimit03-adjust-a-bit-of-code-to-compatiable-with.patch
deleted file mode 100644
index aecbc80e9b5..00000000000
--- a/meta/recipes-extended/ltp/ltp/0012-getrlimit03-adjust-a-bit-of-code-to-compatiable-with.patch
+++ /dev/null
@@ -1,64 +0,0 @@
-From 4ac747c1f7ff8e2ec2567d6672822e95a9b56e55 Mon Sep 17 00:00:00 2001
-From: "Hongzhi.Song" <hongzhi.song@windriver.com>
-Date: Mon, 15 Jul 2019 03:39:06 -0400
-Subject: [PATCH] getrlimit03: adjust a bit of code to compatiable with mips32
-
-Error info:
-getrlimit03.c:104: FAIL: __NR_prlimit64(0) had rlim_cur =
-ffffffffffffffff but __NR_getrlimit(0) had rlim_cur = 7fffffff
-
-According to kernel code: [arch/mips/include/uapi/asm/resource.h]
-RLIM_INFINITY is set to 0x7fffffffUL instead of ULONG_MAX on mips32.
-
- /*
- * SuS says limits have to be unsigned.
- * Which makes a ton more sense anyway,
- * but we keep the old value on MIPS32,
- * for compatibility:
- */
- #ifndef __mips64
- # define RLIM_INFINITY      0x7fffffffUL
- #endif
-
-Adding conditional statement about mips to fix this.
-
-Signed-off-by: Jan Stancek <jstancek@redhat.com>
-Signed-off-by: Hongzhi.Song <hongzhi.song@windriver.com>
-
-Upstream-Status: Backport
-[https://github.com/linux-test-project/ltp/commit/7a3bca63cd7f059d490b6274f0fdf3247be93fde]
-
-Signed-off-by: Hongzhi.Song <hongzhi.song@windriver.com>
----
- testcases/kernel/syscalls/getrlimit/getrlimit03.c | 8 +++++++-
- 1 file changed, 7 insertions(+), 1 deletion(-)
-
-diff --git a/testcases/kernel/syscalls/getrlimit/getrlimit03.c b/testcases/kernel/syscalls/getrlimit/getrlimit03.c
-index e4d56c4..319bc49 100644
---- a/testcases/kernel/syscalls/getrlimit/getrlimit03.c
-+++ b/testcases/kernel/syscalls/getrlimit/getrlimit03.c
-@@ -26,6 +26,7 @@
- 
- #include "tst_test.h"
- #include "lapi/syscalls.h"
-+#include "lapi/abisize.h"
- 
- /**
-  * Linux provides an "old" getrlimit syscall handler that uses signed long,
-@@ -61,7 +62,12 @@ struct rlimit_ulong {
- 	unsigned long rlim_cur;
- 	unsigned long rlim_max;
- };
--const unsigned long RLIM_INFINITY_UL = ULONG_MAX;
-+
-+#if defined(__mips__) && defined(TST_ABI32)
-+	const unsigned long RLIM_INFINITY_UL = 0x7fffffffUL;
-+#else
-+	const unsigned long RLIM_INFINITY_UL = ULONG_MAX;
-+#endif
- 
- static int getrlimit_ulong(int resource, struct rlimit_ulong *rlim)
- {
--- 
-2.7.4
-
diff --git a/meta/recipes-extended/ltp/ltp_20190517.bb b/meta/recipes-extended/ltp/ltp_20190930.bb
similarity index 84%
rename from meta/recipes-extended/ltp/ltp_20190517.bb
rename to meta/recipes-extended/ltp/ltp_20190930.bb
index 60f749b4c01..9a436a52303 100644
--- a/meta/recipes-extended/ltp/ltp_20190517.bb
+++ b/meta/recipes-extended/ltp/ltp_20190930.bb
@@ -27,7 +27,7 @@ CFLAGS_append_x86-64 = " -fomit-frame-pointer"
 
 CFLAGS_append_powerpc64 = " -D__SANE_USERSPACE_TYPES__"
 CFLAGS_append_mipsarchn64 = " -D__SANE_USERSPACE_TYPES__"
-SRCREV = "ac33ef87f0b9dc56533026435be3ea8c67ce86d2"
+SRCREV = "c9707b465a08397569920b676345474f44327200"
 
 SRC_URI = "git://github.com/linux-test-project/ltp.git \
            file://0001-build-Add-option-to-select-libc-implementation.patch \
@@ -38,19 +38,8 @@ SRC_URI = "git://github.com/linux-test-project/ltp.git \
            file://0007-Fix-test_proc_kill-hanging.patch \
            file://0008-testcases-network-nfsv4-acl-acl1.c-Security-fix-on-s.patch \
            file://0009-open_posix_testsuite-mmap24-2-Relax-condition-a-bit.patch \
-           file://0010-shmctl01-don-t-use-hardcoded-index-0-for-SHM_STAT-te.patch \
-           file://0011-direct_io-diotest4-drop-MAP_FIXED.patch \
-           file://0012-getrlimit03-adjust-a-bit-of-code-to-compatiable-with.patch \
-           file://0001-Add-configure-time-check-for-getdents-getdents64-API.patch \
-           file://0002-check-for-RES_USE_INET6-during-configure.patch \
-           file://0001-syscalls-tgkill03-wait-for-defunct-tid-to-get-detach.patch \
-           file://0001-ustat02-Fix-EFAULT-in-32bit-compatibility-mode.patch \
-           file://0001-cve-meltdown.c-Fix-kernel-symbol-finding.patch \
-           file://0001-testcases-use-python3-everywhere-to-run-python-scrip.patch \
-           file://0001-syscall-rt_sigtimedwait01-Fix-wrong-sigset-length-fo.patch \
-           file://0001-cve-2017-17052-Avoid-unsafe-exits-in-threads.patch \
-           file://0001-overcommit_memory-update-for-mm-fix-false-positive-O.patch \
            file://0001-mkswap01.sh-Add-udevadm-trigger-before-swap-verifica.patch \
+           file://0001-testcases-fix-an-absent-format-string-issue.patch \
            "
 
 S = "${WORKDIR}/git"
-- 
2.17.1



^ permalink raw reply related	[flat|nested] 62+ messages in thread

* [PATCH 27/30] cpio: update to 2.13
  2019-12-12 18:14 [PATCH 01/30] rpm: upgrade to 4.15.1 Alexander Kanavin
                   ` (24 preceding siblings ...)
  2019-12-12 18:14 ` [PATCH 26/30] ltp: update to 20190930 Alexander Kanavin
@ 2019-12-12 18:14 ` Alexander Kanavin
  2019-12-12 18:14 ` [PATCH 28/30] sudo: update to 1.8.29 Alexander Kanavin
                   ` (3 subsequent siblings)
  29 siblings, 0 replies; 62+ messages in thread
From: Alexander Kanavin @ 2019-12-12 18:14 UTC (permalink / raw)
  To: openembedded-core

Drop a couple of backports.

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
 ...2016-2037-1-byte-out-of-bounds-write.patch | 346 ------------------
 .../0001-Fix-segfault-with-append.patch       |  51 ---
 .../0001-Fix-CVE-2015-1197.patch              |   0
 ...charset_alias-when-building-for-musl.patch |   0
 .../cpio/{cpio_2.12.bb => cpio_2.13.bb}       |   6 +-
 5 files changed, 2 insertions(+), 401 deletions(-)
 delete mode 100644 meta/recipes-extended/cpio/cpio-2.12/0001-CVE-2016-2037-1-byte-out-of-bounds-write.patch
 delete mode 100644 meta/recipes-extended/cpio/cpio-2.12/0001-Fix-segfault-with-append.patch
 rename meta/recipes-extended/cpio/{cpio-2.12 => cpio-2.13}/0001-Fix-CVE-2015-1197.patch (100%)
 rename meta/recipes-extended/cpio/{cpio-2.12 => cpio-2.13}/0001-Unset-need_charset_alias-when-building-for-musl.patch (100%)
 rename meta/recipes-extended/cpio/{cpio_2.12.bb => cpio_2.13.bb} (83%)

diff --git a/meta/recipes-extended/cpio/cpio-2.12/0001-CVE-2016-2037-1-byte-out-of-bounds-write.patch b/meta/recipes-extended/cpio/cpio-2.12/0001-CVE-2016-2037-1-byte-out-of-bounds-write.patch
deleted file mode 100644
index 0a3054483cb..00000000000
--- a/meta/recipes-extended/cpio/cpio-2.12/0001-CVE-2016-2037-1-byte-out-of-bounds-write.patch
+++ /dev/null
@@ -1,346 +0,0 @@
-From ebf9a2d776474181936a720ce811d72bbd1da3b6 Mon Sep 17 00:00:00 2001
-From: Pavel Raiskup <praiskup@redhat.com>
-Date: Tue, 26 Jan 2016 23:17:54 +0100
-Subject: [PATCH] CVE-2016-2037 - 1 byte out-of-bounds write
-
-Ensure that cpio_safer_name_suffix always works with dynamically
-allocated buffer, and that it has size of at least 32 bytes.
-Then, any call to cpio_safer_name_suffix is safe (it requires at
-least 2 bytes in the buffer).
-
-Also ensure that c_namesize is always correctly initialized (by
-cpio_set_c_name) to avoid undefined behavior when reading
-file_hdr.c_namesize (previously happened for tar archives).
-
-References:
-http://www.mail-archive.com/bug-cpio@gnu.org/msg00545.html
-
-* src/copyin.c (query_rename): Drop the hack, as we now work with
-dynamically allocated buffer.  Use cpio_set_c_name.
-(create_defered_links_to_skipped): Use cpio_set_c_name rather than
-manual assignment.
-(read_name_from_file): New function to avoid C&P.
-(read_in_old_ascii, read_in_new_ascii, read_in_binary): Use
-read_name_from_file.
-(process_copy_in): Initialize file_hdr.c_namesize.
-* src/copyout.c (process_copy_out): Use cpio_set_c_name.
-* src/cpiohdr.h (cpio_set_c_name): New prototype.
-* src/tar.c (read_in_tar_header): Use cpio_set_c_name.
-* src/util.c (cpio_set_c_name): New function to set
-file_hdr->c_name and c_namesize from arbitrary string.
-(cpio_safer_name_suffix): Some docs fixes.
-* tests/inout.at: Also test copy-in, and try various formats.
-
-CVE: CVE-2016-2037
-
-Upstream-Status: Backport [http://git.savannah.gnu.org/cgit/cpio.git/commit/?id=d36ec5f4e93130efb24fb9678aafd88e8070095b]
-
-Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
----
- src/copyin.c   | 68 +++++++++++++++++++---------------------------------------
- src/copyout.c  | 13 +++++------
- src/cpiohdr.h  |  1 +
- src/tar.c      | 10 +++++----
- src/util.c     | 32 ++++++++++++++++++++++++++-
- tests/inout.at | 19 ++++++++++++++--
- 6 files changed, 82 insertions(+), 61 deletions(-)
-
-diff --git a/src/copyin.c b/src/copyin.c
-index cde911e..972f8a6 100644
---- a/src/copyin.c
-+++ b/src/copyin.c
-@@ -76,28 +76,7 @@ query_rename(struct cpio_file_stat* file_hdr, FILE *tty_in, FILE *tty_out,
-       return -1;
-     }
-   else
--  /* Debian hack: file_hrd.c_name is sometimes set to
--     point to static memory by code in tar.c.  This
--     causes a segfault.  This has been fixed and an
--     additional check to ensure that the file name
--     is not too long has been added.  (Reported by
--     Horst Knobloch.)  This bug has been reported to
--     "bug-gnu-utils@prep.ai.mit.edu". (99/1/6) -BEM */
--    {
--      if (archive_format != arf_tar && archive_format != arf_ustar)
--	{
--	  free (file_hdr->c_name);
--	  file_hdr->c_name = xstrdup (new_name.ds_string);
--	}
--      else
--	{
--	  if (is_tar_filename_too_long (new_name.ds_string))
--	    error (0, 0, _("%s: file name too long"),
--		   new_name.ds_string);
--	  else
--	    strcpy (file_hdr->c_name, new_name.ds_string);
--	}
--    }
-+    cpio_set_c_name (file_hdr, new_name.ds_string);
-   return 0;
- }
- \f
-@@ -344,8 +323,7 @@ create_defered_links_to_skipped (struct cpio_file_stat *file_hdr,
- 	    d_prev->next = d->next;
- 	  else
- 	    deferments = d->next;
--	  free (file_hdr->c_name);
--	  file_hdr->c_name = xstrdup(d->header.c_name);
-+	  cpio_set_c_name (file_hdr, d->header.c_name);
- 	  free_deferment (d);
- 	  copyin_regular_file(file_hdr, in_file_des);
- 	  return 0;
-@@ -1064,6 +1042,22 @@ read_in_header (struct cpio_file_stat *file_hdr, int in_des)
-     }
- }
- 
-+static void
-+read_name_from_file (struct cpio_file_stat *file_hdr, int fd, uintmax_t len)
-+{
-+  static char *tmp_filename;
-+  static size_t buflen;
-+
-+  if (buflen < len)
-+    {
-+      buflen = len;
-+      tmp_filename = xrealloc (tmp_filename, buflen);
-+    }
-+
-+  tape_buffered_read (tmp_filename, fd, len);
-+  cpio_set_c_name (file_hdr, tmp_filename);
-+}
-+
- /* Fill in FILE_HDR by reading an old-format ASCII format cpio header from
-    file descriptor IN_DES, except for the magic number, which is
-    already filled in.  */
-@@ -1090,14 +1084,8 @@ read_in_old_ascii (struct cpio_file_stat *file_hdr, int in_des)
-   file_hdr->c_rdev_min = minor (dev);
- 
-   file_hdr->c_mtime = FROM_OCTAL (ascii_header.c_mtime);
--  file_hdr->c_namesize = FROM_OCTAL (ascii_header.c_namesize);
-   file_hdr->c_filesize = FROM_OCTAL (ascii_header.c_filesize);
--  
--  /* Read file name from input.  */
--  if (file_hdr->c_name != NULL)
--    free (file_hdr->c_name);
--  file_hdr->c_name = (char *) xmalloc (file_hdr->c_namesize + 1);
--  tape_buffered_read (file_hdr->c_name, in_des, (long) file_hdr->c_namesize);
-+  read_name_from_file (file_hdr, in_des, FROM_OCTAL (ascii_header.c_namesize));
- 
-   /* HP/UX cpio creates archives that look just like ordinary archives,
-      but for devices it sets major = 0, minor = 1, and puts the
-@@ -1152,14 +1140,8 @@ read_in_new_ascii (struct cpio_file_stat *file_hdr, int in_des)
-   file_hdr->c_dev_min = FROM_HEX (ascii_header.c_dev_min);
-   file_hdr->c_rdev_maj = FROM_HEX (ascii_header.c_rdev_maj);
-   file_hdr->c_rdev_min = FROM_HEX (ascii_header.c_rdev_min);
--  file_hdr->c_namesize = FROM_HEX (ascii_header.c_namesize);
-   file_hdr->c_chksum = FROM_HEX (ascii_header.c_chksum);
--  
--  /* Read file name from input.  */
--  if (file_hdr->c_name != NULL)
--    free (file_hdr->c_name);
--  file_hdr->c_name = (char *) xmalloc (file_hdr->c_namesize);
--  tape_buffered_read (file_hdr->c_name, in_des, (long) file_hdr->c_namesize);
-+  read_name_from_file (file_hdr, in_des, FROM_HEX (ascii_header.c_namesize));
- 
-   /* In SVR4 ASCII format, the amount of space allocated for the header
-      is rounded up to the next long-word, so we might need to drop
-@@ -1207,16 +1189,9 @@ read_in_binary (struct cpio_file_stat *file_hdr,
-   file_hdr->c_rdev_min = minor (short_hdr->c_rdev);
-   file_hdr->c_mtime = (unsigned long) short_hdr->c_mtimes[0] << 16
-                       | short_hdr->c_mtimes[1];
--
--  file_hdr->c_namesize = short_hdr->c_namesize;
-   file_hdr->c_filesize = (unsigned long) short_hdr->c_filesizes[0] << 16
-                       | short_hdr->c_filesizes[1];
--
--  /* Read file name from input.  */
--  if (file_hdr->c_name != NULL)
--    free (file_hdr->c_name);
--  file_hdr->c_name = (char *) xmalloc (file_hdr->c_namesize);
--  tape_buffered_read (file_hdr->c_name, in_des, (long) file_hdr->c_namesize);
-+  read_name_from_file (file_hdr, in_des, short_hdr->c_namesize);
- 
-   /* In binary mode, the amount of space allocated in the header for
-      the filename is `c_namesize' rounded up to the next short-word,
-@@ -1297,6 +1272,7 @@ process_copy_in ()
-       read_pattern_file ();
-     }
-   file_hdr.c_name = NULL;
-+  file_hdr.c_namesize = 0;
- 
-   if (rename_batch_file)
-     {
-diff --git a/src/copyout.c b/src/copyout.c
-index 1f0987a..bb39559 100644
---- a/src/copyout.c
-+++ b/src/copyout.c
-@@ -660,8 +660,7 @@ process_copy_out ()
- 	  cpio_safer_name_suffix (input_name.ds_string, false,
- 				  !no_abs_paths_flag, true);
- #ifndef HPUX_CDF
--	  file_hdr.c_name = input_name.ds_string;
--	  file_hdr.c_namesize = strlen (input_name.ds_string) + 1;
-+	  cpio_set_c_name (&file_hdr, input_name.ds_string);
- #else
- 	  if ( (archive_format != arf_tar) && (archive_format != arf_ustar) )
- 	    {
-@@ -670,16 +669,15 @@ process_copy_out ()
- 		 properly recreate the directory as hidden (in case the
- 		 files of a directory go into the archive before the
- 		 directory itself (e.g from "find ... -depth ... | cpio")).  */
--	      file_hdr.c_name = add_cdf_double_slashes (input_name.ds_string);
--	      file_hdr.c_namesize = strlen (file_hdr.c_name) + 1;
-+              cpio_set_c_name (&file_hdr,
-+                               add_cdf_double_slashes (input_name.ds_string));
- 	    }
- 	  else
- 	    {
- 	      /* We don't mark CDF's in tar files.  We assume the "hidden"
- 		 directory will always go into the archive before any of
- 		 its files.  */
--	      file_hdr.c_name = input_name.ds_string;
--	      file_hdr.c_namesize = strlen (input_name.ds_string) + 1;
-+              cpio_set_c_name (&file_hdr, input_name.ds_string);
- 	    }
- #endif
- 
-@@ -866,8 +864,7 @@ process_copy_out ()
-   file_hdr.c_chksum = 0;
- 
-   file_hdr.c_filesize = 0;
--  file_hdr.c_namesize = 11;
--  file_hdr.c_name = CPIO_TRAILER_NAME;
-+  cpio_set_c_name (&file_hdr, CPIO_TRAILER_NAME);
-   if (archive_format != arf_tar && archive_format != arf_ustar)
-     write_out_header (&file_hdr, out_file_des);
-   else
-diff --git a/src/cpiohdr.h b/src/cpiohdr.h
-index b29e6fb..f4c63be 100644
---- a/src/cpiohdr.h
-+++ b/src/cpiohdr.h
-@@ -129,5 +129,6 @@ struct cpio_file_stat /* Internal representation of a CPIO header */
-   char *c_tar_linkname;
- };
- 
-+void cpio_set_c_name(struct cpio_file_stat *file_hdr, char *name);
- 
- #endif /* cpiohdr.h */
-diff --git a/src/tar.c b/src/tar.c
-index a2ce171..e41f89d 100644
---- a/src/tar.c
-+++ b/src/tar.c
-@@ -282,7 +282,7 @@ read_in_tar_header (struct cpio_file_stat *file_hdr, int in_des)
-       if (null_block ((long *) &tar_rec, TARRECORDSIZE))
- #endif
- 	{
--	  file_hdr->c_name = CPIO_TRAILER_NAME;
-+	  cpio_set_c_name (file_hdr, CPIO_TRAILER_NAME);
- 	  return;
- 	}
- #if 0
-@@ -316,9 +316,11 @@ read_in_tar_header (struct cpio_file_stat *file_hdr, int in_des)
- 	}
- 
-       if (archive_format != arf_ustar)
--	file_hdr->c_name = stash_tar_filename (NULL, tar_hdr->name);
-+        cpio_set_c_name (file_hdr, stash_tar_filename (NULL, tar_hdr->name));
-       else
--	file_hdr->c_name = stash_tar_filename (tar_hdr->prefix, tar_hdr->name);
-+        cpio_set_c_name (file_hdr, stash_tar_filename (tar_hdr->prefix,
-+                                                      tar_hdr->name));
-+
-       file_hdr->c_nlink = 1;
-       file_hdr->c_mode = FROM_OCTAL (tar_hdr->mode);
-       file_hdr->c_mode = file_hdr->c_mode & 07777;
-@@ -398,7 +400,7 @@ read_in_tar_header (struct cpio_file_stat *file_hdr, int in_des)
- 	case AREGTYPE:
- 	  /* Old tar format; if the last char in filename is '/' then it is
- 	     a directory, otherwise it's a regular file.  */
--	  if (file_hdr->c_name[strlen (file_hdr->c_name) - 1] == '/')
-+	  if (file_hdr->c_name[file_hdr->c_namesize - 1] == '/')
- 	    file_hdr->c_mode |= CP_IFDIR;
- 	  else
- 	    file_hdr->c_mode |= CP_IFREG;
-diff --git a/src/util.c b/src/util.c
-index 6ff6032..4f3c073 100644
---- a/src/util.c
-+++ b/src/util.c
-@@ -1410,8 +1410,34 @@ set_file_times (int fd,
-     utime_error (name);
- }
- 
-+
-+void
-+cpio_set_c_name (struct cpio_file_stat *file_hdr, char *name)
-+{
-+  static size_t buflen = 0;
-+  size_t len = strlen (name) + 1;
-+
-+  if (buflen == 0)
-+    {
-+      buflen = len;
-+      if (buflen < 32)
-+        buflen = 32;
-+      file_hdr->c_name = xmalloc (buflen);
-+    }
-+  else if (buflen < len)
-+    {
-+      buflen = len;
-+      file_hdr->c_name = xrealloc (file_hdr->c_name, buflen);
-+    }
-+
-+  file_hdr->c_namesize = len;
-+  memmove (file_hdr->c_name, name, len);
-+}
-+
- /* Do we have to ignore absolute paths, and if so, does the filename
--   have an absolute path?  */
-+   have an absolute path?  Before calling this function make sure that the
-+   allocated NAME buffer has capacity at least 2 bytes. */
-+
- void
- cpio_safer_name_suffix (char *name, bool link_target, bool absolute_names,
- 			bool strip_leading_dots)
-@@ -1426,6 +1452,10 @@ cpio_safer_name_suffix (char *name, bool link_target, bool absolute_names,
- 	  ++p;
-       }
-   if (p != name)
-+    /* The 'p' string is shortened version of 'name' with one exception;  when
-+       the 'name' points to an empty string (buffer where name[0] == '\0') the
-+       'p' then points to static string ".".  So caller needs to ensure there
-+       are at least two bytes available in 'name' buffer so memmove succeeds. */
-     memmove (name, p, (size_t)(strlen (p) + 1));
- }
- 
-diff --git a/tests/inout.at b/tests/inout.at
-index 60c3716..730cbd2 100644
---- a/tests/inout.at
-+++ b/tests/inout.at
-@@ -35,7 +35,22 @@ while read NAME LENGTH
- do
- 	genfile --length $LENGTH > $NAME
- 	echo $NAME
--done < filelist |
-- cpio --quiet -o > archive])
-+done < filelist > filelist_raw
-+
-+for format in bin odc newc crc tar ustar hpbin hpodc
-+do
-+    cpio --format=$format --quiet -o < filelist_raw > archive.$format
-+    rm -rf output
-+    mkdir output && cd output
-+    cpio -i --quiet < ../archive.$format
-+
-+    while read file
-+    do
-+        test -f $file || echo "$file not found"
-+    done < ../filelist_raw
-+
-+    cd ..
-+done
-+])
- 
- AT_CLEANUP
--- 
-1.9.1
-
diff --git a/meta/recipes-extended/cpio/cpio-2.12/0001-Fix-segfault-with-append.patch b/meta/recipes-extended/cpio/cpio-2.12/0001-Fix-segfault-with-append.patch
deleted file mode 100644
index ec8b303c43a..00000000000
--- a/meta/recipes-extended/cpio/cpio-2.12/0001-Fix-segfault-with-append.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-Upstream-Status: Backport
-Signed-off-by: Ross Burton <ross.burton@intel.com>
-
-From 32d95fe0c90c59352a0ce3102fc9866cbfb0f629 Mon Sep 17 00:00:00 2001
-From: Sergey Poznyakoff <gray@gnu.org>
-Date: Sat, 1 Dec 2018 11:40:02 +0200
-Subject: [PATCH] Fix sigfault when appending to archive
-
-Bug reported by Ross Burton. See
-<http://lists.gnu.org/archive/html/bug-cpio/2018-11/msg00000.html>
-
-* src/util.c: Keep static copy of the buffer pointer; always
-assign it to file_hdr->c_name. Use x2realloc for memory management.
----
- src/util.c | 17 ++++-------------
- 1 file changed, 4 insertions(+), 13 deletions(-)
-
-diff --git a/src/util.c b/src/util.c
-index 10486dc..4e49124 100644
---- a/src/util.c
-+++ b/src/util.c
-@@ -1413,22 +1413,13 @@ set_file_times (int fd,
- void
- cpio_set_c_name (struct cpio_file_stat *file_hdr, char *name)
- {
-+  static char *buf = NULL;
-   static size_t buflen = 0;
-   size_t len = strlen (name) + 1;
- 
--  if (buflen == 0)
--    {
--      buflen = len;
--      if (buflen < 32)
--        buflen = 32;
--      file_hdr->c_name = xmalloc (buflen);
--    }
--  else if (buflen < len)
--    {
--      buflen = len;
--      file_hdr->c_name = xrealloc (file_hdr->c_name, buflen);
--    }
--
-+  while (buflen < len)
-+    buf = x2realloc (buf, &buflen);
-+  file_hdr->c_name = buf;
-   file_hdr->c_namesize = len;
-   memmove (file_hdr->c_name, name, len);
- }
--- 
-2.18.0
-
diff --git a/meta/recipes-extended/cpio/cpio-2.12/0001-Fix-CVE-2015-1197.patch b/meta/recipes-extended/cpio/cpio-2.13/0001-Fix-CVE-2015-1197.patch
similarity index 100%
rename from meta/recipes-extended/cpio/cpio-2.12/0001-Fix-CVE-2015-1197.patch
rename to meta/recipes-extended/cpio/cpio-2.13/0001-Fix-CVE-2015-1197.patch
diff --git a/meta/recipes-extended/cpio/cpio-2.12/0001-Unset-need_charset_alias-when-building-for-musl.patch b/meta/recipes-extended/cpio/cpio-2.13/0001-Unset-need_charset_alias-when-building-for-musl.patch
similarity index 100%
rename from meta/recipes-extended/cpio/cpio-2.12/0001-Unset-need_charset_alias-when-building-for-musl.patch
rename to meta/recipes-extended/cpio/cpio-2.13/0001-Unset-need_charset_alias-when-building-for-musl.patch
diff --git a/meta/recipes-extended/cpio/cpio_2.12.bb b/meta/recipes-extended/cpio/cpio_2.13.bb
similarity index 83%
rename from meta/recipes-extended/cpio/cpio_2.12.bb
rename to meta/recipes-extended/cpio/cpio_2.13.bb
index 3713bf0b1f4..69615a9a0f5 100644
--- a/meta/recipes-extended/cpio/cpio_2.12.bb
+++ b/meta/recipes-extended/cpio/cpio_2.13.bb
@@ -9,12 +9,10 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=f27defe1e96c2e1ecd4e0c9be8967949"
 SRC_URI = "${GNU_MIRROR}/cpio/cpio-${PV}.tar.gz \
            file://0001-Unset-need_charset_alias-when-building-for-musl.patch \
            file://0001-Fix-CVE-2015-1197.patch \
-           file://0001-CVE-2016-2037-1-byte-out-of-bounds-write.patch \
-           file://0001-Fix-segfault-with-append.patch \
            "
 
-SRC_URI[md5sum] = "fc207561a86b63862eea4b8300313e86"
-SRC_URI[sha256sum] = "08a35e92deb3c85d269a0059a27d4140a9667a6369459299d08c17f713a92e73"
+SRC_URI[md5sum] = "389c5452d667c23b5eceb206f5000810"
+SRC_URI[sha256sum] = "e87470d9c984317f658567c03bfefb6b0c829ff17dbf6b0de48d71a4c8f3db88"
 
 inherit autotools gettext texinfo
 
-- 
2.17.1



^ permalink raw reply related	[flat|nested] 62+ messages in thread

* [PATCH 28/30] sudo: update to 1.8.29
  2019-12-12 18:14 [PATCH 01/30] rpm: upgrade to 4.15.1 Alexander Kanavin
                   ` (25 preceding siblings ...)
  2019-12-12 18:14 ` [PATCH 27/30] cpio: update to 2.13 Alexander Kanavin
@ 2019-12-12 18:14 ` Alexander Kanavin
  2019-12-12 18:14 ` [PATCH 29/30] nfs-utils: update to 2.4.2 Alexander Kanavin
                   ` (2 subsequent siblings)
  29 siblings, 0 replies; 62+ messages in thread
From: Alexander Kanavin @ 2019-12-12 18:14 UTC (permalink / raw)
  To: openembedded-core

License-Update: added SPDX info.
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
 meta/recipes-extended/sudo/sudo.inc           |  22 +--
 .../sudo/sudo/CVE-2019-14287-1.patch          | 178 ------------------
 .../sudo/sudo/CVE-2019-14287-2.patch          | 112 -----------
 .../sudo/{sudo_1.8.27.bb => sudo_1.8.29.bb}   |   6 +-
 4 files changed, 13 insertions(+), 305 deletions(-)
 delete mode 100644 meta/recipes-extended/sudo/sudo/CVE-2019-14287-1.patch
 delete mode 100644 meta/recipes-extended/sudo/sudo/CVE-2019-14287-2.patch
 rename meta/recipes-extended/sudo/{sudo_1.8.27.bb => sudo_1.8.29.bb} (87%)

diff --git a/meta/recipes-extended/sudo/sudo.inc b/meta/recipes-extended/sudo/sudo.inc
index 15075bcefd7..67815fa8584 100644
--- a/meta/recipes-extended/sudo/sudo.inc
+++ b/meta/recipes-extended/sudo/sudo.inc
@@ -5,17 +5,17 @@ BUGTRACKER = "http://www.sudo.ws/bugs/"
 SECTION = "admin"
 LICENSE = "ISC & BSD & Zlib"
 LIC_FILES_CHKSUM = "file://doc/LICENSE;md5=6c76b73603ac7763ab0516ebfbe67b42 \
-                    file://plugins/sudoers/redblack.c;beginline=1;endline=46;md5=4a162fc04b86b03f5632180fe6076cda \
-                    file://lib/util/reallocarray.c;beginline=3;endline=15;md5=b47f1f85a12f05a0744cd8b1b6f41a0d \
-                    file://lib/util/fnmatch.c;beginline=3;endline=27;md5=67f83ee9bd456557397082f8f1be0efd \
-                    file://lib/util/getcwd.c;beginline=2;endline=27;md5=09068a19b4f6b6f0a0958655bfe98b63 \
-                    file://lib/util/glob.c;beginline=2;endline=31;md5=1f2f771c35fb0658d567a7824007e56d \
-                    file://lib/util/snprintf.c;beginline=3;endline=33;md5=63e48e1b992bce749a19dd9b2256e9a0 \
-                    file://include/sudo_queue.h;beginline=2;endline=27;md5=082b138b72ba3e568a13a25c3bf254dc \
-                    file://lib/util/inet_pton.c;beginline=3;endline=17;md5=3970ab0518ab79cbd0bafb697f10b33a \
-                    file://lib/util/arc4random.c;beginline=3;endline=20;md5=15bdc89c1b003fa4d7353e6296ebfd68 \
-                    file://lib/util/arc4random_uniform.c;beginline=3;endline=17;md5=31e630ac814d692fd0ab7a942659b46f \
-                    file://lib/util/getentropy.c;beginline=1;endline=19;md5=9f1a275ecd44cc264a2a4d5e06a75292 \
+                    file://plugins/sudoers/redblack.c;beginline=1;endline=46;md5=03e35317699ba00b496251e0dfe9f109 \
+                    file://lib/util/reallocarray.c;beginline=3;endline=15;md5=397dd45c7683e90b9f8bf24638cf03bf \
+                    file://lib/util/fnmatch.c;beginline=3;endline=27;md5=004d7d2866ba1f5b41174906849d2e0f \
+                    file://lib/util/getcwd.c;beginline=2;endline=27;md5=50f8d9667750e18dea4e84a935c12009 \
+                    file://lib/util/glob.c;beginline=2;endline=31;md5=2852f68687544e3eb8a0a61665506f0e \
+                    file://lib/util/snprintf.c;beginline=3;endline=33;md5=b70df6179969e38fcf68da91b53b8029 \
+                    file://include/sudo_queue.h;beginline=2;endline=27;md5=ad578e9664d17a010b63e4bc0576ee8d \
+                    file://lib/util/inet_pton.c;beginline=3;endline=17;md5=27785c9f5835093eda42aa0816a2d0b4 \
+                    file://lib/util/arc4random.c;beginline=3;endline=20;md5=ced8636ecefa2ba907cfe390bc3bd964 \
+                    file://lib/util/arc4random_uniform.c;beginline=3;endline=17;md5=e30c2b777cdc00cfcaf7c445a10b262f \
+                    file://lib/util/getentropy.c;beginline=1;endline=19;md5=a0f58be3d60b6dcd898ec5fe0866d36f \
                     "
 
 inherit autotools
diff --git a/meta/recipes-extended/sudo/sudo/CVE-2019-14287-1.patch b/meta/recipes-extended/sudo/sudo/CVE-2019-14287-1.patch
deleted file mode 100644
index 2a11e3f7ec7..00000000000
--- a/meta/recipes-extended/sudo/sudo/CVE-2019-14287-1.patch
+++ /dev/null
@@ -1,178 +0,0 @@
-From f752ae5cee163253730ff7cdf293e34a91aa5520 Mon Sep 17 00:00:00 2001
-From: "Todd C. Miller" <Todd.Miller@sudo.ws>
-Date: Thu, 10 Oct 2019 10:04:13 -0600
-Subject: [PATCH] Treat an ID of -1 as invalid since that means "no change".
- Fixes CVE-2019-14287. Found by Joe Vennix from Apple Information Security.
-
-Upstream-Status: Backport [https://github.com/sudo-project/sudo/commit/f752ae5cee163253730ff7cdf293e34a91aa5520]
-CVE: CVE-2019-14287
-
-Signed-off-by: Changqing Li <changqing.li@windriver.com>
-
----
- lib/util/strtoid.c | 100 ++++++++++++++++++++++++++++-------------------------
- 1 files changed, 53 insertions(+), 46 deletions(-)
-
-diff --git a/lib/util/strtoid.c b/lib/util/strtoid.c
-index 2dfce75..6b3916b 100644
---- a/lib/util/strtoid.c
-+++ b/lib/util/strtoid.c
-@@ -49,6 +49,27 @@
- #include "sudo_util.h"
- 
- /*
-+ * Make sure that the ID ends with a valid separator char.
-+ */
-+static bool
-+valid_separator(const char *p, const char *ep, const char *sep)
-+{
-+    bool valid = false;
-+    debug_decl(valid_separator, SUDO_DEBUG_UTIL)
-+
-+    if (ep != p) {
-+	/* check for valid separator (including '\0') */
-+	if (sep == NULL)
-+	    sep = "";
-+	do {
-+	    if (*ep == *sep)
-+		valid = true;
-+	} while (*sep++ != '\0');
-+    }
-+    debug_return_bool(valid);
-+}
-+
-+/*
-  * Parse a uid/gid in string form.
-  * If sep is non-NULL, it contains valid separator characters (e.g. comma, space)
-  * If endp is non-NULL it is set to the next char after the ID.
-@@ -62,36 +83,33 @@ sudo_strtoid_v1(const char *p, const char *sep, char **endp, const char **errstr
-     char *ep;
-     id_t ret = 0;
-     long long llval;
--    bool valid = false;
-     debug_decl(sudo_strtoid, SUDO_DEBUG_UTIL)
- 
-     /* skip leading space so we can pick up the sign, if any */
-     while (isspace((unsigned char)*p))
- 	p++;
--    if (sep == NULL)
--	sep = "";
-+
-+    /* While id_t may be 64-bit signed, uid_t and gid_t are 32-bit unsigned. */
-     errno = 0;
-     llval = strtoll(p, &ep, 10);
--    if (ep != p) {
--	/* check for valid separator (including '\0') */
--	do {
--	    if (*ep == *sep)
--		valid = true;
--	} while (*sep++ != '\0');
-+    if ((errno == ERANGE && llval == LLONG_MAX) || llval > (id_t)UINT_MAX) {
-+	errno = ERANGE;
-+	if (errstr != NULL)
-+	    *errstr = N_("value too large");
-+	goto done;
-     }
--    if (!valid) {
-+    if ((errno == ERANGE && llval == LLONG_MIN) || llval < INT_MIN) {
-+	errno = ERANGE;
- 	if (errstr != NULL)
--	    *errstr = N_("invalid value");
--	errno = EINVAL;
-+	    *errstr = N_("value too small");
- 	goto done;
-     }
--    if (errno == ERANGE) {
--	if (errstr != NULL) {
--	    if (llval == LLONG_MAX)
--		*errstr = N_("value too large");
--	    else
--		*errstr = N_("value too small");
--	}
-+
-+    /* Disallow id -1, which means "no change". */
-+    if (!valid_separator(p, ep, sep) || llval == -1 || llval == (id_t)UINT_MAX) {
-+	if (errstr != NULL)
-+	    *errstr = N_("invalid value");
-+	errno = EINVAL;
- 	goto done;
-     }
-     ret = (id_t)llval;
-@@ -108,30 +126,15 @@ sudo_strtoid_v1(const char *p, const char *sep, char **endp, const char **errstr
- {
-     char *ep;
-     id_t ret = 0;
--    bool valid = false;
-     debug_decl(sudo_strtoid, SUDO_DEBUG_UTIL)
- 
-     /* skip leading space so we can pick up the sign, if any */
-     while (isspace((unsigned char)*p))
- 	p++;
--    if (sep == NULL)
--	sep = "";
-+
-     errno = 0;
-     if (*p == '-') {
- 	long lval = strtol(p, &ep, 10);
--	if (ep != p) {
--	    /* check for valid separator (including '\0') */
--	    do {
--		if (*ep == *sep)
--		    valid = true;
--	    } while (*sep++ != '\0');
--	}
--	if (!valid) {
--	    if (errstr != NULL)
--		*errstr = N_("invalid value");
--	    errno = EINVAL;
--	    goto done;
--	}
- 	if ((errno == ERANGE && lval == LONG_MAX) || lval > INT_MAX) {
- 	    errno = ERANGE;
- 	    if (errstr != NULL)
-@@ -144,28 +147,31 @@ sudo_strtoid_v1(const char *p, const char *sep, char **endp, const char **errstr
- 		*errstr = N_("value too small");
- 	    goto done;
- 	}
--	ret = (id_t)lval;
--    } else {
--	unsigned long ulval = strtoul(p, &ep, 10);
--	if (ep != p) {
--	    /* check for valid separator (including '\0') */
--	    do {
--		if (*ep == *sep)
--		    valid = true;
--	    } while (*sep++ != '\0');
--	}
--	if (!valid) {
-+
-+	/* Disallow id -1, which means "no change". */
-+	if (!valid_separator(p, ep, sep) || lval == -1) {
- 	    if (errstr != NULL)
- 		*errstr = N_("invalid value");
- 	    errno = EINVAL;
- 	    goto done;
- 	}
-+	ret = (id_t)lval;
-+    } else {
-+	unsigned long ulval = strtoul(p, &ep, 10);
- 	if ((errno == ERANGE && ulval == ULONG_MAX) || ulval > UINT_MAX) {
- 	    errno = ERANGE;
- 	    if (errstr != NULL)
- 		*errstr = N_("value too large");
- 	    goto done;
- 	}
-+
-+	/* Disallow id -1, which means "no change". */
-+	if (!valid_separator(p, ep, sep) || ulval == UINT_MAX) {
-+	    if (errstr != NULL)
-+		*errstr = N_("invalid value");
-+	    errno = EINVAL;
-+	    goto done;
-+	}
- 	ret = (id_t)ulval;
-     }
-     if (errstr != NULL)
--- 
-2.7.4
-
diff --git a/meta/recipes-extended/sudo/sudo/CVE-2019-14287-2.patch b/meta/recipes-extended/sudo/sudo/CVE-2019-14287-2.patch
deleted file mode 100644
index 453a8b09a4a..00000000000
--- a/meta/recipes-extended/sudo/sudo/CVE-2019-14287-2.patch
+++ /dev/null
@@ -1,112 +0,0 @@
-From 396bc57feff3e360007634f62448b64e0626390c Mon Sep 17 00:00:00 2001
-From: "Todd C. Miller" <Todd.Miller@sudo.ws>
-Date: Thu, 10 Oct 2019 10:04:13 -0600
-Subject: [PATCH] Add sudo_strtoid() tests for -1 and range errors. Also adjust
- testsudoers/test5 which relied upon gid -1 parsing.
-
-Upstream-Status: Backport [https://github.com/sudo-project/sudo/commit/396bc57]
-CVE: CVE-2019-14287
-
-Signed-off-by: Changqing Li <changqing.li@windriver.com>
-
----
- lib/util/regress/atofoo/atofoo_test.c            | 36 ++++++++++++++++------
- plugins/sudoers/regress/testsudoers/test5.out.ok |  2 +-
- plugins/sudoers/regress/testsudoers/test5.sh     |  2 +-
- 3 files changed, 29 insertions(+), 11 deletions(-)
-
-diff --git a/lib/util/regress/atofoo/atofoo_test.c b/lib/util/regress/atofoo/atofoo_test.c
-index 031a7ed..fb41c1a 100644
---- a/lib/util/regress/atofoo/atofoo_test.c
-+++ b/lib/util/regress/atofoo/atofoo_test.c
-@@ -26,6 +26,7 @@
- #else
- # include "compat/stdbool.h"
- #endif
-+#include <errno.h>
- 
- #include "sudo_compat.h"
- #include "sudo_util.h"
-@@ -80,15 +81,20 @@ static struct strtoid_data {
-     id_t id;
-     const char *sep;
-     const char *ep;
-+    int errnum;
- } strtoid_data[] = {
--    { "0,1", 0, ",", "," },
--    { "10", 10, NULL, NULL },
--    { "-2", -2, NULL, NULL },
-+    { "0,1", 0, ",", ",", 0 },
-+    { "10", 10, NULL, NULL, 0 },
-+    { "-1", 0, NULL, NULL, EINVAL },
-+    { "4294967295", 0, NULL, NULL, EINVAL },
-+    { "4294967296", 0, NULL, NULL, ERANGE },
-+    { "-2147483649", 0, NULL, NULL, ERANGE },
-+    { "-2", -2, NULL, NULL, 0 },
- #if SIZEOF_ID_T != SIZEOF_LONG_LONG
--    { "-2", (id_t)4294967294U, NULL, NULL },
-+    { "-2", (id_t)4294967294U, NULL, NULL, 0 },
- #endif
--    { "4294967294", (id_t)4294967294U, NULL, NULL },
--    { NULL, 0, NULL, NULL }
-+    { "4294967294", (id_t)4294967294U, NULL, NULL, 0 },
-+    { NULL, 0, NULL, NULL, 0 }
- };
- 
- static int
-@@ -104,11 +110,23 @@ test_strtoid(int *ntests)
- 	(*ntests)++;
- 	errstr = "some error";
- 	value = sudo_strtoid(d->idstr, d->sep, &ep, &errstr);
--	if (errstr != NULL) {
--	    if (d->id != (id_t)-1) {
--		sudo_warnx_nodebug("FAIL: %s: %s", d->idstr, errstr);
-+	if (d->errnum != 0) {
-+	    if (errstr == NULL) {
-+		sudo_warnx_nodebug("FAIL: %s: missing errstr for errno %d",
-+		    d->idstr, d->errnum);
-+		errors++;
-+	    } else if (value != 0) {
-+		sudo_warnx_nodebug("FAIL: %s should return 0 on error",
-+		    d->idstr);
-+		errors++;
-+	    } else if (errno != d->errnum) {
-+		sudo_warnx_nodebug("FAIL: %s: errno mismatch, %d != %d",
-+		    d->idstr, errno, d->errnum);
- 		errors++;
- 	    }
-+	} else if (errstr != NULL) {
-+	    sudo_warnx_nodebug("FAIL: %s: %s", d->idstr, errstr);
-+	    errors++;
- 	} else if (value != d->id) {
- 	    sudo_warnx_nodebug("FAIL: %s != %u", d->idstr, (unsigned int)d->id);
- 	    errors++;
-diff --git a/plugins/sudoers/regress/testsudoers/test5.out.ok b/plugins/sudoers/regress/testsudoers/test5.out.ok
-index 5e319c9..cecf700 100644
---- a/plugins/sudoers/regress/testsudoers/test5.out.ok
-+++ b/plugins/sudoers/regress/testsudoers/test5.out.ok
-@@ -4,7 +4,7 @@ Parse error in sudoers near line 1.
- Entries for user root:
- 
- Command unmatched
--testsudoers: test5.inc should be owned by gid 4294967295
-+testsudoers: test5.inc should be owned by gid 4294967294
- Parse error in sudoers near line 1.
- 
- Entries for user root:
-diff --git a/plugins/sudoers/regress/testsudoers/test5.sh b/plugins/sudoers/regress/testsudoers/test5.sh
-index 9e690a6..94d585c 100755
---- a/plugins/sudoers/regress/testsudoers/test5.sh
-+++ b/plugins/sudoers/regress/testsudoers/test5.sh
-@@ -24,7 +24,7 @@ EOF
- 
- # Test group writable
- chmod 664 $TESTFILE
--./testsudoers -U $MYUID -G -1 root id <<EOF
-+./testsudoers -U $MYUID -G -2 root id <<EOF
- #include $TESTFILE
- EOF
- 
--- 
-2.7.4
-
diff --git a/meta/recipes-extended/sudo/sudo_1.8.27.bb b/meta/recipes-extended/sudo/sudo_1.8.29.bb
similarity index 87%
rename from meta/recipes-extended/sudo/sudo_1.8.27.bb
rename to meta/recipes-extended/sudo/sudo_1.8.29.bb
index 0a11a1b28f8..8da2d646318 100644
--- a/meta/recipes-extended/sudo/sudo_1.8.27.bb
+++ b/meta/recipes-extended/sudo/sudo_1.8.29.bb
@@ -3,14 +3,12 @@ require sudo.inc
 SRC_URI = "https://www.sudo.ws/dist/sudo-${PV}.tar.gz \
            ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '${PAM_SRC_URI}', '', d)} \
            file://0001-Include-sys-types.h-for-id_t-definition.patch \
-           file://CVE-2019-14287-1.patch \
-           file://CVE-2019-14287-2.patch \
            "
 
 PAM_SRC_URI = "file://sudo.pam"
 
-SRC_URI[md5sum] = "b5c184b13b6b5de32af630af2fd013fd"
-SRC_URI[sha256sum] = "7beb68b94471ef56d8a1036dbcdc09a7b58a949a68ffce48b83f837dd33e2ec0"
+SRC_URI[md5sum] = "b28dabff9c460f115fe74de4d6a6f79d"
+SRC_URI[sha256sum] = "ce53ffac9604e23321334d8ba8ac59ded2bcf624fdb9dbde097ab2049bf29c7c"
 
 DEPENDS += " virtual/crypt ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}"
 RDEPENDS_${PN} += " ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam-plugin-limits pam-plugin-keyinit', '', d)}"
-- 
2.17.1



^ permalink raw reply related	[flat|nested] 62+ messages in thread

* [PATCH 29/30] nfs-utils: update to 2.4.2
  2019-12-12 18:14 [PATCH 01/30] rpm: upgrade to 4.15.1 Alexander Kanavin
                   ` (26 preceding siblings ...)
  2019-12-12 18:14 ` [PATCH 28/30] sudo: update to 1.8.29 Alexander Kanavin
@ 2019-12-12 18:14 ` Alexander Kanavin
  2019-12-15  5:23   ` Khem Raj
  2019-12-12 18:14 ` [PATCH 30/30] debianutils: update to 4.9.1 Alexander Kanavin
  2019-12-12 18:32 ` ✗ patchtest: failure for "rpm: upgrade to 4.15.1..." and 29 more Patchwork
  29 siblings, 1 reply; 62+ messages in thread
From: Alexander Kanavin @ 2019-12-12 18:14 UTC (permalink / raw)
  To: openembedded-core

Drop backports, and a musl patch that is no longer needed.

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
 ...de-order-between-config.h-and-stat.h.patch | 156 ---------------
 .../nfs-utils/clang-format-string.patch       | 183 ------------------
 .../nfs-utils-musl-res_querydomain.patch      |  46 -----
 ...{nfs-utils_2.4.1.bb => nfs-utils_2.4.2.bb} |   9 +-
 4 files changed, 3 insertions(+), 391 deletions(-)
 delete mode 100644 meta/recipes-connectivity/nfs-utils/nfs-utils/0001-Fix-include-order-between-config.h-and-stat.h.patch
 delete mode 100644 meta/recipes-connectivity/nfs-utils/nfs-utils/clang-format-string.patch
 delete mode 100644 meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-utils-musl-res_querydomain.patch
 rename meta/recipes-connectivity/nfs-utils/{nfs-utils_2.4.1.bb => nfs-utils_2.4.2.bb} (94%)

diff --git a/meta/recipes-connectivity/nfs-utils/nfs-utils/0001-Fix-include-order-between-config.h-and-stat.h.patch b/meta/recipes-connectivity/nfs-utils/nfs-utils/0001-Fix-include-order-between-config.h-and-stat.h.patch
deleted file mode 100644
index 7b0f93535f9..00000000000
--- a/meta/recipes-connectivity/nfs-utils/nfs-utils/0001-Fix-include-order-between-config.h-and-stat.h.patch
+++ /dev/null
@@ -1,156 +0,0 @@
-From 2fbc62e2a13fc22b6ae4910e295a2c10fb790486 Mon Sep 17 00:00:00 2001
-From: Zoltan Karcagi <zkr7432@gmail.com>
-Date: Mon, 12 Aug 2019 13:27:16 -0400
-Subject: [PATCH] Fix include order between config.h and stat.h
-
-At least on Arch linux ARM, the definition of struct stat in stat.h depends
-on __USE_FILE_OFFSET64. This symbol comes from config.h when defined,
-therefore config.h must always be included before stat.h. Fix all
-occurrences where the order is wrong by moving config.h to the top.
-
-This fixes the client side error "Stale file handle" when mounting from
-a server running Arch Linux ARM.
-
-Signed-off-by: Zoltan Karcagi <zkr7432@gmail.com>
-Signed-off-by: Steve Dickson <steved@redhat.com>
-
-Upstream-Status: Backport
-[http://git.linux-nfs.org/?p=steved/nfs-utils.git;a=commit;h=2fbc62e2a13fc22b6ae4910e295a2c10fb790486]
-
-Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
----
- support/misc/nfsd_path.c         | 5 ++++-
- support/misc/xstat.c             | 5 ++++-
- support/nfs/conffile.c           | 8 +++++++-
- utils/blkmapd/device-discovery.c | 8 ++++----
- utils/idmapd/idmapd.c            | 8 ++++----
- 5 files changed, 23 insertions(+), 11 deletions(-)
-
-diff --git a/support/misc/nfsd_path.c b/support/misc/nfsd_path.c
-index 84e4802..f078a66 100644
---- a/support/misc/nfsd_path.c
-+++ b/support/misc/nfsd_path.c
-@@ -1,3 +1,7 @@
-+#ifdef HAVE_CONFIG_H
-+#include <config.h>
-+#endif
-+
- #include <errno.h>
- #include <sys/types.h>
- #include <sys/stat.h>
-@@ -5,7 +9,6 @@
- #include <stdlib.h>
- #include <unistd.h>
- 
--#include "config.h"
- #include "conffile.h"
- #include "xmalloc.h"
- #include "xlog.h"
-diff --git a/support/misc/xstat.c b/support/misc/xstat.c
-index fa04788..4c997ee 100644
---- a/support/misc/xstat.c
-+++ b/support/misc/xstat.c
-@@ -1,3 +1,7 @@
-+#ifdef HAVE_CONFIG_H
-+#include <config.h>
-+#endif
-+
- #include <errno.h>
- #include <sys/types.h>
- #include <fcntl.h>
-@@ -5,7 +9,6 @@
- #include <sys/sysmacros.h>
- #include <unistd.h>
- 
--#include "config.h"
- #include "xstat.h"
- 
- #ifdef HAVE_FSTATAT
-diff --git a/support/nfs/conffile.c b/support/nfs/conffile.c
-index b6400be..6ba8a35 100644
---- a/support/nfs/conffile.c
-+++ b/support/nfs/conffile.c
-@@ -500,7 +500,7 @@ conf_readfile(const char *path)
- 
- 	if ((stat (path, &sb) == 0) || (errno != ENOENT)) {
- 		char *new_conf_addr = NULL;
--		size_t sz = sb.st_size;
-+		off_t sz;
- 		int fd = open (path, O_RDONLY, 0);
- 
- 		if (fd == -1) {
-@@ -517,6 +517,11 @@ conf_readfile(const char *path)
- 
- 		/* only after we have the lock, check the file size ready to read it */
- 		sz = lseek(fd, 0, SEEK_END);
-+		if (sz < 0) {
-+			xlog_warn("conf_readfile: unable to determine file size: %s",
-+				  strerror(errno));
-+			goto fail;
-+		}
- 		lseek(fd, 0, SEEK_SET);
- 
- 		new_conf_addr = malloc(sz+1);
-@@ -2162,6 +2167,7 @@ conf_write(const char *filename, const char *section, const char *arg,
- 	ret = 0;
- 
- cleanup:
-+	flush_outqueue(&inqueue, NULL);
- 	flush_outqueue(&outqueue, NULL);
- 
- 	if (buff)
-diff --git a/utils/blkmapd/device-discovery.c b/utils/blkmapd/device-discovery.c
-index e811703..f5f9b10 100644
---- a/utils/blkmapd/device-discovery.c
-+++ b/utils/blkmapd/device-discovery.c
-@@ -26,6 +26,10 @@
-  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-  */
- 
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif /* HAVE_CONFIG_H */
-+
- #include <sys/sysmacros.h>
- #include <sys/types.h>
- #include <sys/stat.h>
-@@ -51,10 +55,6 @@
- #include <errno.h>
- #include <libdevmapper.h>
- 
--#ifdef HAVE_CONFIG_H
--#include "config.h"
--#endif /* HAVE_CONFIG_H */
--
- #include "device-discovery.h"
- #include "xcommon.h"
- #include "nfslib.h"
-diff --git a/utils/idmapd/idmapd.c b/utils/idmapd/idmapd.c
-index 62e37b8..267acea 100644
---- a/utils/idmapd/idmapd.c
-+++ b/utils/idmapd/idmapd.c
-@@ -34,6 +34,10 @@
-  *  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-  */
- 
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif /* HAVE_CONFIG_H */
-+
- #include <sys/types.h>
- #include <sys/time.h>
- #include <sys/inotify.h>
-@@ -62,10 +66,6 @@
- #include <libgen.h>
- #include <nfsidmap.h>
- 
--#ifdef HAVE_CONFIG_H
--#include "config.h"
--#endif /* HAVE_CONFIG_H */
--
- #include "xlog.h"
- #include "conffile.h"
- #include "queue.h"
--- 
-2.7.4
-
diff --git a/meta/recipes-connectivity/nfs-utils/nfs-utils/clang-format-string.patch b/meta/recipes-connectivity/nfs-utils/nfs-utils/clang-format-string.patch
deleted file mode 100644
index 1d693e4142a..00000000000
--- a/meta/recipes-connectivity/nfs-utils/nfs-utils/clang-format-string.patch
+++ /dev/null
@@ -1,183 +0,0 @@
-Clang comes up with more printf format warnings
-Correcting “format string is not a string literal” warning
-requires us to declare that parameter is a printf style 
-format using the attribute flag
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-Index: nfs-utils-2.3.3/support/include/xcommon.h
-===================================================================
---- nfs-utils-2.3.3.orig/support/include/xcommon.h
-+++ nfs-utils-2.3.3/support/include/xcommon.h
-@@ -27,7 +27,7 @@
- 
- /* Functions in sundries.c that are used in mount.c and umount.c  */ 
- char *canonicalize (const char *path);
--void nfs_error (const char *fmt, ...);
-+void nfs_error (const char *fmt, ...) __attribute__((__format__ (__printf__, 1, 2)));
- void *xmalloc (size_t size);
- void *xrealloc(void *p, size_t size);
- void xfree(void *);
-@@ -36,9 +36,9 @@ char *xstrndup (const char *s, int n);
- char *xstrconcat2 (const char *, const char *);
- char *xstrconcat3 (const char *, const char *, const char *);
- char *xstrconcat4 (const char *, const char *, const char *, const char *);
--void die (int errcode, const char *fmt, ...);
-+void die (int errcode, const char *fmt, ...) __attribute__((__format__ (__printf__, 2, 3)));
- 
--extern void die(int err, const char *fmt, ...);
-+extern void die(int err, const char *fmt, ...) __attribute__((__format__ (__printf__, 2, 3)));
- extern void (*at_die)(void);
- 
- /* exit status - bits below are ORed */
-Index: nfs-utils-2.3.3/support/include/xlog.h
-===================================================================
---- nfs-utils-2.3.3.orig/support/include/xlog.h
-+++ nfs-utils-2.3.3/support/include/xlog.h
-@@ -43,10 +43,10 @@ void			xlog_config(int fac, int on);
- void			xlog_sconfig(char *, int on);
- void			xlog_from_conffile(char *);
- int			xlog_enabled(int fac);
--void			xlog(int fac, const char *fmt, ...);
--void			xlog_warn(const char *fmt, ...);
--void			xlog_err(const char *fmt, ...);
--void			xlog_errno(int err, const char *fmt, ...);
--void			xlog_backend(int fac, const char *fmt, va_list args);
-+void			xlog(int fac, const char *fmt, ...) __attribute__((__format__ (__printf__, 2, 3)));
-+void			xlog_warn(const char *fmt, ...) __attribute__((__format__ (__printf__, 1, 2)));
-+void			xlog_err(const char *fmt, ...) __attribute__((__format__ (__printf__, 1, 2)));
-+void			xlog_errno(int err, const char *fmt, ...) __attribute__((__format__ (__printf__, 2, 3)));
-+void			xlog_backend(int fac, const char *fmt, va_list args) __attribute__((__format__ (__printf__, 2, 0)));
- 
- #endif /* XLOG_H */
-Index: nfs-utils-2.3.3/support/nfs/xcommon.c
-===================================================================
---- nfs-utils-2.3.3.orig/support/nfs/xcommon.c
-+++ nfs-utils-2.3.3/support/nfs/xcommon.c
-@@ -93,7 +93,10 @@ nfs_error (const char *fmt, ...) {
- 
-      fmt2 = xstrconcat2 (fmt, "\n");
-      va_start (args, fmt);
-+#pragma clang diagnostic push
-+#pragma clang diagnostic ignored "-Wformat-nonliteral"
-      vfprintf (stderr, fmt2, args);
-+#pragma clang diagnostic pop
-      va_end (args);
-      free (fmt2);
- }
-Index: nfs-utils-2.3.3/utils/exportfs/exportfs.c
-===================================================================
---- nfs-utils-2.3.3.orig/utils/exportfs/exportfs.c
-+++ nfs-utils-2.3.3/utils/exportfs/exportfs.c
-@@ -644,6 +644,7 @@ out:
- 	return result;
- }
- 
-+__attribute__((__format__ (__printf__, 2, 3)))
- static char
- dumpopt(char c, char *fmt, ...)
- {
-Index: nfs-utils-2.3.3/utils/statd/statd.c
-===================================================================
---- nfs-utils-2.3.3.orig/utils/statd/statd.c
-+++ nfs-utils-2.3.3/utils/statd/statd.c
-@@ -136,7 +136,7 @@ static void log_modes(void)
- 	strcat(buf, "TI-RPC ");
- #endif
- 
--	xlog_warn(buf);
-+	xlog_warn("%s", buf);
- }
- 
- /*
-Index: nfs-utils-2.3.3/support/nfs/svc_create.c
-===================================================================
---- nfs-utils-2.3.3.orig/support/nfs/svc_create.c
-+++ nfs-utils-2.3.3/support/nfs/svc_create.c
-@@ -184,7 +184,7 @@ svc_create_sock(const struct sockaddr *s
- 		type = SOCK_STREAM;
- 		break;
- 	default:
--		xlog(D_GENERAL, "%s: Unrecognized bind address semantics: %u",
-+		xlog(D_GENERAL, "%s: Unrecognized bind address semantics: %lu",
- 			__func__, nconf->nc_semantics);
- 		return -1;
- 	}
-Index: nfs-utils-2.3.3/support/nsm/rpc.c
-===================================================================
---- nfs-utils-2.3.3.orig/support/nsm/rpc.c
-+++ nfs-utils-2.3.3/support/nsm/rpc.c
-@@ -182,7 +182,7 @@ nsm_xmit_getport(const int sock, const s
- 	uint32_t xid;
- 	XDR xdr;
- 
--	xlog(D_CALL, "Sending PMAP_GETPORT for %u, %u, udp", program, version);
-+	xlog(D_CALL, "Sending PMAP_GETPORT for %lu, %lu, udp", program, version);
- 
- 	nsm_init_xdrmem(msgbuf, NSM_MAXMSGSIZE, &xdr);
- 	xid = nsm_init_rpc_header(PMAPPROG, PMAPVERS,
-Index: nfs-utils-2.3.3/utils/mountd/cache.c
-===================================================================
---- nfs-utils-2.3.3.orig/utils/mountd/cache.c
-+++ nfs-utils-2.3.3/utils/mountd/cache.c
-@@ -968,8 +968,7 @@ lookup_export(char *dom, char *path, str
- 			} else if (found_type == i && found->m_warned == 0) {
- 				xlog(L_WARNING, "%s exported to both %s and %s, "
- 				     "arbitrarily choosing options from first",
--				     path, found->m_client->m_hostname, exp->m_client->m_hostname,
--				     dom);
-+				     path, found->m_client->m_hostname, exp->m_client->m_hostname);
- 				found->m_warned = 1;
- 			}
- 		}
-Index: nfs-utils-2.3.3/utils/mountd/mountd.c
-===================================================================
---- nfs-utils-2.3.3.orig/utils/mountd/mountd.c
-+++ nfs-utils-2.3.3/utils/mountd/mountd.c
-@@ -213,7 +213,7 @@ static void
- sig_hup (int sig)
- {
- 	/* don't exit on SIGHUP */
--	xlog (L_NOTICE, "Received SIGHUP... Ignoring.\n", sig);
-+	xlog (L_NOTICE, "Received SIGHUP(%d)... Ignoring.\n", sig);
- 	return;
- }
- 
-Index: nfs-utils-2.3.3/utils/statd/rmtcall.c
-===================================================================
---- nfs-utils-2.3.3.orig/utils/statd/rmtcall.c
-+++ nfs-utils-2.3.3/utils/statd/rmtcall.c
-@@ -247,7 +247,7 @@ process_reply(FD_SET_TYPE *rfds)
- 		xlog_warn("%s: service %d not registered on localhost",
- 			__func__, NL_MY_PROG(lp));
- 	} else {
--		xlog(D_GENERAL, "%s: Callback to %s (for %d) succeeded",
-+		xlog(D_GENERAL, "%s: Callback to %s (for %s) succeeded",
- 			__func__, NL_MY_NAME(lp), NL_MON_NAME(lp));
- 	}
- 	nlist_free(&notify, lp);
-Index: nfs-utils-2.3.3/utils/statd/svc_run.c
-===================================================================
---- nfs-utils-2.3.3.orig/utils/statd/svc_run.c
-+++ nfs-utils-2.3.3/utils/statd/svc_run.c
-@@ -53,6 +53,7 @@
- 
- #include <errno.h>
- #include <time.h>
-+#include <inttypes.h>
- #include "statd.h"
- #include "notlist.h"
- 
-@@ -104,8 +105,8 @@ my_svc_run(int sockfd)
- 
- 			tv.tv_sec  = NL_WHEN(notify) - now;
- 			tv.tv_usec = 0;
--			xlog(D_GENERAL, "Waiting for reply... (timeo %d)",
--							tv.tv_sec);
-+			xlog(D_GENERAL, "Waiting for reply... (timeo %jd)",
-+							(intmax_t)tv.tv_sec);
- 			selret = select(FD_SETSIZE, &readfds,
- 				(void *) 0, (void *) 0, &tv);
- 		} else {
diff --git a/meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-utils-musl-res_querydomain.patch b/meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-utils-musl-res_querydomain.patch
deleted file mode 100644
index 921f5edc82f..00000000000
--- a/meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-utils-musl-res_querydomain.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From caa19231196d73541445728e6813c8fa70345acb Mon Sep 17 00:00:00 2001
-From: Robert Yang <liezhi.yang@windriver.com>
-Date: Tue, 26 Jun 2018 15:59:00 +0800
-Subject: [PATCH] nfs-utils: 2.1.1 -> 2.3.1
-
-Fixed:
-configure: error: res_querydomain needed
-
-Upstream-Status: Pending [https://github.com/alpinelinux/aports/blob/master/main/nfs-utils/musl-configure_ac.patch]
-
-Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
-
----
- configure.ac | 9 ++++-----
- 1 file changed, 4 insertions(+), 5 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 50002b4..dcadb23 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -582,10 +582,10 @@ my_am_cflags="\
-  -Wall \
-  -Wextra \
-  $rpcgen_cflags \
-- -Werror=missing-prototypes \
-- -Werror=missing-declarations \
-+ -Wmissing-prototypes \
-+ -Wmissing-declarations \
-  -Werror=format=2 \
-- -Werror=undef \
-+ -Wundef \
-  -Werror=missing-include-dirs \
-  -Werror=strict-aliasing=2 \
-  -Werror=init-self \
-@@ -614,10 +614,9 @@ AC_DEFUN([CHECK_CCSUPPORT], [
- 
- CHECK_CCSUPPORT([-Werror=format-overflow=2], [flg1])
- CHECK_CCSUPPORT([-Werror=int-conversion], [flg2])
--CHECK_CCSUPPORT([-Werror=incompatible-pointer-types], [flg3])
- CHECK_CCSUPPORT([-Werror=misleading-indentation], [flg4])
- 
--AC_SUBST([AM_CFLAGS], ["$my_am_cflags $flg1 $flg2 $flg3 $flg4"])
-+AC_SUBST([AM_CFLAGS], ["$my_am_cflags $flg1 $flg2 $flg4"])
- 
- # Make sure that $ACLOCAL_FLAGS are used during a rebuild
- AC_SUBST([ACLOCAL_AMFLAGS], ["-I $ac_macro_dir \$(ACLOCAL_FLAGS)"])
diff --git a/meta/recipes-connectivity/nfs-utils/nfs-utils_2.4.1.bb b/meta/recipes-connectivity/nfs-utils/nfs-utils_2.4.2.bb
similarity index 94%
rename from meta/recipes-connectivity/nfs-utils/nfs-utils_2.4.1.bb
rename to meta/recipes-connectivity/nfs-utils/nfs-utils_2.4.2.bb
index eb32bccb57c..df3070bd8b0 100644
--- a/meta/recipes-connectivity/nfs-utils/nfs-utils_2.4.1.bb
+++ b/meta/recipes-connectivity/nfs-utils/nfs-utils_2.4.2.bb
@@ -29,16 +29,13 @@ SRC_URI = "${KERNELORG_MIRROR}/linux/utils/nfs-utils/${PV}/nfs-utils-${PV}.tar.x
            file://nfs-utils-debianize-start-statd.patch \
            file://bugfix-adjust-statd-service-name.patch \
            file://0001-cacheio-use-intmax_t-for-formatted-IO.patch \
-           file://clang-format-string.patch \
            file://0001-Makefile.am-fix-undefined-function-for-libnsm.a.patch \
            file://0001-Don-t-build-tools-with-CC_FOR_BUILD.patch \
-           file://0001-Fix-include-order-between-config.h-and-stat.h.patch \
-"
+           "
 SRC_URI_append_libc-glibc = " file://0001-configure.ac-Do-not-fatalize-Wmissing-prototypes.patch"
-SRC_URI_append_libc-musl = " file://nfs-utils-musl-res_querydomain.patch"
 
-SRC_URI[md5sum] = "161efe469ec1b06f1c750bd87f8ba6dd"
-SRC_URI[sha256sum] = "85274ada94479b1beba9f8eeffd19f477c53a6710b9998d1192c807854087736"
+SRC_URI[md5sum] = "d427c6b3014e9a04e8498f0598b1c1b9"
+SRC_URI[sha256sum] = "4464737a03d5f73ded2ffefe19d5543ed7b1d6c541985d8acaafdc8025aa1038"
 
 # Only kernel-module-nfsd is required here (but can be built-in)  - the nfsd module will
 # pull in the remainder of the dependencies.
-- 
2.17.1



^ permalink raw reply related	[flat|nested] 62+ messages in thread

* [PATCH 30/30] debianutils: update to 4.9.1
  2019-12-12 18:14 [PATCH 01/30] rpm: upgrade to 4.15.1 Alexander Kanavin
                   ` (27 preceding siblings ...)
  2019-12-12 18:14 ` [PATCH 29/30] nfs-utils: update to 2.4.2 Alexander Kanavin
@ 2019-12-12 18:14 ` Alexander Kanavin
  2019-12-12 18:32 ` ✗ patchtest: failure for "rpm: upgrade to 4.15.1..." and 29 more Patchwork
  29 siblings, 0 replies; 62+ messages in thread
From: Alexander Kanavin @ 2019-12-12 18:14 UTC (permalink / raw)
  To: openembedded-core

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
 .../{debianutils_4.8.6.3.bb => debianutils_4.9.1.bb}        | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)
 rename meta/recipes-support/debianutils/{debianutils_4.8.6.3.bb => debianutils_4.9.1.bb} (87%)

diff --git a/meta/recipes-support/debianutils/debianutils_4.8.6.3.bb b/meta/recipes-support/debianutils/debianutils_4.9.1.bb
similarity index 87%
rename from meta/recipes-support/debianutils/debianutils_4.8.6.3.bb
rename to meta/recipes-support/debianutils/debianutils_4.9.1.bb
index a69d01e0f95..904c52780f4 100644
--- a/meta/recipes-support/debianutils/debianutils_4.8.6.3.bb
+++ b/meta/recipes-support/debianutils/debianutils_4.9.1.bb
@@ -3,13 +3,13 @@ SECTION = "base"
 LICENSE = "GPLv2 & SMAIL_GPL"
 LIC_FILES_CHKSUM = "file://debian/copyright;md5=f01a5203d50512fc4830b4332b696a9f"
 
-SRC_URI = "http://snapshot.debian.org/archive/debian/20190717T213444Z/pool/main/d/${BPN}/${BPN}_${PV}.tar.xz"
+SRC_URI = "http://snapshot.debian.org/archive/debian/20191212T145612Z/pool/main/d/${BPN}/${BPN}_${PV}.tar.xz"
 # the package is taken from snapshots.debian.org; that source is static and goes stale
 # so we check the latest upstream from a directory that does get updated
 UPSTREAM_CHECK_URI = "${DEBIAN_MIRROR}/main/d/${BPN}/"
 
-SRC_URI[md5sum] = "ca57cc6621275346d7d516ab0b5fa1f5"
-SRC_URI[sha256sum] = "2cc7de3afc6df1cf6d00af9938efac7ee8f739228e548e512ddc186b6a7be221"
+SRC_URI[md5sum] = "95633416680bfd249b7cb07d94137048"
+SRC_URI[sha256sum] = "af826685d9c56abfa873e84cd392539cd363cb0ba04a09d21187377e1b764091"
 
 inherit autotools update-alternatives
 
-- 
2.17.1



^ permalink raw reply related	[flat|nested] 62+ messages in thread

* ✗ patchtest: failure for "rpm: upgrade to 4.15.1..." and 29 more
  2019-12-12 18:14 [PATCH 01/30] rpm: upgrade to 4.15.1 Alexander Kanavin
                   ` (28 preceding siblings ...)
  2019-12-12 18:14 ` [PATCH 30/30] debianutils: update to 4.9.1 Alexander Kanavin
@ 2019-12-12 18:32 ` Patchwork
  29 siblings, 0 replies; 62+ messages in thread
From: Patchwork @ 2019-12-12 18:32 UTC (permalink / raw)
  To: Alexander Kanavin; +Cc: openembedded-core

== Series Details ==

Series: "rpm: upgrade to 4.15.1..." and 29 more
Revision: 1
URL   : https://patchwork.openembedded.org/series/21597/
State : failure

== Summary ==


Thank you for submitting this patch series to OpenEmbedded Core. This is
an automated response. Several tests have been executed on the proposed
series by patchtest resulting in the following failures:



* Issue             A patch file has been added, but does not have a Signed-off-by tag [test_signed_off_by_presence] 
  Suggested fix    Sign off the added patch file (meta/recipes-extended/cups/cups/0001-cups-Update-to-1.6.1.patch)

* Issue             Upstream-Status is Inappropriate, but no reason was provided [test_upstream_status_presence_format] 
  Suggested fix    Include a brief reason why use-pkgconfig.patch is inappropriate
  Current          Upstream-Status: Inappropriate (upstream still refuse to consider pkg-config)
  Standard format  Upstream-Status: Inappropriate [reason]



If you believe any of these test results are incorrect, please reply to the
mailing list (openembedded-core@lists.openembedded.org) raising your concerns.
Otherwise we would appreciate you correcting the issues and submitting a new
version of the patchset if applicable. Please ensure you add/increment the
version number when sending the new version (i.e. [PATCH] -> [PATCH v2] ->
[PATCH v3] -> ...).

---
Guidelines:     https://www.openembedded.org/wiki/Commit_Patch_Message_Guidelines
Test framework: http://git.yoctoproject.org/cgit/cgit.cgi/patchtest
Test suite:     http://git.yoctoproject.org/cgit/cgit.cgi/patchtest-oe



^ permalink raw reply	[flat|nested] 62+ messages in thread

* Re: [PATCH 23/30] cups: update to 2.3.0
  2019-12-12 18:14 ` [PATCH 23/30] cups: update to 2.3.0 Alexander Kanavin
@ 2019-12-13  2:55   ` Mittal, Anuj
  2019-12-13 11:50     ` Alexander Kanavin
  0 siblings, 1 reply; 62+ messages in thread
From: Mittal, Anuj @ 2019-12-13  2:55 UTC (permalink / raw)
  To: openembedded-core, alex.kanavin

On Thu, 2019-12-12 at 19:14 +0100, Alexander Kanavin wrote:
> diff --git a/meta/recipes-extended/cups/cups/0001-cups-Update-to-
> 1.6.1.patch b/meta/recipes-extended/cups/cups/0001-cups-Update-to-
> 1.6.1.patch
> new file mode 100644
> index 00000000000..1cd02e8b324
> --- /dev/null
> +++ b/meta/recipes-extended/cups/cups/0001-cups-Update-to-1.6.1.patch
> @@ -0,0 +1,27 @@
> +From a3f4d8ba97f4669a95943a7e65eb61aa44ce7999 Mon Sep 17 00:00:00
> 2001
> +From: Saul Wold <sgw@linux.intel.com>
> +Date: Thu, 13 Dec 2012 19:03:52 -0800
> +Subject: [PATCH 1/4] cups: Update to 1.6.1

Looks like devtool changed the subject of original patch which was
use_echo_only_in_init.patch. Perhaps we should change it back so we
know why was the patch needed.

Thanks,

Anuj

^ permalink raw reply	[flat|nested] 62+ messages in thread

* Re: [PATCH 23/30] cups: update to 2.3.0
  2019-12-13  2:55   ` Mittal, Anuj
@ 2019-12-13 11:50     ` Alexander Kanavin
  0 siblings, 0 replies; 62+ messages in thread
From: Alexander Kanavin @ 2019-12-13 11:50 UTC (permalink / raw)
  To: Mittal, Anuj; +Cc: openembedded-core

[-- Attachment #1: Type: text/plain, Size: 916 bytes --]

On Fri, 13 Dec 2019 at 03:55, Mittal, Anuj <anuj.mittal@intel.com> wrote:

> On Thu, 2019-12-12 at 19:14 +0100, Alexander Kanavin wrote:
> > diff --git a/meta/recipes-extended/cups/cups/0001-cups-Update-to-
> > 1.6.1.patch b/meta/recipes-extended/cups/cups/0001-cups-Update-to-
> > 1.6.1.patch
> > new file mode 100644
> > index 00000000000..1cd02e8b324
> > --- /dev/null
> > +++ b/meta/recipes-extended/cups/cups/0001-cups-Update-to-1.6.1.patch
> > @@ -0,0 +1,27 @@
> > +From a3f4d8ba97f4669a95943a7e65eb61aa44ce7999 Mon Sep 17 00:00:00
> > 2001
> > +From: Saul Wold <sgw@linux.intel.com>
> > +Date: Thu, 13 Dec 2012 19:03:52 -0800
> > +Subject: [PATCH 1/4] cups: Update to 1.6.1
>
> Looks like devtool changed the subject of original patch which was
> use_echo_only_in_init.patch. Perhaps we should change it back so we
> know why was the patch needed.
>

Thanks, I have fixed this.

Alex

[-- Attachment #2: Type: text/html, Size: 1356 bytes --]

^ permalink raw reply	[flat|nested] 62+ messages in thread

* Re: [PATCH 19/30] acl/attr: update to latest upstream releases
  2019-12-12 18:14 ` [PATCH 19/30] acl/attr: update to latest upstream releases Alexander Kanavin
@ 2019-12-14 20:24   ` Khem Raj
  2019-12-14 20:48     ` Alexander Kanavin
  0 siblings, 1 reply; 62+ messages in thread
From: Khem Raj @ 2019-12-14 20:24 UTC (permalink / raw)
  To: Alexander Kanavin; +Cc: Patches and discussions about the oe-core layer

breaks pseudo-native

http://errors.yoctoproject.org/Errors/Details/297280/

On Thu, Dec 12, 2019 at 10:18 AM Alexander Kanavin
<alex.kanavin@gmail.com> wrote:
>
> The latest release use standard autotools, so drop all
> the build system related hacks and patches.
>
> Ptests have been rewritten, with 100% pass rate for both.
>
> Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
> ---
>  .../0001-test-patch-out-failing-bits.patch    |  63 ++
>  ...dcode-the-build-path-into-a-helper-l.patch |  24 +
>  ...file-libacl-should-depend-on-include.patch |  51 --
>  ...-order-of-expected-output-of-getfacl.patch | 198 ------
>  meta/recipes-support/attr/acl/configure.ac    |  49 --
>  meta/recipes-support/attr/acl/run-ptest       |  60 +-
>  .../acl/test-fix-directory-permissions.patch  |  37 -
>  .../test-fix-insufficient-quoting-of.patch    | 100 ---
>  ...-SELinux-machines-for-root-testcases.patch |  84 ---
>  meta/recipes-support/attr/acl_2.2.52.bb       |  52 --
>  meta/recipes-support/attr/acl_2.2.53.bb       |  60 ++
>  meta/recipes-support/attr/attr.inc            |  41 +-
>  .../0001-Use-stdint-types-consistently.patch  |  69 --
>  .../attr/attr/attr-Missing-configure.ac.patch |  63 --
>  .../attr/attr/dont-use-decl-macros.patch      |  56 --
>  meta/recipes-support/attr/attr/run-ptest      |   3 +
>  meta/recipes-support/attr/attr_2.4.47.bb      |  15 -
>  meta/recipes-support/attr/attr_2.4.48.bb      |   6 +
>  meta/recipes-support/attr/ea-acl.inc          |  52 --
>  ...option-to-enable-disable-static-libr.patch |  70 --
>  ...e-attr.5-man-page-moved-to-man-pages.patch | 240 -------
>  .../Remove-the-section-2-man-pages.patch      | 666 ------------------
>  .../attr/files/relative-libdir.patch          |  25 -
>  meta/recipes-support/attr/files/run-ptest     |   5 -
>  24 files changed, 182 insertions(+), 1907 deletions(-)
>  create mode 100644 meta/recipes-support/attr/acl/0001-test-patch-out-failing-bits.patch
>  create mode 100644 meta/recipes-support/attr/acl/0001-tests-do-not-hardcode-the-build-path-into-a-helper-l.patch
>  delete mode 100644 meta/recipes-support/attr/acl/Makefile-libacl-should-depend-on-include.patch
>  delete mode 100644 meta/recipes-support/attr/acl/acl-fix-the-order-of-expected-output-of-getfacl.patch
>  delete mode 100644 meta/recipes-support/attr/acl/configure.ac
>  delete mode 100644 meta/recipes-support/attr/acl/test-fix-directory-permissions.patch
>  delete mode 100644 meta/recipes-support/attr/acl/test-fix-insufficient-quoting-of.patch
>  delete mode 100644 meta/recipes-support/attr/acl/test-fixups-on-SELinux-machines-for-root-testcases.patch
>  delete mode 100644 meta/recipes-support/attr/acl_2.2.52.bb
>  create mode 100644 meta/recipes-support/attr/acl_2.2.53.bb
>  delete mode 100644 meta/recipes-support/attr/attr/0001-Use-stdint-types-consistently.patch
>  delete mode 100644 meta/recipes-support/attr/attr/attr-Missing-configure.ac.patch
>  delete mode 100644 meta/recipes-support/attr/attr/dont-use-decl-macros.patch
>  create mode 100644 meta/recipes-support/attr/attr/run-ptest
>  delete mode 100644 meta/recipes-support/attr/attr_2.4.47.bb
>  create mode 100644 meta/recipes-support/attr/attr_2.4.48.bb
>  delete mode 100644 meta/recipes-support/attr/ea-acl.inc
>  delete mode 100644 meta/recipes-support/attr/files/0001-Added-configure-option-to-enable-disable-static-libr.patch
>  delete mode 100644 meta/recipes-support/attr/files/Remove-the-attr.5-man-page-moved-to-man-pages.patch
>  delete mode 100644 meta/recipes-support/attr/files/Remove-the-section-2-man-pages.patch
>  delete mode 100644 meta/recipes-support/attr/files/relative-libdir.patch
>  delete mode 100644 meta/recipes-support/attr/files/run-ptest
>
> diff --git a/meta/recipes-support/attr/acl/0001-test-patch-out-failing-bits.patch b/meta/recipes-support/attr/acl/0001-test-patch-out-failing-bits.patch
> new file mode 100644
> index 00000000000..ba2ffee5d27
> --- /dev/null
> +++ b/meta/recipes-support/attr/acl/0001-test-patch-out-failing-bits.patch
> @@ -0,0 +1,63 @@
> +From 9e08219e0e99ee2589cf35fa8d52cef3515accce Mon Sep 17 00:00:00 2001
> +From: Alexander Kanavin <alex.kanavin@gmail.com>
> +Date: Thu, 12 Dec 2019 15:47:49 +0100
> +Subject: [PATCH] test: patch out failing bits
> +
> +I have confirmed on the host distro (Ubuntu 18.04) that they
> +fail as well; upstream probably haven't noticed because the
> +test is only executed under sudo.
> +
> +Upstream-Status: Inappropriate [disabling tests instead of fixing them properly]
> +Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
> +---
> + test/root/permissions.test | 13 -------------
> + 1 file changed, 13 deletions(-)
> +
> +diff --git a/test/root/permissions.test b/test/root/permissions.test
> +index 8f8f825..21e8a95 100644
> +--- a/test/root/permissions.test
> ++++ b/test/root/permissions.test
> +@@ -50,10 +50,6 @@ User daemon is a member in the owning group, which has only read access.
> + Verify this.
> +
> +       $ su daemon
> +-      $ cat f
> +-      > root
> +-      > bin
> +-
> +       $ echo daemon >> f
> +       >~ .*f: Permission denied$
> +
> +@@ -146,8 +142,6 @@ the owning group, he should still have no write access.
> +       $ setfacl -x g:daemon f
> +
> +       $ su daemon
> +-      $ echo daemon4 >> f
> +-      >~ .*f: Permission denied$
> +
> +
> + Change the owning group. The other permissions should now grant user
> +@@ -158,12 +152,6 @@ daemon write access.
> +
> +       $ su daemon
> +       $ echo daemon5 >> f
> +-      $ cat f
> +-      > root
> +-      > bin
> +-      > daemon
> +-      > daemon2
> +-      > daemon5
> +
> +
> + Verify that permissions in separate matching ACL entries do not
> +@@ -173,7 +161,6 @@ accumulate.
> +       $ setfacl -m g:bin:r,g:daemon:w f
> +
> +       $ su daemon
> +-      $ : < f
> +       $ : > f
> +       $ : <> f
> +       >~ .*f: Permission denied$
> +--
> +2.17.1
> +
> diff --git a/meta/recipes-support/attr/acl/0001-tests-do-not-hardcode-the-build-path-into-a-helper-l.patch b/meta/recipes-support/attr/acl/0001-tests-do-not-hardcode-the-build-path-into-a-helper-l.patch
> new file mode 100644
> index 00000000000..57ef0bb728c
> --- /dev/null
> +++ b/meta/recipes-support/attr/acl/0001-tests-do-not-hardcode-the-build-path-into-a-helper-l.patch
> @@ -0,0 +1,24 @@
> +From 39d332a8801de5d9ef09dacb3dba85c208b7b2ad Mon Sep 17 00:00:00 2001
> +From: Alexander Kanavin <alex.kanavin@gmail.com>
> +Date: Thu, 12 Dec 2019 13:45:52 +0100
> +Subject: [PATCH] tests: do not hardcode the build path into a helper library
> +
> +Upstream-Status: Inappropriate [oe-core specific]
> +Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
> +---
> + test/Makemodule.am | 2 +-
> + 1 file changed, 1 insertion(+), 1 deletion(-)
> +
> +diff --git a/test/Makemodule.am b/test/Makemodule.am
> +index 17d4927..015de7f 100644
> +--- a/test/Makemodule.am
> ++++ b/test/Makemodule.am
> +@@ -30,7 +30,7 @@ EXTRA_DIST += \
> + check_LTLIBRARIES = libtestlookup.la
> +
> + libtestlookup_la_SOURCES = test/test_passwd.c test/test_group.c
> +-libtestlookup_la_CFLAGS = -DBASEDIR=\"$(abs_srcdir)\"
> ++libtestlookup_la_CFLAGS = -DBASEDIR=\"/tmp/acl-ptest\"
> + libtestlookup_la_LDFLAGS = -rpath $(abs_builddir)
> +
> + AM_TESTS_ENVIRONMENT = PATH="$(abs_top_builddir):$$PATH";
> diff --git a/meta/recipes-support/attr/acl/Makefile-libacl-should-depend-on-include.patch b/meta/recipes-support/attr/acl/Makefile-libacl-should-depend-on-include.patch
> deleted file mode 100644
> index 4c7cba3b88d..00000000000
> --- a/meta/recipes-support/attr/acl/Makefile-libacl-should-depend-on-include.patch
> +++ /dev/null
> @@ -1,51 +0,0 @@
> -From d82457ce5ca7455e336da5e244d95f90e52aaef8 Mon Sep 17 00:00:00 2001
> -From: Robert Yang <liezhi.yang@windriver.com>
> -Date: Tue, 18 Apr 2017 01:17:26 -0700
> -Subject: [PATCH] Makefile: libacl should depend on include
> -
> -Fixed race issue:
> - In file included from acl_copy_entry.c:22:0:
> - libacl.h:19:21: fatal error: sys/acl.h: No such file or directory
> -  #include <sys/acl.h>
> -
> -[snip]
> -
> - compilation terminated.
> - acl_get_file.c:27:24: fatal error: acl/libacl.h: No such file or directory
> -  #include <acl/libacl.h>
> -                         ^
> -
> -The acl.h is in "include" directory, and include/Makefile creates
> -symlink "sys" and "acl" poinst to current dirctory:
> -$ ls include/ -l
> -acl -> .
> -sys -> .
> -
> -So if "libacl" target runs before "include", the error would happen
> -since no "acl" or "sys" directory.
> -
> -Let libacl depend on include can fix the problem.
> -
> -Upstream-Status: Pending
> -
> -Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
> ----
> - Makefile | 2 +-
> - 1 file changed, 1 insertion(+), 1 deletion(-)
> -
> -diff --git a/Makefile b/Makefile
> -index dce32d3..8a79379 100644
> ---- a/Makefile
> -+++ b/Makefile
> -@@ -48,7 +48,7 @@ else
> - endif
> -
> - # tool/lib dependencies
> --libacl: libmisc
> -+libacl: include libmisc
> - getfacl setfacl chacl: libacl
> -
> - ifeq ($(HAVE_BUILDDEFS), yes)
> ---
> -2.10.2
> -
> diff --git a/meta/recipes-support/attr/acl/acl-fix-the-order-of-expected-output-of-getfacl.patch b/meta/recipes-support/attr/acl/acl-fix-the-order-of-expected-output-of-getfacl.patch
> deleted file mode 100644
> index cf765fdbb89..00000000000
> --- a/meta/recipes-support/attr/acl/acl-fix-the-order-of-expected-output-of-getfacl.patch
> +++ /dev/null
> @@ -1,198 +0,0 @@
> -acl: fix the order of expected output of getfacl
> -
> -The result of getfacl is sorted by user id.
> -In Centos or RHEL, bin user id is 1 and daemon user id is 2.
> -But in our image, bin user id is 2 and daemon user id is 1.
> -The patch fixes this issue to make ptest pass.
> -
> -Upstream-Status: Inappropriate [embedded specific]
> -
> -Signed-off-by: Chong Lu <Chong.Lu@windriver.com>
> ----
> - test/misc.test |   38 +++++++++++++++++++-------------------
> - 1 file changed, 19 insertions(+), 19 deletions(-)
> -
> -diff --git a/test/misc.test b/test/misc.test
> -index 6e98053..53ae5b0 100644
> ---- a/test/misc.test
> -+++ b/test/misc.test
> -@@ -79,8 +79,8 @@ Multiple users
> -
> -       $ getfacl --omit-header f
> -       > user::rw-
> --      > user:bin:rw-
> -       > user:daemon:r--
> -+      > user:bin:rw-
> -       > group::r--
> -       > mask::rw-
> -       > other::r--
> -@@ -94,8 +94,8 @@ Multiple groups
> -
> -       $ getfacl --omit-header f
> -       > user::rw-
> --      > user:bin:rw-
> -       > user:daemon:r--
> -+      > user:bin:rw-
> -       > group::r--
> -       > group:daemon:r--
> -       > group:users:rw-
> -@@ -111,8 +111,8 @@ Remove one group
> -
> -       $ getfacl --omit-header f
> -       > user::rw-
> --      > user:bin:rw-
> -       > user:daemon:r--
> -+      > user:bin:rw-
> -       > group::r--
> -       > group:daemon:r--
> -       > mask::rw-
> -@@ -146,8 +146,8 @@ Default ACL
> -
> -       $ getfacl --omit-header d
> -       > user::rwx
> --      > user:bin:rwx
> -       > user:daemon:rw-
> -+      > user:bin:rwx
> -       > group::r-x
> -       > mask::rwx
> -       > other::---
> -@@ -236,16 +236,16 @@ Add some users and groups
> -
> -       $ getfacl --omit-header d/d
> -       > user::rwx
> --      > user:bin:rwx  #effective:r-x
> -       > user:daemon:r-x
> -+      > user:bin:rwx  #effective:r-x
> -       > group::r-x
> -       > group:daemon:rwx      #effective:r-x
> -       > group:users:r-x
> -       > mask::r-x
> -       > other::---
> -       > default:user::rwx
> --      > default:user:bin:rwx  #effective:r-x
> -       > default:user:daemon:r-x
> -+      > default:user:bin:rwx  #effective:r-x
> -       > default:group::r-x
> -       > default:mask::r-x
> -       > default:other::---
> -@@ -262,16 +262,16 @@ Symlink in directory with default ACL?
> -
> -       $ getfacl --omit-header d/l
> -       > user::rwx
> --      > user:bin:rwx  #effective:r-x
> -       > user:daemon:r-x
> -+      > user:bin:rwx  #effective:r-x
> -       > group::r-x
> -       > group:daemon:rwx      #effective:r-x
> -       > group:users:r-x
> -       > mask::r-x
> -       > other::---
> -       > default:user::rwx
> --      > default:user:bin:rwx  #effective:r-x
> -       > default:user:daemon:r-x
> -+      > default:user:bin:rwx  #effective:r-x
> -       > default:group::r-x
> -       > default:mask::r-x
> -       > default:other::---
> -@@ -287,16 +287,16 @@ Does mask manipulation work?
> -
> -       $ getfacl --omit-header d/d
> -       > user::rwx
> --      > user:bin:r-x
> -       > user:daemon:r-x
> -+      > user:bin:r-x
> -       > group::r-x
> -       > group:daemon:r-x
> -       > group:users:r-x
> -       > mask::r-x
> -       > other::---
> -       > default:user::rwx
> --      > default:user:bin:rwx  #effective:r-x
> -       > default:user:daemon:r-x
> -+      > default:user:bin:rwx  #effective:r-x
> -       > default:group::r-x
> -       > default:mask::r-x
> -       > default:other::---
> -@@ -308,16 +308,16 @@ Does mask manipulation work?
> -
> -       $ getfacl --omit-header d/d
> -       > user::rwx
> --      > user:bin:r-x
> -       > user:daemon:r-x
> -+      > user:bin:r-x
> -       > group::r-x
> -       > group:daemon:r-x
> -       > group:users:r-x
> -       > mask::r-x
> -       > other::---
> -       > default:user::rwx
> --      > default:user:bin:rwx
> -       > default:user:daemon:r-x
> -+      > default:user:bin:rwx
> -       > default:group::r-x
> -       > default:mask::rwx
> -       > default:other::---
> -@@ -333,8 +333,8 @@ Remove the default ACL
> -
> -       $ getfacl --omit-header d
> -       > user::rwx
> --      > user:bin:rwx
> -       > user:daemon:rw-
> -+      > user:bin:rwx
> -       > group::r-x
> -       > mask::rwx
> -       > other::---
> -@@ -373,14 +373,14 @@ Now, chmod should change the group_obj entry
> -
> -       $ getfacl --omit-header d
> -       > user::rwx
> --      > user:bin:r-x
> -       > user:daemon:rwx
> -+      > user:bin:r-x
> -       > group::rwx
> -       > mask::rwx
> -       > other::r-x
> -       > default:user::rwx
> --      > default:user:bin:r-x
> -       > default:user:daemon:rwx
> -+      > default:user:bin:r-x
> -       > default:group::rwx
> -       > default:mask::rwx
> -       > default:other::r-x
> -@@ -392,14 +392,14 @@ Now, chmod should change the group_obj entry
> -
> -       $ getfacl --omit-header d
> -       > user::rwx
> --      > user:bin:r-x
> -       > user:daemon:rwx       #effective:r-x
> -+      > user:bin:r-x
> -       > group::rwx    #effective:r-x
> -       > mask::r-x
> -       > other::---
> -       > default:user::rwx
> --      > default:user:bin:r-x
> -       > default:user:daemon:rwx
> -+      > default:user:bin:r-x
> -       > default:group::rwx
> -       > default:mask::rwx
> -       > default:other::r-x
> -@@ -411,14 +411,14 @@ Now, chmod should change the group_obj entry
> -
> -       $ getfacl --omit-header d
> -       > user::rwx
> --      > user:bin:r-x
> -       > user:daemon:rwx       #effective:r-x
> -+      > user:bin:r-x
> -       > group::rwx    #effective:r-x
> -       > mask::r-x
> -       > other::---
> -       > default:user::rwx
> --      > default:user:bin:r-x
> -       > default:user:daemon:rwx
> -+      > default:user:bin:r-x
> -       > default:group::rwx
> -       > default:mask::rwx
> -       > default:other::r-x
> ---
> -1.7.9.5
> -
> diff --git a/meta/recipes-support/attr/acl/configure.ac b/meta/recipes-support/attr/acl/configure.ac
> deleted file mode 100644
> index 7af2e8d886e..00000000000
> --- a/meta/recipes-support/attr/acl/configure.ac
> +++ /dev/null
> @@ -1,49 +0,0 @@
> -# Copyright (C) 2009  Andreas Gruenbacher <agruen@suse.de>
> -#
> -# 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 2 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.
> -#
> -# You should have received a copy of the GNU General Public License
> -# along with this program.  If not, see <http://www.gnu.org/licenses/>.
> -#
> -AC_INIT(include/acl.h)
> -AC_CONFIG_AUX_DIR([.])
> -AC_CONFIG_MACRO_DIR([m4])
> -AC_CONFIG_HEADER(include/config.h)
> -AC_PREFIX_DEFAULT(/usr)
> -
> -AC_PROG_LIBTOOL
> -
> -AC_ARG_ENABLE(shared,
> -[ --enable-shared=[yes/no] Enable use of shared libraries [default=yes]],,
> -       enable_shared=yes)
> -AC_SUBST(enable_shared)
> -
> -AC_ARG_ENABLE(gettext,
> -[ --enable-gettext=[yes/no] Enable alternate language support [default=yes]],,
> -       enable_gettext=yes)
> -AC_SUBST(enable_gettext)
> -
> -AC_ARG_ENABLE(lib64,
> -[ --enable-lib64=[yes/no] Enable lib64 support [default=no]],,
> -       enable_lib64=no)
> -AC_SUBST(enable_lib64)
> -
> -AC_PACKAGE_GLOBALS(acl)
> -AC_PACKAGE_UTILITIES(acl)
> -AC_PACKAGE_NEED_ATTR_XATTR_H
> -AC_PACKAGE_NEED_ATTR_ERROR_H
> -AC_MULTILIB($enable_lib64)
> -AC_PACKAGE_NEED_GETXATTR_LIBATTR
> -AC_MANUAL_FORMAT
> -
> -AC_FUNC_GCC_VISIBILITY
> -
> -AC_OUTPUT(include/builddefs)
> diff --git a/meta/recipes-support/attr/acl/run-ptest b/meta/recipes-support/attr/acl/run-ptest
> index a56946d8e6f..43128233654 100644
> --- a/meta/recipes-support/attr/acl/run-ptest
> +++ b/meta/recipes-support/attr/acl/run-ptest
> @@ -4,61 +4,7 @@
>
>  #umask 077
>
> -EXT3_IMAGE=ext3.img
> -EXT3_MOUNT_POINT=/mnt/ext3
> +mkdir -p /tmp/acl-ptest/test
> +cp test/test.* /tmp/acl-ptest/test
>
> -trap 'rm -f ${EXT3_IMAGE}' EXIT
> -
> -dd if=/dev/zero of=${EXT3_IMAGE} bs=1M count=1
> -if [ "$?" -eq 0 ]; then
> -       echo "PASS: dump ext3.img"
> -else
> -       echo "FAIL: dump ext3.img"
> -       exit 1
> -fi
> -
> -mkfs.ext3 -F ${EXT3_IMAGE}
> -if [ "$?" -eq 0 ]; then
> -       echo "PASS: mkfs.ext3 -F ext3.img"
> -else
> -       echo "FAIL: mkfs.ext3 -F ext3.img"
> -       exit 1
> -fi
> -
> -if [ -d $EXT3_MOUNT_POINT ]; then
> -       echo "mount point exist"
> -else
> -       mkdir -p $EXT3_MOUNT_POINT
> -fi
> -
> -
> -mount -o loop,rw,acl  ${EXT3_IMAGE} $EXT3_MOUNT_POINT
> -if [ "$?" -eq 0 ]; then
> -       echo "PASS: mount ext3.img"
> -else
> -       echo "FAIL: mount ext3.img"
> -       exit 1
> -fi
> -
> -cp -rf ./test/ $EXT3_MOUNT_POINT
> -
> -cd $EXT3_MOUNT_POINT/test/
> -
> -if     sed -e 's!^bin:x:2:$!bin:x:2:daemon!' < /etc/group > gtmp
> -then   if      cp /etc/group group.orig;
> -       then    cp gtmp /etc/group
> -               make  -k tests root-tests | sed \
> -                       -e 's|^\[.*\] \(.*\) -- ok$|PASS: \1|' \
> -                       -e 's|^\[.*\] \(.*\) -- failed|FAIL: \1|'
> -               cp group.orig /etc/group
> -       else    echo "FAIL: couldn't save original group file."
> -               exit 1
> -       fi
> -else   echo "FAIL: couldn't create modified group file."
> -       exit 1
> -fi
> -
> -cd -
> -umount $EXT3_MOUNT_POINT
> -rm -rf $EXT3_MOUNT_POINT
> -rm $EXT3_IMAGE
> +make test-suite.log
> diff --git a/meta/recipes-support/attr/acl/test-fix-directory-permissions.patch b/meta/recipes-support/attr/acl/test-fix-directory-permissions.patch
> deleted file mode 100644
> index e64990ad5b9..00000000000
> --- a/meta/recipes-support/attr/acl/test-fix-directory-permissions.patch
> +++ /dev/null
> @@ -1,37 +0,0 @@
> -From 311589fedf196168382d8f0db303ab328bcf9d83 Mon Sep 17 00:00:00 2001
> -From: Peter Seebach <peter.seebach@windriver.com>
> -Date: Wed, 11 May 2016 15:16:06 -0500
> -Subject: [PATCH] acl.inc, run-ptest: improve ptest functionality on limited
> -
> -commit c45bae84817a70fef6c2b661a07a492a0d23ae85
> -
> -    Fix permissions on temporary directory
> -
> -    The temporary directory's permissions have to allow other users to
> -    view the directory. A default umask of 022 is common, but not mandatory,
> -    and secure systems may have more restrictive defaults.
> -
> -    Signed-off-by: Peter Seebach <peter.seebach@windriver.com>
> -
> -Upstream-Status: Backport [ http://git.savannah.gnu.org/cgit/acl.git/commit/?id=c6772a958800de064482634f77c20a0faafc5af6 ]
> -
> -Signed-off-by: Dengke Du <dengke.du@windriver.com>
> ----
> - test/root/permissions.test | 1 +
> - 1 file changed, 1 insertion(+)
> -
> -diff --git a/test/root/permissions.test b/test/root/permissions.test
> -index 42615f5..098b52a 100644
> ---- a/test/root/permissions.test
> -+++ b/test/root/permissions.test
> -@@ -16,6 +16,7 @@ Cry immediately if we are not running as root.
> - First, set up a temporary directory and create a regular file with
> - defined permissions.
> -
> -+      $ umask 022
> -       $ mkdir d
> -       $ cd d
> -       $ umask 027
> ---
> -2.8.1
> -
> diff --git a/meta/recipes-support/attr/acl/test-fix-insufficient-quoting-of.patch b/meta/recipes-support/attr/acl/test-fix-insufficient-quoting-of.patch
> deleted file mode 100644
> index f392465b58e..00000000000
> --- a/meta/recipes-support/attr/acl/test-fix-insufficient-quoting-of.patch
> +++ /dev/null
> @@ -1,100 +0,0 @@
> -From e98ce8acf84d12ea67a3ac76bf63c6d87d9af86d Mon Sep 17 00:00:00 2001
> -From: Kamil Dudka <kdudka@redhat.com>
> -Date: Mon, 20 May 2013 16:38:06 +0200
> -Subject: [PATCH] test: fix insufficient quoting of '\'
> -
> -This is a follow-up to 7f2c91b8369242a8dbc2b304a5b71b2a85f5b855, which
> -caused sbits-restore.test to fail in the following way in case SELinux
> -was disabled:
> -
> -*** sbits-restore.test ***
> -[3] $ umask 022 -- ok
> -[4] $ mkdir d -- ok
> -[5] $ touch d/g -- ok
> -[6] $ touch d/u -- ok
> -[7] $ chmod u+s d/u -- ok
> -[8] $ chmod g+s d/g -- ok
> -[9] $ chmod +t d -- ok
> -[10] $ getfacl -R d > d.acl -- ok
> -[11] $ rm -R d -- ok
> -[12] $ mkdir d -- ok
> -[13] $ touch d/g -- ok
> -[14] $ touch d/u -- ok
> -[15] $ setfacl --restore d.acl -- ok
> -[16] $ ls -dl d | awk '{print $1}' | sed 's/.$//g' -- failed
> -drwxr-xr-                             != drwxr-xr-t
> -[18] $ ls -dl d/u | awk '{print $1}' | sed 's/.$//g' -- failed
> --rwSr--r-                             != -rwSr--r--
> -[20] $ ls -dl d/g | awk '{print $1}' | sed 's/.$//g' -- failed
> --rw-r-Sr-                             != -rw-r-Sr--
> -[22] $ rm -Rf d -- ok
> -17 commands (14 passed, 3 failed)
> -
> -Upstream-Status: Backport
> -http://git.savannah.gnu.org/cgit/acl.git/commit/?id=e98ce8acf84d12ea67a3ac76bf63c6d87d9af86d
> -
> -Signed-off-by: Kamil Dudka <kdudka@redhat.com>
> -Signed-off-by: He Zhe <zhe.he@windriver.com>
> -
> -Index: acl-2.2.52/test/cp.test
> -===================================================================
> ---- acl-2.2.52.orig/test/cp.test
> -+++ acl-2.2.52/test/cp.test
> -@@ -9,7 +9,7 @@ The cp utility should only copy ACLs if
> -       > -rw-rw-r--+
> -
> -       $ cp f g
> --      $ ls -l g | awk -- '{ print $1 }' | sed 's/\.$//g'
> -+      $ ls -l g | awk -- '{ print $1 }' | sed 's/\\.$//g'
> -       > -rw-r--r--
> -
> -       $ rm g
> -Index: acl-2.2.52/test/misc.test
> -===================================================================
> ---- acl-2.2.52.orig/test/misc.test
> -+++ acl-2.2.52/test/misc.test
> -@@ -254,7 +254,7 @@ Add some users and groups
> - Symlink in directory with default ACL?
> -
> -       $ ln -s d d/l
> --      $ ls -dl d/l | awk '{print $1}' | sed 's/\.$//g'
> -+      $ ls -dl d/l | awk '{print $1}' | sed 's/\\.$//g'
> -       > lrwxrwxrwx
> -
> -       $ ls -dl -L d/l | awk '{print $1}'
> -@@ -343,7 +343,7 @@ Remove the default ACL
> - Reset to base entries
> -
> -       $ setfacl -b d
> --      $ ls -dl d | awk '{print $1}' | sed 's/\.$//g'
> -+      $ ls -dl d | awk '{print $1}' | sed 's/\\.$//g'
> -       > drwxr-x---
> -
> -       $ getfacl --omit-header d
> -@@ -355,7 +355,7 @@ Reset to base entries
> - Now, chmod should change the group_obj entry
> -
> -       $ chmod 775 d
> --      $ ls -dl d | awk '{print $1}' | sed 's/\.$//g'
> -+      $ ls -dl d | awk '{print $1}' | sed 's/\\.$//g'
> -       > drwxrwxr-x
> -
> -       $ getfacl --omit-header d
> -Index: acl-2.2.52/test/sbits-restore.test
> -===================================================================
> ---- acl-2.2.52.orig/test/sbits-restore.test
> -+++ acl-2.2.52/test/sbits-restore.test
> -@@ -13,10 +13,10 @@ Ensure setting of SUID/SGID/sticky via -
> -       $ touch d/g
> -       $ touch d/u
> -       $ setfacl --restore d.acl
> --      $ ls -dl d | awk '{print $1}' | sed 's/\.$//g'
> -+      $ ls -dl d | awk '{print $1}' | sed 's/\\.$//g'
> -       > drwxr-xr-t
> --      $ ls -dl d/u | awk '{print $1}' | sed 's/\.$//g'
> -+      $ ls -dl d/u | awk '{print $1}' | sed 's/\\.$//g'
> -       > -rwSr--r--
> --      $ ls -dl d/g | awk '{print $1}' | sed 's/\.$//g'
> -+      $ ls -dl d/g | awk '{print $1}' | sed 's/\\.$//g'
> -       > -rw-r-Sr--
> -       $ rm -Rf d
> diff --git a/meta/recipes-support/attr/acl/test-fixups-on-SELinux-machines-for-root-testcases.patch b/meta/recipes-support/attr/acl/test-fixups-on-SELinux-machines-for-root-testcases.patch
> deleted file mode 100644
> index 8cc11a63e12..00000000000
> --- a/meta/recipes-support/attr/acl/test-fixups-on-SELinux-machines-for-root-testcases.patch
> +++ /dev/null
> @@ -1,84 +0,0 @@
> -From d2f49ee6fe4850b8dda5b08676b36201d3c43710 Mon Sep 17 00:00:00 2001
> -From: He Zhe <zhe.he@windriver.com>
> -Date: Wed, 2 Mar 2016 15:46:57 +0800
> -Subject: [PATCH] test: fixups on SELinux machines for root testcases
> -
> -ls adds a '.' at the end of the permission field list on SELinux
> -machines, filter this out so root tests work on SELinux machines.
> -
> -Upstream-Status: Accepted
> -http://git.savannah.gnu.org/cgit/acl.git/commit/?id=26a87d36f80d5e98bccb5878834d9e69dadfe3e9
> -
> -Signed-off-by: He Zhe <zhe.he@windriver.com>
> ----
> - test/root/permissions.test | 8 ++++----
> - test/root/restore.test     | 2 +-
> - test/root/setfacl.test     | 2 +-
> - 3 files changed, 6 insertions(+), 6 deletions(-)
> -
> -diff --git a/test/root/permissions.test b/test/root/permissions.test
> -index 9b9e3de..665339a 100644
> ---- a/test/root/permissions.test
> -+++ b/test/root/permissions.test
> -@@ -19,7 +19,7 @@ defined permissions.
> -       $ cd d
> -       $ umask 027
> -       $ touch f
> --      $ ls -l f | awk -- '{ print $1, $3, $4 }'
> -+      $ ls -l f | awk -- '{ print $1, $3, $4 }' | sed 's/\\.//g'
> -       > -rw-r----- root root
> -
> -
> -@@ -39,7 +39,7 @@ Now, change the ownership of the file to bin:bin and verify that this
> - gives user bin write access.
> -
> -       $ chown bin:bin f
> --      $ ls -l f | awk -- '{ print $1, $3, $4 }'
> -+      $ ls -l f | awk -- '{ print $1, $3, $4 }' | sed 's/\\.//g'
> -       > -rw-r----- bin bin
> -       $ su bin
> -       $ echo bin >> f
> -@@ -256,12 +256,12 @@ directories if the file has an ACL and only CAP_FOWNER would grant them.
> -       $ mkdir -m 600 x
> -       $ chown daemon:daemon x
> -       $ echo j > x/j
> --      $ ls -l x/j | awk -- '{ print $1, $3, $4 }'
> -+      $ ls -l x/j | awk -- '{ print $1, $3, $4 }' | sed 's/\\.//g'
> -       > -rw-r----- root root
> -
> -       $ setfacl -m u:daemon:r x
> -
> --      $ ls -l x/j | awk -- '{ print $1, $3, $4 }'
> -+      $ ls -l x/j | awk -- '{ print $1, $3, $4 }' | sed 's/\\.//g'
> -       > -rw-r----- root root
> -       (With the bug this gives: `ls: x/j: Permission denied'.)
> -
> -diff --git a/test/root/restore.test b/test/root/restore.test
> -index 63a9d01..c85097c 100644
> ---- a/test/root/restore.test
> -+++ b/test/root/restore.test
> -@@ -21,7 +21,7 @@ Cry immediately if we are not running as root.
> -       $ chown bin passwd
> -       $ chmod u+s passwd
> -       $ setfacl --restore passwd.acl
> --      $ ls -dl passwd | awk '{print $1 " " $3 " " $4}'
> -+      $ ls -dl passwd | awk '{print $1 " " $3 " " $4}' | sed 's/\\.//g'
> -       > -rwsr-xr-x root root
> -
> -       $ rm passwd passwd.acl
> -diff --git a/test/root/setfacl.test b/test/root/setfacl.test
> -index a46a9f4..7efbad7 100644
> ---- a/test/root/setfacl.test
> -+++ b/test/root/setfacl.test
> -@@ -12,7 +12,7 @@ Cry immediately if we are not running as root.
> -       $ sg bin
> -       $ umask 027
> -       $ touch g
> --      $ ls -dl g | awk '{print $1}'
> -+      $ ls -dl g | awk '{print $1}' | sed 's/\\.//g'
> -       > -rw-r-----
> -
> -       $ setfacl -m m:- g
> ---
> -1.9.1
> -
> diff --git a/meta/recipes-support/attr/acl_2.2.52.bb b/meta/recipes-support/attr/acl_2.2.52.bb
> deleted file mode 100644
> index 6bc77d868d5..00000000000
> --- a/meta/recipes-support/attr/acl_2.2.52.bb
> +++ /dev/null
> @@ -1,52 +0,0 @@
> -SUMMARY = "Utilities for managing POSIX Access Control Lists"
> -HOMEPAGE = "http://savannah.nongnu.org/projects/acl/"
> -SECTION = "libs"
> -
> -LICENSE = "LGPLv2.1+ & GPLv2+"
> -LICENSE_${PN} = "GPLv2+"
> -LICENSE_lib${BPN} = "LGPLv2.1+"
> -LIC_FILES_CHKSUM = "file://doc/COPYING;md5=c781d70ed2b4d48995b790403217a249 \
> -                    file://doc/COPYING.LGPL;md5=9e9a206917f8af112da634ce3ab41764"
> -
> -DEPENDS = "attr"
> -
> -SRC_URI = "${SAVANNAH_GNU_MIRROR}/acl/${BP}.src.tar.gz \
> -           file://configure.ac;subdir=${BP} \
> -           file://run-ptest \
> -           file://acl-fix-the-order-of-expected-output-of-getfacl.patch \
> -           file://test-fix-insufficient-quoting-of.patch \
> -           file://test-fixups-on-SELinux-machines-for-root-testcases.patch \
> -           file://test-fix-directory-permissions.patch \
> -           file://Makefile-libacl-should-depend-on-include.patch \
> -"
> -
> -SRC_URI[md5sum] = "a61415312426e9c2212bd7dc7929abda"
> -SRC_URI[sha256sum] = "179074bb0580c06c4b4137be4c5a92a701583277967acdb5546043c7874e0d23"
> -
> -require ea-acl.inc
> -
> -# avoid RPATH hardcode to staging dir
> -do_configure_append() {
> -       sed -i ${S}/config.status -e s,^\\\(hardcode_into_libs=\\\).*$,\\1\'no\',
> -       ${S}/config.status
> -}
> -
> -# libdir should point to .la
> -do_install_append() {
> -       sed -i ${D}${libdir}/libacl.la -e \
> -           s,^libdir=\'${base_libdir}\'$,libdir=\'${libdir}\',
> -}
> -
> -inherit ptest
> -
> -PTEST_BUILD_HOST_FILES = "builddefs"
> -PTEST_BUILD_HOST_PATTERN = "^RPM"
> -do_install_ptest() {
> -       tar -c --exclude=nfs test/ | ( cd ${D}${PTEST_PATH} && tar -xf - )
> -       install -d ${D}${PTEST_PATH}/include
> -       install -m 644 ${S}/include/builddefs ${S}/include/buildmacros ${S}/include/buildrules ${D}${PTEST_PATH}/include/
> -}
> -
> -RDEPENDS_${PN}-ptest = "acl bash coreutils perl perl-module-filehandle perl-module-getopt-std perl-module-posix shadow"
> -
> -BBCLASSEXTEND = "native nativesdk"
> diff --git a/meta/recipes-support/attr/acl_2.2.53.bb b/meta/recipes-support/attr/acl_2.2.53.bb
> new file mode 100644
> index 00000000000..c95e0524eb4
> --- /dev/null
> +++ b/meta/recipes-support/attr/acl_2.2.53.bb
> @@ -0,0 +1,60 @@
> +SUMMARY = "Utilities for managing POSIX Access Control Lists"
> +HOMEPAGE = "http://savannah.nongnu.org/projects/acl/"
> +SECTION = "libs"
> +
> +LICENSE = "LGPLv2.1+ & GPLv2+"
> +LICENSE_${PN} = "GPLv2+"
> +LICENSE_lib${BPN} = "LGPLv2.1+"
> +LIC_FILES_CHKSUM = "file://doc/COPYING;md5=c781d70ed2b4d48995b790403217a249 \
> +                    file://doc/COPYING.LGPL;md5=9e9a206917f8af112da634ce3ab41764"
> +
> +DEPENDS = "attr"
> +
> +SRC_URI = "${SAVANNAH_GNU_MIRROR}/acl/${BP}.tar.gz \
> +           file://run-ptest \
> +           file://0001-tests-do-not-hardcode-the-build-path-into-a-helper-l.patch \
> +           file://0001-test-patch-out-failing-bits.patch \
> +           "
> +
> +SRC_URI[md5sum] = "007aabf1dbb550bcddde52a244cd1070"
> +SRC_URI[sha256sum] = "06be9865c6f418d851ff4494e12406568353b891ffe1f596b34693c387af26c7"
> +
> +inherit autotools gettext ptest
> +
> +PTEST_BUILD_HOST_FILES = "builddefs"
> +PTEST_BUILD_HOST_PATTERN = "^RPM"
> +
> +do_compile_ptest() {
> +        oe_runmake libtestlookup.la
> +}
> +
> +do_install_ptest() {
> +       cp -rf ${S}/test/ ${D}${PTEST_PATH}
> +       cp -rf ${S}/build-aux/ ${D}${PTEST_PATH}
> +        mkdir -p ${D}${PTEST_PATH}/.libs
> +       cp -rf ${B}/.libs/libtestlookup* ${D}${PTEST_PATH}/.libs
> +        cp ${B}/Makefile ${D}${PTEST_PATH}
> +        sed -i "s|^srcdir =.*|srcdir = \.|g" ${D}${PTEST_PATH}/Makefile
> +        sed -i "s|^abs_srcdir =.*|abs_srcdir = \.|g" ${D}${PTEST_PATH}/Makefile
> +        sed -i "s|^abs_top_srcdir =.*|abs_top_srcdir = \.\.|g" ${D}${PTEST_PATH}/Makefile
> +        sed -i "s|^Makefile:.*|Makefile:|g" ${D}${PTEST_PATH}/Makefile
> +}
> +
> +RDEPENDS_${PN}-ptest = "acl \
> +                        bash \
> +                        coreutils \
> +                        perl \
> +                        perl-module-filehandle \
> +                        perl-module-getopt-std \
> +                        perl-module-posix \
> +                        shadow \
> +                        make \
> +                        gawk \
> +                        e2fsprogs-mke2fs \
> +                        perl-module-cwd \
> +                        perl-module-file-basename \
> +                        perl-module-file-path \
> +                        perl-module-file-spec \
> +                       "
> +
> +BBCLASSEXTEND = "native nativesdk"
> diff --git a/meta/recipes-support/attr/attr.inc b/meta/recipes-support/attr/attr.inc
> index 3503d66b9e1..5661301c15a 100644
> --- a/meta/recipes-support/attr/attr.inc
> +++ b/meta/recipes-support/attr/attr.inc
> @@ -8,22 +8,14 @@ LICENSE = "LGPLv2.1+ & GPLv2+"
>  LICENSE_${PN} = "GPLv2+"
>  LICENSE_lib${BPN} = "LGPLv2.1+"
>  LIC_FILES_CHKSUM = "file://doc/COPYING;md5=2d0aa14b3fce4694e4f615e30186335f \
> -                    file://attr/attr.c;endline=17;md5=be0403261f0847e5f43ed5b08d19593c \
> +                    file://tools/attr.c;endline=17;md5=be0403261f0847e5f43ed5b08d19593c \
>                      file://libattr/libattr.c;endline=17;md5=7970f77049f8fa1199fff62a7ab724fb"
>
> -SRC_URI = "${SAVANNAH_GNU_MIRROR}/attr/${BP}.src.tar.gz \
> +SRC_URI = "${SAVANNAH_GNU_MIRROR}/attr/${BP}.tar.gz \
>             file://run-ptest \
>  "
>
> -require ea-acl.inc
> -
> -# libdir should point to .la
> -do_install_append() {
> -       sed -i ${D}${libdir}/libattr.la -e \
> -           s,^libdir=\'${base_libdir}\'$,libdir=\'${libdir}\',
> -}
> -
> -inherit ptest update-alternatives
> +inherit ptest update-alternatives autotools gettext
>
>  ALTERNATIVE_PRIORITY = "100"
>  ALTERNATIVE_${PN} = "setfattr"
> @@ -33,14 +25,27 @@ PTEST_BUILD_HOST_FILES = "builddefs"
>  PTEST_BUILD_HOST_PATTERN = "^RPM"
>
>  do_install_ptest() {
> -       tar -c --exclude=ext test/ | ( cd ${D}${PTEST_PATH} && tar -xf - )
> -       mkdir ${D}${PTEST_PATH}/include
> -       for i in builddefs buildmacros buildrules; \
> -         do cp ${S}/include/$i ${D}${PTEST_PATH}/include/; \
> -       done
> -       sed -e 's|; @echo|; echo|' -i ${D}${PTEST_PATH}/test/Makefile
> +        cp ${B}/Makefile ${D}${PTEST_PATH}
> +        sed -i "s|^srcdir =.*|srcdir = \.|g" ${D}${PTEST_PATH}/Makefile
> +        sed -i "s|^abs_srcdir =.*|abs_srcdir = \.|g" ${D}${PTEST_PATH}/Makefile
> +        sed -i "s|^abs_top_srcdir =.*|abs_top_srcdir = \.\.|g" ${D}${PTEST_PATH}/Makefile
> +        sed -i "s|^Makefile:.*|Makefile:|g" ${D}${PTEST_PATH}/Makefile
> +       cp -rf ${S}/build-aux/ ${D}${PTEST_PATH}
> +       cp -rf ${S}/test/ ${D}${PTEST_PATH}
>  }
>
> -RDEPENDS_${PN}-ptest = "attr coreutils perl-module-filehandle perl-module-getopt-std perl-module-posix make perl"
> +RDEPENDS_${PN}-ptest = "attr \
> +                        coreutils \
> +                        perl-module-filehandle \
> +                        perl-module-getopt-std \
> +                        perl-module-posix \
> +                        make \
> +                        perl \
> +                        gawk \
> +                        perl-module-cwd \
> +                        perl-module-file-basename \
> +                        perl-module-file-path \
> +                        perl-module-file-spec \
> +                        "
>
>  BBCLASSEXTEND = "native nativesdk"
> diff --git a/meta/recipes-support/attr/attr/0001-Use-stdint-types-consistently.patch b/meta/recipes-support/attr/attr/0001-Use-stdint-types-consistently.patch
> deleted file mode 100644
> index dcd6507bcc5..00000000000
> --- a/meta/recipes-support/attr/attr/0001-Use-stdint-types-consistently.patch
> +++ /dev/null
> @@ -1,69 +0,0 @@
> -From 37a27b6fd09ecb37097b85e5db74e4f77b80fe0a Mon Sep 17 00:00:00 2001
> -From: Felix Janda <felix.janda@posteo.de>
> -Date: Tue, 12 Jan 2016 22:20:33 +0100
> -Subject: [PATCH] Use stdint types consistently
> -
> ----
> -Upstream-Status: Backport
> -Signed-off-by: Khem Raj <raj.khem@gmail.com>
> -
> - include/attributes.h | 6 ++++--
> - man/man3/attr_list.3 | 8 ++++----
> - 2 files changed, 8 insertions(+), 6 deletions(-)
> -
> -Index: attr-2.4.47/include/attributes.h
> -===================================================================
> ---- attr-2.4.47.orig/include/attributes.h
> -+++ attr-2.4.47/include/attributes.h
> -@@ -22,6 +22,7 @@
> - extern "C" {
> - #endif
> -
> -+#include <stdint.h>
> - /*
> -  *    An almost-IRIX-compatible extended attributes API
> -  *    (the IRIX attribute "list" operation is missing, added ATTR_SECURE).
> -@@ -69,7 +70,7 @@ typedef struct attrlist {
> -  * al_offset[i] entry points to.
> -  */
> - typedef struct attrlist_ent { /* data from attr_list() */
> --      u_int32_t       a_valuelen;     /* number bytes in value of attr */
> -+      uint32_t        a_valuelen;     /* number bytes in value of attr */
> -       char            a_name[1];      /* attr name (NULL terminated) */
> - } attrlist_ent_t;
> -
> -@@ -90,7 +91,7 @@ typedef struct attrlist_ent {        /* data fr
> -  * operation on a cursor is to bzero() it.
> -  */
> - typedef struct attrlist_cursor {
> --      u_int32_t       opaque[4];      /* an opaque cookie */
> -+      uint32_t        opaque[4];      /* an opaque cookie */
> - } attrlist_cursor_t;
> -
> - /*
> -Index: attr-2.4.47/man/man3/attr_list.3
> -===================================================================
> ---- attr-2.4.47.orig/man/man3/attr_list.3
> -+++ attr-2.4.47/man/man3/attr_list.3
> -@@ -72,9 +72,9 @@ The contents of an \f4attrlist_t\fP stru
> - .nf
> - .ft 4
> - .ta 9n 22n
> --__int32_t al_count; /\(** number of entries in attrlist \(**/
> --__int32_t al_more; /\(** T/F: more attrs (do syscall again) \(**/
> --__int32_t al_offset[1]; /\(** byte offsets of attrs [var-sized] \(**/
> -+int32_t al_count; /\(** number of entries in attrlist \(**/
> -+int32_t al_more; /\(** T/F: more attrs (do syscall again) \(**/
> -+int32_t al_offset[1]; /\(** byte offsets of attrs [var-sized] \(**/
> - .ft 1
> - .fi
> - .RE
> -@@ -113,7 +113,7 @@ include the following members:
> - .nf
> - .ft 4
> - .ta 9n 22n
> --u_int32_t a_valuelen; /\(** number bytes in value of attr \(**/
> -+uint32_t a_valuelen; /\(** number bytes in value of attr \(**/
> - char a_name[]; /\(** attr name (NULL terminated) \(**/
> - .ft 1
> - .fi
> diff --git a/meta/recipes-support/attr/attr/attr-Missing-configure.ac.patch b/meta/recipes-support/attr/attr/attr-Missing-configure.ac.patch
> deleted file mode 100644
> index 20fcc3cee7b..00000000000
> --- a/meta/recipes-support/attr/attr/attr-Missing-configure.ac.patch
> +++ /dev/null
> @@ -1,63 +0,0 @@
> -Subject: [PATCH] attr: Missing configure.ac
> -
> -Upstream-Status: Backport [Upstream released tarball missing this file]
> -Signed-off-by: Nathan Rossi <nathan.rossi@xilinx.com>
> ----
> - configure.ac |   48 ++++++++++++++++++++++++++++++++++++++++++++++++
> - 1 file changed, 48 insertions(+)
> - create mode 100644 configure.ac
> -
> -diff --git a/configure.ac b/configure.ac
> -new file mode 100644
> -index 0000000..b966d0e
> ---- /dev/null
> -+++ b/configure.ac
> -@@ -0,0 +1,48 @@
> -+# Copyright (C) 2009  Andreas Gruenbacher <agruen@suse.de>
> -+#
> -+# 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 2 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.
> -+#
> -+# You should have received a copy of the GNU General Public License
> -+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
> -+#
> -+AC_INIT(include/attributes.h)
> -+AC_CONFIG_AUX_DIR([.])
> -+AC_CONFIG_MACRO_DIR([m4])
> -+AC_CONFIG_HEADER(include/config.h)
> -+AC_PREFIX_DEFAULT(/usr)
> -+
> -+AC_PROG_LIBTOOL
> -+
> -+AC_ARG_ENABLE(shared,
> -+[ --enable-shared=[yes/no] Enable use of shared libraries [default=yes]],,
> -+      enable_shared=yes)
> -+AC_SUBST(enable_shared)
> -+
> -+AC_ARG_ENABLE(gettext,
> -+[ --enable-gettext=[yes/no] Enable alternate language support [default=yes]],,
> -+      enable_gettext=yes)
> -+AC_SUBST(enable_gettext)
> -+
> -+AC_ARG_ENABLE(lib64,
> -+[ --enable-lib64=[yes/no] Enable lib64 support [default=no]],,
> -+      enable_lib64=no)
> -+AC_SUBST(enable_lib64)
> -+
> -+AC_PACKAGE_GLOBALS(attr)
> -+AC_PACKAGE_UTILITIES(attr)
> -+AC_MANUAL_FORMAT
> -+AC_MULTILIB($enable_lib64)
> -+
> -+AC_C_CONST
> -+AC_TYPE_MODE_T
> -+AC_FUNC_ALLOCA
> -+
> -+AC_OUTPUT(include/builddefs)
> diff --git a/meta/recipes-support/attr/attr/dont-use-decl-macros.patch b/meta/recipes-support/attr/attr/dont-use-decl-macros.patch
> deleted file mode 100644
> index 9d4b8929e89..00000000000
> --- a/meta/recipes-support/attr/attr/dont-use-decl-macros.patch
> +++ /dev/null
> @@ -1,56 +0,0 @@
> -Use extern "C" instead of __BEGIN_DECL/__END_DECL macros
> -these macros are defined in sys/cdefs.h for glibc and this header is not available on all libc
> -
> -anyway they defined like below
> -
> -#ifdef __cplusplus
> -# define __BEGIN_DECLS extern "C" {
> -# define __END_DECLS }
> -#else
> -# define __BEGIN_DECLS /* empty */
> -# define __END_DECLS /* empty */
> -#endif
> -
> -__THROW macro is also not available on musl, defined thusly
> -
> -Upstream-Status: Pending
> -
> -Signed-off-by: Khem Raj <raj.khem@gmail.com>
> -
> -Index: attr-2.4.47/include/xattr.h
> -===================================================================
> ---- attr-2.4.47.orig/include/xattr.h   2014-04-02 00:01:30.252091280 -0700
> -+++ attr-2.4.47/include/xattr.h        2014-04-02 00:12:57.985428099 -0700
> -@@ -30,8 +30,20 @@
> - #define XATTR_CREATE  0x1       /* set value, fail if attr already exists */
> - #define XATTR_REPLACE 0x2       /* set value, fail if attr does not exist */
> -
> --
> --__BEGIN_DECLS
> -+#ifndef __THROW
> -+# ifndef __GNUC_PREREQ
> -+#  define __GNUC_PREREQ(maj, min) (0)
> -+# endif
> -+# if defined __cplusplus && __GNUC_PREREQ (2,8)
> -+#  define __THROW       throw ()
> -+# else
> -+#  define __THROW
> -+# endif
> -+#endif
> -+
> -+#ifdef __cplusplus
> -+extern "C" {
> -+#endif
> -
> - extern int setxattr (const char *__path, const char *__name,
> -                     const void *__value, size_t __size, int __flags) __THROW;
> -@@ -58,6 +70,8 @@
> - extern int lremovexattr (const char *__path, const char *__name) __THROW;
> - extern int fremovexattr (int __filedes,   const char *__name) __THROW;
> -
> --__END_DECLS
> -+#ifdef __cplusplus
> -+}
> -+#endif
> -
> - #endif        /* __XATTR_H__ */
> diff --git a/meta/recipes-support/attr/attr/run-ptest b/meta/recipes-support/attr/attr/run-ptest
> new file mode 100644
> index 00000000000..f64244f2393
> --- /dev/null
> +++ b/meta/recipes-support/attr/attr/run-ptest
> @@ -0,0 +1,3 @@
> +#!/bin/sh
> +
> +make test-suite.log
> diff --git a/meta/recipes-support/attr/attr_2.4.47.bb b/meta/recipes-support/attr/attr_2.4.47.bb
> deleted file mode 100644
> index fc88bef830b..00000000000
> --- a/meta/recipes-support/attr/attr_2.4.47.bb
> +++ /dev/null
> @@ -1,15 +0,0 @@
> -require attr.inc
> -
> -# configure.ac was missing from the release tarball. This should be fixed in
> -# future releases of attr, remove this when updating the recipe.
> -SRC_URI += "file://attr-Missing-configure.ac.patch \
> -            file://dont-use-decl-macros.patch \
> -            file://Remove-the-section-2-man-pages.patch \
> -            file://Remove-the-attr.5-man-page-moved-to-man-pages.patch \
> -            file://0001-Use-stdint-types-consistently.patch \
> -           "
> -
> -SRC_URI[md5sum] = "84f58dec00b60f2dc8fd1c9709291cc7"
> -SRC_URI[sha256sum] = "25772f653ac5b2e3ceeb89df50e4688891e21f723c460636548971652af0a859"
> -
> -BBCLASSEXTEND = "native nativesdk"
> diff --git a/meta/recipes-support/attr/attr_2.4.48.bb b/meta/recipes-support/attr/attr_2.4.48.bb
> new file mode 100644
> index 00000000000..530d4e48833
> --- /dev/null
> +++ b/meta/recipes-support/attr/attr_2.4.48.bb
> @@ -0,0 +1,6 @@
> +require attr.inc
> +
> +SRC_URI[md5sum] = "bc1e5cb5c96d99b24886f1f527d3bb3d"
> +SRC_URI[sha256sum] = "5ead72b358ec709ed00bbf7a9eaef1654baad937c001c044fe8b74c57f5324e7"
> +
> +BBCLASSEXTEND = "native nativesdk"
> diff --git a/meta/recipes-support/attr/ea-acl.inc b/meta/recipes-support/attr/ea-acl.inc
> deleted file mode 100644
> index 9336ffc9389..00000000000
> --- a/meta/recipes-support/attr/ea-acl.inc
> +++ /dev/null
> @@ -1,52 +0,0 @@
> -# this build system is mostly shared by attr and acl
> -
> -SRC_URI += "file://relative-libdir.patch;striplevel=0 \
> -           "
> -# This patch should be applied after '(attr\|acl)-Missing-configure.ac.patch'
> -SRC_URI_append = " file://0001-Added-configure-option-to-enable-disable-static-libr.patch"
> -
> -inherit autotools-brokensep gettext
> -
> -# When upstream is using automake properly, this can be removed
> -CLEANBROKEN = "1"
> -
> -# the package comes with a custom config.h.in, it cannot be
> -# overwritten by autoheader
> -EXTRA_AUTORECONF += "--exclude=autoheader"
> -EXTRA_OECONF = "INSTALL_USER=root INSTALL_GROUP=root"
> -EXTRA_OECONF_append_class-native = " --enable-gettext=no"
> -EXTRA_OECONF_append_class-target = "${@['', ' --disable-gettext '][(d.getVar('USE_NLS') == 'no')]}"
> -
> -EXTRA_OEMAKE = "PKG_LIB_DIR=${base_libdir} PKG_DEVLIB_DIR=${libdir}"
> -
> -do_install () {
> -       oe_runmake install install-lib install-dev DIST_ROOT="${D}" ZIP="gzip -n"
> -}
> -
> -do_install_append_class-native () {
> -       if test "${libdir}" = "${base_libdir}" ; then
> -               return
> -       fi
> -       librelpath=${@os.path.relpath(d.getVar('libdir'), d.getVar('base_libdir'))}
> -       baselibrelpath=${@os.path.relpath(d.getVar('base_libdir'), d.getVar('libdir'))}
> -
> -       # Remove bad symlinks & create the correct symlinks
> -       if test -L ${D}${libdir}/lib${BPN}.so ; then
> -               rm -rf ${D}${libdir}/lib${BPN}.so
> -               ln -sf $baselibrelpath/lib${BPN}.so ${D}${libdir}/lib${BPN}.so
> -       fi
> -       if test -L ${D}${base_libdir}/lib${BPN}.a ; then
> -               rm -rf ${D}${base_libdir}/lib${BPN}.a
> -               ln -sf $librelpath/lib${BPN}.a ${D}${base_libdir}/lib${BPN}.a
> -       fi
> -       if test -L  ${D}${base_libdir}/lib${BPN}.la ; then
> -               rm -rf ${D}${base_libdir}/lib${BPN}.la
> -               ln -sf $librelpath/lib${BPN}.la ${D}${base_libdir}/lib${BPN}.la
> -       fi
> -}
> -
> -PACKAGES =+ "lib${BPN}"
> -
> -FILES_lib${BPN} = "${base_libdir}/lib*${SOLIBS}"
> -
> -BBCLASSEXTEND = "native"
> diff --git a/meta/recipes-support/attr/files/0001-Added-configure-option-to-enable-disable-static-libr.patch b/meta/recipes-support/attr/files/0001-Added-configure-option-to-enable-disable-static-libr.patch
> deleted file mode 100644
> index 1c1159f2c90..00000000000
> --- a/meta/recipes-support/attr/files/0001-Added-configure-option-to-enable-disable-static-libr.patch
> +++ /dev/null
> @@ -1,70 +0,0 @@
> -From 01256c61ba126449c46dd4ab5d5e145488b981fa Mon Sep 17 00:00:00 2001
> -From: Amarnath Valluri <amarnath.valluri@intel.com>
> -Date: Mon, 23 Jan 2017 13:25:13 +0200
> -Subject: [PATCH] Added configure option to enable/disable static library
> -
> -Create static library archive only in case of --enable-static.
> -
> -Upstream-Status: Pending
> -
> -Signed-off-by: Amarnath Valluri <amarnath.valluri@intel.com>
> ----
> - configure.ac         | 6 ++++++
> - include/builddefs.in | 1 +
> - include/buildmacros  | 3 +++
> - 3 files changed, 10 insertions(+)
> -
> -diff --git a/configure.ac b/configure.ac
> -index b966d0e..e48268b 100644
> ---- a/configure.ac
> -+++ b/configure.ac
> -@@ -26,6 +26,12 @@ AC_ARG_ENABLE(shared,
> -       enable_shared=yes)
> - AC_SUBST(enable_shared)
> -
> -+AC_ARG_ENABLE(static,
> -+[ --enable-static=[yes/no] Enable use of static libraries [default=yes]],,
> -+      enable_static=yes)
> -+AC_SUBST(enable_static)
> -+
> -+
> - AC_ARG_ENABLE(gettext,
> - [ --enable-gettext=[yes/no] Enable alternate language support [default=yes]],,
> -       enable_gettext=yes)
> -diff --git a/include/builddefs.in b/include/builddefs.in
> -index d9931db..3b3dbd2 100644
> ---- a/include/builddefs.in
> -+++ b/include/builddefs.in
> -@@ -71,6 +71,7 @@ RPMBUILD     = @rpmbuild@
> - RPM_VERSION   = @rpm_version@
> -
> - ENABLE_SHARED = @enable_shared@
> -+ENABLE_STATIC         = @enable_static@
> - ENABLE_GETTEXT        = @enable_gettext@
> -
> - HAVE_ZIPPED_MANPAGES = @have_zipped_manpages@
> -diff --git a/include/buildmacros b/include/buildmacros
> -index 39fa7e2..b0f25c5 100644
> ---- a/include/buildmacros
> -+++ b/include/buildmacros
> -@@ -80,6 +80,7 @@ endif
> - # /usr/lib.
> - ifeq ($(ENABLE_SHARED),yes)
> - INSTALL_LTLIB_DEV = \
> -+      set -x; \
> -       cd $(TOPDIR)/$(LIBNAME)/.libs; \
> -       ../$(INSTALL) -m 755 -d $(PKG_DEVLIB_DIR); \
> -       ../$(INSTALL) -m 644 -T old_lib $(LIBNAME).lai $(PKG_DEVLIB_DIR); \
> -@@ -88,7 +89,9 @@ INSTALL_LTLIB_DEV = \
> -       ../$(INSTALL) -T so_base $(LIBNAME).lai $(PKG_LIB_DIR); \
> -       if test "x$(PKG_DEVLIB_DIR)" != "x$(PKG_LIB_DIR)" ; then \
> -       rel_lib_prefix=$$(echo $(PKG_LIB_DIR) | sed 's,\(^/\|\)[^/][^/]*,..,g'); \
> -+      if test "$(ENABLE_STATIC)" = "yes" ; then \
> -       ../$(INSTALL) -S $$rel_lib_prefix$(PKG_DEVLIB_DIR)/$(LIBNAME).a $(PKG_LIB_DIR)/$(LIBNAME).a; \
> -+      fi ;\
> -       ../$(INSTALL) -S $$rel_lib_prefix$(PKG_DEVLIB_DIR)/$(LIBNAME).la $(PKG_LIB_DIR)/$(LIBNAME).la; \
> -       rel_devlib_prefix=$$(echo $(PKG_DEVLIB_DIR) | sed 's,\(^/\|\)[^/][^/]*,..,g'); \
> -       ../$(INSTALL) -S $$rel_devlib_prefix$(PKG_LIB_DIR)/$(LIBNAME).so $(PKG_DEVLIB_DIR)/$(LIBNAME).so; \
> ---
> -2.7.4
> -
> diff --git a/meta/recipes-support/attr/files/Remove-the-attr.5-man-page-moved-to-man-pages.patch b/meta/recipes-support/attr/files/Remove-the-attr.5-man-page-moved-to-man-pages.patch
> deleted file mode 100644
> index d5ab83d7c68..00000000000
> --- a/meta/recipes-support/attr/files/Remove-the-attr.5-man-page-moved-to-man-pages.patch
> +++ /dev/null
> @@ -1,240 +0,0 @@
> -From 6047c8522b91235ad1e835f44f5e36472d9d49b2 Mon Sep 17 00:00:00 2001
> -From: Andreas Gruenbacher <andreas.gruenbacher@gmail.com>
> -Date: Wed, 22 Apr 2015 11:46:59 +0200
> -Subject: [PATCH 2/2] Remove the attr.5 man page (moved to man-pages)
> -
> -Commit dce9b4448c7f2b22bd206cd068fb05cb2f3255b9 from
> -https://git.savannah.nongnu.org/git/attr.git
> -
> -The attr.5 page is part of the extended attribute system call documentation,
> -which has been moved into the man-pages package. Move the attr.5 page there
> -as well.
> -
> -Upstream-Status: Backport
> -
> -[MA: updated to apply directly to v2.4.47]
> -Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com>
> ----
> - man/Makefile      |   2 +-
> - man/man5/Makefile |  35 -------------
> - man/man5/attr.5   | 153 ------------------------------------------------------
> - 3 files changed, 1 insertion(+), 189 deletions(-)
> - delete mode 100644 man/man5/Makefile
> - delete mode 100644 man/man5/attr.5
> -
> -diff --git a/man/Makefile b/man/Makefile
> -index 755daed..9301f09 100644
> ---- a/man/Makefile
> -+++ b/man/Makefile
> -@@ -19,7 +19,7 @@
> - TOPDIR = ..
> - include $(TOPDIR)/include/builddefs
> -
> --SUBDIRS = man1 man3 man5
> -+SUBDIRS = man1 man3
> -
> - default : $(SUBDIRS)
> -
> -diff --git a/man/man5/Makefile b/man/man5/Makefile
> -deleted file mode 100644
> -index 6b70d3d..0000000
> ---- a/man/man5/Makefile
> -+++ /dev/null
> -@@ -1,35 +0,0 @@
> --#
> --# Copyright (c) 2000, 2002 Silicon Graphics, Inc.  All Rights Reserved.
> --# Copyright (C) 2009  Andreas Gruenbacher <agruen@suse.de>
> --#
> --# 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 2 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.
> --#
> --# You should have received a copy of the GNU General Public License
> --# along with this program.  If not, see <http://www.gnu.org/licenses/>.
> --#
> --
> --TOPDIR = ../..
> --include $(TOPDIR)/include/builddefs
> --
> --MAN_SECTION   = 5
> --
> --MAN_PAGES     = $(shell echo *.$(MAN_SECTION))
> --MAN_DEST      = $(PKG_MAN_DIR)/man$(MAN_SECTION)
> --LSRCFILES     = $(MAN_PAGES)
> --
> --default : $(MAN_PAGES)
> --
> --include $(BUILDRULES)
> --
> --install : default
> --      $(INSTALL) -m 755 -d $(MAN_DEST)
> --      $(INSTALL_MAN)
> --install-dev install-lib:
> -diff --git a/man/man5/attr.5 b/man/man5/attr.5
> -deleted file mode 100644
> -index a02757d..0000000
> ---- a/man/man5/attr.5
> -+++ /dev/null
> -@@ -1,153 +0,0 @@
> --.\" Extended attributes manual page
> --.\"
> --.\" Copyright (C) 2000, 2002, 2007  Andreas Gruenbacher <agruen@suse.de>
> --.\" Copyright (C) 2001, 2002, 2004, 2007 Silicon Graphics, Inc.
> --.\" All rights reserved.
> --.\"
> --.\" This is free documentation; you can redistribute it and/or
> --.\" modify it under the terms of the GNU General Public License as
> --.\" published by the Free Software Foundation; either version 2 of
> --.\" the License, or (at your option) any later version.
> --.\"
> --.\" The GNU General Public License's references to "object code"
> --.\" and "executables" are to be interpreted as the output of any
> --.\" document formatting or typesetting system, including
> --.\" intermediate and printed output.
> --.\"
> --.\" This manual 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.
> --.\"
> --.\" You should have received a copy of the GNU General Public
> --.\" License along with this manual.  If not, see
> --.\" <http://www.gnu.org/licenses/>.
> --.\"
> --.TH ATTR 5
> --.SH NAME
> --attr - Extended attributes
> --.SH DESCRIPTION
> --Extended attributes are name:value pairs associated permanently with
> --files and directories, similar to the environment strings associated
> --with a process.
> --An attribute may be defined or undefined.
> --If it is defined, its value may be empty or non-empty.
> --.PP
> --Extended attributes are extensions to the normal attributes which are
> --associated with all inodes in the system (i.e. the
> --.BR stat (2)
> --data).
> --They are often used to provide additional functionality
> --to a filesystem \- for example, additional security features such as
> --Access Control Lists (ACLs) may be implemented using extended attributes.
> --.PP
> --Users with search access to a file or directory may retrieve a list of
> --attribute names defined for that file or directory.
> --.PP
> --Extended attributes are accessed as atomic objects.
> --Reading retrieves the whole value of an attribute and stores it in a buffer.
> --Writing replaces any previous value with the new value.
> --.PP
> --Space consumed for extended attributes is counted towards the disk quotas
> --of the file owner and file group.
> --.PP
> --Currently, support for extended attributes is implemented on Linux by the
> --ext2, ext3, ext4, XFS, JFS and reiserfs filesystems.
> --.SH EXTENDED ATTRIBUTE NAMESPACES
> --Attribute names are zero-terminated strings.
> --The attribute name is always specified in the fully qualified
> --.IR namespace.attribute
> --form, eg.
> --.IR user.mime_type ,
> --.IR trusted.md5sum ,
> --.IR system.posix_acl_access ,
> --or
> --.IR security.selinux .
> --.PP
> --The namespace mechanism is used to define different classes of extended
> --attributes.
> --These different classes exist for several reasons, e.g. the permissions
> --and capabilities required for manipulating extended attributes of one
> --namespace may differ to another.
> --.PP
> --Currently the
> --.IR security ,
> --.IR system ,
> --.IR trusted ,
> --and
> --.IR user
> --extended attribute classes are defined as described below. Additional
> --classes may be added in the future.
> --.SS Extended security attributes
> --The security attribute namespace is used by kernel security modules,
> --such as Security Enhanced Linux.
> --Read and write access permissions to security attributes depend on the
> --policy implemented for each security attribute by the security module.
> --When no security module is loaded, all processes have read access to
> --extended security attributes, and write access is limited to processes
> --that have the CAP_SYS_ADMIN capability.
> --.SS Extended system attributes
> --Extended system attributes are used by the kernel to store system
> --objects such as Access Control Lists and Capabilities.  Read and write
> --access permissions to system attributes depend on the policy implemented
> --for each system attribute implemented by filesystems in the kernel.
> --.SS Trusted extended attributes
> --Trusted extended attributes are visible and accessible only to processes that
> --have the CAP_SYS_ADMIN capability (the super user usually has this
> --capability).
> --Attributes in this class are used to implement mechanisms in user
> --space (i.e., outside the kernel) which keep information in extended attributes
> --to which ordinary processes should not have access.
> --.SS Extended user attributes
> --Extended user attributes may be assigned to files and directories for
> --storing arbitrary additional information such as the mime type,
> --character set or encoding of a file. The access permissions for user
> --attributes are defined by the file permission bits.
> --.PP
> --The file permission bits of regular files and directories are
> --interpreted differently from the file permission bits of special files
> --and symbolic links. For regular files and directories the file
> --permission bits define access to the file's contents, while for device special
> --files they define access to the device described by the special file.
> --The file permissions of symbolic links are not used in access
> --checks. These differences would allow users to consume filesystem resources in
> --a way not controllable by disk quotas for group or world writable special files and directories.
> --.PP
> --For this reason, extended user attributes are only allowed for regular files and directories, and access to extended user attributes is restricted to the
> --owner and to users with appropriate capabilities for directories with the
> --sticky bit set (see the
> --.BR chmod (1)
> --manual page for an explanation of Sticky Directories).
> --.SH FILESYSTEM DIFFERENCES
> --The kernel and the filesystem may place limits on the maximum number
> --and size of extended attributes that can be associated with a file.
> --Some file systems, such as ext2/3 and reiserfs, require the filesystem
> --to be mounted with the
> --.B user_xattr
> --mount option in order for extended user attributes to be used.
> --.PP
> --In the current ext2, ext3 and ext4 filesystem implementations, each
> --extended attribute must fit on a single filesystem block (1024, 2048
> --or 4096 bytes, depending on the block size specified when the
> --filesystem was created).
> --.PP
> --In the XFS and reiserfs filesystem implementations, there is no
> --practical limit on the number or size of extended attributes
> --associated with a file, and the algorithms used to store extended
> --attribute information on disk are scalable.
> --.PP
> --In the JFS filesystem implementation, names can be up to 255 bytes and
> --values up to 65,535 bytes.
> --.SH ADDITIONAL NOTES
> --Since the filesystems on which extended attributes are stored might also
> --be used on architectures with a different byte order and machine word
> --size, care should be taken to store attribute values in an architecture
> --independent format.
> --.SH AUTHORS
> --Andreas Gruenbacher,
> --.RI < a.gruenbacher@bestbits.at >
> --and the SGI XFS development team,
> --.RI < linux-xfs@oss.sgi.com >.
> --.SH SEE ALSO
> --getfattr(1),
> --setfattr(1).
> ---
> -2.7.4
> -
> diff --git a/meta/recipes-support/attr/files/Remove-the-section-2-man-pages.patch b/meta/recipes-support/attr/files/Remove-the-section-2-man-pages.patch
> deleted file mode 100644
> index 044c5a037c8..00000000000
> --- a/meta/recipes-support/attr/files/Remove-the-section-2-man-pages.patch
> +++ /dev/null
> @@ -1,666 +0,0 @@
> -From b972600a26f3a930e53e2fce2625266a5d29813e Mon Sep 17 00:00:00 2001
> -From: Andreas Gruenbacher <andreas.gruenbacher@gmail.com>
> -Date: Tue, 14 Apr 2015 23:53:11 +0200
> -Subject: [PATCH 1/2] Remove the section 2 man pages
> -
> -Commit 8d1263bca95722d66a6f8e83450f49d0956ea534 from upstream
> -https://git.savannah.nongnu.org/git/attr.git/
> -
> -The section 2 man pages have long since been added to the man-pages package
> -which documents all system calls; they were disabled in attr by default since
> -January 2014.  Get rid of them here.
> -
> -Upstream-Status: Backport
> -
> -[MA: modified to apply directly to v2.4.47]
> -Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com>
> ----
> - man/Makefile           |   2 +-
> - man/man2/Makefile      |  35 -----------
> - man/man2/getxattr.2    | 143 --------------------------------------------
> - man/man2/listxattr.2   | 158 -------------------------------------------------
> - man/man2/removexattr.2 | 111 ----------------------------------
> - man/man2/setxattr.2    | 143 --------------------------------------------
> - 6 files changed, 1 insertion(+), 591 deletions(-)
> - delete mode 100644 man/man2/Makefile
> - delete mode 100644 man/man2/getxattr.2
> - delete mode 100644 man/man2/listxattr.2
> - delete mode 100644 man/man2/removexattr.2
> - delete mode 100644 man/man2/setxattr.2
> -
> -diff --git a/man/Makefile b/man/Makefile
> -index 9535426..755daed 100644
> ---- a/man/Makefile
> -+++ b/man/Makefile
> -@@ -19,7 +19,7 @@
> - TOPDIR = ..
> - include $(TOPDIR)/include/builddefs
> -
> --SUBDIRS = man1 man2 man3 man5
> -+SUBDIRS = man1 man3 man5
> -
> - default : $(SUBDIRS)
> -
> -diff --git a/man/man2/Makefile b/man/man2/Makefile
> -deleted file mode 100644
> -index d77309d..0000000
> ---- a/man/man2/Makefile
> -+++ /dev/null
> -@@ -1,35 +0,0 @@
> --#
> --# Copyright (c) 2000-2002 Silicon Graphics, Inc.  All Rights Reserved.
> --# Copyright (C) 2009  Andreas Gruenbacher <agruen@suse.de>
> --#
> --# 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 2 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.
> --#
> --# You should have received a copy of the GNU General Public License
> --# along with this program.  If not, see <http://www.gnu.org/licenses/>.
> --#
> --
> --TOPDIR = ../..
> --include $(TOPDIR)/include/builddefs
> --
> --MAN_SECTION   = 2
> --
> --MAN_PAGES     = $(shell echo *.$(MAN_SECTION))
> --MAN_DEST      = $(PKG_MAN_DIR)/man$(MAN_SECTION)
> --LSRCFILES     = $(MAN_PAGES)
> --
> --default install : $(MAN_PAGES)
> --
> --include $(BUILDRULES)
> --
> --install-dev : default
> --      $(INSTALL) -m 755 -d $(MAN_DEST)
> --      $(INSTALL_MAN)
> --install-lib:
> -diff --git a/man/man2/getxattr.2 b/man/man2/getxattr.2
> -deleted file mode 100644
> -index 405ad89..0000000
> ---- a/man/man2/getxattr.2
> -+++ /dev/null
> -@@ -1,143 +0,0 @@
> --.\"
> --.\" Extended attributes system calls manual pages
> --.\"
> --.\" (C) Andreas Gruenbacher, February 2001
> --.\" (C) Silicon Graphics Inc, September 2001
> --.\"
> --.\" This is free documentation; you can redistribute it and/or
> --.\" modify it under the terms of the GNU General Public License as
> --.\" published by the Free Software Foundation; either version 2 of
> --.\" the License, or (at your option) any later version.
> --.\"
> --.\" The GNU General Public License's references to "object code"
> --.\" and "executables" are to be interpreted as the output of any
> --.\" document formatting or typesetting system, including
> --.\" intermediate and printed output.
> --.\"
> --.\" This manual 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.
> --.\"
> --.\" You should have received a copy of the GNU General Public
> --.\" License along with this manual.  If not, see
> --.\" <http://www.gnu.org/licenses/>.
> --.\"
> --.TH GETXATTR 2 "Extended Attributes" "Dec 2001" "System calls"
> --.SH NAME
> --getxattr, lgetxattr, fgetxattr \- retrieve an extended attribute value
> --.SH SYNOPSIS
> --.fam C
> --.nf
> --.B #include <sys/types.h>
> --.B #include <attr/xattr.h>
> --.sp
> --.BI "ssize_t getxattr (const char\ *" path ", const char\ *" name ",
> --.BI "\t\t\t\t void\ *" value ", size_t " size );
> --.BI "ssize_t lgetxattr (const char\ *" path ", const char\ *" name ",
> --.BI "\t\t\t\t void\ *" value ", size_t " size );
> --.BI "ssize_t fgetxattr (int " filedes ", const char\ *" name ",
> --.BI "\t\t\t\t void\ *" value ", size_t " size );
> --.fi
> --.fam T
> --.SH DESCRIPTION
> --Extended attributes are
> --.IR name :\c
> --.I value
> --pairs associated with inodes (files, directories, symlinks, etc).
> --They are extensions to the normal attributes which are associated
> --with all inodes in the system (i.e. the
> --.BR stat (2)
> --data).
> --A complete overview of extended attributes concepts can be found in
> --.BR attr (5).
> --.PP
> --.B getxattr
> --retrieves the
> --.I value
> --of the extended attribute identified by
> --.I name
> --and associated with the given
> --.I path
> --in the filesystem.
> --The length of the attribute
> --.I value
> --is returned.
> --.PP
> --.B lgetxattr
> --is identical to
> --.BR getxattr ,
> --except in the case of a symbolic link, where the link itself is
> --interrogated, not the file that it refers to.
> --.PP
> --.B fgetxattr
> --is identical to
> --.BR getxattr ,
> --only the open file pointed to by
> --.I filedes
> --(as returned by
> --.BR open (2))
> --is interrogated in place of
> --.IR path .
> --.PP
> --An extended attribute
> --.I name
> --is a simple NULL-terminated string.
> --The name includes a namespace prefix \- there may be several, disjoint
> --namespaces associated with an individual inode.
> --The value of an extended attribute is a chunk of arbitrary textual or
> --binary data of specified length.
> --.PP
> --An empty buffer of
> --.I size
> --zero can be passed into these calls to return the current size of the
> --named extended attribute, which can be used to estimate the size of a
> --buffer which is sufficiently large to hold the value associated with
> --the extended attribute.
> --.PP
> --The interface is designed to allow guessing of initial buffer
> --sizes, and to enlarge buffers when the return value indicates
> --that the buffer provided was too small.
> --.SH RETURN VALUE
> --On success, a positive number is returned indicating the size of the
> --extended attribute value.
> --On failure, \-1 is returned and
> --.I errno
> --is set appropriately.
> --.PP
> --If the named attribute does not exist, or the process has no access to
> --this attribute,
> --.I errno
> --is set to ENOATTR.
> --.PP
> --If the
> --.I size
> --of the
> --.I value
> --buffer is too small to hold the result,
> --.I errno
> --is set to ERANGE.
> --.PP
> --If extended attributes are not supported by the filesystem, or are disabled,
> --.I errno
> --is set to ENOTSUP.
> --.PP
> --The errors documented for the
> --.BR stat (2)
> --system call are also applicable here.
> --.SH AUTHORS
> --Andreas Gruenbacher,
> --.RI < a.gruenbacher@bestbits.at >
> --and the SGI XFS development team,
> --.RI < linux-xfs@oss.sgi.com >.
> --Please send any bug reports or comments to these addresses.
> --.SH SEE ALSO
> --.BR getfattr (1),
> --.BR setfattr (1),
> --.BR open (2),
> --.BR stat (2),
> --.BR setxattr (2),
> --.BR listxattr (2),
> --.BR removexattr (2),
> --and
> --.BR attr (5).
> -diff --git a/man/man2/listxattr.2 b/man/man2/listxattr.2
> -deleted file mode 100644
> -index 8b4371c..0000000
> ---- a/man/man2/listxattr.2
> -+++ /dev/null
> -@@ -1,158 +0,0 @@
> --.\"
> --.\" Extended attributes system calls manual pages
> --.\"
> --.\" (C) Andreas Gruenbacher, February 2001
> --.\" (C) Silicon Graphics Inc, September 2001
> --.\"
> --.\" This is free documentation; you can redistribute it and/or
> --.\" modify it under the terms of the GNU General Public License as
> --.\" published by the Free Software Foundation; either version 2 of
> --.\" the License, or (at your option) any later version.
> --.\"
> --.\" The GNU General Public License's references to "object code"
> --.\" and "executables" are to be interpreted as the output of any
> --.\" document formatting or typesetting system, including
> --.\" intermediate and printed output.
> --.\"
> --.\" This manual 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.
> --.\"
> --.\" You should have received a copy of the GNU General Public
> --.\" License along with this manual.  If not, see
> --.\" <http://www.gnu.org/licenses/>.
> --.\"
> --.TH LISTXATTR 2 "Extended Attributes" "Dec 2001" "System calls"
> --.SH NAME
> --listxattr, llistxattr, flistxattr \- list extended attribute names
> --.SH SYNOPSIS
> --.fam C
> --.nf
> --.B #include <sys/types.h>
> --.B #include <attr/xattr.h>
> --.sp
> --.BI "ssize_t listxattr (const char\ *" path ",
> --.BI "\t\t\t\t char\ *" list ", size_t " size );
> --.BI "ssize_t llistxattr (const char\ *" path ",
> --.BI "\t\t\t\t char\ *" list ", size_t " size );
> --.BI "ssize_t flistxattr (int " filedes ",
> --.BI "\t\t\t\t char\ *" list ", size_t " size );
> --.fi
> --.fam T
> --.SH DESCRIPTION
> --Extended attributes are name:value
> --pairs associated with inodes (files, directories, symlinks, etc).
> --They are extensions to the normal attributes which are associated
> --with all inodes in the system (i.e. the
> --.BR stat (2)
> --data).
> --A complete overview of extended attributes concepts can be found in
> --.BR attr (5).
> --.PP
> --.B listxattr
> --retrieves the
> --.I list
> --of extended attribute names associated with the given
> --.I path
> --in the filesystem.
> --The list is the set of (NULL-terminated) names, one after the other.
> --Names of extended attributes to which the calling process does not
> --have access may be omitted from the list.
> --The length of the attribute name
> --.I list
> --is returned.
> --.PP
> --.B llistxattr
> --is identical to
> --.BR listxattr ,
> --except in the case of a symbolic link, where the list of names of
> --extended attributes associated with the link itself is retrieved,
> --not the file that it refers to.
> --.I list
> --is a caller-allocated buffer of size
> --.IR size .
> --.PP
> --.B flistxattr
> --is identical to
> --.BR listxattr ,
> --only the open file pointed to by
> --.I filedes
> --(as returned by
> --.BR open (2))
> --is interrogated in place of
> --.IR path .
> --.PP
> --A single extended attribute
> --.I name
> --is a simple NULL-terminated string.
> --The name includes a namespace prefix \- there may be several, disjoint
> --namespaces associated with an individual inode.
> --.PP
> --An empty buffer of
> --.I size
> --zero can be passed into these calls to return the current size of the
> --list of extended attribute names, which can be used to estimate the
> --size of a buffer which is sufficiently large to hold the list of names.
> --.SH EXAMPLES
> --The
> --.I list
> --of names is returned as an unordered array of NULL-terminated character
> --strings (attribute names are separated by NULL characters), like this:
> --.fam C
> --.RS
> --.nf
> --user.name1\\0system.name1\\0user.name2\\0
> --.fi
> --.RE
> --.fam T
> --.P
> --Filesystems like ext2, ext3 and XFS which implement POSIX ACLs using
> --extended attributes, might return a
> --.I list
> --like this:
> --.fam C
> --.RS
> --.nf
> --system.posix_acl_access\\0system.posix_acl_default\\0
> --.fi
> --.RE
> --.fam T
> --.SH RETURN VALUE
> --On success, a positive number is returned indicating the size of the
> --extended attribute name list.
> --On failure, \-1 is returned and
> --.I errno
> --is set appropriately.
> --.PP
> --If the
> --.I size
> --of the
> --.I list
> --buffer is too small to hold the result,
> --.I errno
> --is set to ERANGE.
> --.PP
> --If extended attributes are not supported by the filesystem, or are disabled,
> --.I errno
> --is set to ENOTSUP.
> --.PP
> --The errors documented for the
> --.BR stat (2)
> --system call are also applicable here.
> --.SH AUTHORS
> --Andreas Gruenbacher,
> --.RI < a.gruenbacher@bestbits.at >
> --and the SGI XFS development team,
> --.RI < linux-xfs@oss.sgi.com >.
> --Please send any bug reports or comments to these addresses.
> --.SH SEE ALSO
> --.BR getfattr (1),
> --.BR setfattr (1),
> --.BR open (2),
> --.BR stat (2),
> --.BR getxattr (2),
> --.BR setxattr (2),
> --.BR removexattr (2),
> --and
> --.BR attr (5).
> -diff --git a/man/man2/removexattr.2 b/man/man2/removexattr.2
> -deleted file mode 100644
> -index 2c7d934..0000000
> ---- a/man/man2/removexattr.2
> -+++ /dev/null
> -@@ -1,111 +0,0 @@
> --.\"
> --.\" Extended attributes system calls manual pages
> --.\"
> --.\" (C) Andreas Gruenbacher, February 2001
> --.\" (C) Silicon Graphics Inc, September 2001
> --.\"
> --.\" This is free documentation; you can redistribute it and/or
> --.\" modify it under the terms of the GNU General Public License as
> --.\" published by the Free Software Foundation; either version 2 of
> --.\" the License, or (at your option) any later version.
> --.\"
> --.\" The GNU General Public License's references to "object code"
> --.\" and "executables" are to be interpreted as the output of any
> --.\" document formatting or typesetting system, including
> --.\" intermediate and printed output.
> --.\"
> --.\" This manual 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.
> --.\"
> --.\" You should have received a copy of the GNU General Public
> --.\" License along with this manual.  If not, see
> --.\" <http://www.gnu.org/licenses/>.
> --.\"
> --.TH REMOVEXATTR 2 "Extended Attributes" "Dec 2001" "System calls"
> --.SH NAME
> --removexattr, lremovexattr, fremovexattr \- remove an extended attribute
> --.SH SYNOPSIS
> --.fam C
> --.nf
> --.B #include <sys/types.h>
> --.B #include <attr/xattr.h>
> --.sp
> --.BI "int removexattr (const char\ *" path ", const char\ *" name );
> --.BI "int lremovexattr (const char\ *" path ", const char\ *" name );
> --.BI "int fremovexattr (int " filedes ", const char\ *" name );
> --.fi
> --.fam T
> --.SH DESCRIPTION
> --Extended attributes are
> --.IR name :\c
> --value pairs associated with inodes (files, directories, symlinks, etc).
> --They are extensions to the normal attributes which are associated
> --with all inodes in the system (i.e. the
> --.BR stat (2)
> --data).
> --A complete overview of extended attributes concepts can be found in
> --.BR attr (5).
> --.PP
> --.B removexattr
> --removes the extended attribute identified by
> --.I name
> --and associated with the given
> --.I path
> --in the filesystem.
> --.PP
> --.B lremovexattr
> --is identical to
> --.BR removexattr ,
> --except in the case of a symbolic link, where the extended attribute is
> --removed from the link itself, not the file that it refers to.
> --.PP
> --.B fremovexattr
> --is identical to
> --.BR removexattr ,
> --only the extended attribute is removed from the open file pointed to by
> --.I filedes
> --(as returned by
> --.BR open (2))
> --in place of
> --.IR path .
> --.PP
> --An extended attribute name is a simple NULL-terminated string.
> --The
> --.I name
> --includes a namespace prefix \- there may be several, disjoint
> --namespaces associated with an individual inode.
> --.SH RETURN VALUE
> --On success, zero is returned.
> --On failure, \-1 is returned and
> --.I errno
> --is set appropriately.
> --.PP
> --If the named attribute does not exist,
> --.I errno
> --is set to ENOATTR.
> --.PP
> --If extended attributes are not supported by the filesystem, or are disabled,
> --.I errno
> --is set to ENOTSUP.
> --.PP
> --The errors documented for the
> --.BR stat (2)
> --system call are also applicable here.
> --.SH AUTHORS
> --Andreas Gruenbacher,
> --.RI < a.gruenbacher@bestbits.at >
> --and the SGI XFS development team,
> --.RI < linux-xfs@oss.sgi.com >.
> --Please send any bug reports or comments to these addresses.
> --.SH SEE ALSO
> --.BR getfattr (1),
> --.BR setfattr (1),
> --.BR open (2),
> --.BR stat (2),
> --.BR setxattr (2),
> --.BR getxattr (2),
> --.BR listxattr (2),
> --and
> --.BR attr (5).
> -diff --git a/man/man2/setxattr.2 b/man/man2/setxattr.2
> -deleted file mode 100644
> -index b20dc9f..0000000
> ---- a/man/man2/setxattr.2
> -+++ /dev/null
> -@@ -1,143 +0,0 @@
> --.\"
> --.\" Extended attributes system calls manual pages
> --.\"
> --.\" (C) Andreas Gruenbacher, February 2001
> --.\" (C) Silicon Graphics Inc, September 2001
> --.\"
> --.\" This is free documentation; you can redistribute it and/or
> --.\" modify it under the terms of the GNU General Public License as
> --.\" published by the Free Software Foundation; either version 2 of
> --.\" the License, or (at your option) any later version.
> --.\"
> --.\" The GNU General Public License's references to "object code"
> --.\" and "executables" are to be interpreted as the output of any
> --.\" document formatting or typesetting system, including
> --.\" intermediate and printed output.
> --.\"
> --.\" This manual 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.
> --.\"
> --.\" You should have received a copy of the GNU General Public
> --.\" License along with this manual.  If not, see
> --.\" <http://www.gnu.org/licenses/>.
> --.\"
> --.TH SETXATTR 2 "Extended Attributes" "Dec 2001" "System calls"
> --.SH NAME
> --setxattr, lsetxattr, fsetxattr \- set an extended attribute value
> --.SH SYNOPSIS
> --.fam C
> --.nf
> --.B #include <sys/types.h>
> --.B #include <attr/xattr.h>
> --.sp
> --.BI "int setxattr (const char\ *" path ", const char\ *" name ",
> --.BI "\t\t\t const void\ *" value ", size_t " size ", int " flags );
> --.BI "int lsetxattr (const char\ *" path ", const char\ *" name ",
> --.BI "\t\t\t const void\ *" value ", size_t " size ", int " flags );
> --.BI "int fsetxattr (int " filedes ", const char\ *" name ",
> --.BI "\t\t\t const void\ *" value ", size_t " size ", int " flags );
> --.fi
> --.fam T
> --.SH DESCRIPTION
> --Extended attributes are
> --.IR name :\c
> --.I value
> --pairs associated with inodes (files, directories, symlinks, etc).
> --They are extensions to the normal attributes which are associated
> --with all inodes in the system (i.e. the
> --.BR stat (2)
> --data).
> --A complete overview of extended attributes concepts can be found in
> --.BR attr (5).
> --.PP
> --.B setxattr
> --sets the
> --.I value
> --of the extended attribute identified by
> --.I name
> --and associated with the given
> --.I path
> --in the filesystem.
> --The
> --.I size
> --of the
> --.I value
> --must be specified.
> --.PP
> --.B lsetxattr
> --is identical to
> --.BR setxattr ,
> --except in the case of a symbolic link, where the extended attribute is
> --set on the link itself, not the file that it refers to.
> --.PP
> --.B fsetxattr
> --is identical to
> --.BR setxattr ,
> --only the extended attribute is set on the open file pointed to by
> --.I filedes
> --(as returned by
> --.BR open (2))
> --in place of
> --.IR path .
> --.PP
> --An extended attribute name is a simple NULL-terminated string.
> --The
> --.I name
> --includes a namespace prefix \- there may be several, disjoint
> --namespaces associated with an individual inode.
> --The
> --.I value
> --of an extended attribute is a chunk of arbitrary textual or
> --binary data of specified length.
> --.PP
> --The
> --.I flags
> --parameter can be used to refine the semantics of the operation.
> --XATTR_CREATE specifies a pure create, which fails if the named
> --attribute exists already.
> --XATTR_REPLACE specifies a pure replace operation, which fails if the
> --named attribute does not already exist.
> --By default (no flags), the extended attribute will be created if
> --need be, or will simply replace the value if the attribute exists.
> --.SH RETURN VALUE
> --On success, zero is returned.
> --On failure, \-1 is returned and
> --.I errno
> --is set appropriately.
> --.PP
> --If XATTR_CREATE is specified, and the attribute exists already,
> --.I errno
> --is set to EEXIST.
> --If XATTR_REPLACE is specified, and the attribute does not exist,
> --.I errno
> --is set to ENOATTR.
> --.PP
> --If there is insufficient space remaining to store the extended attribute,
> --.I errno
> --is set to either ENOSPC, or EDQUOT if quota enforcement was the cause.
> --.PP
> --If extended attributes are not supported by the filesystem, or are disabled,
> --.I errno
> --is set to ENOTSUP.
> --.PP
> --The errors documented for the
> --.BR stat (2)
> --system call are also applicable here.
> --.SH AUTHORS
> --Andreas Gruenbacher,
> --.RI < a.gruenbacher@bestbits.at >
> --and the SGI XFS development team,
> --.RI < linux-xfs@oss.sgi.com >.
> --Please send any bug reports or comments to these addresses.
> --.SH SEE ALSO
> --.BR getfattr (1),
> --.BR setfattr (1),
> --.BR open (2),
> --.BR stat (2),
> --.BR getxattr (2),
> --.BR listxattr (2),
> --.BR removexattr (2),
> --and
> --.BR attr (5).
> ---
> -2.7.4
> -
> diff --git a/meta/recipes-support/attr/files/relative-libdir.patch b/meta/recipes-support/attr/files/relative-libdir.patch
> deleted file mode 100644
> index b72bf184d6f..00000000000
> --- a/meta/recipes-support/attr/files/relative-libdir.patch
> +++ /dev/null
> @@ -1,25 +0,0 @@
> -Upstream-Status: Pending
> -
> -use relative path in symbolic links, or it fails in staging
> -sed expression from udev
> -
> -7/29/2010 - created by Qing He <qing.he@intel.com>
> -
> -diff -u include.orig/buildmacros include/buildmacros
> ---- include.orig/buildmacros   2010-07-29 17:39:48.000000000 +0800
> -+++ include/buildmacros        2010-07-29 18:20:34.000000000 +0800
> -@@ -88,9 +88,11 @@
> -       ../$(INSTALL) -m 755 -d $(PKG_LIB_DIR); \
> -       ../$(INSTALL) -T so_base $(LIBNAME).lai $(PKG_LIB_DIR); \
> -       if test "x$(PKG_DEVLIB_DIR)" != "x$(PKG_LIB_DIR)" ; then \
> --      ../$(INSTALL) -S $(PKG_DEVLIB_DIR)/$(LIBNAME).a $(PKG_LIB_DIR)/$(LIBNAME).a; \
> --      ../$(INSTALL) -S $(PKG_DEVLIB_DIR)/$(LIBNAME).la $(PKG_LIB_DIR)/$(LIBNAME).la; \
> --      ../$(INSTALL) -S $(PKG_LIB_DIR)/$(LIBNAME).so $(PKG_DEVLIB_DIR)/$(LIBNAME).so; \
> -+      rel_lib_prefix=$$(echo $(PKG_LIB_DIR) | sed 's,\(^/\|\)[^/][^/]*,..,g'); \
> -+      ../$(INSTALL) -S $$rel_lib_prefix$(PKG_DEVLIB_DIR)/$(LIBNAME).a $(PKG_LIB_DIR)/$(LIBNAME).a; \
> -+      ../$(INSTALL) -S $$rel_lib_prefix$(PKG_DEVLIB_DIR)/$(LIBNAME).la $(PKG_LIB_DIR)/$(LIBNAME).la; \
> -+      rel_devlib_prefix=$$(echo $(PKG_DEVLIB_DIR) | sed 's,\(^/\|\)[^/][^/]*,..,g'); \
> -+      ../$(INSTALL) -S $$rel_devlib_prefix$(PKG_LIB_DIR)/$(LIBNAME).so $(PKG_DEVLIB_DIR)/$(LIBNAME).so; \
> -       fi
> - else
> - INSTALL_LTLIB_DEV = $(INSTALL_LTLIB_STATIC)
> diff --git a/meta/recipes-support/attr/files/run-ptest b/meta/recipes-support/attr/files/run-ptest
> deleted file mode 100644
> index a6c6867f2d9..00000000000
> --- a/meta/recipes-support/attr/files/run-ptest
> +++ /dev/null
> @@ -1,5 +0,0 @@
> -#!/bin/sh
> -
> -make -C test -k tests root-tests |sed \
> - -e 's|^\[.*\] \(.*\) -- ok$|PASS: \1|' \
> - -e 's|^\[.*\] \(.*\) -- failed|FAIL: \1|'
> --
> 2.17.1
>
> --
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core


^ permalink raw reply	[flat|nested] 62+ messages in thread

* Re: [PATCH 19/30] acl/attr: update to latest upstream releases
  2019-12-14 20:24   ` Khem Raj
@ 2019-12-14 20:48     ` Alexander Kanavin
  0 siblings, 0 replies; 62+ messages in thread
From: Alexander Kanavin @ 2019-12-14 20:48 UTC (permalink / raw)
  To: Khem Raj; +Cc: Patches and discussions about the oe-core layer

[-- Attachment #1: Type: text/plain, Size: 93498 bytes --]

How come I do not see these issues in local testing? :-/

I'll investigate on Monday.

Alex

On Sat, 14 Dec 2019 at 21:25, Khem Raj <raj.khem@gmail.com> wrote:

> breaks pseudo-native
>
> http://errors.yoctoproject.org/Errors/Details/297280/
>
> On Thu, Dec 12, 2019 at 10:18 AM Alexander Kanavin
> <alex.kanavin@gmail.com> wrote:
> >
> > The latest release use standard autotools, so drop all
> > the build system related hacks and patches.
> >
> > Ptests have been rewritten, with 100% pass rate for both.
> >
> > Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
> > ---
> >  .../0001-test-patch-out-failing-bits.patch    |  63 ++
> >  ...dcode-the-build-path-into-a-helper-l.patch |  24 +
> >  ...file-libacl-should-depend-on-include.patch |  51 --
> >  ...-order-of-expected-output-of-getfacl.patch | 198 ------
> >  meta/recipes-support/attr/acl/configure.ac    |  49 --
> >  meta/recipes-support/attr/acl/run-ptest       |  60 +-
> >  .../acl/test-fix-directory-permissions.patch  |  37 -
> >  .../test-fix-insufficient-quoting-of.patch    | 100 ---
> >  ...-SELinux-machines-for-root-testcases.patch |  84 ---
> >  meta/recipes-support/attr/acl_2.2.52.bb       |  52 --
> >  meta/recipes-support/attr/acl_2.2.53.bb       |  60 ++
> >  meta/recipes-support/attr/attr.inc            |  41 +-
> >  .../0001-Use-stdint-types-consistently.patch  |  69 --
> >  .../attr/attr/attr-Missing-configure.ac.patch |  63 --
> >  .../attr/attr/dont-use-decl-macros.patch      |  56 --
> >  meta/recipes-support/attr/attr/run-ptest      |   3 +
> >  meta/recipes-support/attr/attr_2.4.47.bb      |  15 -
> >  meta/recipes-support/attr/attr_2.4.48.bb      |   6 +
> >  meta/recipes-support/attr/ea-acl.inc          |  52 --
> >  ...option-to-enable-disable-static-libr.patch |  70 --
> >  ...e-attr.5-man-page-moved-to-man-pages.patch | 240 -------
> >  .../Remove-the-section-2-man-pages.patch      | 666 ------------------
> >  .../attr/files/relative-libdir.patch          |  25 -
> >  meta/recipes-support/attr/files/run-ptest     |   5 -
> >  24 files changed, 182 insertions(+), 1907 deletions(-)
> >  create mode 100644
> meta/recipes-support/attr/acl/0001-test-patch-out-failing-bits.patch
> >  create mode 100644
> meta/recipes-support/attr/acl/0001-tests-do-not-hardcode-the-build-path-into-a-helper-l.patch
> >  delete mode 100644
> meta/recipes-support/attr/acl/Makefile-libacl-should-depend-on-include.patch
> >  delete mode 100644
> meta/recipes-support/attr/acl/acl-fix-the-order-of-expected-output-of-getfacl.patch
> >  delete mode 100644 meta/recipes-support/attr/acl/configure.ac
> >  delete mode 100644
> meta/recipes-support/attr/acl/test-fix-directory-permissions.patch
> >  delete mode 100644
> meta/recipes-support/attr/acl/test-fix-insufficient-quoting-of.patch
> >  delete mode 100644
> meta/recipes-support/attr/acl/test-fixups-on-SELinux-machines-for-root-testcases.patch
> >  delete mode 100644 meta/recipes-support/attr/acl_2.2.52.bb
> >  create mode 100644 meta/recipes-support/attr/acl_2.2.53.bb
> >  delete mode 100644
> meta/recipes-support/attr/attr/0001-Use-stdint-types-consistently.patch
> >  delete mode 100644
> meta/recipes-support/attr/attr/attr-Missing-configure.ac.patch
> >  delete mode 100644
> meta/recipes-support/attr/attr/dont-use-decl-macros.patch
> >  create mode 100644 meta/recipes-support/attr/attr/run-ptest
> >  delete mode 100644 meta/recipes-support/attr/attr_2.4.47.bb
> >  create mode 100644 meta/recipes-support/attr/attr_2.4.48.bb
> >  delete mode 100644 meta/recipes-support/attr/ea-acl.inc
> >  delete mode 100644
> meta/recipes-support/attr/files/0001-Added-configure-option-to-enable-disable-static-libr.patch
> >  delete mode 100644
> meta/recipes-support/attr/files/Remove-the-attr.5-man-page-moved-to-man-pages.patch
> >  delete mode 100644
> meta/recipes-support/attr/files/Remove-the-section-2-man-pages.patch
> >  delete mode 100644 meta/recipes-support/attr/files/relative-libdir.patch
> >  delete mode 100644 meta/recipes-support/attr/files/run-ptest
> >
> > diff --git
> a/meta/recipes-support/attr/acl/0001-test-patch-out-failing-bits.patch
> b/meta/recipes-support/attr/acl/0001-test-patch-out-failing-bits.patch
> > new file mode 100644
> > index 00000000000..ba2ffee5d27
> > --- /dev/null
> > +++
> b/meta/recipes-support/attr/acl/0001-test-patch-out-failing-bits.patch
> > @@ -0,0 +1,63 @@
> > +From 9e08219e0e99ee2589cf35fa8d52cef3515accce Mon Sep 17 00:00:00 2001
> > +From: Alexander Kanavin <alex.kanavin@gmail.com>
> > +Date: Thu, 12 Dec 2019 15:47:49 +0100
> > +Subject: [PATCH] test: patch out failing bits
> > +
> > +I have confirmed on the host distro (Ubuntu 18.04) that they
> > +fail as well; upstream probably haven't noticed because the
> > +test is only executed under sudo.
> > +
> > +Upstream-Status: Inappropriate [disabling tests instead of fixing them
> properly]
> > +Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
> > +---
> > + test/root/permissions.test | 13 -------------
> > + 1 file changed, 13 deletions(-)
> > +
> > +diff --git a/test/root/permissions.test b/test/root/permissions.test
> > +index 8f8f825..21e8a95 100644
> > +--- a/test/root/permissions.test
> > ++++ b/test/root/permissions.test
> > +@@ -50,10 +50,6 @@ User daemon is a member in the owning group, which
> has only read access.
> > + Verify this.
> > +
> > +       $ su daemon
> > +-      $ cat f
> > +-      > root
> > +-      > bin
> > +-
> > +       $ echo daemon >> f
> > +       >~ .*f: Permission denied$
> > +
> > +@@ -146,8 +142,6 @@ the owning group, he should still have no write
> access.
> > +       $ setfacl -x g:daemon f
> > +
> > +       $ su daemon
> > +-      $ echo daemon4 >> f
> > +-      >~ .*f: Permission denied$
> > +
> > +
> > + Change the owning group. The other permissions should now grant user
> > +@@ -158,12 +152,6 @@ daemon write access.
> > +
> > +       $ su daemon
> > +       $ echo daemon5 >> f
> > +-      $ cat f
> > +-      > root
> > +-      > bin
> > +-      > daemon
> > +-      > daemon2
> > +-      > daemon5
> > +
> > +
> > + Verify that permissions in separate matching ACL entries do not
> > +@@ -173,7 +161,6 @@ accumulate.
> > +       $ setfacl -m g:bin:r,g:daemon:w f
> > +
> > +       $ su daemon
> > +-      $ : < f
> > +       $ : > f
> > +       $ : <> f
> > +       >~ .*f: Permission denied$
> > +--
> > +2.17.1
> > +
> > diff --git
> a/meta/recipes-support/attr/acl/0001-tests-do-not-hardcode-the-build-path-into-a-helper-l.patch
> b/meta/recipes-support/attr/acl/0001-tests-do-not-hardcode-the-build-path-into-a-helper-l.patch
> > new file mode 100644
> > index 00000000000..57ef0bb728c
> > --- /dev/null
> > +++
> b/meta/recipes-support/attr/acl/0001-tests-do-not-hardcode-the-build-path-into-a-helper-l.patch
> > @@ -0,0 +1,24 @@
> > +From 39d332a8801de5d9ef09dacb3dba85c208b7b2ad Mon Sep 17 00:00:00 2001
> > +From: Alexander Kanavin <alex.kanavin@gmail.com>
> > +Date: Thu, 12 Dec 2019 13:45:52 +0100
> > +Subject: [PATCH] tests: do not hardcode the build path into a helper
> library
> > +
> > +Upstream-Status: Inappropriate [oe-core specific]
> > +Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
> > +---
> > + test/Makemodule.am | 2 +-
> > + 1 file changed, 1 insertion(+), 1 deletion(-)
> > +
> > +diff --git a/test/Makemodule.am b/test/Makemodule.am
> > +index 17d4927..015de7f 100644
> > +--- a/test/Makemodule.am
> > ++++ b/test/Makemodule.am
> > +@@ -30,7 +30,7 @@ EXTRA_DIST += \
> > + check_LTLIBRARIES = libtestlookup.la
> > +
> > + libtestlookup_la_SOURCES = test/test_passwd.c test/test_group.c
> > +-libtestlookup_la_CFLAGS = -DBASEDIR=\"$(abs_srcdir)\"
> > ++libtestlookup_la_CFLAGS = -DBASEDIR=\"/tmp/acl-ptest\"
> > + libtestlookup_la_LDFLAGS = -rpath $(abs_builddir)
> > +
> > + AM_TESTS_ENVIRONMENT = PATH="$(abs_top_builddir):$$PATH";
> > diff --git
> a/meta/recipes-support/attr/acl/Makefile-libacl-should-depend-on-include.patch
> b/meta/recipes-support/attr/acl/Makefile-libacl-should-depend-on-include.patch
> > deleted file mode 100644
> > index 4c7cba3b88d..00000000000
> > ---
> a/meta/recipes-support/attr/acl/Makefile-libacl-should-depend-on-include.patch
> > +++ /dev/null
> > @@ -1,51 +0,0 @@
> > -From d82457ce5ca7455e336da5e244d95f90e52aaef8 Mon Sep 17 00:00:00 2001
> > -From: Robert Yang <liezhi.yang@windriver.com>
> > -Date: Tue, 18 Apr 2017 01:17:26 -0700
> > -Subject: [PATCH] Makefile: libacl should depend on include
> > -
> > -Fixed race issue:
> > - In file included from acl_copy_entry.c:22:0:
> > - libacl.h:19:21: fatal error: sys/acl.h: No such file or directory
> > -  #include <sys/acl.h>
> > -
> > -[snip]
> > -
> > - compilation terminated.
> > - acl_get_file.c:27:24: fatal error: acl/libacl.h: No such file or
> directory
> > -  #include <acl/libacl.h>
> > -                         ^
> > -
> > -The acl.h is in "include" directory, and include/Makefile creates
> > -symlink "sys" and "acl" poinst to current dirctory:
> > -$ ls include/ -l
> > -acl -> .
> > -sys -> .
> > -
> > -So if "libacl" target runs before "include", the error would happen
> > -since no "acl" or "sys" directory.
> > -
> > -Let libacl depend on include can fix the problem.
> > -
> > -Upstream-Status: Pending
> > -
> > -Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
> > ----
> > - Makefile | 2 +-
> > - 1 file changed, 1 insertion(+), 1 deletion(-)
> > -
> > -diff --git a/Makefile b/Makefile
> > -index dce32d3..8a79379 100644
> > ---- a/Makefile
> > -+++ b/Makefile
> > -@@ -48,7 +48,7 @@ else
> > - endif
> > -
> > - # tool/lib dependencies
> > --libacl: libmisc
> > -+libacl: include libmisc
> > - getfacl setfacl chacl: libacl
> > -
> > - ifeq ($(HAVE_BUILDDEFS), yes)
> > ---
> > -2.10.2
> > -
> > diff --git
> a/meta/recipes-support/attr/acl/acl-fix-the-order-of-expected-output-of-getfacl.patch
> b/meta/recipes-support/attr/acl/acl-fix-the-order-of-expected-output-of-getfacl.patch
> > deleted file mode 100644
> > index cf765fdbb89..00000000000
> > ---
> a/meta/recipes-support/attr/acl/acl-fix-the-order-of-expected-output-of-getfacl.patch
> > +++ /dev/null
> > @@ -1,198 +0,0 @@
> > -acl: fix the order of expected output of getfacl
> > -
> > -The result of getfacl is sorted by user id.
> > -In Centos or RHEL, bin user id is 1 and daemon user id is 2.
> > -But in our image, bin user id is 2 and daemon user id is 1.
> > -The patch fixes this issue to make ptest pass.
> > -
> > -Upstream-Status: Inappropriate [embedded specific]
> > -
> > -Signed-off-by: Chong Lu <Chong.Lu@windriver.com>
> > ----
> > - test/misc.test |   38 +++++++++++++++++++-------------------
> > - 1 file changed, 19 insertions(+), 19 deletions(-)
> > -
> > -diff --git a/test/misc.test b/test/misc.test
> > -index 6e98053..53ae5b0 100644
> > ---- a/test/misc.test
> > -+++ b/test/misc.test
> > -@@ -79,8 +79,8 @@ Multiple users
> > -
> > -       $ getfacl --omit-header f
> > -       > user::rw-
> > --      > user:bin:rw-
> > -       > user:daemon:r--
> > -+      > user:bin:rw-
> > -       > group::r--
> > -       > mask::rw-
> > -       > other::r--
> > -@@ -94,8 +94,8 @@ Multiple groups
> > -
> > -       $ getfacl --omit-header f
> > -       > user::rw-
> > --      > user:bin:rw-
> > -       > user:daemon:r--
> > -+      > user:bin:rw-
> > -       > group::r--
> > -       > group:daemon:r--
> > -       > group:users:rw-
> > -@@ -111,8 +111,8 @@ Remove one group
> > -
> > -       $ getfacl --omit-header f
> > -       > user::rw-
> > --      > user:bin:rw-
> > -       > user:daemon:r--
> > -+      > user:bin:rw-
> > -       > group::r--
> > -       > group:daemon:r--
> > -       > mask::rw-
> > -@@ -146,8 +146,8 @@ Default ACL
> > -
> > -       $ getfacl --omit-header d
> > -       > user::rwx
> > --      > user:bin:rwx
> > -       > user:daemon:rw-
> > -+      > user:bin:rwx
> > -       > group::r-x
> > -       > mask::rwx
> > -       > other::---
> > -@@ -236,16 +236,16 @@ Add some users and groups
> > -
> > -       $ getfacl --omit-header d/d
> > -       > user::rwx
> > --      > user:bin:rwx  #effective:r-x
> > -       > user:daemon:r-x
> > -+      > user:bin:rwx  #effective:r-x
> > -       > group::r-x
> > -       > group:daemon:rwx      #effective:r-x
> > -       > group:users:r-x
> > -       > mask::r-x
> > -       > other::---
> > -       > default:user::rwx
> > --      > default:user:bin:rwx  #effective:r-x
> > -       > default:user:daemon:r-x
> > -+      > default:user:bin:rwx  #effective:r-x
> > -       > default:group::r-x
> > -       > default:mask::r-x
> > -       > default:other::---
> > -@@ -262,16 +262,16 @@ Symlink in directory with default ACL?
> > -
> > -       $ getfacl --omit-header d/l
> > -       > user::rwx
> > --      > user:bin:rwx  #effective:r-x
> > -       > user:daemon:r-x
> > -+      > user:bin:rwx  #effective:r-x
> > -       > group::r-x
> > -       > group:daemon:rwx      #effective:r-x
> > -       > group:users:r-x
> > -       > mask::r-x
> > -       > other::---
> > -       > default:user::rwx
> > --      > default:user:bin:rwx  #effective:r-x
> > -       > default:user:daemon:r-x
> > -+      > default:user:bin:rwx  #effective:r-x
> > -       > default:group::r-x
> > -       > default:mask::r-x
> > -       > default:other::---
> > -@@ -287,16 +287,16 @@ Does mask manipulation work?
> > -
> > -       $ getfacl --omit-header d/d
> > -       > user::rwx
> > --      > user:bin:r-x
> > -       > user:daemon:r-x
> > -+      > user:bin:r-x
> > -       > group::r-x
> > -       > group:daemon:r-x
> > -       > group:users:r-x
> > -       > mask::r-x
> > -       > other::---
> > -       > default:user::rwx
> > --      > default:user:bin:rwx  #effective:r-x
> > -       > default:user:daemon:r-x
> > -+      > default:user:bin:rwx  #effective:r-x
> > -       > default:group::r-x
> > -       > default:mask::r-x
> > -       > default:other::---
> > -@@ -308,16 +308,16 @@ Does mask manipulation work?
> > -
> > -       $ getfacl --omit-header d/d
> > -       > user::rwx
> > --      > user:bin:r-x
> > -       > user:daemon:r-x
> > -+      > user:bin:r-x
> > -       > group::r-x
> > -       > group:daemon:r-x
> > -       > group:users:r-x
> > -       > mask::r-x
> > -       > other::---
> > -       > default:user::rwx
> > --      > default:user:bin:rwx
> > -       > default:user:daemon:r-x
> > -+      > default:user:bin:rwx
> > -       > default:group::r-x
> > -       > default:mask::rwx
> > -       > default:other::---
> > -@@ -333,8 +333,8 @@ Remove the default ACL
> > -
> > -       $ getfacl --omit-header d
> > -       > user::rwx
> > --      > user:bin:rwx
> > -       > user:daemon:rw-
> > -+      > user:bin:rwx
> > -       > group::r-x
> > -       > mask::rwx
> > -       > other::---
> > -@@ -373,14 +373,14 @@ Now, chmod should change the group_obj entry
> > -
> > -       $ getfacl --omit-header d
> > -       > user::rwx
> > --      > user:bin:r-x
> > -       > user:daemon:rwx
> > -+      > user:bin:r-x
> > -       > group::rwx
> > -       > mask::rwx
> > -       > other::r-x
> > -       > default:user::rwx
> > --      > default:user:bin:r-x
> > -       > default:user:daemon:rwx
> > -+      > default:user:bin:r-x
> > -       > default:group::rwx
> > -       > default:mask::rwx
> > -       > default:other::r-x
> > -@@ -392,14 +392,14 @@ Now, chmod should change the group_obj entry
> > -
> > -       $ getfacl --omit-header d
> > -       > user::rwx
> > --      > user:bin:r-x
> > -       > user:daemon:rwx       #effective:r-x
> > -+      > user:bin:r-x
> > -       > group::rwx    #effective:r-x
> > -       > mask::r-x
> > -       > other::---
> > -       > default:user::rwx
> > --      > default:user:bin:r-x
> > -       > default:user:daemon:rwx
> > -+      > default:user:bin:r-x
> > -       > default:group::rwx
> > -       > default:mask::rwx
> > -       > default:other::r-x
> > -@@ -411,14 +411,14 @@ Now, chmod should change the group_obj entry
> > -
> > -       $ getfacl --omit-header d
> > -       > user::rwx
> > --      > user:bin:r-x
> > -       > user:daemon:rwx       #effective:r-x
> > -+      > user:bin:r-x
> > -       > group::rwx    #effective:r-x
> > -       > mask::r-x
> > -       > other::---
> > -       > default:user::rwx
> > --      > default:user:bin:r-x
> > -       > default:user:daemon:rwx
> > -+      > default:user:bin:r-x
> > -       > default:group::rwx
> > -       > default:mask::rwx
> > -       > default:other::r-x
> > ---
> > -1.7.9.5
> > -
> > diff --git a/meta/recipes-support/attr/acl/configure.ac
> b/meta/recipes-support/attr/acl/configure.ac
> > deleted file mode 100644
> > index 7af2e8d886e..00000000000
> > --- a/meta/recipes-support/attr/acl/configure.ac
> > +++ /dev/null
> > @@ -1,49 +0,0 @@
> > -# Copyright (C) 2009  Andreas Gruenbacher <agruen@suse.de>
> > -#
> > -# 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 2 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.
> > -#
> > -# You should have received a copy of the GNU General Public License
> > -# along with this program.  If not, see <http://www.gnu.org/licenses/>.
> > -#
> > -AC_INIT(include/acl.h)
> > -AC_CONFIG_AUX_DIR([.])
> > -AC_CONFIG_MACRO_DIR([m4])
> > -AC_CONFIG_HEADER(include/config.h)
> > -AC_PREFIX_DEFAULT(/usr)
> > -
> > -AC_PROG_LIBTOOL
> > -
> > -AC_ARG_ENABLE(shared,
> > -[ --enable-shared=[yes/no] Enable use of shared libraries
> [default=yes]],,
> > -       enable_shared=yes)
> > -AC_SUBST(enable_shared)
> > -
> > -AC_ARG_ENABLE(gettext,
> > -[ --enable-gettext=[yes/no] Enable alternate language support
> [default=yes]],,
> > -       enable_gettext=yes)
> > -AC_SUBST(enable_gettext)
> > -
> > -AC_ARG_ENABLE(lib64,
> > -[ --enable-lib64=[yes/no] Enable lib64 support [default=no]],,
> > -       enable_lib64=no)
> > -AC_SUBST(enable_lib64)
> > -
> > -AC_PACKAGE_GLOBALS(acl)
> > -AC_PACKAGE_UTILITIES(acl)
> > -AC_PACKAGE_NEED_ATTR_XATTR_H
> > -AC_PACKAGE_NEED_ATTR_ERROR_H
> > -AC_MULTILIB($enable_lib64)
> > -AC_PACKAGE_NEED_GETXATTR_LIBATTR
> > -AC_MANUAL_FORMAT
> > -
> > -AC_FUNC_GCC_VISIBILITY
> > -
> > -AC_OUTPUT(include/builddefs)
> > diff --git a/meta/recipes-support/attr/acl/run-ptest
> b/meta/recipes-support/attr/acl/run-ptest
> > index a56946d8e6f..43128233654 100644
> > --- a/meta/recipes-support/attr/acl/run-ptest
> > +++ b/meta/recipes-support/attr/acl/run-ptest
> > @@ -4,61 +4,7 @@
> >
> >  #umask 077
> >
> > -EXT3_IMAGE=ext3.img
> > -EXT3_MOUNT_POINT=/mnt/ext3
> > +mkdir -p /tmp/acl-ptest/test
> > +cp test/test.* /tmp/acl-ptest/test
> >
> > -trap 'rm -f ${EXT3_IMAGE}' EXIT
> > -
> > -dd if=/dev/zero of=${EXT3_IMAGE} bs=1M count=1
> > -if [ "$?" -eq 0 ]; then
> > -       echo "PASS: dump ext3.img"
> > -else
> > -       echo "FAIL: dump ext3.img"
> > -       exit 1
> > -fi
> > -
> > -mkfs.ext3 -F ${EXT3_IMAGE}
> > -if [ "$?" -eq 0 ]; then
> > -       echo "PASS: mkfs.ext3 -F ext3.img"
> > -else
> > -       echo "FAIL: mkfs.ext3 -F ext3.img"
> > -       exit 1
> > -fi
> > -
> > -if [ -d $EXT3_MOUNT_POINT ]; then
> > -       echo "mount point exist"
> > -else
> > -       mkdir -p $EXT3_MOUNT_POINT
> > -fi
> > -
> > -
> > -mount -o loop,rw,acl  ${EXT3_IMAGE} $EXT3_MOUNT_POINT
> > -if [ "$?" -eq 0 ]; then
> > -       echo "PASS: mount ext3.img"
> > -else
> > -       echo "FAIL: mount ext3.img"
> > -       exit 1
> > -fi
> > -
> > -cp -rf ./test/ $EXT3_MOUNT_POINT
> > -
> > -cd $EXT3_MOUNT_POINT/test/
> > -
> > -if     sed -e 's!^bin:x:2:$!bin:x:2:daemon!' < /etc/group > gtmp
> > -then   if      cp /etc/group group.orig;
> > -       then    cp gtmp /etc/group
> > -               make  -k tests root-tests | sed \
> > -                       -e 's|^\[.*\] \(.*\) -- ok$|PASS: \1|' \
> > -                       -e 's|^\[.*\] \(.*\) -- failed|FAIL: \1|'
> > -               cp group.orig /etc/group
> > -       else    echo "FAIL: couldn't save original group file."
> > -               exit 1
> > -       fi
> > -else   echo "FAIL: couldn't create modified group file."
> > -       exit 1
> > -fi
> > -
> > -cd -
> > -umount $EXT3_MOUNT_POINT
> > -rm -rf $EXT3_MOUNT_POINT
> > -rm $EXT3_IMAGE
> > +make test-suite.log
> > diff --git
> a/meta/recipes-support/attr/acl/test-fix-directory-permissions.patch
> b/meta/recipes-support/attr/acl/test-fix-directory-permissions.patch
> > deleted file mode 100644
> > index e64990ad5b9..00000000000
> > --- a/meta/recipes-support/attr/acl/test-fix-directory-permissions.patch
> > +++ /dev/null
> > @@ -1,37 +0,0 @@
> > -From 311589fedf196168382d8f0db303ab328bcf9d83 Mon Sep 17 00:00:00 2001
> > -From: Peter Seebach <peter.seebach@windriver.com>
> > -Date: Wed, 11 May 2016 15:16:06 -0500
> > -Subject: [PATCH] acl.inc, run-ptest: improve ptest functionality on
> limited
> > -
> > -commit c45bae84817a70fef6c2b661a07a492a0d23ae85
> > -
> > -    Fix permissions on temporary directory
> > -
> > -    The temporary directory's permissions have to allow other users to
> > -    view the directory. A default umask of 022 is common, but not
> mandatory,
> > -    and secure systems may have more restrictive defaults.
> > -
> > -    Signed-off-by: Peter Seebach <peter.seebach@windriver.com>
> > -
> > -Upstream-Status: Backport [
> http://git.savannah.gnu.org/cgit/acl.git/commit/?id=c6772a958800de064482634f77c20a0faafc5af6
> ]
> > -
> > -Signed-off-by: Dengke Du <dengke.du@windriver.com>
> > ----
> > - test/root/permissions.test | 1 +
> > - 1 file changed, 1 insertion(+)
> > -
> > -diff --git a/test/root/permissions.test b/test/root/permissions.test
> > -index 42615f5..098b52a 100644
> > ---- a/test/root/permissions.test
> > -+++ b/test/root/permissions.test
> > -@@ -16,6 +16,7 @@ Cry immediately if we are not running as root.
> > - First, set up a temporary directory and create a regular file with
> > - defined permissions.
> > -
> > -+      $ umask 022
> > -       $ mkdir d
> > -       $ cd d
> > -       $ umask 027
> > ---
> > -2.8.1
> > -
> > diff --git
> a/meta/recipes-support/attr/acl/test-fix-insufficient-quoting-of.patch
> b/meta/recipes-support/attr/acl/test-fix-insufficient-quoting-of.patch
> > deleted file mode 100644
> > index f392465b58e..00000000000
> > ---
> a/meta/recipes-support/attr/acl/test-fix-insufficient-quoting-of.patch
> > +++ /dev/null
> > @@ -1,100 +0,0 @@
> > -From e98ce8acf84d12ea67a3ac76bf63c6d87d9af86d Mon Sep 17 00:00:00 2001
> > -From: Kamil Dudka <kdudka@redhat.com>
> > -Date: Mon, 20 May 2013 16:38:06 +0200
> > -Subject: [PATCH] test: fix insufficient quoting of '\'
> > -
> > -This is a follow-up to 7f2c91b8369242a8dbc2b304a5b71b2a85f5b855, which
> > -caused sbits-restore.test to fail in the following way in case SELinux
> > -was disabled:
> > -
> > -*** sbits-restore.test ***
> > -[3] $ umask 022 -- ok
> > -[4] $ mkdir d -- ok
> > -[5] $ touch d/g -- ok
> > -[6] $ touch d/u -- ok
> > -[7] $ chmod u+s d/u -- ok
> > -[8] $ chmod g+s d/g -- ok
> > -[9] $ chmod +t d -- ok
> > -[10] $ getfacl -R d > d.acl -- ok
> > -[11] $ rm -R d -- ok
> > -[12] $ mkdir d -- ok
> > -[13] $ touch d/g -- ok
> > -[14] $ touch d/u -- ok
> > -[15] $ setfacl --restore d.acl -- ok
> > -[16] $ ls -dl d | awk '{print $1}' | sed 's/.$//g' -- failed
> > -drwxr-xr-                             != drwxr-xr-t
> > -[18] $ ls -dl d/u | awk '{print $1}' | sed 's/.$//g' -- failed
> > --rwSr--r-                             != -rwSr--r--
> > -[20] $ ls -dl d/g | awk '{print $1}' | sed 's/.$//g' -- failed
> > --rw-r-Sr-                             != -rw-r-Sr--
> > -[22] $ rm -Rf d -- ok
> > -17 commands (14 passed, 3 failed)
> > -
> > -Upstream-Status: Backport
> > -
> http://git.savannah.gnu.org/cgit/acl.git/commit/?id=e98ce8acf84d12ea67a3ac76bf63c6d87d9af86d
> > -
> > -Signed-off-by: Kamil Dudka <kdudka@redhat.com>
> > -Signed-off-by: He Zhe <zhe.he@windriver.com>
> > -
> > -Index: acl-2.2.52/test/cp.test
> > -===================================================================
> > ---- acl-2.2.52.orig/test/cp.test
> > -+++ acl-2.2.52/test/cp.test
> > -@@ -9,7 +9,7 @@ The cp utility should only copy ACLs if
> > -       > -rw-rw-r--+
> > -
> > -       $ cp f g
> > --      $ ls -l g | awk -- '{ print $1 }' | sed 's/\.$//g'
> > -+      $ ls -l g | awk -- '{ print $1 }' | sed 's/\\.$//g'
> > -       > -rw-r--r--
> > -
> > -       $ rm g
> > -Index: acl-2.2.52/test/misc.test
> > -===================================================================
> > ---- acl-2.2.52.orig/test/misc.test
> > -+++ acl-2.2.52/test/misc.test
> > -@@ -254,7 +254,7 @@ Add some users and groups
> > - Symlink in directory with default ACL?
> > -
> > -       $ ln -s d d/l
> > --      $ ls -dl d/l | awk '{print $1}' | sed 's/\.$//g'
> > -+      $ ls -dl d/l | awk '{print $1}' | sed 's/\\.$//g'
> > -       > lrwxrwxrwx
> > -
> > -       $ ls -dl -L d/l | awk '{print $1}'
> > -@@ -343,7 +343,7 @@ Remove the default ACL
> > - Reset to base entries
> > -
> > -       $ setfacl -b d
> > --      $ ls -dl d | awk '{print $1}' | sed 's/\.$//g'
> > -+      $ ls -dl d | awk '{print $1}' | sed 's/\\.$//g'
> > -       > drwxr-x---
> > -
> > -       $ getfacl --omit-header d
> > -@@ -355,7 +355,7 @@ Reset to base entries
> > - Now, chmod should change the group_obj entry
> > -
> > -       $ chmod 775 d
> > --      $ ls -dl d | awk '{print $1}' | sed 's/\.$//g'
> > -+      $ ls -dl d | awk '{print $1}' | sed 's/\\.$//g'
> > -       > drwxrwxr-x
> > -
> > -       $ getfacl --omit-header d
> > -Index: acl-2.2.52/test/sbits-restore.test
> > -===================================================================
> > ---- acl-2.2.52.orig/test/sbits-restore.test
> > -+++ acl-2.2.52/test/sbits-restore.test
> > -@@ -13,10 +13,10 @@ Ensure setting of SUID/SGID/sticky via -
> > -       $ touch d/g
> > -       $ touch d/u
> > -       $ setfacl --restore d.acl
> > --      $ ls -dl d | awk '{print $1}' | sed 's/\.$//g'
> > -+      $ ls -dl d | awk '{print $1}' | sed 's/\\.$//g'
> > -       > drwxr-xr-t
> > --      $ ls -dl d/u | awk '{print $1}' | sed 's/\.$//g'
> > -+      $ ls -dl d/u | awk '{print $1}' | sed 's/\\.$//g'
> > -       > -rwSr--r--
> > --      $ ls -dl d/g | awk '{print $1}' | sed 's/\.$//g'
> > -+      $ ls -dl d/g | awk '{print $1}' | sed 's/\\.$//g'
> > -       > -rw-r-Sr--
> > -       $ rm -Rf d
> > diff --git
> a/meta/recipes-support/attr/acl/test-fixups-on-SELinux-machines-for-root-testcases.patch
> b/meta/recipes-support/attr/acl/test-fixups-on-SELinux-machines-for-root-testcases.patch
> > deleted file mode 100644
> > index 8cc11a63e12..00000000000
> > ---
> a/meta/recipes-support/attr/acl/test-fixups-on-SELinux-machines-for-root-testcases.patch
> > +++ /dev/null
> > @@ -1,84 +0,0 @@
> > -From d2f49ee6fe4850b8dda5b08676b36201d3c43710 Mon Sep 17 00:00:00 2001
> > -From: He Zhe <zhe.he@windriver.com>
> > -Date: Wed, 2 Mar 2016 15:46:57 +0800
> > -Subject: [PATCH] test: fixups on SELinux machines for root testcases
> > -
> > -ls adds a '.' at the end of the permission field list on SELinux
> > -machines, filter this out so root tests work on SELinux machines.
> > -
> > -Upstream-Status: Accepted
> > -
> http://git.savannah.gnu.org/cgit/acl.git/commit/?id=26a87d36f80d5e98bccb5878834d9e69dadfe3e9
> > -
> > -Signed-off-by: He Zhe <zhe.he@windriver.com>
> > ----
> > - test/root/permissions.test | 8 ++++----
> > - test/root/restore.test     | 2 +-
> > - test/root/setfacl.test     | 2 +-
> > - 3 files changed, 6 insertions(+), 6 deletions(-)
> > -
> > -diff --git a/test/root/permissions.test b/test/root/permissions.test
> > -index 9b9e3de..665339a 100644
> > ---- a/test/root/permissions.test
> > -+++ b/test/root/permissions.test
> > -@@ -19,7 +19,7 @@ defined permissions.
> > -       $ cd d
> > -       $ umask 027
> > -       $ touch f
> > --      $ ls -l f | awk -- '{ print $1, $3, $4 }'
> > -+      $ ls -l f | awk -- '{ print $1, $3, $4 }' | sed 's/\\.//g'
> > -       > -rw-r----- root root
> > -
> > -
> > -@@ -39,7 +39,7 @@ Now, change the ownership of the file to bin:bin and
> verify that this
> > - gives user bin write access.
> > -
> > -       $ chown bin:bin f
> > --      $ ls -l f | awk -- '{ print $1, $3, $4 }'
> > -+      $ ls -l f | awk -- '{ print $1, $3, $4 }' | sed 's/\\.//g'
> > -       > -rw-r----- bin bin
> > -       $ su bin
> > -       $ echo bin >> f
> > -@@ -256,12 +256,12 @@ directories if the file has an ACL and only
> CAP_FOWNER would grant them.
> > -       $ mkdir -m 600 x
> > -       $ chown daemon:daemon x
> > -       $ echo j > x/j
> > --      $ ls -l x/j | awk -- '{ print $1, $3, $4 }'
> > -+      $ ls -l x/j | awk -- '{ print $1, $3, $4 }' | sed 's/\\.//g'
> > -       > -rw-r----- root root
> > -
> > -       $ setfacl -m u:daemon:r x
> > -
> > --      $ ls -l x/j | awk -- '{ print $1, $3, $4 }'
> > -+      $ ls -l x/j | awk -- '{ print $1, $3, $4 }' | sed 's/\\.//g'
> > -       > -rw-r----- root root
> > -       (With the bug this gives: `ls: x/j: Permission denied'.)
> > -
> > -diff --git a/test/root/restore.test b/test/root/restore.test
> > -index 63a9d01..c85097c 100644
> > ---- a/test/root/restore.test
> > -+++ b/test/root/restore.test
> > -@@ -21,7 +21,7 @@ Cry immediately if we are not running as root.
> > -       $ chown bin passwd
> > -       $ chmod u+s passwd
> > -       $ setfacl --restore passwd.acl
> > --      $ ls -dl passwd | awk '{print $1 " " $3 " " $4}'
> > -+      $ ls -dl passwd | awk '{print $1 " " $3 " " $4}' | sed 's/\\.//g'
> > -       > -rwsr-xr-x root root
> > -
> > -       $ rm passwd passwd.acl
> > -diff --git a/test/root/setfacl.test b/test/root/setfacl.test
> > -index a46a9f4..7efbad7 100644
> > ---- a/test/root/setfacl.test
> > -+++ b/test/root/setfacl.test
> > -@@ -12,7 +12,7 @@ Cry immediately if we are not running as root.
> > -       $ sg bin
> > -       $ umask 027
> > -       $ touch g
> > --      $ ls -dl g | awk '{print $1}'
> > -+      $ ls -dl g | awk '{print $1}' | sed 's/\\.//g'
> > -       > -rw-r-----
> > -
> > -       $ setfacl -m m:- g
> > ---
> > -1.9.1
> > -
> > diff --git a/meta/recipes-support/attr/acl_2.2.52.bb
> b/meta/recipes-support/attr/acl_2.2.52.bb
> > deleted file mode 100644
> > index 6bc77d868d5..00000000000
> > --- a/meta/recipes-support/attr/acl_2.2.52.bb
> > +++ /dev/null
> > @@ -1,52 +0,0 @@
> > -SUMMARY = "Utilities for managing POSIX Access Control Lists"
> > -HOMEPAGE = "http://savannah.nongnu.org/projects/acl/"
> > -SECTION = "libs"
> > -
> > -LICENSE = "LGPLv2.1+ & GPLv2+"
> > -LICENSE_${PN} = "GPLv2+"
> > -LICENSE_lib${BPN} = "LGPLv2.1+"
> > -LIC_FILES_CHKSUM =
> "file://doc/COPYING;md5=c781d70ed2b4d48995b790403217a249 \
> > -
> file://doc/COPYING.LGPL;md5=9e9a206917f8af112da634ce3ab41764"
> > -
> > -DEPENDS = "attr"
> > -
> > -SRC_URI = "${SAVANNAH_GNU_MIRROR}/acl/${BP}.src.tar.gz \
> > -           file://configure.ac;subdir=${BP} \
> > -           file://run-ptest \
> > -           file://acl-fix-the-order-of-expected-output-of-getfacl.patch
> \
> > -           file://test-fix-insufficient-quoting-of.patch \
> > -
>  file://test-fixups-on-SELinux-machines-for-root-testcases.patch \
> > -           file://test-fix-directory-permissions.patch \
> > -           file://Makefile-libacl-should-depend-on-include.patch \
> > -"
> > -
> > -SRC_URI[md5sum] = "a61415312426e9c2212bd7dc7929abda"
> > -SRC_URI[sha256sum] =
> "179074bb0580c06c4b4137be4c5a92a701583277967acdb5546043c7874e0d23"
> > -
> > -require ea-acl.inc
> > -
> > -# avoid RPATH hardcode to staging dir
> > -do_configure_append() {
> > -       sed -i ${S}/config.status -e
> s,^\\\(hardcode_into_libs=\\\).*$,\\1\'no\',
> > -       ${S}/config.status
> > -}
> > -
> > -# libdir should point to .la
> > -do_install_append() {
> > -       sed -i ${D}${libdir}/libacl.la -e \
> > -           s,^libdir=\'${base_libdir}\'$,libdir=\'${libdir}\',
> > -}
> > -
> > -inherit ptest
> > -
> > -PTEST_BUILD_HOST_FILES = "builddefs"
> > -PTEST_BUILD_HOST_PATTERN = "^RPM"
> > -do_install_ptest() {
> > -       tar -c --exclude=nfs test/ | ( cd ${D}${PTEST_PATH} && tar -xf -
> )
> > -       install -d ${D}${PTEST_PATH}/include
> > -       install -m 644 ${S}/include/builddefs ${S}/include/buildmacros
> ${S}/include/buildrules ${D}${PTEST_PATH}/include/
> > -}
> > -
> > -RDEPENDS_${PN}-ptest = "acl bash coreutils perl perl-module-filehandle
> perl-module-getopt-std perl-module-posix shadow"
> > -
> > -BBCLASSEXTEND = "native nativesdk"
> > diff --git a/meta/recipes-support/attr/acl_2.2.53.bb
> b/meta/recipes-support/attr/acl_2.2.53.bb
> > new file mode 100644
> > index 00000000000..c95e0524eb4
> > --- /dev/null
> > +++ b/meta/recipes-support/attr/acl_2.2.53.bb
> > @@ -0,0 +1,60 @@
> > +SUMMARY = "Utilities for managing POSIX Access Control Lists"
> > +HOMEPAGE = "http://savannah.nongnu.org/projects/acl/"
> > +SECTION = "libs"
> > +
> > +LICENSE = "LGPLv2.1+ & GPLv2+"
> > +LICENSE_${PN} = "GPLv2+"
> > +LICENSE_lib${BPN} = "LGPLv2.1+"
> > +LIC_FILES_CHKSUM =
> "file://doc/COPYING;md5=c781d70ed2b4d48995b790403217a249 \
> > +
> file://doc/COPYING.LGPL;md5=9e9a206917f8af112da634ce3ab41764"
> > +
> > +DEPENDS = "attr"
> > +
> > +SRC_URI = "${SAVANNAH_GNU_MIRROR}/acl/${BP}.tar.gz \
> > +           file://run-ptest \
> > +
>  file://0001-tests-do-not-hardcode-the-build-path-into-a-helper-l.patch \
> > +           file://0001-test-patch-out-failing-bits.patch \
> > +           "
> > +
> > +SRC_URI[md5sum] = "007aabf1dbb550bcddde52a244cd1070"
> > +SRC_URI[sha256sum] =
> "06be9865c6f418d851ff4494e12406568353b891ffe1f596b34693c387af26c7"
> > +
> > +inherit autotools gettext ptest
> > +
> > +PTEST_BUILD_HOST_FILES = "builddefs"
> > +PTEST_BUILD_HOST_PATTERN = "^RPM"
> > +
> > +do_compile_ptest() {
> > +        oe_runmake libtestlookup.la
> > +}
> > +
> > +do_install_ptest() {
> > +       cp -rf ${S}/test/ ${D}${PTEST_PATH}
> > +       cp -rf ${S}/build-aux/ ${D}${PTEST_PATH}
> > +        mkdir -p ${D}${PTEST_PATH}/.libs
> > +       cp -rf ${B}/.libs/libtestlookup* ${D}${PTEST_PATH}/.libs
> > +        cp ${B}/Makefile ${D}${PTEST_PATH}
> > +        sed -i "s|^srcdir =.*|srcdir = \.|g" ${D}${PTEST_PATH}/Makefile
> > +        sed -i "s|^abs_srcdir =.*|abs_srcdir = \.|g"
> ${D}${PTEST_PATH}/Makefile
> > +        sed -i "s|^abs_top_srcdir =.*|abs_top_srcdir = \.\.|g"
> ${D}${PTEST_PATH}/Makefile
> > +        sed -i "s|^Makefile:.*|Makefile:|g" ${D}${PTEST_PATH}/Makefile
> > +}
> > +
> > +RDEPENDS_${PN}-ptest = "acl \
> > +                        bash \
> > +                        coreutils \
> > +                        perl \
> > +                        perl-module-filehandle \
> > +                        perl-module-getopt-std \
> > +                        perl-module-posix \
> > +                        shadow \
> > +                        make \
> > +                        gawk \
> > +                        e2fsprogs-mke2fs \
> > +                        perl-module-cwd \
> > +                        perl-module-file-basename \
> > +                        perl-module-file-path \
> > +                        perl-module-file-spec \
> > +                       "
> > +
> > +BBCLASSEXTEND = "native nativesdk"
> > diff --git a/meta/recipes-support/attr/attr.inc
> b/meta/recipes-support/attr/attr.inc
> > index 3503d66b9e1..5661301c15a 100644
> > --- a/meta/recipes-support/attr/attr.inc
> > +++ b/meta/recipes-support/attr/attr.inc
> > @@ -8,22 +8,14 @@ LICENSE = "LGPLv2.1+ & GPLv2+"
> >  LICENSE_${PN} = "GPLv2+"
> >  LICENSE_lib${BPN} = "LGPLv2.1+"
> >  LIC_FILES_CHKSUM =
> "file://doc/COPYING;md5=2d0aa14b3fce4694e4f615e30186335f \
> > -
> file://attr/attr.c;endline=17;md5=be0403261f0847e5f43ed5b08d19593c \
> > +
> file://tools/attr.c;endline=17;md5=be0403261f0847e5f43ed5b08d19593c \
> >
> file://libattr/libattr.c;endline=17;md5=7970f77049f8fa1199fff62a7ab724fb"
> >
> > -SRC_URI = "${SAVANNAH_GNU_MIRROR}/attr/${BP}.src.tar.gz \
> > +SRC_URI = "${SAVANNAH_GNU_MIRROR}/attr/${BP}.tar.gz \
> >             file://run-ptest \
> >  "
> >
> > -require ea-acl.inc
> > -
> > -# libdir should point to .la
> > -do_install_append() {
> > -       sed -i ${D}${libdir}/libattr.la -e \
> > -           s,^libdir=\'${base_libdir}\'$,libdir=\'${libdir}\',
> > -}
> > -
> > -inherit ptest update-alternatives
> > +inherit ptest update-alternatives autotools gettext
> >
> >  ALTERNATIVE_PRIORITY = "100"
> >  ALTERNATIVE_${PN} = "setfattr"
> > @@ -33,14 +25,27 @@ PTEST_BUILD_HOST_FILES = "builddefs"
> >  PTEST_BUILD_HOST_PATTERN = "^RPM"
> >
> >  do_install_ptest() {
> > -       tar -c --exclude=ext test/ | ( cd ${D}${PTEST_PATH} && tar -xf -
> )
> > -       mkdir ${D}${PTEST_PATH}/include
> > -       for i in builddefs buildmacros buildrules; \
> > -         do cp ${S}/include/$i ${D}${PTEST_PATH}/include/; \
> > -       done
> > -       sed -e 's|; @echo|; echo|' -i ${D}${PTEST_PATH}/test/Makefile
> > +        cp ${B}/Makefile ${D}${PTEST_PATH}
> > +        sed -i "s|^srcdir =.*|srcdir = \.|g" ${D}${PTEST_PATH}/Makefile
> > +        sed -i "s|^abs_srcdir =.*|abs_srcdir = \.|g"
> ${D}${PTEST_PATH}/Makefile
> > +        sed -i "s|^abs_top_srcdir =.*|abs_top_srcdir = \.\.|g"
> ${D}${PTEST_PATH}/Makefile
> > +        sed -i "s|^Makefile:.*|Makefile:|g" ${D}${PTEST_PATH}/Makefile
> > +       cp -rf ${S}/build-aux/ ${D}${PTEST_PATH}
> > +       cp -rf ${S}/test/ ${D}${PTEST_PATH}
> >  }
> >
> > -RDEPENDS_${PN}-ptest = "attr coreutils perl-module-filehandle
> perl-module-getopt-std perl-module-posix make perl"
> > +RDEPENDS_${PN}-ptest = "attr \
> > +                        coreutils \
> > +                        perl-module-filehandle \
> > +                        perl-module-getopt-std \
> > +                        perl-module-posix \
> > +                        make \
> > +                        perl \
> > +                        gawk \
> > +                        perl-module-cwd \
> > +                        perl-module-file-basename \
> > +                        perl-module-file-path \
> > +                        perl-module-file-spec \
> > +                        "
> >
> >  BBCLASSEXTEND = "native nativesdk"
> > diff --git
> a/meta/recipes-support/attr/attr/0001-Use-stdint-types-consistently.patch
> b/meta/recipes-support/attr/attr/0001-Use-stdint-types-consistently.patch
> > deleted file mode 100644
> > index dcd6507bcc5..00000000000
> > ---
> a/meta/recipes-support/attr/attr/0001-Use-stdint-types-consistently.patch
> > +++ /dev/null
> > @@ -1,69 +0,0 @@
> > -From 37a27b6fd09ecb37097b85e5db74e4f77b80fe0a Mon Sep 17 00:00:00 2001
> > -From: Felix Janda <felix.janda@posteo.de>
> > -Date: Tue, 12 Jan 2016 22:20:33 +0100
> > -Subject: [PATCH] Use stdint types consistently
> > -
> > ----
> > -Upstream-Status: Backport
> > -Signed-off-by: Khem Raj <raj.khem@gmail.com>
> > -
> > - include/attributes.h | 6 ++++--
> > - man/man3/attr_list.3 | 8 ++++----
> > - 2 files changed, 8 insertions(+), 6 deletions(-)
> > -
> > -Index: attr-2.4.47/include/attributes.h
> > -===================================================================
> > ---- attr-2.4.47.orig/include/attributes.h
> > -+++ attr-2.4.47/include/attributes.h
> > -@@ -22,6 +22,7 @@
> > - extern "C" {
> > - #endif
> > -
> > -+#include <stdint.h>
> > - /*
> > -  *    An almost-IRIX-compatible extended attributes API
> > -  *    (the IRIX attribute "list" operation is missing, added
> ATTR_SECURE).
> > -@@ -69,7 +70,7 @@ typedef struct attrlist {
> > -  * al_offset[i] entry points to.
> > -  */
> > - typedef struct attrlist_ent { /* data from attr_list() */
> > --      u_int32_t       a_valuelen;     /* number bytes in value of attr
> */
> > -+      uint32_t        a_valuelen;     /* number bytes in value of attr
> */
> > -       char            a_name[1];      /* attr name (NULL terminated) */
> > - } attrlist_ent_t;
> > -
> > -@@ -90,7 +91,7 @@ typedef struct attrlist_ent {        /* data fr
> > -  * operation on a cursor is to bzero() it.
> > -  */
> > - typedef struct attrlist_cursor {
> > --      u_int32_t       opaque[4];      /* an opaque cookie */
> > -+      uint32_t        opaque[4];      /* an opaque cookie */
> > - } attrlist_cursor_t;
> > -
> > - /*
> > -Index: attr-2.4.47/man/man3/attr_list.3
> > -===================================================================
> > ---- attr-2.4.47.orig/man/man3/attr_list.3
> > -+++ attr-2.4.47/man/man3/attr_list.3
> > -@@ -72,9 +72,9 @@ The contents of an \f4attrlist_t\fP stru
> > - .nf
> > - .ft 4
> > - .ta 9n 22n
> > --__int32_t al_count; /\(** number of entries in attrlist \(**/
> > --__int32_t al_more; /\(** T/F: more attrs (do syscall again) \(**/
> > --__int32_t al_offset[1]; /\(** byte offsets of attrs [var-sized] \(**/
> > -+int32_t al_count; /\(** number of entries in attrlist \(**/
> > -+int32_t al_more; /\(** T/F: more attrs (do syscall again) \(**/
> > -+int32_t al_offset[1]; /\(** byte offsets of attrs [var-sized] \(**/
> > - .ft 1
> > - .fi
> > - .RE
> > -@@ -113,7 +113,7 @@ include the following members:
> > - .nf
> > - .ft 4
> > - .ta 9n 22n
> > --u_int32_t a_valuelen; /\(** number bytes in value of attr \(**/
> > -+uint32_t a_valuelen; /\(** number bytes in value of attr \(**/
> > - char a_name[]; /\(** attr name (NULL terminated) \(**/
> > - .ft 1
> > - .fi
> > diff --git
> a/meta/recipes-support/attr/attr/attr-Missing-configure.ac.patch
> b/meta/recipes-support/attr/attr/attr-Missing-configure.ac.patch
> > deleted file mode 100644
> > index 20fcc3cee7b..00000000000
> > --- a/meta/recipes-support/attr/attr/attr-Missing-configure.ac.patch
> > +++ /dev/null
> > @@ -1,63 +0,0 @@
> > -Subject: [PATCH] attr: Missing configure.ac
> > -
> > -Upstream-Status: Backport [Upstream released tarball missing this file]
> > -Signed-off-by: Nathan Rossi <nathan.rossi@xilinx.com>
> > ----
> > - configure.ac |   48 ++++++++++++++++++++++++++++++++++++++++++++++++
> > - 1 file changed, 48 insertions(+)
> > - create mode 100644 configure.ac
> > -
> > -diff --git a/configure.ac b/configure.ac
> > -new file mode 100644
> > -index 0000000..b966d0e
> > ---- /dev/null
> > -+++ b/configure.ac
> > -@@ -0,0 +1,48 @@
> > -+# Copyright (C) 2009  Andreas Gruenbacher <agruen@suse.de>
> > -+#
> > -+# 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 2 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.
> > -+#
> > -+# You should have received a copy of the GNU General Public License
> > -+# along with this program.  If not, see <http://www.gnu.org/licenses/
> >.
> > -+#
> > -+AC_INIT(include/attributes.h)
> > -+AC_CONFIG_AUX_DIR([.])
> > -+AC_CONFIG_MACRO_DIR([m4])
> > -+AC_CONFIG_HEADER(include/config.h)
> > -+AC_PREFIX_DEFAULT(/usr)
> > -+
> > -+AC_PROG_LIBTOOL
> > -+
> > -+AC_ARG_ENABLE(shared,
> > -+[ --enable-shared=[yes/no] Enable use of shared libraries
> [default=yes]],,
> > -+      enable_shared=yes)
> > -+AC_SUBST(enable_shared)
> > -+
> > -+AC_ARG_ENABLE(gettext,
> > -+[ --enable-gettext=[yes/no] Enable alternate language support
> [default=yes]],,
> > -+      enable_gettext=yes)
> > -+AC_SUBST(enable_gettext)
> > -+
> > -+AC_ARG_ENABLE(lib64,
> > -+[ --enable-lib64=[yes/no] Enable lib64 support [default=no]],,
> > -+      enable_lib64=no)
> > -+AC_SUBST(enable_lib64)
> > -+
> > -+AC_PACKAGE_GLOBALS(attr)
> > -+AC_PACKAGE_UTILITIES(attr)
> > -+AC_MANUAL_FORMAT
> > -+AC_MULTILIB($enable_lib64)
> > -+
> > -+AC_C_CONST
> > -+AC_TYPE_MODE_T
> > -+AC_FUNC_ALLOCA
> > -+
> > -+AC_OUTPUT(include/builddefs)
> > diff --git a/meta/recipes-support/attr/attr/dont-use-decl-macros.patch
> b/meta/recipes-support/attr/attr/dont-use-decl-macros.patch
> > deleted file mode 100644
> > index 9d4b8929e89..00000000000
> > --- a/meta/recipes-support/attr/attr/dont-use-decl-macros.patch
> > +++ /dev/null
> > @@ -1,56 +0,0 @@
> > -Use extern "C" instead of __BEGIN_DECL/__END_DECL macros
> > -these macros are defined in sys/cdefs.h for glibc and this header is
> not available on all libc
> > -
> > -anyway they defined like below
> > -
> > -#ifdef __cplusplus
> > -# define __BEGIN_DECLS extern "C" {
> > -# define __END_DECLS }
> > -#else
> > -# define __BEGIN_DECLS /* empty */
> > -# define __END_DECLS /* empty */
> > -#endif
> > -
> > -__THROW macro is also not available on musl, defined thusly
> > -
> > -Upstream-Status: Pending
> > -
> > -Signed-off-by: Khem Raj <raj.khem@gmail.com>
> > -
> > -Index: attr-2.4.47/include/xattr.h
> > -===================================================================
> > ---- attr-2.4.47.orig/include/xattr.h   2014-04-02 00:01:30.252091280
> -0700
> > -+++ attr-2.4.47/include/xattr.h        2014-04-02 00:12:57.985428099
> -0700
> > -@@ -30,8 +30,20 @@
> > - #define XATTR_CREATE  0x1       /* set value, fail if attr already
> exists */
> > - #define XATTR_REPLACE 0x2       /* set value, fail if attr does not
> exist */
> > -
> > --
> > --__BEGIN_DECLS
> > -+#ifndef __THROW
> > -+# ifndef __GNUC_PREREQ
> > -+#  define __GNUC_PREREQ(maj, min) (0)
> > -+# endif
> > -+# if defined __cplusplus && __GNUC_PREREQ (2,8)
> > -+#  define __THROW       throw ()
> > -+# else
> > -+#  define __THROW
> > -+# endif
> > -+#endif
> > -+
> > -+#ifdef __cplusplus
> > -+extern "C" {
> > -+#endif
> > -
> > - extern int setxattr (const char *__path, const char *__name,
> > -                     const void *__value, size_t __size, int __flags)
> __THROW;
> > -@@ -58,6 +70,8 @@
> > - extern int lremovexattr (const char *__path, const char *__name)
> __THROW;
> > - extern int fremovexattr (int __filedes,   const char *__name) __THROW;
> > -
> > --__END_DECLS
> > -+#ifdef __cplusplus
> > -+}
> > -+#endif
> > -
> > - #endif        /* __XATTR_H__ */
> > diff --git a/meta/recipes-support/attr/attr/run-ptest
> b/meta/recipes-support/attr/attr/run-ptest
> > new file mode 100644
> > index 00000000000..f64244f2393
> > --- /dev/null
> > +++ b/meta/recipes-support/attr/attr/run-ptest
> > @@ -0,0 +1,3 @@
> > +#!/bin/sh
> > +
> > +make test-suite.log
> > diff --git a/meta/recipes-support/attr/attr_2.4.47.bb
> b/meta/recipes-support/attr/attr_2.4.47.bb
> > deleted file mode 100644
> > index fc88bef830b..00000000000
> > --- a/meta/recipes-support/attr/attr_2.4.47.bb
> > +++ /dev/null
> > @@ -1,15 +0,0 @@
> > -require attr.inc
> > -
> > -# configure.ac was missing from the release tarball. This should be
> fixed in
> > -# future releases of attr, remove this when updating the recipe.
> > -SRC_URI += "file://attr-Missing-configure.ac.patch \
> > -            file://dont-use-decl-macros.patch \
> > -            file://Remove-the-section-2-man-pages.patch \
> > -            file://Remove-the-attr.5-man-page-moved-to-man-pages.patch \
> > -            file://0001-Use-stdint-types-consistently.patch \
> > -           "
> > -
> > -SRC_URI[md5sum] = "84f58dec00b60f2dc8fd1c9709291cc7"
> > -SRC_URI[sha256sum] =
> "25772f653ac5b2e3ceeb89df50e4688891e21f723c460636548971652af0a859"
> > -
> > -BBCLASSEXTEND = "native nativesdk"
> > diff --git a/meta/recipes-support/attr/attr_2.4.48.bb
> b/meta/recipes-support/attr/attr_2.4.48.bb
> > new file mode 100644
> > index 00000000000..530d4e48833
> > --- /dev/null
> > +++ b/meta/recipes-support/attr/attr_2.4.48.bb
> > @@ -0,0 +1,6 @@
> > +require attr.inc
> > +
> > +SRC_URI[md5sum] = "bc1e5cb5c96d99b24886f1f527d3bb3d"
> > +SRC_URI[sha256sum] =
> "5ead72b358ec709ed00bbf7a9eaef1654baad937c001c044fe8b74c57f5324e7"
> > +
> > +BBCLASSEXTEND = "native nativesdk"
> > diff --git a/meta/recipes-support/attr/ea-acl.inc
> b/meta/recipes-support/attr/ea-acl.inc
> > deleted file mode 100644
> > index 9336ffc9389..00000000000
> > --- a/meta/recipes-support/attr/ea-acl.inc
> > +++ /dev/null
> > @@ -1,52 +0,0 @@
> > -# this build system is mostly shared by attr and acl
> > -
> > -SRC_URI += "file://relative-libdir.patch;striplevel=0 \
> > -           "
> > -# This patch should be applied after
> '(attr\|acl)-Missing-configure.ac.patch'
> > -SRC_URI_append = "
> file://0001-Added-configure-option-to-enable-disable-static-libr.patch"
> > -
> > -inherit autotools-brokensep gettext
> > -
> > -# When upstream is using automake properly, this can be removed
> > -CLEANBROKEN = "1"
> > -
> > -# the package comes with a custom config.h.in, it cannot be
> > -# overwritten by autoheader
> > -EXTRA_AUTORECONF += "--exclude=autoheader"
> > -EXTRA_OECONF = "INSTALL_USER=root INSTALL_GROUP=root"
> > -EXTRA_OECONF_append_class-native = " --enable-gettext=no"
> > -EXTRA_OECONF_append_class-target = "${@['', ' --disable-gettext
> '][(d.getVar('USE_NLS') == 'no')]}"
> > -
> > -EXTRA_OEMAKE = "PKG_LIB_DIR=${base_libdir} PKG_DEVLIB_DIR=${libdir}"
> > -
> > -do_install () {
> > -       oe_runmake install install-lib install-dev DIST_ROOT="${D}"
> ZIP="gzip -n"
> > -}
> > -
> > -do_install_append_class-native () {
> > -       if test "${libdir}" = "${base_libdir}" ; then
> > -               return
> > -       fi
> > -       librelpath=${@os.path.relpath(d.getVar('libdir'),
> d.getVar('base_libdir'))}
> > -       baselibrelpath=${@os.path.relpath(d.getVar('base_libdir'),
> d.getVar('libdir'))}
> > -
> > -       # Remove bad symlinks & create the correct symlinks
> > -       if test -L ${D}${libdir}/lib${BPN}.so ; then
> > -               rm -rf ${D}${libdir}/lib${BPN}.so
> > -               ln -sf $baselibrelpath/lib${BPN}.so
> ${D}${libdir}/lib${BPN}.so
> > -       fi
> > -       if test -L ${D}${base_libdir}/lib${BPN}.a ; then
> > -               rm -rf ${D}${base_libdir}/lib${BPN}.a
> > -               ln -sf $librelpath/lib${BPN}.a
> ${D}${base_libdir}/lib${BPN}.a
> > -       fi
> > -       if test -L  ${D}${base_libdir}/lib${BPN}.la ; then
> > -               rm -rf ${D}${base_libdir}/lib${BPN}.la
> > -               ln -sf $librelpath/lib${BPN}.la
> ${D}${base_libdir}/lib${BPN}.la
> > -       fi
> > -}
> > -
> > -PACKAGES =+ "lib${BPN}"
> > -
> > -FILES_lib${BPN} = "${base_libdir}/lib*${SOLIBS}"
> > -
> > -BBCLASSEXTEND = "native"
> > diff --git
> a/meta/recipes-support/attr/files/0001-Added-configure-option-to-enable-disable-static-libr.patch
> b/meta/recipes-support/attr/files/0001-Added-configure-option-to-enable-disable-static-libr.patch
> > deleted file mode 100644
> > index 1c1159f2c90..00000000000
> > ---
> a/meta/recipes-support/attr/files/0001-Added-configure-option-to-enable-disable-static-libr.patch
> > +++ /dev/null
> > @@ -1,70 +0,0 @@
> > -From 01256c61ba126449c46dd4ab5d5e145488b981fa Mon Sep 17 00:00:00 2001
> > -From: Amarnath Valluri <amarnath.valluri@intel.com>
> > -Date: Mon, 23 Jan 2017 13:25:13 +0200
> > -Subject: [PATCH] Added configure option to enable/disable static library
> > -
> > -Create static library archive only in case of --enable-static.
> > -
> > -Upstream-Status: Pending
> > -
> > -Signed-off-by: Amarnath Valluri <amarnath.valluri@intel.com>
> > ----
> > - configure.ac         | 6 ++++++
> > - include/builddefs.in | 1 +
> > - include/buildmacros  | 3 +++
> > - 3 files changed, 10 insertions(+)
> > -
> > -diff --git a/configure.ac b/configure.ac
> > -index b966d0e..e48268b 100644
> > ---- a/configure.ac
> > -+++ b/configure.ac
> > -@@ -26,6 +26,12 @@ AC_ARG_ENABLE(shared,
> > -       enable_shared=yes)
> > - AC_SUBST(enable_shared)
> > -
> > -+AC_ARG_ENABLE(static,
> > -+[ --enable-static=[yes/no] Enable use of static libraries
> [default=yes]],,
> > -+      enable_static=yes)
> > -+AC_SUBST(enable_static)
> > -+
> > -+
> > - AC_ARG_ENABLE(gettext,
> > - [ --enable-gettext=[yes/no] Enable alternate language support
> [default=yes]],,
> > -       enable_gettext=yes)
> > -diff --git a/include/builddefs.in b/include/builddefs.in
> > -index d9931db..3b3dbd2 100644
> > ---- a/include/builddefs.in
> > -+++ b/include/builddefs.in
> > -@@ -71,6 +71,7 @@ RPMBUILD     = @rpmbuild@
> > - RPM_VERSION   = @rpm_version@
> > -
> > - ENABLE_SHARED = @enable_shared@
> > -+ENABLE_STATIC         = @enable_static@
> > - ENABLE_GETTEXT        = @enable_gettext@
> > -
> > - HAVE_ZIPPED_MANPAGES = @have_zipped_manpages@
> > -diff --git a/include/buildmacros b/include/buildmacros
> > -index 39fa7e2..b0f25c5 100644
> > ---- a/include/buildmacros
> > -+++ b/include/buildmacros
> > -@@ -80,6 +80,7 @@ endif
> > - # /usr/lib.
> > - ifeq ($(ENABLE_SHARED),yes)
> > - INSTALL_LTLIB_DEV = \
> > -+      set -x; \
> > -       cd $(TOPDIR)/$(LIBNAME)/.libs; \
> > -       ../$(INSTALL) -m 755 -d $(PKG_DEVLIB_DIR); \
> > -       ../$(INSTALL) -m 644 -T old_lib $(LIBNAME).lai
> $(PKG_DEVLIB_DIR); \
> > -@@ -88,7 +89,9 @@ INSTALL_LTLIB_DEV = \
> > -       ../$(INSTALL) -T so_base $(LIBNAME).lai $(PKG_LIB_DIR); \
> > -       if test "x$(PKG_DEVLIB_DIR)" != "x$(PKG_LIB_DIR)" ; then \
> > -       rel_lib_prefix=$$(echo $(PKG_LIB_DIR) | sed
> 's,\(^/\|\)[^/][^/]*,..,g'); \
> > -+      if test "$(ENABLE_STATIC)" = "yes" ; then \
> > -       ../$(INSTALL) -S $$rel_lib_prefix$(PKG_DEVLIB_DIR)/$(LIBNAME).a
> $(PKG_LIB_DIR)/$(LIBNAME).a; \
> > -+      fi ;\
> > -       ../$(INSTALL) -S $$rel_lib_prefix$(PKG_DEVLIB_DIR)/$(LIBNAME).la
> $(PKG_LIB_DIR)/$(LIBNAME).la; \
> > -       rel_devlib_prefix=$$(echo $(PKG_DEVLIB_DIR) | sed
> 's,\(^/\|\)[^/][^/]*,..,g'); \
> > -       ../$(INSTALL) -S $$rel_devlib_prefix$(PKG_LIB_DIR)/$(LIBNAME).so
> $(PKG_DEVLIB_DIR)/$(LIBNAME).so; \
> > ---
> > -2.7.4
> > -
> > diff --git
> a/meta/recipes-support/attr/files/Remove-the-attr.5-man-page-moved-to-man-pages.patch
> b/meta/recipes-support/attr/files/Remove-the-attr.5-man-page-moved-to-man-pages.patch
> > deleted file mode 100644
> > index d5ab83d7c68..00000000000
> > ---
> a/meta/recipes-support/attr/files/Remove-the-attr.5-man-page-moved-to-man-pages.patch
> > +++ /dev/null
> > @@ -1,240 +0,0 @@
> > -From 6047c8522b91235ad1e835f44f5e36472d9d49b2 Mon Sep 17 00:00:00 2001
> > -From: Andreas Gruenbacher <andreas.gruenbacher@gmail.com>
> > -Date: Wed, 22 Apr 2015 11:46:59 +0200
> > -Subject: [PATCH 2/2] Remove the attr.5 man page (moved to man-pages)
> > -
> > -Commit dce9b4448c7f2b22bd206cd068fb05cb2f3255b9 from
> > -https://git.savannah.nongnu.org/git/attr.git
> > -
> > -The attr.5 page is part of the extended attribute system call
> documentation,
> > -which has been moved into the man-pages package. Move the attr.5 page
> there
> > -as well.
> > -
> > -Upstream-Status: Backport
> > -
> > -[MA: updated to apply directly to v2.4.47]
> > -Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com>
> > ----
> > - man/Makefile      |   2 +-
> > - man/man5/Makefile |  35 -------------
> > - man/man5/attr.5   | 153
> ------------------------------------------------------
> > - 3 files changed, 1 insertion(+), 189 deletions(-)
> > - delete mode 100644 man/man5/Makefile
> > - delete mode 100644 man/man5/attr.5
> > -
> > -diff --git a/man/Makefile b/man/Makefile
> > -index 755daed..9301f09 100644
> > ---- a/man/Makefile
> > -+++ b/man/Makefile
> > -@@ -19,7 +19,7 @@
> > - TOPDIR = ..
> > - include $(TOPDIR)/include/builddefs
> > -
> > --SUBDIRS = man1 man3 man5
> > -+SUBDIRS = man1 man3
> > -
> > - default : $(SUBDIRS)
> > -
> > -diff --git a/man/man5/Makefile b/man/man5/Makefile
> > -deleted file mode 100644
> > -index 6b70d3d..0000000
> > ---- a/man/man5/Makefile
> > -+++ /dev/null
> > -@@ -1,35 +0,0 @@
> > --#
> > --# Copyright (c) 2000, 2002 Silicon Graphics, Inc.  All Rights Reserved.
> > --# Copyright (C) 2009  Andreas Gruenbacher <agruen@suse.de>
> > --#
> > --# 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 2 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.
> > --#
> > --# You should have received a copy of the GNU General Public License
> > --# along with this program.  If not, see <http://www.gnu.org/licenses/
> >.
> > --#
> > --
> > --TOPDIR = ../..
> > --include $(TOPDIR)/include/builddefs
> > --
> > --MAN_SECTION   = 5
> > --
> > --MAN_PAGES     = $(shell echo *.$(MAN_SECTION))
> > --MAN_DEST      = $(PKG_MAN_DIR)/man$(MAN_SECTION)
> > --LSRCFILES     = $(MAN_PAGES)
> > --
> > --default : $(MAN_PAGES)
> > --
> > --include $(BUILDRULES)
> > --
> > --install : default
> > --      $(INSTALL) -m 755 -d $(MAN_DEST)
> > --      $(INSTALL_MAN)
> > --install-dev install-lib:
> > -diff --git a/man/man5/attr.5 b/man/man5/attr.5
> > -deleted file mode 100644
> > -index a02757d..0000000
> > ---- a/man/man5/attr.5
> > -+++ /dev/null
> > -@@ -1,153 +0,0 @@
> > --.\" Extended attributes manual page
> > --.\"
> > --.\" Copyright (C) 2000, 2002, 2007  Andreas Gruenbacher <
> agruen@suse.de>
> > --.\" Copyright (C) 2001, 2002, 2004, 2007 Silicon Graphics, Inc.
> > --.\" All rights reserved.
> > --.\"
> > --.\" This is free documentation; you can redistribute it and/or
> > --.\" modify it under the terms of the GNU General Public License as
> > --.\" published by the Free Software Foundation; either version 2 of
> > --.\" the License, or (at your option) any later version.
> > --.\"
> > --.\" The GNU General Public License's references to "object code"
> > --.\" and "executables" are to be interpreted as the output of any
> > --.\" document formatting or typesetting system, including
> > --.\" intermediate and printed output.
> > --.\"
> > --.\" This manual 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.
> > --.\"
> > --.\" You should have received a copy of the GNU General Public
> > --.\" License along with this manual.  If not, see
> > --.\" <http://www.gnu.org/licenses/>.
> > --.\"
> > --.TH ATTR 5
> > --.SH NAME
> > --attr - Extended attributes
> > --.SH DESCRIPTION
> > --Extended attributes are name:value pairs associated permanently with
> > --files and directories, similar to the environment strings associated
> > --with a process.
> > --An attribute may be defined or undefined.
> > --If it is defined, its value may be empty or non-empty.
> > --.PP
> > --Extended attributes are extensions to the normal attributes which are
> > --associated with all inodes in the system (i.e. the
> > --.BR stat (2)
> > --data).
> > --They are often used to provide additional functionality
> > --to a filesystem \- for example, additional security features such as
> > --Access Control Lists (ACLs) may be implemented using extended
> attributes.
> > --.PP
> > --Users with search access to a file or directory may retrieve a list of
> > --attribute names defined for that file or directory.
> > --.PP
> > --Extended attributes are accessed as atomic objects.
> > --Reading retrieves the whole value of an attribute and stores it in a
> buffer.
> > --Writing replaces any previous value with the new value.
> > --.PP
> > --Space consumed for extended attributes is counted towards the disk
> quotas
> > --of the file owner and file group.
> > --.PP
> > --Currently, support for extended attributes is implemented on Linux by
> the
> > --ext2, ext3, ext4, XFS, JFS and reiserfs filesystems.
> > --.SH EXTENDED ATTRIBUTE NAMESPACES
> > --Attribute names are zero-terminated strings.
> > --The attribute name is always specified in the fully qualified
> > --.IR namespace.attribute
> > --form, eg.
> > --.IR user.mime_type ,
> > --.IR trusted.md5sum ,
> > --.IR system.posix_acl_access ,
> > --or
> > --.IR security.selinux .
> > --.PP
> > --The namespace mechanism is used to define different classes of extended
> > --attributes.
> > --These different classes exist for several reasons, e.g. the permissions
> > --and capabilities required for manipulating extended attributes of one
> > --namespace may differ to another.
> > --.PP
> > --Currently the
> > --.IR security ,
> > --.IR system ,
> > --.IR trusted ,
> > --and
> > --.IR user
> > --extended attribute classes are defined as described below. Additional
> > --classes may be added in the future.
> > --.SS Extended security attributes
> > --The security attribute namespace is used by kernel security modules,
> > --such as Security Enhanced Linux.
> > --Read and write access permissions to security attributes depend on the
> > --policy implemented for each security attribute by the security module.
> > --When no security module is loaded, all processes have read access to
> > --extended security attributes, and write access is limited to processes
> > --that have the CAP_SYS_ADMIN capability.
> > --.SS Extended system attributes
> > --Extended system attributes are used by the kernel to store system
> > --objects such as Access Control Lists and Capabilities.  Read and write
> > --access permissions to system attributes depend on the policy
> implemented
> > --for each system attribute implemented by filesystems in the kernel.
> > --.SS Trusted extended attributes
> > --Trusted extended attributes are visible and accessible only to
> processes that
> > --have the CAP_SYS_ADMIN capability (the super user usually has this
> > --capability).
> > --Attributes in this class are used to implement mechanisms in user
> > --space (i.e., outside the kernel) which keep information in extended
> attributes
> > --to which ordinary processes should not have access.
> > --.SS Extended user attributes
> > --Extended user attributes may be assigned to files and directories for
> > --storing arbitrary additional information such as the mime type,
> > --character set or encoding of a file. The access permissions for user
> > --attributes are defined by the file permission bits.
> > --.PP
> > --The file permission bits of regular files and directories are
> > --interpreted differently from the file permission bits of special files
> > --and symbolic links. For regular files and directories the file
> > --permission bits define access to the file's contents, while for device
> special
> > --files they define access to the device described by the special file.
> > --The file permissions of symbolic links are not used in access
> > --checks. These differences would allow users to consume filesystem
> resources in
> > --a way not controllable by disk quotas for group or world writable
> special files and directories.
> > --.PP
> > --For this reason, extended user attributes are only allowed for regular
> files and directories, and access to extended user attributes is restricted
> to the
> > --owner and to users with appropriate capabilities for directories with
> the
> > --sticky bit set (see the
> > --.BR chmod (1)
> > --manual page for an explanation of Sticky Directories).
> > --.SH FILESYSTEM DIFFERENCES
> > --The kernel and the filesystem may place limits on the maximum number
> > --and size of extended attributes that can be associated with a file.
> > --Some file systems, such as ext2/3 and reiserfs, require the filesystem
> > --to be mounted with the
> > --.B user_xattr
> > --mount option in order for extended user attributes to be used.
> > --.PP
> > --In the current ext2, ext3 and ext4 filesystem implementations, each
> > --extended attribute must fit on a single filesystem block (1024, 2048
> > --or 4096 bytes, depending on the block size specified when the
> > --filesystem was created).
> > --.PP
> > --In the XFS and reiserfs filesystem implementations, there is no
> > --practical limit on the number or size of extended attributes
> > --associated with a file, and the algorithms used to store extended
> > --attribute information on disk are scalable.
> > --.PP
> > --In the JFS filesystem implementation, names can be up to 255 bytes and
> > --values up to 65,535 bytes.
> > --.SH ADDITIONAL NOTES
> > --Since the filesystems on which extended attributes are stored might
> also
> > --be used on architectures with a different byte order and machine word
> > --size, care should be taken to store attribute values in an architecture
> > --independent format.
> > --.SH AUTHORS
> > --Andreas Gruenbacher,
> > --.RI < a.gruenbacher@bestbits.at >
> > --and the SGI XFS development team,
> > --.RI < linux-xfs@oss.sgi.com >.
> > --.SH SEE ALSO
> > --getfattr(1),
> > --setfattr(1).
> > ---
> > -2.7.4
> > -
> > diff --git
> a/meta/recipes-support/attr/files/Remove-the-section-2-man-pages.patch
> b/meta/recipes-support/attr/files/Remove-the-section-2-man-pages.patch
> > deleted file mode 100644
> > index 044c5a037c8..00000000000
> > ---
> a/meta/recipes-support/attr/files/Remove-the-section-2-man-pages.patch
> > +++ /dev/null
> > @@ -1,666 +0,0 @@
> > -From b972600a26f3a930e53e2fce2625266a5d29813e Mon Sep 17 00:00:00 2001
> > -From: Andreas Gruenbacher <andreas.gruenbacher@gmail.com>
> > -Date: Tue, 14 Apr 2015 23:53:11 +0200
> > -Subject: [PATCH 1/2] Remove the section 2 man pages
> > -
> > -Commit 8d1263bca95722d66a6f8e83450f49d0956ea534 from upstream
> > -https://git.savannah.nongnu.org/git/attr.git/
> > -
> > -The section 2 man pages have long since been added to the man-pages
> package
> > -which documents all system calls; they were disabled in attr by default
> since
> > -January 2014.  Get rid of them here.
> > -
> > -Upstream-Status: Backport
> > -
> > -[MA: modified to apply directly to v2.4.47]
> > -Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com>
> > ----
> > - man/Makefile           |   2 +-
> > - man/man2/Makefile      |  35 -----------
> > - man/man2/getxattr.2    | 143
> --------------------------------------------
> > - man/man2/listxattr.2   | 158
> -------------------------------------------------
> > - man/man2/removexattr.2 | 111 ----------------------------------
> > - man/man2/setxattr.2    | 143
> --------------------------------------------
> > - 6 files changed, 1 insertion(+), 591 deletions(-)
> > - delete mode 100644 man/man2/Makefile
> > - delete mode 100644 man/man2/getxattr.2
> > - delete mode 100644 man/man2/listxattr.2
> > - delete mode 100644 man/man2/removexattr.2
> > - delete mode 100644 man/man2/setxattr.2
> > -
> > -diff --git a/man/Makefile b/man/Makefile
> > -index 9535426..755daed 100644
> > ---- a/man/Makefile
> > -+++ b/man/Makefile
> > -@@ -19,7 +19,7 @@
> > - TOPDIR = ..
> > - include $(TOPDIR)/include/builddefs
> > -
> > --SUBDIRS = man1 man2 man3 man5
> > -+SUBDIRS = man1 man3 man5
> > -
> > - default : $(SUBDIRS)
> > -
> > -diff --git a/man/man2/Makefile b/man/man2/Makefile
> > -deleted file mode 100644
> > -index d77309d..0000000
> > ---- a/man/man2/Makefile
> > -+++ /dev/null
> > -@@ -1,35 +0,0 @@
> > --#
> > --# Copyright (c) 2000-2002 Silicon Graphics, Inc.  All Rights Reserved.
> > --# Copyright (C) 2009  Andreas Gruenbacher <agruen@suse.de>
> > --#
> > --# 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 2 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.
> > --#
> > --# You should have received a copy of the GNU General Public License
> > --# along with this program.  If not, see <http://www.gnu.org/licenses/
> >.
> > --#
> > --
> > --TOPDIR = ../..
> > --include $(TOPDIR)/include/builddefs
> > --
> > --MAN_SECTION   = 2
> > --
> > --MAN_PAGES     = $(shell echo *.$(MAN_SECTION))
> > --MAN_DEST      = $(PKG_MAN_DIR)/man$(MAN_SECTION)
> > --LSRCFILES     = $(MAN_PAGES)
> > --
> > --default install : $(MAN_PAGES)
> > --
> > --include $(BUILDRULES)
> > --
> > --install-dev : default
> > --      $(INSTALL) -m 755 -d $(MAN_DEST)
> > --      $(INSTALL_MAN)
> > --install-lib:
> > -diff --git a/man/man2/getxattr.2 b/man/man2/getxattr.2
> > -deleted file mode 100644
> > -index 405ad89..0000000
> > ---- a/man/man2/getxattr.2
> > -+++ /dev/null
> > -@@ -1,143 +0,0 @@
> > --.\"
> > --.\" Extended attributes system calls manual pages
> > --.\"
> > --.\" (C) Andreas Gruenbacher, February 2001
> > --.\" (C) Silicon Graphics Inc, September 2001
> > --.\"
> > --.\" This is free documentation; you can redistribute it and/or
> > --.\" modify it under the terms of the GNU General Public License as
> > --.\" published by the Free Software Foundation; either version 2 of
> > --.\" the License, or (at your option) any later version.
> > --.\"
> > --.\" The GNU General Public License's references to "object code"
> > --.\" and "executables" are to be interpreted as the output of any
> > --.\" document formatting or typesetting system, including
> > --.\" intermediate and printed output.
> > --.\"
> > --.\" This manual 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.
> > --.\"
> > --.\" You should have received a copy of the GNU General Public
> > --.\" License along with this manual.  If not, see
> > --.\" <http://www.gnu.org/licenses/>.
> > --.\"
> > --.TH GETXATTR 2 "Extended Attributes" "Dec 2001" "System calls"
> > --.SH NAME
> > --getxattr, lgetxattr, fgetxattr \- retrieve an extended attribute value
> > --.SH SYNOPSIS
> > --.fam C
> > --.nf
> > --.B #include <sys/types.h>
> > --.B #include <attr/xattr.h>
> > --.sp
> > --.BI "ssize_t getxattr (const char\ *" path ", const char\ *" name ",
> > --.BI "\t\t\t\t void\ *" value ", size_t " size );
> > --.BI "ssize_t lgetxattr (const char\ *" path ", const char\ *" name ",
> > --.BI "\t\t\t\t void\ *" value ", size_t " size );
> > --.BI "ssize_t fgetxattr (int " filedes ", const char\ *" name ",
> > --.BI "\t\t\t\t void\ *" value ", size_t " size );
> > --.fi
> > --.fam T
> > --.SH DESCRIPTION
> > --Extended attributes are
> > --.IR name :\c
> > --.I value
> > --pairs associated with inodes (files, directories, symlinks, etc).
> > --They are extensions to the normal attributes which are associated
> > --with all inodes in the system (i.e. the
> > --.BR stat (2)
> > --data).
> > --A complete overview of extended attributes concepts can be found in
> > --.BR attr (5).
> > --.PP
> > --.B getxattr
> > --retrieves the
> > --.I value
> > --of the extended attribute identified by
> > --.I name
> > --and associated with the given
> > --.I path
> > --in the filesystem.
> > --The length of the attribute
> > --.I value
> > --is returned.
> > --.PP
> > --.B lgetxattr
> > --is identical to
> > --.BR getxattr ,
> > --except in the case of a symbolic link, where the link itself is
> > --interrogated, not the file that it refers to.
> > --.PP
> > --.B fgetxattr
> > --is identical to
> > --.BR getxattr ,
> > --only the open file pointed to by
> > --.I filedes
> > --(as returned by
> > --.BR open (2))
> > --is interrogated in place of
> > --.IR path .
> > --.PP
> > --An extended attribute
> > --.I name
> > --is a simple NULL-terminated string.
> > --The name includes a namespace prefix \- there may be several, disjoint
> > --namespaces associated with an individual inode.
> > --The value of an extended attribute is a chunk of arbitrary textual or
> > --binary data of specified length.
> > --.PP
> > --An empty buffer of
> > --.I size
> > --zero can be passed into these calls to return the current size of the
> > --named extended attribute, which can be used to estimate the size of a
> > --buffer which is sufficiently large to hold the value associated with
> > --the extended attribute.
> > --.PP
> > --The interface is designed to allow guessing of initial buffer
> > --sizes, and to enlarge buffers when the return value indicates
> > --that the buffer provided was too small.
> > --.SH RETURN VALUE
> > --On success, a positive number is returned indicating the size of the
> > --extended attribute value.
> > --On failure, \-1 is returned and
> > --.I errno
> > --is set appropriately.
> > --.PP
> > --If the named attribute does not exist, or the process has no access to
> > --this attribute,
> > --.I errno
> > --is set to ENOATTR.
> > --.PP
> > --If the
> > --.I size
> > --of the
> > --.I value
> > --buffer is too small to hold the result,
> > --.I errno
> > --is set to ERANGE.
> > --.PP
> > --If extended attributes are not supported by the filesystem, or are
> disabled,
> > --.I errno
> > --is set to ENOTSUP.
> > --.PP
> > --The errors documented for the
> > --.BR stat (2)
> > --system call are also applicable here.
> > --.SH AUTHORS
> > --Andreas Gruenbacher,
> > --.RI < a.gruenbacher@bestbits.at >
> > --and the SGI XFS development team,
> > --.RI < linux-xfs@oss.sgi.com >.
> > --Please send any bug reports or comments to these addresses.
> > --.SH SEE ALSO
> > --.BR getfattr (1),
> > --.BR setfattr (1),
> > --.BR open (2),
> > --.BR stat (2),
> > --.BR setxattr (2),
> > --.BR listxattr (2),
> > --.BR removexattr (2),
> > --and
> > --.BR attr (5).
> > -diff --git a/man/man2/listxattr.2 b/man/man2/listxattr.2
> > -deleted file mode 100644
> > -index 8b4371c..0000000
> > ---- a/man/man2/listxattr.2
> > -+++ /dev/null
> > -@@ -1,158 +0,0 @@
> > --.\"
> > --.\" Extended attributes system calls manual pages
> > --.\"
> > --.\" (C) Andreas Gruenbacher, February 2001
> > --.\" (C) Silicon Graphics Inc, September 2001
> > --.\"
> > --.\" This is free documentation; you can redistribute it and/or
> > --.\" modify it under the terms of the GNU General Public License as
> > --.\" published by the Free Software Foundation; either version 2 of
> > --.\" the License, or (at your option) any later version.
> > --.\"
> > --.\" The GNU General Public License's references to "object code"
> > --.\" and "executables" are to be interpreted as the output of any
> > --.\" document formatting or typesetting system, including
> > --.\" intermediate and printed output.
> > --.\"
> > --.\" This manual 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.
> > --.\"
> > --.\" You should have received a copy of the GNU General Public
> > --.\" License along with this manual.  If not, see
> > --.\" <http://www.gnu.org/licenses/>.
> > --.\"
> > --.TH LISTXATTR 2 "Extended Attributes" "Dec 2001" "System calls"
> > --.SH NAME
> > --listxattr, llistxattr, flistxattr \- list extended attribute names
> > --.SH SYNOPSIS
> > --.fam C
> > --.nf
> > --.B #include <sys/types.h>
> > --.B #include <attr/xattr.h>
> > --.sp
> > --.BI "ssize_t listxattr (const char\ *" path ",
> > --.BI "\t\t\t\t char\ *" list ", size_t " size );
> > --.BI "ssize_t llistxattr (const char\ *" path ",
> > --.BI "\t\t\t\t char\ *" list ", size_t " size );
> > --.BI "ssize_t flistxattr (int " filedes ",
> > --.BI "\t\t\t\t char\ *" list ", size_t " size );
> > --.fi
> > --.fam T
> > --.SH DESCRIPTION
> > --Extended attributes are name:value
> > --pairs associated with inodes (files, directories, symlinks, etc).
> > --They are extensions to the normal attributes which are associated
> > --with all inodes in the system (i.e. the
> > --.BR stat (2)
> > --data).
> > --A complete overview of extended attributes concepts can be found in
> > --.BR attr (5).
> > --.PP
> > --.B listxattr
> > --retrieves the
> > --.I list
> > --of extended attribute names associated with the given
> > --.I path
> > --in the filesystem.
> > --The list is the set of (NULL-terminated) names, one after the other.
> > --Names of extended attributes to which the calling process does not
> > --have access may be omitted from the list.
> > --The length of the attribute name
> > --.I list
> > --is returned.
> > --.PP
> > --.B llistxattr
> > --is identical to
> > --.BR listxattr ,
> > --except in the case of a symbolic link, where the list of names of
> > --extended attributes associated with the link itself is retrieved,
> > --not the file that it refers to.
> > --.I list
> > --is a caller-allocated buffer of size
> > --.IR size .
> > --.PP
> > --.B flistxattr
> > --is identical to
> > --.BR listxattr ,
> > --only the open file pointed to by
> > --.I filedes
> > --(as returned by
> > --.BR open (2))
> > --is interrogated in place of
> > --.IR path .
> > --.PP
> > --A single extended attribute
> > --.I name
> > --is a simple NULL-terminated string.
> > --The name includes a namespace prefix \- there may be several, disjoint
> > --namespaces associated with an individual inode.
> > --.PP
> > --An empty buffer of
> > --.I size
> > --zero can be passed into these calls to return the current size of the
> > --list of extended attribute names, which can be used to estimate the
> > --size of a buffer which is sufficiently large to hold the list of names.
> > --.SH EXAMPLES
> > --The
> > --.I list
> > --of names is returned as an unordered array of NULL-terminated character
> > --strings (attribute names are separated by NULL characters), like this:
> > --.fam C
> > --.RS
> > --.nf
> > --user.name1\\0system.name1\\0user.name2\\0
> > --.fi
> > --.RE
> > --.fam T
> > --.P
> > --Filesystems like ext2, ext3 and XFS which implement POSIX ACLs using
> > --extended attributes, might return a
> > --.I list
> > --like this:
> > --.fam C
> > --.RS
> > --.nf
> > --system.posix_acl_access\\0system.posix_acl_default\\0
> > --.fi
> > --.RE
> > --.fam T
> > --.SH RETURN VALUE
> > --On success, a positive number is returned indicating the size of the
> > --extended attribute name list.
> > --On failure, \-1 is returned and
> > --.I errno
> > --is set appropriately.
> > --.PP
> > --If the
> > --.I size
> > --of the
> > --.I list
> > --buffer is too small to hold the result,
> > --.I errno
> > --is set to ERANGE.
> > --.PP
> > --If extended attributes are not supported by the filesystem, or are
> disabled,
> > --.I errno
> > --is set to ENOTSUP.
> > --.PP
> > --The errors documented for the
> > --.BR stat (2)
> > --system call are also applicable here.
> > --.SH AUTHORS
> > --Andreas Gruenbacher,
> > --.RI < a.gruenbacher@bestbits.at >
> > --and the SGI XFS development team,
> > --.RI < linux-xfs@oss.sgi.com >.
> > --Please send any bug reports or comments to these addresses.
> > --.SH SEE ALSO
> > --.BR getfattr (1),
> > --.BR setfattr (1),
> > --.BR open (2),
> > --.BR stat (2),
> > --.BR getxattr (2),
> > --.BR setxattr (2),
> > --.BR removexattr (2),
> > --and
> > --.BR attr (5).
> > -diff --git a/man/man2/removexattr.2 b/man/man2/removexattr.2
> > -deleted file mode 100644
> > -index 2c7d934..0000000
> > ---- a/man/man2/removexattr.2
> > -+++ /dev/null
> > -@@ -1,111 +0,0 @@
> > --.\"
> > --.\" Extended attributes system calls manual pages
> > --.\"
> > --.\" (C) Andreas Gruenbacher, February 2001
> > --.\" (C) Silicon Graphics Inc, September 2001
> > --.\"
> > --.\" This is free documentation; you can redistribute it and/or
> > --.\" modify it under the terms of the GNU General Public License as
> > --.\" published by the Free Software Foundation; either version 2 of
> > --.\" the License, or (at your option) any later version.
> > --.\"
> > --.\" The GNU General Public License's references to "object code"
> > --.\" and "executables" are to be interpreted as the output of any
> > --.\" document formatting or typesetting system, including
> > --.\" intermediate and printed output.
> > --.\"
> > --.\" This manual 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.
> > --.\"
> > --.\" You should have received a copy of the GNU General Public
> > --.\" License along with this manual.  If not, see
> > --.\" <http://www.gnu.org/licenses/>.
> > --.\"
> > --.TH REMOVEXATTR 2 "Extended Attributes" "Dec 2001" "System calls"
> > --.SH NAME
> > --removexattr, lremovexattr, fremovexattr \- remove an extended attribute
> > --.SH SYNOPSIS
> > --.fam C
> > --.nf
> > --.B #include <sys/types.h>
> > --.B #include <attr/xattr.h>
> > --.sp
> > --.BI "int removexattr (const char\ *" path ", const char\ *" name );
> > --.BI "int lremovexattr (const char\ *" path ", const char\ *" name );
> > --.BI "int fremovexattr (int " filedes ", const char\ *" name );
> > --.fi
> > --.fam T
> > --.SH DESCRIPTION
> > --Extended attributes are
> > --.IR name :\c
> > --value pairs associated with inodes (files, directories, symlinks, etc).
> > --They are extensions to the normal attributes which are associated
> > --with all inodes in the system (i.e. the
> > --.BR stat (2)
> > --data).
> > --A complete overview of extended attributes concepts can be found in
> > --.BR attr (5).
> > --.PP
> > --.B removexattr
> > --removes the extended attribute identified by
> > --.I name
> > --and associated with the given
> > --.I path
> > --in the filesystem.
> > --.PP
> > --.B lremovexattr
> > --is identical to
> > --.BR removexattr ,
> > --except in the case of a symbolic link, where the extended attribute is
> > --removed from the link itself, not the file that it refers to.
> > --.PP
> > --.B fremovexattr
> > --is identical to
> > --.BR removexattr ,
> > --only the extended attribute is removed from the open file pointed to by
> > --.I filedes
> > --(as returned by
> > --.BR open (2))
> > --in place of
> > --.IR path .
> > --.PP
> > --An extended attribute name is a simple NULL-terminated string.
> > --The
> > --.I name
> > --includes a namespace prefix \- there may be several, disjoint
> > --namespaces associated with an individual inode.
> > --.SH RETURN VALUE
> > --On success, zero is returned.
> > --On failure, \-1 is returned and
> > --.I errno
> > --is set appropriately.
> > --.PP
> > --If the named attribute does not exist,
> > --.I errno
> > --is set to ENOATTR.
> > --.PP
> > --If extended attributes are not supported by the filesystem, or are
> disabled,
> > --.I errno
> > --is set to ENOTSUP.
> > --.PP
> > --The errors documented for the
> > --.BR stat (2)
> > --system call are also applicable here.
> > --.SH AUTHORS
> > --Andreas Gruenbacher,
> > --.RI < a.gruenbacher@bestbits.at >
> > --and the SGI XFS development team,
> > --.RI < linux-xfs@oss.sgi.com >.
> > --Please send any bug reports or comments to these addresses.
> > --.SH SEE ALSO
> > --.BR getfattr (1),
> > --.BR setfattr (1),
> > --.BR open (2),
> > --.BR stat (2),
> > --.BR setxattr (2),
> > --.BR getxattr (2),
> > --.BR listxattr (2),
> > --and
> > --.BR attr (5).
> > -diff --git a/man/man2/setxattr.2 b/man/man2/setxattr.2
> > -deleted file mode 100644
> > -index b20dc9f..0000000
> > ---- a/man/man2/setxattr.2
> > -+++ /dev/null
> > -@@ -1,143 +0,0 @@
> > --.\"
> > --.\" Extended attributes system calls manual pages
> > --.\"
> > --.\" (C) Andreas Gruenbacher, February 2001
> > --.\" (C) Silicon Graphics Inc, September 2001
> > --.\"
> > --.\" This is free documentation; you can redistribute it and/or
> > --.\" modify it under the terms of the GNU General Public License as
> > --.\" published by the Free Software Foundation; either version 2 of
> > --.\" the License, or (at your option) any later version.
> > --.\"
> > --.\" The GNU General Public License's references to "object code"
> > --.\" and "executables" are to be interpreted as the output of any
> > --.\" document formatting or typesetting system, including
> > --.\" intermediate and printed output.
> > --.\"
> > --.\" This manual 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.
> > --.\"
> > --.\" You should have received a copy of the GNU General Public
> > --.\" License along with this manual.  If not, see
> > --.\" <http://www.gnu.org/licenses/>.
> > --.\"
> > --.TH SETXATTR 2 "Extended Attributes" "Dec 2001" "System calls"
> > --.SH NAME
> > --setxattr, lsetxattr, fsetxattr \- set an extended attribute value
> > --.SH SYNOPSIS
> > --.fam C
> > --.nf
> > --.B #include <sys/types.h>
> > --.B #include <attr/xattr.h>
> > --.sp
> > --.BI "int setxattr (const char\ *" path ", const char\ *" name ",
> > --.BI "\t\t\t const void\ *" value ", size_t " size ", int " flags );
> > --.BI "int lsetxattr (const char\ *" path ", const char\ *" name ",
> > --.BI "\t\t\t const void\ *" value ", size_t " size ", int " flags );
> > --.BI "int fsetxattr (int " filedes ", const char\ *" name ",
> > --.BI "\t\t\t const void\ *" value ", size_t " size ", int " flags );
> > --.fi
> > --.fam T
> > --.SH DESCRIPTION
> > --Extended attributes are
> > --.IR name :\c
> > --.I value
> > --pairs associated with inodes (files, directories, symlinks, etc).
> > --They are extensions to the normal attributes which are associated
> > --with all inodes in the system (i.e. the
> > --.BR stat (2)
> > --data).
> > --A complete overview of extended attributes concepts can be found in
> > --.BR attr (5).
> > --.PP
> > --.B setxattr
> > --sets the
> > --.I value
> > --of the extended attribute identified by
> > --.I name
> > --and associated with the given
> > --.I path
> > --in the filesystem.
> > --The
> > --.I size
> > --of the
> > --.I value
> > --must be specified.
> > --.PP
> > --.B lsetxattr
> > --is identical to
> > --.BR setxattr ,
> > --except in the case of a symbolic link, where the extended attribute is
> > --set on the link itself, not the file that it refers to.
> > --.PP
> > --.B fsetxattr
> > --is identical to
> > --.BR setxattr ,
> > --only the extended attribute is set on the open file pointed to by
> > --.I filedes
> > --(as returned by
> > --.BR open (2))
> > --in place of
> > --.IR path .
> > --.PP
> > --An extended attribute name is a simple NULL-terminated string.
> > --The
> > --.I name
> > --includes a namespace prefix \- there may be several, disjoint
> > --namespaces associated with an individual inode.
> > --The
> > --.I value
> > --of an extended attribute is a chunk of arbitrary textual or
> > --binary data of specified length.
> > --.PP
> > --The
> > --.I flags
> > --parameter can be used to refine the semantics of the operation.
> > --XATTR_CREATE specifies a pure create, which fails if the named
> > --attribute exists already.
> > --XATTR_REPLACE specifies a pure replace operation, which fails if the
> > --named attribute does not already exist.
> > --By default (no flags), the extended attribute will be created if
> > --need be, or will simply replace the value if the attribute exists.
> > --.SH RETURN VALUE
> > --On success, zero is returned.
> > --On failure, \-1 is returned and
> > --.I errno
> > --is set appropriately.
> > --.PP
> > --If XATTR_CREATE is specified, and the attribute exists already,
> > --.I errno
> > --is set to EEXIST.
> > --If XATTR_REPLACE is specified, and the attribute does not exist,
> > --.I errno
> > --is set to ENOATTR.
> > --.PP
> > --If there is insufficient space remaining to store the extended
> attribute,
> > --.I errno
> > --is set to either ENOSPC, or EDQUOT if quota enforcement was the cause.
> > --.PP
> > --If extended attributes are not supported by the filesystem, or are
> disabled,
> > --.I errno
> > --is set to ENOTSUP.
> > --.PP
> > --The errors documented for the
> > --.BR stat (2)
> > --system call are also applicable here.
> > --.SH AUTHORS
> > --Andreas Gruenbacher,
> > --.RI < a.gruenbacher@bestbits.at >
> > --and the SGI XFS development team,
> > --.RI < linux-xfs@oss.sgi.com >.
> > --Please send any bug reports or comments to these addresses.
> > --.SH SEE ALSO
> > --.BR getfattr (1),
> > --.BR setfattr (1),
> > --.BR open (2),
> > --.BR stat (2),
> > --.BR getxattr (2),
> > --.BR listxattr (2),
> > --.BR removexattr (2),
> > --and
> > --.BR attr (5).
> > ---
> > -2.7.4
> > -
> > diff --git a/meta/recipes-support/attr/files/relative-libdir.patch
> b/meta/recipes-support/attr/files/relative-libdir.patch
> > deleted file mode 100644
> > index b72bf184d6f..00000000000
> > --- a/meta/recipes-support/attr/files/relative-libdir.patch
> > +++ /dev/null
> > @@ -1,25 +0,0 @@
> > -Upstream-Status: Pending
> > -
> > -use relative path in symbolic links, or it fails in staging
> > -sed expression from udev
> > -
> > -7/29/2010 - created by Qing He <qing.he@intel.com>
> > -
> > -diff -u include.orig/buildmacros include/buildmacros
> > ---- include.orig/buildmacros   2010-07-29 17:39:48.000000000 +0800
> > -+++ include/buildmacros        2010-07-29 18:20:34.000000000 +0800
> > -@@ -88,9 +88,11 @@
> > -       ../$(INSTALL) -m 755 -d $(PKG_LIB_DIR); \
> > -       ../$(INSTALL) -T so_base $(LIBNAME).lai $(PKG_LIB_DIR); \
> > -       if test "x$(PKG_DEVLIB_DIR)" != "x$(PKG_LIB_DIR)" ; then \
> > --      ../$(INSTALL) -S $(PKG_DEVLIB_DIR)/$(LIBNAME).a
> $(PKG_LIB_DIR)/$(LIBNAME).a; \
> > --      ../$(INSTALL) -S $(PKG_DEVLIB_DIR)/$(LIBNAME).la
> $(PKG_LIB_DIR)/$(LIBNAME).la; \
> > --      ../$(INSTALL) -S $(PKG_LIB_DIR)/$(LIBNAME).so
> $(PKG_DEVLIB_DIR)/$(LIBNAME).so; \
> > -+      rel_lib_prefix=$$(echo $(PKG_LIB_DIR) | sed
> 's,\(^/\|\)[^/][^/]*,..,g'); \
> > -+      ../$(INSTALL) -S $$rel_lib_prefix$(PKG_DEVLIB_DIR)/$(LIBNAME).a
> $(PKG_LIB_DIR)/$(LIBNAME).a; \
> > -+      ../$(INSTALL) -S $$rel_lib_prefix$(PKG_DEVLIB_DIR)/$(LIBNAME).la
> $(PKG_LIB_DIR)/$(LIBNAME).la; \
> > -+      rel_devlib_prefix=$$(echo $(PKG_DEVLIB_DIR) | sed
> 's,\(^/\|\)[^/][^/]*,..,g'); \
> > -+      ../$(INSTALL) -S $$rel_devlib_prefix$(PKG_LIB_DIR)/$(LIBNAME).so
> $(PKG_DEVLIB_DIR)/$(LIBNAME).so; \
> > -       fi
> > - else
> > - INSTALL_LTLIB_DEV = $(INSTALL_LTLIB_STATIC)
> > diff --git a/meta/recipes-support/attr/files/run-ptest
> b/meta/recipes-support/attr/files/run-ptest
> > deleted file mode 100644
> > index a6c6867f2d9..00000000000
> > --- a/meta/recipes-support/attr/files/run-ptest
> > +++ /dev/null
> > @@ -1,5 +0,0 @@
> > -#!/bin/sh
> > -
> > -make -C test -k tests root-tests |sed \
> > - -e 's|^\[.*\] \(.*\) -- ok$|PASS: \1|' \
> > - -e 's|^\[.*\] \(.*\) -- failed|FAIL: \1|'
> > --
> > 2.17.1
> >
> > --
> > _______________________________________________
> > Openembedded-core mailing list
> > Openembedded-core@lists.openembedded.org
> > http://lists.openembedded.org/mailman/listinfo/openembedded-core
>

[-- Attachment #2: Type: text/html, Size: 119028 bytes --]

^ permalink raw reply	[flat|nested] 62+ messages in thread

* Re: [PATCH 07/30] gstreamer1.0-python: add a patch to fix python 3.8 builds
  2019-12-12 18:14 ` [PATCH 07/30] gstreamer1.0-python: add a patch to fix python 3.8 builds Alexander Kanavin
@ 2019-12-15  5:21   ` Khem Raj
  2019-12-15 11:00     ` Alexander Kanavin
  0 siblings, 1 reply; 62+ messages in thread
From: Khem Raj @ 2019-12-15  5:21 UTC (permalink / raw)
  To: Alexander Kanavin; +Cc: Patches and discussions about the oe-core layer

this fails with python 3.7

https://errors.yoctoproject.org/Errors/Details/297314/

On Thu, Dec 12, 2019 at 10:15 AM Alexander Kanavin
<alex.kanavin@gmail.com> wrote:
>
> Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
> ---
>  ...son.build-fix-builds-with-python-3.8.patch | 24 +++++++++++++++++++
>  .../gstreamer/gstreamer1.0-python_1.16.1.bb   |  4 +++-
>  2 files changed, 27 insertions(+), 1 deletion(-)
>  create mode 100644 meta/recipes-multimedia/gstreamer/gstreamer1.0-python/0001-meson.build-fix-builds-with-python-3.8.patch
>
> diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-python/0001-meson.build-fix-builds-with-python-3.8.patch b/meta/recipes-multimedia/gstreamer/gstreamer1.0-python/0001-meson.build-fix-builds-with-python-3.8.patch
> new file mode 100644
> index 00000000000..053108ad50b
> --- /dev/null
> +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-python/0001-meson.build-fix-builds-with-python-3.8.patch
> @@ -0,0 +1,24 @@
> +From 61cfd1b49dc82baf14bb36d88b6c5be7b8c3d23a Mon Sep 17 00:00:00 2001
> +From: Alexander Kanavin <alex.kanavin@gmail.com>
> +Date: Mon, 2 Dec 2019 18:16:41 +0100
> +Subject: [PATCH] meson.build: fix builds with python 3.8
> +
> +Upstream-Status: Submitted [https://gitlab.freedesktop.org/gstreamer/gst-python/merge_requests/14]
> +Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
> +---
> + meson.build | 2 +-
> + 1 file changed, 1 insertion(+), 1 deletion(-)
> +
> +diff --git a/meson.build b/meson.build
> +index 1da81d5..3e0db38 100644
> +--- a/meson.build
> ++++ b/meson.build
> +@@ -24,7 +24,7 @@ pygobject_dep = dependency('pygobject-3.0', fallback: ['pygobject', 'pygobject_d
> +
> + pymod = import('python')
> + python = pymod.find_installation(get_option('python'))
> +-python_dep = python.dependency(required : true)
> ++python_dep = dependency('python3-embed', required : true)
> +
> + python_abi_flags = python.get_variable('ABIFLAGS', '')
> + pylib_loc = get_option('libpython-dir')
> diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-python_1.16.1.bb b/meta/recipes-multimedia/gstreamer/gstreamer1.0-python_1.16.1.bb
> index b770ec060e1..0382360ec26 100644
> --- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-python_1.16.1.bb
> +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-python_1.16.1.bb
> @@ -5,7 +5,9 @@ SECTION = "multimedia"
>  LICENSE = "LGPLv2.1"
>  LIC_FILES_CHKSUM = "file://COPYING;md5=c34deae4e395ca07e725ab0076a5f740"
>
> -SRC_URI = "https://gstreamer.freedesktop.org/src/${PNREAL}/${PNREAL}-${PV}.tar.xz"
> +SRC_URI = "https://gstreamer.freedesktop.org/src/${PNREAL}/${PNREAL}-${PV}.tar.xz \
> +           file://0001-meson.build-fix-builds-with-python-3.8.patch \
> +           "
>  SRC_URI[md5sum] = "499645fbd1790c5845c02a3998dccc1b"
>  SRC_URI[sha256sum] = "b469c8955126f41b8ce0bf689b7029f182cd305f422b3a8df35b780bd8347489"
>
> --
> 2.17.1
>
> --
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core


^ permalink raw reply	[flat|nested] 62+ messages in thread

* Re: [PATCH 29/30] nfs-utils: update to 2.4.2
  2019-12-12 18:14 ` [PATCH 29/30] nfs-utils: update to 2.4.2 Alexander Kanavin
@ 2019-12-15  5:23   ` Khem Raj
  0 siblings, 0 replies; 62+ messages in thread
From: Khem Raj @ 2019-12-15  5:23 UTC (permalink / raw)
  To: Alexander Kanavin; +Cc: Patches and discussions about the oe-core layer

clang format patch is still needed see

https://errors.yoctoproject.org/Errors/Details/297313/

On Thu, Dec 12, 2019 at 10:19 AM Alexander Kanavin
<alex.kanavin@gmail.com> wrote:
>
> Drop backports, and a musl patch that is no longer needed.
>
> Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
> ---
>  ...de-order-between-config.h-and-stat.h.patch | 156 ---------------
>  .../nfs-utils/clang-format-string.patch       | 183 ------------------
>  .../nfs-utils-musl-res_querydomain.patch      |  46 -----
>  ...{nfs-utils_2.4.1.bb => nfs-utils_2.4.2.bb} |   9 +-
>  4 files changed, 3 insertions(+), 391 deletions(-)
>  delete mode 100644 meta/recipes-connectivity/nfs-utils/nfs-utils/0001-Fix-include-order-between-config.h-and-stat.h.patch
>  delete mode 100644 meta/recipes-connectivity/nfs-utils/nfs-utils/clang-format-string.patch
>  delete mode 100644 meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-utils-musl-res_querydomain.patch
>  rename meta/recipes-connectivity/nfs-utils/{nfs-utils_2.4.1.bb => nfs-utils_2.4.2.bb} (94%)
>
> diff --git a/meta/recipes-connectivity/nfs-utils/nfs-utils/0001-Fix-include-order-between-config.h-and-stat.h.patch b/meta/recipes-connectivity/nfs-utils/nfs-utils/0001-Fix-include-order-between-config.h-and-stat.h.patch
> deleted file mode 100644
> index 7b0f93535f9..00000000000
> --- a/meta/recipes-connectivity/nfs-utils/nfs-utils/0001-Fix-include-order-between-config.h-and-stat.h.patch
> +++ /dev/null
> @@ -1,156 +0,0 @@
> -From 2fbc62e2a13fc22b6ae4910e295a2c10fb790486 Mon Sep 17 00:00:00 2001
> -From: Zoltan Karcagi <zkr7432@gmail.com>
> -Date: Mon, 12 Aug 2019 13:27:16 -0400
> -Subject: [PATCH] Fix include order between config.h and stat.h
> -
> -At least on Arch linux ARM, the definition of struct stat in stat.h depends
> -on __USE_FILE_OFFSET64. This symbol comes from config.h when defined,
> -therefore config.h must always be included before stat.h. Fix all
> -occurrences where the order is wrong by moving config.h to the top.
> -
> -This fixes the client side error "Stale file handle" when mounting from
> -a server running Arch Linux ARM.
> -
> -Signed-off-by: Zoltan Karcagi <zkr7432@gmail.com>
> -Signed-off-by: Steve Dickson <steved@redhat.com>
> -
> -Upstream-Status: Backport
> -[http://git.linux-nfs.org/?p=steved/nfs-utils.git;a=commit;h=2fbc62e2a13fc22b6ae4910e295a2c10fb790486]
> -
> -Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
> ----
> - support/misc/nfsd_path.c         | 5 ++++-
> - support/misc/xstat.c             | 5 ++++-
> - support/nfs/conffile.c           | 8 +++++++-
> - utils/blkmapd/device-discovery.c | 8 ++++----
> - utils/idmapd/idmapd.c            | 8 ++++----
> - 5 files changed, 23 insertions(+), 11 deletions(-)
> -
> -diff --git a/support/misc/nfsd_path.c b/support/misc/nfsd_path.c
> -index 84e4802..f078a66 100644
> ---- a/support/misc/nfsd_path.c
> -+++ b/support/misc/nfsd_path.c
> -@@ -1,3 +1,7 @@
> -+#ifdef HAVE_CONFIG_H
> -+#include <config.h>
> -+#endif
> -+
> - #include <errno.h>
> - #include <sys/types.h>
> - #include <sys/stat.h>
> -@@ -5,7 +9,6 @@
> - #include <stdlib.h>
> - #include <unistd.h>
> -
> --#include "config.h"
> - #include "conffile.h"
> - #include "xmalloc.h"
> - #include "xlog.h"
> -diff --git a/support/misc/xstat.c b/support/misc/xstat.c
> -index fa04788..4c997ee 100644
> ---- a/support/misc/xstat.c
> -+++ b/support/misc/xstat.c
> -@@ -1,3 +1,7 @@
> -+#ifdef HAVE_CONFIG_H
> -+#include <config.h>
> -+#endif
> -+
> - #include <errno.h>
> - #include <sys/types.h>
> - #include <fcntl.h>
> -@@ -5,7 +9,6 @@
> - #include <sys/sysmacros.h>
> - #include <unistd.h>
> -
> --#include "config.h"
> - #include "xstat.h"
> -
> - #ifdef HAVE_FSTATAT
> -diff --git a/support/nfs/conffile.c b/support/nfs/conffile.c
> -index b6400be..6ba8a35 100644
> ---- a/support/nfs/conffile.c
> -+++ b/support/nfs/conffile.c
> -@@ -500,7 +500,7 @@ conf_readfile(const char *path)
> -
> -       if ((stat (path, &sb) == 0) || (errno != ENOENT)) {
> -               char *new_conf_addr = NULL;
> --              size_t sz = sb.st_size;
> -+              off_t sz;
> -               int fd = open (path, O_RDONLY, 0);
> -
> -               if (fd == -1) {
> -@@ -517,6 +517,11 @@ conf_readfile(const char *path)
> -
> -               /* only after we have the lock, check the file size ready to read it */
> -               sz = lseek(fd, 0, SEEK_END);
> -+              if (sz < 0) {
> -+                      xlog_warn("conf_readfile: unable to determine file size: %s",
> -+                                strerror(errno));
> -+                      goto fail;
> -+              }
> -               lseek(fd, 0, SEEK_SET);
> -
> -               new_conf_addr = malloc(sz+1);
> -@@ -2162,6 +2167,7 @@ conf_write(const char *filename, const char *section, const char *arg,
> -       ret = 0;
> -
> - cleanup:
> -+      flush_outqueue(&inqueue, NULL);
> -       flush_outqueue(&outqueue, NULL);
> -
> -       if (buff)
> -diff --git a/utils/blkmapd/device-discovery.c b/utils/blkmapd/device-discovery.c
> -index e811703..f5f9b10 100644
> ---- a/utils/blkmapd/device-discovery.c
> -+++ b/utils/blkmapd/device-discovery.c
> -@@ -26,6 +26,10 @@
> -  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
> -  */
> -
> -+#ifdef HAVE_CONFIG_H
> -+#include "config.h"
> -+#endif /* HAVE_CONFIG_H */
> -+
> - #include <sys/sysmacros.h>
> - #include <sys/types.h>
> - #include <sys/stat.h>
> -@@ -51,10 +55,6 @@
> - #include <errno.h>
> - #include <libdevmapper.h>
> -
> --#ifdef HAVE_CONFIG_H
> --#include "config.h"
> --#endif /* HAVE_CONFIG_H */
> --
> - #include "device-discovery.h"
> - #include "xcommon.h"
> - #include "nfslib.h"
> -diff --git a/utils/idmapd/idmapd.c b/utils/idmapd/idmapd.c
> -index 62e37b8..267acea 100644
> ---- a/utils/idmapd/idmapd.c
> -+++ b/utils/idmapd/idmapd.c
> -@@ -34,6 +34,10 @@
> -  *  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
> -  */
> -
> -+#ifdef HAVE_CONFIG_H
> -+#include "config.h"
> -+#endif /* HAVE_CONFIG_H */
> -+
> - #include <sys/types.h>
> - #include <sys/time.h>
> - #include <sys/inotify.h>
> -@@ -62,10 +66,6 @@
> - #include <libgen.h>
> - #include <nfsidmap.h>
> -
> --#ifdef HAVE_CONFIG_H
> --#include "config.h"
> --#endif /* HAVE_CONFIG_H */
> --
> - #include "xlog.h"
> - #include "conffile.h"
> - #include "queue.h"
> ---
> -2.7.4
> -
> diff --git a/meta/recipes-connectivity/nfs-utils/nfs-utils/clang-format-string.patch b/meta/recipes-connectivity/nfs-utils/nfs-utils/clang-format-string.patch
> deleted file mode 100644
> index 1d693e4142a..00000000000
> --- a/meta/recipes-connectivity/nfs-utils/nfs-utils/clang-format-string.patch
> +++ /dev/null
> @@ -1,183 +0,0 @@
> -Clang comes up with more printf format warnings
> -Correcting “format string is not a string literal” warning
> -requires us to declare that parameter is a printf style
> -format using the attribute flag
> -
> -Upstream-Status: Pending
> -
> -Signed-off-by: Khem Raj <raj.khem@gmail.com>
> -
> -Index: nfs-utils-2.3.3/support/include/xcommon.h
> -===================================================================
> ---- nfs-utils-2.3.3.orig/support/include/xcommon.h
> -+++ nfs-utils-2.3.3/support/include/xcommon.h
> -@@ -27,7 +27,7 @@
> -
> - /* Functions in sundries.c that are used in mount.c and umount.c  */
> - char *canonicalize (const char *path);
> --void nfs_error (const char *fmt, ...);
> -+void nfs_error (const char *fmt, ...) __attribute__((__format__ (__printf__, 1, 2)));
> - void *xmalloc (size_t size);
> - void *xrealloc(void *p, size_t size);
> - void xfree(void *);
> -@@ -36,9 +36,9 @@ char *xstrndup (const char *s, int n);
> - char *xstrconcat2 (const char *, const char *);
> - char *xstrconcat3 (const char *, const char *, const char *);
> - char *xstrconcat4 (const char *, const char *, const char *, const char *);
> --void die (int errcode, const char *fmt, ...);
> -+void die (int errcode, const char *fmt, ...) __attribute__((__format__ (__printf__, 2, 3)));
> -
> --extern void die(int err, const char *fmt, ...);
> -+extern void die(int err, const char *fmt, ...) __attribute__((__format__ (__printf__, 2, 3)));
> - extern void (*at_die)(void);
> -
> - /* exit status - bits below are ORed */
> -Index: nfs-utils-2.3.3/support/include/xlog.h
> -===================================================================
> ---- nfs-utils-2.3.3.orig/support/include/xlog.h
> -+++ nfs-utils-2.3.3/support/include/xlog.h
> -@@ -43,10 +43,10 @@ void                       xlog_config(int fac, int on);
> - void                  xlog_sconfig(char *, int on);
> - void                  xlog_from_conffile(char *);
> - int                   xlog_enabled(int fac);
> --void                  xlog(int fac, const char *fmt, ...);
> --void                  xlog_warn(const char *fmt, ...);
> --void                  xlog_err(const char *fmt, ...);
> --void                  xlog_errno(int err, const char *fmt, ...);
> --void                  xlog_backend(int fac, const char *fmt, va_list args);
> -+void                  xlog(int fac, const char *fmt, ...) __attribute__((__format__ (__printf__, 2, 3)));
> -+void                  xlog_warn(const char *fmt, ...) __attribute__((__format__ (__printf__, 1, 2)));
> -+void                  xlog_err(const char *fmt, ...) __attribute__((__format__ (__printf__, 1, 2)));
> -+void                  xlog_errno(int err, const char *fmt, ...) __attribute__((__format__ (__printf__, 2, 3)));
> -+void                  xlog_backend(int fac, const char *fmt, va_list args) __attribute__((__format__ (__printf__, 2, 0)));
> -
> - #endif /* XLOG_H */
> -Index: nfs-utils-2.3.3/support/nfs/xcommon.c
> -===================================================================
> ---- nfs-utils-2.3.3.orig/support/nfs/xcommon.c
> -+++ nfs-utils-2.3.3/support/nfs/xcommon.c
> -@@ -93,7 +93,10 @@ nfs_error (const char *fmt, ...) {
> -
> -      fmt2 = xstrconcat2 (fmt, "\n");
> -      va_start (args, fmt);
> -+#pragma clang diagnostic push
> -+#pragma clang diagnostic ignored "-Wformat-nonliteral"
> -      vfprintf (stderr, fmt2, args);
> -+#pragma clang diagnostic pop
> -      va_end (args);
> -      free (fmt2);
> - }
> -Index: nfs-utils-2.3.3/utils/exportfs/exportfs.c
> -===================================================================
> ---- nfs-utils-2.3.3.orig/utils/exportfs/exportfs.c
> -+++ nfs-utils-2.3.3/utils/exportfs/exportfs.c
> -@@ -644,6 +644,7 @@ out:
> -       return result;
> - }
> -
> -+__attribute__((__format__ (__printf__, 2, 3)))
> - static char
> - dumpopt(char c, char *fmt, ...)
> - {
> -Index: nfs-utils-2.3.3/utils/statd/statd.c
> -===================================================================
> ---- nfs-utils-2.3.3.orig/utils/statd/statd.c
> -+++ nfs-utils-2.3.3/utils/statd/statd.c
> -@@ -136,7 +136,7 @@ static void log_modes(void)
> -       strcat(buf, "TI-RPC ");
> - #endif
> -
> --      xlog_warn(buf);
> -+      xlog_warn("%s", buf);
> - }
> -
> - /*
> -Index: nfs-utils-2.3.3/support/nfs/svc_create.c
> -===================================================================
> ---- nfs-utils-2.3.3.orig/support/nfs/svc_create.c
> -+++ nfs-utils-2.3.3/support/nfs/svc_create.c
> -@@ -184,7 +184,7 @@ svc_create_sock(const struct sockaddr *s
> -               type = SOCK_STREAM;
> -               break;
> -       default:
> --              xlog(D_GENERAL, "%s: Unrecognized bind address semantics: %u",
> -+              xlog(D_GENERAL, "%s: Unrecognized bind address semantics: %lu",
> -                       __func__, nconf->nc_semantics);
> -               return -1;
> -       }
> -Index: nfs-utils-2.3.3/support/nsm/rpc.c
> -===================================================================
> ---- nfs-utils-2.3.3.orig/support/nsm/rpc.c
> -+++ nfs-utils-2.3.3/support/nsm/rpc.c
> -@@ -182,7 +182,7 @@ nsm_xmit_getport(const int sock, const s
> -       uint32_t xid;
> -       XDR xdr;
> -
> --      xlog(D_CALL, "Sending PMAP_GETPORT for %u, %u, udp", program, version);
> -+      xlog(D_CALL, "Sending PMAP_GETPORT for %lu, %lu, udp", program, version);
> -
> -       nsm_init_xdrmem(msgbuf, NSM_MAXMSGSIZE, &xdr);
> -       xid = nsm_init_rpc_header(PMAPPROG, PMAPVERS,
> -Index: nfs-utils-2.3.3/utils/mountd/cache.c
> -===================================================================
> ---- nfs-utils-2.3.3.orig/utils/mountd/cache.c
> -+++ nfs-utils-2.3.3/utils/mountd/cache.c
> -@@ -968,8 +968,7 @@ lookup_export(char *dom, char *path, str
> -                       } else if (found_type == i && found->m_warned == 0) {
> -                               xlog(L_WARNING, "%s exported to both %s and %s, "
> -                                    "arbitrarily choosing options from first",
> --                                   path, found->m_client->m_hostname, exp->m_client->m_hostname,
> --                                   dom);
> -+                                   path, found->m_client->m_hostname, exp->m_client->m_hostname);
> -                               found->m_warned = 1;
> -                       }
> -               }
> -Index: nfs-utils-2.3.3/utils/mountd/mountd.c
> -===================================================================
> ---- nfs-utils-2.3.3.orig/utils/mountd/mountd.c
> -+++ nfs-utils-2.3.3/utils/mountd/mountd.c
> -@@ -213,7 +213,7 @@ static void
> - sig_hup (int sig)
> - {
> -       /* don't exit on SIGHUP */
> --      xlog (L_NOTICE, "Received SIGHUP... Ignoring.\n", sig);
> -+      xlog (L_NOTICE, "Received SIGHUP(%d)... Ignoring.\n", sig);
> -       return;
> - }
> -
> -Index: nfs-utils-2.3.3/utils/statd/rmtcall.c
> -===================================================================
> ---- nfs-utils-2.3.3.orig/utils/statd/rmtcall.c
> -+++ nfs-utils-2.3.3/utils/statd/rmtcall.c
> -@@ -247,7 +247,7 @@ process_reply(FD_SET_TYPE *rfds)
> -               xlog_warn("%s: service %d not registered on localhost",
> -                       __func__, NL_MY_PROG(lp));
> -       } else {
> --              xlog(D_GENERAL, "%s: Callback to %s (for %d) succeeded",
> -+              xlog(D_GENERAL, "%s: Callback to %s (for %s) succeeded",
> -                       __func__, NL_MY_NAME(lp), NL_MON_NAME(lp));
> -       }
> -       nlist_free(&notify, lp);
> -Index: nfs-utils-2.3.3/utils/statd/svc_run.c
> -===================================================================
> ---- nfs-utils-2.3.3.orig/utils/statd/svc_run.c
> -+++ nfs-utils-2.3.3/utils/statd/svc_run.c
> -@@ -53,6 +53,7 @@
> -
> - #include <errno.h>
> - #include <time.h>
> -+#include <inttypes.h>
> - #include "statd.h"
> - #include "notlist.h"
> -
> -@@ -104,8 +105,8 @@ my_svc_run(int sockfd)
> -
> -                       tv.tv_sec  = NL_WHEN(notify) - now;
> -                       tv.tv_usec = 0;
> --                      xlog(D_GENERAL, "Waiting for reply... (timeo %d)",
> --                                                      tv.tv_sec);
> -+                      xlog(D_GENERAL, "Waiting for reply... (timeo %jd)",
> -+                                                      (intmax_t)tv.tv_sec);
> -                       selret = select(FD_SETSIZE, &readfds,
> -                               (void *) 0, (void *) 0, &tv);
> -               } else {
> diff --git a/meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-utils-musl-res_querydomain.patch b/meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-utils-musl-res_querydomain.patch
> deleted file mode 100644
> index 921f5edc82f..00000000000
> --- a/meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-utils-musl-res_querydomain.patch
> +++ /dev/null
> @@ -1,46 +0,0 @@
> -From caa19231196d73541445728e6813c8fa70345acb Mon Sep 17 00:00:00 2001
> -From: Robert Yang <liezhi.yang@windriver.com>
> -Date: Tue, 26 Jun 2018 15:59:00 +0800
> -Subject: [PATCH] nfs-utils: 2.1.1 -> 2.3.1
> -
> -Fixed:
> -configure: error: res_querydomain needed
> -
> -Upstream-Status: Pending [https://github.com/alpinelinux/aports/blob/master/main/nfs-utils/musl-configure_ac.patch]
> -
> -Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
> -
> ----
> - configure.ac | 9 ++++-----
> - 1 file changed, 4 insertions(+), 5 deletions(-)
> -
> -diff --git a/configure.ac b/configure.ac
> -index 50002b4..dcadb23 100644
> ---- a/configure.ac
> -+++ b/configure.ac
> -@@ -582,10 +582,10 @@ my_am_cflags="\
> -  -Wall \
> -  -Wextra \
> -  $rpcgen_cflags \
> -- -Werror=missing-prototypes \
> -- -Werror=missing-declarations \
> -+ -Wmissing-prototypes \
> -+ -Wmissing-declarations \
> -  -Werror=format=2 \
> -- -Werror=undef \
> -+ -Wundef \
> -  -Werror=missing-include-dirs \
> -  -Werror=strict-aliasing=2 \
> -  -Werror=init-self \
> -@@ -614,10 +614,9 @@ AC_DEFUN([CHECK_CCSUPPORT], [
> -
> - CHECK_CCSUPPORT([-Werror=format-overflow=2], [flg1])
> - CHECK_CCSUPPORT([-Werror=int-conversion], [flg2])
> --CHECK_CCSUPPORT([-Werror=incompatible-pointer-types], [flg3])
> - CHECK_CCSUPPORT([-Werror=misleading-indentation], [flg4])
> -
> --AC_SUBST([AM_CFLAGS], ["$my_am_cflags $flg1 $flg2 $flg3 $flg4"])
> -+AC_SUBST([AM_CFLAGS], ["$my_am_cflags $flg1 $flg2 $flg4"])
> -
> - # Make sure that $ACLOCAL_FLAGS are used during a rebuild
> - AC_SUBST([ACLOCAL_AMFLAGS], ["-I $ac_macro_dir \$(ACLOCAL_FLAGS)"])
> diff --git a/meta/recipes-connectivity/nfs-utils/nfs-utils_2.4.1.bb b/meta/recipes-connectivity/nfs-utils/nfs-utils_2.4.2.bb
> similarity index 94%
> rename from meta/recipes-connectivity/nfs-utils/nfs-utils_2.4.1.bb
> rename to meta/recipes-connectivity/nfs-utils/nfs-utils_2.4.2.bb
> index eb32bccb57c..df3070bd8b0 100644
> --- a/meta/recipes-connectivity/nfs-utils/nfs-utils_2.4.1.bb
> +++ b/meta/recipes-connectivity/nfs-utils/nfs-utils_2.4.2.bb
> @@ -29,16 +29,13 @@ SRC_URI = "${KERNELORG_MIRROR}/linux/utils/nfs-utils/${PV}/nfs-utils-${PV}.tar.x
>             file://nfs-utils-debianize-start-statd.patch \
>             file://bugfix-adjust-statd-service-name.patch \
>             file://0001-cacheio-use-intmax_t-for-formatted-IO.patch \
> -           file://clang-format-string.patch \
>             file://0001-Makefile.am-fix-undefined-function-for-libnsm.a.patch \
>             file://0001-Don-t-build-tools-with-CC_FOR_BUILD.patch \
> -           file://0001-Fix-include-order-between-config.h-and-stat.h.patch \
> -"
> +           "
>  SRC_URI_append_libc-glibc = " file://0001-configure.ac-Do-not-fatalize-Wmissing-prototypes.patch"
> -SRC_URI_append_libc-musl = " file://nfs-utils-musl-res_querydomain.patch"
>
> -SRC_URI[md5sum] = "161efe469ec1b06f1c750bd87f8ba6dd"
> -SRC_URI[sha256sum] = "85274ada94479b1beba9f8eeffd19f477c53a6710b9998d1192c807854087736"
> +SRC_URI[md5sum] = "d427c6b3014e9a04e8498f0598b1c1b9"
> +SRC_URI[sha256sum] = "4464737a03d5f73ded2ffefe19d5543ed7b1d6c541985d8acaafdc8025aa1038"
>
>  # Only kernel-module-nfsd is required here (but can be built-in)  - the nfsd module will
>  # pull in the remainder of the dependencies.
> --
> 2.17.1
>
> --
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core


^ permalink raw reply	[flat|nested] 62+ messages in thread

* Re: [PATCH 21/30] lttng-ust: update to 2.11.0
  2019-12-12 18:14 ` [PATCH 21/30] lttng-ust: " Alexander Kanavin
@ 2019-12-15  5:26   ` Khem Raj
  0 siblings, 0 replies; 62+ messages in thread
From: Khem Raj @ 2019-12-15  5:26 UTC (permalink / raw)
  To: Alexander Kanavin; +Cc: Patches and discussions about the oe-core layer

some undefined symbols

https://errors.yoctoproject.org/Errors/Details/297311/


On Thu, Dec 12, 2019 at 10:18 AM Alexander Kanavin
<alex.kanavin@gmail.com> wrote:
>
> Remove patch as issue addressed upstream.
>
> Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
> ---
>  .../lttng-ust-doc-examples-disable.patch        | 17 -----------------
>  ...{lttng-ust_2.10.5.bb => lttng-ust_2.11.0.bb} |  9 +++++----
>  2 files changed, 5 insertions(+), 21 deletions(-)
>  delete mode 100644 meta/recipes-kernel/lttng/lttng-ust/lttng-ust-doc-examples-disable.patch
>  rename meta/recipes-kernel/lttng/{lttng-ust_2.10.5.bb => lttng-ust_2.11.0.bb} (89%)
>
> diff --git a/meta/recipes-kernel/lttng/lttng-ust/lttng-ust-doc-examples-disable.patch b/meta/recipes-kernel/lttng/lttng-ust/lttng-ust-doc-examples-disable.patch
> deleted file mode 100644
> index bff852799d0..00000000000
> --- a/meta/recipes-kernel/lttng/lttng-ust/lttng-ust-doc-examples-disable.patch
> +++ /dev/null
> @@ -1,17 +0,0 @@
> -Upstream-Status: Inappropriate [embedded specific]
> -
> -Don't build the doc examples - we don't need them and in fact they
> -never successfully built in previous iterations of the lttng-ust
> -recipe anyway.
> -
> -Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
> -
> -Index: lttng-ust-2.9.1/doc/Makefile.am
> -===================================================================
> ---- lttng-ust-2.9.1.orig/doc/Makefile.am
> -+++ lttng-ust-2.9.1/doc/Makefile.am
> -@@ -1,3 +1,3 @@
> --SUBDIRS = . man examples
> -+SUBDIRS = . man
> -
> - dist_doc_DATA = java-agent.txt
> diff --git a/meta/recipes-kernel/lttng/lttng-ust_2.10.5.bb b/meta/recipes-kernel/lttng/lttng-ust_2.11.0.bb
> similarity index 89%
> rename from meta/recipes-kernel/lttng/lttng-ust_2.10.5.bb
> rename to meta/recipes-kernel/lttng/lttng-ust_2.11.0.bb
> index cfaad30b694..6d7c05e65e3 100644
> --- a/meta/recipes-kernel/lttng/lttng-ust_2.10.5.bb
> +++ b/meta/recipes-kernel/lttng/lttng-ust_2.11.0.bb
> @@ -15,6 +15,8 @@ PYTHON_OPTION = "am_cv_python_pyexecdir='${PYTHON_SITEPACKAGES_DIR}' \
>
>  inherit autotools lib_package manpages python3native
>
> +EXTRA_OECONF = "--disable-numa"
> +
>  DEPENDS = "liburcu util-linux"
>  RDEPENDS_${PN}-bin = "python3-core"
>
> @@ -26,12 +28,11 @@ RCONFLICTS_${PN} = "lttng2-ust"
>  PE = "2"
>
>  SRC_URI = "https://lttng.org/files/lttng-ust/lttng-ust-${PV}.tar.bz2 \
> -           file://lttng-ust-doc-examples-disable.patch \
>             file://0001-python-lttngust-Makefile.am-Add-install-lib-to-setup.patch \
> -          "
> +           "
>
> -SRC_URI[md5sum] = "f0c86a9fa7dcfd0205fb42584a310b1c"
> -SRC_URI[sha256sum] = "06f9ed9b2198855b1c7fcbf15fe57297ee259409ffa1b3bad87321412d98bc35"
> +SRC_URI[md5sum] = "99823cfeb76562d753ffe67880e9cc59"
> +SRC_URI[sha256sum] = "683280cfe5e12021e64c32cef9eeb0128f1f23dec32ba28adb5a2074be37c4d8"
>
>  CVE_PRODUCT = "ust"
>
> --
> 2.17.1
>
> --
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core


^ permalink raw reply	[flat|nested] 62+ messages in thread

* Re: [PATCH 26/30] ltp: update to 20190930
  2019-12-12 18:14 ` [PATCH 26/30] ltp: update to 20190930 Alexander Kanavin
@ 2019-12-15  5:32   ` Khem Raj
  2019-12-15 11:02     ` Alexander Kanavin
  0 siblings, 1 reply; 62+ messages in thread
From: Khem Raj @ 2019-12-15  5:32 UTC (permalink / raw)
  To: Alexander Kanavin; +Cc: Patches and discussions about the oe-core layer

musl build fails on aarch64

https://errors.yoctoproject.org/Errors/Details/297288/

On Thu, Dec 12, 2019 at 10:18 AM Alexander Kanavin
<alex.kanavin@gmail.com> wrote:
>
> Drop a big pile of backports.
>
> Add a patch to address absent string formatting error.
>
> Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
> ---
>  ...me-check-for-getdents-getdents64-API.patch |  72 --------
>  ...option-to-select-libc-implementation.patch |  27 ++-
>  ...-17052-Avoid-unsafe-exits-in-threads.patch |  64 -------
>  ...meltdown.c-Fix-kernel-symbol-finding.patch |  81 ---------
>  ...y-update-for-mm-fix-false-positive-O.patch |  57 -------
>  ...medwait01-Fix-wrong-sigset-length-fo.patch |  46 -----
>  ...3-wait-for-defunct-tid-to-get-detach.patch |  75 --------
>  ...es-fix-an-absent-format-string-issue.patch |  24 +++
>  ...thon3-everywhere-to-run-python-scrip.patch | 161 ------------------
>  ...x-EFAULT-in-32bit-compatibility-mode.patch |  36 ----
>  ...k-for-RES_USE_INET6-during-configure.patch |  68 --------
>  ...BC_PREREQ-is-defined-before-using-it.patch |  27 ++-
>  ...se-hardcoded-index-0-for-SHM_STAT-te.patch |  82 ---------
>  ...11-direct_io-diotest4-drop-MAP_FIXED.patch |  56 ------
>  ...st-a-bit-of-code-to-compatiable-with.patch |  64 -------
>  .../ltp/{ltp_20190517.bb => ltp_20190930.bb}  |  15 +-
>  16 files changed, 51 insertions(+), 904 deletions(-)
>  delete mode 100644 meta/recipes-extended/ltp/ltp/0001-Add-configure-time-check-for-getdents-getdents64-API.patch
>  delete mode 100644 meta/recipes-extended/ltp/ltp/0001-cve-2017-17052-Avoid-unsafe-exits-in-threads.patch
>  delete mode 100644 meta/recipes-extended/ltp/ltp/0001-cve-meltdown.c-Fix-kernel-symbol-finding.patch
>  delete mode 100644 meta/recipes-extended/ltp/ltp/0001-overcommit_memory-update-for-mm-fix-false-positive-O.patch
>  delete mode 100644 meta/recipes-extended/ltp/ltp/0001-syscall-rt_sigtimedwait01-Fix-wrong-sigset-length-fo.patch
>  delete mode 100644 meta/recipes-extended/ltp/ltp/0001-syscalls-tgkill03-wait-for-defunct-tid-to-get-detach.patch
>  create mode 100644 meta/recipes-extended/ltp/ltp/0001-testcases-fix-an-absent-format-string-issue.patch
>  delete mode 100644 meta/recipes-extended/ltp/ltp/0001-testcases-use-python3-everywhere-to-run-python-scrip.patch
>  delete mode 100644 meta/recipes-extended/ltp/ltp/0001-ustat02-Fix-EFAULT-in-32bit-compatibility-mode.patch
>  delete mode 100644 meta/recipes-extended/ltp/ltp/0002-check-for-RES_USE_INET6-during-configure.patch
>  delete mode 100644 meta/recipes-extended/ltp/ltp/0010-shmctl01-don-t-use-hardcoded-index-0-for-SHM_STAT-te.patch
>  delete mode 100644 meta/recipes-extended/ltp/ltp/0011-direct_io-diotest4-drop-MAP_FIXED.patch
>  delete mode 100644 meta/recipes-extended/ltp/ltp/0012-getrlimit03-adjust-a-bit-of-code-to-compatiable-with.patch
>  rename meta/recipes-extended/ltp/{ltp_20190517.bb => ltp_20190930.bb} (84%)
>
> diff --git a/meta/recipes-extended/ltp/ltp/0001-Add-configure-time-check-for-getdents-getdents64-API.patch b/meta/recipes-extended/ltp/ltp/0001-Add-configure-time-check-for-getdents-getdents64-API.patch
> deleted file mode 100644
> index bfceadb190d..00000000000
> --- a/meta/recipes-extended/ltp/ltp/0001-Add-configure-time-check-for-getdents-getdents64-API.patch
> +++ /dev/null
> @@ -1,72 +0,0 @@
> -From 404dfeb4faef213b0450f173b60cd7080edec349 Mon Sep 17 00:00:00 2001
> -From: Khem Raj <raj.khem@gmail.com>
> -Date: Fri, 26 Jul 2019 10:32:29 -0700
> -Subject: [PATCH 1/2] Add configure time check for getdents/getdents64 APIs
> -
> -glibc 2.30 has added wrapper for getdents64 this will help in detecting
> -right condition to use fallback
> -
> -Check for getdents API as well while here
> -
> -Upstream-Status: Submitted [http://lists.linux.it/pipermail/ltp/2019-July/012954.html]
> -Signed-off-by: Khem Raj <raj.khem@gmail.com>
> ----
> - configure.ac                                  | 2 ++
> - testcases/kernel/syscalls/getdents/getdents.h | 8 ++++++--
> - 2 files changed, 8 insertions(+), 2 deletions(-)
> -
> ---- a/configure.ac
> -+++ b/configure.ac
> -@@ -65,6 +65,8 @@ AC_CHECK_FUNCS([ \
> -     fallocate \
> -     fchownat \
> -     fstatat \
> -+    getdents \
> -+    getdents64 \
> -     kcmp \
> -     mkdirat \
> -     mknodat \
> ---- a/testcases/kernel/syscalls/getdents/getdents.h
> -+++ b/testcases/kernel/syscalls/getdents/getdents.h
> -@@ -23,7 +23,7 @@
> - #include <stdint.h>
> - #include "test.h"
> - #include "lapi/syscalls.h"
> --
> -+#include "config.h"
> - /*
> -  * See fs/compat.c struct compat_linux_dirent
> -  */
> -@@ -34,12 +34,17 @@ struct linux_dirent {
> -       char            d_name[];
> - };
> -
> -+#if HAVE_GETDENTS
> -+#include <unistd.h>
> -+#else
> - static inline int
> - getdents(unsigned int fd, struct linux_dirent *dirp, unsigned int size)
> - {
> -       return ltp_syscall(__NR_getdents, fd, dirp, size);
> - }
> -
> -+#endif /* HAVE_GETDENTS */
> -+
> - struct linux_dirent64 {
> -       uint64_t        d_ino;
> -       int64_t         d_off;
> -@@ -48,10 +53,13 @@ struct linux_dirent64 {
> -       char            d_name[];
> - };
> -
> -+#if HAVE_GETDENTS64
> -+#include <unistd.h>
> -+#else
> - static inline int
> - getdents64(unsigned int fd, struct linux_dirent64 *dirp64, unsigned int size)
> - {
> -       return ltp_syscall(__NR_getdents64, fd, dirp64, size);
> - }
> --
> -+#endif /* HAVE_GETDENTS64 */
> - #endif /* GETDENTS_H */
> diff --git a/meta/recipes-extended/ltp/ltp/0001-build-Add-option-to-select-libc-implementation.patch b/meta/recipes-extended/ltp/ltp/0001-build-Add-option-to-select-libc-implementation.patch
> index b5c25c56a57..1705abcf196 100644
> --- a/meta/recipes-extended/ltp/ltp/0001-build-Add-option-to-select-libc-implementation.patch
> +++ b/meta/recipes-extended/ltp/ltp/0001-build-Add-option-to-select-libc-implementation.patch
> @@ -1,4 +1,4 @@
> -From ec282980e6eee96f5b74aba464141f86049263e6 Mon Sep 17 00:00:00 2001
> +From 62c3481c73a2414d7a5f0a70808bfc9a06195bd9 Mon Sep 17 00:00:00 2001
>  From: Khem Raj <raj.khem@gmail.com>
>  Date: Thu, 7 Jan 2016 18:19:03 +0000
>  Subject: [PATCH] build: Add option to select libc implementation
> @@ -12,6 +12,7 @@ Disable tests specifically not building _yet_ on musl based systems
>  Upstream-Status: Pending
>
>  Signed-off-by: Khem Raj <raj.khem@gmail.com>
> +
>  ---
>   Makefile                                    | 5 +++++
>   testcases/kernel/Makefile                   | 5 ++++-
> @@ -24,7 +25,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
>   8 files changed, 35 insertions(+), 2 deletions(-)
>
>  diff --git a/Makefile b/Makefile
> -index 768ca46..e9d679a 100644
> +index 768ca4606..e9d679a71 100644
>  --- a/Makefile
>  +++ b/Makefile
>  @@ -41,6 +41,11 @@ vpath %.mk          $(top_srcdir)/mk:$(top_srcdir)/mk/include
> @@ -40,18 +41,19 @@ index 768ca46..e9d679a 100644
>   # COMMON_TARGETS:     Targets which exist in all, clean, and install.
>   # INSTALL_TARGETS:    Targets which exist in clean and install (contains
>  diff --git a/testcases/kernel/Makefile b/testcases/kernel/Makefile
> -index 39d79c7..24a57d9 100644
> +index 3319b3163..94ea362c8 100644
>  --- a/testcases/kernel/Makefile
>  +++ b/testcases/kernel/Makefile
> -@@ -49,12 +49,15 @@ SUBDIRS                    += connectors \
> +@@ -49,13 +49,16 @@ SUBDIRS                    += connectors \
>                            logging \
>                            mem \
>                            numa \
>  -                         pty \
>                            sched \
>                            security \
> -                          timers \
> +                          sound \
>                            tracing \
> +                          uevents \
>
>  +ifneq ($(LIBC),musl)
>  +SUBDIRS                       += pty
> @@ -61,7 +63,7 @@ index 39d79c7..24a57d9 100644
>   SUBDIRS                       += power_management
>   endif
>  diff --git a/testcases/kernel/sched/Makefile b/testcases/kernel/sched/Makefile
> -index 6a57d79..74bb933 100644
> +index 6a57d79ee..74bb93370 100644
>  --- a/testcases/kernel/sched/Makefile
>  +++ b/testcases/kernel/sched/Makefile
>  @@ -23,5 +23,7 @@
> @@ -74,7 +76,7 @@ index 6a57d79..74bb933 100644
>  +endif
>   include $(top_srcdir)/include/mk/generic_trunk_target.mk
>  diff --git a/testcases/kernel/syscalls/Makefile b/testcases/kernel/syscalls/Makefile
> -index 45a00cf..d1becd0 100644
> +index 45a00cf7d..d1becd054 100644
>  --- a/testcases/kernel/syscalls/Makefile
>  +++ b/testcases/kernel/syscalls/Makefile
>  @@ -28,6 +28,11 @@ ifeq ($(UCLINUX),1)
> @@ -90,7 +92,7 @@ index 45a00cf..d1becd0 100644
>   ifeq ($(UCLIBC),1)
>   FILTER_OUT_DIRS       += profil
>  diff --git a/testcases/network/nfsv4/acl/Makefile b/testcases/network/nfsv4/acl/Makefile
> -index 8c55a6b..f7cda62 100644
> +index 8c55a6bbd..f7cda621d 100644
>  --- a/testcases/network/nfsv4/acl/Makefile
>  +++ b/testcases/network/nfsv4/acl/Makefile
>  @@ -26,4 +26,8 @@ include $(top_srcdir)/include/mk/env_pre.mk
> @@ -103,7 +105,7 @@ index 8c55a6b..f7cda62 100644
>  +
>   include $(top_srcdir)/include/mk/generic_leaf_target.mk
>  diff --git a/testcases/network/rpc/basic_tests/Makefile b/testcases/network/rpc/basic_tests/Makefile
> -index 66e9d56..ea8eb8a 100644
> +index 66e9d5675..ea8eb8a98 100644
>  --- a/testcases/network/rpc/basic_tests/Makefile
>  +++ b/testcases/network/rpc/basic_tests/Makefile
>  @@ -23,4 +23,9 @@
> @@ -117,7 +119,7 @@ index 66e9d56..ea8eb8a 100644
>  +
>   include $(top_srcdir)/include/mk/generic_trunk_target.mk
>  diff --git a/testcases/realtime/func/pi-tests/Makefile b/testcases/realtime/func/pi-tests/Makefile
> -index 68616a7..748754b 100644
> +index 68616a711..748754bb4 100644
>  --- a/testcases/realtime/func/pi-tests/Makefile
>  +++ b/testcases/realtime/func/pi-tests/Makefile
>  @@ -27,5 +27,9 @@ include $(top_srcdir)/include/mk/env_pre.mk
> @@ -131,7 +133,7 @@ index 68616a7..748754b 100644
>
>   include $(top_srcdir)/include/mk/generic_leaf_target.mk
>  diff --git a/testcases/realtime/stress/pi-tests/Makefile b/testcases/realtime/stress/pi-tests/Makefile
> -index 1881f75..266e0b8 100644
> +index 1881f7565..266e0b815 100644
>  --- a/testcases/realtime/stress/pi-tests/Makefile
>  +++ b/testcases/realtime/stress/pi-tests/Makefile
>  @@ -24,4 +24,9 @@ top_srcdir           ?= ../../../..
> @@ -144,6 +146,3 @@ index 1881f75..266e0b8 100644
>  +endif
>  +
>   include $(top_srcdir)/include/mk/generic_leaf_target.mk
> ---
> -2.7.4
> -
> diff --git a/meta/recipes-extended/ltp/ltp/0001-cve-2017-17052-Avoid-unsafe-exits-in-threads.patch b/meta/recipes-extended/ltp/ltp/0001-cve-2017-17052-Avoid-unsafe-exits-in-threads.patch
> deleted file mode 100644
> index cc40081300c..00000000000
> --- a/meta/recipes-extended/ltp/ltp/0001-cve-2017-17052-Avoid-unsafe-exits-in-threads.patch
> +++ /dev/null
> @@ -1,64 +0,0 @@
> -From e3a8502d0a4f8a44ddd02ca4b2efc097133fb9f7 Mon Sep 17 00:00:00 2001
> -From: Mathias Fiedler <mathias.fiedler@aox-tech.de>
> -Date: Fri, 23 Aug 2019 12:46:48 +0200
> -Subject: [PATCH] cve-2017-17052: Avoid unsafe exits in threads
> -
> -According to manpage exit(3) calling exit is not thread-safe.
> -And with glibc 2.28 (and probably also with glibc >=2.27) sometimes
> -child processes created in fork_thread can get stuck on process exit in
> -glibc's __run_exit_handlers trying to acquire some lock which was in
> -locked state while the fork was created. This can happen when exit is
> -called in mmap_thread concurrently to the fork.
> -While the main process will still return with PASSED some of its
> -children are left behind.
> -
> -Comparing the source code with the original program as described in the
> -commit 2b7e8665b4ff51c034c55df3cff76518d1a9ee3a of linux kernel >=4.13
> -the exits in mmap_thread and fork_thread should not be necessary to
> -trigger the original bug.
> -
> -Therefore those exit calls are removed. The mmap_thread and fork_thread
> -should still exit when their corresponding main thread in do_test_fork
> -calls exit_group. The remaining exit in do_test_fork will be called in
> -the main thread without any concurrent thread in the same process.
> -
> -Signed-off-by: Mathias Fiedler <mathias.fiedler@aox-tech.de>
> -Acked-by: Cyril Hrubis <chrubis@suse.cz>
> -Acked-by: Jan Stancek <jstancek@redhat.com>
> -
> -Upstream-Status: Backport
> -[https://github.com/linux-test-project/ltp/commit/9f0b452c1af4bcb54da35711eb3fa77334a350b4]
> -
> -CVE: CVE-2017-17052
> -
> -Signed-off-by: He Zhe <zhe.he@windriver.com>
> ----
> - testcases/cve/cve-2017-17052.c | 5 -----
> - 1 file changed, 5 deletions(-)
> -
> -diff --git a/testcases/cve/cve-2017-17052.c b/testcases/cve/cve-2017-17052.c
> -index d7da7e919..18cd2a6d7 100644
> ---- a/testcases/cve/cve-2017-17052.c
> -+++ b/testcases/cve/cve-2017-17052.c
> -@@ -58,8 +58,6 @@ static void *mmap_thread(void *arg)
> -       for (;;) {
> -               SAFE_MMAP(NULL, 0x1000000, PROT_READ,
> -                               MAP_POPULATE|MAP_ANONYMOUS|MAP_PRIVATE, -1, 0);
> --              if (*do_exit)
> --                      exit(0);
> -       }
> -
> -       return arg;
> -@@ -67,9 +65,6 @@ static void *mmap_thread(void *arg)
> -
> - static void *fork_thread(void *arg)
> - {
> --      if (*do_exit)
> --              exit(0);
> --
> -       usleep(rand() % 10000);
> -       SAFE_FORK();
> -
> ---
> -2.17.1
> -
> diff --git a/meta/recipes-extended/ltp/ltp/0001-cve-meltdown.c-Fix-kernel-symbol-finding.patch b/meta/recipes-extended/ltp/ltp/0001-cve-meltdown.c-Fix-kernel-symbol-finding.patch
> deleted file mode 100644
> index 94f6f5a15a6..00000000000
> --- a/meta/recipes-extended/ltp/ltp/0001-cve-meltdown.c-Fix-kernel-symbol-finding.patch
> +++ /dev/null
> @@ -1,81 +0,0 @@
> -From fbeda82f440a0098be42dd668cbc47212a86ab48 Mon Sep 17 00:00:00 2001
> -From: He Zhe <zhe.he@windriver.com>
> -Date: Wed, 21 Aug 2019 16:27:24 +0800
> -Subject: [PATCH] cve/meltdown.c: Fix kernel symbol finding
> -
> -meltdown case fails as below.
> -safe_file_ops.c:219: BROK: Expected 3 conversions got 2 at meltdown.c:272
> -
> -find_kernel_symbol is defined to try twice with each of /proc/kallsyms and
> -/boot/System.map-%s. Currently if the symbol is not found in /proc/kallsyms,
> -when kernel option CONFIG_KALLSYMS_ALL is disabled, it would stop the case
> -immediately due to SAFE_FILE_LINES_SCANF.
> -
> -This patch turns to use FILE_LINES_SCANF to give find_kernel_symbol second
> -chance.
> -
> -[jstancek] Fix also condition introduced in 7709d2ae92ea, even if
> -           /proc/kallsyms is disabled, we still want to try System.map.
> -
> -Signed-off-by: He Zhe <zhe.he@windriver.com>
> -Signed-off-by: Jan Stancek <jstancek@redhat.com>
> -
> -Upstream-Status: Backport
> -[https://github.com/linux-test-project/ltp/commit/c2049b5c874bc071f8185bffb5fd7dcb042d9ec8]
> -
> -Remove the hunk for upstream 7709d2ae92ea ("cve/meltdown.c: abort the test if kallsyms was not enabled")
> -that has been covered by this patch.
> -
> -Signed-off-by: He Zhe <zhe.he@windriver.com>
> ----
> - testcases/cve/meltdown.c | 13 ++++++++++---
> - 1 file changed, 10 insertions(+), 3 deletions(-)
> -
> -diff --git a/testcases/cve/meltdown.c b/testcases/cve/meltdown.c
> -index a53ea9b..22651a6 100644
> ---- a/testcases/cve/meltdown.c
> -+++ b/testcases/cve/meltdown.c
> -@@ -267,9 +267,15 @@ find_symbol_in_file(const char *filename, const char *symname)
> -       int ret, read;
> -       char fmt[strlen(symname) + 64];
> -
> -+      tst_res(TINFO, "Looking for %s in %s", symname, filename);
> -+      if (access(filename, F_OK) == -1) {
> -+              tst_res(TINFO, "%s not available", filename);
> -+              return 0;
> -+      }
> -+
> -       sprintf(fmt, "%%lx %%c %s%%c", symname);
> -
> --      ret = SAFE_FILE_LINES_SCANF(filename, fmt, &addr, &type, &read);
> -+      ret = FILE_LINES_SCANF(filename, fmt, &addr, &type, &read);
> -       if (ret)
> -               return 0;
> -
> -@@ -287,13 +293,11 @@ find_kernel_symbol(const char *name)
> -       if (addr)
> -               return addr;
> -
> --      tst_res(TINFO, "not found '%s' in /proc/kallsyms", name);
> -       if (uname(&utsname) < 0)
> -               tst_brk(TBROK | TERRNO, "uname");
> -
> -       sprintf(systemmap, "/boot/System.map-%s", utsname.release);
> -
> --      tst_res(TINFO, "looking in '%s'\n", systemmap);
> -       addr = find_symbol_in_file(systemmap, name);
> -       return addr;
> - }
> -@@ -308,6 +312,9 @@ static void setup(void)
> -       saved_cmdline_addr = find_kernel_symbol("saved_command_line");
> -       tst_res(TINFO, "&saved_command_line == 0x%lx", saved_cmdline_addr);
> -
> -+      if (!saved_cmdline_addr)
> -+              tst_brk(TCONF, "saved_command_line not found");
> -+
> -       spec_fd = SAFE_OPEN("/proc/cmdline", O_RDONLY);
> -
> -       memset(target_array, 1, sizeof(target_array));
> ---
> -2.7.4
> -
> diff --git a/meta/recipes-extended/ltp/ltp/0001-overcommit_memory-update-for-mm-fix-false-positive-O.patch b/meta/recipes-extended/ltp/ltp/0001-overcommit_memory-update-for-mm-fix-false-positive-O.patch
> deleted file mode 100644
> index bed84712a15..00000000000
> --- a/meta/recipes-extended/ltp/ltp/0001-overcommit_memory-update-for-mm-fix-false-positive-O.patch
> +++ /dev/null
> @@ -1,57 +0,0 @@
> -From d656a447893dccc310c975a239f482278550c3e0 Mon Sep 17 00:00:00 2001
> -From: Jan Stancek <jstancek@redhat.com>
> -Date: Tue, 21 May 2019 10:10:44 +0200
> -Subject: [PATCH] overcommit_memory: update for "mm: fix false-positive
> - OVERCOMMIT_GUESS failures"
> -
> -commit 8c7829b04c52 ("mm: fix false-positive OVERCOMMIT_GUESS failures")
> -changes logic of __vm_enough_memory(), simplifying it to:
> -    When in GUESS mode, catch wild allocations by comparing their request
> -    size to total amount of ram and swap in the system.
> -
> -Testcase currently allocates mem_total + swap_total, which doesn't trigger
> -new condition. Make it more extreme, but assuming free_total / 2 will PASS,
> -and 2*sum_total will FAIL.
> -
> -Signed-off-by: Jan Stancek <jstancek@redhat.com>
> -Acked-by: Cyril Hrubis <chrubis@suse.cz>
> -
> -Upstream-Status: Backport [https://github.com/linux-test-project/ltp/commit/d656a447893dccc310c975a239f482278550c3e0]
> -Signed-off-by: He Zhe <zhe.he@windriver.com>
> ----
> - testcases/kernel/mem/tunable/overcommit_memory.c | 11 ++++-------
> - 1 file changed, 4 insertions(+), 7 deletions(-)
> -
> -diff --git a/testcases/kernel/mem/tunable/overcommit_memory.c b/testcases/kernel/mem/tunable/overcommit_memory.c
> -index 555298f..345764d 100644
> ---- a/testcases/kernel/mem/tunable/overcommit_memory.c
> -+++ b/testcases/kernel/mem/tunable/overcommit_memory.c
> -@@ -36,11 +36,10 @@
> -  *
> -  * The program is designed to test the two tunables:
> -  *
> -- * When overcommit_memory = 0, allocatable memory can't overextends
> -- * the amount of free memory. I choose the three cases:
> -+ * When overcommit_memory = 0, allocatable memory can't overextend
> -+ * the amount of total memory:
> -  * a. less than free_total:    free_total / 2, alloc should pass.
> -- * b. greater than free_total: free_total * 2, alloc should fail.
> -- * c. equal to sum_total:      sum_tatal,      alloc should fail
> -+ * b. greater than sum_total:   sum_total * 2, alloc should fail.
> -  *
> -  * When overcommit_memory = 1, it can alloc enough much memory, I
> -  * choose the three cases:
> -@@ -164,9 +163,7 @@ static void overcommit_memory_test(void)
> -
> -       update_mem();
> -       alloc_and_check(free_total / 2, EXPECT_PASS);
> --      update_mem();
> --      alloc_and_check(free_total * 2, EXPECT_FAIL);
> --      alloc_and_check(sum_total, EXPECT_FAIL);
> -+      alloc_and_check(sum_total * 2, EXPECT_FAIL);
> -
> -       /* start to test overcommit_memory=1 */
> -       set_sys_tune("overcommit_memory", 1, 1);
> ---
> -2.7.4
> -
> diff --git a/meta/recipes-extended/ltp/ltp/0001-syscall-rt_sigtimedwait01-Fix-wrong-sigset-length-fo.patch b/meta/recipes-extended/ltp/ltp/0001-syscall-rt_sigtimedwait01-Fix-wrong-sigset-length-fo.patch
> deleted file mode 100644
> index 0e56c08255e..00000000000
> --- a/meta/recipes-extended/ltp/ltp/0001-syscall-rt_sigtimedwait01-Fix-wrong-sigset-length-fo.patch
> +++ /dev/null
> @@ -1,46 +0,0 @@
> -From a5046625eaeed2d3fba456c3ba84c6c141c2ad7c Mon Sep 17 00:00:00 2001
> -From: He Zhe <zhe.he@windriver.com>
> -Date: Thu, 29 Aug 2019 21:09:46 +0800
> -Subject: [PATCH] syscall/rt_sigtimedwait01: Fix wrong sigset length for MIPS
> -
> -rt_sigtimedwait01 fails as follow on MIPS arches
> -rt_sigtimedwait01    1  TFAIL  :  .../sigwaitinfo01.c:58: test_empty_set
> -(.../sigwaitinfo01.c: 148): Unexpected failure:
> -TEST_ERRNO=EINVAL(22): Invalid argument
> -
> -As this case purposely bypasses glibc, it should align with the size of kernel
> -definition of sigset_t which is different from other arches.
> -https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch/mips/include/uapi/asm/signal.h#n15
> -
> -This patch turns to use _NSIG which is always right for all arches.
> -
> -Upstream-Status: Backport [a5046625eaeed2d3fba456c3ba84c6c141c2ad7c]
> -
> -Suggested-by: Jan Stancek <jstancek@redhat.com>
> -Acked-by: Jan Stancek <jstancek@redhat.com>
> -Acked-by: Cyril Hrubis <chrubis@suse.cz>
> -Signed-off-by: He Zhe <zhe.he@windriver.com>
> -Signed-off-by: Petr Vorel <pvorel@suse.cz>
> ----
> - testcases/kernel/syscalls/sigwaitinfo/sigwaitinfo01.c | 5 ++---
> - 1 file changed, 2 insertions(+), 3 deletions(-)
> -
> -diff --git a/testcases/kernel/syscalls/sigwaitinfo/sigwaitinfo01.c b/testcases/kernel/syscalls/sigwaitinfo/sigwaitinfo01.c
> -index 5a32ce1..6a30c27 100644
> ---- a/testcases/kernel/syscalls/sigwaitinfo/sigwaitinfo01.c
> -+++ b/testcases/kernel/syscalls/sigwaitinfo/sigwaitinfo01.c
> -@@ -128,9 +128,8 @@ static int my_sigtimedwait(const sigset_t * set, siginfo_t * info,
> - static int my_rt_sigtimedwait(const sigset_t * set, siginfo_t * info,
> -                             struct timespec *timeout)
> - {
> --
> --      /* The last argument is (number_of_signals)/(bits_per_byte), which are 64 and 8, resp. */
> --      return ltp_syscall(__NR_rt_sigtimedwait, set, info, timeout, 8);
> -+      /* _NSIG is always the right number of bits of signal map for all arches */
> -+      return ltp_syscall(__NR_rt_sigtimedwait, set, info, timeout, _NSIG/8);
> - }
> - #endif
> -
> ---
> -2.7.4
> -
> diff --git a/meta/recipes-extended/ltp/ltp/0001-syscalls-tgkill03-wait-for-defunct-tid-to-get-detach.patch b/meta/recipes-extended/ltp/ltp/0001-syscalls-tgkill03-wait-for-defunct-tid-to-get-detach.patch
> deleted file mode 100644
> index 6ea26150fbf..00000000000
> --- a/meta/recipes-extended/ltp/ltp/0001-syscalls-tgkill03-wait-for-defunct-tid-to-get-detach.patch
> +++ /dev/null
> @@ -1,75 +0,0 @@
> -From e747d0456adc080a1d31fb653bda9dc491795c80 Mon Sep 17 00:00:00 2001
> -From: Jan Stancek <jstancek@redhat.com>
> -Date: Sun, 16 Jun 2019 11:14:16 +0200
> -Subject: [PATCH] syscalls/tgkill03: wait for defunct tid to get detached
> -
> -Case where defunct tid is used has been observed to sporadically fail:
> -  tgkill03.c:96: FAIL: Defunct tid should have failed with ESRCH: SUCCESS
> -
> -glibc __pthread_timedjoin_ex() waits for CLONE_CHILD_CLEARTID to clear tid,
> -and then resumes. Kernel clears it (glibc pd->tid) at:
> -  do_exit
> -    exit_mm
> -      mm_release
> -        put_user(0, tsk->clear_child_tid);
> -
> -but kernel tid is still valid, presumably until:
> -  release_task
> -    __exit_signal
> -      __unhash_process
> -        detach_pid
> -
> -To avoid race wait until /proc/<pid>/task/<tid> disappears.
> -
> -Signed-off-by: Jan Stancek <jstancek@redhat.com>
> -Reviewed-by: Li Wang <liwang@redhat.com>
> -Acked-by: Sumit Garg <sumit.garg@linaro.org>
> -
> -Upstream-Status: Backport
> -[https://github.com/linux-test-project/ltp/commit/e747d0456adc080a1d31fb653bda9dc491795c80]
> -
> -Signed-off-by: He Zhe <zhe.he@windriver.com>
> ----
> - testcases/kernel/syscalls/tgkill/tgkill03.c | 6 +++++-
> - 1 file changed, 5 insertions(+), 1 deletion(-)
> -
> -diff --git a/testcases/kernel/syscalls/tgkill/tgkill03.c b/testcases/kernel/syscalls/tgkill/tgkill03.c
> -index f5bbdc5..593a217 100644
> ---- a/testcases/kernel/syscalls/tgkill/tgkill03.c
> -+++ b/testcases/kernel/syscalls/tgkill/tgkill03.c
> -@@ -7,6 +7,7 @@
> -
> - #include <pthread.h>
> - #include <pwd.h>
> -+#include <stdio.h>
> - #include <sys/types.h>
> -
> - #include "tst_safe_pthread.h"
> -@@ -42,6 +43,7 @@ static void setup(void)
> - {
> -       sigset_t sigusr1;
> -       pthread_t defunct_thread;
> -+      char defunct_tid_path[PATH_MAX];
> -
> -       sigemptyset(&sigusr1);
> -       sigaddset(&sigusr1, SIGUSR1);
> -@@ -55,8 +57,9 @@ static void setup(void)
> -       TST_CHECKPOINT_WAIT(0);
> -
> -       SAFE_PTHREAD_CREATE(&defunct_thread, NULL, defunct_thread_func, NULL);
> --
> -       SAFE_PTHREAD_JOIN(defunct_thread, NULL);
> -+      sprintf(defunct_tid_path, "/proc/%d/task/%d", getpid(), defunct_tid);
> -+      TST_RETRY_FN_EXP_BACKOFF(access(defunct_tid_path, R_OK), -1, 15);
> - }
> -
> - static void cleanup(void)
> -@@ -108,4 +111,5 @@ static struct tst_test test = {
> -       .setup = setup,
> -       .cleanup = cleanup,
> -       .test = run,
> -+      .timeout = 20,
> - };
> ---
> -2.7.4
> -
> diff --git a/meta/recipes-extended/ltp/ltp/0001-testcases-fix-an-absent-format-string-issue.patch b/meta/recipes-extended/ltp/ltp/0001-testcases-fix-an-absent-format-string-issue.patch
> new file mode 100644
> index 00000000000..93308445098
> --- /dev/null
> +++ b/meta/recipes-extended/ltp/ltp/0001-testcases-fix-an-absent-format-string-issue.patch
> @@ -0,0 +1,24 @@
> +From 476ce907fa18042cdde0a244ba9a46cd895ce76c Mon Sep 17 00:00:00 2001
> +From: Alexander Kanavin <alex.kanavin@gmail.com>
> +Date: Thu, 12 Dec 2019 17:56:02 +0100
> +Subject: [PATCH] testcases: fix an absent format string issue
> +
> +Upstream-Status: Pending
> +Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
> +---
> + .../kernel/syscalls/pidfd_send_signal/pidfd_send_signal03.c     | 2 +-
> + 1 file changed, 1 insertion(+), 1 deletion(-)
> +
> +diff --git a/testcases/kernel/syscalls/pidfd_send_signal/pidfd_send_signal03.c b/testcases/kernel/syscalls/pidfd_send_signal/pidfd_send_signal03.c
> +index 27dbc6626..19d943d06 100644
> +--- a/testcases/kernel/syscalls/pidfd_send_signal/pidfd_send_signal03.c
> ++++ b/testcases/kernel/syscalls/pidfd_send_signal/pidfd_send_signal03.c
> +@@ -59,7 +59,7 @@ static void verify_pidfd_send_signal(void)
> +
> +               /* Manipulate PID for next process */
> +               sprintf(pid_str, "%d", pid - 1);
> +-              SAFE_FILE_PRINTF(last_pid_file, pid_str);
> ++              SAFE_FILE_PRINTF(last_pid_file, "%s", pid_str);
> +
> +               new_pid = SAFE_FORK();
> +               if (new_pid == 0) {
> diff --git a/meta/recipes-extended/ltp/ltp/0001-testcases-use-python3-everywhere-to-run-python-scrip.patch b/meta/recipes-extended/ltp/ltp/0001-testcases-use-python3-everywhere-to-run-python-scrip.patch
> deleted file mode 100644
> index f4f87f38ab7..00000000000
> --- a/meta/recipes-extended/ltp/ltp/0001-testcases-use-python3-everywhere-to-run-python-scrip.patch
> +++ /dev/null
> @@ -1,161 +0,0 @@
> -From 0463d793566772a606255957915f99d166d5740c Mon Sep 17 00:00:00 2001
> -From: Alexander Kanavin <alex.kanavin@gmail.com>
> -Date: Wed, 28 Aug 2019 18:30:23 +0200
> -Subject: [PATCH] testcases: use python3 everywhere to run python scripts
> -
> -The scripts themselves have #!/usr/bin/python3 in them,
> -so I trust they are already py3-compatible.
> -
> -Upstream-Status: Pending
> -Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
> ----
> - testcases/kernel/power_management/runpwtests05.sh  |  2 +-
> - .../power_management/runpwtests_exclusive01.sh     |  2 +-
> - .../power_management/runpwtests_exclusive02.sh     |  2 +-
> - .../power_management/runpwtests_exclusive03.sh     |  2 +-
> - .../power_management/runpwtests_exclusive04.sh     |  2 +-
> - .../power_management/runpwtests_exclusive05.sh     |  2 +-
> - testcases/network/nfsv4/acl/runtest                | 14 +++++++-------
> - testcases/realtime/func/pi-tests/run_auto.sh       |  6 +++---
> - 8 files changed, 16 insertions(+), 16 deletions(-)
> -
> -diff --git a/testcases/kernel/power_management/runpwtests05.sh b/testcases/kernel/power_management/runpwtests05.sh
> -index 8a7d0f6e0..43e234d01 100755
> ---- a/testcases/kernel/power_management/runpwtests05.sh
> -+++ b/testcases/kernel/power_management/runpwtests05.sh
> -@@ -35,7 +35,7 @@ else
> -       max_sched_smt=1
> - fi
> -
> --tst_test_cmds python
> -+tst_test_cmds python3
> -
> - if ! grep sched_debug -qw /proc/cmdline ; then
> -       tst_brkm TCONF "Kernel cmdline parameter 'sched_debug' needed," \
> -diff --git a/testcases/kernel/power_management/runpwtests_exclusive01.sh b/testcases/kernel/power_management/runpwtests_exclusive01.sh
> -index ec78319e2..9fefcbf6e 100755
> ---- a/testcases/kernel/power_management/runpwtests_exclusive01.sh
> -+++ b/testcases/kernel/power_management/runpwtests_exclusive01.sh
> -@@ -35,7 +35,7 @@ else
> -       max_sched_smt=1
> - fi
> -
> --tst_test_cmds python
> -+tst_test_cmds python3
> -
> - hyper_threaded=$(is_hyper_threaded)
> - multi_socket=$(is_multi_socket)
> -diff --git a/testcases/kernel/power_management/runpwtests_exclusive02.sh b/testcases/kernel/power_management/runpwtests_exclusive02.sh
> -index e107fce35..2cd0ecb05 100755
> ---- a/testcases/kernel/power_management/runpwtests_exclusive02.sh
> -+++ b/testcases/kernel/power_management/runpwtests_exclusive02.sh
> -@@ -33,7 +33,7 @@ else
> -       max_sched_smt=1
> - fi
> -
> --tst_test_cmds python
> -+tst_test_cmds python3
> -
> - hyper_threaded=$(is_hyper_threaded)
> - multi_socket=$(is_multi_socket)
> -diff --git a/testcases/kernel/power_management/runpwtests_exclusive03.sh b/testcases/kernel/power_management/runpwtests_exclusive03.sh
> -index 490344bb3..ab3a5d11d 100755
> ---- a/testcases/kernel/power_management/runpwtests_exclusive03.sh
> -+++ b/testcases/kernel/power_management/runpwtests_exclusive03.sh
> -@@ -35,7 +35,7 @@ else
> -       max_sched_smt=1
> - fi
> -
> --tst_test_cmds python
> -+tst_test_cmds python3
> -
> - hyper_threaded=$(is_hyper_threaded)
> - multi_socket=$(is_multi_socket)
> -diff --git a/testcases/kernel/power_management/runpwtests_exclusive04.sh b/testcases/kernel/power_management/runpwtests_exclusive04.sh
> -index 978ca02ae..438ef603f 100755
> ---- a/testcases/kernel/power_management/runpwtests_exclusive04.sh
> -+++ b/testcases/kernel/power_management/runpwtests_exclusive04.sh
> -@@ -27,7 +27,7 @@ export TST_TOTAL=2
> - # Checking test environment
> - check_kervel_arch
> -
> --tst_test_cmds python
> -+tst_test_cmds python3
> -
> - hyper_threaded=$(is_hyper_threaded)
> - multi_socket=$(is_multi_socket)
> -diff --git a/testcases/kernel/power_management/runpwtests_exclusive05.sh b/testcases/kernel/power_management/runpwtests_exclusive05.sh
> -index a0dad5834..3a9afdbf2 100755
> ---- a/testcases/kernel/power_management/runpwtests_exclusive05.sh
> -+++ b/testcases/kernel/power_management/runpwtests_exclusive05.sh
> -@@ -35,7 +35,7 @@ else
> -       max_sched_smt=1
> - fi
> -
> --tst_test_cmds python
> -+tst_test_cmds python3
> -
> - hyper_threaded=$(is_hyper_threaded)
> - multi_socket=$(is_multi_socket)
> -diff --git a/testcases/network/nfsv4/acl/runtest b/testcases/network/nfsv4/acl/runtest
> -index d2e1b4c49..a859e85bc 100755
> ---- a/testcases/network/nfsv4/acl/runtest
> -+++ b/testcases/network/nfsv4/acl/runtest
> -@@ -22,7 +22,7 @@ do
> - done
> -
> - #  creation of users on the remote machine (removed only at the end of the tests)
> --rsh -n $REMOTEHOST python $PWD/create_users.py -u 50 -g 50
> -+rsh -n $REMOTEHOST python3 $PWD/create_users.py -u 50 -g 50
> -
> - echo "Starting ACL testing"
> -
> -@@ -51,19 +51,19 @@ echo "Basic tests finished"
> -
> - echo "LONG ACL TEST"
> - echo "creating necessary users and groups"
> --python create_users.py -u 50 -g 50
> -+python3 create_users.py -u 50 -g 50
> - echo "creating necessary users and groups on the remote host"
> - mkdir $NFSMNTDIR/lacl-testdir
> --python test_long_acl.py -l $MAXLENGTH -p $NFSMNTDIR/lacl-testdir
> -+python3 test_long_acl.py -l $MAXLENGTH -p $NFSMNTDIR/lacl-testdir
> - rm -rf $NFSMNTDIR/lacl-testdir
> - echo "Long ACL test OK with $MAXLENGTH entries"
> - echo "ACL STRESSING TEST"
> --python setacl_stress.py -n 100 -u $USER_NB -g $GRP_NB -f $FILE_NB -p $NFSMNTDIR
> -+python3 setacl_stress.py -n 100 -u $USER_NB -g $GRP_NB -f $FILE_NB -p $NFSMNTDIR
> -
> - # remove local an remote users
> --python cleanusers.py
> --python cleangroups.py
> --rsh -n $REMOTEHOST python $PWD/cleanusers.py
> -+python3 cleanusers.py
> -+python3 cleangroups.py
> -+rsh -n $REMOTEHOST python3 $PWD/cleanusers.py
> -
> - echo "Test OK"
> -
> -diff --git a/testcases/realtime/func/pi-tests/run_auto.sh b/testcases/realtime/func/pi-tests/run_auto.sh
> -index d13026049..277988568 100755
> ---- a/testcases/realtime/func/pi-tests/run_auto.sh
> -+++ b/testcases/realtime/func/pi-tests/run_auto.sh
> -@@ -15,15 +15,15 @@ $SCRIPTS_DIR/run_c_files.sh $profile testpi-0
> -
> - export LOG_FILE="$LOG_DIR/$LOG_FORMAT-testpi-1.log"
> - $SCRIPTS_DIR/run_c_files.sh $profile testpi-1
> --PYTHONPATH=../../  python parse-testpi1.py $LOG_FILE 2>&1 | tee -a $LOG_FILE
> -+PYTHONPATH=../../  python3 parse-testpi1.py $LOG_FILE 2>&1 | tee -a $LOG_FILE
> -
> - export LOG_FILE="$LOG_DIR/$LOG_FORMAT-testpi-2.log"
> - $SCRIPTS_DIR/run_c_files.sh $profile testpi-2
> --PYTHONPATH=../../  python parse-testpi2.py $LOG_FILE 2>&1 | tee -a $LOG_FILE
> -+PYTHONPATH=../../  python3 parse-testpi2.py $LOG_FILE 2>&1 | tee -a $LOG_FILE
> -
> - export LOG_FILE="$LOG_DIR/$LOG_FORMAT-testpi-4.log"
> - $SCRIPTS_DIR/run_c_files.sh $profile testpi-4
> --PYTHONPATH=../../  python parse-testpi1.py $LOG_FILE 2>&1 | tee -a $LOG_FILE
> -+PYTHONPATH=../../  python3 parse-testpi1.py $LOG_FILE 2>&1 | tee -a $LOG_FILE
> -
> -
> - export LOG_FILE=""
> diff --git a/meta/recipes-extended/ltp/ltp/0001-ustat02-Fix-EFAULT-in-32bit-compatibility-mode.patch b/meta/recipes-extended/ltp/ltp/0001-ustat02-Fix-EFAULT-in-32bit-compatibility-mode.patch
> deleted file mode 100644
> index c936b788fe1..00000000000
> --- a/meta/recipes-extended/ltp/ltp/0001-ustat02-Fix-EFAULT-in-32bit-compatibility-mode.patch
> +++ /dev/null
> @@ -1,36 +0,0 @@
> -From 156776a3e29491b363fdc9811912e1298655d060 Mon Sep 17 00:00:00 2001
> -From: Steven Price <steven.price@arm.com>
> -Date: Fri, 19 Jul 2019 13:48:17 +0100
> -Subject: [PATCH] ustat02: Fix EFAULT in 32bit compatibility mode
> -
> -The size of dev_t is larger than 32 bits which causes the dev argument
> -to be passed incorrectly. On Arm this means that the EFAULT test case
> -actually returns EINVAL because the device number isn't recognised.
> -
> -Signed-off-by: Steven Price <steven.price@arm.com>
> -Acked-by: Li Wang <liwang@redhat.com>
> -
> -Upstream-Status: Backport
> -[https://github.com/linux-test-project/ltp/commit/156776a3e29491b363fdc9811912e1298655d060]
> -
> -Signed-off-by: He Zhe <zhe.he@windriver.com>
> ----
> - testcases/kernel/syscalls/ustat/ustat02.c | 2 +-
> - 1 file changed, 1 insertion(+), 1 deletion(-)
> -
> -diff --git a/testcases/kernel/syscalls/ustat/ustat02.c b/testcases/kernel/syscalls/ustat/ustat02.c
> -index 9bbe4f3..1a0e9e0 100644
> ---- a/testcases/kernel/syscalls/ustat/ustat02.c
> -+++ b/testcases/kernel/syscalls/ustat/ustat02.c
> -@@ -36,7 +36,7 @@ int TST_TOTAL = ARRAY_SIZE(tc);
> -
> - void run(unsigned int test)
> - {
> --      TEST(tst_syscall(__NR_ustat, *tc[test].dev, tc[test].buf));
> -+      TEST(tst_syscall(__NR_ustat, (unsigned int)*tc[test].dev, tc[test].buf));
> -
> -       if ((TST_RET == -1) && (TST_ERR == tc[test].exp_errno))
> -               tst_res(TPASS | TTERRNO, "ustat(2) expected failure");
> ---
> -2.7.4
> -
> diff --git a/meta/recipes-extended/ltp/ltp/0002-check-for-RES_USE_INET6-during-configure.patch b/meta/recipes-extended/ltp/ltp/0002-check-for-RES_USE_INET6-during-configure.patch
> deleted file mode 100644
> index 12e47eb2b61..00000000000
> --- a/meta/recipes-extended/ltp/ltp/0002-check-for-RES_USE_INET6-during-configure.patch
> +++ /dev/null
> @@ -1,68 +0,0 @@
> -From 7bc134545b7beb09717a60541530c20a1a5740d3 Mon Sep 17 00:00:00 2001
> -From: Khem Raj <raj.khem@gmail.com>
> -Date: Fri, 26 Jul 2019 10:55:28 -0700
> -Subject: [PATCH 2/2] check for RES_USE_INET6 during configure
> -
> -glibc 2.30 has remove RES_USE_INET6 define which has been on its way out
> -since 2.26 release, this check ensures that we detect it before using it
> -
> -Upstream-Status: Submitted [http://lists.linux.it/pipermail/ltp/2019-July/012955.html]
> -Signed-off-by: Khem Raj <raj.khem@gmail.com>
> ----
> - configure.ac                                        | 13 +++++++++++++
> - testcases/network/multicast/mc_gethost/mc_gethost.c |  6 ++++++
> - 2 files changed, 19 insertions(+)
> -
> -diff --git a/configure.ac b/configure.ac
> -index 2255b5c181..ed7acccb01 100644
> ---- a/configure.ac
> -+++ b/configure.ac
> -@@ -91,6 +91,19 @@ AC_CHECK_FUNCS([ \
> -     vmsplice \
> - ])
> -
> -+#check defines
> -+AC_MSG_CHECKING([for RES_USE_INET6])
> -+AC_COMPILE_IFELSE( [AC_LANG_PROGRAM([[#include <resolv.h>]],
> -+  [[char dummy[RES_USE_INET6];]])],
> -+  [
> -+    AC_MSG_RESULT([yes])
> -+    AC_DEFINE_UNQUOTED([HAVE_RES_USE_INET6], 1, [Define to 1 if you have the RES_USE_INET6 macro.])
> -+  ],
> -+  [
> -+    AC_MSG_RESULT([no])
> -+    AC_DEFINE_UNQUOTED([HAVE_RES_USE_INET6], 0, [Define to 1 if you have the RES_USE_INET6 macro.])
> -+  ]
> -+)
> - # Tools knobs
> -
> - # Expect
> -diff --git a/testcases/network/multicast/mc_gethost/mc_gethost.c b/testcases/network/multicast/mc_gethost/mc_gethost.c
> -index 9cc15d086b..d1cae5441a 100644
> ---- a/testcases/network/multicast/mc_gethost/mc_gethost.c
> -+++ b/testcases/network/multicast/mc_gethost/mc_gethost.c
> -@@ -17,6 +17,8 @@
> - #include <string.h>
> - #include <stdlib.h>
> -
> -+#include "config.h"
> -+
> - #ifndef LOG_PERROR
> - #define LOG_PERROR 0
> - #endif
> -@@ -50,8 +52,12 @@ usage:
> -               argv++, argc--;
> -       }
> -       if (argc >= 1 && !strcmp(*argv, "-6")) {
> -+#if HAVE_RES_USE_INET6
> -               af = AF_INET6, size = IN6ADDRSZ;
> -               _res.options |= RES_USE_INET6;
> -+#else
> -+              af = AF_INET, size = INADDRSZ;
> -+#endif
> -               argv++, argc--;
> -       }
> -       if (argc >= 1 && !strcmp(*argv, "-f")) {
> ---
> -2.22.0
> -
> diff --git a/meta/recipes-extended/ltp/ltp/0003-Check-if-__GLIBC_PREREQ-is-defined-before-using-it.patch b/meta/recipes-extended/ltp/ltp/0003-Check-if-__GLIBC_PREREQ-is-defined-before-using-it.patch
> index c0f69ecf5fc..df3e8831f54 100644
> --- a/meta/recipes-extended/ltp/ltp/0003-Check-if-__GLIBC_PREREQ-is-defined-before-using-it.patch
> +++ b/meta/recipes-extended/ltp/ltp/0003-Check-if-__GLIBC_PREREQ-is-defined-before-using-it.patch
> @@ -1,4 +1,4 @@
> -From 29ce9fdab3bd34e69d73b5b890795559c06553f7 Mon Sep 17 00:00:00 2001
> +From 1ce47a6ed811fd78ed04ea2f82e6321c6bca57b6 Mon Sep 17 00:00:00 2001
>  From: Khem Raj <raj.khem@gmail.com>
>  Date: Thu, 7 Jan 2016 19:40:08 +0000
>  Subject: [PATCH] Check if __GLIBC_PREREQ is defined before using it
> @@ -10,16 +10,17 @@ Upstream-Status: Pending
>
>  Signed-off-by: Khem Raj <raj.khem@gmail.com>
>  Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
> +
>  ---
>   testcases/kernel/syscalls/accept4/accept4_01.c | 7 +++++++
>   1 file changed, 7 insertions(+)
>
>  diff --git a/testcases/kernel/syscalls/accept4/accept4_01.c b/testcases/kernel/syscalls/accept4/accept4_01.c
> -index dd289cf..76aa969 100644
> +index 29e18f27d..07444a46f 100644
>  --- a/testcases/kernel/syscalls/accept4/accept4_01.c
>  +++ b/testcases/kernel/syscalls/accept4/accept4_01.c
>  @@ -38,6 +38,7 @@
> - static struct sockaddr_in conn_addr;
> + static struct sockaddr_in *conn_addr, *accept_addr;
>   static int listening_fd;
>
>  +#if defined(__GLIBC__) && defined(__GLIBC_PREREQ)
> @@ -34,25 +35,21 @@ index dd289cf..76aa969 100644
>
>   static int create_listening_socket(void)
>   {
> -@@ -115,6 +117,7 @@ static void verify_accept4(unsigned int nr)
> -       SAFE_CONNECT(connfd, (struct sockaddr *)&conn_addr, sizeof(conn_addr));
> -       addrlen = sizeof(claddr);
> +@@ -114,12 +116,17 @@ static void verify_accept4(unsigned int nr)
> +       SAFE_CONNECT(connfd, (struct sockaddr *)conn_addr, sizeof(*conn_addr));
> +       addrlen = sizeof(*accept_addr);
>
>  +#if defined(__GLIBC__) && defined(__GLIBC_PREREQ)
>   #if !(__GLIBC_PREREQ(2, 10))
> -       TEST(accept4_01(listening_fd, (struct sockaddr *)&claddr, &addrlen,
> +       TEST(accept4_01(listening_fd, (struct sockaddr *)accept_addr, &addrlen,
>                                 tcase->cloexec | tcase->nonblock));
> -@@ -122,6 +125,10 @@ static void verify_accept4(unsigned int nr)
> -       TEST(accept4(listening_fd, (struct sockaddr *)&claddr, &addrlen,
> + #else
> +       TEST(accept4(listening_fd, (struct sockaddr *)accept_addr, &addrlen,
>                                 tcase->cloexec | tcase->nonblock));
> - #endif
> ++#endif
>  +#else
>  +      TEST(accept4(listening_fd, (struct sockaddr *)&claddr, &addrlen,
>  +                              tcase->cloexec | tcase->nonblock));
> -+#endif
> + #endif
>         if (TST_RET == -1) {
>                 if (TST_ERR == ENOSYS)
> -                       tst_brk(TCONF, "syscall __NR_accept4 not supported");
> ---
> -2.7.4
> -
> diff --git a/meta/recipes-extended/ltp/ltp/0010-shmctl01-don-t-use-hardcoded-index-0-for-SHM_STAT-te.patch b/meta/recipes-extended/ltp/ltp/0010-shmctl01-don-t-use-hardcoded-index-0-for-SHM_STAT-te.patch
> deleted file mode 100644
> index 8704e5ffe8a..00000000000
> --- a/meta/recipes-extended/ltp/ltp/0010-shmctl01-don-t-use-hardcoded-index-0-for-SHM_STAT-te.patch
> +++ /dev/null
> @@ -1,82 +0,0 @@
> -From 794933b38354a2612cf2c471f11798b306f35315 Mon Sep 17 00:00:00 2001
> -From: Jan Stancek <jstancek@redhat.com>
> -Date: Mon, 20 May 2019 20:47:20 +0200
> -Subject: [PATCH] shmctl01: don't use hardcoded index == 0 for SHM_STAT test
> -
> -Test fails on SHM_STAT testcase:
> -   shmctl01    5  TFAIL  :  shmctl01.c:173: shmctl01 call failed
> -                            errno = 22 : Invalid argument
> -   shmctl(0, SHM_STAT, 0x601060)           = -EINVAL
> -
> -since following commit:
> -   commit 99db46ea292780cd978d56932d9445b1e8bdafe8
> -   Author: Manfred Spraul <manfred@colorfullife.com>
> -   Date:   Tue May 14 15:46:36 2019 -0700
> -     ipc: do cyclic id allocation for the ipc object.
> -
> -Don't rely on index 0 being always available, but instead
> -use (maximum) index returned by SHM_INFO.
> -
> -Signed-off-by: Jan Stancek <jstancek@redhat.com>
> -Reviewed-by: Petr Vorel <pvorel@suse.cz>
> -Acked-by: Cyril Hrubis <chrubis@suse.cz>
> -
> -Upstream-Status: Backport
> -[https://github.com/linux-test-project/ltp/commit/db0a43d9388be2c347a8306751bbe6bec086d062]
> -
> -Signed-off-by: Hongzhi Song <hongzhi.song@windriver.com>
> -Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
> ----
> - testcases/kernel/syscalls/ipc/shmctl/shmctl01.c | 21 ++++++++++++++++++---
> - 1 file changed, 18 insertions(+), 3 deletions(-)
> -
> -diff --git a/testcases/kernel/syscalls/ipc/shmctl/shmctl01.c b/testcases/kernel/syscalls/ipc/shmctl/shmctl01.c
> -index 1b46977..52bf23a 100644
> ---- a/testcases/kernel/syscalls/ipc/shmctl/shmctl01.c
> -+++ b/testcases/kernel/syscalls/ipc/shmctl/shmctl01.c
> -@@ -79,6 +79,7 @@ static void func_info(int ret);
> -
> - /* Check routine for SHM_STAT */
> - static void func_sstat(int ret);
> -+static void func_sstat_setup(void);
> -
> - /* Check routine for SHM_LOCK */
> - static void func_lock(int ret);
> -@@ -110,7 +111,7 @@ static struct test_case_t {
> - #endif
> -       {&shm_id_1, IPC_SET, &buf, func_set, set_setup},
> -       {&shm_id_1, IPC_INFO, (struct shmid_ds *) &info, func_info, NULL},
> --      {&shm_index, SHM_STAT, &buf, func_sstat, NULL},
> -+      {&shm_index, SHM_STAT, &buf, func_sstat, func_sstat_setup},
> -       {&shm_id_1, SHM_LOCK, NULL, func_lock, NULL},
> -       {&shm_id_1, SHM_UNLOCK, NULL, func_unlock, NULL},
> -       {&shm_id_1, IPC_RMID, NULL, func_rmid, NULL},
> -@@ -407,9 +408,23 @@ static void func_info(int ret)
> - static void func_sstat(int ret)
> - {
> -       if (ret >= 0)
> --              tst_resm(TPASS, "get correct shared memory id");
> -+              tst_resm(TPASS, "get correct shared memory id for index: %d",
> -+                      shm_index);
> -       else
> --              tst_resm(TFAIL, "shared memory id is incorrect");
> -+              tst_resm(TFAIL, "shared memory id is incorrect, index: %d",
> -+                      shm_index);
> -+}
> -+
> -+static void func_sstat_setup(void)
> -+{
> -+      struct shm_info tmp;
> -+      int ret;
> -+
> -+      ret = shmctl(shm_id_1, SHM_INFO, (void *)&tmp);
> -+      if (ret < 0)
> -+              tst_resm(TFAIL|TERRNO, "shmctl(SHM_INFO)");
> -+      else
> -+              shm_index = ret;
> - }
> -
> - static void func_lock(int ret)
> ---
> -2.7.4
> -
> diff --git a/meta/recipes-extended/ltp/ltp/0011-direct_io-diotest4-drop-MAP_FIXED.patch b/meta/recipes-extended/ltp/ltp/0011-direct_io-diotest4-drop-MAP_FIXED.patch
> deleted file mode 100644
> index 9cd188f6567..00000000000
> --- a/meta/recipes-extended/ltp/ltp/0011-direct_io-diotest4-drop-MAP_FIXED.patch
> +++ /dev/null
> @@ -1,56 +0,0 @@
> -From f210d7e19b721041f31b7f258a169f89dc850303 Mon Sep 17 00:00:00 2001
> -From: Jan Stancek <jstancek@redhat.com>
> -Date: Thu, 4 Jul 2019 16:45:23 +0200
> -Subject: [PATCH] direct_io/diotest4: drop MAP_FIXED
> -
> -Hongzhi reports that this test is failing on mips64 with 5.1+:
> -  diotest4 10 TBROK : diotest4.c:368: can't mmap file: Invalid argument
> -  diotest4 11 TBROK : diotest4.c:368: Remaining cases broken
> -I could reproduce it on emulated 5kc-malta, running 5.2.0-rc7.
> -
> -Test is trying to map into area immediately following heap as MAP_SHARED,
> -but it used wrong alignment (fixed by 'lapi/mmap.h: include config.h').
> -
> -Usage of MAP_FIXED seems unnecessary, so drop that too and let the kernel
> -pick an address.
> -
> -Reported-by: Hongzhi.Song <hongzhi.song@windriver.com>
> -Signed-off-by: Jan Stancek <jstancek@redhat.com>
> -Acked-by: Cyril Hrubis <chrubis@suse.cz>
> -
> -Upstream-Status: Backport
> -[https://github.com/linux-test-project/ltp/commit/f5444eeeabf252b8884b9465d277b6af853819e3]
> -
> -Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
> ----
> - testcases/kernel/io/direct_io/diotest4.c | 8 ++------
> - 1 file changed, 2 insertions(+), 6 deletions(-)
> -
> -diff --git a/testcases/kernel/io/direct_io/diotest4.c b/testcases/kernel/io/direct_io/diotest4.c
> -index e4616e4..bf200cd 100644
> ---- a/testcases/kernel/io/direct_io/diotest4.c
> -+++ b/testcases/kernel/io/direct_io/diotest4.c
> -@@ -352,18 +352,14 @@ int main(int argc, char *argv[])
> -       total++;
> -
> -       /* Test-10: read, write to a mmaped file */
> --      shm_base = (char *)(((long)sbrk(0) + (shmsz - 1)) & ~(shmsz - 1));
> --      if (shm_base == NULL) {
> --              tst_brkm(TBROK, cleanup, "sbrk failed: %s", strerror(errno));
> --      }
> -       offset = 4096;
> -       count = bufsize;
> -       if ((fd = open(filename, O_DIRECT | O_RDWR)) < 0) {
> -               tst_brkm(TBROK, cleanup, "can't open %s: %s",
> -                        filename, strerror(errno));
> -       }
> --      shm_base = mmap(shm_base, 0x100000, PROT_READ | PROT_WRITE,
> --                      MAP_SHARED | MAP_FIXED, fd, 0);
> -+      shm_base = mmap(0, 0x100000, PROT_READ | PROT_WRITE,
> -+                      MAP_SHARED, fd, 0);
> -       if (shm_base == (caddr_t) - 1) {
> -               tst_brkm(TBROK, cleanup, "can't mmap file: %s",
> -                        strerror(errno));
> ---
> -2.7.4
> -
> diff --git a/meta/recipes-extended/ltp/ltp/0012-getrlimit03-adjust-a-bit-of-code-to-compatiable-with.patch b/meta/recipes-extended/ltp/ltp/0012-getrlimit03-adjust-a-bit-of-code-to-compatiable-with.patch
> deleted file mode 100644
> index aecbc80e9b5..00000000000
> --- a/meta/recipes-extended/ltp/ltp/0012-getrlimit03-adjust-a-bit-of-code-to-compatiable-with.patch
> +++ /dev/null
> @@ -1,64 +0,0 @@
> -From 4ac747c1f7ff8e2ec2567d6672822e95a9b56e55 Mon Sep 17 00:00:00 2001
> -From: "Hongzhi.Song" <hongzhi.song@windriver.com>
> -Date: Mon, 15 Jul 2019 03:39:06 -0400
> -Subject: [PATCH] getrlimit03: adjust a bit of code to compatiable with mips32
> -
> -Error info:
> -getrlimit03.c:104: FAIL: __NR_prlimit64(0) had rlim_cur =
> -ffffffffffffffff but __NR_getrlimit(0) had rlim_cur = 7fffffff
> -
> -According to kernel code: [arch/mips/include/uapi/asm/resource.h]
> -RLIM_INFINITY is set to 0x7fffffffUL instead of ULONG_MAX on mips32.
> -
> - /*
> - * SuS says limits have to be unsigned.
> - * Which makes a ton more sense anyway,
> - * but we keep the old value on MIPS32,
> - * for compatibility:
> - */
> - #ifndef __mips64
> - # define RLIM_INFINITY      0x7fffffffUL
> - #endif
> -
> -Adding conditional statement about mips to fix this.
> -
> -Signed-off-by: Jan Stancek <jstancek@redhat.com>
> -Signed-off-by: Hongzhi.Song <hongzhi.song@windriver.com>
> -
> -Upstream-Status: Backport
> -[https://github.com/linux-test-project/ltp/commit/7a3bca63cd7f059d490b6274f0fdf3247be93fde]
> -
> -Signed-off-by: Hongzhi.Song <hongzhi.song@windriver.com>
> ----
> - testcases/kernel/syscalls/getrlimit/getrlimit03.c | 8 +++++++-
> - 1 file changed, 7 insertions(+), 1 deletion(-)
> -
> -diff --git a/testcases/kernel/syscalls/getrlimit/getrlimit03.c b/testcases/kernel/syscalls/getrlimit/getrlimit03.c
> -index e4d56c4..319bc49 100644
> ---- a/testcases/kernel/syscalls/getrlimit/getrlimit03.c
> -+++ b/testcases/kernel/syscalls/getrlimit/getrlimit03.c
> -@@ -26,6 +26,7 @@
> -
> - #include "tst_test.h"
> - #include "lapi/syscalls.h"
> -+#include "lapi/abisize.h"
> -
> - /**
> -  * Linux provides an "old" getrlimit syscall handler that uses signed long,
> -@@ -61,7 +62,12 @@ struct rlimit_ulong {
> -       unsigned long rlim_cur;
> -       unsigned long rlim_max;
> - };
> --const unsigned long RLIM_INFINITY_UL = ULONG_MAX;
> -+
> -+#if defined(__mips__) && defined(TST_ABI32)
> -+      const unsigned long RLIM_INFINITY_UL = 0x7fffffffUL;
> -+#else
> -+      const unsigned long RLIM_INFINITY_UL = ULONG_MAX;
> -+#endif
> -
> - static int getrlimit_ulong(int resource, struct rlimit_ulong *rlim)
> - {
> ---
> -2.7.4
> -
> diff --git a/meta/recipes-extended/ltp/ltp_20190517.bb b/meta/recipes-extended/ltp/ltp_20190930.bb
> similarity index 84%
> rename from meta/recipes-extended/ltp/ltp_20190517.bb
> rename to meta/recipes-extended/ltp/ltp_20190930.bb
> index 60f749b4c01..9a436a52303 100644
> --- a/meta/recipes-extended/ltp/ltp_20190517.bb
> +++ b/meta/recipes-extended/ltp/ltp_20190930.bb
> @@ -27,7 +27,7 @@ CFLAGS_append_x86-64 = " -fomit-frame-pointer"
>
>  CFLAGS_append_powerpc64 = " -D__SANE_USERSPACE_TYPES__"
>  CFLAGS_append_mipsarchn64 = " -D__SANE_USERSPACE_TYPES__"
> -SRCREV = "ac33ef87f0b9dc56533026435be3ea8c67ce86d2"
> +SRCREV = "c9707b465a08397569920b676345474f44327200"
>
>  SRC_URI = "git://github.com/linux-test-project/ltp.git \
>             file://0001-build-Add-option-to-select-libc-implementation.patch \
> @@ -38,19 +38,8 @@ SRC_URI = "git://github.com/linux-test-project/ltp.git \
>             file://0007-Fix-test_proc_kill-hanging.patch \
>             file://0008-testcases-network-nfsv4-acl-acl1.c-Security-fix-on-s.patch \
>             file://0009-open_posix_testsuite-mmap24-2-Relax-condition-a-bit.patch \
> -           file://0010-shmctl01-don-t-use-hardcoded-index-0-for-SHM_STAT-te.patch \
> -           file://0011-direct_io-diotest4-drop-MAP_FIXED.patch \
> -           file://0012-getrlimit03-adjust-a-bit-of-code-to-compatiable-with.patch \
> -           file://0001-Add-configure-time-check-for-getdents-getdents64-API.patch \
> -           file://0002-check-for-RES_USE_INET6-during-configure.patch \
> -           file://0001-syscalls-tgkill03-wait-for-defunct-tid-to-get-detach.patch \
> -           file://0001-ustat02-Fix-EFAULT-in-32bit-compatibility-mode.patch \
> -           file://0001-cve-meltdown.c-Fix-kernel-symbol-finding.patch \
> -           file://0001-testcases-use-python3-everywhere-to-run-python-scrip.patch \
> -           file://0001-syscall-rt_sigtimedwait01-Fix-wrong-sigset-length-fo.patch \
> -           file://0001-cve-2017-17052-Avoid-unsafe-exits-in-threads.patch \
> -           file://0001-overcommit_memory-update-for-mm-fix-false-positive-O.patch \
>             file://0001-mkswap01.sh-Add-udevadm-trigger-before-swap-verifica.patch \
> +           file://0001-testcases-fix-an-absent-format-string-issue.patch \
>             "
>
>  S = "${WORKDIR}/git"
> --
> 2.17.1
>
> --
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core


^ permalink raw reply	[flat|nested] 62+ messages in thread

* Re: [PATCH 07/30] gstreamer1.0-python: add a patch to fix python 3.8 builds
  2019-12-15  5:21   ` Khem Raj
@ 2019-12-15 11:00     ` Alexander Kanavin
  2019-12-15 17:06       ` Khem Raj
  0 siblings, 1 reply; 62+ messages in thread
From: Alexander Kanavin @ 2019-12-15 11:00 UTC (permalink / raw)
  To: Khem Raj; +Cc: Patches and discussions about the oe-core layer

[-- Attachment #1: Type: text/plain, Size: 3475 bytes --]

This is expected; the patch should be merged together with 3.8 upgrade.

Alex

On Sun, 15 Dec 2019 at 06:21, Khem Raj <raj.khem@gmail.com> wrote:

> this fails with python 3.7
>
> https://errors.yoctoproject.org/Errors/Details/297314/
>
> On Thu, Dec 12, 2019 at 10:15 AM Alexander Kanavin
> <alex.kanavin@gmail.com> wrote:
> >
> > Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
> > ---
> >  ...son.build-fix-builds-with-python-3.8.patch | 24 +++++++++++++++++++
> >  .../gstreamer/gstreamer1.0-python_1.16.1.bb   |  4 +++-
> >  2 files changed, 27 insertions(+), 1 deletion(-)
> >  create mode 100644
> meta/recipes-multimedia/gstreamer/gstreamer1.0-python/0001-meson.build-fix-builds-with-python-3.8.patch
> >
> > diff --git
> a/meta/recipes-multimedia/gstreamer/gstreamer1.0-python/0001-meson.build-fix-builds-with-python-3.8.patch
> b/meta/recipes-multimedia/gstreamer/gstreamer1.0-python/0001-meson.build-fix-builds-with-python-3.8.patch
> > new file mode 100644
> > index 00000000000..053108ad50b
> > --- /dev/null
> > +++
> b/meta/recipes-multimedia/gstreamer/gstreamer1.0-python/0001-meson.build-fix-builds-with-python-3.8.patch
> > @@ -0,0 +1,24 @@
> > +From 61cfd1b49dc82baf14bb36d88b6c5be7b8c3d23a Mon Sep 17 00:00:00 2001
> > +From: Alexander Kanavin <alex.kanavin@gmail.com>
> > +Date: Mon, 2 Dec 2019 18:16:41 +0100
> > +Subject: [PATCH] meson.build: fix builds with python 3.8
> > +
> > +Upstream-Status: Submitted [
> https://gitlab.freedesktop.org/gstreamer/gst-python/merge_requests/14]
> > +Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
> > +---
> > + meson.build | 2 +-
> > + 1 file changed, 1 insertion(+), 1 deletion(-)
> > +
> > +diff --git a/meson.build b/meson.build
> > +index 1da81d5..3e0db38 100644
> > +--- a/meson.build
> > ++++ b/meson.build
> > +@@ -24,7 +24,7 @@ pygobject_dep = dependency('pygobject-3.0', fallback:
> ['pygobject', 'pygobject_d
> > +
> > + pymod = import('python')
> > + python = pymod.find_installation(get_option('python'))
> > +-python_dep = python.dependency(required : true)
> > ++python_dep = dependency('python3-embed', required : true)
> > +
> > + python_abi_flags = python.get_variable('ABIFLAGS', '')
> > + pylib_loc = get_option('libpython-dir')
> > diff --git a/meta/recipes-multimedia/gstreamer/
> gstreamer1.0-python_1.16.1.bb b/meta/recipes-multimedia/gstreamer/
> gstreamer1.0-python_1.16.1.bb
> > index b770ec060e1..0382360ec26 100644
> > --- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-python_1.16.1.bb
> > +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-python_1.16.1.bb
> > @@ -5,7 +5,9 @@ SECTION = "multimedia"
> >  LICENSE = "LGPLv2.1"
> >  LIC_FILES_CHKSUM = "file://COPYING;md5=c34deae4e395ca07e725ab0076a5f740"
> >
> > -SRC_URI = "
> https://gstreamer.freedesktop.org/src/${PNREAL}/${PNREAL}-${PV}.tar.xz"
> > +SRC_URI = "
> https://gstreamer.freedesktop.org/src/${PNREAL}/${PNREAL}-${PV}.tar.xz \
> > +           file://0001-meson.build-fix-builds-with-python-3.8.patch \
> > +           "
> >  SRC_URI[md5sum] = "499645fbd1790c5845c02a3998dccc1b"
> >  SRC_URI[sha256sum] =
> "b469c8955126f41b8ce0bf689b7029f182cd305f422b3a8df35b780bd8347489"
> >
> > --
> > 2.17.1
> >
> > --
> > _______________________________________________
> > Openembedded-core mailing list
> > Openembedded-core@lists.openembedded.org
> > http://lists.openembedded.org/mailman/listinfo/openembedded-core
>

[-- Attachment #2: Type: text/html, Size: 5578 bytes --]

^ permalink raw reply	[flat|nested] 62+ messages in thread

* Re: [PATCH 26/30] ltp: update to 20190930
  2019-12-15  5:32   ` Khem Raj
@ 2019-12-15 11:02     ` Alexander Kanavin
  2019-12-15 17:11       ` Khem Raj
  0 siblings, 1 reply; 62+ messages in thread
From: Alexander Kanavin @ 2019-12-15 11:02 UTC (permalink / raw)
  To: Khem Raj; +Cc: Patches and discussions about the oe-core layer

[-- Attachment #1: Type: text/plain, Size: 57453 bytes --]

As the last three issues are clang or musl related, may I request that you
look into them?

Alex

On Sun, 15 Dec 2019 at 06:33, Khem Raj <raj.khem@gmail.com> wrote:

> musl build fails on aarch64
>
> https://errors.yoctoproject.org/Errors/Details/297288/
>
> On Thu, Dec 12, 2019 at 10:18 AM Alexander Kanavin
> <alex.kanavin@gmail.com> wrote:
> >
> > Drop a big pile of backports.
> >
> > Add a patch to address absent string formatting error.
> >
> > Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
> > ---
> >  ...me-check-for-getdents-getdents64-API.patch |  72 --------
> >  ...option-to-select-libc-implementation.patch |  27 ++-
> >  ...-17052-Avoid-unsafe-exits-in-threads.patch |  64 -------
> >  ...meltdown.c-Fix-kernel-symbol-finding.patch |  81 ---------
> >  ...y-update-for-mm-fix-false-positive-O.patch |  57 -------
> >  ...medwait01-Fix-wrong-sigset-length-fo.patch |  46 -----
> >  ...3-wait-for-defunct-tid-to-get-detach.patch |  75 --------
> >  ...es-fix-an-absent-format-string-issue.patch |  24 +++
> >  ...thon3-everywhere-to-run-python-scrip.patch | 161 ------------------
> >  ...x-EFAULT-in-32bit-compatibility-mode.patch |  36 ----
> >  ...k-for-RES_USE_INET6-during-configure.patch |  68 --------
> >  ...BC_PREREQ-is-defined-before-using-it.patch |  27 ++-
> >  ...se-hardcoded-index-0-for-SHM_STAT-te.patch |  82 ---------
> >  ...11-direct_io-diotest4-drop-MAP_FIXED.patch |  56 ------
> >  ...st-a-bit-of-code-to-compatiable-with.patch |  64 -------
> >  .../ltp/{ltp_20190517.bb => ltp_20190930.bb}  |  15 +-
> >  16 files changed, 51 insertions(+), 904 deletions(-)
> >  delete mode 100644
> meta/recipes-extended/ltp/ltp/0001-Add-configure-time-check-for-getdents-getdents64-API.patch
> >  delete mode 100644
> meta/recipes-extended/ltp/ltp/0001-cve-2017-17052-Avoid-unsafe-exits-in-threads.patch
> >  delete mode 100644
> meta/recipes-extended/ltp/ltp/0001-cve-meltdown.c-Fix-kernel-symbol-finding.patch
> >  delete mode 100644
> meta/recipes-extended/ltp/ltp/0001-overcommit_memory-update-for-mm-fix-false-positive-O.patch
> >  delete mode 100644
> meta/recipes-extended/ltp/ltp/0001-syscall-rt_sigtimedwait01-Fix-wrong-sigset-length-fo.patch
> >  delete mode 100644
> meta/recipes-extended/ltp/ltp/0001-syscalls-tgkill03-wait-for-defunct-tid-to-get-detach.patch
> >  create mode 100644
> meta/recipes-extended/ltp/ltp/0001-testcases-fix-an-absent-format-string-issue.patch
> >  delete mode 100644
> meta/recipes-extended/ltp/ltp/0001-testcases-use-python3-everywhere-to-run-python-scrip.patch
> >  delete mode 100644
> meta/recipes-extended/ltp/ltp/0001-ustat02-Fix-EFAULT-in-32bit-compatibility-mode.patch
> >  delete mode 100644
> meta/recipes-extended/ltp/ltp/0002-check-for-RES_USE_INET6-during-configure.patch
> >  delete mode 100644
> meta/recipes-extended/ltp/ltp/0010-shmctl01-don-t-use-hardcoded-index-0-for-SHM_STAT-te.patch
> >  delete mode 100644
> meta/recipes-extended/ltp/ltp/0011-direct_io-diotest4-drop-MAP_FIXED.patch
> >  delete mode 100644
> meta/recipes-extended/ltp/ltp/0012-getrlimit03-adjust-a-bit-of-code-to-compatiable-with.patch
> >  rename meta/recipes-extended/ltp/{ltp_20190517.bb => ltp_20190930.bb}
> (84%)
> >
> > diff --git
> a/meta/recipes-extended/ltp/ltp/0001-Add-configure-time-check-for-getdents-getdents64-API.patch
> b/meta/recipes-extended/ltp/ltp/0001-Add-configure-time-check-for-getdents-getdents64-API.patch
> > deleted file mode 100644
> > index bfceadb190d..00000000000
> > ---
> a/meta/recipes-extended/ltp/ltp/0001-Add-configure-time-check-for-getdents-getdents64-API.patch
> > +++ /dev/null
> > @@ -1,72 +0,0 @@
> > -From 404dfeb4faef213b0450f173b60cd7080edec349 Mon Sep 17 00:00:00 2001
> > -From: Khem Raj <raj.khem@gmail.com>
> > -Date: Fri, 26 Jul 2019 10:32:29 -0700
> > -Subject: [PATCH 1/2] Add configure time check for getdents/getdents64
> APIs
> > -
> > -glibc 2.30 has added wrapper for getdents64 this will help in detecting
> > -right condition to use fallback
> > -
> > -Check for getdents API as well while here
> > -
> > -Upstream-Status: Submitted [
> http://lists.linux.it/pipermail/ltp/2019-July/012954.html]
> > -Signed-off-by: Khem Raj <raj.khem@gmail.com>
> > ----
> > - configure.ac                                  | 2 ++
> > - testcases/kernel/syscalls/getdents/getdents.h | 8 ++++++--
> > - 2 files changed, 8 insertions(+), 2 deletions(-)
> > -
> > ---- a/configure.ac
> > -+++ b/configure.ac
> > -@@ -65,6 +65,8 @@ AC_CHECK_FUNCS([ \
> > -     fallocate \
> > -     fchownat \
> > -     fstatat \
> > -+    getdents \
> > -+    getdents64 \
> > -     kcmp \
> > -     mkdirat \
> > -     mknodat \
> > ---- a/testcases/kernel/syscalls/getdents/getdents.h
> > -+++ b/testcases/kernel/syscalls/getdents/getdents.h
> > -@@ -23,7 +23,7 @@
> > - #include <stdint.h>
> > - #include "test.h"
> > - #include "lapi/syscalls.h"
> > --
> > -+#include "config.h"
> > - /*
> > -  * See fs/compat.c struct compat_linux_dirent
> > -  */
> > -@@ -34,12 +34,17 @@ struct linux_dirent {
> > -       char            d_name[];
> > - };
> > -
> > -+#if HAVE_GETDENTS
> > -+#include <unistd.h>
> > -+#else
> > - static inline int
> > - getdents(unsigned int fd, struct linux_dirent *dirp, unsigned int size)
> > - {
> > -       return ltp_syscall(__NR_getdents, fd, dirp, size);
> > - }
> > -
> > -+#endif /* HAVE_GETDENTS */
> > -+
> > - struct linux_dirent64 {
> > -       uint64_t        d_ino;
> > -       int64_t         d_off;
> > -@@ -48,10 +53,13 @@ struct linux_dirent64 {
> > -       char            d_name[];
> > - };
> > -
> > -+#if HAVE_GETDENTS64
> > -+#include <unistd.h>
> > -+#else
> > - static inline int
> > - getdents64(unsigned int fd, struct linux_dirent64 *dirp64, unsigned
> int size)
> > - {
> > -       return ltp_syscall(__NR_getdents64, fd, dirp64, size);
> > - }
> > --
> > -+#endif /* HAVE_GETDENTS64 */
> > - #endif /* GETDENTS_H */
> > diff --git
> a/meta/recipes-extended/ltp/ltp/0001-build-Add-option-to-select-libc-implementation.patch
> b/meta/recipes-extended/ltp/ltp/0001-build-Add-option-to-select-libc-implementation.patch
> > index b5c25c56a57..1705abcf196 100644
> > ---
> a/meta/recipes-extended/ltp/ltp/0001-build-Add-option-to-select-libc-implementation.patch
> > +++
> b/meta/recipes-extended/ltp/ltp/0001-build-Add-option-to-select-libc-implementation.patch
> > @@ -1,4 +1,4 @@
> > -From ec282980e6eee96f5b74aba464141f86049263e6 Mon Sep 17 00:00:00 2001
> > +From 62c3481c73a2414d7a5f0a70808bfc9a06195bd9 Mon Sep 17 00:00:00 2001
> >  From: Khem Raj <raj.khem@gmail.com>
> >  Date: Thu, 7 Jan 2016 18:19:03 +0000
> >  Subject: [PATCH] build: Add option to select libc implementation
> > @@ -12,6 +12,7 @@ Disable tests specifically not building _yet_ on musl
> based systems
> >  Upstream-Status: Pending
> >
> >  Signed-off-by: Khem Raj <raj.khem@gmail.com>
> > +
> >  ---
> >   Makefile                                    | 5 +++++
> >   testcases/kernel/Makefile                   | 5 ++++-
> > @@ -24,7 +25,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
> >   8 files changed, 35 insertions(+), 2 deletions(-)
> >
> >  diff --git a/Makefile b/Makefile
> > -index 768ca46..e9d679a 100644
> > +index 768ca4606..e9d679a71 100644
> >  --- a/Makefile
> >  +++ b/Makefile
> >  @@ -41,6 +41,11 @@ vpath %.mk
> $(top_srcdir)/mk:$(top_srcdir)/mk/include
> > @@ -40,18 +41,19 @@ index 768ca46..e9d679a 100644
> >   # COMMON_TARGETS:     Targets which exist in all, clean, and install.
> >   # INSTALL_TARGETS:    Targets which exist in clean and install
> (contains
> >  diff --git a/testcases/kernel/Makefile b/testcases/kernel/Makefile
> > -index 39d79c7..24a57d9 100644
> > +index 3319b3163..94ea362c8 100644
> >  --- a/testcases/kernel/Makefile
> >  +++ b/testcases/kernel/Makefile
> > -@@ -49,12 +49,15 @@ SUBDIRS                    += connectors \
> > +@@ -49,13 +49,16 @@ SUBDIRS                    += connectors \
> >                            logging \
> >                            mem \
> >                            numa \
> >  -                         pty \
> >                            sched \
> >                            security \
> > -                          timers \
> > +                          sound \
> >                            tracing \
> > +                          uevents \
> >
> >  +ifneq ($(LIBC),musl)
> >  +SUBDIRS                       += pty
> > @@ -61,7 +63,7 @@ index 39d79c7..24a57d9 100644
> >   SUBDIRS                       += power_management
> >   endif
> >  diff --git a/testcases/kernel/sched/Makefile
> b/testcases/kernel/sched/Makefile
> > -index 6a57d79..74bb933 100644
> > +index 6a57d79ee..74bb93370 100644
> >  --- a/testcases/kernel/sched/Makefile
> >  +++ b/testcases/kernel/sched/Makefile
> >  @@ -23,5 +23,7 @@
> > @@ -74,7 +76,7 @@ index 6a57d79..74bb933 100644
> >  +endif
> >   include $(top_srcdir)/include/mk/generic_trunk_target.mk
> >  diff --git a/testcases/kernel/syscalls/Makefile
> b/testcases/kernel/syscalls/Makefile
> > -index 45a00cf..d1becd0 100644
> > +index 45a00cf7d..d1becd054 100644
> >  --- a/testcases/kernel/syscalls/Makefile
> >  +++ b/testcases/kernel/syscalls/Makefile
> >  @@ -28,6 +28,11 @@ ifeq ($(UCLINUX),1)
> > @@ -90,7 +92,7 @@ index 45a00cf..d1becd0 100644
> >   ifeq ($(UCLIBC),1)
> >   FILTER_OUT_DIRS       += profil
> >  diff --git a/testcases/network/nfsv4/acl/Makefile
> b/testcases/network/nfsv4/acl/Makefile
> > -index 8c55a6b..f7cda62 100644
> > +index 8c55a6bbd..f7cda621d 100644
> >  --- a/testcases/network/nfsv4/acl/Makefile
> >  +++ b/testcases/network/nfsv4/acl/Makefile
> >  @@ -26,4 +26,8 @@ include $(top_srcdir)/include/mk/env_pre.mk
> > @@ -103,7 +105,7 @@ index 8c55a6b..f7cda62 100644
> >  +
> >   include $(top_srcdir)/include/mk/generic_leaf_target.mk
> >  diff --git a/testcases/network/rpc/basic_tests/Makefile
> b/testcases/network/rpc/basic_tests/Makefile
> > -index 66e9d56..ea8eb8a 100644
> > +index 66e9d5675..ea8eb8a98 100644
> >  --- a/testcases/network/rpc/basic_tests/Makefile
> >  +++ b/testcases/network/rpc/basic_tests/Makefile
> >  @@ -23,4 +23,9 @@
> > @@ -117,7 +119,7 @@ index 66e9d56..ea8eb8a 100644
> >  +
> >   include $(top_srcdir)/include/mk/generic_trunk_target.mk
> >  diff --git a/testcases/realtime/func/pi-tests/Makefile
> b/testcases/realtime/func/pi-tests/Makefile
> > -index 68616a7..748754b 100644
> > +index 68616a711..748754bb4 100644
> >  --- a/testcases/realtime/func/pi-tests/Makefile
> >  +++ b/testcases/realtime/func/pi-tests/Makefile
> >  @@ -27,5 +27,9 @@ include $(top_srcdir)/include/mk/env_pre.mk
> > @@ -131,7 +133,7 @@ index 68616a7..748754b 100644
> >
> >   include $(top_srcdir)/include/mk/generic_leaf_target.mk
> >  diff --git a/testcases/realtime/stress/pi-tests/Makefile
> b/testcases/realtime/stress/pi-tests/Makefile
> > -index 1881f75..266e0b8 100644
> > +index 1881f7565..266e0b815 100644
> >  --- a/testcases/realtime/stress/pi-tests/Makefile
> >  +++ b/testcases/realtime/stress/pi-tests/Makefile
> >  @@ -24,4 +24,9 @@ top_srcdir           ?= ../../../..
> > @@ -144,6 +146,3 @@ index 1881f75..266e0b8 100644
> >  +endif
> >  +
> >   include $(top_srcdir)/include/mk/generic_leaf_target.mk
> > ---
> > -2.7.4
> > -
> > diff --git
> a/meta/recipes-extended/ltp/ltp/0001-cve-2017-17052-Avoid-unsafe-exits-in-threads.patch
> b/meta/recipes-extended/ltp/ltp/0001-cve-2017-17052-Avoid-unsafe-exits-in-threads.patch
> > deleted file mode 100644
> > index cc40081300c..00000000000
> > ---
> a/meta/recipes-extended/ltp/ltp/0001-cve-2017-17052-Avoid-unsafe-exits-in-threads.patch
> > +++ /dev/null
> > @@ -1,64 +0,0 @@
> > -From e3a8502d0a4f8a44ddd02ca4b2efc097133fb9f7 Mon Sep 17 00:00:00 2001
> > -From: Mathias Fiedler <mathias.fiedler@aox-tech.de>
> > -Date: Fri, 23 Aug 2019 12:46:48 +0200
> > -Subject: [PATCH] cve-2017-17052: Avoid unsafe exits in threads
> > -
> > -According to manpage exit(3) calling exit is not thread-safe.
> > -And with glibc 2.28 (and probably also with glibc >=2.27) sometimes
> > -child processes created in fork_thread can get stuck on process exit in
> > -glibc's __run_exit_handlers trying to acquire some lock which was in
> > -locked state while the fork was created. This can happen when exit is
> > -called in mmap_thread concurrently to the fork.
> > -While the main process will still return with PASSED some of its
> > -children are left behind.
> > -
> > -Comparing the source code with the original program as described in the
> > -commit 2b7e8665b4ff51c034c55df3cff76518d1a9ee3a of linux kernel >=4.13
> > -the exits in mmap_thread and fork_thread should not be necessary to
> > -trigger the original bug.
> > -
> > -Therefore those exit calls are removed. The mmap_thread and fork_thread
> > -should still exit when their corresponding main thread in do_test_fork
> > -calls exit_group. The remaining exit in do_test_fork will be called in
> > -the main thread without any concurrent thread in the same process.
> > -
> > -Signed-off-by: Mathias Fiedler <mathias.fiedler@aox-tech.de>
> > -Acked-by: Cyril Hrubis <chrubis@suse.cz>
> > -Acked-by: Jan Stancek <jstancek@redhat.com>
> > -
> > -Upstream-Status: Backport
> > -[
> https://github.com/linux-test-project/ltp/commit/9f0b452c1af4bcb54da35711eb3fa77334a350b4
> ]
> > -
> > -CVE: CVE-2017-17052
> > -
> > -Signed-off-by: He Zhe <zhe.he@windriver.com>
> > ----
> > - testcases/cve/cve-2017-17052.c | 5 -----
> > - 1 file changed, 5 deletions(-)
> > -
> > -diff --git a/testcases/cve/cve-2017-17052.c
> b/testcases/cve/cve-2017-17052.c
> > -index d7da7e919..18cd2a6d7 100644
> > ---- a/testcases/cve/cve-2017-17052.c
> > -+++ b/testcases/cve/cve-2017-17052.c
> > -@@ -58,8 +58,6 @@ static void *mmap_thread(void *arg)
> > -       for (;;) {
> > -               SAFE_MMAP(NULL, 0x1000000, PROT_READ,
> > -                               MAP_POPULATE|MAP_ANONYMOUS|MAP_PRIVATE,
> -1, 0);
> > --              if (*do_exit)
> > --                      exit(0);
> > -       }
> > -
> > -       return arg;
> > -@@ -67,9 +65,6 @@ static void *mmap_thread(void *arg)
> > -
> > - static void *fork_thread(void *arg)
> > - {
> > --      if (*do_exit)
> > --              exit(0);
> > --
> > -       usleep(rand() % 10000);
> > -       SAFE_FORK();
> > -
> > ---
> > -2.17.1
> > -
> > diff --git
> a/meta/recipes-extended/ltp/ltp/0001-cve-meltdown.c-Fix-kernel-symbol-finding.patch
> b/meta/recipes-extended/ltp/ltp/0001-cve-meltdown.c-Fix-kernel-symbol-finding.patch
> > deleted file mode 100644
> > index 94f6f5a15a6..00000000000
> > ---
> a/meta/recipes-extended/ltp/ltp/0001-cve-meltdown.c-Fix-kernel-symbol-finding.patch
> > +++ /dev/null
> > @@ -1,81 +0,0 @@
> > -From fbeda82f440a0098be42dd668cbc47212a86ab48 Mon Sep 17 00:00:00 2001
> > -From: He Zhe <zhe.he@windriver.com>
> > -Date: Wed, 21 Aug 2019 16:27:24 +0800
> > -Subject: [PATCH] cve/meltdown.c: Fix kernel symbol finding
> > -
> > -meltdown case fails as below.
> > -safe_file_ops.c:219: BROK: Expected 3 conversions got 2 at
> meltdown.c:272
> > -
> > -find_kernel_symbol is defined to try twice with each of /proc/kallsyms
> and
> > -/boot/System.map-%s. Currently if the symbol is not found in
> /proc/kallsyms,
> > -when kernel option CONFIG_KALLSYMS_ALL is disabled, it would stop the
> case
> > -immediately due to SAFE_FILE_LINES_SCANF.
> > -
> > -This patch turns to use FILE_LINES_SCANF to give find_kernel_symbol
> second
> > -chance.
> > -
> > -[jstancek] Fix also condition introduced in 7709d2ae92ea, even if
> > -           /proc/kallsyms is disabled, we still want to try System.map.
> > -
> > -Signed-off-by: He Zhe <zhe.he@windriver.com>
> > -Signed-off-by: Jan Stancek <jstancek@redhat.com>
> > -
> > -Upstream-Status: Backport
> > -[
> https://github.com/linux-test-project/ltp/commit/c2049b5c874bc071f8185bffb5fd7dcb042d9ec8
> ]
> > -
> > -Remove the hunk for upstream 7709d2ae92ea ("cve/meltdown.c: abort the
> test if kallsyms was not enabled")
> > -that has been covered by this patch.
> > -
> > -Signed-off-by: He Zhe <zhe.he@windriver.com>
> > ----
> > - testcases/cve/meltdown.c | 13 ++++++++++---
> > - 1 file changed, 10 insertions(+), 3 deletions(-)
> > -
> > -diff --git a/testcases/cve/meltdown.c b/testcases/cve/meltdown.c
> > -index a53ea9b..22651a6 100644
> > ---- a/testcases/cve/meltdown.c
> > -+++ b/testcases/cve/meltdown.c
> > -@@ -267,9 +267,15 @@ find_symbol_in_file(const char *filename, const
> char *symname)
> > -       int ret, read;
> > -       char fmt[strlen(symname) + 64];
> > -
> > -+      tst_res(TINFO, "Looking for %s in %s", symname, filename);
> > -+      if (access(filename, F_OK) == -1) {
> > -+              tst_res(TINFO, "%s not available", filename);
> > -+              return 0;
> > -+      }
> > -+
> > -       sprintf(fmt, "%%lx %%c %s%%c", symname);
> > -
> > --      ret = SAFE_FILE_LINES_SCANF(filename, fmt, &addr, &type, &read);
> > -+      ret = FILE_LINES_SCANF(filename, fmt, &addr, &type, &read);
> > -       if (ret)
> > -               return 0;
> > -
> > -@@ -287,13 +293,11 @@ find_kernel_symbol(const char *name)
> > -       if (addr)
> > -               return addr;
> > -
> > --      tst_res(TINFO, "not found '%s' in /proc/kallsyms", name);
> > -       if (uname(&utsname) < 0)
> > -               tst_brk(TBROK | TERRNO, "uname");
> > -
> > -       sprintf(systemmap, "/boot/System.map-%s", utsname.release);
> > -
> > --      tst_res(TINFO, "looking in '%s'\n", systemmap);
> > -       addr = find_symbol_in_file(systemmap, name);
> > -       return addr;
> > - }
> > -@@ -308,6 +312,9 @@ static void setup(void)
> > -       saved_cmdline_addr = find_kernel_symbol("saved_command_line");
> > -       tst_res(TINFO, "&saved_command_line == 0x%lx",
> saved_cmdline_addr);
> > -
> > -+      if (!saved_cmdline_addr)
> > -+              tst_brk(TCONF, "saved_command_line not found");
> > -+
> > -       spec_fd = SAFE_OPEN("/proc/cmdline", O_RDONLY);
> > -
> > -       memset(target_array, 1, sizeof(target_array));
> > ---
> > -2.7.4
> > -
> > diff --git
> a/meta/recipes-extended/ltp/ltp/0001-overcommit_memory-update-for-mm-fix-false-positive-O.patch
> b/meta/recipes-extended/ltp/ltp/0001-overcommit_memory-update-for-mm-fix-false-positive-O.patch
> > deleted file mode 100644
> > index bed84712a15..00000000000
> > ---
> a/meta/recipes-extended/ltp/ltp/0001-overcommit_memory-update-for-mm-fix-false-positive-O.patch
> > +++ /dev/null
> > @@ -1,57 +0,0 @@
> > -From d656a447893dccc310c975a239f482278550c3e0 Mon Sep 17 00:00:00 2001
> > -From: Jan Stancek <jstancek@redhat.com>
> > -Date: Tue, 21 May 2019 10:10:44 +0200
> > -Subject: [PATCH] overcommit_memory: update for "mm: fix false-positive
> > - OVERCOMMIT_GUESS failures"
> > -
> > -commit 8c7829b04c52 ("mm: fix false-positive OVERCOMMIT_GUESS failures")
> > -changes logic of __vm_enough_memory(), simplifying it to:
> > -    When in GUESS mode, catch wild allocations by comparing their
> request
> > -    size to total amount of ram and swap in the system.
> > -
> > -Testcase currently allocates mem_total + swap_total, which doesn't
> trigger
> > -new condition. Make it more extreme, but assuming free_total / 2 will
> PASS,
> > -and 2*sum_total will FAIL.
> > -
> > -Signed-off-by: Jan Stancek <jstancek@redhat.com>
> > -Acked-by: Cyril Hrubis <chrubis@suse.cz>
> > -
> > -Upstream-Status: Backport [
> https://github.com/linux-test-project/ltp/commit/d656a447893dccc310c975a239f482278550c3e0
> ]
> > -Signed-off-by: He Zhe <zhe.he@windriver.com>
> > ----
> > - testcases/kernel/mem/tunable/overcommit_memory.c | 11 ++++-------
> > - 1 file changed, 4 insertions(+), 7 deletions(-)
> > -
> > -diff --git a/testcases/kernel/mem/tunable/overcommit_memory.c
> b/testcases/kernel/mem/tunable/overcommit_memory.c
> > -index 555298f..345764d 100644
> > ---- a/testcases/kernel/mem/tunable/overcommit_memory.c
> > -+++ b/testcases/kernel/mem/tunable/overcommit_memory.c
> > -@@ -36,11 +36,10 @@
> > -  *
> > -  * The program is designed to test the two tunables:
> > -  *
> > -- * When overcommit_memory = 0, allocatable memory can't overextends
> > -- * the amount of free memory. I choose the three cases:
> > -+ * When overcommit_memory = 0, allocatable memory can't overextend
> > -+ * the amount of total memory:
> > -  * a. less than free_total:    free_total / 2, alloc should pass.
> > -- * b. greater than free_total: free_total * 2, alloc should fail.
> > -- * c. equal to sum_total:      sum_tatal,      alloc should fail
> > -+ * b. greater than sum_total:   sum_total * 2, alloc should fail.
> > -  *
> > -  * When overcommit_memory = 1, it can alloc enough much memory, I
> > -  * choose the three cases:
> > -@@ -164,9 +163,7 @@ static void overcommit_memory_test(void)
> > -
> > -       update_mem();
> > -       alloc_and_check(free_total / 2, EXPECT_PASS);
> > --      update_mem();
> > --      alloc_and_check(free_total * 2, EXPECT_FAIL);
> > --      alloc_and_check(sum_total, EXPECT_FAIL);
> > -+      alloc_and_check(sum_total * 2, EXPECT_FAIL);
> > -
> > -       /* start to test overcommit_memory=1 */
> > -       set_sys_tune("overcommit_memory", 1, 1);
> > ---
> > -2.7.4
> > -
> > diff --git
> a/meta/recipes-extended/ltp/ltp/0001-syscall-rt_sigtimedwait01-Fix-wrong-sigset-length-fo.patch
> b/meta/recipes-extended/ltp/ltp/0001-syscall-rt_sigtimedwait01-Fix-wrong-sigset-length-fo.patch
> > deleted file mode 100644
> > index 0e56c08255e..00000000000
> > ---
> a/meta/recipes-extended/ltp/ltp/0001-syscall-rt_sigtimedwait01-Fix-wrong-sigset-length-fo.patch
> > +++ /dev/null
> > @@ -1,46 +0,0 @@
> > -From a5046625eaeed2d3fba456c3ba84c6c141c2ad7c Mon Sep 17 00:00:00 2001
> > -From: He Zhe <zhe.he@windriver.com>
> > -Date: Thu, 29 Aug 2019 21:09:46 +0800
> > -Subject: [PATCH] syscall/rt_sigtimedwait01: Fix wrong sigset length for
> MIPS
> > -
> > -rt_sigtimedwait01 fails as follow on MIPS arches
> > -rt_sigtimedwait01    1  TFAIL  :  .../sigwaitinfo01.c:58: test_empty_set
> > -(.../sigwaitinfo01.c: 148): Unexpected failure:
> > -TEST_ERRNO=EINVAL(22): Invalid argument
> > -
> > -As this case purposely bypasses glibc, it should align with the size of
> kernel
> > -definition of sigset_t which is different from other arches.
> > -
> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch/mips/include/uapi/asm/signal.h#n15
> > -
> > -This patch turns to use _NSIG which is always right for all arches.
> > -
> > -Upstream-Status: Backport [a5046625eaeed2d3fba456c3ba84c6c141c2ad7c]
> > -
> > -Suggested-by: Jan Stancek <jstancek@redhat.com>
> > -Acked-by: Jan Stancek <jstancek@redhat.com>
> > -Acked-by: Cyril Hrubis <chrubis@suse.cz>
> > -Signed-off-by: He Zhe <zhe.he@windriver.com>
> > -Signed-off-by: Petr Vorel <pvorel@suse.cz>
> > ----
> > - testcases/kernel/syscalls/sigwaitinfo/sigwaitinfo01.c | 5 ++---
> > - 1 file changed, 2 insertions(+), 3 deletions(-)
> > -
> > -diff --git a/testcases/kernel/syscalls/sigwaitinfo/sigwaitinfo01.c
> b/testcases/kernel/syscalls/sigwaitinfo/sigwaitinfo01.c
> > -index 5a32ce1..6a30c27 100644
> > ---- a/testcases/kernel/syscalls/sigwaitinfo/sigwaitinfo01.c
> > -+++ b/testcases/kernel/syscalls/sigwaitinfo/sigwaitinfo01.c
> > -@@ -128,9 +128,8 @@ static int my_sigtimedwait(const sigset_t * set,
> siginfo_t * info,
> > - static int my_rt_sigtimedwait(const sigset_t * set, siginfo_t * info,
> > -                             struct timespec *timeout)
> > - {
> > --
> > --      /* The last argument is (number_of_signals)/(bits_per_byte),
> which are 64 and 8, resp. */
> > --      return ltp_syscall(__NR_rt_sigtimedwait, set, info, timeout, 8);
> > -+      /* _NSIG is always the right number of bits of signal map for
> all arches */
> > -+      return ltp_syscall(__NR_rt_sigtimedwait, set, info, timeout,
> _NSIG/8);
> > - }
> > - #endif
> > -
> > ---
> > -2.7.4
> > -
> > diff --git
> a/meta/recipes-extended/ltp/ltp/0001-syscalls-tgkill03-wait-for-defunct-tid-to-get-detach.patch
> b/meta/recipes-extended/ltp/ltp/0001-syscalls-tgkill03-wait-for-defunct-tid-to-get-detach.patch
> > deleted file mode 100644
> > index 6ea26150fbf..00000000000
> > ---
> a/meta/recipes-extended/ltp/ltp/0001-syscalls-tgkill03-wait-for-defunct-tid-to-get-detach.patch
> > +++ /dev/null
> > @@ -1,75 +0,0 @@
> > -From e747d0456adc080a1d31fb653bda9dc491795c80 Mon Sep 17 00:00:00 2001
> > -From: Jan Stancek <jstancek@redhat.com>
> > -Date: Sun, 16 Jun 2019 11:14:16 +0200
> > -Subject: [PATCH] syscalls/tgkill03: wait for defunct tid to get detached
> > -
> > -Case where defunct tid is used has been observed to sporadically fail:
> > -  tgkill03.c:96: FAIL: Defunct tid should have failed with ESRCH:
> SUCCESS
> > -
> > -glibc __pthread_timedjoin_ex() waits for CLONE_CHILD_CLEARTID to clear
> tid,
> > -and then resumes. Kernel clears it (glibc pd->tid) at:
> > -  do_exit
> > -    exit_mm
> > -      mm_release
> > -        put_user(0, tsk->clear_child_tid);
> > -
> > -but kernel tid is still valid, presumably until:
> > -  release_task
> > -    __exit_signal
> > -      __unhash_process
> > -        detach_pid
> > -
> > -To avoid race wait until /proc/<pid>/task/<tid> disappears.
> > -
> > -Signed-off-by: Jan Stancek <jstancek@redhat.com>
> > -Reviewed-by: Li Wang <liwang@redhat.com>
> > -Acked-by: Sumit Garg <sumit.garg@linaro.org>
> > -
> > -Upstream-Status: Backport
> > -[
> https://github.com/linux-test-project/ltp/commit/e747d0456adc080a1d31fb653bda9dc491795c80
> ]
> > -
> > -Signed-off-by: He Zhe <zhe.he@windriver.com>
> > ----
> > - testcases/kernel/syscalls/tgkill/tgkill03.c | 6 +++++-
> > - 1 file changed, 5 insertions(+), 1 deletion(-)
> > -
> > -diff --git a/testcases/kernel/syscalls/tgkill/tgkill03.c
> b/testcases/kernel/syscalls/tgkill/tgkill03.c
> > -index f5bbdc5..593a217 100644
> > ---- a/testcases/kernel/syscalls/tgkill/tgkill03.c
> > -+++ b/testcases/kernel/syscalls/tgkill/tgkill03.c
> > -@@ -7,6 +7,7 @@
> > -
> > - #include <pthread.h>
> > - #include <pwd.h>
> > -+#include <stdio.h>
> > - #include <sys/types.h>
> > -
> > - #include "tst_safe_pthread.h"
> > -@@ -42,6 +43,7 @@ static void setup(void)
> > - {
> > -       sigset_t sigusr1;
> > -       pthread_t defunct_thread;
> > -+      char defunct_tid_path[PATH_MAX];
> > -
> > -       sigemptyset(&sigusr1);
> > -       sigaddset(&sigusr1, SIGUSR1);
> > -@@ -55,8 +57,9 @@ static void setup(void)
> > -       TST_CHECKPOINT_WAIT(0);
> > -
> > -       SAFE_PTHREAD_CREATE(&defunct_thread, NULL, defunct_thread_func,
> NULL);
> > --
> > -       SAFE_PTHREAD_JOIN(defunct_thread, NULL);
> > -+      sprintf(defunct_tid_path, "/proc/%d/task/%d", getpid(),
> defunct_tid);
> > -+      TST_RETRY_FN_EXP_BACKOFF(access(defunct_tid_path, R_OK), -1, 15);
> > - }
> > -
> > - static void cleanup(void)
> > -@@ -108,4 +111,5 @@ static struct tst_test test = {
> > -       .setup = setup,
> > -       .cleanup = cleanup,
> > -       .test = run,
> > -+      .timeout = 20,
> > - };
> > ---
> > -2.7.4
> > -
> > diff --git
> a/meta/recipes-extended/ltp/ltp/0001-testcases-fix-an-absent-format-string-issue.patch
> b/meta/recipes-extended/ltp/ltp/0001-testcases-fix-an-absent-format-string-issue.patch
> > new file mode 100644
> > index 00000000000..93308445098
> > --- /dev/null
> > +++
> b/meta/recipes-extended/ltp/ltp/0001-testcases-fix-an-absent-format-string-issue.patch
> > @@ -0,0 +1,24 @@
> > +From 476ce907fa18042cdde0a244ba9a46cd895ce76c Mon Sep 17 00:00:00 2001
> > +From: Alexander Kanavin <alex.kanavin@gmail.com>
> > +Date: Thu, 12 Dec 2019 17:56:02 +0100
> > +Subject: [PATCH] testcases: fix an absent format string issue
> > +
> > +Upstream-Status: Pending
> > +Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
> > +---
> > + .../kernel/syscalls/pidfd_send_signal/pidfd_send_signal03.c     | 2 +-
> > + 1 file changed, 1 insertion(+), 1 deletion(-)
> > +
> > +diff --git
> a/testcases/kernel/syscalls/pidfd_send_signal/pidfd_send_signal03.c
> b/testcases/kernel/syscalls/pidfd_send_signal/pidfd_send_signal03.c
> > +index 27dbc6626..19d943d06 100644
> > +--- a/testcases/kernel/syscalls/pidfd_send_signal/pidfd_send_signal03.c
> > ++++ b/testcases/kernel/syscalls/pidfd_send_signal/pidfd_send_signal03.c
> > +@@ -59,7 +59,7 @@ static void verify_pidfd_send_signal(void)
> > +
> > +               /* Manipulate PID for next process */
> > +               sprintf(pid_str, "%d", pid - 1);
> > +-              SAFE_FILE_PRINTF(last_pid_file, pid_str);
> > ++              SAFE_FILE_PRINTF(last_pid_file, "%s", pid_str);
> > +
> > +               new_pid = SAFE_FORK();
> > +               if (new_pid == 0) {
> > diff --git
> a/meta/recipes-extended/ltp/ltp/0001-testcases-use-python3-everywhere-to-run-python-scrip.patch
> b/meta/recipes-extended/ltp/ltp/0001-testcases-use-python3-everywhere-to-run-python-scrip.patch
> > deleted file mode 100644
> > index f4f87f38ab7..00000000000
> > ---
> a/meta/recipes-extended/ltp/ltp/0001-testcases-use-python3-everywhere-to-run-python-scrip.patch
> > +++ /dev/null
> > @@ -1,161 +0,0 @@
> > -From 0463d793566772a606255957915f99d166d5740c Mon Sep 17 00:00:00 2001
> > -From: Alexander Kanavin <alex.kanavin@gmail.com>
> > -Date: Wed, 28 Aug 2019 18:30:23 +0200
> > -Subject: [PATCH] testcases: use python3 everywhere to run python scripts
> > -
> > -The scripts themselves have #!/usr/bin/python3 in them,
> > -so I trust they are already py3-compatible.
> > -
> > -Upstream-Status: Pending
> > -Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
> > ----
> > - testcases/kernel/power_management/runpwtests05.sh  |  2 +-
> > - .../power_management/runpwtests_exclusive01.sh     |  2 +-
> > - .../power_management/runpwtests_exclusive02.sh     |  2 +-
> > - .../power_management/runpwtests_exclusive03.sh     |  2 +-
> > - .../power_management/runpwtests_exclusive04.sh     |  2 +-
> > - .../power_management/runpwtests_exclusive05.sh     |  2 +-
> > - testcases/network/nfsv4/acl/runtest                | 14 +++++++-------
> > - testcases/realtime/func/pi-tests/run_auto.sh       |  6 +++---
> > - 8 files changed, 16 insertions(+), 16 deletions(-)
> > -
> > -diff --git a/testcases/kernel/power_management/runpwtests05.sh
> b/testcases/kernel/power_management/runpwtests05.sh
> > -index 8a7d0f6e0..43e234d01 100755
> > ---- a/testcases/kernel/power_management/runpwtests05.sh
> > -+++ b/testcases/kernel/power_management/runpwtests05.sh
> > -@@ -35,7 +35,7 @@ else
> > -       max_sched_smt=1
> > - fi
> > -
> > --tst_test_cmds python
> > -+tst_test_cmds python3
> > -
> > - if ! grep sched_debug -qw /proc/cmdline ; then
> > -       tst_brkm TCONF "Kernel cmdline parameter 'sched_debug' needed," \
> > -diff --git
> a/testcases/kernel/power_management/runpwtests_exclusive01.sh
> b/testcases/kernel/power_management/runpwtests_exclusive01.sh
> > -index ec78319e2..9fefcbf6e 100755
> > ---- a/testcases/kernel/power_management/runpwtests_exclusive01.sh
> > -+++ b/testcases/kernel/power_management/runpwtests_exclusive01.sh
> > -@@ -35,7 +35,7 @@ else
> > -       max_sched_smt=1
> > - fi
> > -
> > --tst_test_cmds python
> > -+tst_test_cmds python3
> > -
> > - hyper_threaded=$(is_hyper_threaded)
> > - multi_socket=$(is_multi_socket)
> > -diff --git
> a/testcases/kernel/power_management/runpwtests_exclusive02.sh
> b/testcases/kernel/power_management/runpwtests_exclusive02.sh
> > -index e107fce35..2cd0ecb05 100755
> > ---- a/testcases/kernel/power_management/runpwtests_exclusive02.sh
> > -+++ b/testcases/kernel/power_management/runpwtests_exclusive02.sh
> > -@@ -33,7 +33,7 @@ else
> > -       max_sched_smt=1
> > - fi
> > -
> > --tst_test_cmds python
> > -+tst_test_cmds python3
> > -
> > - hyper_threaded=$(is_hyper_threaded)
> > - multi_socket=$(is_multi_socket)
> > -diff --git
> a/testcases/kernel/power_management/runpwtests_exclusive03.sh
> b/testcases/kernel/power_management/runpwtests_exclusive03.sh
> > -index 490344bb3..ab3a5d11d 100755
> > ---- a/testcases/kernel/power_management/runpwtests_exclusive03.sh
> > -+++ b/testcases/kernel/power_management/runpwtests_exclusive03.sh
> > -@@ -35,7 +35,7 @@ else
> > -       max_sched_smt=1
> > - fi
> > -
> > --tst_test_cmds python
> > -+tst_test_cmds python3
> > -
> > - hyper_threaded=$(is_hyper_threaded)
> > - multi_socket=$(is_multi_socket)
> > -diff --git
> a/testcases/kernel/power_management/runpwtests_exclusive04.sh
> b/testcases/kernel/power_management/runpwtests_exclusive04.sh
> > -index 978ca02ae..438ef603f 100755
> > ---- a/testcases/kernel/power_management/runpwtests_exclusive04.sh
> > -+++ b/testcases/kernel/power_management/runpwtests_exclusive04.sh
> > -@@ -27,7 +27,7 @@ export TST_TOTAL=2
> > - # Checking test environment
> > - check_kervel_arch
> > -
> > --tst_test_cmds python
> > -+tst_test_cmds python3
> > -
> > - hyper_threaded=$(is_hyper_threaded)
> > - multi_socket=$(is_multi_socket)
> > -diff --git
> a/testcases/kernel/power_management/runpwtests_exclusive05.sh
> b/testcases/kernel/power_management/runpwtests_exclusive05.sh
> > -index a0dad5834..3a9afdbf2 100755
> > ---- a/testcases/kernel/power_management/runpwtests_exclusive05.sh
> > -+++ b/testcases/kernel/power_management/runpwtests_exclusive05.sh
> > -@@ -35,7 +35,7 @@ else
> > -       max_sched_smt=1
> > - fi
> > -
> > --tst_test_cmds python
> > -+tst_test_cmds python3
> > -
> > - hyper_threaded=$(is_hyper_threaded)
> > - multi_socket=$(is_multi_socket)
> > -diff --git a/testcases/network/nfsv4/acl/runtest
> b/testcases/network/nfsv4/acl/runtest
> > -index d2e1b4c49..a859e85bc 100755
> > ---- a/testcases/network/nfsv4/acl/runtest
> > -+++ b/testcases/network/nfsv4/acl/runtest
> > -@@ -22,7 +22,7 @@ do
> > - done
> > -
> > - #  creation of users on the remote machine (removed only at the end of
> the tests)
> > --rsh -n $REMOTEHOST python $PWD/create_users.py -u 50 -g 50
> > -+rsh -n $REMOTEHOST python3 $PWD/create_users.py -u 50 -g 50
> > -
> > - echo "Starting ACL testing"
> > -
> > -@@ -51,19 +51,19 @@ echo "Basic tests finished"
> > -
> > - echo "LONG ACL TEST"
> > - echo "creating necessary users and groups"
> > --python create_users.py -u 50 -g 50
> > -+python3 create_users.py -u 50 -g 50
> > - echo "creating necessary users and groups on the remote host"
> > - mkdir $NFSMNTDIR/lacl-testdir
> > --python test_long_acl.py -l $MAXLENGTH -p $NFSMNTDIR/lacl-testdir
> > -+python3 test_long_acl.py -l $MAXLENGTH -p $NFSMNTDIR/lacl-testdir
> > - rm -rf $NFSMNTDIR/lacl-testdir
> > - echo "Long ACL test OK with $MAXLENGTH entries"
> > - echo "ACL STRESSING TEST"
> > --python setacl_stress.py -n 100 -u $USER_NB -g $GRP_NB -f $FILE_NB -p
> $NFSMNTDIR
> > -+python3 setacl_stress.py -n 100 -u $USER_NB -g $GRP_NB -f $FILE_NB -p
> $NFSMNTDIR
> > -
> > - # remove local an remote users
> > --python cleanusers.py
> > --python cleangroups.py
> > --rsh -n $REMOTEHOST python $PWD/cleanusers.py
> > -+python3 cleanusers.py
> > -+python3 cleangroups.py
> > -+rsh -n $REMOTEHOST python3 $PWD/cleanusers.py
> > -
> > - echo "Test OK"
> > -
> > -diff --git a/testcases/realtime/func/pi-tests/run_auto.sh
> b/testcases/realtime/func/pi-tests/run_auto.sh
> > -index d13026049..277988568 100755
> > ---- a/testcases/realtime/func/pi-tests/run_auto.sh
> > -+++ b/testcases/realtime/func/pi-tests/run_auto.sh
> > -@@ -15,15 +15,15 @@ $SCRIPTS_DIR/run_c_files.sh $profile testpi-0
> > -
> > - export LOG_FILE="$LOG_DIR/$LOG_FORMAT-testpi-1.log"
> > - $SCRIPTS_DIR/run_c_files.sh $profile testpi-1
> > --PYTHONPATH=../../  python parse-testpi1.py $LOG_FILE 2>&1 | tee -a
> $LOG_FILE
> > -+PYTHONPATH=../../  python3 parse-testpi1.py $LOG_FILE 2>&1 | tee -a
> $LOG_FILE
> > -
> > - export LOG_FILE="$LOG_DIR/$LOG_FORMAT-testpi-2.log"
> > - $SCRIPTS_DIR/run_c_files.sh $profile testpi-2
> > --PYTHONPATH=../../  python parse-testpi2.py $LOG_FILE 2>&1 | tee -a
> $LOG_FILE
> > -+PYTHONPATH=../../  python3 parse-testpi2.py $LOG_FILE 2>&1 | tee -a
> $LOG_FILE
> > -
> > - export LOG_FILE="$LOG_DIR/$LOG_FORMAT-testpi-4.log"
> > - $SCRIPTS_DIR/run_c_files.sh $profile testpi-4
> > --PYTHONPATH=../../  python parse-testpi1.py $LOG_FILE 2>&1 | tee -a
> $LOG_FILE
> > -+PYTHONPATH=../../  python3 parse-testpi1.py $LOG_FILE 2>&1 | tee -a
> $LOG_FILE
> > -
> > -
> > - export LOG_FILE=""
> > diff --git
> a/meta/recipes-extended/ltp/ltp/0001-ustat02-Fix-EFAULT-in-32bit-compatibility-mode.patch
> b/meta/recipes-extended/ltp/ltp/0001-ustat02-Fix-EFAULT-in-32bit-compatibility-mode.patch
> > deleted file mode 100644
> > index c936b788fe1..00000000000
> > ---
> a/meta/recipes-extended/ltp/ltp/0001-ustat02-Fix-EFAULT-in-32bit-compatibility-mode.patch
> > +++ /dev/null
> > @@ -1,36 +0,0 @@
> > -From 156776a3e29491b363fdc9811912e1298655d060 Mon Sep 17 00:00:00 2001
> > -From: Steven Price <steven.price@arm.com>
> > -Date: Fri, 19 Jul 2019 13:48:17 +0100
> > -Subject: [PATCH] ustat02: Fix EFAULT in 32bit compatibility mode
> > -
> > -The size of dev_t is larger than 32 bits which causes the dev argument
> > -to be passed incorrectly. On Arm this means that the EFAULT test case
> > -actually returns EINVAL because the device number isn't recognised.
> > -
> > -Signed-off-by: Steven Price <steven.price@arm.com>
> > -Acked-by: Li Wang <liwang@redhat.com>
> > -
> > -Upstream-Status: Backport
> > -[
> https://github.com/linux-test-project/ltp/commit/156776a3e29491b363fdc9811912e1298655d060
> ]
> > -
> > -Signed-off-by: He Zhe <zhe.he@windriver.com>
> > ----
> > - testcases/kernel/syscalls/ustat/ustat02.c | 2 +-
> > - 1 file changed, 1 insertion(+), 1 deletion(-)
> > -
> > -diff --git a/testcases/kernel/syscalls/ustat/ustat02.c
> b/testcases/kernel/syscalls/ustat/ustat02.c
> > -index 9bbe4f3..1a0e9e0 100644
> > ---- a/testcases/kernel/syscalls/ustat/ustat02.c
> > -+++ b/testcases/kernel/syscalls/ustat/ustat02.c
> > -@@ -36,7 +36,7 @@ int TST_TOTAL = ARRAY_SIZE(tc);
> > -
> > - void run(unsigned int test)
> > - {
> > --      TEST(tst_syscall(__NR_ustat, *tc[test].dev, tc[test].buf));
> > -+      TEST(tst_syscall(__NR_ustat, (unsigned int)*tc[test].dev,
> tc[test].buf));
> > -
> > -       if ((TST_RET == -1) && (TST_ERR == tc[test].exp_errno))
> > -               tst_res(TPASS | TTERRNO, "ustat(2) expected failure");
> > ---
> > -2.7.4
> > -
> > diff --git
> a/meta/recipes-extended/ltp/ltp/0002-check-for-RES_USE_INET6-during-configure.patch
> b/meta/recipes-extended/ltp/ltp/0002-check-for-RES_USE_INET6-during-configure.patch
> > deleted file mode 100644
> > index 12e47eb2b61..00000000000
> > ---
> a/meta/recipes-extended/ltp/ltp/0002-check-for-RES_USE_INET6-during-configure.patch
> > +++ /dev/null
> > @@ -1,68 +0,0 @@
> > -From 7bc134545b7beb09717a60541530c20a1a5740d3 Mon Sep 17 00:00:00 2001
> > -From: Khem Raj <raj.khem@gmail.com>
> > -Date: Fri, 26 Jul 2019 10:55:28 -0700
> > -Subject: [PATCH 2/2] check for RES_USE_INET6 during configure
> > -
> > -glibc 2.30 has remove RES_USE_INET6 define which has been on its way out
> > -since 2.26 release, this check ensures that we detect it before using it
> > -
> > -Upstream-Status: Submitted [
> http://lists.linux.it/pipermail/ltp/2019-July/012955.html]
> > -Signed-off-by: Khem Raj <raj.khem@gmail.com>
> > ----
> > - configure.ac                                        | 13 +++++++++++++
> > - testcases/network/multicast/mc_gethost/mc_gethost.c |  6 ++++++
> > - 2 files changed, 19 insertions(+)
> > -
> > -diff --git a/configure.ac b/configure.ac
> > -index 2255b5c181..ed7acccb01 100644
> > ---- a/configure.ac
> > -+++ b/configure.ac
> > -@@ -91,6 +91,19 @@ AC_CHECK_FUNCS([ \
> > -     vmsplice \
> > - ])
> > -
> > -+#check defines
> > -+AC_MSG_CHECKING([for RES_USE_INET6])
> > -+AC_COMPILE_IFELSE( [AC_LANG_PROGRAM([[#include <resolv.h>]],
> > -+  [[char dummy[RES_USE_INET6];]])],
> > -+  [
> > -+    AC_MSG_RESULT([yes])
> > -+    AC_DEFINE_UNQUOTED([HAVE_RES_USE_INET6], 1, [Define to 1 if you
> have the RES_USE_INET6 macro.])
> > -+  ],
> > -+  [
> > -+    AC_MSG_RESULT([no])
> > -+    AC_DEFINE_UNQUOTED([HAVE_RES_USE_INET6], 0, [Define to 1 if you
> have the RES_USE_INET6 macro.])
> > -+  ]
> > -+)
> > - # Tools knobs
> > -
> > - # Expect
> > -diff --git a/testcases/network/multicast/mc_gethost/mc_gethost.c
> b/testcases/network/multicast/mc_gethost/mc_gethost.c
> > -index 9cc15d086b..d1cae5441a 100644
> > ---- a/testcases/network/multicast/mc_gethost/mc_gethost.c
> > -+++ b/testcases/network/multicast/mc_gethost/mc_gethost.c
> > -@@ -17,6 +17,8 @@
> > - #include <string.h>
> > - #include <stdlib.h>
> > -
> > -+#include "config.h"
> > -+
> > - #ifndef LOG_PERROR
> > - #define LOG_PERROR 0
> > - #endif
> > -@@ -50,8 +52,12 @@ usage:
> > -               argv++, argc--;
> > -       }
> > -       if (argc >= 1 && !strcmp(*argv, "-6")) {
> > -+#if HAVE_RES_USE_INET6
> > -               af = AF_INET6, size = IN6ADDRSZ;
> > -               _res.options |= RES_USE_INET6;
> > -+#else
> > -+              af = AF_INET, size = INADDRSZ;
> > -+#endif
> > -               argv++, argc--;
> > -       }
> > -       if (argc >= 1 && !strcmp(*argv, "-f")) {
> > ---
> > -2.22.0
> > -
> > diff --git
> a/meta/recipes-extended/ltp/ltp/0003-Check-if-__GLIBC_PREREQ-is-defined-before-using-it.patch
> b/meta/recipes-extended/ltp/ltp/0003-Check-if-__GLIBC_PREREQ-is-defined-before-using-it.patch
> > index c0f69ecf5fc..df3e8831f54 100644
> > ---
> a/meta/recipes-extended/ltp/ltp/0003-Check-if-__GLIBC_PREREQ-is-defined-before-using-it.patch
> > +++
> b/meta/recipes-extended/ltp/ltp/0003-Check-if-__GLIBC_PREREQ-is-defined-before-using-it.patch
> > @@ -1,4 +1,4 @@
> > -From 29ce9fdab3bd34e69d73b5b890795559c06553f7 Mon Sep 17 00:00:00 2001
> > +From 1ce47a6ed811fd78ed04ea2f82e6321c6bca57b6 Mon Sep 17 00:00:00 2001
> >  From: Khem Raj <raj.khem@gmail.com>
> >  Date: Thu, 7 Jan 2016 19:40:08 +0000
> >  Subject: [PATCH] Check if __GLIBC_PREREQ is defined before using it
> > @@ -10,16 +10,17 @@ Upstream-Status: Pending
> >
> >  Signed-off-by: Khem Raj <raj.khem@gmail.com>
> >  Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
> > +
> >  ---
> >   testcases/kernel/syscalls/accept4/accept4_01.c | 7 +++++++
> >   1 file changed, 7 insertions(+)
> >
> >  diff --git a/testcases/kernel/syscalls/accept4/accept4_01.c
> b/testcases/kernel/syscalls/accept4/accept4_01.c
> > -index dd289cf..76aa969 100644
> > +index 29e18f27d..07444a46f 100644
> >  --- a/testcases/kernel/syscalls/accept4/accept4_01.c
> >  +++ b/testcases/kernel/syscalls/accept4/accept4_01.c
> >  @@ -38,6 +38,7 @@
> > - static struct sockaddr_in conn_addr;
> > + static struct sockaddr_in *conn_addr, *accept_addr;
> >   static int listening_fd;
> >
> >  +#if defined(__GLIBC__) && defined(__GLIBC_PREREQ)
> > @@ -34,25 +35,21 @@ index dd289cf..76aa969 100644
> >
> >   static int create_listening_socket(void)
> >   {
> > -@@ -115,6 +117,7 @@ static void verify_accept4(unsigned int nr)
> > -       SAFE_CONNECT(connfd, (struct sockaddr *)&conn_addr,
> sizeof(conn_addr));
> > -       addrlen = sizeof(claddr);
> > +@@ -114,12 +116,17 @@ static void verify_accept4(unsigned int nr)
> > +       SAFE_CONNECT(connfd, (struct sockaddr *)conn_addr,
> sizeof(*conn_addr));
> > +       addrlen = sizeof(*accept_addr);
> >
> >  +#if defined(__GLIBC__) && defined(__GLIBC_PREREQ)
> >   #if !(__GLIBC_PREREQ(2, 10))
> > -       TEST(accept4_01(listening_fd, (struct sockaddr *)&claddr,
> &addrlen,
> > +       TEST(accept4_01(listening_fd, (struct sockaddr *)accept_addr,
> &addrlen,
> >                                 tcase->cloexec | tcase->nonblock));
> > -@@ -122,6 +125,10 @@ static void verify_accept4(unsigned int nr)
> > -       TEST(accept4(listening_fd, (struct sockaddr *)&claddr, &addrlen,
> > + #else
> > +       TEST(accept4(listening_fd, (struct sockaddr *)accept_addr,
> &addrlen,
> >                                 tcase->cloexec | tcase->nonblock));
> > - #endif
> > ++#endif
> >  +#else
> >  +      TEST(accept4(listening_fd, (struct sockaddr *)&claddr, &addrlen,
> >  +                              tcase->cloexec | tcase->nonblock));
> > -+#endif
> > + #endif
> >         if (TST_RET == -1) {
> >                 if (TST_ERR == ENOSYS)
> > -                       tst_brk(TCONF, "syscall __NR_accept4 not
> supported");
> > ---
> > -2.7.4
> > -
> > diff --git
> a/meta/recipes-extended/ltp/ltp/0010-shmctl01-don-t-use-hardcoded-index-0-for-SHM_STAT-te.patch
> b/meta/recipes-extended/ltp/ltp/0010-shmctl01-don-t-use-hardcoded-index-0-for-SHM_STAT-te.patch
> > deleted file mode 100644
> > index 8704e5ffe8a..00000000000
> > ---
> a/meta/recipes-extended/ltp/ltp/0010-shmctl01-don-t-use-hardcoded-index-0-for-SHM_STAT-te.patch
> > +++ /dev/null
> > @@ -1,82 +0,0 @@
> > -From 794933b38354a2612cf2c471f11798b306f35315 Mon Sep 17 00:00:00 2001
> > -From: Jan Stancek <jstancek@redhat.com>
> > -Date: Mon, 20 May 2019 20:47:20 +0200
> > -Subject: [PATCH] shmctl01: don't use hardcoded index == 0 for SHM_STAT
> test
> > -
> > -Test fails on SHM_STAT testcase:
> > -   shmctl01    5  TFAIL  :  shmctl01.c:173: shmctl01 call failed
> > -                            errno = 22 : Invalid argument
> > -   shmctl(0, SHM_STAT, 0x601060)           = -EINVAL
> > -
> > -since following commit:
> > -   commit 99db46ea292780cd978d56932d9445b1e8bdafe8
> > -   Author: Manfred Spraul <manfred@colorfullife.com>
> > -   Date:   Tue May 14 15:46:36 2019 -0700
> > -     ipc: do cyclic id allocation for the ipc object.
> > -
> > -Don't rely on index 0 being always available, but instead
> > -use (maximum) index returned by SHM_INFO.
> > -
> > -Signed-off-by: Jan Stancek <jstancek@redhat.com>
> > -Reviewed-by: Petr Vorel <pvorel@suse.cz>
> > -Acked-by: Cyril Hrubis <chrubis@suse.cz>
> > -
> > -Upstream-Status: Backport
> > -[
> https://github.com/linux-test-project/ltp/commit/db0a43d9388be2c347a8306751bbe6bec086d062
> ]
> > -
> > -Signed-off-by: Hongzhi Song <hongzhi.song@windriver.com>
> > -Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
> > ----
> > - testcases/kernel/syscalls/ipc/shmctl/shmctl01.c | 21
> ++++++++++++++++++---
> > - 1 file changed, 18 insertions(+), 3 deletions(-)
> > -
> > -diff --git a/testcases/kernel/syscalls/ipc/shmctl/shmctl01.c
> b/testcases/kernel/syscalls/ipc/shmctl/shmctl01.c
> > -index 1b46977..52bf23a 100644
> > ---- a/testcases/kernel/syscalls/ipc/shmctl/shmctl01.c
> > -+++ b/testcases/kernel/syscalls/ipc/shmctl/shmctl01.c
> > -@@ -79,6 +79,7 @@ static void func_info(int ret);
> > -
> > - /* Check routine for SHM_STAT */
> > - static void func_sstat(int ret);
> > -+static void func_sstat_setup(void);
> > -
> > - /* Check routine for SHM_LOCK */
> > - static void func_lock(int ret);
> > -@@ -110,7 +111,7 @@ static struct test_case_t {
> > - #endif
> > -       {&shm_id_1, IPC_SET, &buf, func_set, set_setup},
> > -       {&shm_id_1, IPC_INFO, (struct shmid_ds *) &info, func_info,
> NULL},
> > --      {&shm_index, SHM_STAT, &buf, func_sstat, NULL},
> > -+      {&shm_index, SHM_STAT, &buf, func_sstat, func_sstat_setup},
> > -       {&shm_id_1, SHM_LOCK, NULL, func_lock, NULL},
> > -       {&shm_id_1, SHM_UNLOCK, NULL, func_unlock, NULL},
> > -       {&shm_id_1, IPC_RMID, NULL, func_rmid, NULL},
> > -@@ -407,9 +408,23 @@ static void func_info(int ret)
> > - static void func_sstat(int ret)
> > - {
> > -       if (ret >= 0)
> > --              tst_resm(TPASS, "get correct shared memory id");
> > -+              tst_resm(TPASS, "get correct shared memory id for index:
> %d",
> > -+                      shm_index);
> > -       else
> > --              tst_resm(TFAIL, "shared memory id is incorrect");
> > -+              tst_resm(TFAIL, "shared memory id is incorrect, index:
> %d",
> > -+                      shm_index);
> > -+}
> > -+
> > -+static void func_sstat_setup(void)
> > -+{
> > -+      struct shm_info tmp;
> > -+      int ret;
> > -+
> > -+      ret = shmctl(shm_id_1, SHM_INFO, (void *)&tmp);
> > -+      if (ret < 0)
> > -+              tst_resm(TFAIL|TERRNO, "shmctl(SHM_INFO)");
> > -+      else
> > -+              shm_index = ret;
> > - }
> > -
> > - static void func_lock(int ret)
> > ---
> > -2.7.4
> > -
> > diff --git
> a/meta/recipes-extended/ltp/ltp/0011-direct_io-diotest4-drop-MAP_FIXED.patch
> b/meta/recipes-extended/ltp/ltp/0011-direct_io-diotest4-drop-MAP_FIXED.patch
> > deleted file mode 100644
> > index 9cd188f6567..00000000000
> > ---
> a/meta/recipes-extended/ltp/ltp/0011-direct_io-diotest4-drop-MAP_FIXED.patch
> > +++ /dev/null
> > @@ -1,56 +0,0 @@
> > -From f210d7e19b721041f31b7f258a169f89dc850303 Mon Sep 17 00:00:00 2001
> > -From: Jan Stancek <jstancek@redhat.com>
> > -Date: Thu, 4 Jul 2019 16:45:23 +0200
> > -Subject: [PATCH] direct_io/diotest4: drop MAP_FIXED
> > -
> > -Hongzhi reports that this test is failing on mips64 with 5.1+:
> > -  diotest4 10 TBROK : diotest4.c:368: can't mmap file: Invalid argument
> > -  diotest4 11 TBROK : diotest4.c:368: Remaining cases broken
> > -I could reproduce it on emulated 5kc-malta, running 5.2.0-rc7.
> > -
> > -Test is trying to map into area immediately following heap as
> MAP_SHARED,
> > -but it used wrong alignment (fixed by 'lapi/mmap.h: include config.h').
> > -
> > -Usage of MAP_FIXED seems unnecessary, so drop that too and let the
> kernel
> > -pick an address.
> > -
> > -Reported-by: Hongzhi.Song <hongzhi.song@windriver.com>
> > -Signed-off-by: Jan Stancek <jstancek@redhat.com>
> > -Acked-by: Cyril Hrubis <chrubis@suse.cz>
> > -
> > -Upstream-Status: Backport
> > -[
> https://github.com/linux-test-project/ltp/commit/f5444eeeabf252b8884b9465d277b6af853819e3
> ]
> > -
> > -Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
> > ----
> > - testcases/kernel/io/direct_io/diotest4.c | 8 ++------
> > - 1 file changed, 2 insertions(+), 6 deletions(-)
> > -
> > -diff --git a/testcases/kernel/io/direct_io/diotest4.c
> b/testcases/kernel/io/direct_io/diotest4.c
> > -index e4616e4..bf200cd 100644
> > ---- a/testcases/kernel/io/direct_io/diotest4.c
> > -+++ b/testcases/kernel/io/direct_io/diotest4.c
> > -@@ -352,18 +352,14 @@ int main(int argc, char *argv[])
> > -       total++;
> > -
> > -       /* Test-10: read, write to a mmaped file */
> > --      shm_base = (char *)(((long)sbrk(0) + (shmsz - 1)) & ~(shmsz -
> 1));
> > --      if (shm_base == NULL) {
> > --              tst_brkm(TBROK, cleanup, "sbrk failed: %s",
> strerror(errno));
> > --      }
> > -       offset = 4096;
> > -       count = bufsize;
> > -       if ((fd = open(filename, O_DIRECT | O_RDWR)) < 0) {
> > -               tst_brkm(TBROK, cleanup, "can't open %s: %s",
> > -                        filename, strerror(errno));
> > -       }
> > --      shm_base = mmap(shm_base, 0x100000, PROT_READ | PROT_WRITE,
> > --                      MAP_SHARED | MAP_FIXED, fd, 0);
> > -+      shm_base = mmap(0, 0x100000, PROT_READ | PROT_WRITE,
> > -+                      MAP_SHARED, fd, 0);
> > -       if (shm_base == (caddr_t) - 1) {
> > -               tst_brkm(TBROK, cleanup, "can't mmap file: %s",
> > -                        strerror(errno));
> > ---
> > -2.7.4
> > -
> > diff --git
> a/meta/recipes-extended/ltp/ltp/0012-getrlimit03-adjust-a-bit-of-code-to-compatiable-with.patch
> b/meta/recipes-extended/ltp/ltp/0012-getrlimit03-adjust-a-bit-of-code-to-compatiable-with.patch
> > deleted file mode 100644
> > index aecbc80e9b5..00000000000
> > ---
> a/meta/recipes-extended/ltp/ltp/0012-getrlimit03-adjust-a-bit-of-code-to-compatiable-with.patch
> > +++ /dev/null
> > @@ -1,64 +0,0 @@
> > -From 4ac747c1f7ff8e2ec2567d6672822e95a9b56e55 Mon Sep 17 00:00:00 2001
> > -From: "Hongzhi.Song" <hongzhi.song@windriver.com>
> > -Date: Mon, 15 Jul 2019 03:39:06 -0400
> > -Subject: [PATCH] getrlimit03: adjust a bit of code to compatiable with
> mips32
> > -
> > -Error info:
> > -getrlimit03.c:104: FAIL: __NR_prlimit64(0) had rlim_cur =
> > -ffffffffffffffff but __NR_getrlimit(0) had rlim_cur = 7fffffff
> > -
> > -According to kernel code: [arch/mips/include/uapi/asm/resource.h]
> > -RLIM_INFINITY is set to 0x7fffffffUL instead of ULONG_MAX on mips32.
> > -
> > - /*
> > - * SuS says limits have to be unsigned.
> > - * Which makes a ton more sense anyway,
> > - * but we keep the old value on MIPS32,
> > - * for compatibility:
> > - */
> > - #ifndef __mips64
> > - # define RLIM_INFINITY      0x7fffffffUL
> > - #endif
> > -
> > -Adding conditional statement about mips to fix this.
> > -
> > -Signed-off-by: Jan Stancek <jstancek@redhat.com>
> > -Signed-off-by: Hongzhi.Song <hongzhi.song@windriver.com>
> > -
> > -Upstream-Status: Backport
> > -[
> https://github.com/linux-test-project/ltp/commit/7a3bca63cd7f059d490b6274f0fdf3247be93fde
> ]
> > -
> > -Signed-off-by: Hongzhi.Song <hongzhi.song@windriver.com>
> > ----
> > - testcases/kernel/syscalls/getrlimit/getrlimit03.c | 8 +++++++-
> > - 1 file changed, 7 insertions(+), 1 deletion(-)
> > -
> > -diff --git a/testcases/kernel/syscalls/getrlimit/getrlimit03.c
> b/testcases/kernel/syscalls/getrlimit/getrlimit03.c
> > -index e4d56c4..319bc49 100644
> > ---- a/testcases/kernel/syscalls/getrlimit/getrlimit03.c
> > -+++ b/testcases/kernel/syscalls/getrlimit/getrlimit03.c
> > -@@ -26,6 +26,7 @@
> > -
> > - #include "tst_test.h"
> > - #include "lapi/syscalls.h"
> > -+#include "lapi/abisize.h"
> > -
> > - /**
> > -  * Linux provides an "old" getrlimit syscall handler that uses signed
> long,
> > -@@ -61,7 +62,12 @@ struct rlimit_ulong {
> > -       unsigned long rlim_cur;
> > -       unsigned long rlim_max;
> > - };
> > --const unsigned long RLIM_INFINITY_UL = ULONG_MAX;
> > -+
> > -+#if defined(__mips__) && defined(TST_ABI32)
> > -+      const unsigned long RLIM_INFINITY_UL = 0x7fffffffUL;
> > -+#else
> > -+      const unsigned long RLIM_INFINITY_UL = ULONG_MAX;
> > -+#endif
> > -
> > - static int getrlimit_ulong(int resource, struct rlimit_ulong *rlim)
> > - {
> > ---
> > -2.7.4
> > -
> > diff --git a/meta/recipes-extended/ltp/ltp_20190517.bb
> b/meta/recipes-extended/ltp/ltp_20190930.bb
> > similarity index 84%
> > rename from meta/recipes-extended/ltp/ltp_20190517.bb
> > rename to meta/recipes-extended/ltp/ltp_20190930.bb
> > index 60f749b4c01..9a436a52303 100644
> > --- a/meta/recipes-extended/ltp/ltp_20190517.bb
> > +++ b/meta/recipes-extended/ltp/ltp_20190930.bb
> > @@ -27,7 +27,7 @@ CFLAGS_append_x86-64 = " -fomit-frame-pointer"
> >
> >  CFLAGS_append_powerpc64 = " -D__SANE_USERSPACE_TYPES__"
> >  CFLAGS_append_mipsarchn64 = " -D__SANE_USERSPACE_TYPES__"
> > -SRCREV = "ac33ef87f0b9dc56533026435be3ea8c67ce86d2"
> > +SRCREV = "c9707b465a08397569920b676345474f44327200"
> >
> >  SRC_URI = "git://github.com/linux-test-project/ltp.git \
> >
>  file://0001-build-Add-option-to-select-libc-implementation.patch \
> > @@ -38,19 +38,8 @@ SRC_URI = "git://
> github.com/linux-test-project/ltp.git \
> >             file://0007-Fix-test_proc_kill-hanging.patch \
> >
>  file://0008-testcases-network-nfsv4-acl-acl1.c-Security-fix-on-s.patch \
> >
>  file://0009-open_posix_testsuite-mmap24-2-Relax-condition-a-bit.patch \
> > -
>  file://0010-shmctl01-don-t-use-hardcoded-index-0-for-SHM_STAT-te.patch \
> > -           file://0011-direct_io-diotest4-drop-MAP_FIXED.patch \
> > -
>  file://0012-getrlimit03-adjust-a-bit-of-code-to-compatiable-with.patch \
> > -
>  file://0001-Add-configure-time-check-for-getdents-getdents64-API.patch \
> > -           file://0002-check-for-RES_USE_INET6-during-configure.patch \
> > -
>  file://0001-syscalls-tgkill03-wait-for-defunct-tid-to-get-detach.patch \
> > -
>  file://0001-ustat02-Fix-EFAULT-in-32bit-compatibility-mode.patch \
> > -           file://0001-cve-meltdown.c-Fix-kernel-symbol-finding.patch \
> > -
>  file://0001-testcases-use-python3-everywhere-to-run-python-scrip.patch \
> > -
>  file://0001-syscall-rt_sigtimedwait01-Fix-wrong-sigset-length-fo.patch \
> > -
>  file://0001-cve-2017-17052-Avoid-unsafe-exits-in-threads.patch \
> > -
>  file://0001-overcommit_memory-update-for-mm-fix-false-positive-O.patch \
> >
>  file://0001-mkswap01.sh-Add-udevadm-trigger-before-swap-verifica.patch \
> > +
>  file://0001-testcases-fix-an-absent-format-string-issue.patch \
> >             "
> >
> >  S = "${WORKDIR}/git"
> > --
> > 2.17.1
> >
> > --
> > _______________________________________________
> > Openembedded-core mailing list
> > Openembedded-core@lists.openembedded.org
> > http://lists.openembedded.org/mailman/listinfo/openembedded-core
>

[-- Attachment #2: Type: text/html, Size: 73570 bytes --]

^ permalink raw reply	[flat|nested] 62+ messages in thread

* Re: [PATCH 03/30] gettext: update to 0.20.1
  2019-12-12 18:14 ` [PATCH 03/30] gettext: " Alexander Kanavin
@ 2019-12-15 11:03   ` Richard Purdie
  2019-12-16 13:25     ` Alexander Kanavin
  0 siblings, 1 reply; 62+ messages in thread
From: Richard Purdie @ 2019-12-15 11:03 UTC (permalink / raw)
  To: Alexander Kanavin, openembedded-core

On Thu, 2019-12-12 at 19:14 +0100, Alexander Kanavin wrote:
> License-Update: URLs changed from http to https
> Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>

In an effort to try and get to the bottom of which patches cause which
failures I ran the gettext updates pieces by themselves (patches 2-5).

systemtap fails:

https://autobuilder.yoctoproject.org/typhoon/#/builders/50/builds/1354

the main a-full build in case there are other issues:

https://autobuilder.yoctoproject.org/typhoon/#/builders/83/builds/580

I know there is a fix for the check-layer/mingw pieces in master-next
of meta-mingw, just forgot to set that branch.

Cheers,

Richard





^ permalink raw reply	[flat|nested] 62+ messages in thread

* Re: [PATCH 20/30] lttng-modules: update to 2.11.0
  2019-12-12 18:14 ` [PATCH 20/30] lttng-modules: update to 2.11.0 Alexander Kanavin
@ 2019-12-15 12:53   ` Richard Purdie
  2019-12-15 16:20     ` Alexander Kanavin
  0 siblings, 1 reply; 62+ messages in thread
From: Richard Purdie @ 2019-12-15 12:53 UTC (permalink / raw)
  To: Alexander Kanavin, openembedded-core

On Thu, 2019-12-12 at 19:14 +0100, Alexander Kanavin wrote:
> Removed the bleeding-edge variant; if it is still useful please
> maintain it separately.

Its needed due to people using varying kernel versions and in
particular by Bruce for testing of new kernels.

Cheers,

Richard



^ permalink raw reply	[flat|nested] 62+ messages in thread

* Re: [PATCH 20/30] lttng-modules: update to 2.11.0
  2019-12-15 12:53   ` Richard Purdie
@ 2019-12-15 16:20     ` Alexander Kanavin
  2019-12-15 16:27       ` Bruce Ashfield
  0 siblings, 1 reply; 62+ messages in thread
From: Alexander Kanavin @ 2019-12-15 16:20 UTC (permalink / raw)
  To: Richard Purdie; +Cc: OE-core

[-- Attachment #1: Type: text/plain, Size: 918 bytes --]

On Sun, 15 Dec 2019 at 13:53, Richard Purdie <
richard.purdie@linuxfoundation.org> wrote:

> On Thu, 2019-12-12 at 19:14 +0100, Alexander Kanavin wrote:
> > Removed the bleeding-edge variant; if it is still useful please
> > maintain it separately.
>
> Its needed due to people using varying kernel versions and in
> particular by Bruce for testing of new kernels.
>

The bleeding edge variant has been introduced for the first time by Zhe He
of Wind River 6 months ago, and hasn't been updated since. If I had kept
that in, it would actually be providing an older version of the component
than the main variant. So I am not sure if it's actually being used; if it
is, then it should see more frequent updates.

Another problem is that devtool isn't able to upgrade the main variant
properly with this included. I'd rather split it it into a different
recipe, if someone confirms the need.

Alex

[-- Attachment #2: Type: text/html, Size: 1285 bytes --]

^ permalink raw reply	[flat|nested] 62+ messages in thread

* Re: [PATCH 20/30] lttng-modules: update to 2.11.0
  2019-12-15 16:20     ` Alexander Kanavin
@ 2019-12-15 16:27       ` Bruce Ashfield
  2019-12-15 16:45         ` Alexander Kanavin
  0 siblings, 1 reply; 62+ messages in thread
From: Bruce Ashfield @ 2019-12-15 16:27 UTC (permalink / raw)
  To: Alexander Kanavin; +Cc: OE-core

On Sun, Dec 15, 2019 at 11:21 AM Alexander Kanavin
<alex.kanavin@gmail.com> wrote:
>
> On Sun, 15 Dec 2019 at 13:53, Richard Purdie <richard.purdie@linuxfoundation.org> wrote:
>>
>> On Thu, 2019-12-12 at 19:14 +0100, Alexander Kanavin wrote:
>> > Removed the bleeding-edge variant; if it is still useful please
>> > maintain it separately.
>>
>> Its needed due to people using varying kernel versions and in
>> particular by Bruce for testing of new kernels.
>
>
> The bleeding edge variant has been introduced for the first time by Zhe He of Wind River 6 months ago, and hasn't been updated since. If I had kept that in, it would actually be providing an older version of the component than the main variant. So I am not sure if it's actually being used; if it is, then it should see more frequent updates.

linux-yocto-dev needs it, and unfortunately I've been hung up for
several weeks on getting mips64 to boot with the latest kernels. Hence
my entire queue is held up on that at the moment.

>
> Another problem is that devtool isn't able to upgrade the main variant properly with this included. I'd rather split it it into a different recipe, if someone confirms the need.

It is definitely needed.

So if it is dropped now, I'll just have to re-introduce it in my next series.

Bruce

>
> Alex
> --
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core



-- 
- Thou shalt not follow the NULL pointer, for chaos and madness await
thee at its end
- "Use the force Harry" - Gandalf, Star Trek II


^ permalink raw reply	[flat|nested] 62+ messages in thread

* Re: [PATCH 20/30] lttng-modules: update to 2.11.0
  2019-12-15 16:27       ` Bruce Ashfield
@ 2019-12-15 16:45         ` Alexander Kanavin
  2019-12-15 17:16           ` Richard Purdie
  0 siblings, 1 reply; 62+ messages in thread
From: Alexander Kanavin @ 2019-12-15 16:45 UTC (permalink / raw)
  To: Bruce Ashfield; +Cc: OE-core

[-- Attachment #1: Type: text/plain, Size: 421 bytes --]

On Sun, 15 Dec 2019 at 17:28, Bruce Ashfield <bruce.ashfield@gmail.com>
wrote:

> > Another problem is that devtool isn't able to upgrade the main variant
> properly with this included. I'd rather split it it into a different
> recipe, if someone confirms the need.
>
> It is definitely needed.
>

Right, then I'll rework this patch to split the dev version into a separate
recipe with a shared .inc.

Alex

[-- Attachment #2: Type: text/html, Size: 739 bytes --]

^ permalink raw reply	[flat|nested] 62+ messages in thread

* Re: [PATCH 07/30] gstreamer1.0-python: add a patch to fix python 3.8 builds
  2019-12-15 11:00     ` Alexander Kanavin
@ 2019-12-15 17:06       ` Khem Raj
  2019-12-15 17:12         ` Alexander Kanavin
  0 siblings, 1 reply; 62+ messages in thread
From: Khem Raj @ 2019-12-15 17:06 UTC (permalink / raw)
  To: Alexander Kanavin; +Cc: Patches and discussions about the oe-core layer

[-- Attachment #1: Type: text/plain, Size: 3826 bytes --]

On Sun, Dec 15, 2019 at 3:00 AM Alexander Kanavin <alex.kanavin@gmail.com>
wrote:

> This is expected; the patch should be merged together with 3.8 upgrade.
>

I don’t think this patch is right though since this patch is creating py3.8
dependency if you want to upstream something that should work with all py3
I think


> Alex
>
> On Sun, 15 Dec 2019 at 06:21, Khem Raj <raj.khem@gmail.com> wrote:
>
>> this fails with python 3.7
>>
>> https://errors.yoctoproject.org/Errors/Details/297314/
>>
>> On Thu, Dec 12, 2019 at 10:15 AM Alexander Kanavin
>> <alex.kanavin@gmail.com> wrote:
>> >
>> > Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
>> > ---
>> >  ...son.build-fix-builds-with-python-3.8.patch | 24 +++++++++++++++++++
>> >  .../gstreamer/gstreamer1.0-python_1.16.1.bb   |  4 +++-
>> >  2 files changed, 27 insertions(+), 1 deletion(-)
>> >  create mode 100644
>> meta/recipes-multimedia/gstreamer/gstreamer1.0-python/0001-meson.build-fix-builds-with-python-3.8.patch
>> >
>> > diff --git
>> a/meta/recipes-multimedia/gstreamer/gstreamer1.0-python/0001-meson.build-fix-builds-with-python-3.8.patch
>> b/meta/recipes-multimedia/gstreamer/gstreamer1.0-python/0001-meson.build-fix-builds-with-python-3.8.patch
>> > new file mode 100644
>> > index 00000000000..053108ad50b
>> > --- /dev/null
>> > +++
>> b/meta/recipes-multimedia/gstreamer/gstreamer1.0-python/0001-meson.build-fix-builds-with-python-3.8.patch
>> > @@ -0,0 +1,24 @@
>> > +From 61cfd1b49dc82baf14bb36d88b6c5be7b8c3d23a Mon Sep 17 00:00:00 2001
>> > +From: Alexander Kanavin <alex.kanavin@gmail.com>
>> > +Date: Mon, 2 Dec 2019 18:16:41 +0100
>> > +Subject: [PATCH] meson.build: fix builds with python 3.8
>> > +
>> > +Upstream-Status: Submitted [
>> https://gitlab.freedesktop.org/gstreamer/gst-python/merge_requests/14]
>> > +Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
>> > +---
>> > + meson.build | 2 +-
>> > + 1 file changed, 1 insertion(+), 1 deletion(-)
>> > +
>> > +diff --git a/meson.build b/meson.build
>> > +index 1da81d5..3e0db38 100644
>> > +--- a/meson.build
>> > ++++ b/meson.build
>> > +@@ -24,7 +24,7 @@ pygobject_dep = dependency('pygobject-3.0',
>> fallback: ['pygobject', 'pygobject_d
>> > +
>> > + pymod = import('python')
>> > + python = pymod.find_installation(get_option('python'))
>> > +-python_dep = python.dependency(required : true)
>> > ++python_dep = dependency('python3-embed', required : true)
>> > +
>> > + python_abi_flags = python.get_variable('ABIFLAGS', '')
>> > + pylib_loc = get_option('libpython-dir')
>> > diff --git a/meta/recipes-multimedia/gstreamer/
>> gstreamer1.0-python_1.16.1.bb b/meta/recipes-multimedia/gstreamer/
>> gstreamer1.0-python_1.16.1.bb
>> > index b770ec060e1..0382360ec26 100644
>> > --- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-python_1.16.1.bb
>> > +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-python_1.16.1.bb
>> > @@ -5,7 +5,9 @@ SECTION = "multimedia"
>> >  LICENSE = "LGPLv2.1"
>> >  LIC_FILES_CHKSUM =
>> "file://COPYING;md5=c34deae4e395ca07e725ab0076a5f740"
>> >
>> > -SRC_URI = "
>> https://gstreamer.freedesktop.org/src/${PNREAL}/${PNREAL}-${PV}.tar.xz"
>> > +SRC_URI = "
>> https://gstreamer.freedesktop.org/src/${PNREAL}/${PNREAL}-${PV}.tar.xz \
>> > +           file://0001-meson.build-fix-builds-with-python-3.8.patch \
>> > +           "
>> >  SRC_URI[md5sum] = "499645fbd1790c5845c02a3998dccc1b"
>> >  SRC_URI[sha256sum] =
>> "b469c8955126f41b8ce0bf689b7029f182cd305f422b3a8df35b780bd8347489"
>> >
>> > --
>> > 2.17.1
>> >
>> > --
>> > _______________________________________________
>> > Openembedded-core mailing list
>> > Openembedded-core@lists.openembedded.org
>> > http://lists.openembedded.org/mailman/listinfo/openembedded-core
>>
>

[-- Attachment #2: Type: text/html, Size: 6330 bytes --]

^ permalink raw reply	[flat|nested] 62+ messages in thread

* Re: [PATCH 26/30] ltp: update to 20190930
  2019-12-15 11:02     ` Alexander Kanavin
@ 2019-12-15 17:11       ` Khem Raj
  2019-12-15 17:15         ` Alexander Kanavin
  0 siblings, 1 reply; 62+ messages in thread
From: Khem Raj @ 2019-12-15 17:11 UTC (permalink / raw)
  To: Alexander Kanavin; +Cc: Patches and discussions about the oe-core layer

[-- Attachment #1: Type: text/plain, Size: 59214 bytes --]

On Sun, Dec 15, 2019 at 3:02 AM Alexander Kanavin <alex.kanavin@gmail.com>
wrote:

> As the last three issues are clang or musl related, may I request that you
> look into them?
>

I will try but there is one issue where a patch is removed which should not
be so it’s better if that patch can be forward ported as needed for newer
issues I will see if I can find some solutions


> Alex
>
> On Sun, 15 Dec 2019 at 06:33, Khem Raj <raj.khem@gmail.com> wrote:
>
>> musl build fails on aarch64
>>
>> https://errors.yoctoproject.org/Errors/Details/297288/
>>
>> On Thu, Dec 12, 2019 at 10:18 AM Alexander Kanavin
>> <alex.kanavin@gmail.com> wrote:
>> >
>> > Drop a big pile of backports.
>> >
>> > Add a patch to address absent string formatting error.
>> >
>> > Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
>> > ---
>> >  ...me-check-for-getdents-getdents64-API.patch |  72 --------
>> >  ...option-to-select-libc-implementation.patch |  27 ++-
>> >  ...-17052-Avoid-unsafe-exits-in-threads.patch |  64 -------
>> >  ...meltdown.c-Fix-kernel-symbol-finding.patch |  81 ---------
>> >  ...y-update-for-mm-fix-false-positive-O.patch |  57 -------
>> >  ...medwait01-Fix-wrong-sigset-length-fo.patch |  46 -----
>> >  ...3-wait-for-defunct-tid-to-get-detach.patch |  75 --------
>> >  ...es-fix-an-absent-format-string-issue.patch |  24 +++
>> >  ...thon3-everywhere-to-run-python-scrip.patch | 161 ------------------
>> >  ...x-EFAULT-in-32bit-compatibility-mode.patch |  36 ----
>> >  ...k-for-RES_USE_INET6-during-configure.patch |  68 --------
>> >  ...BC_PREREQ-is-defined-before-using-it.patch |  27 ++-
>> >  ...se-hardcoded-index-0-for-SHM_STAT-te.patch |  82 ---------
>> >  ...11-direct_io-diotest4-drop-MAP_FIXED.patch |  56 ------
>> >  ...st-a-bit-of-code-to-compatiable-with.patch |  64 -------
>> >  .../ltp/{ltp_20190517.bb => ltp_20190930.bb}  |  15 +-
>> >  16 files changed, 51 insertions(+), 904 deletions(-)
>> >  delete mode 100644
>> meta/recipes-extended/ltp/ltp/0001-Add-configure-time-check-for-getdents-getdents64-API.patch
>> >  delete mode 100644
>> meta/recipes-extended/ltp/ltp/0001-cve-2017-17052-Avoid-unsafe-exits-in-threads.patch
>> >  delete mode 100644
>> meta/recipes-extended/ltp/ltp/0001-cve-meltdown.c-Fix-kernel-symbol-finding.patch
>> >  delete mode 100644
>> meta/recipes-extended/ltp/ltp/0001-overcommit_memory-update-for-mm-fix-false-positive-O.patch
>> >  delete mode 100644
>> meta/recipes-extended/ltp/ltp/0001-syscall-rt_sigtimedwait01-Fix-wrong-sigset-length-fo.patch
>> >  delete mode 100644
>> meta/recipes-extended/ltp/ltp/0001-syscalls-tgkill03-wait-for-defunct-tid-to-get-detach.patch
>> >  create mode 100644
>> meta/recipes-extended/ltp/ltp/0001-testcases-fix-an-absent-format-string-issue.patch
>> >  delete mode 100644
>> meta/recipes-extended/ltp/ltp/0001-testcases-use-python3-everywhere-to-run-python-scrip.patch
>> >  delete mode 100644
>> meta/recipes-extended/ltp/ltp/0001-ustat02-Fix-EFAULT-in-32bit-compatibility-mode.patch
>> >  delete mode 100644
>> meta/recipes-extended/ltp/ltp/0002-check-for-RES_USE_INET6-during-configure.patch
>> >  delete mode 100644
>> meta/recipes-extended/ltp/ltp/0010-shmctl01-don-t-use-hardcoded-index-0-for-SHM_STAT-te.patch
>> >  delete mode 100644
>> meta/recipes-extended/ltp/ltp/0011-direct_io-diotest4-drop-MAP_FIXED.patch
>> >  delete mode 100644
>> meta/recipes-extended/ltp/ltp/0012-getrlimit03-adjust-a-bit-of-code-to-compatiable-with.patch
>> >  rename meta/recipes-extended/ltp/{ltp_20190517.bb => ltp_20190930.bb}
>> (84%)
>> >
>> > diff --git
>> a/meta/recipes-extended/ltp/ltp/0001-Add-configure-time-check-for-getdents-getdents64-API.patch
>> b/meta/recipes-extended/ltp/ltp/0001-Add-configure-time-check-for-getdents-getdents64-API.patch
>> > deleted file mode 100644
>> > index bfceadb190d..00000000000
>> > ---
>> a/meta/recipes-extended/ltp/ltp/0001-Add-configure-time-check-for-getdents-getdents64-API.patch
>> > +++ /dev/null
>> > @@ -1,72 +0,0 @@
>> > -From 404dfeb4faef213b0450f173b60cd7080edec349 Mon Sep 17 00:00:00 2001
>> > -From: Khem Raj <raj.khem@gmail.com>
>> > -Date: Fri, 26 Jul 2019 10:32:29 -0700
>> > -Subject: [PATCH 1/2] Add configure time check for getdents/getdents64
>> APIs
>> > -
>> > -glibc 2.30 has added wrapper for getdents64 this will help in detecting
>> > -right condition to use fallback
>> > -
>> > -Check for getdents API as well while here
>> > -
>> > -Upstream-Status: Submitted [
>> http://lists.linux.it/pipermail/ltp/2019-July/012954.html]
>> > -Signed-off-by: Khem Raj <raj.khem@gmail.com>
>> > ----
>> > - configure.ac                                  | 2 ++
>> > - testcases/kernel/syscalls/getdents/getdents.h | 8 ++++++--
>> > - 2 files changed, 8 insertions(+), 2 deletions(-)
>> > -
>> > ---- a/configure.ac
>> > -+++ b/configure.ac
>> > -@@ -65,6 +65,8 @@ AC_CHECK_FUNCS([ \
>> > -     fallocate \
>> > -     fchownat \
>> > -     fstatat \
>> > -+    getdents \
>> > -+    getdents64 \
>> > -     kcmp \
>> > -     mkdirat \
>> > -     mknodat \
>> > ---- a/testcases/kernel/syscalls/getdents/getdents.h
>> > -+++ b/testcases/kernel/syscalls/getdents/getdents.h
>> > -@@ -23,7 +23,7 @@
>> > - #include <stdint.h>
>> > - #include "test.h"
>> > - #include "lapi/syscalls.h"
>> > --
>> > -+#include "config.h"
>> > - /*
>> > -  * See fs/compat.c struct compat_linux_dirent
>> > -  */
>> > -@@ -34,12 +34,17 @@ struct linux_dirent {
>> > -       char            d_name[];
>> > - };
>> > -
>> > -+#if HAVE_GETDENTS
>> > -+#include <unistd.h>
>> > -+#else
>> > - static inline int
>> > - getdents(unsigned int fd, struct linux_dirent *dirp, unsigned int
>> size)
>> > - {
>> > -       return ltp_syscall(__NR_getdents, fd, dirp, size);
>> > - }
>> > -
>> > -+#endif /* HAVE_GETDENTS */
>> > -+
>> > - struct linux_dirent64 {
>> > -       uint64_t        d_ino;
>> > -       int64_t         d_off;
>> > -@@ -48,10 +53,13 @@ struct linux_dirent64 {
>> > -       char            d_name[];
>> > - };
>> > -
>> > -+#if HAVE_GETDENTS64
>> > -+#include <unistd.h>
>> > -+#else
>> > - static inline int
>> > - getdents64(unsigned int fd, struct linux_dirent64 *dirp64, unsigned
>> int size)
>> > - {
>> > -       return ltp_syscall(__NR_getdents64, fd, dirp64, size);
>> > - }
>> > --
>> > -+#endif /* HAVE_GETDENTS64 */
>> > - #endif /* GETDENTS_H */
>> > diff --git
>> a/meta/recipes-extended/ltp/ltp/0001-build-Add-option-to-select-libc-implementation.patch
>> b/meta/recipes-extended/ltp/ltp/0001-build-Add-option-to-select-libc-implementation.patch
>> > index b5c25c56a57..1705abcf196 100644
>> > ---
>> a/meta/recipes-extended/ltp/ltp/0001-build-Add-option-to-select-libc-implementation.patch
>> > +++
>> b/meta/recipes-extended/ltp/ltp/0001-build-Add-option-to-select-libc-implementation.patch
>> > @@ -1,4 +1,4 @@
>> > -From ec282980e6eee96f5b74aba464141f86049263e6 Mon Sep 17 00:00:00 2001
>> > +From 62c3481c73a2414d7a5f0a70808bfc9a06195bd9 Mon Sep 17 00:00:00 2001
>> >  From: Khem Raj <raj.khem@gmail.com>
>> >  Date: Thu, 7 Jan 2016 18:19:03 +0000
>> >  Subject: [PATCH] build: Add option to select libc implementation
>> > @@ -12,6 +12,7 @@ Disable tests specifically not building _yet_ on musl
>> based systems
>> >  Upstream-Status: Pending
>> >
>> >  Signed-off-by: Khem Raj <raj.khem@gmail.com>
>> > +
>> >  ---
>> >   Makefile                                    | 5 +++++
>> >   testcases/kernel/Makefile                   | 5 ++++-
>> > @@ -24,7 +25,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
>> >   8 files changed, 35 insertions(+), 2 deletions(-)
>> >
>> >  diff --git a/Makefile b/Makefile
>> > -index 768ca46..e9d679a 100644
>> > +index 768ca4606..e9d679a71 100644
>> >  --- a/Makefile
>> >  +++ b/Makefile
>> >  @@ -41,6 +41,11 @@ vpath %.mk
>> $(top_srcdir)/mk:$(top_srcdir)/mk/include
>> > @@ -40,18 +41,19 @@ index 768ca46..e9d679a 100644
>> >   # COMMON_TARGETS:     Targets which exist in all, clean, and install.
>> >   # INSTALL_TARGETS:    Targets which exist in clean and install
>> (contains
>> >  diff --git a/testcases/kernel/Makefile b/testcases/kernel/Makefile
>> > -index 39d79c7..24a57d9 100644
>> > +index 3319b3163..94ea362c8 100644
>> >  --- a/testcases/kernel/Makefile
>> >  +++ b/testcases/kernel/Makefile
>> > -@@ -49,12 +49,15 @@ SUBDIRS                    += connectors \
>> > +@@ -49,13 +49,16 @@ SUBDIRS                    += connectors \
>> >                            logging \
>> >                            mem \
>> >                            numa \
>> >  -                         pty \
>> >                            sched \
>> >                            security \
>> > -                          timers \
>> > +                          sound \
>> >                            tracing \
>> > +                          uevents \
>> >
>> >  +ifneq ($(LIBC),musl)
>> >  +SUBDIRS                       += pty
>> > @@ -61,7 +63,7 @@ index 39d79c7..24a57d9 100644
>> >   SUBDIRS                       += power_management
>> >   endif
>> >  diff --git a/testcases/kernel/sched/Makefile
>> b/testcases/kernel/sched/Makefile
>> > -index 6a57d79..74bb933 100644
>> > +index 6a57d79ee..74bb93370 100644
>> >  --- a/testcases/kernel/sched/Makefile
>> >  +++ b/testcases/kernel/sched/Makefile
>> >  @@ -23,5 +23,7 @@
>> > @@ -74,7 +76,7 @@ index 6a57d79..74bb933 100644
>> >  +endif
>> >   include $(top_srcdir)/include/mk/generic_trunk_target.mk
>> >  diff --git a/testcases/kernel/syscalls/Makefile
>> b/testcases/kernel/syscalls/Makefile
>> > -index 45a00cf..d1becd0 100644
>> > +index 45a00cf7d..d1becd054 100644
>> >  --- a/testcases/kernel/syscalls/Makefile
>> >  +++ b/testcases/kernel/syscalls/Makefile
>> >  @@ -28,6 +28,11 @@ ifeq ($(UCLINUX),1)
>> > @@ -90,7 +92,7 @@ index 45a00cf..d1becd0 100644
>> >   ifeq ($(UCLIBC),1)
>> >   FILTER_OUT_DIRS       += profil
>> >  diff --git a/testcases/network/nfsv4/acl/Makefile
>> b/testcases/network/nfsv4/acl/Makefile
>> > -index 8c55a6b..f7cda62 100644
>> > +index 8c55a6bbd..f7cda621d 100644
>> >  --- a/testcases/network/nfsv4/acl/Makefile
>> >  +++ b/testcases/network/nfsv4/acl/Makefile
>> >  @@ -26,4 +26,8 @@ include $(top_srcdir)/include/mk/env_pre.mk
>> > @@ -103,7 +105,7 @@ index 8c55a6b..f7cda62 100644
>> >  +
>> >   include $(top_srcdir)/include/mk/generic_leaf_target.mk
>> >  diff --git a/testcases/network/rpc/basic_tests/Makefile
>> b/testcases/network/rpc/basic_tests/Makefile
>> > -index 66e9d56..ea8eb8a 100644
>> > +index 66e9d5675..ea8eb8a98 100644
>> >  --- a/testcases/network/rpc/basic_tests/Makefile
>> >  +++ b/testcases/network/rpc/basic_tests/Makefile
>> >  @@ -23,4 +23,9 @@
>> > @@ -117,7 +119,7 @@ index 66e9d56..ea8eb8a 100644
>> >  +
>> >   include $(top_srcdir)/include/mk/generic_trunk_target.mk
>> >  diff --git a/testcases/realtime/func/pi-tests/Makefile
>> b/testcases/realtime/func/pi-tests/Makefile
>> > -index 68616a7..748754b 100644
>> > +index 68616a711..748754bb4 100644
>> >  --- a/testcases/realtime/func/pi-tests/Makefile
>> >  +++ b/testcases/realtime/func/pi-tests/Makefile
>> >  @@ -27,5 +27,9 @@ include $(top_srcdir)/include/mk/env_pre.mk
>> > @@ -131,7 +133,7 @@ index 68616a7..748754b 100644
>> >
>> >   include $(top_srcdir)/include/mk/generic_leaf_target.mk
>> >  diff --git a/testcases/realtime/stress/pi-tests/Makefile
>> b/testcases/realtime/stress/pi-tests/Makefile
>> > -index 1881f75..266e0b8 100644
>> > +index 1881f7565..266e0b815 100644
>> >  --- a/testcases/realtime/stress/pi-tests/Makefile
>> >  +++ b/testcases/realtime/stress/pi-tests/Makefile
>> >  @@ -24,4 +24,9 @@ top_srcdir           ?= ../../../..
>> > @@ -144,6 +146,3 @@ index 1881f75..266e0b8 100644
>> >  +endif
>> >  +
>> >   include $(top_srcdir)/include/mk/generic_leaf_target.mk
>> > ---
>> > -2.7.4
>> > -
>> > diff --git
>> a/meta/recipes-extended/ltp/ltp/0001-cve-2017-17052-Avoid-unsafe-exits-in-threads.patch
>> b/meta/recipes-extended/ltp/ltp/0001-cve-2017-17052-Avoid-unsafe-exits-in-threads.patch
>> > deleted file mode 100644
>> > index cc40081300c..00000000000
>> > ---
>> a/meta/recipes-extended/ltp/ltp/0001-cve-2017-17052-Avoid-unsafe-exits-in-threads.patch
>> > +++ /dev/null
>> > @@ -1,64 +0,0 @@
>> > -From e3a8502d0a4f8a44ddd02ca4b2efc097133fb9f7 Mon Sep 17 00:00:00 2001
>> > -From: Mathias Fiedler <mathias.fiedler@aox-tech.de>
>> > -Date: Fri, 23 Aug 2019 12:46:48 +0200
>> > -Subject: [PATCH] cve-2017-17052: Avoid unsafe exits in threads
>> > -
>> > -According to manpage exit(3) calling exit is not thread-safe.
>> > -And with glibc 2.28 (and probably also with glibc >=2.27) sometimes
>> > -child processes created in fork_thread can get stuck on process exit in
>> > -glibc's __run_exit_handlers trying to acquire some lock which was in
>> > -locked state while the fork was created. This can happen when exit is
>> > -called in mmap_thread concurrently to the fork.
>> > -While the main process will still return with PASSED some of its
>> > -children are left behind.
>> > -
>> > -Comparing the source code with the original program as described in the
>> > -commit 2b7e8665b4ff51c034c55df3cff76518d1a9ee3a of linux kernel >=4.13
>> > -the exits in mmap_thread and fork_thread should not be necessary to
>> > -trigger the original bug.
>> > -
>> > -Therefore those exit calls are removed. The mmap_thread and fork_thread
>> > -should still exit when their corresponding main thread in do_test_fork
>> > -calls exit_group. The remaining exit in do_test_fork will be called in
>> > -the main thread without any concurrent thread in the same process.
>> > -
>> > -Signed-off-by: Mathias Fiedler <mathias.fiedler@aox-tech.de>
>> > -Acked-by: Cyril Hrubis <chrubis@suse.cz>
>> > -Acked-by: Jan Stancek <jstancek@redhat.com>
>> > -
>> > -Upstream-Status: Backport
>> > -[
>> https://github.com/linux-test-project/ltp/commit/9f0b452c1af4bcb54da35711eb3fa77334a350b4
>> ]
>> > -
>> > -CVE: CVE-2017-17052
>> > -
>> > -Signed-off-by: He Zhe <zhe.he@windriver.com>
>> > ----
>> > - testcases/cve/cve-2017-17052.c | 5 -----
>> > - 1 file changed, 5 deletions(-)
>> > -
>> > -diff --git a/testcases/cve/cve-2017-17052.c
>> b/testcases/cve/cve-2017-17052.c
>> > -index d7da7e919..18cd2a6d7 100644
>> > ---- a/testcases/cve/cve-2017-17052.c
>> > -+++ b/testcases/cve/cve-2017-17052.c
>> > -@@ -58,8 +58,6 @@ static void *mmap_thread(void *arg)
>> > -       for (;;) {
>> > -               SAFE_MMAP(NULL, 0x1000000, PROT_READ,
>> > -                               MAP_POPULATE|MAP_ANONYMOUS|MAP_PRIVATE,
>> -1, 0);
>> > --              if (*do_exit)
>> > --                      exit(0);
>> > -       }
>> > -
>> > -       return arg;
>> > -@@ -67,9 +65,6 @@ static void *mmap_thread(void *arg)
>> > -
>> > - static void *fork_thread(void *arg)
>> > - {
>> > --      if (*do_exit)
>> > --              exit(0);
>> > --
>> > -       usleep(rand() % 10000);
>> > -       SAFE_FORK();
>> > -
>> > ---
>> > -2.17.1
>> > -
>> > diff --git
>> a/meta/recipes-extended/ltp/ltp/0001-cve-meltdown.c-Fix-kernel-symbol-finding.patch
>> b/meta/recipes-extended/ltp/ltp/0001-cve-meltdown.c-Fix-kernel-symbol-finding.patch
>> > deleted file mode 100644
>> > index 94f6f5a15a6..00000000000
>> > ---
>> a/meta/recipes-extended/ltp/ltp/0001-cve-meltdown.c-Fix-kernel-symbol-finding.patch
>> > +++ /dev/null
>> > @@ -1,81 +0,0 @@
>> > -From fbeda82f440a0098be42dd668cbc47212a86ab48 Mon Sep 17 00:00:00 2001
>> > -From: He Zhe <zhe.he@windriver.com>
>> > -Date: Wed, 21 Aug 2019 16:27:24 +0800
>> > -Subject: [PATCH] cve/meltdown.c: Fix kernel symbol finding
>> > -
>> > -meltdown case fails as below.
>> > -safe_file_ops.c:219: BROK: Expected 3 conversions got 2 at
>> meltdown.c:272
>> > -
>> > -find_kernel_symbol is defined to try twice with each of /proc/kallsyms
>> and
>> > -/boot/System.map-%s. Currently if the symbol is not found in
>> /proc/kallsyms,
>> > -when kernel option CONFIG_KALLSYMS_ALL is disabled, it would stop the
>> case
>> > -immediately due to SAFE_FILE_LINES_SCANF.
>> > -
>> > -This patch turns to use FILE_LINES_SCANF to give find_kernel_symbol
>> second
>> > -chance.
>> > -
>> > -[jstancek] Fix also condition introduced in 7709d2ae92ea, even if
>> > -           /proc/kallsyms is disabled, we still want to try System.map.
>> > -
>> > -Signed-off-by: He Zhe <zhe.he@windriver.com>
>> > -Signed-off-by: Jan Stancek <jstancek@redhat.com>
>> > -
>> > -Upstream-Status: Backport
>> > -[
>> https://github.com/linux-test-project/ltp/commit/c2049b5c874bc071f8185bffb5fd7dcb042d9ec8
>> ]
>> > -
>> > -Remove the hunk for upstream 7709d2ae92ea ("cve/meltdown.c: abort the
>> test if kallsyms was not enabled")
>> > -that has been covered by this patch.
>> > -
>> > -Signed-off-by: He Zhe <zhe.he@windriver.com>
>> > ----
>> > - testcases/cve/meltdown.c | 13 ++++++++++---
>> > - 1 file changed, 10 insertions(+), 3 deletions(-)
>> > -
>> > -diff --git a/testcases/cve/meltdown.c b/testcases/cve/meltdown.c
>> > -index a53ea9b..22651a6 100644
>> > ---- a/testcases/cve/meltdown.c
>> > -+++ b/testcases/cve/meltdown.c
>> > -@@ -267,9 +267,15 @@ find_symbol_in_file(const char *filename, const
>> char *symname)
>> > -       int ret, read;
>> > -       char fmt[strlen(symname) + 64];
>> > -
>> > -+      tst_res(TINFO, "Looking for %s in %s", symname, filename);
>> > -+      if (access(filename, F_OK) == -1) {
>> > -+              tst_res(TINFO, "%s not available", filename);
>> > -+              return 0;
>> > -+      }
>> > -+
>> > -       sprintf(fmt, "%%lx %%c %s%%c", symname);
>> > -
>> > --      ret = SAFE_FILE_LINES_SCANF(filename, fmt, &addr, &type, &read);
>> > -+      ret = FILE_LINES_SCANF(filename, fmt, &addr, &type, &read);
>> > -       if (ret)
>> > -               return 0;
>> > -
>> > -@@ -287,13 +293,11 @@ find_kernel_symbol(const char *name)
>> > -       if (addr)
>> > -               return addr;
>> > -
>> > --      tst_res(TINFO, "not found '%s' in /proc/kallsyms", name);
>> > -       if (uname(&utsname) < 0)
>> > -               tst_brk(TBROK | TERRNO, "uname");
>> > -
>> > -       sprintf(systemmap, "/boot/System.map-%s", utsname.release);
>> > -
>> > --      tst_res(TINFO, "looking in '%s'\n", systemmap);
>> > -       addr = find_symbol_in_file(systemmap, name);
>> > -       return addr;
>> > - }
>> > -@@ -308,6 +312,9 @@ static void setup(void)
>> > -       saved_cmdline_addr = find_kernel_symbol("saved_command_line");
>> > -       tst_res(TINFO, "&saved_command_line == 0x%lx",
>> saved_cmdline_addr);
>> > -
>> > -+      if (!saved_cmdline_addr)
>> > -+              tst_brk(TCONF, "saved_command_line not found");
>> > -+
>> > -       spec_fd = SAFE_OPEN("/proc/cmdline", O_RDONLY);
>> > -
>> > -       memset(target_array, 1, sizeof(target_array));
>> > ---
>> > -2.7.4
>> > -
>> > diff --git
>> a/meta/recipes-extended/ltp/ltp/0001-overcommit_memory-update-for-mm-fix-false-positive-O.patch
>> b/meta/recipes-extended/ltp/ltp/0001-overcommit_memory-update-for-mm-fix-false-positive-O.patch
>> > deleted file mode 100644
>> > index bed84712a15..00000000000
>> > ---
>> a/meta/recipes-extended/ltp/ltp/0001-overcommit_memory-update-for-mm-fix-false-positive-O.patch
>> > +++ /dev/null
>> > @@ -1,57 +0,0 @@
>> > -From d656a447893dccc310c975a239f482278550c3e0 Mon Sep 17 00:00:00 2001
>> > -From: Jan Stancek <jstancek@redhat.com>
>> > -Date: Tue, 21 May 2019 10:10:44 +0200
>> > -Subject: [PATCH] overcommit_memory: update for "mm: fix false-positive
>> > - OVERCOMMIT_GUESS failures"
>> > -
>> > -commit 8c7829b04c52 ("mm: fix false-positive OVERCOMMIT_GUESS
>> failures")
>> > -changes logic of __vm_enough_memory(), simplifying it to:
>> > -    When in GUESS mode, catch wild allocations by comparing their
>> request
>> > -    size to total amount of ram and swap in the system.
>> > -
>> > -Testcase currently allocates mem_total + swap_total, which doesn't
>> trigger
>> > -new condition. Make it more extreme, but assuming free_total / 2 will
>> PASS,
>> > -and 2*sum_total will FAIL.
>> > -
>> > -Signed-off-by: Jan Stancek <jstancek@redhat.com>
>> > -Acked-by: Cyril Hrubis <chrubis@suse.cz>
>> > -
>> > -Upstream-Status: Backport [
>> https://github.com/linux-test-project/ltp/commit/d656a447893dccc310c975a239f482278550c3e0
>> ]
>> > -Signed-off-by: He Zhe <zhe.he@windriver.com>
>> > ----
>> > - testcases/kernel/mem/tunable/overcommit_memory.c | 11 ++++-------
>> > - 1 file changed, 4 insertions(+), 7 deletions(-)
>> > -
>> > -diff --git a/testcases/kernel/mem/tunable/overcommit_memory.c
>> b/testcases/kernel/mem/tunable/overcommit_memory.c
>> > -index 555298f..345764d 100644
>> > ---- a/testcases/kernel/mem/tunable/overcommit_memory.c
>> > -+++ b/testcases/kernel/mem/tunable/overcommit_memory.c
>> > -@@ -36,11 +36,10 @@
>> > -  *
>> > -  * The program is designed to test the two tunables:
>> > -  *
>> > -- * When overcommit_memory = 0, allocatable memory can't overextends
>> > -- * the amount of free memory. I choose the three cases:
>> > -+ * When overcommit_memory = 0, allocatable memory can't overextend
>> > -+ * the amount of total memory:
>> > -  * a. less than free_total:    free_total / 2, alloc should pass.
>> > -- * b. greater than free_total: free_total * 2, alloc should fail.
>> > -- * c. equal to sum_total:      sum_tatal,      alloc should fail
>> > -+ * b. greater than sum_total:   sum_total * 2, alloc should fail.
>> > -  *
>> > -  * When overcommit_memory = 1, it can alloc enough much memory, I
>> > -  * choose the three cases:
>> > -@@ -164,9 +163,7 @@ static void overcommit_memory_test(void)
>> > -
>> > -       update_mem();
>> > -       alloc_and_check(free_total / 2, EXPECT_PASS);
>> > --      update_mem();
>> > --      alloc_and_check(free_total * 2, EXPECT_FAIL);
>> > --      alloc_and_check(sum_total, EXPECT_FAIL);
>> > -+      alloc_and_check(sum_total * 2, EXPECT_FAIL);
>> > -
>> > -       /* start to test overcommit_memory=1 */
>> > -       set_sys_tune("overcommit_memory", 1, 1);
>> > ---
>> > -2.7.4
>> > -
>> > diff --git
>> a/meta/recipes-extended/ltp/ltp/0001-syscall-rt_sigtimedwait01-Fix-wrong-sigset-length-fo.patch
>> b/meta/recipes-extended/ltp/ltp/0001-syscall-rt_sigtimedwait01-Fix-wrong-sigset-length-fo.patch
>> > deleted file mode 100644
>> > index 0e56c08255e..00000000000
>> > ---
>> a/meta/recipes-extended/ltp/ltp/0001-syscall-rt_sigtimedwait01-Fix-wrong-sigset-length-fo.patch
>> > +++ /dev/null
>> > @@ -1,46 +0,0 @@
>> > -From a5046625eaeed2d3fba456c3ba84c6c141c2ad7c Mon Sep 17 00:00:00 2001
>> > -From: He Zhe <zhe.he@windriver.com>
>> > -Date: Thu, 29 Aug 2019 21:09:46 +0800
>> > -Subject: [PATCH] syscall/rt_sigtimedwait01: Fix wrong sigset length
>> for MIPS
>> > -
>> > -rt_sigtimedwait01 fails as follow on MIPS arches
>> > -rt_sigtimedwait01    1  TFAIL  :  .../sigwaitinfo01.c:58:
>> test_empty_set
>> > -(.../sigwaitinfo01.c: 148): Unexpected failure:
>> > -TEST_ERRNO=EINVAL(22): Invalid argument
>> > -
>> > -As this case purposely bypasses glibc, it should align with the size
>> of kernel
>> > -definition of sigset_t which is different from other arches.
>> > -
>> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch/mips/include/uapi/asm/signal.h#n15
>> > -
>> > -This patch turns to use _NSIG which is always right for all arches.
>> > -
>> > -Upstream-Status: Backport [a5046625eaeed2d3fba456c3ba84c6c141c2ad7c]
>> > -
>> > -Suggested-by: Jan Stancek <jstancek@redhat.com>
>> > -Acked-by: Jan Stancek <jstancek@redhat.com>
>> > -Acked-by: Cyril Hrubis <chrubis@suse.cz>
>> > -Signed-off-by: He Zhe <zhe.he@windriver.com>
>> > -Signed-off-by: Petr Vorel <pvorel@suse.cz>
>> > ----
>> > - testcases/kernel/syscalls/sigwaitinfo/sigwaitinfo01.c | 5 ++---
>> > - 1 file changed, 2 insertions(+), 3 deletions(-)
>> > -
>> > -diff --git a/testcases/kernel/syscalls/sigwaitinfo/sigwaitinfo01.c
>> b/testcases/kernel/syscalls/sigwaitinfo/sigwaitinfo01.c
>> > -index 5a32ce1..6a30c27 100644
>> > ---- a/testcases/kernel/syscalls/sigwaitinfo/sigwaitinfo01.c
>> > -+++ b/testcases/kernel/syscalls/sigwaitinfo/sigwaitinfo01.c
>> > -@@ -128,9 +128,8 @@ static int my_sigtimedwait(const sigset_t * set,
>> siginfo_t * info,
>> > - static int my_rt_sigtimedwait(const sigset_t * set, siginfo_t * info,
>> > -                             struct timespec *timeout)
>> > - {
>> > --
>> > --      /* The last argument is (number_of_signals)/(bits_per_byte),
>> which are 64 and 8, resp. */
>> > --      return ltp_syscall(__NR_rt_sigtimedwait, set, info, timeout, 8);
>> > -+      /* _NSIG is always the right number of bits of signal map for
>> all arches */
>> > -+      return ltp_syscall(__NR_rt_sigtimedwait, set, info, timeout,
>> _NSIG/8);
>> > - }
>> > - #endif
>> > -
>> > ---
>> > -2.7.4
>> > -
>> > diff --git
>> a/meta/recipes-extended/ltp/ltp/0001-syscalls-tgkill03-wait-for-defunct-tid-to-get-detach.patch
>> b/meta/recipes-extended/ltp/ltp/0001-syscalls-tgkill03-wait-for-defunct-tid-to-get-detach.patch
>> > deleted file mode 100644
>> > index 6ea26150fbf..00000000000
>> > ---
>> a/meta/recipes-extended/ltp/ltp/0001-syscalls-tgkill03-wait-for-defunct-tid-to-get-detach.patch
>> > +++ /dev/null
>> > @@ -1,75 +0,0 @@
>> > -From e747d0456adc080a1d31fb653bda9dc491795c80 Mon Sep 17 00:00:00 2001
>> > -From: Jan Stancek <jstancek@redhat.com>
>> > -Date: Sun, 16 Jun 2019 11:14:16 +0200
>> > -Subject: [PATCH] syscalls/tgkill03: wait for defunct tid to get
>> detached
>> > -
>> > -Case where defunct tid is used has been observed to sporadically fail:
>> > -  tgkill03.c:96: FAIL: Defunct tid should have failed with ESRCH:
>> SUCCESS
>> > -
>> > -glibc __pthread_timedjoin_ex() waits for CLONE_CHILD_CLEARTID to clear
>> tid,
>> > -and then resumes. Kernel clears it (glibc pd->tid) at:
>> > -  do_exit
>> > -    exit_mm
>> > -      mm_release
>> > -        put_user(0, tsk->clear_child_tid);
>> > -
>> > -but kernel tid is still valid, presumably until:
>> > -  release_task
>> > -    __exit_signal
>> > -      __unhash_process
>> > -        detach_pid
>> > -
>> > -To avoid race wait until /proc/<pid>/task/<tid> disappears.
>> > -
>> > -Signed-off-by: Jan Stancek <jstancek@redhat.com>
>> > -Reviewed-by: Li Wang <liwang@redhat.com>
>> > -Acked-by: Sumit Garg <sumit.garg@linaro.org>
>> > -
>> > -Upstream-Status: Backport
>> > -[
>> https://github.com/linux-test-project/ltp/commit/e747d0456adc080a1d31fb653bda9dc491795c80
>> ]
>> > -
>> > -Signed-off-by: He Zhe <zhe.he@windriver.com>
>> > ----
>> > - testcases/kernel/syscalls/tgkill/tgkill03.c | 6 +++++-
>> > - 1 file changed, 5 insertions(+), 1 deletion(-)
>> > -
>> > -diff --git a/testcases/kernel/syscalls/tgkill/tgkill03.c
>> b/testcases/kernel/syscalls/tgkill/tgkill03.c
>> > -index f5bbdc5..593a217 100644
>> > ---- a/testcases/kernel/syscalls/tgkill/tgkill03.c
>> > -+++ b/testcases/kernel/syscalls/tgkill/tgkill03.c
>> > -@@ -7,6 +7,7 @@
>> > -
>> > - #include <pthread.h>
>> > - #include <pwd.h>
>> > -+#include <stdio.h>
>> > - #include <sys/types.h>
>> > -
>> > - #include "tst_safe_pthread.h"
>> > -@@ -42,6 +43,7 @@ static void setup(void)
>> > - {
>> > -       sigset_t sigusr1;
>> > -       pthread_t defunct_thread;
>> > -+      char defunct_tid_path[PATH_MAX];
>> > -
>> > -       sigemptyset(&sigusr1);
>> > -       sigaddset(&sigusr1, SIGUSR1);
>> > -@@ -55,8 +57,9 @@ static void setup(void)
>> > -       TST_CHECKPOINT_WAIT(0);
>> > -
>> > -       SAFE_PTHREAD_CREATE(&defunct_thread, NULL, defunct_thread_func,
>> NULL);
>> > --
>> > -       SAFE_PTHREAD_JOIN(defunct_thread, NULL);
>> > -+      sprintf(defunct_tid_path, "/proc/%d/task/%d", getpid(),
>> defunct_tid);
>> > -+      TST_RETRY_FN_EXP_BACKOFF(access(defunct_tid_path, R_OK), -1,
>> 15);
>> > - }
>> > -
>> > - static void cleanup(void)
>> > -@@ -108,4 +111,5 @@ static struct tst_test test = {
>> > -       .setup = setup,
>> > -       .cleanup = cleanup,
>> > -       .test = run,
>> > -+      .timeout = 20,
>> > - };
>> > ---
>> > -2.7.4
>> > -
>> > diff --git
>> a/meta/recipes-extended/ltp/ltp/0001-testcases-fix-an-absent-format-string-issue.patch
>> b/meta/recipes-extended/ltp/ltp/0001-testcases-fix-an-absent-format-string-issue.patch
>> > new file mode 100644
>> > index 00000000000..93308445098
>> > --- /dev/null
>> > +++
>> b/meta/recipes-extended/ltp/ltp/0001-testcases-fix-an-absent-format-string-issue.patch
>> > @@ -0,0 +1,24 @@
>> > +From 476ce907fa18042cdde0a244ba9a46cd895ce76c Mon Sep 17 00:00:00 2001
>> > +From: Alexander Kanavin <alex.kanavin@gmail.com>
>> > +Date: Thu, 12 Dec 2019 17:56:02 +0100
>> > +Subject: [PATCH] testcases: fix an absent format string issue
>> > +
>> > +Upstream-Status: Pending
>> > +Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
>> > +---
>> > + .../kernel/syscalls/pidfd_send_signal/pidfd_send_signal03.c     | 2 +-
>> > + 1 file changed, 1 insertion(+), 1 deletion(-)
>> > +
>> > +diff --git
>> a/testcases/kernel/syscalls/pidfd_send_signal/pidfd_send_signal03.c
>> b/testcases/kernel/syscalls/pidfd_send_signal/pidfd_send_signal03.c
>> > +index 27dbc6626..19d943d06 100644
>> > +--- a/testcases/kernel/syscalls/pidfd_send_signal/pidfd_send_signal03.c
>> > ++++ b/testcases/kernel/syscalls/pidfd_send_signal/pidfd_send_signal03.c
>> > +@@ -59,7 +59,7 @@ static void verify_pidfd_send_signal(void)
>> > +
>> > +               /* Manipulate PID for next process */
>> > +               sprintf(pid_str, "%d", pid - 1);
>> > +-              SAFE_FILE_PRINTF(last_pid_file, pid_str);
>> > ++              SAFE_FILE_PRINTF(last_pid_file, "%s", pid_str);
>> > +
>> > +               new_pid = SAFE_FORK();
>> > +               if (new_pid == 0) {
>> > diff --git
>> a/meta/recipes-extended/ltp/ltp/0001-testcases-use-python3-everywhere-to-run-python-scrip.patch
>> b/meta/recipes-extended/ltp/ltp/0001-testcases-use-python3-everywhere-to-run-python-scrip.patch
>> > deleted file mode 100644
>> > index f4f87f38ab7..00000000000
>> > ---
>> a/meta/recipes-extended/ltp/ltp/0001-testcases-use-python3-everywhere-to-run-python-scrip.patch
>> > +++ /dev/null
>> > @@ -1,161 +0,0 @@
>> > -From 0463d793566772a606255957915f99d166d5740c Mon Sep 17 00:00:00 2001
>> > -From: Alexander Kanavin <alex.kanavin@gmail.com>
>> > -Date: Wed, 28 Aug 2019 18:30:23 +0200
>> > -Subject: [PATCH] testcases: use python3 everywhere to run python
>> scripts
>> > -
>> > -The scripts themselves have #!/usr/bin/python3 in them,
>> > -so I trust they are already py3-compatible.
>> > -
>> > -Upstream-Status: Pending
>> > -Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
>> > ----
>> > - testcases/kernel/power_management/runpwtests05.sh  |  2 +-
>> > - .../power_management/runpwtests_exclusive01.sh     |  2 +-
>> > - .../power_management/runpwtests_exclusive02.sh     |  2 +-
>> > - .../power_management/runpwtests_exclusive03.sh     |  2 +-
>> > - .../power_management/runpwtests_exclusive04.sh     |  2 +-
>> > - .../power_management/runpwtests_exclusive05.sh     |  2 +-
>> > - testcases/network/nfsv4/acl/runtest                | 14 +++++++-------
>> > - testcases/realtime/func/pi-tests/run_auto.sh       |  6 +++---
>> > - 8 files changed, 16 insertions(+), 16 deletions(-)
>> > -
>> > -diff --git a/testcases/kernel/power_management/runpwtests05.sh
>> b/testcases/kernel/power_management/runpwtests05.sh
>> > -index 8a7d0f6e0..43e234d01 100755
>> > ---- a/testcases/kernel/power_management/runpwtests05.sh
>> > -+++ b/testcases/kernel/power_management/runpwtests05.sh
>> > -@@ -35,7 +35,7 @@ else
>> > -       max_sched_smt=1
>> > - fi
>> > -
>> > --tst_test_cmds python
>> > -+tst_test_cmds python3
>> > -
>> > - if ! grep sched_debug -qw /proc/cmdline ; then
>> > -       tst_brkm TCONF "Kernel cmdline parameter 'sched_debug' needed,"
>> \
>> > -diff --git
>> a/testcases/kernel/power_management/runpwtests_exclusive01.sh
>> b/testcases/kernel/power_management/runpwtests_exclusive01.sh
>> > -index ec78319e2..9fefcbf6e 100755
>> > ---- a/testcases/kernel/power_management/runpwtests_exclusive01.sh
>> > -+++ b/testcases/kernel/power_management/runpwtests_exclusive01.sh
>> > -@@ -35,7 +35,7 @@ else
>> > -       max_sched_smt=1
>> > - fi
>> > -
>> > --tst_test_cmds python
>> > -+tst_test_cmds python3
>> > -
>> > - hyper_threaded=$(is_hyper_threaded)
>> > - multi_socket=$(is_multi_socket)
>> > -diff --git
>> a/testcases/kernel/power_management/runpwtests_exclusive02.sh
>> b/testcases/kernel/power_management/runpwtests_exclusive02.sh
>> > -index e107fce35..2cd0ecb05 100755
>> > ---- a/testcases/kernel/power_management/runpwtests_exclusive02.sh
>> > -+++ b/testcases/kernel/power_management/runpwtests_exclusive02.sh
>> > -@@ -33,7 +33,7 @@ else
>> > -       max_sched_smt=1
>> > - fi
>> > -
>> > --tst_test_cmds python
>> > -+tst_test_cmds python3
>> > -
>> > - hyper_threaded=$(is_hyper_threaded)
>> > - multi_socket=$(is_multi_socket)
>> > -diff --git
>> a/testcases/kernel/power_management/runpwtests_exclusive03.sh
>> b/testcases/kernel/power_management/runpwtests_exclusive03.sh
>> > -index 490344bb3..ab3a5d11d 100755
>> > ---- a/testcases/kernel/power_management/runpwtests_exclusive03.sh
>> > -+++ b/testcases/kernel/power_management/runpwtests_exclusive03.sh
>> > -@@ -35,7 +35,7 @@ else
>> > -       max_sched_smt=1
>> > - fi
>> > -
>> > --tst_test_cmds python
>> > -+tst_test_cmds python3
>> > -
>> > - hyper_threaded=$(is_hyper_threaded)
>> > - multi_socket=$(is_multi_socket)
>> > -diff --git
>> a/testcases/kernel/power_management/runpwtests_exclusive04.sh
>> b/testcases/kernel/power_management/runpwtests_exclusive04.sh
>> > -index 978ca02ae..438ef603f 100755
>> > ---- a/testcases/kernel/power_management/runpwtests_exclusive04.sh
>> > -+++ b/testcases/kernel/power_management/runpwtests_exclusive04.sh
>> > -@@ -27,7 +27,7 @@ export TST_TOTAL=2
>> > - # Checking test environment
>> > - check_kervel_arch
>> > -
>> > --tst_test_cmds python
>> > -+tst_test_cmds python3
>> > -
>> > - hyper_threaded=$(is_hyper_threaded)
>> > - multi_socket=$(is_multi_socket)
>> > -diff --git
>> a/testcases/kernel/power_management/runpwtests_exclusive05.sh
>> b/testcases/kernel/power_management/runpwtests_exclusive05.sh
>> > -index a0dad5834..3a9afdbf2 100755
>> > ---- a/testcases/kernel/power_management/runpwtests_exclusive05.sh
>> > -+++ b/testcases/kernel/power_management/runpwtests_exclusive05.sh
>> > -@@ -35,7 +35,7 @@ else
>> > -       max_sched_smt=1
>> > - fi
>> > -
>> > --tst_test_cmds python
>> > -+tst_test_cmds python3
>> > -
>> > - hyper_threaded=$(is_hyper_threaded)
>> > - multi_socket=$(is_multi_socket)
>> > -diff --git a/testcases/network/nfsv4/acl/runtest
>> b/testcases/network/nfsv4/acl/runtest
>> > -index d2e1b4c49..a859e85bc 100755
>> > ---- a/testcases/network/nfsv4/acl/runtest
>> > -+++ b/testcases/network/nfsv4/acl/runtest
>> > -@@ -22,7 +22,7 @@ do
>> > - done
>> > -
>> > - #  creation of users on the remote machine (removed only at the end
>> of the tests)
>> > --rsh -n $REMOTEHOST python $PWD/create_users.py -u 50 -g 50
>> > -+rsh -n $REMOTEHOST python3 $PWD/create_users.py -u 50 -g 50
>> > -
>> > - echo "Starting ACL testing"
>> > -
>> > -@@ -51,19 +51,19 @@ echo "Basic tests finished"
>> > -
>> > - echo "LONG ACL TEST"
>> > - echo "creating necessary users and groups"
>> > --python create_users.py -u 50 -g 50
>> > -+python3 create_users.py -u 50 -g 50
>> > - echo "creating necessary users and groups on the remote host"
>> > - mkdir $NFSMNTDIR/lacl-testdir
>> > --python test_long_acl.py -l $MAXLENGTH -p $NFSMNTDIR/lacl-testdir
>> > -+python3 test_long_acl.py -l $MAXLENGTH -p $NFSMNTDIR/lacl-testdir
>> > - rm -rf $NFSMNTDIR/lacl-testdir
>> > - echo "Long ACL test OK with $MAXLENGTH entries"
>> > - echo "ACL STRESSING TEST"
>> > --python setacl_stress.py -n 100 -u $USER_NB -g $GRP_NB -f $FILE_NB -p
>> $NFSMNTDIR
>> > -+python3 setacl_stress.py -n 100 -u $USER_NB -g $GRP_NB -f $FILE_NB -p
>> $NFSMNTDIR
>> > -
>> > - # remove local an remote users
>> > --python cleanusers.py
>> > --python cleangroups.py
>> > --rsh -n $REMOTEHOST python $PWD/cleanusers.py
>> > -+python3 cleanusers.py
>> > -+python3 cleangroups.py
>> > -+rsh -n $REMOTEHOST python3 $PWD/cleanusers.py
>> > -
>> > - echo "Test OK"
>> > -
>> > -diff --git a/testcases/realtime/func/pi-tests/run_auto.sh
>> b/testcases/realtime/func/pi-tests/run_auto.sh
>> > -index d13026049..277988568 100755
>> > ---- a/testcases/realtime/func/pi-tests/run_auto.sh
>> > -+++ b/testcases/realtime/func/pi-tests/run_auto.sh
>> > -@@ -15,15 +15,15 @@ $SCRIPTS_DIR/run_c_files.sh $profile testpi-0
>> > -
>> > - export LOG_FILE="$LOG_DIR/$LOG_FORMAT-testpi-1.log"
>> > - $SCRIPTS_DIR/run_c_files.sh $profile testpi-1
>> > --PYTHONPATH=../../  python parse-testpi1.py $LOG_FILE 2>&1 | tee -a
>> $LOG_FILE
>> > -+PYTHONPATH=../../  python3 parse-testpi1.py $LOG_FILE 2>&1 | tee -a
>> $LOG_FILE
>> > -
>> > - export LOG_FILE="$LOG_DIR/$LOG_FORMAT-testpi-2.log"
>> > - $SCRIPTS_DIR/run_c_files.sh $profile testpi-2
>> > --PYTHONPATH=../../  python parse-testpi2.py $LOG_FILE 2>&1 | tee -a
>> $LOG_FILE
>> > -+PYTHONPATH=../../  python3 parse-testpi2.py $LOG_FILE 2>&1 | tee -a
>> $LOG_FILE
>> > -
>> > - export LOG_FILE="$LOG_DIR/$LOG_FORMAT-testpi-4.log"
>> > - $SCRIPTS_DIR/run_c_files.sh $profile testpi-4
>> > --PYTHONPATH=../../  python parse-testpi1.py $LOG_FILE 2>&1 | tee -a
>> $LOG_FILE
>> > -+PYTHONPATH=../../  python3 parse-testpi1.py $LOG_FILE 2>&1 | tee -a
>> $LOG_FILE
>> > -
>> > -
>> > - export LOG_FILE=""
>> > diff --git
>> a/meta/recipes-extended/ltp/ltp/0001-ustat02-Fix-EFAULT-in-32bit-compatibility-mode.patch
>> b/meta/recipes-extended/ltp/ltp/0001-ustat02-Fix-EFAULT-in-32bit-compatibility-mode.patch
>> > deleted file mode 100644
>> > index c936b788fe1..00000000000
>> > ---
>> a/meta/recipes-extended/ltp/ltp/0001-ustat02-Fix-EFAULT-in-32bit-compatibility-mode.patch
>> > +++ /dev/null
>> > @@ -1,36 +0,0 @@
>> > -From 156776a3e29491b363fdc9811912e1298655d060 Mon Sep 17 00:00:00 2001
>> > -From: Steven Price <steven.price@arm.com>
>> > -Date: Fri, 19 Jul 2019 13:48:17 +0100
>> > -Subject: [PATCH] ustat02: Fix EFAULT in 32bit compatibility mode
>> > -
>> > -The size of dev_t is larger than 32 bits which causes the dev argument
>> > -to be passed incorrectly. On Arm this means that the EFAULT test case
>> > -actually returns EINVAL because the device number isn't recognised.
>> > -
>> > -Signed-off-by: Steven Price <steven.price@arm.com>
>> > -Acked-by: Li Wang <liwang@redhat.com>
>> > -
>> > -Upstream-Status: Backport
>> > -[
>> https://github.com/linux-test-project/ltp/commit/156776a3e29491b363fdc9811912e1298655d060
>> ]
>> > -
>> > -Signed-off-by: He Zhe <zhe.he@windriver.com>
>> > ----
>> > - testcases/kernel/syscalls/ustat/ustat02.c | 2 +-
>> > - 1 file changed, 1 insertion(+), 1 deletion(-)
>> > -
>> > -diff --git a/testcases/kernel/syscalls/ustat/ustat02.c
>> b/testcases/kernel/syscalls/ustat/ustat02.c
>> > -index 9bbe4f3..1a0e9e0 100644
>> > ---- a/testcases/kernel/syscalls/ustat/ustat02.c
>> > -+++ b/testcases/kernel/syscalls/ustat/ustat02.c
>> > -@@ -36,7 +36,7 @@ int TST_TOTAL = ARRAY_SIZE(tc);
>> > -
>> > - void run(unsigned int test)
>> > - {
>> > --      TEST(tst_syscall(__NR_ustat, *tc[test].dev, tc[test].buf));
>> > -+      TEST(tst_syscall(__NR_ustat, (unsigned int)*tc[test].dev,
>> tc[test].buf));
>> > -
>> > -       if ((TST_RET == -1) && (TST_ERR == tc[test].exp_errno))
>> > -               tst_res(TPASS | TTERRNO, "ustat(2) expected failure");
>> > ---
>> > -2.7.4
>> > -
>> > diff --git
>> a/meta/recipes-extended/ltp/ltp/0002-check-for-RES_USE_INET6-during-configure.patch
>> b/meta/recipes-extended/ltp/ltp/0002-check-for-RES_USE_INET6-during-configure.patch
>> > deleted file mode 100644
>> > index 12e47eb2b61..00000000000
>> > ---
>> a/meta/recipes-extended/ltp/ltp/0002-check-for-RES_USE_INET6-during-configure.patch
>> > +++ /dev/null
>> > @@ -1,68 +0,0 @@
>> > -From 7bc134545b7beb09717a60541530c20a1a5740d3 Mon Sep 17 00:00:00 2001
>> > -From: Khem Raj <raj.khem@gmail.com>
>> > -Date: Fri, 26 Jul 2019 10:55:28 -0700
>> > -Subject: [PATCH 2/2] check for RES_USE_INET6 during configure
>> > -
>> > -glibc 2.30 has remove RES_USE_INET6 define which has been on its way
>> out
>> > -since 2.26 release, this check ensures that we detect it before using
>> it
>> > -
>> > -Upstream-Status: Submitted [
>> http://lists.linux.it/pipermail/ltp/2019-July/012955.html]
>> > -Signed-off-by: Khem Raj <raj.khem@gmail.com>
>> > ----
>> > - configure.ac                                        | 13
>> +++++++++++++
>> > - testcases/network/multicast/mc_gethost/mc_gethost.c |  6 ++++++
>> > - 2 files changed, 19 insertions(+)
>> > -
>> > -diff --git a/configure.ac b/configure.ac
>> > -index 2255b5c181..ed7acccb01 100644
>> > ---- a/configure.ac
>> > -+++ b/configure.ac
>> > -@@ -91,6 +91,19 @@ AC_CHECK_FUNCS([ \
>> > -     vmsplice \
>> > - ])
>> > -
>> > -+#check defines
>> > -+AC_MSG_CHECKING([for RES_USE_INET6])
>> > -+AC_COMPILE_IFELSE( [AC_LANG_PROGRAM([[#include <resolv.h>]],
>> > -+  [[char dummy[RES_USE_INET6];]])],
>> > -+  [
>> > -+    AC_MSG_RESULT([yes])
>> > -+    AC_DEFINE_UNQUOTED([HAVE_RES_USE_INET6], 1, [Define to 1 if you
>> have the RES_USE_INET6 macro.])
>> > -+  ],
>> > -+  [
>> > -+    AC_MSG_RESULT([no])
>> > -+    AC_DEFINE_UNQUOTED([HAVE_RES_USE_INET6], 0, [Define to 1 if you
>> have the RES_USE_INET6 macro.])
>> > -+  ]
>> > -+)
>> > - # Tools knobs
>> > -
>> > - # Expect
>> > -diff --git a/testcases/network/multicast/mc_gethost/mc_gethost.c
>> b/testcases/network/multicast/mc_gethost/mc_gethost.c
>> > -index 9cc15d086b..d1cae5441a 100644
>> > ---- a/testcases/network/multicast/mc_gethost/mc_gethost.c
>> > -+++ b/testcases/network/multicast/mc_gethost/mc_gethost.c
>> > -@@ -17,6 +17,8 @@
>> > - #include <string.h>
>> > - #include <stdlib.h>
>> > -
>> > -+#include "config.h"
>> > -+
>> > - #ifndef LOG_PERROR
>> > - #define LOG_PERROR 0
>> > - #endif
>> > -@@ -50,8 +52,12 @@ usage:
>> > -               argv++, argc--;
>> > -       }
>> > -       if (argc >= 1 && !strcmp(*argv, "-6")) {
>> > -+#if HAVE_RES_USE_INET6
>> > -               af = AF_INET6, size = IN6ADDRSZ;
>> > -               _res.options |= RES_USE_INET6;
>> > -+#else
>> > -+              af = AF_INET, size = INADDRSZ;
>> > -+#endif
>> > -               argv++, argc--;
>> > -       }
>> > -       if (argc >= 1 && !strcmp(*argv, "-f")) {
>> > ---
>> > -2.22.0
>> > -
>> > diff --git
>> a/meta/recipes-extended/ltp/ltp/0003-Check-if-__GLIBC_PREREQ-is-defined-before-using-it.patch
>> b/meta/recipes-extended/ltp/ltp/0003-Check-if-__GLIBC_PREREQ-is-defined-before-using-it.patch
>> > index c0f69ecf5fc..df3e8831f54 100644
>> > ---
>> a/meta/recipes-extended/ltp/ltp/0003-Check-if-__GLIBC_PREREQ-is-defined-before-using-it.patch
>> > +++
>> b/meta/recipes-extended/ltp/ltp/0003-Check-if-__GLIBC_PREREQ-is-defined-before-using-it.patch
>> > @@ -1,4 +1,4 @@
>> > -From 29ce9fdab3bd34e69d73b5b890795559c06553f7 Mon Sep 17 00:00:00 2001
>> > +From 1ce47a6ed811fd78ed04ea2f82e6321c6bca57b6 Mon Sep 17 00:00:00 2001
>> >  From: Khem Raj <raj.khem@gmail.com>
>> >  Date: Thu, 7 Jan 2016 19:40:08 +0000
>> >  Subject: [PATCH] Check if __GLIBC_PREREQ is defined before using it
>> > @@ -10,16 +10,17 @@ Upstream-Status: Pending
>> >
>> >  Signed-off-by: Khem Raj <raj.khem@gmail.com>
>> >  Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
>> > +
>> >  ---
>> >   testcases/kernel/syscalls/accept4/accept4_01.c | 7 +++++++
>> >   1 file changed, 7 insertions(+)
>> >
>> >  diff --git a/testcases/kernel/syscalls/accept4/accept4_01.c
>> b/testcases/kernel/syscalls/accept4/accept4_01.c
>> > -index dd289cf..76aa969 100644
>> > +index 29e18f27d..07444a46f 100644
>> >  --- a/testcases/kernel/syscalls/accept4/accept4_01.c
>> >  +++ b/testcases/kernel/syscalls/accept4/accept4_01.c
>> >  @@ -38,6 +38,7 @@
>> > - static struct sockaddr_in conn_addr;
>> > + static struct sockaddr_in *conn_addr, *accept_addr;
>> >   static int listening_fd;
>> >
>> >  +#if defined(__GLIBC__) && defined(__GLIBC_PREREQ)
>> > @@ -34,25 +35,21 @@ index dd289cf..76aa969 100644
>> >
>> >   static int create_listening_socket(void)
>> >   {
>> > -@@ -115,6 +117,7 @@ static void verify_accept4(unsigned int nr)
>> > -       SAFE_CONNECT(connfd, (struct sockaddr *)&conn_addr,
>> sizeof(conn_addr));
>> > -       addrlen = sizeof(claddr);
>> > +@@ -114,12 +116,17 @@ static void verify_accept4(unsigned int nr)
>> > +       SAFE_CONNECT(connfd, (struct sockaddr *)conn_addr,
>> sizeof(*conn_addr));
>> > +       addrlen = sizeof(*accept_addr);
>> >
>> >  +#if defined(__GLIBC__) && defined(__GLIBC_PREREQ)
>> >   #if !(__GLIBC_PREREQ(2, 10))
>> > -       TEST(accept4_01(listening_fd, (struct sockaddr *)&claddr,
>> &addrlen,
>> > +       TEST(accept4_01(listening_fd, (struct sockaddr *)accept_addr,
>> &addrlen,
>> >                                 tcase->cloexec | tcase->nonblock));
>> > -@@ -122,6 +125,10 @@ static void verify_accept4(unsigned int nr)
>> > -       TEST(accept4(listening_fd, (struct sockaddr *)&claddr, &addrlen,
>> > + #else
>> > +       TEST(accept4(listening_fd, (struct sockaddr *)accept_addr,
>> &addrlen,
>> >                                 tcase->cloexec | tcase->nonblock));
>> > - #endif
>> > ++#endif
>> >  +#else
>> >  +      TEST(accept4(listening_fd, (struct sockaddr *)&claddr, &addrlen,
>> >  +                              tcase->cloexec | tcase->nonblock));
>> > -+#endif
>> > + #endif
>> >         if (TST_RET == -1) {
>> >                 if (TST_ERR == ENOSYS)
>> > -                       tst_brk(TCONF, "syscall __NR_accept4 not
>> supported");
>> > ---
>> > -2.7.4
>> > -
>> > diff --git
>> a/meta/recipes-extended/ltp/ltp/0010-shmctl01-don-t-use-hardcoded-index-0-for-SHM_STAT-te.patch
>> b/meta/recipes-extended/ltp/ltp/0010-shmctl01-don-t-use-hardcoded-index-0-for-SHM_STAT-te.patch
>> > deleted file mode 100644
>> > index 8704e5ffe8a..00000000000
>> > ---
>> a/meta/recipes-extended/ltp/ltp/0010-shmctl01-don-t-use-hardcoded-index-0-for-SHM_STAT-te.patch
>> > +++ /dev/null
>> > @@ -1,82 +0,0 @@
>> > -From 794933b38354a2612cf2c471f11798b306f35315 Mon Sep 17 00:00:00 2001
>> > -From: Jan Stancek <jstancek@redhat.com>
>> > -Date: Mon, 20 May 2019 20:47:20 +0200
>> > -Subject: [PATCH] shmctl01: don't use hardcoded index == 0 for SHM_STAT
>> test
>> > -
>> > -Test fails on SHM_STAT testcase:
>> > -   shmctl01    5  TFAIL  :  shmctl01.c:173: shmctl01 call failed
>> > -                            errno = 22 : Invalid argument
>> > -   shmctl(0, SHM_STAT, 0x601060)           = -EINVAL
>> > -
>> > -since following commit:
>> > -   commit 99db46ea292780cd978d56932d9445b1e8bdafe8
>> > -   Author: Manfred Spraul <manfred@colorfullife.com>
>> > -   Date:   Tue May 14 15:46:36 2019 -0700
>> > -     ipc: do cyclic id allocation for the ipc object.
>> > -
>> > -Don't rely on index 0 being always available, but instead
>> > -use (maximum) index returned by SHM_INFO.
>> > -
>> > -Signed-off-by: Jan Stancek <jstancek@redhat.com>
>> > -Reviewed-by: Petr Vorel <pvorel@suse.cz>
>> > -Acked-by: Cyril Hrubis <chrubis@suse.cz>
>> > -
>> > -Upstream-Status: Backport
>> > -[
>> https://github.com/linux-test-project/ltp/commit/db0a43d9388be2c347a8306751bbe6bec086d062
>> ]
>> > -
>> > -Signed-off-by: Hongzhi Song <hongzhi.song@windriver.com>
>> > -Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
>> > ----
>> > - testcases/kernel/syscalls/ipc/shmctl/shmctl01.c | 21
>> ++++++++++++++++++---
>> > - 1 file changed, 18 insertions(+), 3 deletions(-)
>> > -
>> > -diff --git a/testcases/kernel/syscalls/ipc/shmctl/shmctl01.c
>> b/testcases/kernel/syscalls/ipc/shmctl/shmctl01.c
>> > -index 1b46977..52bf23a 100644
>> > ---- a/testcases/kernel/syscalls/ipc/shmctl/shmctl01.c
>> > -+++ b/testcases/kernel/syscalls/ipc/shmctl/shmctl01.c
>> > -@@ -79,6 +79,7 @@ static void func_info(int ret);
>> > -
>> > - /* Check routine for SHM_STAT */
>> > - static void func_sstat(int ret);
>> > -+static void func_sstat_setup(void);
>> > -
>> > - /* Check routine for SHM_LOCK */
>> > - static void func_lock(int ret);
>> > -@@ -110,7 +111,7 @@ static struct test_case_t {
>> > - #endif
>> > -       {&shm_id_1, IPC_SET, &buf, func_set, set_setup},
>> > -       {&shm_id_1, IPC_INFO, (struct shmid_ds *) &info, func_info,
>> NULL},
>> > --      {&shm_index, SHM_STAT, &buf, func_sstat, NULL},
>> > -+      {&shm_index, SHM_STAT, &buf, func_sstat, func_sstat_setup},
>> > -       {&shm_id_1, SHM_LOCK, NULL, func_lock, NULL},
>> > -       {&shm_id_1, SHM_UNLOCK, NULL, func_unlock, NULL},
>> > -       {&shm_id_1, IPC_RMID, NULL, func_rmid, NULL},
>> > -@@ -407,9 +408,23 @@ static void func_info(int ret)
>> > - static void func_sstat(int ret)
>> > - {
>> > -       if (ret >= 0)
>> > --              tst_resm(TPASS, "get correct shared memory id");
>> > -+              tst_resm(TPASS, "get correct shared memory id for
>> index: %d",
>> > -+                      shm_index);
>> > -       else
>> > --              tst_resm(TFAIL, "shared memory id is incorrect");
>> > -+              tst_resm(TFAIL, "shared memory id is incorrect, index:
>> %d",
>> > -+                      shm_index);
>> > -+}
>> > -+
>> > -+static void func_sstat_setup(void)
>> > -+{
>> > -+      struct shm_info tmp;
>> > -+      int ret;
>> > -+
>> > -+      ret = shmctl(shm_id_1, SHM_INFO, (void *)&tmp);
>> > -+      if (ret < 0)
>> > -+              tst_resm(TFAIL|TERRNO, "shmctl(SHM_INFO)");
>> > -+      else
>> > -+              shm_index = ret;
>> > - }
>> > -
>> > - static void func_lock(int ret)
>> > ---
>> > -2.7.4
>> > -
>> > diff --git
>> a/meta/recipes-extended/ltp/ltp/0011-direct_io-diotest4-drop-MAP_FIXED.patch
>> b/meta/recipes-extended/ltp/ltp/0011-direct_io-diotest4-drop-MAP_FIXED.patch
>> > deleted file mode 100644
>> > index 9cd188f6567..00000000000
>> > ---
>> a/meta/recipes-extended/ltp/ltp/0011-direct_io-diotest4-drop-MAP_FIXED.patch
>> > +++ /dev/null
>> > @@ -1,56 +0,0 @@
>> > -From f210d7e19b721041f31b7f258a169f89dc850303 Mon Sep 17 00:00:00 2001
>> > -From: Jan Stancek <jstancek@redhat.com>
>> > -Date: Thu, 4 Jul 2019 16:45:23 +0200
>> > -Subject: [PATCH] direct_io/diotest4: drop MAP_FIXED
>> > -
>> > -Hongzhi reports that this test is failing on mips64 with 5.1+:
>> > -  diotest4 10 TBROK : diotest4.c:368: can't mmap file: Invalid argument
>> > -  diotest4 11 TBROK : diotest4.c:368: Remaining cases broken
>> > -I could reproduce it on emulated 5kc-malta, running 5.2.0-rc7.
>> > -
>> > -Test is trying to map into area immediately following heap as
>> MAP_SHARED,
>> > -but it used wrong alignment (fixed by 'lapi/mmap.h: include config.h').
>> > -
>> > -Usage of MAP_FIXED seems unnecessary, so drop that too and let the
>> kernel
>> > -pick an address.
>> > -
>> > -Reported-by: Hongzhi.Song <hongzhi.song@windriver.com>
>> > -Signed-off-by: Jan Stancek <jstancek@redhat.com>
>> > -Acked-by: Cyril Hrubis <chrubis@suse.cz>
>> > -
>> > -Upstream-Status: Backport
>> > -[
>> https://github.com/linux-test-project/ltp/commit/f5444eeeabf252b8884b9465d277b6af853819e3
>> ]
>> > -
>> > -Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
>> > ----
>> > - testcases/kernel/io/direct_io/diotest4.c | 8 ++------
>> > - 1 file changed, 2 insertions(+), 6 deletions(-)
>> > -
>> > -diff --git a/testcases/kernel/io/direct_io/diotest4.c
>> b/testcases/kernel/io/direct_io/diotest4.c
>> > -index e4616e4..bf200cd 100644
>> > ---- a/testcases/kernel/io/direct_io/diotest4.c
>> > -+++ b/testcases/kernel/io/direct_io/diotest4.c
>> > -@@ -352,18 +352,14 @@ int main(int argc, char *argv[])
>> > -       total++;
>> > -
>> > -       /* Test-10: read, write to a mmaped file */
>> > --      shm_base = (char *)(((long)sbrk(0) + (shmsz - 1)) & ~(shmsz -
>> 1));
>> > --      if (shm_base == NULL) {
>> > --              tst_brkm(TBROK, cleanup, "sbrk failed: %s",
>> strerror(errno));
>> > --      }
>> > -       offset = 4096;
>> > -       count = bufsize;
>> > -       if ((fd = open(filename, O_DIRECT | O_RDWR)) < 0) {
>> > -               tst_brkm(TBROK, cleanup, "can't open %s: %s",
>> > -                        filename, strerror(errno));
>> > -       }
>> > --      shm_base = mmap(shm_base, 0x100000, PROT_READ | PROT_WRITE,
>> > --                      MAP_SHARED | MAP_FIXED, fd, 0);
>> > -+      shm_base = mmap(0, 0x100000, PROT_READ | PROT_WRITE,
>> > -+                      MAP_SHARED, fd, 0);
>> > -       if (shm_base == (caddr_t) - 1) {
>> > -               tst_brkm(TBROK, cleanup, "can't mmap file: %s",
>> > -                        strerror(errno));
>> > ---
>> > -2.7.4
>> > -
>> > diff --git
>> a/meta/recipes-extended/ltp/ltp/0012-getrlimit03-adjust-a-bit-of-code-to-compatiable-with.patch
>> b/meta/recipes-extended/ltp/ltp/0012-getrlimit03-adjust-a-bit-of-code-to-compatiable-with.patch
>> > deleted file mode 100644
>> > index aecbc80e9b5..00000000000
>> > ---
>> a/meta/recipes-extended/ltp/ltp/0012-getrlimit03-adjust-a-bit-of-code-to-compatiable-with.patch
>> > +++ /dev/null
>> > @@ -1,64 +0,0 @@
>> > -From 4ac747c1f7ff8e2ec2567d6672822e95a9b56e55 Mon Sep 17 00:00:00 2001
>> > -From: "Hongzhi.Song" <hongzhi.song@windriver.com>
>> > -Date: Mon, 15 Jul 2019 03:39:06 -0400
>> > -Subject: [PATCH] getrlimit03: adjust a bit of code to compatiable with
>> mips32
>> > -
>> > -Error info:
>> > -getrlimit03.c:104: FAIL: __NR_prlimit64(0) had rlim_cur =
>> > -ffffffffffffffff but __NR_getrlimit(0) had rlim_cur = 7fffffff
>> > -
>> > -According to kernel code: [arch/mips/include/uapi/asm/resource.h]
>> > -RLIM_INFINITY is set to 0x7fffffffUL instead of ULONG_MAX on mips32.
>> > -
>> > - /*
>> > - * SuS says limits have to be unsigned.
>> > - * Which makes a ton more sense anyway,
>> > - * but we keep the old value on MIPS32,
>> > - * for compatibility:
>> > - */
>> > - #ifndef __mips64
>> > - # define RLIM_INFINITY      0x7fffffffUL
>> > - #endif
>> > -
>> > -Adding conditional statement about mips to fix this.
>> > -
>> > -Signed-off-by: Jan Stancek <jstancek@redhat.com>
>> > -Signed-off-by: Hongzhi.Song <hongzhi.song@windriver.com>
>> > -
>> > -Upstream-Status: Backport
>> > -[
>> https://github.com/linux-test-project/ltp/commit/7a3bca63cd7f059d490b6274f0fdf3247be93fde
>> ]
>> > -
>> > -Signed-off-by: Hongzhi.Song <hongzhi.song@windriver.com>
>> > ----
>> > - testcases/kernel/syscalls/getrlimit/getrlimit03.c | 8 +++++++-
>> > - 1 file changed, 7 insertions(+), 1 deletion(-)
>> > -
>> > -diff --git a/testcases/kernel/syscalls/getrlimit/getrlimit03.c
>> b/testcases/kernel/syscalls/getrlimit/getrlimit03.c
>> > -index e4d56c4..319bc49 100644
>> > ---- a/testcases/kernel/syscalls/getrlimit/getrlimit03.c
>> > -+++ b/testcases/kernel/syscalls/getrlimit/getrlimit03.c
>> > -@@ -26,6 +26,7 @@
>> > -
>> > - #include "tst_test.h"
>> > - #include "lapi/syscalls.h"
>> > -+#include "lapi/abisize.h"
>> > -
>> > - /**
>> > -  * Linux provides an "old" getrlimit syscall handler that uses signed
>> long,
>> > -@@ -61,7 +62,12 @@ struct rlimit_ulong {
>> > -       unsigned long rlim_cur;
>> > -       unsigned long rlim_max;
>> > - };
>> > --const unsigned long RLIM_INFINITY_UL = ULONG_MAX;
>> > -+
>> > -+#if defined(__mips__) && defined(TST_ABI32)
>> > -+      const unsigned long RLIM_INFINITY_UL = 0x7fffffffUL;
>> > -+#else
>> > -+      const unsigned long RLIM_INFINITY_UL = ULONG_MAX;
>> > -+#endif
>> > -
>> > - static int getrlimit_ulong(int resource, struct rlimit_ulong *rlim)
>> > - {
>> > ---
>> > -2.7.4
>> > -
>> > diff --git a/meta/recipes-extended/ltp/ltp_20190517.bb
>> b/meta/recipes-extended/ltp/ltp_20190930.bb
>> > similarity index 84%
>> > rename from meta/recipes-extended/ltp/ltp_20190517.bb
>> > rename to meta/recipes-extended/ltp/ltp_20190930.bb
>> > index 60f749b4c01..9a436a52303 100644
>> > --- a/meta/recipes-extended/ltp/ltp_20190517.bb
>> > +++ b/meta/recipes-extended/ltp/ltp_20190930.bb
>> > @@ -27,7 +27,7 @@ CFLAGS_append_x86-64 = " -fomit-frame-pointer"
>> >
>> >  CFLAGS_append_powerpc64 = " -D__SANE_USERSPACE_TYPES__"
>> >  CFLAGS_append_mipsarchn64 = " -D__SANE_USERSPACE_TYPES__"
>> > -SRCREV = "ac33ef87f0b9dc56533026435be3ea8c67ce86d2"
>> > +SRCREV = "c9707b465a08397569920b676345474f44327200"
>> >
>> >  SRC_URI = "git://github.com/linux-test-project/ltp.git \
>> >
>>  file://0001-build-Add-option-to-select-libc-implementation.patch \
>> > @@ -38,19 +38,8 @@ SRC_URI = "git://
>> github.com/linux-test-project/ltp.git \
>> >             file://0007-Fix-test_proc_kill-hanging.patch \
>> >
>>  file://0008-testcases-network-nfsv4-acl-acl1.c-Security-fix-on-s.patch \
>> >
>>  file://0009-open_posix_testsuite-mmap24-2-Relax-condition-a-bit.patch \
>> > -
>>  file://0010-shmctl01-don-t-use-hardcoded-index-0-for-SHM_STAT-te.patch \
>> > -           file://0011-direct_io-diotest4-drop-MAP_FIXED.patch \
>> > -
>>  file://0012-getrlimit03-adjust-a-bit-of-code-to-compatiable-with.patch \
>> > -
>>  file://0001-Add-configure-time-check-for-getdents-getdents64-API.patch \
>> > -           file://0002-check-for-RES_USE_INET6-during-configure.patch \
>> > -
>>  file://0001-syscalls-tgkill03-wait-for-defunct-tid-to-get-detach.patch \
>> > -
>>  file://0001-ustat02-Fix-EFAULT-in-32bit-compatibility-mode.patch \
>> > -           file://0001-cve-meltdown.c-Fix-kernel-symbol-finding.patch \
>> > -
>>  file://0001-testcases-use-python3-everywhere-to-run-python-scrip.patch \
>> > -
>>  file://0001-syscall-rt_sigtimedwait01-Fix-wrong-sigset-length-fo.patch \
>> > -
>>  file://0001-cve-2017-17052-Avoid-unsafe-exits-in-threads.patch \
>> > -
>>  file://0001-overcommit_memory-update-for-mm-fix-false-positive-O.patch \
>> >
>>  file://0001-mkswap01.sh-Add-udevadm-trigger-before-swap-verifica.patch \
>> > +
>>  file://0001-testcases-fix-an-absent-format-string-issue.patch \
>> >             "
>> >
>> >  S = "${WORKDIR}/git"
>> > --
>> > 2.17.1
>> >
>> > --
>> > _______________________________________________
>> > Openembedded-core mailing list
>> > Openembedded-core@lists.openembedded.org
>> > http://lists.openembedded.org/mailman/listinfo/openembedded-core
>>
>

[-- Attachment #2: Type: text/html, Size: 74360 bytes --]

^ permalink raw reply	[flat|nested] 62+ messages in thread

* Re: [PATCH 07/30] gstreamer1.0-python: add a patch to fix python 3.8 builds
  2019-12-15 17:06       ` Khem Raj
@ 2019-12-15 17:12         ` Alexander Kanavin
  2019-12-15 17:32           ` Khem Raj
  0 siblings, 1 reply; 62+ messages in thread
From: Alexander Kanavin @ 2019-12-15 17:12 UTC (permalink / raw)
  To: Khem Raj; +Cc: Patches and discussions about the oe-core layer

[-- Attachment #1: Type: text/plain, Size: 455 bytes --]

On Sun, 15 Dec 2019 at 18:06, Khem Raj <raj.khem@gmail.com> wrote:

> This is expected; the patch should be merged together with 3.8 upgrade.
>
> I don’t think this patch is right though since this patch is creating
> py3.8 dependency if you want to upstream something that should work with
> all py3 I think
>

It's being discussed in the upstream submission ticket, and will be
resolved; we can take the 3.8-specific fix meanwhile.

Alex

[-- Attachment #2: Type: text/html, Size: 868 bytes --]

^ permalink raw reply	[flat|nested] 62+ messages in thread

* Re: [PATCH 26/30] ltp: update to 20190930
  2019-12-15 17:11       ` Khem Raj
@ 2019-12-15 17:15         ` Alexander Kanavin
  0 siblings, 0 replies; 62+ messages in thread
From: Alexander Kanavin @ 2019-12-15 17:15 UTC (permalink / raw)
  To: Khem Raj; +Cc: Patches and discussions about the oe-core layer

[-- Attachment #1: Type: text/plain, Size: 60995 bytes --]

On Sun, 15 Dec 2019 at 18:11, Khem Raj <raj.khem@gmail.com> wrote:

> On Sun, Dec 15, 2019 at 3:02 AM Alexander Kanavin <alex.kanavin@gmail.com>
> wrote:
>
>> As the last three issues are clang or musl related, may I request that
>> you look into them?
>>
>
> I will try but there is one issue where a patch is removed which should
> not be so it’s better if that patch can be forward ported as needed for
> newer issues I will see if I can find some solutions
>

The patch was removed as upstream has actually fixed/changed the things it
was patching, so it's probably a new issue. Also I am not able to easily
test with clang.
Can you take a look please?

Alex



>> Alex
>>
>> On Sun, 15 Dec 2019 at 06:33, Khem Raj <raj.khem@gmail.com> wrote:
>>
>>> musl build fails on aarch64
>>>
>>> https://errors.yoctoproject.org/Errors/Details/297288/
>>>
>>> On Thu, Dec 12, 2019 at 10:18 AM Alexander Kanavin
>>> <alex.kanavin@gmail.com> wrote:
>>> >
>>> > Drop a big pile of backports.
>>> >
>>> > Add a patch to address absent string formatting error.
>>> >
>>> > Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
>>> > ---
>>> >  ...me-check-for-getdents-getdents64-API.patch |  72 --------
>>> >  ...option-to-select-libc-implementation.patch |  27 ++-
>>> >  ...-17052-Avoid-unsafe-exits-in-threads.patch |  64 -------
>>> >  ...meltdown.c-Fix-kernel-symbol-finding.patch |  81 ---------
>>> >  ...y-update-for-mm-fix-false-positive-O.patch |  57 -------
>>> >  ...medwait01-Fix-wrong-sigset-length-fo.patch |  46 -----
>>> >  ...3-wait-for-defunct-tid-to-get-detach.patch |  75 --------
>>> >  ...es-fix-an-absent-format-string-issue.patch |  24 +++
>>> >  ...thon3-everywhere-to-run-python-scrip.patch | 161 ------------------
>>> >  ...x-EFAULT-in-32bit-compatibility-mode.patch |  36 ----
>>> >  ...k-for-RES_USE_INET6-during-configure.patch |  68 --------
>>> >  ...BC_PREREQ-is-defined-before-using-it.patch |  27 ++-
>>> >  ...se-hardcoded-index-0-for-SHM_STAT-te.patch |  82 ---------
>>> >  ...11-direct_io-diotest4-drop-MAP_FIXED.patch |  56 ------
>>> >  ...st-a-bit-of-code-to-compatiable-with.patch |  64 -------
>>> >  .../ltp/{ltp_20190517.bb => ltp_20190930.bb}  |  15 +-
>>> >  16 files changed, 51 insertions(+), 904 deletions(-)
>>> >  delete mode 100644
>>> meta/recipes-extended/ltp/ltp/0001-Add-configure-time-check-for-getdents-getdents64-API.patch
>>> >  delete mode 100644
>>> meta/recipes-extended/ltp/ltp/0001-cve-2017-17052-Avoid-unsafe-exits-in-threads.patch
>>> >  delete mode 100644
>>> meta/recipes-extended/ltp/ltp/0001-cve-meltdown.c-Fix-kernel-symbol-finding.patch
>>> >  delete mode 100644
>>> meta/recipes-extended/ltp/ltp/0001-overcommit_memory-update-for-mm-fix-false-positive-O.patch
>>> >  delete mode 100644
>>> meta/recipes-extended/ltp/ltp/0001-syscall-rt_sigtimedwait01-Fix-wrong-sigset-length-fo.patch
>>> >  delete mode 100644
>>> meta/recipes-extended/ltp/ltp/0001-syscalls-tgkill03-wait-for-defunct-tid-to-get-detach.patch
>>> >  create mode 100644
>>> meta/recipes-extended/ltp/ltp/0001-testcases-fix-an-absent-format-string-issue.patch
>>> >  delete mode 100644
>>> meta/recipes-extended/ltp/ltp/0001-testcases-use-python3-everywhere-to-run-python-scrip.patch
>>> >  delete mode 100644
>>> meta/recipes-extended/ltp/ltp/0001-ustat02-Fix-EFAULT-in-32bit-compatibility-mode.patch
>>> >  delete mode 100644
>>> meta/recipes-extended/ltp/ltp/0002-check-for-RES_USE_INET6-during-configure.patch
>>> >  delete mode 100644
>>> meta/recipes-extended/ltp/ltp/0010-shmctl01-don-t-use-hardcoded-index-0-for-SHM_STAT-te.patch
>>> >  delete mode 100644
>>> meta/recipes-extended/ltp/ltp/0011-direct_io-diotest4-drop-MAP_FIXED.patch
>>> >  delete mode 100644
>>> meta/recipes-extended/ltp/ltp/0012-getrlimit03-adjust-a-bit-of-code-to-compatiable-with.patch
>>> >  rename meta/recipes-extended/ltp/{ltp_20190517.bb => ltp_20190930.bb}
>>> (84%)
>>> >
>>> > diff --git
>>> a/meta/recipes-extended/ltp/ltp/0001-Add-configure-time-check-for-getdents-getdents64-API.patch
>>> b/meta/recipes-extended/ltp/ltp/0001-Add-configure-time-check-for-getdents-getdents64-API.patch
>>> > deleted file mode 100644
>>> > index bfceadb190d..00000000000
>>> > ---
>>> a/meta/recipes-extended/ltp/ltp/0001-Add-configure-time-check-for-getdents-getdents64-API.patch
>>> > +++ /dev/null
>>> > @@ -1,72 +0,0 @@
>>> > -From 404dfeb4faef213b0450f173b60cd7080edec349 Mon Sep 17 00:00:00 2001
>>> > -From: Khem Raj <raj.khem@gmail.com>
>>> > -Date: Fri, 26 Jul 2019 10:32:29 -0700
>>> > -Subject: [PATCH 1/2] Add configure time check for getdents/getdents64
>>> APIs
>>> > -
>>> > -glibc 2.30 has added wrapper for getdents64 this will help in
>>> detecting
>>> > -right condition to use fallback
>>> > -
>>> > -Check for getdents API as well while here
>>> > -
>>> > -Upstream-Status: Submitted [
>>> http://lists.linux.it/pipermail/ltp/2019-July/012954.html]
>>> > -Signed-off-by: Khem Raj <raj.khem@gmail.com>
>>> > ----
>>> > - configure.ac                                  | 2 ++
>>> > - testcases/kernel/syscalls/getdents/getdents.h | 8 ++++++--
>>> > - 2 files changed, 8 insertions(+), 2 deletions(-)
>>> > -
>>> > ---- a/configure.ac
>>> > -+++ b/configure.ac
>>> > -@@ -65,6 +65,8 @@ AC_CHECK_FUNCS([ \
>>> > -     fallocate \
>>> > -     fchownat \
>>> > -     fstatat \
>>> > -+    getdents \
>>> > -+    getdents64 \
>>> > -     kcmp \
>>> > -     mkdirat \
>>> > -     mknodat \
>>> > ---- a/testcases/kernel/syscalls/getdents/getdents.h
>>> > -+++ b/testcases/kernel/syscalls/getdents/getdents.h
>>> > -@@ -23,7 +23,7 @@
>>> > - #include <stdint.h>
>>> > - #include "test.h"
>>> > - #include "lapi/syscalls.h"
>>> > --
>>> > -+#include "config.h"
>>> > - /*
>>> > -  * See fs/compat.c struct compat_linux_dirent
>>> > -  */
>>> > -@@ -34,12 +34,17 @@ struct linux_dirent {
>>> > -       char            d_name[];
>>> > - };
>>> > -
>>> > -+#if HAVE_GETDENTS
>>> > -+#include <unistd.h>
>>> > -+#else
>>> > - static inline int
>>> > - getdents(unsigned int fd, struct linux_dirent *dirp, unsigned int
>>> size)
>>> > - {
>>> > -       return ltp_syscall(__NR_getdents, fd, dirp, size);
>>> > - }
>>> > -
>>> > -+#endif /* HAVE_GETDENTS */
>>> > -+
>>> > - struct linux_dirent64 {
>>> > -       uint64_t        d_ino;
>>> > -       int64_t         d_off;
>>> > -@@ -48,10 +53,13 @@ struct linux_dirent64 {
>>> > -       char            d_name[];
>>> > - };
>>> > -
>>> > -+#if HAVE_GETDENTS64
>>> > -+#include <unistd.h>
>>> > -+#else
>>> > - static inline int
>>> > - getdents64(unsigned int fd, struct linux_dirent64 *dirp64, unsigned
>>> int size)
>>> > - {
>>> > -       return ltp_syscall(__NR_getdents64, fd, dirp64, size);
>>> > - }
>>> > --
>>> > -+#endif /* HAVE_GETDENTS64 */
>>> > - #endif /* GETDENTS_H */
>>> > diff --git
>>> a/meta/recipes-extended/ltp/ltp/0001-build-Add-option-to-select-libc-implementation.patch
>>> b/meta/recipes-extended/ltp/ltp/0001-build-Add-option-to-select-libc-implementation.patch
>>> > index b5c25c56a57..1705abcf196 100644
>>> > ---
>>> a/meta/recipes-extended/ltp/ltp/0001-build-Add-option-to-select-libc-implementation.patch
>>> > +++
>>> b/meta/recipes-extended/ltp/ltp/0001-build-Add-option-to-select-libc-implementation.patch
>>> > @@ -1,4 +1,4 @@
>>> > -From ec282980e6eee96f5b74aba464141f86049263e6 Mon Sep 17 00:00:00 2001
>>> > +From 62c3481c73a2414d7a5f0a70808bfc9a06195bd9 Mon Sep 17 00:00:00 2001
>>> >  From: Khem Raj <raj.khem@gmail.com>
>>> >  Date: Thu, 7 Jan 2016 18:19:03 +0000
>>> >  Subject: [PATCH] build: Add option to select libc implementation
>>> > @@ -12,6 +12,7 @@ Disable tests specifically not building _yet_ on
>>> musl based systems
>>> >  Upstream-Status: Pending
>>> >
>>> >  Signed-off-by: Khem Raj <raj.khem@gmail.com>
>>> > +
>>> >  ---
>>> >   Makefile                                    | 5 +++++
>>> >   testcases/kernel/Makefile                   | 5 ++++-
>>> > @@ -24,7 +25,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
>>> >   8 files changed, 35 insertions(+), 2 deletions(-)
>>> >
>>> >  diff --git a/Makefile b/Makefile
>>> > -index 768ca46..e9d679a 100644
>>> > +index 768ca4606..e9d679a71 100644
>>> >  --- a/Makefile
>>> >  +++ b/Makefile
>>> >  @@ -41,6 +41,11 @@ vpath %.mk
>>> $(top_srcdir)/mk:$(top_srcdir)/mk/include
>>> > @@ -40,18 +41,19 @@ index 768ca46..e9d679a 100644
>>> >   # COMMON_TARGETS:     Targets which exist in all, clean, and install.
>>> >   # INSTALL_TARGETS:    Targets which exist in clean and install
>>> (contains
>>> >  diff --git a/testcases/kernel/Makefile b/testcases/kernel/Makefile
>>> > -index 39d79c7..24a57d9 100644
>>> > +index 3319b3163..94ea362c8 100644
>>> >  --- a/testcases/kernel/Makefile
>>> >  +++ b/testcases/kernel/Makefile
>>> > -@@ -49,12 +49,15 @@ SUBDIRS                    += connectors \
>>> > +@@ -49,13 +49,16 @@ SUBDIRS                    += connectors \
>>> >                            logging \
>>> >                            mem \
>>> >                            numa \
>>> >  -                         pty \
>>> >                            sched \
>>> >                            security \
>>> > -                          timers \
>>> > +                          sound \
>>> >                            tracing \
>>> > +                          uevents \
>>> >
>>> >  +ifneq ($(LIBC),musl)
>>> >  +SUBDIRS                       += pty
>>> > @@ -61,7 +63,7 @@ index 39d79c7..24a57d9 100644
>>> >   SUBDIRS                       += power_management
>>> >   endif
>>> >  diff --git a/testcases/kernel/sched/Makefile
>>> b/testcases/kernel/sched/Makefile
>>> > -index 6a57d79..74bb933 100644
>>> > +index 6a57d79ee..74bb93370 100644
>>> >  --- a/testcases/kernel/sched/Makefile
>>> >  +++ b/testcases/kernel/sched/Makefile
>>> >  @@ -23,5 +23,7 @@
>>> > @@ -74,7 +76,7 @@ index 6a57d79..74bb933 100644
>>> >  +endif
>>> >   include $(top_srcdir)/include/mk/generic_trunk_target.mk
>>> >  diff --git a/testcases/kernel/syscalls/Makefile
>>> b/testcases/kernel/syscalls/Makefile
>>> > -index 45a00cf..d1becd0 100644
>>> > +index 45a00cf7d..d1becd054 100644
>>> >  --- a/testcases/kernel/syscalls/Makefile
>>> >  +++ b/testcases/kernel/syscalls/Makefile
>>> >  @@ -28,6 +28,11 @@ ifeq ($(UCLINUX),1)
>>> > @@ -90,7 +92,7 @@ index 45a00cf..d1becd0 100644
>>> >   ifeq ($(UCLIBC),1)
>>> >   FILTER_OUT_DIRS       += profil
>>> >  diff --git a/testcases/network/nfsv4/acl/Makefile
>>> b/testcases/network/nfsv4/acl/Makefile
>>> > -index 8c55a6b..f7cda62 100644
>>> > +index 8c55a6bbd..f7cda621d 100644
>>> >  --- a/testcases/network/nfsv4/acl/Makefile
>>> >  +++ b/testcases/network/nfsv4/acl/Makefile
>>> >  @@ -26,4 +26,8 @@ include $(top_srcdir)/include/mk/env_pre.mk
>>> > @@ -103,7 +105,7 @@ index 8c55a6b..f7cda62 100644
>>> >  +
>>> >   include $(top_srcdir)/include/mk/generic_leaf_target.mk
>>> >  diff --git a/testcases/network/rpc/basic_tests/Makefile
>>> b/testcases/network/rpc/basic_tests/Makefile
>>> > -index 66e9d56..ea8eb8a 100644
>>> > +index 66e9d5675..ea8eb8a98 100644
>>> >  --- a/testcases/network/rpc/basic_tests/Makefile
>>> >  +++ b/testcases/network/rpc/basic_tests/Makefile
>>> >  @@ -23,4 +23,9 @@
>>> > @@ -117,7 +119,7 @@ index 66e9d56..ea8eb8a 100644
>>> >  +
>>> >   include $(top_srcdir)/include/mk/generic_trunk_target.mk
>>> >  diff --git a/testcases/realtime/func/pi-tests/Makefile
>>> b/testcases/realtime/func/pi-tests/Makefile
>>> > -index 68616a7..748754b 100644
>>> > +index 68616a711..748754bb4 100644
>>> >  --- a/testcases/realtime/func/pi-tests/Makefile
>>> >  +++ b/testcases/realtime/func/pi-tests/Makefile
>>> >  @@ -27,5 +27,9 @@ include $(top_srcdir)/include/mk/env_pre.mk
>>> > @@ -131,7 +133,7 @@ index 68616a7..748754b 100644
>>> >
>>> >   include $(top_srcdir)/include/mk/generic_leaf_target.mk
>>> >  diff --git a/testcases/realtime/stress/pi-tests/Makefile
>>> b/testcases/realtime/stress/pi-tests/Makefile
>>> > -index 1881f75..266e0b8 100644
>>> > +index 1881f7565..266e0b815 100644
>>> >  --- a/testcases/realtime/stress/pi-tests/Makefile
>>> >  +++ b/testcases/realtime/stress/pi-tests/Makefile
>>> >  @@ -24,4 +24,9 @@ top_srcdir           ?= ../../../..
>>> > @@ -144,6 +146,3 @@ index 1881f75..266e0b8 100644
>>> >  +endif
>>> >  +
>>> >   include $(top_srcdir)/include/mk/generic_leaf_target.mk
>>> > ---
>>> > -2.7.4
>>> > -
>>> > diff --git
>>> a/meta/recipes-extended/ltp/ltp/0001-cve-2017-17052-Avoid-unsafe-exits-in-threads.patch
>>> b/meta/recipes-extended/ltp/ltp/0001-cve-2017-17052-Avoid-unsafe-exits-in-threads.patch
>>> > deleted file mode 100644
>>> > index cc40081300c..00000000000
>>> > ---
>>> a/meta/recipes-extended/ltp/ltp/0001-cve-2017-17052-Avoid-unsafe-exits-in-threads.patch
>>> > +++ /dev/null
>>> > @@ -1,64 +0,0 @@
>>> > -From e3a8502d0a4f8a44ddd02ca4b2efc097133fb9f7 Mon Sep 17 00:00:00 2001
>>> > -From: Mathias Fiedler <mathias.fiedler@aox-tech.de>
>>> > -Date: Fri, 23 Aug 2019 12:46:48 +0200
>>> > -Subject: [PATCH] cve-2017-17052: Avoid unsafe exits in threads
>>> > -
>>> > -According to manpage exit(3) calling exit is not thread-safe.
>>> > -And with glibc 2.28 (and probably also with glibc >=2.27) sometimes
>>> > -child processes created in fork_thread can get stuck on process exit
>>> in
>>> > -glibc's __run_exit_handlers trying to acquire some lock which was in
>>> > -locked state while the fork was created. This can happen when exit is
>>> > -called in mmap_thread concurrently to the fork.
>>> > -While the main process will still return with PASSED some of its
>>> > -children are left behind.
>>> > -
>>> > -Comparing the source code with the original program as described in
>>> the
>>> > -commit 2b7e8665b4ff51c034c55df3cff76518d1a9ee3a of linux kernel >=4.13
>>> > -the exits in mmap_thread and fork_thread should not be necessary to
>>> > -trigger the original bug.
>>> > -
>>> > -Therefore those exit calls are removed. The mmap_thread and
>>> fork_thread
>>> > -should still exit when their corresponding main thread in do_test_fork
>>> > -calls exit_group. The remaining exit in do_test_fork will be called in
>>> > -the main thread without any concurrent thread in the same process.
>>> > -
>>> > -Signed-off-by: Mathias Fiedler <mathias.fiedler@aox-tech.de>
>>> > -Acked-by: Cyril Hrubis <chrubis@suse.cz>
>>> > -Acked-by: Jan Stancek <jstancek@redhat.com>
>>> > -
>>> > -Upstream-Status: Backport
>>> > -[
>>> https://github.com/linux-test-project/ltp/commit/9f0b452c1af4bcb54da35711eb3fa77334a350b4
>>> ]
>>> > -
>>> > -CVE: CVE-2017-17052
>>> > -
>>> > -Signed-off-by: He Zhe <zhe.he@windriver.com>
>>> > ----
>>> > - testcases/cve/cve-2017-17052.c | 5 -----
>>> > - 1 file changed, 5 deletions(-)
>>> > -
>>> > -diff --git a/testcases/cve/cve-2017-17052.c
>>> b/testcases/cve/cve-2017-17052.c
>>> > -index d7da7e919..18cd2a6d7 100644
>>> > ---- a/testcases/cve/cve-2017-17052.c
>>> > -+++ b/testcases/cve/cve-2017-17052.c
>>> > -@@ -58,8 +58,6 @@ static void *mmap_thread(void *arg)
>>> > -       for (;;) {
>>> > -               SAFE_MMAP(NULL, 0x1000000, PROT_READ,
>>> > -
>>>  MAP_POPULATE|MAP_ANONYMOUS|MAP_PRIVATE, -1, 0);
>>> > --              if (*do_exit)
>>> > --                      exit(0);
>>> > -       }
>>> > -
>>> > -       return arg;
>>> > -@@ -67,9 +65,6 @@ static void *mmap_thread(void *arg)
>>> > -
>>> > - static void *fork_thread(void *arg)
>>> > - {
>>> > --      if (*do_exit)
>>> > --              exit(0);
>>> > --
>>> > -       usleep(rand() % 10000);
>>> > -       SAFE_FORK();
>>> > -
>>> > ---
>>> > -2.17.1
>>> > -
>>> > diff --git
>>> a/meta/recipes-extended/ltp/ltp/0001-cve-meltdown.c-Fix-kernel-symbol-finding.patch
>>> b/meta/recipes-extended/ltp/ltp/0001-cve-meltdown.c-Fix-kernel-symbol-finding.patch
>>> > deleted file mode 100644
>>> > index 94f6f5a15a6..00000000000
>>> > ---
>>> a/meta/recipes-extended/ltp/ltp/0001-cve-meltdown.c-Fix-kernel-symbol-finding.patch
>>> > +++ /dev/null
>>> > @@ -1,81 +0,0 @@
>>> > -From fbeda82f440a0098be42dd668cbc47212a86ab48 Mon Sep 17 00:00:00 2001
>>> > -From: He Zhe <zhe.he@windriver.com>
>>> > -Date: Wed, 21 Aug 2019 16:27:24 +0800
>>> > -Subject: [PATCH] cve/meltdown.c: Fix kernel symbol finding
>>> > -
>>> > -meltdown case fails as below.
>>> > -safe_file_ops.c:219: BROK: Expected 3 conversions got 2 at
>>> meltdown.c:272
>>> > -
>>> > -find_kernel_symbol is defined to try twice with each of
>>> /proc/kallsyms and
>>> > -/boot/System.map-%s. Currently if the symbol is not found in
>>> /proc/kallsyms,
>>> > -when kernel option CONFIG_KALLSYMS_ALL is disabled, it would stop the
>>> case
>>> > -immediately due to SAFE_FILE_LINES_SCANF.
>>> > -
>>> > -This patch turns to use FILE_LINES_SCANF to give find_kernel_symbol
>>> second
>>> > -chance.
>>> > -
>>> > -[jstancek] Fix also condition introduced in 7709d2ae92ea, even if
>>> > -           /proc/kallsyms is disabled, we still want to try
>>> System.map.
>>> > -
>>> > -Signed-off-by: He Zhe <zhe.he@windriver.com>
>>> > -Signed-off-by: Jan Stancek <jstancek@redhat.com>
>>> > -
>>> > -Upstream-Status: Backport
>>> > -[
>>> https://github.com/linux-test-project/ltp/commit/c2049b5c874bc071f8185bffb5fd7dcb042d9ec8
>>> ]
>>> > -
>>> > -Remove the hunk for upstream 7709d2ae92ea ("cve/meltdown.c: abort the
>>> test if kallsyms was not enabled")
>>> > -that has been covered by this patch.
>>> > -
>>> > -Signed-off-by: He Zhe <zhe.he@windriver.com>
>>> > ----
>>> > - testcases/cve/meltdown.c | 13 ++++++++++---
>>> > - 1 file changed, 10 insertions(+), 3 deletions(-)
>>> > -
>>> > -diff --git a/testcases/cve/meltdown.c b/testcases/cve/meltdown.c
>>> > -index a53ea9b..22651a6 100644
>>> > ---- a/testcases/cve/meltdown.c
>>> > -+++ b/testcases/cve/meltdown.c
>>> > -@@ -267,9 +267,15 @@ find_symbol_in_file(const char *filename, const
>>> char *symname)
>>> > -       int ret, read;
>>> > -       char fmt[strlen(symname) + 64];
>>> > -
>>> > -+      tst_res(TINFO, "Looking for %s in %s", symname, filename);
>>> > -+      if (access(filename, F_OK) == -1) {
>>> > -+              tst_res(TINFO, "%s not available", filename);
>>> > -+              return 0;
>>> > -+      }
>>> > -+
>>> > -       sprintf(fmt, "%%lx %%c %s%%c", symname);
>>> > -
>>> > --      ret = SAFE_FILE_LINES_SCANF(filename, fmt, &addr, &type,
>>> &read);
>>> > -+      ret = FILE_LINES_SCANF(filename, fmt, &addr, &type, &read);
>>> > -       if (ret)
>>> > -               return 0;
>>> > -
>>> > -@@ -287,13 +293,11 @@ find_kernel_symbol(const char *name)
>>> > -       if (addr)
>>> > -               return addr;
>>> > -
>>> > --      tst_res(TINFO, "not found '%s' in /proc/kallsyms", name);
>>> > -       if (uname(&utsname) < 0)
>>> > -               tst_brk(TBROK | TERRNO, "uname");
>>> > -
>>> > -       sprintf(systemmap, "/boot/System.map-%s", utsname.release);
>>> > -
>>> > --      tst_res(TINFO, "looking in '%s'\n", systemmap);
>>> > -       addr = find_symbol_in_file(systemmap, name);
>>> > -       return addr;
>>> > - }
>>> > -@@ -308,6 +312,9 @@ static void setup(void)
>>> > -       saved_cmdline_addr = find_kernel_symbol("saved_command_line");
>>> > -       tst_res(TINFO, "&saved_command_line == 0x%lx",
>>> saved_cmdline_addr);
>>> > -
>>> > -+      if (!saved_cmdline_addr)
>>> > -+              tst_brk(TCONF, "saved_command_line not found");
>>> > -+
>>> > -       spec_fd = SAFE_OPEN("/proc/cmdline", O_RDONLY);
>>> > -
>>> > -       memset(target_array, 1, sizeof(target_array));
>>> > ---
>>> > -2.7.4
>>> > -
>>> > diff --git
>>> a/meta/recipes-extended/ltp/ltp/0001-overcommit_memory-update-for-mm-fix-false-positive-O.patch
>>> b/meta/recipes-extended/ltp/ltp/0001-overcommit_memory-update-for-mm-fix-false-positive-O.patch
>>> > deleted file mode 100644
>>> > index bed84712a15..00000000000
>>> > ---
>>> a/meta/recipes-extended/ltp/ltp/0001-overcommit_memory-update-for-mm-fix-false-positive-O.patch
>>> > +++ /dev/null
>>> > @@ -1,57 +0,0 @@
>>> > -From d656a447893dccc310c975a239f482278550c3e0 Mon Sep 17 00:00:00 2001
>>> > -From: Jan Stancek <jstancek@redhat.com>
>>> > -Date: Tue, 21 May 2019 10:10:44 +0200
>>> > -Subject: [PATCH] overcommit_memory: update for "mm: fix false-positive
>>> > - OVERCOMMIT_GUESS failures"
>>> > -
>>> > -commit 8c7829b04c52 ("mm: fix false-positive OVERCOMMIT_GUESS
>>> failures")
>>> > -changes logic of __vm_enough_memory(), simplifying it to:
>>> > -    When in GUESS mode, catch wild allocations by comparing their
>>> request
>>> > -    size to total amount of ram and swap in the system.
>>> > -
>>> > -Testcase currently allocates mem_total + swap_total, which doesn't
>>> trigger
>>> > -new condition. Make it more extreme, but assuming free_total / 2 will
>>> PASS,
>>> > -and 2*sum_total will FAIL.
>>> > -
>>> > -Signed-off-by: Jan Stancek <jstancek@redhat.com>
>>> > -Acked-by: Cyril Hrubis <chrubis@suse.cz>
>>> > -
>>> > -Upstream-Status: Backport [
>>> https://github.com/linux-test-project/ltp/commit/d656a447893dccc310c975a239f482278550c3e0
>>> ]
>>> > -Signed-off-by: He Zhe <zhe.he@windriver.com>
>>> > ----
>>> > - testcases/kernel/mem/tunable/overcommit_memory.c | 11 ++++-------
>>> > - 1 file changed, 4 insertions(+), 7 deletions(-)
>>> > -
>>> > -diff --git a/testcases/kernel/mem/tunable/overcommit_memory.c
>>> b/testcases/kernel/mem/tunable/overcommit_memory.c
>>> > -index 555298f..345764d 100644
>>> > ---- a/testcases/kernel/mem/tunable/overcommit_memory.c
>>> > -+++ b/testcases/kernel/mem/tunable/overcommit_memory.c
>>> > -@@ -36,11 +36,10 @@
>>> > -  *
>>> > -  * The program is designed to test the two tunables:
>>> > -  *
>>> > -- * When overcommit_memory = 0, allocatable memory can't overextends
>>> > -- * the amount of free memory. I choose the three cases:
>>> > -+ * When overcommit_memory = 0, allocatable memory can't overextend
>>> > -+ * the amount of total memory:
>>> > -  * a. less than free_total:    free_total / 2, alloc should pass.
>>> > -- * b. greater than free_total: free_total * 2, alloc should fail.
>>> > -- * c. equal to sum_total:      sum_tatal,      alloc should fail
>>> > -+ * b. greater than sum_total:   sum_total * 2, alloc should fail.
>>> > -  *
>>> > -  * When overcommit_memory = 1, it can alloc enough much memory, I
>>> > -  * choose the three cases:
>>> > -@@ -164,9 +163,7 @@ static void overcommit_memory_test(void)
>>> > -
>>> > -       update_mem();
>>> > -       alloc_and_check(free_total / 2, EXPECT_PASS);
>>> > --      update_mem();
>>> > --      alloc_and_check(free_total * 2, EXPECT_FAIL);
>>> > --      alloc_and_check(sum_total, EXPECT_FAIL);
>>> > -+      alloc_and_check(sum_total * 2, EXPECT_FAIL);
>>> > -
>>> > -       /* start to test overcommit_memory=1 */
>>> > -       set_sys_tune("overcommit_memory", 1, 1);
>>> > ---
>>> > -2.7.4
>>> > -
>>> > diff --git
>>> a/meta/recipes-extended/ltp/ltp/0001-syscall-rt_sigtimedwait01-Fix-wrong-sigset-length-fo.patch
>>> b/meta/recipes-extended/ltp/ltp/0001-syscall-rt_sigtimedwait01-Fix-wrong-sigset-length-fo.patch
>>> > deleted file mode 100644
>>> > index 0e56c08255e..00000000000
>>> > ---
>>> a/meta/recipes-extended/ltp/ltp/0001-syscall-rt_sigtimedwait01-Fix-wrong-sigset-length-fo.patch
>>> > +++ /dev/null
>>> > @@ -1,46 +0,0 @@
>>> > -From a5046625eaeed2d3fba456c3ba84c6c141c2ad7c Mon Sep 17 00:00:00 2001
>>> > -From: He Zhe <zhe.he@windriver.com>
>>> > -Date: Thu, 29 Aug 2019 21:09:46 +0800
>>> > -Subject: [PATCH] syscall/rt_sigtimedwait01: Fix wrong sigset length
>>> for MIPS
>>> > -
>>> > -rt_sigtimedwait01 fails as follow on MIPS arches
>>> > -rt_sigtimedwait01    1  TFAIL  :  .../sigwaitinfo01.c:58:
>>> test_empty_set
>>> > -(.../sigwaitinfo01.c: 148): Unexpected failure:
>>> > -TEST_ERRNO=EINVAL(22): Invalid argument
>>> > -
>>> > -As this case purposely bypasses glibc, it should align with the size
>>> of kernel
>>> > -definition of sigset_t which is different from other arches.
>>> > -
>>> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch/mips/include/uapi/asm/signal.h#n15
>>> > -
>>> > -This patch turns to use _NSIG which is always right for all arches.
>>> > -
>>> > -Upstream-Status: Backport [a5046625eaeed2d3fba456c3ba84c6c141c2ad7c]
>>> > -
>>> > -Suggested-by: Jan Stancek <jstancek@redhat.com>
>>> > -Acked-by: Jan Stancek <jstancek@redhat.com>
>>> > -Acked-by: Cyril Hrubis <chrubis@suse.cz>
>>> > -Signed-off-by: He Zhe <zhe.he@windriver.com>
>>> > -Signed-off-by: Petr Vorel <pvorel@suse.cz>
>>> > ----
>>> > - testcases/kernel/syscalls/sigwaitinfo/sigwaitinfo01.c | 5 ++---
>>> > - 1 file changed, 2 insertions(+), 3 deletions(-)
>>> > -
>>> > -diff --git a/testcases/kernel/syscalls/sigwaitinfo/sigwaitinfo01.c
>>> b/testcases/kernel/syscalls/sigwaitinfo/sigwaitinfo01.c
>>> > -index 5a32ce1..6a30c27 100644
>>> > ---- a/testcases/kernel/syscalls/sigwaitinfo/sigwaitinfo01.c
>>> > -+++ b/testcases/kernel/syscalls/sigwaitinfo/sigwaitinfo01.c
>>> > -@@ -128,9 +128,8 @@ static int my_sigtimedwait(const sigset_t * set,
>>> siginfo_t * info,
>>> > - static int my_rt_sigtimedwait(const sigset_t * set, siginfo_t * info,
>>> > -                             struct timespec *timeout)
>>> > - {
>>> > --
>>> > --      /* The last argument is (number_of_signals)/(bits_per_byte),
>>> which are 64 and 8, resp. */
>>> > --      return ltp_syscall(__NR_rt_sigtimedwait, set, info, timeout,
>>> 8);
>>> > -+      /* _NSIG is always the right number of bits of signal map for
>>> all arches */
>>> > -+      return ltp_syscall(__NR_rt_sigtimedwait, set, info, timeout,
>>> _NSIG/8);
>>> > - }
>>> > - #endif
>>> > -
>>> > ---
>>> > -2.7.4
>>> > -
>>> > diff --git
>>> a/meta/recipes-extended/ltp/ltp/0001-syscalls-tgkill03-wait-for-defunct-tid-to-get-detach.patch
>>> b/meta/recipes-extended/ltp/ltp/0001-syscalls-tgkill03-wait-for-defunct-tid-to-get-detach.patch
>>> > deleted file mode 100644
>>> > index 6ea26150fbf..00000000000
>>> > ---
>>> a/meta/recipes-extended/ltp/ltp/0001-syscalls-tgkill03-wait-for-defunct-tid-to-get-detach.patch
>>> > +++ /dev/null
>>> > @@ -1,75 +0,0 @@
>>> > -From e747d0456adc080a1d31fb653bda9dc491795c80 Mon Sep 17 00:00:00 2001
>>> > -From: Jan Stancek <jstancek@redhat.com>
>>> > -Date: Sun, 16 Jun 2019 11:14:16 +0200
>>> > -Subject: [PATCH] syscalls/tgkill03: wait for defunct tid to get
>>> detached
>>> > -
>>> > -Case where defunct tid is used has been observed to sporadically fail:
>>> > -  tgkill03.c:96: FAIL: Defunct tid should have failed with ESRCH:
>>> SUCCESS
>>> > -
>>> > -glibc __pthread_timedjoin_ex() waits for CLONE_CHILD_CLEARTID to
>>> clear tid,
>>> > -and then resumes. Kernel clears it (glibc pd->tid) at:
>>> > -  do_exit
>>> > -    exit_mm
>>> > -      mm_release
>>> > -        put_user(0, tsk->clear_child_tid);
>>> > -
>>> > -but kernel tid is still valid, presumably until:
>>> > -  release_task
>>> > -    __exit_signal
>>> > -      __unhash_process
>>> > -        detach_pid
>>> > -
>>> > -To avoid race wait until /proc/<pid>/task/<tid> disappears.
>>> > -
>>> > -Signed-off-by: Jan Stancek <jstancek@redhat.com>
>>> > -Reviewed-by: Li Wang <liwang@redhat.com>
>>> > -Acked-by: Sumit Garg <sumit.garg@linaro.org>
>>> > -
>>> > -Upstream-Status: Backport
>>> > -[
>>> https://github.com/linux-test-project/ltp/commit/e747d0456adc080a1d31fb653bda9dc491795c80
>>> ]
>>> > -
>>> > -Signed-off-by: He Zhe <zhe.he@windriver.com>
>>> > ----
>>> > - testcases/kernel/syscalls/tgkill/tgkill03.c | 6 +++++-
>>> > - 1 file changed, 5 insertions(+), 1 deletion(-)
>>> > -
>>> > -diff --git a/testcases/kernel/syscalls/tgkill/tgkill03.c
>>> b/testcases/kernel/syscalls/tgkill/tgkill03.c
>>> > -index f5bbdc5..593a217 100644
>>> > ---- a/testcases/kernel/syscalls/tgkill/tgkill03.c
>>> > -+++ b/testcases/kernel/syscalls/tgkill/tgkill03.c
>>> > -@@ -7,6 +7,7 @@
>>> > -
>>> > - #include <pthread.h>
>>> > - #include <pwd.h>
>>> > -+#include <stdio.h>
>>> > - #include <sys/types.h>
>>> > -
>>> > - #include "tst_safe_pthread.h"
>>> > -@@ -42,6 +43,7 @@ static void setup(void)
>>> > - {
>>> > -       sigset_t sigusr1;
>>> > -       pthread_t defunct_thread;
>>> > -+      char defunct_tid_path[PATH_MAX];
>>> > -
>>> > -       sigemptyset(&sigusr1);
>>> > -       sigaddset(&sigusr1, SIGUSR1);
>>> > -@@ -55,8 +57,9 @@ static void setup(void)
>>> > -       TST_CHECKPOINT_WAIT(0);
>>> > -
>>> > -       SAFE_PTHREAD_CREATE(&defunct_thread, NULL,
>>> defunct_thread_func, NULL);
>>> > --
>>> > -       SAFE_PTHREAD_JOIN(defunct_thread, NULL);
>>> > -+      sprintf(defunct_tid_path, "/proc/%d/task/%d", getpid(),
>>> defunct_tid);
>>> > -+      TST_RETRY_FN_EXP_BACKOFF(access(defunct_tid_path, R_OK), -1,
>>> 15);
>>> > - }
>>> > -
>>> > - static void cleanup(void)
>>> > -@@ -108,4 +111,5 @@ static struct tst_test test = {
>>> > -       .setup = setup,
>>> > -       .cleanup = cleanup,
>>> > -       .test = run,
>>> > -+      .timeout = 20,
>>> > - };
>>> > ---
>>> > -2.7.4
>>> > -
>>> > diff --git
>>> a/meta/recipes-extended/ltp/ltp/0001-testcases-fix-an-absent-format-string-issue.patch
>>> b/meta/recipes-extended/ltp/ltp/0001-testcases-fix-an-absent-format-string-issue.patch
>>> > new file mode 100644
>>> > index 00000000000..93308445098
>>> > --- /dev/null
>>> > +++
>>> b/meta/recipes-extended/ltp/ltp/0001-testcases-fix-an-absent-format-string-issue.patch
>>> > @@ -0,0 +1,24 @@
>>> > +From 476ce907fa18042cdde0a244ba9a46cd895ce76c Mon Sep 17 00:00:00 2001
>>> > +From: Alexander Kanavin <alex.kanavin@gmail.com>
>>> > +Date: Thu, 12 Dec 2019 17:56:02 +0100
>>> > +Subject: [PATCH] testcases: fix an absent format string issue
>>> > +
>>> > +Upstream-Status: Pending
>>> > +Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
>>> > +---
>>> > + .../kernel/syscalls/pidfd_send_signal/pidfd_send_signal03.c     | 2
>>> +-
>>> > + 1 file changed, 1 insertion(+), 1 deletion(-)
>>> > +
>>> > +diff --git
>>> a/testcases/kernel/syscalls/pidfd_send_signal/pidfd_send_signal03.c
>>> b/testcases/kernel/syscalls/pidfd_send_signal/pidfd_send_signal03.c
>>> > +index 27dbc6626..19d943d06 100644
>>> > +---
>>> a/testcases/kernel/syscalls/pidfd_send_signal/pidfd_send_signal03.c
>>> > ++++
>>> b/testcases/kernel/syscalls/pidfd_send_signal/pidfd_send_signal03.c
>>> > +@@ -59,7 +59,7 @@ static void verify_pidfd_send_signal(void)
>>> > +
>>> > +               /* Manipulate PID for next process */
>>> > +               sprintf(pid_str, "%d", pid - 1);
>>> > +-              SAFE_FILE_PRINTF(last_pid_file, pid_str);
>>> > ++              SAFE_FILE_PRINTF(last_pid_file, "%s", pid_str);
>>> > +
>>> > +               new_pid = SAFE_FORK();
>>> > +               if (new_pid == 0) {
>>> > diff --git
>>> a/meta/recipes-extended/ltp/ltp/0001-testcases-use-python3-everywhere-to-run-python-scrip.patch
>>> b/meta/recipes-extended/ltp/ltp/0001-testcases-use-python3-everywhere-to-run-python-scrip.patch
>>> > deleted file mode 100644
>>> > index f4f87f38ab7..00000000000
>>> > ---
>>> a/meta/recipes-extended/ltp/ltp/0001-testcases-use-python3-everywhere-to-run-python-scrip.patch
>>> > +++ /dev/null
>>> > @@ -1,161 +0,0 @@
>>> > -From 0463d793566772a606255957915f99d166d5740c Mon Sep 17 00:00:00 2001
>>> > -From: Alexander Kanavin <alex.kanavin@gmail.com>
>>> > -Date: Wed, 28 Aug 2019 18:30:23 +0200
>>> > -Subject: [PATCH] testcases: use python3 everywhere to run python
>>> scripts
>>> > -
>>> > -The scripts themselves have #!/usr/bin/python3 in them,
>>> > -so I trust they are already py3-compatible.
>>> > -
>>> > -Upstream-Status: Pending
>>> > -Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
>>> > ----
>>> > - testcases/kernel/power_management/runpwtests05.sh  |  2 +-
>>> > - .../power_management/runpwtests_exclusive01.sh     |  2 +-
>>> > - .../power_management/runpwtests_exclusive02.sh     |  2 +-
>>> > - .../power_management/runpwtests_exclusive03.sh     |  2 +-
>>> > - .../power_management/runpwtests_exclusive04.sh     |  2 +-
>>> > - .../power_management/runpwtests_exclusive05.sh     |  2 +-
>>> > - testcases/network/nfsv4/acl/runtest                | 14
>>> +++++++-------
>>> > - testcases/realtime/func/pi-tests/run_auto.sh       |  6 +++---
>>> > - 8 files changed, 16 insertions(+), 16 deletions(-)
>>> > -
>>> > -diff --git a/testcases/kernel/power_management/runpwtests05.sh
>>> b/testcases/kernel/power_management/runpwtests05.sh
>>> > -index 8a7d0f6e0..43e234d01 100755
>>> > ---- a/testcases/kernel/power_management/runpwtests05.sh
>>> > -+++ b/testcases/kernel/power_management/runpwtests05.sh
>>> > -@@ -35,7 +35,7 @@ else
>>> > -       max_sched_smt=1
>>> > - fi
>>> > -
>>> > --tst_test_cmds python
>>> > -+tst_test_cmds python3
>>> > -
>>> > - if ! grep sched_debug -qw /proc/cmdline ; then
>>> > -       tst_brkm TCONF "Kernel cmdline parameter 'sched_debug'
>>> needed," \
>>> > -diff --git
>>> a/testcases/kernel/power_management/runpwtests_exclusive01.sh
>>> b/testcases/kernel/power_management/runpwtests_exclusive01.sh
>>> > -index ec78319e2..9fefcbf6e 100755
>>> > ---- a/testcases/kernel/power_management/runpwtests_exclusive01.sh
>>> > -+++ b/testcases/kernel/power_management/runpwtests_exclusive01.sh
>>> > -@@ -35,7 +35,7 @@ else
>>> > -       max_sched_smt=1
>>> > - fi
>>> > -
>>> > --tst_test_cmds python
>>> > -+tst_test_cmds python3
>>> > -
>>> > - hyper_threaded=$(is_hyper_threaded)
>>> > - multi_socket=$(is_multi_socket)
>>> > -diff --git
>>> a/testcases/kernel/power_management/runpwtests_exclusive02.sh
>>> b/testcases/kernel/power_management/runpwtests_exclusive02.sh
>>> > -index e107fce35..2cd0ecb05 100755
>>> > ---- a/testcases/kernel/power_management/runpwtests_exclusive02.sh
>>> > -+++ b/testcases/kernel/power_management/runpwtests_exclusive02.sh
>>> > -@@ -33,7 +33,7 @@ else
>>> > -       max_sched_smt=1
>>> > - fi
>>> > -
>>> > --tst_test_cmds python
>>> > -+tst_test_cmds python3
>>> > -
>>> > - hyper_threaded=$(is_hyper_threaded)
>>> > - multi_socket=$(is_multi_socket)
>>> > -diff --git
>>> a/testcases/kernel/power_management/runpwtests_exclusive03.sh
>>> b/testcases/kernel/power_management/runpwtests_exclusive03.sh
>>> > -index 490344bb3..ab3a5d11d 100755
>>> > ---- a/testcases/kernel/power_management/runpwtests_exclusive03.sh
>>> > -+++ b/testcases/kernel/power_management/runpwtests_exclusive03.sh
>>> > -@@ -35,7 +35,7 @@ else
>>> > -       max_sched_smt=1
>>> > - fi
>>> > -
>>> > --tst_test_cmds python
>>> > -+tst_test_cmds python3
>>> > -
>>> > - hyper_threaded=$(is_hyper_threaded)
>>> > - multi_socket=$(is_multi_socket)
>>> > -diff --git
>>> a/testcases/kernel/power_management/runpwtests_exclusive04.sh
>>> b/testcases/kernel/power_management/runpwtests_exclusive04.sh
>>> > -index 978ca02ae..438ef603f 100755
>>> > ---- a/testcases/kernel/power_management/runpwtests_exclusive04.sh
>>> > -+++ b/testcases/kernel/power_management/runpwtests_exclusive04.sh
>>> > -@@ -27,7 +27,7 @@ export TST_TOTAL=2
>>> > - # Checking test environment
>>> > - check_kervel_arch
>>> > -
>>> > --tst_test_cmds python
>>> > -+tst_test_cmds python3
>>> > -
>>> > - hyper_threaded=$(is_hyper_threaded)
>>> > - multi_socket=$(is_multi_socket)
>>> > -diff --git
>>> a/testcases/kernel/power_management/runpwtests_exclusive05.sh
>>> b/testcases/kernel/power_management/runpwtests_exclusive05.sh
>>> > -index a0dad5834..3a9afdbf2 100755
>>> > ---- a/testcases/kernel/power_management/runpwtests_exclusive05.sh
>>> > -+++ b/testcases/kernel/power_management/runpwtests_exclusive05.sh
>>> > -@@ -35,7 +35,7 @@ else
>>> > -       max_sched_smt=1
>>> > - fi
>>> > -
>>> > --tst_test_cmds python
>>> > -+tst_test_cmds python3
>>> > -
>>> > - hyper_threaded=$(is_hyper_threaded)
>>> > - multi_socket=$(is_multi_socket)
>>> > -diff --git a/testcases/network/nfsv4/acl/runtest
>>> b/testcases/network/nfsv4/acl/runtest
>>> > -index d2e1b4c49..a859e85bc 100755
>>> > ---- a/testcases/network/nfsv4/acl/runtest
>>> > -+++ b/testcases/network/nfsv4/acl/runtest
>>> > -@@ -22,7 +22,7 @@ do
>>> > - done
>>> > -
>>> > - #  creation of users on the remote machine (removed only at the end
>>> of the tests)
>>> > --rsh -n $REMOTEHOST python $PWD/create_users.py -u 50 -g 50
>>> > -+rsh -n $REMOTEHOST python3 $PWD/create_users.py -u 50 -g 50
>>> > -
>>> > - echo "Starting ACL testing"
>>> > -
>>> > -@@ -51,19 +51,19 @@ echo "Basic tests finished"
>>> > -
>>> > - echo "LONG ACL TEST"
>>> > - echo "creating necessary users and groups"
>>> > --python create_users.py -u 50 -g 50
>>> > -+python3 create_users.py -u 50 -g 50
>>> > - echo "creating necessary users and groups on the remote host"
>>> > - mkdir $NFSMNTDIR/lacl-testdir
>>> > --python test_long_acl.py -l $MAXLENGTH -p $NFSMNTDIR/lacl-testdir
>>> > -+python3 test_long_acl.py -l $MAXLENGTH -p $NFSMNTDIR/lacl-testdir
>>> > - rm -rf $NFSMNTDIR/lacl-testdir
>>> > - echo "Long ACL test OK with $MAXLENGTH entries"
>>> > - echo "ACL STRESSING TEST"
>>> > --python setacl_stress.py -n 100 -u $USER_NB -g $GRP_NB -f $FILE_NB -p
>>> $NFSMNTDIR
>>> > -+python3 setacl_stress.py -n 100 -u $USER_NB -g $GRP_NB -f $FILE_NB
>>> -p $NFSMNTDIR
>>> > -
>>> > - # remove local an remote users
>>> > --python cleanusers.py
>>> > --python cleangroups.py
>>> > --rsh -n $REMOTEHOST python $PWD/cleanusers.py
>>> > -+python3 cleanusers.py
>>> > -+python3 cleangroups.py
>>> > -+rsh -n $REMOTEHOST python3 $PWD/cleanusers.py
>>> > -
>>> > - echo "Test OK"
>>> > -
>>> > -diff --git a/testcases/realtime/func/pi-tests/run_auto.sh
>>> b/testcases/realtime/func/pi-tests/run_auto.sh
>>> > -index d13026049..277988568 100755
>>> > ---- a/testcases/realtime/func/pi-tests/run_auto.sh
>>> > -+++ b/testcases/realtime/func/pi-tests/run_auto.sh
>>> > -@@ -15,15 +15,15 @@ $SCRIPTS_DIR/run_c_files.sh $profile testpi-0
>>> > -
>>> > - export LOG_FILE="$LOG_DIR/$LOG_FORMAT-testpi-1.log"
>>> > - $SCRIPTS_DIR/run_c_files.sh $profile testpi-1
>>> > --PYTHONPATH=../../  python parse-testpi1.py $LOG_FILE 2>&1 | tee -a
>>> $LOG_FILE
>>> > -+PYTHONPATH=../../  python3 parse-testpi1.py $LOG_FILE 2>&1 | tee -a
>>> $LOG_FILE
>>> > -
>>> > - export LOG_FILE="$LOG_DIR/$LOG_FORMAT-testpi-2.log"
>>> > - $SCRIPTS_DIR/run_c_files.sh $profile testpi-2
>>> > --PYTHONPATH=../../  python parse-testpi2.py $LOG_FILE 2>&1 | tee -a
>>> $LOG_FILE
>>> > -+PYTHONPATH=../../  python3 parse-testpi2.py $LOG_FILE 2>&1 | tee -a
>>> $LOG_FILE
>>> > -
>>> > - export LOG_FILE="$LOG_DIR/$LOG_FORMAT-testpi-4.log"
>>> > - $SCRIPTS_DIR/run_c_files.sh $profile testpi-4
>>> > --PYTHONPATH=../../  python parse-testpi1.py $LOG_FILE 2>&1 | tee -a
>>> $LOG_FILE
>>> > -+PYTHONPATH=../../  python3 parse-testpi1.py $LOG_FILE 2>&1 | tee -a
>>> $LOG_FILE
>>> > -
>>> > -
>>> > - export LOG_FILE=""
>>> > diff --git
>>> a/meta/recipes-extended/ltp/ltp/0001-ustat02-Fix-EFAULT-in-32bit-compatibility-mode.patch
>>> b/meta/recipes-extended/ltp/ltp/0001-ustat02-Fix-EFAULT-in-32bit-compatibility-mode.patch
>>> > deleted file mode 100644
>>> > index c936b788fe1..00000000000
>>> > ---
>>> a/meta/recipes-extended/ltp/ltp/0001-ustat02-Fix-EFAULT-in-32bit-compatibility-mode.patch
>>> > +++ /dev/null
>>> > @@ -1,36 +0,0 @@
>>> > -From 156776a3e29491b363fdc9811912e1298655d060 Mon Sep 17 00:00:00 2001
>>> > -From: Steven Price <steven.price@arm.com>
>>> > -Date: Fri, 19 Jul 2019 13:48:17 +0100
>>> > -Subject: [PATCH] ustat02: Fix EFAULT in 32bit compatibility mode
>>> > -
>>> > -The size of dev_t is larger than 32 bits which causes the dev argument
>>> > -to be passed incorrectly. On Arm this means that the EFAULT test case
>>> > -actually returns EINVAL because the device number isn't recognised.
>>> > -
>>> > -Signed-off-by: Steven Price <steven.price@arm.com>
>>> > -Acked-by: Li Wang <liwang@redhat.com>
>>> > -
>>> > -Upstream-Status: Backport
>>> > -[
>>> https://github.com/linux-test-project/ltp/commit/156776a3e29491b363fdc9811912e1298655d060
>>> ]
>>> > -
>>> > -Signed-off-by: He Zhe <zhe.he@windriver.com>
>>> > ----
>>> > - testcases/kernel/syscalls/ustat/ustat02.c | 2 +-
>>> > - 1 file changed, 1 insertion(+), 1 deletion(-)
>>> > -
>>> > -diff --git a/testcases/kernel/syscalls/ustat/ustat02.c
>>> b/testcases/kernel/syscalls/ustat/ustat02.c
>>> > -index 9bbe4f3..1a0e9e0 100644
>>> > ---- a/testcases/kernel/syscalls/ustat/ustat02.c
>>> > -+++ b/testcases/kernel/syscalls/ustat/ustat02.c
>>> > -@@ -36,7 +36,7 @@ int TST_TOTAL = ARRAY_SIZE(tc);
>>> > -
>>> > - void run(unsigned int test)
>>> > - {
>>> > --      TEST(tst_syscall(__NR_ustat, *tc[test].dev, tc[test].buf));
>>> > -+      TEST(tst_syscall(__NR_ustat, (unsigned int)*tc[test].dev,
>>> tc[test].buf));
>>> > -
>>> > -       if ((TST_RET == -1) && (TST_ERR == tc[test].exp_errno))
>>> > -               tst_res(TPASS | TTERRNO, "ustat(2) expected failure");
>>> > ---
>>> > -2.7.4
>>> > -
>>> > diff --git
>>> a/meta/recipes-extended/ltp/ltp/0002-check-for-RES_USE_INET6-during-configure.patch
>>> b/meta/recipes-extended/ltp/ltp/0002-check-for-RES_USE_INET6-during-configure.patch
>>> > deleted file mode 100644
>>> > index 12e47eb2b61..00000000000
>>> > ---
>>> a/meta/recipes-extended/ltp/ltp/0002-check-for-RES_USE_INET6-during-configure.patch
>>> > +++ /dev/null
>>> > @@ -1,68 +0,0 @@
>>> > -From 7bc134545b7beb09717a60541530c20a1a5740d3 Mon Sep 17 00:00:00 2001
>>> > -From: Khem Raj <raj.khem@gmail.com>
>>> > -Date: Fri, 26 Jul 2019 10:55:28 -0700
>>> > -Subject: [PATCH 2/2] check for RES_USE_INET6 during configure
>>> > -
>>> > -glibc 2.30 has remove RES_USE_INET6 define which has been on its way
>>> out
>>> > -since 2.26 release, this check ensures that we detect it before using
>>> it
>>> > -
>>> > -Upstream-Status: Submitted [
>>> http://lists.linux.it/pipermail/ltp/2019-July/012955.html]
>>> > -Signed-off-by: Khem Raj <raj.khem@gmail.com>
>>> > ----
>>> > - configure.ac                                        | 13
>>> +++++++++++++
>>> > - testcases/network/multicast/mc_gethost/mc_gethost.c |  6 ++++++
>>> > - 2 files changed, 19 insertions(+)
>>> > -
>>> > -diff --git a/configure.ac b/configure.ac
>>> > -index 2255b5c181..ed7acccb01 100644
>>> > ---- a/configure.ac
>>> > -+++ b/configure.ac
>>> > -@@ -91,6 +91,19 @@ AC_CHECK_FUNCS([ \
>>> > -     vmsplice \
>>> > - ])
>>> > -
>>> > -+#check defines
>>> > -+AC_MSG_CHECKING([for RES_USE_INET6])
>>> > -+AC_COMPILE_IFELSE( [AC_LANG_PROGRAM([[#include <resolv.h>]],
>>> > -+  [[char dummy[RES_USE_INET6];]])],
>>> > -+  [
>>> > -+    AC_MSG_RESULT([yes])
>>> > -+    AC_DEFINE_UNQUOTED([HAVE_RES_USE_INET6], 1, [Define to 1 if you
>>> have the RES_USE_INET6 macro.])
>>> > -+  ],
>>> > -+  [
>>> > -+    AC_MSG_RESULT([no])
>>> > -+    AC_DEFINE_UNQUOTED([HAVE_RES_USE_INET6], 0, [Define to 1 if you
>>> have the RES_USE_INET6 macro.])
>>> > -+  ]
>>> > -+)
>>> > - # Tools knobs
>>> > -
>>> > - # Expect
>>> > -diff --git a/testcases/network/multicast/mc_gethost/mc_gethost.c
>>> b/testcases/network/multicast/mc_gethost/mc_gethost.c
>>> > -index 9cc15d086b..d1cae5441a 100644
>>> > ---- a/testcases/network/multicast/mc_gethost/mc_gethost.c
>>> > -+++ b/testcases/network/multicast/mc_gethost/mc_gethost.c
>>> > -@@ -17,6 +17,8 @@
>>> > - #include <string.h>
>>> > - #include <stdlib.h>
>>> > -
>>> > -+#include "config.h"
>>> > -+
>>> > - #ifndef LOG_PERROR
>>> > - #define LOG_PERROR 0
>>> > - #endif
>>> > -@@ -50,8 +52,12 @@ usage:
>>> > -               argv++, argc--;
>>> > -       }
>>> > -       if (argc >= 1 && !strcmp(*argv, "-6")) {
>>> > -+#if HAVE_RES_USE_INET6
>>> > -               af = AF_INET6, size = IN6ADDRSZ;
>>> > -               _res.options |= RES_USE_INET6;
>>> > -+#else
>>> > -+              af = AF_INET, size = INADDRSZ;
>>> > -+#endif
>>> > -               argv++, argc--;
>>> > -       }
>>> > -       if (argc >= 1 && !strcmp(*argv, "-f")) {
>>> > ---
>>> > -2.22.0
>>> > -
>>> > diff --git
>>> a/meta/recipes-extended/ltp/ltp/0003-Check-if-__GLIBC_PREREQ-is-defined-before-using-it.patch
>>> b/meta/recipes-extended/ltp/ltp/0003-Check-if-__GLIBC_PREREQ-is-defined-before-using-it.patch
>>> > index c0f69ecf5fc..df3e8831f54 100644
>>> > ---
>>> a/meta/recipes-extended/ltp/ltp/0003-Check-if-__GLIBC_PREREQ-is-defined-before-using-it.patch
>>> > +++
>>> b/meta/recipes-extended/ltp/ltp/0003-Check-if-__GLIBC_PREREQ-is-defined-before-using-it.patch
>>> > @@ -1,4 +1,4 @@
>>> > -From 29ce9fdab3bd34e69d73b5b890795559c06553f7 Mon Sep 17 00:00:00 2001
>>> > +From 1ce47a6ed811fd78ed04ea2f82e6321c6bca57b6 Mon Sep 17 00:00:00 2001
>>> >  From: Khem Raj <raj.khem@gmail.com>
>>> >  Date: Thu, 7 Jan 2016 19:40:08 +0000
>>> >  Subject: [PATCH] Check if __GLIBC_PREREQ is defined before using it
>>> > @@ -10,16 +10,17 @@ Upstream-Status: Pending
>>> >
>>> >  Signed-off-by: Khem Raj <raj.khem@gmail.com>
>>> >  Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
>>> > +
>>> >  ---
>>> >   testcases/kernel/syscalls/accept4/accept4_01.c | 7 +++++++
>>> >   1 file changed, 7 insertions(+)
>>> >
>>> >  diff --git a/testcases/kernel/syscalls/accept4/accept4_01.c
>>> b/testcases/kernel/syscalls/accept4/accept4_01.c
>>> > -index dd289cf..76aa969 100644
>>> > +index 29e18f27d..07444a46f 100644
>>> >  --- a/testcases/kernel/syscalls/accept4/accept4_01.c
>>> >  +++ b/testcases/kernel/syscalls/accept4/accept4_01.c
>>> >  @@ -38,6 +38,7 @@
>>> > - static struct sockaddr_in conn_addr;
>>> > + static struct sockaddr_in *conn_addr, *accept_addr;
>>> >   static int listening_fd;
>>> >
>>> >  +#if defined(__GLIBC__) && defined(__GLIBC_PREREQ)
>>> > @@ -34,25 +35,21 @@ index dd289cf..76aa969 100644
>>> >
>>> >   static int create_listening_socket(void)
>>> >   {
>>> > -@@ -115,6 +117,7 @@ static void verify_accept4(unsigned int nr)
>>> > -       SAFE_CONNECT(connfd, (struct sockaddr *)&conn_addr,
>>> sizeof(conn_addr));
>>> > -       addrlen = sizeof(claddr);
>>> > +@@ -114,12 +116,17 @@ static void verify_accept4(unsigned int nr)
>>> > +       SAFE_CONNECT(connfd, (struct sockaddr *)conn_addr,
>>> sizeof(*conn_addr));
>>> > +       addrlen = sizeof(*accept_addr);
>>> >
>>> >  +#if defined(__GLIBC__) && defined(__GLIBC_PREREQ)
>>> >   #if !(__GLIBC_PREREQ(2, 10))
>>> > -       TEST(accept4_01(listening_fd, (struct sockaddr *)&claddr,
>>> &addrlen,
>>> > +       TEST(accept4_01(listening_fd, (struct sockaddr *)accept_addr,
>>> &addrlen,
>>> >                                 tcase->cloexec | tcase->nonblock));
>>> > -@@ -122,6 +125,10 @@ static void verify_accept4(unsigned int nr)
>>> > -       TEST(accept4(listening_fd, (struct sockaddr *)&claddr,
>>> &addrlen,
>>> > + #else
>>> > +       TEST(accept4(listening_fd, (struct sockaddr *)accept_addr,
>>> &addrlen,
>>> >                                 tcase->cloexec | tcase->nonblock));
>>> > - #endif
>>> > ++#endif
>>> >  +#else
>>> >  +      TEST(accept4(listening_fd, (struct sockaddr *)&claddr,
>>> &addrlen,
>>> >  +                              tcase->cloexec | tcase->nonblock));
>>> > -+#endif
>>> > + #endif
>>> >         if (TST_RET == -1) {
>>> >                 if (TST_ERR == ENOSYS)
>>> > -                       tst_brk(TCONF, "syscall __NR_accept4 not
>>> supported");
>>> > ---
>>> > -2.7.4
>>> > -
>>> > diff --git
>>> a/meta/recipes-extended/ltp/ltp/0010-shmctl01-don-t-use-hardcoded-index-0-for-SHM_STAT-te.patch
>>> b/meta/recipes-extended/ltp/ltp/0010-shmctl01-don-t-use-hardcoded-index-0-for-SHM_STAT-te.patch
>>> > deleted file mode 100644
>>> > index 8704e5ffe8a..00000000000
>>> > ---
>>> a/meta/recipes-extended/ltp/ltp/0010-shmctl01-don-t-use-hardcoded-index-0-for-SHM_STAT-te.patch
>>> > +++ /dev/null
>>> > @@ -1,82 +0,0 @@
>>> > -From 794933b38354a2612cf2c471f11798b306f35315 Mon Sep 17 00:00:00 2001
>>> > -From: Jan Stancek <jstancek@redhat.com>
>>> > -Date: Mon, 20 May 2019 20:47:20 +0200
>>> > -Subject: [PATCH] shmctl01: don't use hardcoded index == 0 for
>>> SHM_STAT test
>>> > -
>>> > -Test fails on SHM_STAT testcase:
>>> > -   shmctl01    5  TFAIL  :  shmctl01.c:173: shmctl01 call failed
>>> > -                            errno = 22 : Invalid argument
>>> > -   shmctl(0, SHM_STAT, 0x601060)           = -EINVAL
>>> > -
>>> > -since following commit:
>>> > -   commit 99db46ea292780cd978d56932d9445b1e8bdafe8
>>> > -   Author: Manfred Spraul <manfred@colorfullife.com>
>>> > -   Date:   Tue May 14 15:46:36 2019 -0700
>>> > -     ipc: do cyclic id allocation for the ipc object.
>>> > -
>>> > -Don't rely on index 0 being always available, but instead
>>> > -use (maximum) index returned by SHM_INFO.
>>> > -
>>> > -Signed-off-by: Jan Stancek <jstancek@redhat.com>
>>> > -Reviewed-by: Petr Vorel <pvorel@suse.cz>
>>> > -Acked-by: Cyril Hrubis <chrubis@suse.cz>
>>> > -
>>> > -Upstream-Status: Backport
>>> > -[
>>> https://github.com/linux-test-project/ltp/commit/db0a43d9388be2c347a8306751bbe6bec086d062
>>> ]
>>> > -
>>> > -Signed-off-by: Hongzhi Song <hongzhi.song@windriver.com>
>>> > -Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
>>> > ----
>>> > - testcases/kernel/syscalls/ipc/shmctl/shmctl01.c | 21
>>> ++++++++++++++++++---
>>> > - 1 file changed, 18 insertions(+), 3 deletions(-)
>>> > -
>>> > -diff --git a/testcases/kernel/syscalls/ipc/shmctl/shmctl01.c
>>> b/testcases/kernel/syscalls/ipc/shmctl/shmctl01.c
>>> > -index 1b46977..52bf23a 100644
>>> > ---- a/testcases/kernel/syscalls/ipc/shmctl/shmctl01.c
>>> > -+++ b/testcases/kernel/syscalls/ipc/shmctl/shmctl01.c
>>> > -@@ -79,6 +79,7 @@ static void func_info(int ret);
>>> > -
>>> > - /* Check routine for SHM_STAT */
>>> > - static void func_sstat(int ret);
>>> > -+static void func_sstat_setup(void);
>>> > -
>>> > - /* Check routine for SHM_LOCK */
>>> > - static void func_lock(int ret);
>>> > -@@ -110,7 +111,7 @@ static struct test_case_t {
>>> > - #endif
>>> > -       {&shm_id_1, IPC_SET, &buf, func_set, set_setup},
>>> > -       {&shm_id_1, IPC_INFO, (struct shmid_ds *) &info, func_info,
>>> NULL},
>>> > --      {&shm_index, SHM_STAT, &buf, func_sstat, NULL},
>>> > -+      {&shm_index, SHM_STAT, &buf, func_sstat, func_sstat_setup},
>>> > -       {&shm_id_1, SHM_LOCK, NULL, func_lock, NULL},
>>> > -       {&shm_id_1, SHM_UNLOCK, NULL, func_unlock, NULL},
>>> > -       {&shm_id_1, IPC_RMID, NULL, func_rmid, NULL},
>>> > -@@ -407,9 +408,23 @@ static void func_info(int ret)
>>> > - static void func_sstat(int ret)
>>> > - {
>>> > -       if (ret >= 0)
>>> > --              tst_resm(TPASS, "get correct shared memory id");
>>> > -+              tst_resm(TPASS, "get correct shared memory id for
>>> index: %d",
>>> > -+                      shm_index);
>>> > -       else
>>> > --              tst_resm(TFAIL, "shared memory id is incorrect");
>>> > -+              tst_resm(TFAIL, "shared memory id is incorrect, index:
>>> %d",
>>> > -+                      shm_index);
>>> > -+}
>>> > -+
>>> > -+static void func_sstat_setup(void)
>>> > -+{
>>> > -+      struct shm_info tmp;
>>> > -+      int ret;
>>> > -+
>>> > -+      ret = shmctl(shm_id_1, SHM_INFO, (void *)&tmp);
>>> > -+      if (ret < 0)
>>> > -+              tst_resm(TFAIL|TERRNO, "shmctl(SHM_INFO)");
>>> > -+      else
>>> > -+              shm_index = ret;
>>> > - }
>>> > -
>>> > - static void func_lock(int ret)
>>> > ---
>>> > -2.7.4
>>> > -
>>> > diff --git
>>> a/meta/recipes-extended/ltp/ltp/0011-direct_io-diotest4-drop-MAP_FIXED.patch
>>> b/meta/recipes-extended/ltp/ltp/0011-direct_io-diotest4-drop-MAP_FIXED.patch
>>> > deleted file mode 100644
>>> > index 9cd188f6567..00000000000
>>> > ---
>>> a/meta/recipes-extended/ltp/ltp/0011-direct_io-diotest4-drop-MAP_FIXED.patch
>>> > +++ /dev/null
>>> > @@ -1,56 +0,0 @@
>>> > -From f210d7e19b721041f31b7f258a169f89dc850303 Mon Sep 17 00:00:00 2001
>>> > -From: Jan Stancek <jstancek@redhat.com>
>>> > -Date: Thu, 4 Jul 2019 16:45:23 +0200
>>> > -Subject: [PATCH] direct_io/diotest4: drop MAP_FIXED
>>> > -
>>> > -Hongzhi reports that this test is failing on mips64 with 5.1+:
>>> > -  diotest4 10 TBROK : diotest4.c:368: can't mmap file: Invalid
>>> argument
>>> > -  diotest4 11 TBROK : diotest4.c:368: Remaining cases broken
>>> > -I could reproduce it on emulated 5kc-malta, running 5.2.0-rc7.
>>> > -
>>> > -Test is trying to map into area immediately following heap as
>>> MAP_SHARED,
>>> > -but it used wrong alignment (fixed by 'lapi/mmap.h: include
>>> config.h').
>>> > -
>>> > -Usage of MAP_FIXED seems unnecessary, so drop that too and let the
>>> kernel
>>> > -pick an address.
>>> > -
>>> > -Reported-by: Hongzhi.Song <hongzhi.song@windriver.com>
>>> > -Signed-off-by: Jan Stancek <jstancek@redhat.com>
>>> > -Acked-by: Cyril Hrubis <chrubis@suse.cz>
>>> > -
>>> > -Upstream-Status: Backport
>>> > -[
>>> https://github.com/linux-test-project/ltp/commit/f5444eeeabf252b8884b9465d277b6af853819e3
>>> ]
>>> > -
>>> > -Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
>>> > ----
>>> > - testcases/kernel/io/direct_io/diotest4.c | 8 ++------
>>> > - 1 file changed, 2 insertions(+), 6 deletions(-)
>>> > -
>>> > -diff --git a/testcases/kernel/io/direct_io/diotest4.c
>>> b/testcases/kernel/io/direct_io/diotest4.c
>>> > -index e4616e4..bf200cd 100644
>>> > ---- a/testcases/kernel/io/direct_io/diotest4.c
>>> > -+++ b/testcases/kernel/io/direct_io/diotest4.c
>>> > -@@ -352,18 +352,14 @@ int main(int argc, char *argv[])
>>> > -       total++;
>>> > -
>>> > -       /* Test-10: read, write to a mmaped file */
>>> > --      shm_base = (char *)(((long)sbrk(0) + (shmsz - 1)) & ~(shmsz -
>>> 1));
>>> > --      if (shm_base == NULL) {
>>> > --              tst_brkm(TBROK, cleanup, "sbrk failed: %s",
>>> strerror(errno));
>>> > --      }
>>> > -       offset = 4096;
>>> > -       count = bufsize;
>>> > -       if ((fd = open(filename, O_DIRECT | O_RDWR)) < 0) {
>>> > -               tst_brkm(TBROK, cleanup, "can't open %s: %s",
>>> > -                        filename, strerror(errno));
>>> > -       }
>>> > --      shm_base = mmap(shm_base, 0x100000, PROT_READ | PROT_WRITE,
>>> > --                      MAP_SHARED | MAP_FIXED, fd, 0);
>>> > -+      shm_base = mmap(0, 0x100000, PROT_READ | PROT_WRITE,
>>> > -+                      MAP_SHARED, fd, 0);
>>> > -       if (shm_base == (caddr_t) - 1) {
>>> > -               tst_brkm(TBROK, cleanup, "can't mmap file: %s",
>>> > -                        strerror(errno));
>>> > ---
>>> > -2.7.4
>>> > -
>>> > diff --git
>>> a/meta/recipes-extended/ltp/ltp/0012-getrlimit03-adjust-a-bit-of-code-to-compatiable-with.patch
>>> b/meta/recipes-extended/ltp/ltp/0012-getrlimit03-adjust-a-bit-of-code-to-compatiable-with.patch
>>> > deleted file mode 100644
>>> > index aecbc80e9b5..00000000000
>>> > ---
>>> a/meta/recipes-extended/ltp/ltp/0012-getrlimit03-adjust-a-bit-of-code-to-compatiable-with.patch
>>> > +++ /dev/null
>>> > @@ -1,64 +0,0 @@
>>> > -From 4ac747c1f7ff8e2ec2567d6672822e95a9b56e55 Mon Sep 17 00:00:00 2001
>>> > -From: "Hongzhi.Song" <hongzhi.song@windriver.com>
>>> > -Date: Mon, 15 Jul 2019 03:39:06 -0400
>>> > -Subject: [PATCH] getrlimit03: adjust a bit of code to compatiable
>>> with mips32
>>> > -
>>> > -Error info:
>>> > -getrlimit03.c:104: FAIL: __NR_prlimit64(0) had rlim_cur =
>>> > -ffffffffffffffff but __NR_getrlimit(0) had rlim_cur = 7fffffff
>>> > -
>>> > -According to kernel code: [arch/mips/include/uapi/asm/resource.h]
>>> > -RLIM_INFINITY is set to 0x7fffffffUL instead of ULONG_MAX on mips32.
>>> > -
>>> > - /*
>>> > - * SuS says limits have to be unsigned.
>>> > - * Which makes a ton more sense anyway,
>>> > - * but we keep the old value on MIPS32,
>>> > - * for compatibility:
>>> > - */
>>> > - #ifndef __mips64
>>> > - # define RLIM_INFINITY      0x7fffffffUL
>>> > - #endif
>>> > -
>>> > -Adding conditional statement about mips to fix this.
>>> > -
>>> > -Signed-off-by: Jan Stancek <jstancek@redhat.com>
>>> > -Signed-off-by: Hongzhi.Song <hongzhi.song@windriver.com>
>>> > -
>>> > -Upstream-Status: Backport
>>> > -[
>>> https://github.com/linux-test-project/ltp/commit/7a3bca63cd7f059d490b6274f0fdf3247be93fde
>>> ]
>>> > -
>>> > -Signed-off-by: Hongzhi.Song <hongzhi.song@windriver.com>
>>> > ----
>>> > - testcases/kernel/syscalls/getrlimit/getrlimit03.c | 8 +++++++-
>>> > - 1 file changed, 7 insertions(+), 1 deletion(-)
>>> > -
>>> > -diff --git a/testcases/kernel/syscalls/getrlimit/getrlimit03.c
>>> b/testcases/kernel/syscalls/getrlimit/getrlimit03.c
>>> > -index e4d56c4..319bc49 100644
>>> > ---- a/testcases/kernel/syscalls/getrlimit/getrlimit03.c
>>> > -+++ b/testcases/kernel/syscalls/getrlimit/getrlimit03.c
>>> > -@@ -26,6 +26,7 @@
>>> > -
>>> > - #include "tst_test.h"
>>> > - #include "lapi/syscalls.h"
>>> > -+#include "lapi/abisize.h"
>>> > -
>>> > - /**
>>> > -  * Linux provides an "old" getrlimit syscall handler that uses
>>> signed long,
>>> > -@@ -61,7 +62,12 @@ struct rlimit_ulong {
>>> > -       unsigned long rlim_cur;
>>> > -       unsigned long rlim_max;
>>> > - };
>>> > --const unsigned long RLIM_INFINITY_UL = ULONG_MAX;
>>> > -+
>>> > -+#if defined(__mips__) && defined(TST_ABI32)
>>> > -+      const unsigned long RLIM_INFINITY_UL = 0x7fffffffUL;
>>> > -+#else
>>> > -+      const unsigned long RLIM_INFINITY_UL = ULONG_MAX;
>>> > -+#endif
>>> > -
>>> > - static int getrlimit_ulong(int resource, struct rlimit_ulong *rlim)
>>> > - {
>>> > ---
>>> > -2.7.4
>>> > -
>>> > diff --git a/meta/recipes-extended/ltp/ltp_20190517.bb
>>> b/meta/recipes-extended/ltp/ltp_20190930.bb
>>> > similarity index 84%
>>> > rename from meta/recipes-extended/ltp/ltp_20190517.bb
>>> > rename to meta/recipes-extended/ltp/ltp_20190930.bb
>>> > index 60f749b4c01..9a436a52303 100644
>>> > --- a/meta/recipes-extended/ltp/ltp_20190517.bb
>>> > +++ b/meta/recipes-extended/ltp/ltp_20190930.bb
>>> > @@ -27,7 +27,7 @@ CFLAGS_append_x86-64 = " -fomit-frame-pointer"
>>> >
>>> >  CFLAGS_append_powerpc64 = " -D__SANE_USERSPACE_TYPES__"
>>> >  CFLAGS_append_mipsarchn64 = " -D__SANE_USERSPACE_TYPES__"
>>> > -SRCREV = "ac33ef87f0b9dc56533026435be3ea8c67ce86d2"
>>> > +SRCREV = "c9707b465a08397569920b676345474f44327200"
>>> >
>>> >  SRC_URI = "git://github.com/linux-test-project/ltp.git \
>>> >
>>>  file://0001-build-Add-option-to-select-libc-implementation.patch \
>>> > @@ -38,19 +38,8 @@ SRC_URI = "git://
>>> github.com/linux-test-project/ltp.git \
>>> >             file://0007-Fix-test_proc_kill-hanging.patch \
>>> >
>>>  file://0008-testcases-network-nfsv4-acl-acl1.c-Security-fix-on-s.patch \
>>> >
>>>  file://0009-open_posix_testsuite-mmap24-2-Relax-condition-a-bit.patch \
>>> > -
>>>  file://0010-shmctl01-don-t-use-hardcoded-index-0-for-SHM_STAT-te.patch \
>>> > -           file://0011-direct_io-diotest4-drop-MAP_FIXED.patch \
>>> > -
>>>  file://0012-getrlimit03-adjust-a-bit-of-code-to-compatiable-with.patch \
>>> > -
>>>  file://0001-Add-configure-time-check-for-getdents-getdents64-API.patch \
>>> > -           file://0002-check-for-RES_USE_INET6-during-configure.patch
>>> \
>>> > -
>>>  file://0001-syscalls-tgkill03-wait-for-defunct-tid-to-get-detach.patch \
>>> > -
>>>  file://0001-ustat02-Fix-EFAULT-in-32bit-compatibility-mode.patch \
>>> > -           file://0001-cve-meltdown.c-Fix-kernel-symbol-finding.patch
>>> \
>>> > -
>>>  file://0001-testcases-use-python3-everywhere-to-run-python-scrip.patch \
>>> > -
>>>  file://0001-syscall-rt_sigtimedwait01-Fix-wrong-sigset-length-fo.patch \
>>> > -
>>>  file://0001-cve-2017-17052-Avoid-unsafe-exits-in-threads.patch \
>>> > -
>>>  file://0001-overcommit_memory-update-for-mm-fix-false-positive-O.patch \
>>> >
>>>  file://0001-mkswap01.sh-Add-udevadm-trigger-before-swap-verifica.patch \
>>> > +
>>>  file://0001-testcases-fix-an-absent-format-string-issue.patch \
>>> >             "
>>> >
>>> >  S = "${WORKDIR}/git"
>>> > --
>>> > 2.17.1
>>> >
>>> > --
>>> > _______________________________________________
>>> > Openembedded-core mailing list
>>> > Openembedded-core@lists.openembedded.org
>>> > http://lists.openembedded.org/mailman/listinfo/openembedded-core
>>>
>>

[-- Attachment #2: Type: text/html, Size: 75156 bytes --]

^ permalink raw reply	[flat|nested] 62+ messages in thread

* Re: [PATCH 20/30] lttng-modules: update to 2.11.0
  2019-12-15 16:45         ` Alexander Kanavin
@ 2019-12-15 17:16           ` Richard Purdie
  2019-12-15 17:24             ` Alexander Kanavin
  0 siblings, 1 reply; 62+ messages in thread
From: Richard Purdie @ 2019-12-15 17:16 UTC (permalink / raw)
  To: Alexander Kanavin, Bruce Ashfield; +Cc: OE-core

On Sun, 2019-12-15 at 17:45 +0100, Alexander Kanavin wrote:
> On Sun, 15 Dec 2019 at 17:28, Bruce Ashfield <
> bruce.ashfield@gmail.com> wrote:
> > > Another problem is that devtool isn't able to upgrade the main
> > variant properly with this included. I'd rather split it it into a
> > different recipe, if someone confirms the need.
> > 
> > It is definitely needed.
> 
> Right, then I'll rework this patch to split the dev version into a
> separate recipe with a shared .inc.

Can we teach devtool to be able to handle this?

In the back of my mind I'd still like to get poky-bleeding back running
to try and get earlier warning of upstream breakage. 

This sets a precedent of disallowing devupstream in recipes which I
don't really like the idea of :/

Cheers,

Richard



^ permalink raw reply	[flat|nested] 62+ messages in thread

* Re: [PATCH 20/30] lttng-modules: update to 2.11.0
  2019-12-15 17:16           ` Richard Purdie
@ 2019-12-15 17:24             ` Alexander Kanavin
  0 siblings, 0 replies; 62+ messages in thread
From: Alexander Kanavin @ 2019-12-15 17:24 UTC (permalink / raw)
  To: Richard Purdie; +Cc: OE-core

[-- Attachment #1: Type: text/plain, Size: 1011 bytes --]

On Sun, 15 Dec 2019 at 18:16, Richard Purdie <
richard.purdie@linuxfoundation.org> wrote:

> On Sun, 2019-12-15 at 17:45 +0100, Alexander Kanavin wrote:
> > On Sun, 15 Dec 2019 at 17:28, Bruce Ashfield <
> > bruce.ashfield@gmail.com> wrote:
> > > > Another problem is that devtool isn't able to upgrade the main
> > > variant properly with this included. I'd rather split it it into a
> > > different recipe, if someone confirms the need.
> > >
> > > It is definitely needed.
> >
> > Right, then I'll rework this patch to split the dev version into a
> > separate recipe with a shared .inc.
>
> Can we teach devtool to be able to handle this?
>
> In the back of my mind I'd still like to get poky-bleeding back running
> to try and get earlier warning of upstream breakage.
>
> This sets a precedent of disallowing devupstream in recipes which I
> don't really like the idea of :/
>

Maybe a quick fix would be to tell devtool to ignore devupstream, I'll take
a look tomorrow.

Alex

[-- Attachment #2: Type: text/html, Size: 1506 bytes --]

^ permalink raw reply	[flat|nested] 62+ messages in thread

* Re: [PATCH 07/30] gstreamer1.0-python: add a patch to fix python 3.8 builds
  2019-12-15 17:12         ` Alexander Kanavin
@ 2019-12-15 17:32           ` Khem Raj
  2019-12-15 17:52             ` Carlos Rafael Giani
  0 siblings, 1 reply; 62+ messages in thread
From: Khem Raj @ 2019-12-15 17:32 UTC (permalink / raw)
  To: Alexander Kanavin; +Cc: Patches and discussions about the oe-core layer

[-- Attachment #1: Type: text/plain, Size: 966 bytes --]

On Sun, Dec 15, 2019 at 9:12 AM Alexander Kanavin <alex.kanavin@gmail.com>
wrote:

> On Sun, 15 Dec 2019 at 18:06, Khem Raj <raj.khem@gmail.com> wrote:
>
>> This is expected; the patch should be merged together with 3.8 upgrade.
>>
>> I don’t think this patch is right though since this patch is creating
>> py3.8 dependency if you want to upstream something that should work with
>> all py3 I think
>>
>
> It's being discussed in the upstream submission ticket, and will be
> resolved; we can take the 3.8-specific fix meanwhile.
>

For better processing this series should be in three parts

1 Python 3.8 updates
2 gettext updates
3 rest of them

I have filtered it into roughly these and currently staged in yoe/mut just
the third part which i think can be applied with out much problem

For 1 and 2 there are breakages for many packages
And it would be better to identify them and let community know of and seek
help


> Alex
>

[-- Attachment #2: Type: text/html, Size: 2078 bytes --]

^ permalink raw reply	[flat|nested] 62+ messages in thread

* Re: [PATCH 07/30] gstreamer1.0-python: add a patch to fix python 3.8 builds
  2019-12-15 17:32           ` Khem Raj
@ 2019-12-15 17:52             ` Carlos Rafael Giani
  2019-12-15 18:10               ` Alexander Kanavin
  0 siblings, 1 reply; 62+ messages in thread
From: Carlos Rafael Giani @ 2019-12-15 17:52 UTC (permalink / raw)
  To: openembedded-core

[-- Attachment #1: Type: text/plain, Size: 1763 bytes --]

Is this related to an issue I mentioned in my RFC?

 > gstreamer1.0-python_1.16.1.bb currently has a problem in that the 
gst-python code tries to load /usr/lib/libpython3.7m.so. But, in a 
regular installation, only /usr/lib/libpython3.7m.so.1.0 would be 
availale. It is possible to adjust the libpython path & name during the 
build. But - what would it be adjusted to? How would the recipe know 
that "/usr/lib/libpython3.7m.so.1.0" is the correct choice? Or perhaps 
would it make sense to add the /usr/lib/libpython3.7m.so symlink to the 
regular (as in: non-dev) Python package?


On 15.12.19 18:32, Khem Raj wrote:
>
>
> On Sun, Dec 15, 2019 at 9:12 AM Alexander Kanavin 
> <alex.kanavin@gmail.com <mailto:alex.kanavin@gmail.com>> wrote:
>
>     On Sun, 15 Dec 2019 at 18:06, Khem Raj <raj.khem@gmail.com
>     <mailto:raj.khem@gmail.com>> wrote:
>
>         This is expected; the patch should be merged together with 3.8
>         upgrade.
>
>         I don’t think this patch is right though since this patch is
>         creating py3.8 dependency if you want to upstream something
>         that should work with all py3 I think
>
>
>     It's being discussed in the upstream submission ticket, and will
>     be resolved; we can take the 3.8-specific fix meanwhile.
>
>
> For better processing this series should be in three parts
>
> 1 Python 3.8 updates
> 2 gettext updates
> 3 rest of them
>
> I have filtered it into roughly these and currently staged in yoe/mut 
> just the third part which i think can be applied with out much problem
>
> For 1 and 2 there are breakages for many packages
> And it would be better to identify them and let community know of and 
> seek help
>
>
>     Alex
>
>

[-- Attachment #2: Type: text/html, Size: 4542 bytes --]

^ permalink raw reply	[flat|nested] 62+ messages in thread

* Re: [PATCH 07/30] gstreamer1.0-python: add a patch to fix python 3.8 builds
  2019-12-15 17:52             ` Carlos Rafael Giani
@ 2019-12-15 18:10               ` Alexander Kanavin
  0 siblings, 0 replies; 62+ messages in thread
From: Alexander Kanavin @ 2019-12-15 18:10 UTC (permalink / raw)
  To: Carlos Rafael Giani; +Cc: OE-core

[-- Attachment #1: Type: text/plain, Size: 2815 bytes --]

On Sun, 15 Dec 2019 at 18:52, Carlos Rafael Giani <crg7475@mailbox.org>
wrote:

> Is this related to an issue I mentioned in my RFC?
>
> > gstreamer1.0-python_1.16.1.bb currently has a problem in that the
> gst-python code tries to load /usr/lib/libpython3.7m.so. But, in a
> regular installation, only /usr/lib/libpython3.7m.so.1.0 would be availale.
> It is possible to adjust the libpython path & name during the build. But -
> what would it be adjusted to? How would the recipe know that
> "/usr/lib/libpython3.7m.so.1.0" is the correct choice? Or perhaps would it
> make sense to add the /usr/lib/libpython3.7m.so symlink to the regular
> (as in: non-dev) Python package?
>

The way I read the code [1], it only tries to do this if it's not
explicitly linked with libpython, and at least on my host, it is:

ak@linux-f9zs:~/development/poky> ldd /usr/lib64/gstreamer-1.0/
libgstpython.cpython-37m-x86_64-linux-gnu.so
        linux-vdso.so.1 (0x00007fffe931a000)
        libpython3.7m.so.1.0 => /usr/lib64/libpython3.7m.so.1.0
(0x00007fbb718e7000)
        libgstreamer-1.0.so.0 => /usr/lib64/libgstreamer-1.0.so.0
(0x00007fbb717a3000)
        libgobject-2.0.so.0 => /usr/lib64/libgobject-2.0.so.0
(0x00007fbb71747000)
...

The use case is rather marginal I'd say: writing gstreamer plugins in
python. The *other* thing gst-python does, accessing gstreamer API from
python scripts, is not affected.

[1]
https://gitlab.freedesktop.org/gstreamer/gst-python/blob/1.16.2/plugin/gstpythonplugin.c#L227

Alex



> On 15.12.19 18:32, Khem Raj wrote:
>
>
>
> On Sun, Dec 15, 2019 at 9:12 AM Alexander Kanavin <alex.kanavin@gmail.com>
> wrote:
>
>> On Sun, 15 Dec 2019 at 18:06, Khem Raj <raj.khem@gmail.com> wrote:
>>
>>> This is expected; the patch should be merged together with 3.8 upgrade.
>>>
>>> I don’t think this patch is right though since this patch is creating
>>> py3.8 dependency if you want to upstream something that should work with
>>> all py3 I think
>>>
>>
>> It's being discussed in the upstream submission ticket, and will be
>> resolved; we can take the 3.8-specific fix meanwhile.
>>
>
> For better processing this series should be in three parts
>
> 1 Python 3.8 updates
> 2 gettext updates
> 3 rest of them
>
> I have filtered it into roughly these and currently staged in yoe/mut just
> the third part which i think can be applied with out much problem
>
> For 1 and 2 there are breakages for many packages
> And it would be better to identify them and let community know of and seek
> help
>
>
>> Alex
>>
>
> --
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core
>

[-- Attachment #2: Type: text/html, Size: 6409 bytes --]

^ permalink raw reply	[flat|nested] 62+ messages in thread

* Re: [PATCH 03/30] gettext: update to 0.20.1
  2019-12-15 11:03   ` Richard Purdie
@ 2019-12-16 13:25     ` Alexander Kanavin
  2019-12-17 16:02       ` Alexander Kanavin
  0 siblings, 1 reply; 62+ messages in thread
From: Alexander Kanavin @ 2019-12-16 13:25 UTC (permalink / raw)
  To: Richard Purdie; +Cc: OE-core

[-- Attachment #1: Type: text/plain, Size: 914 bytes --]

On Sun, 15 Dec 2019 at 12:03, Richard Purdie <
richard.purdie@linuxfoundation.org> wrote:

> On Thu, 2019-12-12 at 19:14 +0100, Alexander Kanavin wrote:
> > License-Update: URLs changed from http to https
> > Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
>
> In an effort to try and get to the bottom of which patches cause which
> failures I ran the gettext updates pieces by themselves (patches 2-5).
>
> systemtap fails:
>
> https://autobuilder.yoctoproject.org/typhoon/#/builders/50/builds/1354
>
> the main a-full build in case there are other issues:
>
> https://autobuilder.yoctoproject.org/typhoon/#/builders/83/builds/580
>
> I know there is a fix for the check-layer/mingw pieces in master-next
> of meta-mingw, just forgot to set that branch.
>

Thanks, there are also failures in meta-gpl2, for which I will also make
patches.
Systemtap issue is now fixed.

Alex

[-- Attachment #2: Type: text/html, Size: 1586 bytes --]

^ permalink raw reply	[flat|nested] 62+ messages in thread

* Re: [PATCH 08/30] shadow: update 4.6 -> 4.8
  2019-12-12 18:14 ` [PATCH 08/30] shadow: update 4.6 -> 4.8 Alexander Kanavin
@ 2019-12-17  8:51   ` Richard Purdie
  0 siblings, 0 replies; 62+ messages in thread
From: Richard Purdie @ 2019-12-17  8:51 UTC (permalink / raw)
  To: Alexander Kanavin, openembedded-core

On Thu, 2019-12-12 at 19:14 +0100, Alexander Kanavin wrote:
> Drop two backports.
> 
> Remove 0001-useradd.c-create-parent-directories-when-necessary.patch
> as upstream has addressed the issue:
> https://github.com/shadow-maint/shadow/commit/b3b6d9d77c1d18b98670b97157777bb74092cd69
> 
> Rebase the rest of the paches.
> 
> Add a patch to remove the check for validity of login shells
> which does not work in our environment.

This upgrade causes this failure:

https://autobuilder.yoctoproject.org/typhoon/#/builders/57/builds/1346

ERROR: core-image-sato-1.0-r0 do_rootfs: [log_check] core-image-sato:
found 16 error messages in the logfile:
[log_check] pwconv: Failed to flush the sssd cache.
[log_check] pwconv: Failed to flush the sssd cache.
[log_check] grpconv: Failed to flush the sssd cache.
[log_check] grpconv: Failed to flush the sssd cache.
[log_check] useradd: Failed to flush the sssd cache.
[log_check] useradd: Failed to flush the sssd cache.
[log_check] useradd: Failed to flush the sssd cache.
[log_check] useradd: Failed to flush the sssd cache.
[log_check] useradd: Failed to flush the sssd cache.
[log_check] useradd: Failed to flush the sssd cache.
[log_check] useradd: Failed to flush the sssd cache.
[log_check] useradd: Failed to flush the sssd cache.
[log_check] groupadd: Failed to flush the sssd cache.
[log_check] groupadd: Failed to flush the sssd cache.
[log_check] useradd: Failed to flush the sssd cache.
[log_check] useradd: Failed to flush the sssd cache.


Cheers,

Richard



^ permalink raw reply	[flat|nested] 62+ messages in thread

* Re: [PATCH 10/30] libtasn1: update to 4.15.0
  2019-12-12 18:14 ` [PATCH 10/30] libtasn1: update to 4.15.0 Alexander Kanavin
@ 2019-12-17  8:53   ` Richard Purdie
  0 siblings, 0 replies; 62+ messages in thread
From: Richard Purdie @ 2019-12-17  8:53 UTC (permalink / raw)
  To: Alexander Kanavin, openembedded-core

On Thu, 2019-12-12 at 19:14 +0100, Alexander Kanavin wrote:
> Drop backports.
> 
> Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
> ---
>  .../gnutls/libtasn1/fix-gtkdoc.patch          | 38 ---------------
> ----
>  .../gnutls/libtasn1/fix-ldflags.patch         | 31 ---------------
>  .../{libtasn1_4.14.bb => libtasn1_4.15.0.bb}  | 11 ++++--
>  3 files changed, 7 insertions(+), 73 deletions(-)
>  delete mode 100644 meta/recipes-support/gnutls/libtasn1/fix-
> gtkdoc.patch
>  delete mode 100644 meta/recipes-support/gnutls/libtasn1/fix-
> ldflags.patch
>  rename meta/recipes-support/gnutls/{libtasn1_4.14.bb =>
> libtasn1_4.15.0.bb} (72%)

libtasn1-native fails:

https://autobuilder.yoctoproject.org/typhoon/#/builders/108/builds/153

(probably host specific, centos7)

Cheers,

Richard



^ permalink raw reply	[flat|nested] 62+ messages in thread

* Re: [PATCH 03/30] gettext: update to 0.20.1
  2019-12-16 13:25     ` Alexander Kanavin
@ 2019-12-17 16:02       ` Alexander Kanavin
  2019-12-20  8:18         ` Khem Raj
  0 siblings, 1 reply; 62+ messages in thread
From: Alexander Kanavin @ 2019-12-17 16:02 UTC (permalink / raw)
  To: Richard Purdie; +Cc: OE-core

[-- Attachment #1: Type: text/plain, Size: 846 bytes --]

On Mon, 16 Dec 2019 at 14:25, Alexander Kanavin <alex.kanavin@gmail.com>
wrote:

>
> In an effort to try and get to the bottom of which patches cause which
>> failures I ran the gettext updates pieces by themselves (patches 2-5).
>>
>> systemtap fails:
>>
>> https://autobuilder.yoctoproject.org/typhoon/#/builders/50/builds/1354
>>
>> the main a-full build in case there are other issues:
>>
>> https://autobuilder.yoctoproject.org/typhoon/#/builders/83/builds/580
>>
>> I know there is a fix for the check-layer/mingw pieces in master-next
>> of meta-mingw, just forgot to set that branch.
>>
>
> Thanks, there are also failures in meta-gpl2, for which I will also make
> patches.
> Systemtap issue is now fixed.
>

I have now sent the meta-gplv2 patches to yocto@ and the patchset for
gettext+systemtap here.

Alex

[-- Attachment #2: Type: text/html, Size: 1613 bytes --]

^ permalink raw reply	[flat|nested] 62+ messages in thread

* Re: [PATCH 03/30] gettext: update to 0.20.1
  2019-12-17 16:02       ` Alexander Kanavin
@ 2019-12-20  8:18         ` Khem Raj
  2019-12-20 13:10           ` Alexander Kanavin
  0 siblings, 1 reply; 62+ messages in thread
From: Khem Raj @ 2019-12-20  8:18 UTC (permalink / raw)
  To: Alexander Kanavin; +Cc: OE-core

On Tue, Dec 17, 2019 at 8:02 AM Alexander Kanavin
<alex.kanavin@gmail.com> wrote:
>
> On Mon, 16 Dec 2019 at 14:25, Alexander Kanavin <alex.kanavin@gmail.com> wrote:
>>
>>
>>> In an effort to try and get to the bottom of which patches cause which
>>> failures I ran the gettext updates pieces by themselves (patches 2-5).
>>>
>>> systemtap fails:
>>>
>>> https://autobuilder.yoctoproject.org/typhoon/#/builders/50/builds/1354
>>>
>>> the main a-full build in case there are other issues:
>>>
>>> https://autobuilder.yoctoproject.org/typhoon/#/builders/83/builds/580
>>>
>>> I know there is a fix for the check-layer/mingw pieces in master-next
>>> of meta-mingw, just forgot to set that branch.
>>
>>
>> Thanks, there are also failures in meta-gpl2, for which I will also make patches.
>> Systemtap issue is now fixed.
>
>
> I have now sent the meta-gplv2 patches to yocto@ and the patchset for gettext+systemtap here.
>
> Alex

few meta-oe failures with poky/master-next

https://autobuilder.yoctoproject.org/typhoon/#/builders/88/builds/173/steps/8/logs/step1b


^ permalink raw reply	[flat|nested] 62+ messages in thread

* Re: [PATCH 03/30] gettext: update to 0.20.1
  2019-12-20  8:18         ` Khem Raj
@ 2019-12-20 13:10           ` Alexander Kanavin
  2020-01-01  3:47             ` Khem Raj
  0 siblings, 1 reply; 62+ messages in thread
From: Alexander Kanavin @ 2019-12-20 13:10 UTC (permalink / raw)
  To: Khem Raj; +Cc: OE-core

[-- Attachment #1: Type: text/plain, Size: 1560 bytes --]

hddtemp is dead upstream and hasn't seen an upstream update in 14 years, so
prime candidate for removal.

gtkperf is similarly ancient, and gtk2 only.

netcat is just as ancient, and superseded by netcat-openbsd.

A patch for the other three (sharutils/indent/enscript) is now on the
oe-devel list.

Alex

On Fri, 20 Dec 2019 at 09:18, Khem Raj <raj.khem@gmail.com> wrote:

> On Tue, Dec 17, 2019 at 8:02 AM Alexander Kanavin
> <alex.kanavin@gmail.com> wrote:
> >
> > On Mon, 16 Dec 2019 at 14:25, Alexander Kanavin <alex.kanavin@gmail.com>
> wrote:
> >>
> >>
> >>> In an effort to try and get to the bottom of which patches cause which
> >>> failures I ran the gettext updates pieces by themselves (patches 2-5).
> >>>
> >>> systemtap fails:
> >>>
> >>> https://autobuilder.yoctoproject.org/typhoon/#/builders/50/builds/1354
> >>>
> >>> the main a-full build in case there are other issues:
> >>>
> >>> https://autobuilder.yoctoproject.org/typhoon/#/builders/83/builds/580
> >>>
> >>> I know there is a fix for the check-layer/mingw pieces in master-next
> >>> of meta-mingw, just forgot to set that branch.
> >>
> >>
> >> Thanks, there are also failures in meta-gpl2, for which I will also
> make patches.
> >> Systemtap issue is now fixed.
> >
> >
> > I have now sent the meta-gplv2 patches to yocto@ and the patchset for
> gettext+systemtap here.
> >
> > Alex
>
> few meta-oe failures with poky/master-next
>
>
> https://autobuilder.yoctoproject.org/typhoon/#/builders/88/builds/173/steps/8/logs/step1b
>

[-- Attachment #2: Type: text/html, Size: 2684 bytes --]

^ permalink raw reply	[flat|nested] 62+ messages in thread

* Re: [PATCH 03/30] gettext: update to 0.20.1
  2019-12-20 13:10           ` Alexander Kanavin
@ 2020-01-01  3:47             ` Khem Raj
  0 siblings, 0 replies; 62+ messages in thread
From: Khem Raj @ 2020-01-01  3:47 UTC (permalink / raw)
  To: Alexander Kanavin; +Cc: OE-core

On Fri, Dec 20, 2019 at 5:10 AM Alexander Kanavin
<alex.kanavin@gmail.com> wrote:
>
> hddtemp is dead upstream and hasn't seen an upstream update in 14 years, so prime candidate for removal.
>
> gtkperf is similarly ancient, and gtk2 only.
>
> netcat is just as ancient, and superseded by netcat-openbsd.
>
> A patch for the other three (sharutils/indent/enscript) is now on the oe-devel list.
>

I have fixes for hddtemp, gtkperf and netcat as well as vorbis-tools,
so now we are left with one package
udisks2 which seems to be exposing a bug in gettext see

http://errors.yoctoproject.org/Errors/Details/301238/

The relevant discussion is here

https://lists.gnu.org/archive/html/bug-gettext/2019-05/msg00125.html

we need to backport

https://git.savannah.gnu.org/gitweb/?p=gettext.git;a=commitdiff;h=2336451ed68d91ff4b5ae1acbc1eca30e47a86a9

to gettext which should help above case.

I have cooked up a patch and sent it to ml, it should apply on
oe-core/master-next

Please give it a whirl.

> Alex
>
> On Fri, 20 Dec 2019 at 09:18, Khem Raj <raj.khem@gmail.com> wrote:
>>
>> On Tue, Dec 17, 2019 at 8:02 AM Alexander Kanavin
>> <alex.kanavin@gmail.com> wrote:
>> >
>> > On Mon, 16 Dec 2019 at 14:25, Alexander Kanavin <alex.kanavin@gmail.com> wrote:
>> >>
>> >>
>> >>> In an effort to try and get to the bottom of which patches cause which
>> >>> failures I ran the gettext updates pieces by themselves (patches 2-5).
>> >>>
>> >>> systemtap fails:
>> >>>
>> >>> https://autobuilder.yoctoproject.org/typhoon/#/builders/50/builds/1354
>> >>>
>> >>> the main a-full build in case there are other issues:
>> >>>
>> >>> https://autobuilder.yoctoproject.org/typhoon/#/builders/83/builds/580
>> >>>
>> >>> I know there is a fix for the check-layer/mingw pieces in master-next
>> >>> of meta-mingw, just forgot to set that branch.
>> >>
>> >>
>> >> Thanks, there are also failures in meta-gpl2, for which I will also make patches.
>> >> Systemtap issue is now fixed.
>> >
>> >
>> > I have now sent the meta-gplv2 patches to yocto@ and the patchset for gettext+systemtap here.
>> >
>> > Alex
>>
>> few meta-oe failures with poky/master-next
>>
>> https://autobuilder.yoctoproject.org/typhoon/#/builders/88/builds/173/steps/8/logs/step1b


^ permalink raw reply	[flat|nested] 62+ messages in thread

end of thread, other threads:[~2020-01-01  3:47 UTC | newest]

Thread overview: 62+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-12-12 18:14 [PATCH 01/30] rpm: upgrade to 4.15.1 Alexander Kanavin
2019-12-12 18:14 ` [PATCH 02/30] gettext-minimal-native: update to 0.20.1 Alexander Kanavin
2019-12-12 18:14 ` [PATCH 03/30] gettext: " Alexander Kanavin
2019-12-15 11:03   ` Richard Purdie
2019-12-16 13:25     ` Alexander Kanavin
2019-12-17 16:02       ` Alexander Kanavin
2019-12-20  8:18         ` Khem Raj
2019-12-20 13:10           ` Alexander Kanavin
2020-01-01  3:47             ` Khem Raj
2019-12-12 18:14 ` [PATCH 04/30] psmisc: revert to default autopoint exclusion Alexander Kanavin
2019-12-12 18:14 ` [PATCH 05/30] gettext: fix failing ptests Alexander Kanavin
2019-12-12 18:14 ` [PATCH 06/30] python3: update to 3.8.0 Alexander Kanavin
2019-12-12 18:14 ` [PATCH 07/30] gstreamer1.0-python: add a patch to fix python 3.8 builds Alexander Kanavin
2019-12-15  5:21   ` Khem Raj
2019-12-15 11:00     ` Alexander Kanavin
2019-12-15 17:06       ` Khem Raj
2019-12-15 17:12         ` Alexander Kanavin
2019-12-15 17:32           ` Khem Raj
2019-12-15 17:52             ` Carlos Rafael Giani
2019-12-15 18:10               ` Alexander Kanavin
2019-12-12 18:14 ` [PATCH 08/30] shadow: update 4.6 -> 4.8 Alexander Kanavin
2019-12-17  8:51   ` Richard Purdie
2019-12-12 18:14 ` [PATCH 09/30] sysklogd: update to 2.0.3 Alexander Kanavin
2019-12-12 18:14 ` [PATCH 10/30] libtasn1: update to 4.15.0 Alexander Kanavin
2019-12-17  8:53   ` Richard Purdie
2019-12-12 18:14 ` [PATCH 11/30] sysklogd: Fix 2.0.3 upgrade fallouts on musl Alexander Kanavin
2019-12-12 18:14 ` [PATCH 12/30] dos2unix: update to 7.4.1 Alexander Kanavin
2019-12-12 18:14 ` [PATCH 13/30] puzzles: update to latest revision Alexander Kanavin
2019-12-12 18:14 ` [PATCH 14/30] glide: update to 0.13.3 Alexander Kanavin
2019-12-12 18:14 ` [PATCH 15/30] bluez: update 5.50 -> 5.52 Alexander Kanavin
2019-12-12 18:14 ` [PATCH 16/30] bluez5: disable debug output in ptests Alexander Kanavin
2019-12-12 18:14 ` [PATCH 17/30] libxml2: update to 2.9.10 Alexander Kanavin
2019-12-12 18:14 ` [PATCH 18/30] parted: update 3.2->3.3 Alexander Kanavin
2019-12-12 18:14 ` [PATCH 19/30] acl/attr: update to latest upstream releases Alexander Kanavin
2019-12-14 20:24   ` Khem Raj
2019-12-14 20:48     ` Alexander Kanavin
2019-12-12 18:14 ` [PATCH 20/30] lttng-modules: update to 2.11.0 Alexander Kanavin
2019-12-15 12:53   ` Richard Purdie
2019-12-15 16:20     ` Alexander Kanavin
2019-12-15 16:27       ` Bruce Ashfield
2019-12-15 16:45         ` Alexander Kanavin
2019-12-15 17:16           ` Richard Purdie
2019-12-15 17:24             ` Alexander Kanavin
2019-12-12 18:14 ` [PATCH 21/30] lttng-ust: " Alexander Kanavin
2019-12-15  5:26   ` Khem Raj
2019-12-12 18:14 ` [PATCH 22/30] lttng-tools: " Alexander Kanavin
2019-12-12 18:14 ` [PATCH 23/30] cups: update to 2.3.0 Alexander Kanavin
2019-12-13  2:55   ` Mittal, Anuj
2019-12-13 11:50     ` Alexander Kanavin
2019-12-12 18:14 ` [PATCH 24/30] man-pages: update to 5.04 Alexander Kanavin
2019-12-12 18:14 ` [PATCH 25/30] man-db: update to 2.9.0 Alexander Kanavin
2019-12-12 18:14 ` [PATCH 26/30] ltp: update to 20190930 Alexander Kanavin
2019-12-15  5:32   ` Khem Raj
2019-12-15 11:02     ` Alexander Kanavin
2019-12-15 17:11       ` Khem Raj
2019-12-15 17:15         ` Alexander Kanavin
2019-12-12 18:14 ` [PATCH 27/30] cpio: update to 2.13 Alexander Kanavin
2019-12-12 18:14 ` [PATCH 28/30] sudo: update to 1.8.29 Alexander Kanavin
2019-12-12 18:14 ` [PATCH 29/30] nfs-utils: update to 2.4.2 Alexander Kanavin
2019-12-15  5:23   ` Khem Raj
2019-12-12 18:14 ` [PATCH 30/30] debianutils: update to 4.9.1 Alexander Kanavin
2019-12-12 18:32 ` ✗ patchtest: failure for "rpm: upgrade to 4.15.1..." and 29 more Patchwork

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.