All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 01/17] connman-conf: ignore eth0 in qemu in a way that is not sysvinit-specific
@ 2022-04-07 17:00 Alexander Kanavin
  2022-04-07 17:00 ` [PATCH 02/17] llvm: update 13.0.1 -> 14.0.0 Alexander Kanavin
                   ` (16 more replies)
  0 siblings, 17 replies; 31+ messages in thread
From: Alexander Kanavin @ 2022-04-07 17:00 UTC (permalink / raw)
  To: openembedded-core; +Cc: Alexander Kanavin

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
---
 meta/recipes-connectivity/connman/connman-conf.bb        | 7 +++++--
 meta/recipes-connectivity/connman/connman-conf/main.conf | 2 ++
 2 files changed, 7 insertions(+), 2 deletions(-)
 create mode 100644 meta/recipes-connectivity/connman/connman-conf/main.conf

diff --git a/meta/recipes-connectivity/connman/connman-conf.bb b/meta/recipes-connectivity/connman/connman-conf.bb
index 6b9207c4cb..7959ed8e50 100644
--- a/meta/recipes-connectivity/connman/connman-conf.bb
+++ b/meta/recipes-connectivity/connman/connman-conf.bb
@@ -6,6 +6,9 @@ LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/GPL-2.0-only;m
 
 PR = "r2"
 
+SRC_URI = "file://main.conf \
+          "
+
 S = "${WORKDIR}"
 
 PACKAGE_ARCH = "${MACHINE_ARCH}"
@@ -14,6 +17,6 @@ FILES:${PN} = "${sysconfdir}/*"
 
 # Kernel IP-Config is perfectly capable of setting up networking passed in via ip=
 do_install:append:qemuall() {
-    mkdir -p ${D}${sysconfdir}/default
-    echo "export EXTRA_PARAM=\"-I eth0\"" > ${D}${sysconfdir}/default/connman
+    mkdir -p ${D}${sysconfdir}/connman
+    cp ${S}/main.conf ${D}${sysconfdir}/connman/main.conf
 }
diff --git a/meta/recipes-connectivity/connman/connman-conf/main.conf b/meta/recipes-connectivity/connman/connman-conf/main.conf
new file mode 100644
index 0000000000..a394e8f25b
--- /dev/null
+++ b/meta/recipes-connectivity/connman/connman-conf/main.conf
@@ -0,0 +1,2 @@
+[General]
+NetworkInterfaceBlacklist = eth0
-- 
2.30.2



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

* [PATCH 02/17] llvm: update 13.0.1 -> 14.0.0
  2022-04-07 17:00 [PATCH 01/17] connman-conf: ignore eth0 in qemu in a way that is not sysvinit-specific Alexander Kanavin
@ 2022-04-07 17:00 ` Alexander Kanavin
  2022-04-08  7:03   ` [OE-core] " Richard Purdie
  2022-04-07 17:00 ` [PATCH 03/17] llvm: use default install paths Alexander Kanavin
                   ` (15 subsequent siblings)
  16 siblings, 1 reply; 31+ messages in thread
From: Alexander Kanavin @ 2022-04-07 17:00 UTC (permalink / raw)
  To: openembedded-core; +Cc: Alexander Kanavin

llvm-config no longer links with libLLVM, so there is no need
to install it in -native (and it isn't built in the first place).
This also significantly speeds up llvm-native build.

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
---
 meta/conf/distro/include/tcmode-default.inc | 2 +-
 meta/recipes-devtools/llvm/llvm_git.bb      | 5 ++---
 2 files changed, 3 insertions(+), 4 deletions(-)

diff --git a/meta/conf/distro/include/tcmode-default.inc b/meta/conf/distro/include/tcmode-default.inc
index d362bd76c6..4a6d4da5d5 100644
--- a/meta/conf/distro/include/tcmode-default.inc
+++ b/meta/conf/distro/include/tcmode-default.inc
@@ -26,7 +26,7 @@ QEMUVERSION ?= "6.2%"
 GOVERSION ?= "1.17%"
 # This can not use wildcards like 8.0.% since it is also used in mesa to denote
 # llvm version being used, so always bump it with llvm recipe version bump
-LLVMVERSION ?= "13.0.1"
+LLVMVERSION ?= "14.0.0"
 RUSTVERSION ?= "1.59%"
 
 PREFERRED_VERSION_gcc ?= "${GCCVERSION}"
diff --git a/meta/recipes-devtools/llvm/llvm_git.bb b/meta/recipes-devtools/llvm/llvm_git.bb
index 9400bf0821..13f7fb763e 100644
--- a/meta/recipes-devtools/llvm/llvm_git.bb
+++ b/meta/recipes-devtools/llvm/llvm_git.bb
@@ -19,7 +19,7 @@ inherit cmake pkgconfig
 
 PROVIDES += "llvm${PV}"
 
-PV = "13.0.1"
+PV = "14.0.0"
 
 MAJOR_VERSION = "${@oe.utils.trim_version("${PV}", 1)}"
 
@@ -27,7 +27,7 @@ LLVM_RELEASE = "${PV}"
 LLVM_DIR = "llvm${LLVM_RELEASE}"
 
 BRANCH = "release/${MAJOR_VERSION}.x"
-SRCREV = "75e33f71c2dae584b13a7d1186ae0a038ba98838"
+SRCREV = "329fda39c507e8740978d10458451dcdb21563be"
 SRC_URI = "git://github.com/llvm/llvm-project.git;branch=${BRANCH};protocol=https \
            file://0006-llvm-TargetLibraryInfo-Undefine-libc-functions-if-th.patch;striplevel=2 \
            file://0007-llvm-allow-env-override-of-exe-path.patch;striplevel=2 \
@@ -145,7 +145,6 @@ do_install() {
 do_install:class-native() {
 	install -D -m 0755 ${B}/bin/llvm-tblgen ${D}${bindir}/llvm-tblgen${PV}
 	install -D -m 0755 ${B}/bin/llvm-config ${D}${bindir}/llvm-config${PV}
-	install -D -m 0755 ${B}/lib/libLLVM-${MAJOR_VERSION}.so ${D}${libdir}/libLLVM-${MAJOR_VERSION}.so
 }
 
 PACKAGES =+ "${PN}-bugpointpasses ${PN}-llvmhello ${PN}-libllvm ${PN}-liboptremarks ${PN}-liblto"
-- 
2.30.2



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

* [PATCH 03/17] llvm: use default install paths
  2022-04-07 17:00 [PATCH 01/17] connman-conf: ignore eth0 in qemu in a way that is not sysvinit-specific Alexander Kanavin
  2022-04-07 17:00 ` [PATCH 02/17] llvm: update 13.0.1 -> 14.0.0 Alexander Kanavin
@ 2022-04-07 17:00 ` Alexander Kanavin
  2022-04-07 17:00 ` [PATCH 04/17] squashfs-tools: update 4.5 -> 4.5.1 Alexander Kanavin
                   ` (14 subsequent siblings)
  16 siblings, 0 replies; 31+ messages in thread
From: Alexander Kanavin @ 2022-04-07 17:00 UTC (permalink / raw)
  To: openembedded-core; +Cc: Alexander Kanavin

There was a very brittle sed hack against cpp source code
that allowed installing multiple llvm versions into the same
target/sysroot. Patching with sed is prone to silent
regressions as it can change both too little and too much,
and it indeed it broke with llvm 14. It's also difficult to tell
what the 'right' change should look like.

If this feature is actually needed somewhere, please do it properly:
proper patch and upstream first.

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
---
 meta/recipes-devtools/llvm/llvm_git.bb | 58 +++++++-------------------
 meta/recipes-graphics/mesa/mesa.inc    |  2 +-
 2 files changed, 17 insertions(+), 43 deletions(-)

diff --git a/meta/recipes-devtools/llvm/llvm_git.bb b/meta/recipes-devtools/llvm/llvm_git.bb
index 13f7fb763e..8f7540fd70 100644
--- a/meta/recipes-devtools/llvm/llvm_git.bb
+++ b/meta/recipes-devtools/llvm/llvm_git.bb
@@ -24,7 +24,6 @@ PV = "14.0.0"
 MAJOR_VERSION = "${@oe.utils.trim_version("${PV}", 1)}"
 
 LLVM_RELEASE = "${PV}"
-LLVM_DIR = "llvm${LLVM_RELEASE}"
 
 BRANCH = "release/${MAJOR_VERSION}.x"
 SRCREV = "329fda39c507e8740978d10458451dcdb21563be"
@@ -91,13 +90,6 @@ EXTRA_OECMAKE:append:class-nativesdk = "\
                   -DLLVM_CONFIG_PATH=${STAGING_BINDIR_NATIVE}/llvm-config${PV} \
                  "
 
-do_configure:prepend() {
-# Fix paths in llvm-config
-	sed -i "s|sys::path::parent_path(CurrentPath))\.str()|sys::path::parent_path(sys::path::parent_path(CurrentPath))).str()|g" ${S}/tools/llvm-config/llvm-config.cpp
-	sed -ri "s#/(bin|include|lib)(/?\")#/\1/${LLVM_DIR}\2#g" ${S}/tools/llvm-config/llvm-config.cpp
-	sed -ri "s#lib/${LLVM_DIR}#${baselib}/${LLVM_DIR}#g" ${S}/tools/llvm-config/llvm-config.cpp
-}
-
 # patch out build host paths for reproducibility
 do_compile:prepend:class-target() {
         sed -i -e "s,${WORKDIR},,g" ${B}/tools/llvm-config/BuildVariables.inc
@@ -112,34 +104,17 @@ do_compile:class-native() {
 }
 
 do_install() {
-	DESTDIR=${LLVM_INSTALL_DIR} ninja -v install
-	install -D -m 0755 ${B}/bin/llvm-config ${D}${libdir}/${LLVM_DIR}/llvm-config
-
-	install -d ${D}${bindir}/${LLVM_DIR}
-	cp -r ${LLVM_INSTALL_DIR}${bindir}/* ${D}${bindir}/${LLVM_DIR}/
-
-	install -d ${D}${includedir}/${LLVM_DIR}
-	cp -r ${LLVM_INSTALL_DIR}${includedir}/* ${D}${includedir}/${LLVM_DIR}/
-
-	install -d ${D}${libdir}/${LLVM_DIR}
-
-	# The LLVM sources have "/lib" embedded and so we cannot completely rely on the ${libdir} variable
-	if [ -d ${LLVM_INSTALL_DIR}${libdir}/ ]; then
-		cp -r ${LLVM_INSTALL_DIR}${libdir}/* ${D}${libdir}/${LLVM_DIR}/
-	elif [ -d ${LLVM_INSTALL_DIR}${prefix}/lib ]; then
-		cp -r ${LLVM_INSTALL_DIR}${prefix}/lib/* ${D}${libdir}/${LLVM_DIR}/
-	elif [ -d ${LLVM_INSTALL_DIR}${prefix}/lib64 ]; then
-		cp -r ${LLVM_INSTALL_DIR}${prefix}/lib64/* ${D}${libdir}/${LLVM_DIR}/
-	fi
+	DESTDIR=${D} ninja -v install
 
-	# Remove unnecessary cmake files
-	rm -rf ${D}${libdir}/${LLVM_DIR}/cmake
+        # llvm harcodes usr/lib as install path, so this corrects it to actual libdir
+        mv -T -n ${D}/${prefix}/lib ${D}/${libdir}
 
-	ln -s ${LLVM_DIR}/libLLVM-${MAJOR_VERSION}${SOLIBSDEV} ${D}${libdir}/libLLVM-${MAJOR_VERSION}${SOLIBSDEV}
+        # Remove opt-viewer: https://llvm.org/docs/Remarks.html
+        rm -rf ${D}${datadir}/opt-viewer
+        rmdir ${D}${datadir}
 
-	# We'll have to delete the libLLVM.so due to multiple reasons...
-	rm -rf ${D}${libdir}/${LLVM_DIR}/libLLVM.so
-	rm -rf ${D}${libdir}/${LLVM_DIR}/libLTO.so
+        # reproducibility
+        sed -i -e 's,${WORKDIR},,g' ${D}/${libdir}/cmake/llvm/LLVMConfig.cmake
 }
 
 do_install:class-native() {
@@ -152,34 +127,33 @@ PACKAGES =+ "${PN}-bugpointpasses ${PN}-llvmhello ${PN}-libllvm ${PN}-liboptrema
 RRECOMMENDS:${PN}-dev += "${PN}-bugpointpasses ${PN}-llvmhello ${PN}-liboptremarks"
 
 FILES:${PN}-bugpointpasses = "\
-    ${libdir}/${LLVM_DIR}/BugpointPasses.so \
+    ${libdir}/BugpointPasses.so \
 "
 
 FILES:${PN}-libllvm = "\
-    ${libdir}/${LLVM_DIR}/libLLVM-${MAJOR_VERSION}.so \
     ${libdir}/libLLVM-${MAJOR_VERSION}.so \
 "
 
 FILES:${PN}-liblto += "\
-    ${libdir}/${LLVM_DIR}/libLTO.so.* \
+    ${libdir}/libLTO.so.* \
 "
 
 FILES:${PN}-liboptremarks += "\
-    ${libdir}/${LLVM_DIR}/libRemarks.so.* \
+    ${libdir}/libRemarks.so.* \
 "
 
 FILES:${PN}-llvmhello = "\
-    ${libdir}/${LLVM_DIR}/LLVMHello.so \
+    ${libdir}/LLVMHello.so \
 "
 
 FILES:${PN}-dev += " \
-    ${libdir}/${LLVM_DIR}/llvm-config \
-    ${libdir}/${LLVM_DIR}/libRemarks.so \
-    ${libdir}/${LLVM_DIR}/libLLVM-${PV}.so \
+    ${libdir}/llvm-config \
+    ${libdir}/libRemarks.so \
+    ${libdir}/libLLVM-${PV}.so \
 "
 
 FILES:${PN}-staticdev += "\
-    ${libdir}/${LLVM_DIR}/*.a \
+    ${libdir}/*.a \
 "
 
 INSANE_SKIP:${PN}-libllvm += "dev-so"
diff --git a/meta/recipes-graphics/mesa/mesa.inc b/meta/recipes-graphics/mesa/mesa.inc
index e8c07a4563..21fa1a6a9e 100644
--- a/meta/recipes-graphics/mesa/mesa.inc
+++ b/meta/recipes-graphics/mesa/mesa.inc
@@ -52,7 +52,7 @@ ANY_OF_DISTRO_FEATURES:class-target = "opengl vulkan"
 
 PLATFORMS ??= "${@bb.utils.filter('PACKAGECONFIG', 'x11 wayland', d)}"
 
-export YOCTO_ALTERNATE_EXE_PATH = "${STAGING_LIBDIR}/llvm${MESA_LLVM_RELEASE}/llvm-config"
+export YOCTO_ALTERNATE_EXE_PATH = "${STAGING_LIBDIR}/llvm-config"
 export YOCTO_ALTERNATE_MULTILIB_NAME = "${base_libdir}"
 export LLVM_CONFIG = "${STAGING_BINDIR_NATIVE}/llvm-config${MESA_LLVM_RELEASE}"
 export WANT_LLVM_RELEASE = "${MESA_LLVM_RELEASE}"
-- 
2.30.2



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

* [PATCH 04/17] squashfs-tools: update 4.5 -> 4.5.1
  2022-04-07 17:00 [PATCH 01/17] connman-conf: ignore eth0 in qemu in a way that is not sysvinit-specific Alexander Kanavin
  2022-04-07 17:00 ` [PATCH 02/17] llvm: update 13.0.1 -> 14.0.0 Alexander Kanavin
  2022-04-07 17:00 ` [PATCH 03/17] llvm: use default install paths Alexander Kanavin
@ 2022-04-07 17:00 ` Alexander Kanavin
  2022-04-07 19:55   ` [OE-core] " Khem Raj
  2022-04-07 17:00 ` [PATCH 05/17] go-helloworld: update to latest revision Alexander Kanavin
                   ` (13 subsequent siblings)
  16 siblings, 1 reply; 31+ messages in thread
From: Alexander Kanavin @ 2022-04-07 17:00 UTC (permalink / raw)
  To: openembedded-core; +Cc: Alexander Kanavin

Drop backports.

Correctly set source and installation directories.

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
---
 ....sh-do-not-write-original-timestamps.patch |  30 ++
 ...e-of-INSTALL_DIR-for-symlink-targets.patch |  34 --
 .../CVE-2021-41072-requisite-1.patch          | 135 -------
 .../CVE-2021-41072-requisite-2.patch          | 108 ------
 .../CVE-2021-41072-requisite-3.patch          | 326 -----------------
 .../squashfs-tools/CVE-2021-41072.patch       | 329 ------------------
 .../squashfs-tools/squashfs-tools_git.bb      |  20 +-
 7 files changed, 39 insertions(+), 943 deletions(-)
 create mode 100644 meta/recipes-devtools/squashfs-tools/files/0001-install-manpages.sh-do-not-write-original-timestamps.patch
 delete mode 100644 meta/recipes-devtools/squashfs-tools/squashfs-tools/0001-Avoid-use-of-INSTALL_DIR-for-symlink-targets.patch
 delete mode 100644 meta/recipes-devtools/squashfs-tools/squashfs-tools/CVE-2021-41072-requisite-1.patch
 delete mode 100644 meta/recipes-devtools/squashfs-tools/squashfs-tools/CVE-2021-41072-requisite-2.patch
 delete mode 100644 meta/recipes-devtools/squashfs-tools/squashfs-tools/CVE-2021-41072-requisite-3.patch
 delete mode 100644 meta/recipes-devtools/squashfs-tools/squashfs-tools/CVE-2021-41072.patch

diff --git a/meta/recipes-devtools/squashfs-tools/files/0001-install-manpages.sh-do-not-write-original-timestamps.patch b/meta/recipes-devtools/squashfs-tools/files/0001-install-manpages.sh-do-not-write-original-timestamps.patch
new file mode 100644
index 0000000000..ed1d2f5b3b
--- /dev/null
+++ b/meta/recipes-devtools/squashfs-tools/files/0001-install-manpages.sh-do-not-write-original-timestamps.patch
@@ -0,0 +1,30 @@
+From b44b00dae195d8587857c7e8054e9be4eaa1f8b3 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex@linutronix.de>
+Date: Thu, 7 Apr 2022 09:26:09 +0200
+Subject: [PATCH] install-manpages.sh: do not write original timestamps into
+ .gz metadata
+
+This helps binary reproducibility.
+
+Upstream-Status: Submitted [https://github.com/plougher/squashfs-tools/pull/177]
+Signed-off-by: Alexander Kanavin <alex@linutronix.de>
+---
+ generate-manpages/install-manpages.sh | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/generate-manpages/install-manpages.sh b/generate-manpages/install-manpages.sh
+index d4c9e91..6a43b89 100755
+--- a/generate-manpages/install-manpages.sh
++++ b/generate-manpages/install-manpages.sh
+@@ -56,7 +56,7 @@ for i in mksquashfs unsquashfs sqfstar sqfscat; do
+ 		exit 1
+ 	fi
+ 
+-	if ! gzip -f9 $2/$i.1; then
++	if ! gzip -n -f9 $2/$i.1; then
+ 		echo "$0: Compressing installed manpage failed.  Aborting" >&2
+ 		exit 1
+ 	fi
+-- 
+2.30.2
+
diff --git a/meta/recipes-devtools/squashfs-tools/squashfs-tools/0001-Avoid-use-of-INSTALL_DIR-for-symlink-targets.patch b/meta/recipes-devtools/squashfs-tools/squashfs-tools/0001-Avoid-use-of-INSTALL_DIR-for-symlink-targets.patch
deleted file mode 100644
index b505f05735..0000000000
--- a/meta/recipes-devtools/squashfs-tools/squashfs-tools/0001-Avoid-use-of-INSTALL_DIR-for-symlink-targets.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From c9e263a7add76df1ed92e879d964264067c0f6e8 Mon Sep 17 00:00:00 2001
-From: Patrick McCarty <patrick.mccarty@intel.com>
-Date: Mon, 26 Jul 2021 11:38:43 -0700
-Subject: [PATCH] Avoid use of INSTALL_DIR for symlink targets
-
-In case INSTALL_DIR is overridden with a staged install location, using
-INSTALL_DIR for the symlink target path prefix will yield an incorrect location
-for the final installation.
-
-Because the symlink itself is already installed to INSTALL_DIR, simply removing
-the INSTALL_DIR prefix suffices as a fix.
-
-Note that using $DESTDIR/$INSTALL_DIR where appropriate can avoid this type of
-issue, but that can be considered a future enhancement.
-
-Upstream-Status: Backport
-Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
----
- squashfs-tools/Makefile | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/squashfs-tools/Makefile b/squashfs-tools/Makefile
-index 5795d0d..998c5fd 100755
---- a/Makefile
-+++ b/Makefile
-@@ -406,5 +406,5 @@ install: mksquashfs unsquashfs
- 	mkdir -p $(INSTALL_DIR)
- 	cp mksquashfs $(INSTALL_DIR)
- 	cp unsquashfs $(INSTALL_DIR)
--	ln -fs $(INSTALL_DIR)/unsquashfs $(INSTALL_DIR)/sqfscat
--	ln -fs $(INSTALL_DIR)/mksquashfs $(INSTALL_DIR)/sqfstar
-+	ln -fs unsquashfs $(INSTALL_DIR)/sqfscat
-+	ln -fs mksquashfs $(INSTALL_DIR)/sqfstar
diff --git a/meta/recipes-devtools/squashfs-tools/squashfs-tools/CVE-2021-41072-requisite-1.patch b/meta/recipes-devtools/squashfs-tools/squashfs-tools/CVE-2021-41072-requisite-1.patch
deleted file mode 100644
index d01b5c6871..0000000000
--- a/meta/recipes-devtools/squashfs-tools/squashfs-tools/CVE-2021-41072-requisite-1.patch
+++ /dev/null
@@ -1,135 +0,0 @@
-The commit is required by the fix for CVE-2021-41072.
-
-Upstream-Status: Backport [https://github.com/plougher/squashfs-tools/commit/80b8441]
-
-Signed-off-by: Kai Kang <kai.kang@windriver.com>
-
-From 80b8441a37fcf8bf07dacf24d9d6c6459a0f6e36 Mon Sep 17 00:00:00 2001
-From: Phillip Lougher <phillip@squashfs.org.uk>
-Date: Sun, 12 Sep 2021 19:58:19 +0100
-Subject: [PATCH] unsquashfs: use squashfs_closedir() to delete directory
-
-Signed-off-by: Phillip Lougher <phillip@squashfs.org.uk>
----
- squashfs-tools/unsquash-1.c    |  3 +--
- squashfs-tools/unsquash-1234.c | 11 +++++++++--
- squashfs-tools/unsquash-2.c    |  3 +--
- squashfs-tools/unsquash-3.c    |  3 +--
- squashfs-tools/unsquash-4.c    |  3 +--
- squashfs-tools/unsquashfs.c    |  7 -------
- squashfs-tools/unsquashfs.h    |  1 +
- 7 files changed, 14 insertions(+), 17 deletions(-)
-
-diff --git a/squashfs-tools/unsquash-1.c b/squashfs-tools/unsquash-1.c
-index acba821..7598499 100644
---- a/squashfs-tools/unsquash-1.c
-+++ b/squashfs-tools/unsquash-1.c
-@@ -373,8 +373,7 @@ static struct dir *squashfs_opendir(unsigned int block_start, unsigned int offse
- 	return dir;
- 
- corrupted:
--	free(dir->dirs);
--	free(dir);
-+	squashfs_closedir(dir);
- 	return NULL;
- }
- 
-diff --git a/squashfs-tools/unsquash-1234.c b/squashfs-tools/unsquash-1234.c
-index c2d4f42..0c8dfbb 100644
---- a/squashfs-tools/unsquash-1234.c
-+++ b/squashfs-tools/unsquash-1234.c
-@@ -25,8 +25,8 @@
-  * unsquash-4.
-  */
- 
--#define TRUE 1
--#define FALSE 0
-+#include "unsquashfs.h"
-+
- /*
-  * Check name for validity, name should not
-  *  - be ".", "./", or
-@@ -56,3 +56,10 @@ int check_name(char *name, int size)
- 
- 	return TRUE;
- }
-+
-+
-+void squashfs_closedir(struct dir *dir)
-+{
-+	free(dir->dirs);
-+	free(dir);
-+}
-diff --git a/squashfs-tools/unsquash-2.c b/squashfs-tools/unsquash-2.c
-index 0746b3d..86f62ba 100644
---- a/squashfs-tools/unsquash-2.c
-+++ b/squashfs-tools/unsquash-2.c
-@@ -465,8 +465,7 @@ static struct dir *squashfs_opendir(unsigned int block_start, unsigned int offse
- 	return dir;
- 
- corrupted:
--	free(dir->dirs);
--	free(dir);
-+	squashfs_closedir(dir);
- 	return NULL;
- }
- 
-diff --git a/squashfs-tools/unsquash-3.c b/squashfs-tools/unsquash-3.c
-index 094caaa..c04aa9e 100644
---- a/squashfs-tools/unsquash-3.c
-+++ b/squashfs-tools/unsquash-3.c
-@@ -499,8 +499,7 @@ static struct dir *squashfs_opendir(unsigned int block_start, unsigned int offse
- 	return dir;
- 
- corrupted:
--	free(dir->dirs);
--	free(dir);
-+	squashfs_closedir(dir);
- 	return NULL;
- }
- 
-diff --git a/squashfs-tools/unsquash-4.c b/squashfs-tools/unsquash-4.c
-index 3a1b9e1..ff62dcc 100644
---- a/squashfs-tools/unsquash-4.c
-+++ b/squashfs-tools/unsquash-4.c
-@@ -436,8 +436,7 @@ static struct dir *squashfs_opendir(unsigned int block_start, unsigned int offse
- 	return dir;
- 
- corrupted:
--	free(dir->dirs);
--	free(dir);
-+	squashfs_closedir(dir);
- 	return NULL;
- }
- 
-diff --git a/squashfs-tools/unsquashfs.c b/squashfs-tools/unsquashfs.c
-index 7b590bd..04be53c 100644
---- a/squashfs-tools/unsquashfs.c
-+++ b/squashfs-tools/unsquashfs.c
-@@ -1350,13 +1350,6 @@ unsigned int *offset, unsigned int *type)
- }
- 
- 
--void squashfs_closedir(struct dir *dir)
--{
--	free(dir->dirs);
--	free(dir);
--}
--
--
- char *get_component(char *target, char **targname)
- {
- 	char *start;
-diff --git a/squashfs-tools/unsquashfs.h b/squashfs-tools/unsquashfs.h
-index 2e9201c..5ecb2ab 100644
---- a/squashfs-tools/unsquashfs.h
-+++ b/squashfs-tools/unsquashfs.h
-@@ -291,4 +291,5 @@ extern long long *alloc_index_table(int);
- 
- /* unsquash-1234.c */
- extern int check_name(char *, int);
-+extern void squashfs_closedir(struct dir *);
- #endif
--- 
-2.17.1
-
diff --git a/meta/recipes-devtools/squashfs-tools/squashfs-tools/CVE-2021-41072-requisite-2.patch b/meta/recipes-devtools/squashfs-tools/squashfs-tools/CVE-2021-41072-requisite-2.patch
deleted file mode 100644
index 6b230b35c6..0000000000
--- a/meta/recipes-devtools/squashfs-tools/squashfs-tools/CVE-2021-41072-requisite-2.patch
+++ /dev/null
@@ -1,108 +0,0 @@
-The commit is required by the fix for CVE-2021-41072.
-
-Upstream-Status: Backport [https://github.com/plougher/squashfs-tools/commit/1993a4e]
-
-Signed-off-by: Kai Kang <kai.kang@windriver.com>
-
-From 1993a4e7aeda04962bf26e84c15fba8b58837e10 Mon Sep 17 00:00:00 2001
-From: Phillip Lougher <phillip@squashfs.org.uk>
-Date: Sun, 12 Sep 2021 20:09:13 +0100
-Subject: [PATCH] unsquashfs: dynamically allocate name
-
-Dynamically allocate name rather than store it
-directly in structure.
-
-Signed-off-by: Phillip Lougher <phillip@squashfs.org.uk>
----
- squashfs-tools/unsquash-1.c    | 2 +-
- squashfs-tools/unsquash-1234.c | 5 +++++
- squashfs-tools/unsquash-2.c    | 2 +-
- squashfs-tools/unsquash-3.c    | 2 +-
- squashfs-tools/unsquash-4.c    | 2 +-
- squashfs-tools/unsquashfs.h    | 2 +-
- 6 files changed, 10 insertions(+), 5 deletions(-)
-
-diff --git a/squashfs-tools/unsquash-1.c b/squashfs-tools/unsquash-1.c
-index 7598499..d0121c6 100644
---- a/squashfs-tools/unsquash-1.c
-+++ b/squashfs-tools/unsquash-1.c
-@@ -360,7 +360,7 @@ static struct dir *squashfs_opendir(unsigned int block_start, unsigned int offse
- 				dir->dirs = new_dir;
- 			}
- 
--			strcpy(dir->dirs[dir->dir_count].name, dire->name);
-+			dir->dirs[dir->dir_count].name = strdup(dire->name);
- 			dir->dirs[dir->dir_count].start_block =
- 				dirh.start_block;
- 			dir->dirs[dir->dir_count].offset = dire->offset;
-diff --git a/squashfs-tools/unsquash-1234.c b/squashfs-tools/unsquash-1234.c
-index 0c8dfbb..ac46d9d 100644
---- a/squashfs-tools/unsquash-1234.c
-+++ b/squashfs-tools/unsquash-1234.c
-@@ -60,6 +60,11 @@ int check_name(char *name, int size)
- 
- void squashfs_closedir(struct dir *dir)
- {
-+	int i;
-+
-+	for(i = 0; i < dir->dir_count; i++)
-+		free(dir->dirs[i].name);
-+
- 	free(dir->dirs);
- 	free(dir);
- }
-diff --git a/squashfs-tools/unsquash-2.c b/squashfs-tools/unsquash-2.c
-index 86f62ba..e847980 100644
---- a/squashfs-tools/unsquash-2.c
-+++ b/squashfs-tools/unsquash-2.c
-@@ -452,7 +452,7 @@ static struct dir *squashfs_opendir(unsigned int block_start, unsigned int offse
- 				dir->dirs = new_dir;
- 			}
- 
--			strcpy(dir->dirs[dir->dir_count].name, dire->name);
-+			dir->dirs[dir->dir_count].name = strdup(dire->name);
- 			dir->dirs[dir->dir_count].start_block =
- 				dirh.start_block;
- 			dir->dirs[dir->dir_count].offset = dire->offset;
-diff --git a/squashfs-tools/unsquash-3.c b/squashfs-tools/unsquash-3.c
-index c04aa9e..8223f27 100644
---- a/squashfs-tools/unsquash-3.c
-+++ b/squashfs-tools/unsquash-3.c
-@@ -486,7 +486,7 @@ static struct dir *squashfs_opendir(unsigned int block_start, unsigned int offse
- 				dir->dirs = new_dir;
- 			}
- 
--			strcpy(dir->dirs[dir->dir_count].name, dire->name);
-+			dir->dirs[dir->dir_count].name = strdup(dire->name);
- 			dir->dirs[dir->dir_count].start_block =
- 				dirh.start_block;
- 			dir->dirs[dir->dir_count].offset = dire->offset;
-diff --git a/squashfs-tools/unsquash-4.c b/squashfs-tools/unsquash-4.c
-index ff62dcc..1e199a7 100644
---- a/squashfs-tools/unsquash-4.c
-+++ b/squashfs-tools/unsquash-4.c
-@@ -423,7 +423,7 @@ static struct dir *squashfs_opendir(unsigned int block_start, unsigned int offse
- 				dir->dirs = new_dir;
- 			}
- 
--			strcpy(dir->dirs[dir->dir_count].name, dire->name);
-+			dir->dirs[dir->dir_count].name = strdup(dire->name);
- 			dir->dirs[dir->dir_count].start_block =
- 				dirh.start_block;
- 			dir->dirs[dir->dir_count].offset = dire->offset;
-diff --git a/squashfs-tools/unsquashfs.h b/squashfs-tools/unsquashfs.h
-index 5ecb2ab..583fbe4 100644
---- a/squashfs-tools/unsquashfs.h
-+++ b/squashfs-tools/unsquashfs.h
-@@ -164,7 +164,7 @@ struct queue {
- #define DIR_ENT_SIZE	16
- 
- struct dir_ent	{
--	char		name[SQUASHFS_NAME_LEN + 1];
-+	char		*name;
- 	unsigned int	start_block;
- 	unsigned int	offset;
- 	unsigned int	type;
--- 
-2.17.1
-
diff --git a/meta/recipes-devtools/squashfs-tools/squashfs-tools/CVE-2021-41072-requisite-3.patch b/meta/recipes-devtools/squashfs-tools/squashfs-tools/CVE-2021-41072-requisite-3.patch
deleted file mode 100644
index 5d5df6f15b..0000000000
--- a/meta/recipes-devtools/squashfs-tools/squashfs-tools/CVE-2021-41072-requisite-3.patch
+++ /dev/null
@@ -1,326 +0,0 @@
-The commit is required by the fix for CVE-2021-41072.
-
-Upstream-Status: Backport [https://github.com/plougher/squashfs-tools/commit/9938154]
-
-Signed-off-by: Kai Kang <kai.kang@windriver.com>
-
-From 9938154174756ee48a94ea0b076397a2944b028d Mon Sep 17 00:00:00 2001
-From: Phillip Lougher <phillip@squashfs.org.uk>
-Date: Sun, 12 Sep 2021 22:58:11 +0100
-Subject: [PATCH] unsquashfs: use linked list to store directory names
-
-This should bring higher performance, and it allows sorting
-if necessary (1.x and 2.0 filesystems).
-
-Signed-off-by: Phillip Lougher <phillip@squashfs.org.uk>
----
- squashfs-tools/unsquash-1.c    | 30 +++++++++++++++---------------
- squashfs-tools/unsquash-1234.c | 12 ++++++++----
- squashfs-tools/unsquash-2.c    | 29 +++++++++++++++--------------
- squashfs-tools/unsquash-3.c    | 29 +++++++++++++++--------------
- squashfs-tools/unsquash-4.c    | 29 +++++++++++++++--------------
- squashfs-tools/unsquashfs.c    | 16 ++++++++++------
- squashfs-tools/unsquashfs.h    |  3 ++-
- 7 files changed, 80 insertions(+), 68 deletions(-)
-
-diff --git a/squashfs-tools/unsquash-1.c b/squashfs-tools/unsquash-1.c
-index d0121c6..b604434 100644
---- a/squashfs-tools/unsquash-1.c
-+++ b/squashfs-tools/unsquash-1.c
-@@ -254,7 +254,7 @@ static struct dir *squashfs_opendir(unsigned int block_start, unsigned int offse
- 	long long start;
- 	int bytes = 0;
- 	int dir_count, size, res;
--	struct dir_ent *new_dir;
-+	struct dir_ent *ent, *cur_ent = NULL;
- 	struct dir *dir;
- 
- 	TRACE("squashfs_opendir: inode start block %d, offset %d\n",
-@@ -267,7 +267,7 @@ static struct dir *squashfs_opendir(unsigned int block_start, unsigned int offse
- 		MEM_ERROR();
- 
- 	dir->dir_count = 0;
--	dir->cur_entry = 0;
-+	dir->cur_entry = NULL;
- 	dir->mode = (*i)->mode;
- 	dir->uid = (*i)->uid;
- 	dir->guid = (*i)->gid;
-@@ -351,20 +351,20 @@ static struct dir *squashfs_opendir(unsigned int block_start, unsigned int offse
- 				"%d:%d, type %d\n", dire->name,
- 				dirh.start_block, dire->offset, dire->type);
- 
--			if((dir->dir_count % DIR_ENT_SIZE) == 0) {
--				new_dir = realloc(dir->dirs, (dir->dir_count +
--					DIR_ENT_SIZE) * sizeof(struct dir_ent));
--				if(new_dir == NULL)
--					MEM_ERROR();
--
--				dir->dirs = new_dir;
--			}
-+			ent = malloc(sizeof(struct dir_ent));
-+			if(ent == NULL)
-+				MEM_ERROR();
- 
--			dir->dirs[dir->dir_count].name = strdup(dire->name);
--			dir->dirs[dir->dir_count].start_block =
--				dirh.start_block;
--			dir->dirs[dir->dir_count].offset = dire->offset;
--			dir->dirs[dir->dir_count].type = dire->type;
-+			ent->name = strdup(dire->name);
-+			ent->start_block = dirh.start_block;
-+			ent->offset = dire->offset;
-+			ent->type = dire->type;
-+			ent->next = NULL;
-+			if(cur_ent == NULL)
-+				dir->dirs = ent;
-+			else
-+				cur_ent->next = ent;
-+			cur_ent = ent;
- 			dir->dir_count ++;
- 			bytes += dire->size + 1;
- 		}
-diff --git a/squashfs-tools/unsquash-1234.c b/squashfs-tools/unsquash-1234.c
-index ac46d9d..e389f8d 100644
---- a/squashfs-tools/unsquash-1234.c
-+++ b/squashfs-tools/unsquash-1234.c
-@@ -60,11 +60,15 @@ int check_name(char *name, int size)
- 
- void squashfs_closedir(struct dir *dir)
- {
--	int i;
-+	struct dir_ent *ent = dir->dirs;
- 
--	for(i = 0; i < dir->dir_count; i++)
--		free(dir->dirs[i].name);
-+	while(ent) {
-+		struct dir_ent *tmp = ent;
-+
-+		ent = ent->next;
-+		free(tmp->name);
-+		free(tmp);
-+	}
- 
--	free(dir->dirs);
- 	free(dir);
- }
-diff --git a/squashfs-tools/unsquash-2.c b/squashfs-tools/unsquash-2.c
-index e847980..956f96f 100644
---- a/squashfs-tools/unsquash-2.c
-+++ b/squashfs-tools/unsquash-2.c
-@@ -347,7 +347,7 @@ static struct dir *squashfs_opendir(unsigned int block_start, unsigned int offse
- 	long long start;
- 	int bytes = 0;
- 	int dir_count, size, res;
--	struct dir_ent *new_dir;
-+	struct dir_ent *ent, *cur_ent = NULL;
- 	struct dir *dir;
- 
- 	TRACE("squashfs_opendir: inode start block %d, offset %d\n",
-@@ -360,7 +360,7 @@ static struct dir *squashfs_opendir(unsigned int block_start, unsigned int offse
- 		MEM_ERROR();
- 
- 	dir->dir_count = 0;
--	dir->cur_entry = 0;
-+	dir->cur_entry = NULL;
- 	dir->mode = (*i)->mode;
- 	dir->uid = (*i)->uid;
- 	dir->guid = (*i)->gid;
-@@ -444,19 +444,20 @@ static struct dir *squashfs_opendir(unsigned int block_start, unsigned int offse
- 				"%d:%d, type %d\n", dire->name,
- 				dirh.start_block, dire->offset, dire->type);
- 
--			if((dir->dir_count % DIR_ENT_SIZE) == 0) {
--				new_dir = realloc(dir->dirs, (dir->dir_count +
--					DIR_ENT_SIZE) * sizeof(struct dir_ent));
--				if(new_dir == NULL)
--					MEM_ERROR();
--				dir->dirs = new_dir;
--			}
-+			ent = malloc(sizeof(struct dir_ent));
-+			if(ent == NULL)
-+				MEM_ERROR();
- 
--			dir->dirs[dir->dir_count].name = strdup(dire->name);
--			dir->dirs[dir->dir_count].start_block =
--				dirh.start_block;
--			dir->dirs[dir->dir_count].offset = dire->offset;
--			dir->dirs[dir->dir_count].type = dire->type;
-+			ent->name = strdup(dire->name);
-+			ent->start_block = dirh.start_block;
-+			ent->offset = dire->offset;
-+			ent->type = dire->type;
-+			ent->next = NULL;
-+			if(cur_ent == NULL)
-+				dir->dirs = ent;
-+			else
-+				cur_ent->next = ent;
-+			cur_ent = ent;
- 			dir->dir_count ++;
- 			bytes += dire->size + 1;
- 		}
-diff --git a/squashfs-tools/unsquash-3.c b/squashfs-tools/unsquash-3.c
-index 8223f27..835a574 100644
---- a/squashfs-tools/unsquash-3.c
-+++ b/squashfs-tools/unsquash-3.c
-@@ -381,7 +381,7 @@ static struct dir *squashfs_opendir(unsigned int block_start, unsigned int offse
- 	long long start;
- 	int bytes = 0;
- 	int dir_count, size, res;
--	struct dir_ent *new_dir;
-+	struct dir_ent *ent, *cur_ent = NULL;
- 	struct dir *dir;
- 
- 	TRACE("squashfs_opendir: inode start block %d, offset %d\n",
-@@ -394,7 +394,7 @@ static struct dir *squashfs_opendir(unsigned int block_start, unsigned int offse
- 		MEM_ERROR();
- 
- 	dir->dir_count = 0;
--	dir->cur_entry = 0;
-+	dir->cur_entry = NULL;
- 	dir->mode = (*i)->mode;
- 	dir->uid = (*i)->uid;
- 	dir->guid = (*i)->gid;
-@@ -478,19 +478,20 @@ static struct dir *squashfs_opendir(unsigned int block_start, unsigned int offse
- 				"%d:%d, type %d\n", dire->name,
- 				dirh.start_block, dire->offset, dire->type);
- 
--			if((dir->dir_count % DIR_ENT_SIZE) == 0) {
--				new_dir = realloc(dir->dirs, (dir->dir_count +
--					DIR_ENT_SIZE) * sizeof(struct dir_ent));
--				if(new_dir == NULL)
--					MEM_ERROR();
--				dir->dirs = new_dir;
--			}
-+			ent = malloc(sizeof(struct dir_ent));
-+			if(ent == NULL)
-+				MEM_ERROR();
- 
--			dir->dirs[dir->dir_count].name = strdup(dire->name);
--			dir->dirs[dir->dir_count].start_block =
--				dirh.start_block;
--			dir->dirs[dir->dir_count].offset = dire->offset;
--			dir->dirs[dir->dir_count].type = dire->type;
-+			ent->name = strdup(dire->name);
-+			ent->start_block = dirh.start_block;
-+			ent->offset = dire->offset;
-+			ent->type = dire->type;
-+			ent->next = NULL;
-+			if(cur_ent == NULL)
-+				dir->dirs = ent;
-+			else
-+				cur_ent->next = ent;
-+			cur_ent = ent;
- 			dir->dir_count ++;
- 			bytes += dire->size + 1;
- 		}
-diff --git a/squashfs-tools/unsquash-4.c b/squashfs-tools/unsquash-4.c
-index 1e199a7..694783d 100644
---- a/squashfs-tools/unsquash-4.c
-+++ b/squashfs-tools/unsquash-4.c
-@@ -331,7 +331,7 @@ static struct dir *squashfs_opendir(unsigned int block_start, unsigned int offse
- 	struct squashfs_dir_entry *dire = (struct squashfs_dir_entry *) buffer;
- 	long long start;
- 	int bytes = 0, dir_count, size, res;
--	struct dir_ent *new_dir;
-+	struct dir_ent *ent, *cur_ent = NULL;
- 	struct dir *dir;
- 
- 	TRACE("squashfs_opendir: inode start block %d, offset %d\n",
-@@ -344,7 +344,7 @@ static struct dir *squashfs_opendir(unsigned int block_start, unsigned int offse
- 		MEM_ERROR();
- 
- 	dir->dir_count = 0;
--	dir->cur_entry = 0;
-+	dir->cur_entry = NULL;
- 	dir->mode = (*i)->mode;
- 	dir->uid = (*i)->uid;
- 	dir->guid = (*i)->gid;
-@@ -415,19 +415,20 @@ static struct dir *squashfs_opendir(unsigned int block_start, unsigned int offse
- 				"%d:%d, type %d\n", dire->name,
- 				dirh.start_block, dire->offset, dire->type);
- 
--			if((dir->dir_count % DIR_ENT_SIZE) == 0) {
--				new_dir = realloc(dir->dirs, (dir->dir_count +
--					DIR_ENT_SIZE) * sizeof(struct dir_ent));
--				if(new_dir == NULL)
--					MEM_ERROR();
--				dir->dirs = new_dir;
--			}
-+			ent = malloc(sizeof(struct dir_ent));
-+			if(ent == NULL)
-+				MEM_ERROR();
- 
--			dir->dirs[dir->dir_count].name = strdup(dire->name);
--			dir->dirs[dir->dir_count].start_block =
--				dirh.start_block;
--			dir->dirs[dir->dir_count].offset = dire->offset;
--			dir->dirs[dir->dir_count].type = dire->type;
-+			ent->name = strdup(dire->name);
-+			ent->start_block = dirh.start_block;
-+			ent->offset = dire->offset;
-+			ent->type = dire->type;
-+			ent->next = NULL;
-+			if(cur_ent == NULL)
-+				dir->dirs = ent;
-+			else
-+				cur_ent->next = ent;
-+			cur_ent = ent;
- 			dir->dir_count ++;
- 			bytes += dire->size + 1;
- 		}
-diff --git a/squashfs-tools/unsquashfs.c b/squashfs-tools/unsquashfs.c
-index 04be53c..fee28ec 100644
---- a/squashfs-tools/unsquashfs.c
-+++ b/squashfs-tools/unsquashfs.c
-@@ -1337,14 +1337,18 @@ failed:
- int squashfs_readdir(struct dir *dir, char **name, unsigned int *start_block,
- unsigned int *offset, unsigned int *type)
- {
--	if(dir->cur_entry == dir->dir_count)
-+	if(dir->cur_entry == NULL)
-+		dir->cur_entry = dir->dirs;
-+	else
-+		dir->cur_entry = dir->cur_entry->next;
-+
-+	if(dir->cur_entry == NULL)
- 		return FALSE;
- 
--	*name = dir->dirs[dir->cur_entry].name;
--	*start_block = dir->dirs[dir->cur_entry].start_block;
--	*offset = dir->dirs[dir->cur_entry].offset;
--	*type = dir->dirs[dir->cur_entry].type;
--	dir->cur_entry ++;
-+	*name = dir->cur_entry->name;
-+	*start_block = dir->cur_entry->start_block;
-+	*offset = dir->cur_entry->offset;
-+	*type = dir->cur_entry->type;
- 
- 	return TRUE;
- }
-diff --git a/squashfs-tools/unsquashfs.h b/squashfs-tools/unsquashfs.h
-index 583fbe4..f8cf78c 100644
---- a/squashfs-tools/unsquashfs.h
-+++ b/squashfs-tools/unsquashfs.h
-@@ -168,17 +168,18 @@ struct dir_ent	{
- 	unsigned int	start_block;
- 	unsigned int	offset;
- 	unsigned int	type;
-+	struct dir_ent	*next;
- };
- 
- struct dir {
- 	int		dir_count;
--	int 		cur_entry;
- 	unsigned int	mode;
- 	uid_t		uid;
- 	gid_t		guid;
- 	unsigned int	mtime;
- 	unsigned int	xattr;
- 	struct dir_ent	*dirs;
-+	struct dir_ent	*cur_entry;
- };
- 
- struct file_entry {
--- 
-2.17.1
-
diff --git a/meta/recipes-devtools/squashfs-tools/squashfs-tools/CVE-2021-41072.patch b/meta/recipes-devtools/squashfs-tools/squashfs-tools/CVE-2021-41072.patch
deleted file mode 100644
index f807af60bc..0000000000
--- a/meta/recipes-devtools/squashfs-tools/squashfs-tools/CVE-2021-41072.patch
+++ /dev/null
@@ -1,329 +0,0 @@
-CVE: CVE-2021-41072
-Upstream-Status: Backport [https://github.com/plougher/squashfs-tools/commit/e048580]
-
-Update on 20211109:
-Squash a follow-up fix for CVE-2021-41072 from upstream:
-https://github.com/plougher/squashfs-tools/commit/19fcc93
-
-Signed-off-by: Kai Kang <kai.kang@windriver.com>
-
-From e0485802ec72996c20026da320650d8362f555bd Mon Sep 17 00:00:00 2001
-From: Phillip Lougher <phillip@squashfs.org.uk>
-Date: Sun, 12 Sep 2021 23:50:06 +0100
-Subject: [PATCH] Unsquashfs: additional write outside destination directory
- exploit fix
-
-An issue on github (https://github.com/plougher/squashfs-tools/issues/72)
-showed how some specially crafted Squashfs filesystems containing
-invalid file names (with '/' and '..') can cause Unsquashfs to write
-files outside of the destination directory.
-
-Since then it has been shown that specially crafted Squashfs filesystems
-that contain a symbolic link pointing outside of the destination directory,
-coupled with an identically named file within the same directory, can
-cause Unsquashfs to write files outside of the destination directory.
-
-Specifically the symbolic link produces a pathname pointing outside
-of the destination directory, which is then followed when writing the
-duplicate identically named file within the directory.
-
-This commit fixes this exploit by explictly checking for duplicate
-filenames within a directory.  As directories in v2.1, v3.x, and v4.0
-filesystems are sorted, this is achieved by checking for consecutively
-identical filenames.  Additionally directories are checked to
-ensure they are sorted, to avoid attempts to evade the duplicate
-check.
-
-Version 1.x and 2.0 filesystems (where the directories were unsorted)
-are sorted and then the above duplicate filename check is applied.
-
-Signed-off-by: Phillip Lougher <phillip@squashfs.org.uk>
----
- squashfs-tools/Makefile        |   6 +-
- squashfs-tools/unsquash-1.c    |   6 ++
- squashfs-tools/unsquash-12.c   | 110 +++++++++++++++++++++++++++++++++
- squashfs-tools/unsquash-1234.c |  21 +++++++
- squashfs-tools/unsquash-2.c    |  16 +++++
- squashfs-tools/unsquash-3.c    |   6 ++
- squashfs-tools/unsquash-4.c    |   6 ++
- squashfs-tools/unsquashfs.h    |   4 ++
- 8 files changed, 173 insertions(+), 2 deletions(-)
- create mode 100644 squashfs-tools/unsquash-12.c
-
-diff --git a/squashfs-tools/Makefile b/squashfs-tools/Makefile
-index 7262a2e..1b544ed 100755
---- a/squashfs-tools/Makefile
-+++ b/squashfs-tools/Makefile
-@@ -160,8 +160,8 @@ MKSQUASHFS_OBJS = mksquashfs.o read_fs.o action.o swap.o pseudo.o compressor.o \
- 	caches-queues-lists.o reader.o tar.o
- 
- UNSQUASHFS_OBJS = unsquashfs.o unsquash-1.o unsquash-2.o unsquash-3.o \
--	unsquash-4.o unsquash-123.o unsquash-34.o unsquash-1234.o swap.o \
--	compressor.o unsquashfs_info.o
-+	unsquash-4.o unsquash-123.o unsquash-34.o unsquash-1234.o unsquash-12.o \
-+	swap.o compressor.o unsquashfs_info.o
- 
- CFLAGS ?= -O2
- CFLAGS += $(EXTRA_CFLAGS) $(INCLUDEDIR) -D_FILE_OFFSET_BITS=64 \
-@@ -393,6 +393,8 @@ unsquash-34.o: unsquashfs.h unsquash-34.c unsquashfs_error.h
- 
- unsquash-1234.o: unsquash-1234.c unsquashfs_error.h
- 
-+unsquash-12.o: unsquash-12.c unsquashfs.h
-+
- unsquashfs_xattr.o: unsquashfs_xattr.c unsquashfs.h squashfs_fs.h xattr.h unsquashfs_error.h
- 
- unsquashfs_info.o: unsquashfs.h squashfs_fs.h unsquashfs_error.h
-diff --git a/squashfs-tools/unsquash-1.c b/squashfs-tools/unsquash-1.c
-index b604434..88866fc 100644
---- a/squashfs-tools/unsquash-1.c
-+++ b/squashfs-tools/unsquash-1.c
-@@ -370,6 +370,12 @@ static struct dir *squashfs_opendir(unsigned int block_start, unsigned int offse
- 		}
- 	}
- 
-+	/* check directory for duplicate names.  Need to sort directory first */
-+	sort_directory(dir);
-+	if(check_directory(dir) == FALSE) {
-+		ERROR("File system corrupted: directory has duplicate names\n");
-+		goto corrupted;
-+	}
- 	return dir;
- 
- corrupted:
-diff --git a/squashfs-tools/unsquash-12.c b/squashfs-tools/unsquash-12.c
-new file mode 100644
-index 0000000..61bf128
---- /dev/null
-+++ b/squashfs-tools/unsquash-12.c
-@@ -0,0 +1,110 @@
-+/*
-+ * Unsquash a squashfs filesystem.  This is a highly compressed read only
-+ * filesystem.
-+ *
-+ * Copyright (c) 2021
-+ * Phillip Lougher <phillip@squashfs.org.uk>
-+ *
-+ * 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,
-+ * 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, write to the Free Software
-+ * Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-+ *
-+ * unsquash-12.c
-+ *
-+ * Helper functions used by unsquash-1 and unsquash-2.
-+ */
-+
-+#include "unsquashfs.h"
-+
-+/*
-+ * Bottom up linked list merge sort.
-+ *
-+ */
-+void sort_directory(struct dir *dir)
-+{
-+	struct dir_ent *cur, *l1, *l2, *next;
-+	int len1, len2, stride = 1;
-+
-+	if(dir->dir_count < 2)
-+		return;
-+
-+	/*
-+	 * We can consider our linked-list to be made up of stride length
-+	 * sublists.  Eacn iteration around this loop merges adjacent
-+	 * stride length sublists into larger 2*stride sublists.  We stop
-+	 * when stride becomes equal to the entire list.
-+	 *
-+	 * Initially stride = 1 (by definition a sublist of 1 is sorted), and
-+	 * these 1 element sublists are merged into 2 element sublists,  which
-+	 * are then merged into 4 element sublists and so on.
-+	 */
-+	do {
-+		l2 = dir->dirs; /* head of current linked list */
-+		cur = NULL; /* empty output list */
-+
-+		/*
-+		 * Iterate through the linked list, merging adjacent sublists.
-+		 * On each interation l2 points to the next sublist pair to be
-+		 * merged (if there's only one sublist left this is simply added
-+		 * to the output list)
-+		 */
-+		while(l2) {
-+			l1 = l2;
-+			for(len1 = 0; l2 && len1 < stride; len1 ++, l2 = l2->next);
-+			len2 = stride;
-+
-+			/*
-+			 * l1 points to first sublist.
-+			 * l2 points to second sublist.
-+			 * Merge them onto the output list
-+			 */
-+			while(len1 && l2 && len2) {
-+				if(strcmp(l1->name, l2->name) <= 0) {
-+					next = l1;
-+					l1 = l1->next;
-+					len1 --;
-+				} else {
-+					next = l2;
-+					l2 = l2->next;
-+					len2 --;
-+				}
-+
-+				if(cur) {
-+					cur->next = next;
-+					cur = next;
-+				} else
-+					dir->dirs = cur = next;
-+			}
-+			/*
-+			 * One sublist is now empty, copy the other one onto the
-+			 * output list
-+			 */
-+			for(; len1; len1 --, l1 = l1->next) {
-+				if(cur) {
-+					cur->next = l1;
-+					cur = l1;
-+				} else
-+					dir->dirs = cur = l1;
-+			}
-+			for(; l2 && len2; len2 --, l2 = l2->next) {
-+				if(cur) {
-+					cur->next = l2;
-+					cur = l2;
-+				} else
-+					dir->dirs = cur = l2;
-+			}
-+		}
-+		cur->next = NULL;
-+		stride = stride << 1;
-+	} while(stride < dir->dir_count);
-+}
-diff --git a/squashfs-tools/unsquash-1234.c b/squashfs-tools/unsquash-1234.c
-index e389f8d..98a81ed 100644
---- a/squashfs-tools/unsquash-1234.c
-+++ b/squashfs-tools/unsquash-1234.c
-@@ -72,3 +72,24 @@ void squashfs_closedir(struct dir *dir)
- 
- 	free(dir);
- }
-+
-+
-+/*
-+ * Check directory for duplicate names.  As the directory should be sorted,
-+ * duplicates will be consecutive.  Obviously we also need to check if the
-+ * directory has been deliberately unsorted, to evade this check.
-+ */
-+int check_directory(struct dir *dir)
-+{
-+	int i;
-+	struct dir_ent *ent;
-+
-+	if(dir->dir_count < 2)
-+		return TRUE;
-+
-+	for(ent = dir->dirs, i = 0; i < dir->dir_count - 1; ent = ent->next, i++)
-+		if(strcmp(ent->name, ent->next->name) >= 0)
-+			return FALSE;
-+
-+	return TRUE;
-+}
-diff --git a/squashfs-tools/unsquash-2.c b/squashfs-tools/unsquash-2.c
-index 956f96f..0e36f7d 100644
---- a/squashfs-tools/unsquash-2.c
-+++ b/squashfs-tools/unsquash-2.c
-@@ -29,6 +29,7 @@
- static squashfs_fragment_entry_2 *fragment_table;
- static unsigned int *uid_table, *guid_table;
- static squashfs_operations ops;
-+static int needs_sorting = FALSE;
- 
- 
- static void read_block_list(unsigned int *block_list, long long start,
-@@ -463,6 +464,17 @@ static struct dir *squashfs_opendir(unsigned int block_start, unsigned int offse
- 		}
- 	}
- 
-+	if(needs_sorting)
-+		sort_directory(dir);
-+
-+	/* check directory for duplicate names and sorting */
-+	if(check_directory(dir) == FALSE) {
-+		if(needs_sorting)
-+			ERROR("File system corrupted: directory has duplicate names\n");
-+		else
-+			ERROR("File system corrupted: directory has duplicate names or is unsorted\n");
-+		goto corrupted;
-+	}
- 	return dir;
- 
- corrupted:
-@@ -596,6 +608,10 @@ int read_super_2(squashfs_operations **s_ops, void *s)
- 	 * 2.x filesystems use gzip compression.
- 	 */
- 	comp = lookup_compressor("gzip");
-+
-+	if(sBlk_3->s_minor == 0)
-+		needs_sorting = TRUE;
-+
- 	return TRUE;
- }
- 
-diff --git a/squashfs-tools/unsquash-3.c b/squashfs-tools/unsquash-3.c
-index 835a574..0123562 100644
---- a/squashfs-tools/unsquash-3.c
-+++ b/squashfs-tools/unsquash-3.c
-@@ -497,6 +497,12 @@ static struct dir *squashfs_opendir(unsigned int block_start, unsigned int offse
- 		}
- 	}
- 
-+	/* check directory for duplicate names and sorting */
-+	if(check_directory(dir) == FALSE) {
-+		ERROR("File system corrupted: directory has duplicate names or is unsorted\n");
-+		goto corrupted;
-+	}
-+
- 	return dir;
- 
- corrupted:
-diff --git a/squashfs-tools/unsquash-4.c b/squashfs-tools/unsquash-4.c
-index 694783d..c615bb8 100644
---- a/squashfs-tools/unsquash-4.c
-+++ b/squashfs-tools/unsquash-4.c
-@@ -434,6 +434,12 @@ static struct dir *squashfs_opendir(unsigned int block_start, unsigned int offse
- 		}
- 	}
- 
-+	/* check directory for duplicate names and sorting */
-+	if(check_directory(dir) == FALSE) {
-+		ERROR("File system corrupted: directory has duplicate names or is unsorted\n");
-+		goto corrupted;
-+	}
-+
- 	return dir;
- 
- corrupted:
-diff --git a/squashfs-tools/unsquashfs.h b/squashfs-tools/unsquashfs.h
-index f8cf78c..bf2a80d 100644
---- a/squashfs-tools/unsquashfs.h
-+++ b/squashfs-tools/unsquashfs.h
-@@ -293,4 +293,8 @@ extern long long *alloc_index_table(int);
- /* unsquash-1234.c */
- extern int check_name(char *, int);
- extern void squashfs_closedir(struct dir *);
-+extern int check_directory(struct dir *);
-+
-+/* unsquash-12.c */
-+extern void sort_directory(struct dir *);
- #endif
--- 
-2.17.1
-
diff --git a/meta/recipes-devtools/squashfs-tools/squashfs-tools_git.bb b/meta/recipes-devtools/squashfs-tools/squashfs-tools_git.bb
index c92a5f80a8..4e009d2625 100644
--- a/meta/recipes-devtools/squashfs-tools/squashfs-tools_git.bb
+++ b/meta/recipes-devtools/squashfs-tools/squashfs-tools_git.bb
@@ -5,20 +5,16 @@ HOMEPAGE = "https://github.com/plougher/squashfs-tools"
 DESCRIPTION = "Tools to create and extract Squashfs filesystems."
 SECTION = "base"
 LICENSE = "GPL-2.0-only"
-LIC_FILES_CHKSUM = "file://../COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
 
-PV = "4.5"
-SRCREV = "0496d7c3de3e09da37ba492081c86159806ebb07"
+PV = "4.5.1"
+SRCREV = "afdd63fc386919b4aa40d573b0a6069414d14317"
 SRC_URI = "git://github.com/plougher/squashfs-tools.git;protocol=https;branch=master \
-           file://0001-Avoid-use-of-INSTALL_DIR-for-symlink-targets.patch \
-           file://CVE-2021-41072-requisite-1.patch;striplevel=2 \
-           file://CVE-2021-41072-requisite-2.patch;striplevel=2 \
-           file://CVE-2021-41072-requisite-3.patch;striplevel=2 \
-           file://CVE-2021-41072.patch;striplevel=2 \
+           file://0001-install-manpages.sh-do-not-write-original-timestamps.patch \
            "
 UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>(\d+(\.\d+)+))"
 
-S = "${WORKDIR}/git/squashfs-tools"
+S = "${WORKDIR}/git"
 
 EXTRA_OEMAKE = "${PACKAGECONFIG_CONFARGS}"
 
@@ -33,13 +29,15 @@ PACKAGECONFIG[zstd] = "ZSTD_SUPPORT=1,ZSTD_SUPPORT=0,zstd"
 PACKAGECONFIG[reproducible] = "REPRODUCIBLE_DEFAULT=1,REPRODUCIBLE_DEFAULT=0,"
 
 do_compile() {
+        cd ${S}/squashfs-tools
 	oe_runmake all
 }
 
 do_install() {
+        cd ${S}/squashfs-tools
 	install -d "${D}${includedir}"
-	oe_runmake install INSTALL_DIR=${D}${sbindir}
-	install -m 0644 "${S}"/squashfs_fs.h "${D}${includedir}"
+	oe_runmake install INSTALL_PREFIX=${D}${prefix} INSTALL_MANPAGES_DIR=${D}${datadir}/man/man1
+	install -m 0644 "${S}"/squashfs-tools/squashfs_fs.h "${D}${includedir}"
 }
 
 ARM_INSTRUCTION_SET:armv4 = "arm"
-- 
2.30.2



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

* [PATCH 05/17] go-helloworld: update to latest revision
  2022-04-07 17:00 [PATCH 01/17] connman-conf: ignore eth0 in qemu in a way that is not sysvinit-specific Alexander Kanavin
                   ` (2 preceding siblings ...)
  2022-04-07 17:00 ` [PATCH 04/17] squashfs-tools: update 4.5 -> 4.5.1 Alexander Kanavin
@ 2022-04-07 17:00 ` Alexander Kanavin
  2022-04-07 17:00 ` [PATCH 06/17] piglit: " Alexander Kanavin
                   ` (12 subsequent siblings)
  16 siblings, 0 replies; 31+ messages in thread
From: Alexander Kanavin @ 2022-04-07 17:00 UTC (permalink / raw)
  To: openembedded-core; +Cc: Alexander Kanavin

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
---
 meta/recipes-extended/go-examples/go-helloworld_0.1.bb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta/recipes-extended/go-examples/go-helloworld_0.1.bb b/meta/recipes-extended/go-examples/go-helloworld_0.1.bb
index b3a8631794..1e2434fb17 100644
--- a/meta/recipes-extended/go-examples/go-helloworld_0.1.bb
+++ b/meta/recipes-extended/go-examples/go-helloworld_0.1.bb
@@ -6,7 +6,7 @@ LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
 
 SRC_URI = "git://go.googlesource.com/example;branch=master;protocol=https"
-SRCREV = "787a929d5a0dfb8bbfcdd2c4a62e0fd89466113f"
+SRCREV = "ad95e7f791d8e1e7e7ec7f7cedfc2f6b29f6c9e2"
 UPSTREAM_CHECK_COMMITS = "1"
 
 GO_IMPORT = "golang.org/x/example"
-- 
2.30.2



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

* [PATCH 06/17] piglit: update to latest revision
  2022-04-07 17:00 [PATCH 01/17] connman-conf: ignore eth0 in qemu in a way that is not sysvinit-specific Alexander Kanavin
                   ` (3 preceding siblings ...)
  2022-04-07 17:00 ` [PATCH 05/17] go-helloworld: update to latest revision Alexander Kanavin
@ 2022-04-07 17:00 ` Alexander Kanavin
  2022-04-07 17:00 ` [PATCH 07/17] vulkan-samples: " Alexander Kanavin
                   ` (11 subsequent siblings)
  16 siblings, 0 replies; 31+ messages in thread
From: Alexander Kanavin @ 2022-04-07 17:00 UTC (permalink / raw)
  To: openembedded-core; +Cc: Alexander Kanavin

Drop upstreamed patch.

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
---
 ...ssing-include-for-htobe32-definition.patch | 27 -------------------
 ...Lists.txt-add-missing-endian.h-check.patch | 25 +++++++++++++++++
 meta/recipes-graphics/piglit/piglit_git.bb    |  4 +--
 3 files changed, 27 insertions(+), 29 deletions(-)
 delete mode 100644 meta/recipes-graphics/piglit/piglit/0001-Add-a-missing-include-for-htobe32-definition.patch
 create mode 100644 meta/recipes-graphics/piglit/piglit/0001-CMakeLists.txt-add-missing-endian.h-check.patch

diff --git a/meta/recipes-graphics/piglit/piglit/0001-Add-a-missing-include-for-htobe32-definition.patch b/meta/recipes-graphics/piglit/piglit/0001-Add-a-missing-include-for-htobe32-definition.patch
deleted file mode 100644
index 7b0cb17925..0000000000
--- a/meta/recipes-graphics/piglit/piglit/0001-Add-a-missing-include-for-htobe32-definition.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From d623e9797b7ee9b3739a8a4afe1a01f7e03754aa Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Sun, 1 Nov 2020 20:08:49 +0000
-Subject: [PATCH] Add a missing include for htobe32 definition
-
-Upstream-Status: Submitted [https://gitlab.freedesktop.org/mesa/piglit/-/merge_requests/609]
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
----
- tests/spec/nv_copy_depth_to_color/nv_copy_depth_to_color.c | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/tests/spec/nv_copy_depth_to_color/nv_copy_depth_to_color.c b/tests/spec/nv_copy_depth_to_color/nv_copy_depth_to_color.c
-index 5f45e0c23..c755ee29a 100644
---- a/tests/spec/nv_copy_depth_to_color/nv_copy_depth_to_color.c
-+++ b/tests/spec/nv_copy_depth_to_color/nv_copy_depth_to_color.c
-@@ -34,6 +34,8 @@
- 
- #include "piglit-util-gl.h"
- 
-+#include <endian.h>
-+
- #define IMAGE_WIDTH 60
- #define IMAGE_HEIGHT 60
- 
--- 
-2.17.1
-
diff --git a/meta/recipes-graphics/piglit/piglit/0001-CMakeLists.txt-add-missing-endian.h-check.patch b/meta/recipes-graphics/piglit/piglit/0001-CMakeLists.txt-add-missing-endian.h-check.patch
new file mode 100644
index 0000000000..68f783ebe4
--- /dev/null
+++ b/meta/recipes-graphics/piglit/piglit/0001-CMakeLists.txt-add-missing-endian.h-check.patch
@@ -0,0 +1,25 @@
+From a8ea135125b284a8a9c965d8091b3d1d9a31849c Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex@linutronix.de>
+Date: Tue, 5 Apr 2022 16:51:34 +0200
+Subject: [PATCH] CMakeLists.txt: add missing endian.h check
+
+This is needed to actually have HAVE_ENDIAN_H defined properly in config.h.
+
+Upstream-Status: Submitted [https://gitlab.freedesktop.org/mesa/piglit/-/merge_requests/648]
+Signed-off-by: Alexander Kanavin <alex@linutronix.de>
+---
+ CMakeLists.txt | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 9fb0508da..158fac4bc 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -481,6 +481,7 @@ check_include_file(sys/stat.h  HAVE_SYS_STAT_H)
+ check_include_file(unistd.h    HAVE_UNISTD_H)
+ check_include_file(fcntl.h     HAVE_FCNTL_H)
+ check_include_file(linux/sync_file.h HAVE_LINUX_SYNC_FILE_H)
++check_include_file(endian.h    HAVE_ENDIAN_H)
+ 
+ if(DEFINED PIGLIT_INSTALL_VERSION)
+ 	set(PIGLIT_INSTALL_VERSION_SUFFIX
diff --git a/meta/recipes-graphics/piglit/piglit_git.bb b/meta/recipes-graphics/piglit/piglit_git.bb
index 3ae7a14e46..840050bfc9 100644
--- a/meta/recipes-graphics/piglit/piglit_git.bb
+++ b/meta/recipes-graphics/piglit/piglit_git.bb
@@ -9,12 +9,12 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=b2beded7103a3d8a442a2a0391d607b0"
 SRC_URI = "git://gitlab.freedesktop.org/mesa/piglit.git;protocol=https;branch=main \
            file://0001-cmake-install-bash-completions-in-the-right-place.patch \
            file://0001-cmake-use-proper-WAYLAND_INCLUDE_DIRS-variable.patch \
-           file://0001-Add-a-missing-include-for-htobe32-definition.patch \
            file://0002-tests-util-piglit-shader.c-do-not-hardcode-build-pat.patch \
+           file://0001-CMakeLists.txt-add-missing-endian.h-check.patch \
            "
 UPSTREAM_CHECK_COMMITS = "1"
 
-SRCREV = "2f80c7cc9c02d37574dc8ba3140b7dd8eb3cbf82"
+SRCREV = "445711587d461539a4d8f9d35a7fe996a86d3c8d"
 # (when PV goes above 1.0 remove the trailing r)
 PV = "1.0+gitr${SRCPV}"
 
-- 
2.30.2



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

* [PATCH 07/17] vulkan-samples: update to latest revision
  2022-04-07 17:00 [PATCH 01/17] connman-conf: ignore eth0 in qemu in a way that is not sysvinit-specific Alexander Kanavin
                   ` (4 preceding siblings ...)
  2022-04-07 17:00 ` [PATCH 06/17] piglit: " Alexander Kanavin
@ 2022-04-07 17:00 ` Alexander Kanavin
  2022-04-07 17:00 ` [PATCH 08/17] libxvmc: update 1.0.12 -> 1.0.13 Alexander Kanavin
                   ` (10 subsequent siblings)
  16 siblings, 0 replies; 31+ messages in thread
From: Alexander Kanavin @ 2022-04-07 17:00 UTC (permalink / raw)
  To: openembedded-core; +Cc: Alexander Kanavin

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
---
 meta/recipes-graphics/vulkan/vulkan-samples_git.bb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta/recipes-graphics/vulkan/vulkan-samples_git.bb b/meta/recipes-graphics/vulkan/vulkan-samples_git.bb
index 53c7254ce7..fbadc506d6 100644
--- a/meta/recipes-graphics/vulkan/vulkan-samples_git.bb
+++ b/meta/recipes-graphics/vulkan/vulkan-samples_git.bb
@@ -11,7 +11,7 @@ SRC_URI = "gitsm://github.com/KhronosGroup/Vulkan-Samples.git;branch=master;prot
            "
 
 UPSTREAM_CHECK_COMMITS = "1"
-SRCREV = "28ca2dad83ceb157386e0708f5151ae89c177ad4"
+SRCREV = "f37bb1ea48d2782e997085aedf440b4a159e8189"
 
 UPSTREAM_CHECK_GITTAGREGEX = "These are not the releases you're looking for"
 S = "${WORKDIR}/git"
-- 
2.30.2



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

* [PATCH 08/17] libxvmc: update 1.0.12 -> 1.0.13
  2022-04-07 17:00 [PATCH 01/17] connman-conf: ignore eth0 in qemu in a way that is not sysvinit-specific Alexander Kanavin
                   ` (5 preceding siblings ...)
  2022-04-07 17:00 ` [PATCH 07/17] vulkan-samples: " Alexander Kanavin
@ 2022-04-07 17:00 ` Alexander Kanavin
  2022-04-07 17:00 ` [PATCH 09/17] libsndfile1: update 1.0.31 -> 1.1.0 Alexander Kanavin
                   ` (9 subsequent siblings)
  16 siblings, 0 replies; 31+ messages in thread
From: Alexander Kanavin @ 2022-04-07 17:00 UTC (permalink / raw)
  To: openembedded-core; +Cc: Alexander Kanavin

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
---
 .../xorg-lib/{libxvmc_1.0.12.bb => libxvmc_1.0.13.bb}         | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
 rename meta/recipes-graphics/xorg-lib/{libxvmc_1.0.12.bb => libxvmc_1.0.13.bb} (75%)

diff --git a/meta/recipes-graphics/xorg-lib/libxvmc_1.0.12.bb b/meta/recipes-graphics/xorg-lib/libxvmc_1.0.13.bb
similarity index 75%
rename from meta/recipes-graphics/xorg-lib/libxvmc_1.0.12.bb
rename to meta/recipes-graphics/xorg-lib/libxvmc_1.0.13.bb
index 29ed0c43d1..d6d009831a 100644
--- a/meta/recipes-graphics/xorg-lib/libxvmc_1.0.12.bb
+++ b/meta/recipes-graphics/xorg-lib/libxvmc_1.0.13.bb
@@ -4,6 +4,7 @@ DESCRIPTION = "XvMC extends the X Video extension (Xv) and enables \
 hardware rendered motion compensation support."
 
 require xorg-lib-common.inc
+SRC_URI = "${XORG_MIRROR}/individual/lib/${XORG_PN}-${PV}.tar.xz"
 
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://COPYING;md5=0a207f08d4961489c55046c9a5e500da \
@@ -15,5 +16,4 @@ PE = "1"
 
 XORG_PN = "libXvMC"
 
-SRC_URI[md5sum] = "3569ff7f3e26864d986d6a21147eaa58"
-SRC_URI[sha256sum] = "6b3da7977b3f7eaf4f0ac6470ab1e562298d82c4e79077765787963ab7966dcd"
+SRC_URI[sha256sum] = "0a9ebe6dea7888a747e5aca1b891d53cd7d3a5f141a9645f77d9b6a12cee657c"
-- 
2.30.2



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

* [PATCH 09/17] libsndfile1: update 1.0.31 -> 1.1.0
  2022-04-07 17:00 [PATCH 01/17] connman-conf: ignore eth0 in qemu in a way that is not sysvinit-specific Alexander Kanavin
                   ` (6 preceding siblings ...)
  2022-04-07 17:00 ` [PATCH 08/17] libxvmc: update 1.0.12 -> 1.0.13 Alexander Kanavin
@ 2022-04-07 17:00 ` Alexander Kanavin
  2022-04-07 17:00 ` [PATCH 10/17] at-spi2-core: update 2.42.0 -> 2.44.0 Alexander Kanavin
                   ` (8 subsequent siblings)
  16 siblings, 0 replies; 31+ messages in thread
From: Alexander Kanavin @ 2022-04-07 17:00 UTC (permalink / raw)
  To: openembedded-core; +Cc: Alexander Kanavin

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
---
 .../libsndfile/libsndfile1/noopus.patch       | 39 ++++++++++++-------
 ...ndfile1_1.0.31.bb => libsndfile1_1.1.0.bb} |  5 +--
 2 files changed, 28 insertions(+), 16 deletions(-)
 rename meta/recipes-multimedia/libsndfile/{libsndfile1_1.0.31.bb => libsndfile1_1.1.0.bb} (85%)

diff --git a/meta/recipes-multimedia/libsndfile/libsndfile1/noopus.patch b/meta/recipes-multimedia/libsndfile/libsndfile1/noopus.patch
index 6bcb932429..cb1778bede 100644
--- a/meta/recipes-multimedia/libsndfile/libsndfile1/noopus.patch
+++ b/meta/recipes-multimedia/libsndfile/libsndfile1/noopus.patch
@@ -1,19 +1,29 @@
-We don't have opus in OE-Core which causes all the external libs to be disabled 
+From 593256a3e386a4e17fe26cfbfb813cf4996447d7 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex@linutronix.de>
+Date: Mon, 4 Apr 2022 19:46:44 +0200
+Subject: [PATCH] Disable opus library
+
+We don't have opus in OE-Core which causes all the external libs to be disabled
 silently. The silent issue is discussed in the link below and hints a patch
 to make things configurable may be accepted.
 
 This patch removing the opus piece at least gets most of the functionality
 we previously used back whilst the issue is discussed.
 
-Upstream-Status: Pending [https://github.com/libsndfile/libsndfile/pull/812]
+Upstream-Status: Denied [https://github.com/libsndfile/libsndfile/pull/812]
 
 Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
+Signed-off-by: Alexander Kanavin <alex@linutronix.de>
+---
+ configure.ac   | 10 +++++-----
+ src/ogg_opus.c |  2 +-
+ 2 files changed, 6 insertions(+), 6 deletions(-)
 
-Index: libsndfile-1.0.31/configure.ac
-===================================================================
---- libsndfile-1.0.31.orig/configure.ac
-+++ libsndfile-1.0.31/configure.ac
-@@ -361,13 +361,13 @@ AS_IF([test -n "$PKG_CONFIG"], [
+diff --git a/configure.ac b/configure.ac
+index 727b67bc..f9d2e447 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -373,13 +373,13 @@ AS_IF([test -n "$PKG_CONFIG"], [
  				enable_external_libs=yes
  			])
  
@@ -31,19 +41,19 @@ Index: libsndfile-1.0.31/configure.ac
  
  					if test x$ac_cv_speex = "xyes" ; then
  						EXTERNAL_XIPH_REQUIRE="$EXTERNAL_XIPH_REQUIRE speex"
-@@ -716,7 +716,7 @@ AC_MSG_RESULT([
+@@ -788,7 +788,7 @@ AC_MSG_RESULT([
  
      Experimental code : ................... ${enable_experimental:-no}
      Using ALSA in example programs : ...... ${enable_alsa:-no}
 -    External FLAC/Ogg/Vorbis/Opus : ....... ${enable_external_libs:-no}
 +    External FLAC/Ogg/Vorbis : ....... ${enable_external_libs:-no}
+     External MPEG Lame/MPG123 : ........... ${enable_mpeg:-no}
      Building Octave interface : ........... ${OCTAVE_BUILD}
  
-   Tools :
-Index: libsndfile-1.0.31/src/ogg_opus.c
-===================================================================
---- libsndfile-1.0.31.orig/src/ogg_opus.c
-+++ libsndfile-1.0.31/src/ogg_opus.c
+diff --git a/src/ogg_opus.c b/src/ogg_opus.c
+index dfa446ee..0d4fe57b 100644
+--- a/src/ogg_opus.c
++++ b/src/ogg_opus.c
 @@ -159,7 +159,7 @@
  #include "sfendian.h"
  #include "common.h"
@@ -53,3 +63,6 @@ Index: libsndfile-1.0.31/src/ogg_opus.c
  
  #include <ogg/ogg.h>
  #include <opus/opus.h>
+-- 
+2.30.2
+
diff --git a/meta/recipes-multimedia/libsndfile/libsndfile1_1.0.31.bb b/meta/recipes-multimedia/libsndfile/libsndfile1_1.1.0.bb
similarity index 85%
rename from meta/recipes-multimedia/libsndfile/libsndfile1_1.0.31.bb
rename to meta/recipes-multimedia/libsndfile/libsndfile1_1.1.0.bb
index ea14fe29cb..70626b3c16 100644
--- a/meta/recipes-multimedia/libsndfile/libsndfile1_1.0.31.bb
+++ b/meta/recipes-multimedia/libsndfile/libsndfile1_1.1.0.bb
@@ -8,13 +8,12 @@ DEPENDS = "flac libogg libvorbis"
 SECTION = "libs/multimedia"
 LICENSE = "LGPL-2.1-only"
 
-SRC_URI = "https://github.com/libsndfile/libsndfile/releases/download/${PV}/libsndfile-${PV}.tar.bz2 \
+SRC_URI = "https://github.com/libsndfile/libsndfile/releases/download/${PV}/libsndfile-${PV}.tar.xz \
            file://noopus.patch \
           "
 UPSTREAM_CHECK_URI = "https://github.com/libsndfile/libsndfile/releases/"
 
-SRC_URI[md5sum] = "3f3b2a86a032f064ef922a2c8c191f7b"
-SRC_URI[sha256sum] = "a8cfb1c09ea6e90eff4ca87322d4168cdbe5035cb48717b40bf77e751cc02163"
+SRC_URI[sha256sum] = "0f98e101c0f7c850a71225fb5feaf33b106227b3d331333ddc9bacee190bcf41"
 
 LIC_FILES_CHKSUM = "file://COPYING;md5=e77fe93202736b47c07035910f47974a"
 
-- 
2.30.2



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

* [PATCH 10/17] at-spi2-core: update 2.42.0 -> 2.44.0
  2022-04-07 17:00 [PATCH 01/17] connman-conf: ignore eth0 in qemu in a way that is not sysvinit-specific Alexander Kanavin
                   ` (7 preceding siblings ...)
  2022-04-07 17:00 ` [PATCH 09/17] libsndfile1: update 1.0.31 -> 1.1.0 Alexander Kanavin
@ 2022-04-07 17:00 ` Alexander Kanavin
  2022-04-07 17:00 ` [PATCH 11/17] webkitgtk: update 2.34.6 -> 2.36.0 Alexander Kanavin
                   ` (7 subsequent siblings)
  16 siblings, 0 replies; 31+ messages in thread
From: Alexander Kanavin @ 2022-04-07 17:00 UTC (permalink / raw)
  To: openembedded-core; +Cc: Alexander Kanavin

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
---
 .../0001-Ensure-x11_dep-is-defined.patch      | 33 ---------------
 ...-core_2.42.0.bb => at-spi2-core_2.44.0.bb} |  6 +--
 ...6a4c4491eea57d7b713bb4440f541584204b.patch | 40 +++++++++++++++++++
 3 files changed, 43 insertions(+), 36 deletions(-)
 delete mode 100644 meta/recipes-support/atk/at-spi2-core/0001-Ensure-x11_dep-is-defined.patch
 rename meta/recipes-support/atk/{at-spi2-core_2.42.0.bb => at-spi2-core_2.44.0.bb} (89%)
 create mode 100644 meta/recipes-support/atk/files/08036a4c4491eea57d7b713bb4440f541584204b.patch

diff --git a/meta/recipes-support/atk/at-spi2-core/0001-Ensure-x11_dep-is-defined.patch b/meta/recipes-support/atk/at-spi2-core/0001-Ensure-x11_dep-is-defined.patch
deleted file mode 100644
index 4a9bbbcbb1..0000000000
--- a/meta/recipes-support/atk/at-spi2-core/0001-Ensure-x11_dep-is-defined.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 9e726133319298a835f724904c80e5adf78f475f Mon Sep 17 00:00:00 2001
-From: Tim Orling <timothy.t.orling@intel.com>
-Date: Fri, 15 Oct 2021 18:00:04 +0000
-Subject: [PATCH] Ensure x11_dep is defined
-
-bus/meson.build checks if x11_dep.found(), but this fails when
--Dx11=no
-
-Upstream-Status: Submitted
-[https://gitlab.gnome.org/GNOME/at-spi2-core/-/merge_requests/60]
-
-References:
-  https://gitlab.gnome.org/GNOME/at-spi2-core/-/issues/42
-  https://mesonbuild.com/howtox.html#get-a-default-notfound-dependency
-
-Signed-off-by: Tim Orling <timothy.t.orling@intel.com>
----
- meson.build | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/meson.build b/meson.build
-index b5104c8..85d7a0e 100644
---- a/meson.build
-+++ b/meson.build
-@@ -62,6 +62,8 @@ endif
- 
- x11_deps = []
- x11_option = get_option('x11')
-+# ensure x11_dep is defined for use in bus/meson.build
-+x11_dep = dependency('', required: false)
- if x11_option != 'no'
-   x11_dep = dependency('x11', required: false)
- 
diff --git a/meta/recipes-support/atk/at-spi2-core_2.42.0.bb b/meta/recipes-support/atk/at-spi2-core_2.44.0.bb
similarity index 89%
rename from meta/recipes-support/atk/at-spi2-core_2.42.0.bb
rename to meta/recipes-support/atk/at-spi2-core_2.44.0.bb
index 9ca969cbb8..e276eb7b8e 100644
--- a/meta/recipes-support/atk/at-spi2-core_2.42.0.bb
+++ b/meta/recipes-support/atk/at-spi2-core_2.44.0.bb
@@ -10,10 +10,10 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
 MAJ_VER = "${@oe.utils.trim_version("${PV}", 2)}"
 
 SRC_URI = "${GNOME_MIRROR}/${BPN}/${MAJ_VER}/${BPN}-${PV}.tar.xz \
-           file://0001-Ensure-x11_dep-is-defined.patch \
-           "
+           file://08036a4c4491eea57d7b713bb4440f541584204b.patch \
+          "
 
-SRC_URI[sha256sum] = "4b5da10e94fa3c6195f95222438f63a0234b99ef9df772c7640e82baeaa6e386"
+SRC_URI[sha256sum] = "7eee3cf285b089060fd6b6e51b3eb2cacf752cca3a082c7f4c2c5ab841e51353"
 
 X11DEPENDS = "virtual/libx11 libxi libxtst"
 
diff --git a/meta/recipes-support/atk/files/08036a4c4491eea57d7b713bb4440f541584204b.patch b/meta/recipes-support/atk/files/08036a4c4491eea57d7b713bb4440f541584204b.patch
new file mode 100644
index 0000000000..0f002256c9
--- /dev/null
+++ b/meta/recipes-support/atk/files/08036a4c4491eea57d7b713bb4440f541584204b.patch
@@ -0,0 +1,40 @@
+From 08036a4c4491eea57d7b713bb4440f541584204b Mon Sep 17 00:00:00 2001
+From: Mike Gorse <mgorse@suse.com>
+Date: Mon, 21 Mar 2022 10:19:03 -0500
+Subject: [PATCH] Fix build with X11 disabled
+
+Closes #51
+Upstream-Status: Backport
+Signed-off-by: Alexander Kanavin <alex@linutronix.de>
+---
+ registryd/deviceeventcontroller.c | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/registryd/deviceeventcontroller.c b/registryd/deviceeventcontroller.c
+index 8a321adc..3068ec4b 100644
+--- a/registryd/deviceeventcontroller.c
++++ b/registryd/deviceeventcontroller.c
+@@ -1720,16 +1720,16 @@ spi_dec_synth_keysym (SpiDEController *controller, long keysym)
+ 	if (synth_mods != modifiers) {
+ 		lock_mods = synth_mods & ~modifiers;
+ 		spi_dec_plat_lock_modifiers (controller, lock_mods);
+-		if (modifiers & LockMask)
+-			spi_dec_plat_unlock_modifiers (controller, LockMask);
++		if (modifiers & SPI_KEYMASK_SHIFTLOCK)
++			spi_dec_plat_unlock_modifiers (controller, SPI_KEYMASK_SHIFTLOCK);
+ 	}
+ 	spi_dec_plat_synth_keycode_press (controller, key_synth_code);
+ 	spi_dec_plat_synth_keycode_release (controller, key_synth_code);
+ 
+ 	if (synth_mods != modifiers) {
+ 		spi_dec_plat_unlock_modifiers (controller, lock_mods);
+-		if (modifiers & LockMask)
+-			spi_dec_plat_lock_modifiers (controller, LockMask);
++		if (modifiers & SPI_KEYMASK_SHIFTLOCK)
++			spi_dec_plat_lock_modifiers (controller, SPI_KEYMASK_SHIFTLOCK);
+ 	}
+ 	return TRUE;
+ }
+-- 
+GitLab
+
-- 
2.30.2



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

* [PATCH 11/17] webkitgtk: update 2.34.6 -> 2.36.0
  2022-04-07 17:00 [PATCH 01/17] connman-conf: ignore eth0 in qemu in a way that is not sysvinit-specific Alexander Kanavin
                   ` (8 preceding siblings ...)
  2022-04-07 17:00 ` [PATCH 10/17] at-spi2-core: update 2.42.0 -> 2.44.0 Alexander Kanavin
@ 2022-04-07 17:00 ` Alexander Kanavin
  2022-04-09  3:25   ` [OE-core] " Khem Raj
  2022-04-07 17:00 ` [PATCH 12/17] cmake: update 3.22.3 -> 3.23.0 Alexander Kanavin
                   ` (6 subsequent siblings)
  16 siblings, 1 reply; 31+ messages in thread
From: Alexander Kanavin @ 2022-04-07 17:00 UTC (permalink / raw)
  To: openembedded-core; +Cc: Alexander Kanavin

Drop patches:
0001-Fix-racy-parallel-build-of-WebKit2-4.0.gir.patch
0001-When-building-introspection-files-add-CMAKE_C_FLAGS-.patch
(both merged upstream)

reduce-memory-overheads.patch
(rejected by upstream, there's no use case - see the discussion)

Rebase to version submitted upstream:
0001-FindGObjectIntrospection.cmake-prefix-variables-obta.patch

Add:
0001-When-building-introspection-files-do-not-quote-CFLAG.patch

angle is no longer needed for x11-less setups.

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
---
 ...spection.cmake-prefix-variables-obta.patch | 38 +++++----
 ...cy-parallel-build-of-WebKit2-4.0.gir.patch | 46 -----------
 ...trospection-files-add-CMAKE_C_FLAGS-.patch | 52 -------------
 ...trospection-files-do-not-quote-CFLAG.patch | 78 +++++++++++++++++++
 .../webkitgtk/reduce-memory-overheads.patch   | 28 -------
 ...ebkitgtk_2.34.6.bb => webkitgtk_2.36.0.bb} |  9 +--
 6 files changed, 105 insertions(+), 146 deletions(-)
 delete mode 100644 meta/recipes-sato/webkit/webkitgtk/0001-Fix-racy-parallel-build-of-WebKit2-4.0.gir.patch
 delete mode 100644 meta/recipes-sato/webkit/webkitgtk/0001-When-building-introspection-files-add-CMAKE_C_FLAGS-.patch
 create mode 100644 meta/recipes-sato/webkit/webkitgtk/0001-When-building-introspection-files-do-not-quote-CFLAG.patch
 delete mode 100644 meta/recipes-sato/webkit/webkitgtk/reduce-memory-overheads.patch
 rename meta/recipes-sato/webkit/{webkitgtk_2.34.6.bb => webkitgtk_2.36.0.bb} (95%)

diff --git a/meta/recipes-sato/webkit/webkitgtk/0001-FindGObjectIntrospection.cmake-prefix-variables-obta.patch b/meta/recipes-sato/webkit/webkitgtk/0001-FindGObjectIntrospection.cmake-prefix-variables-obta.patch
index 54d34b1c69..bccf74d9c9 100644
--- a/meta/recipes-sato/webkit/webkitgtk/0001-FindGObjectIntrospection.cmake-prefix-variables-obta.patch
+++ b/meta/recipes-sato/webkit/webkitgtk/0001-FindGObjectIntrospection.cmake-prefix-variables-obta.patch
@@ -1,4 +1,4 @@
-From 317a5ac120c44987219bc03486cd2f2d1842c9b9 Mon Sep 17 00:00:00 2001
+From e0bf97eecfa601e08b9578f00b1000890284241a Mon Sep 17 00:00:00 2001
 From: Alexander Kanavin <alex.kanavin@gmail.com>
 Date: Tue, 27 Oct 2015 16:02:19 +0200
 Subject: [PATCH] FindGObjectIntrospection.cmake: prefix variables obtained
@@ -6,22 +6,30 @@ Subject: [PATCH] FindGObjectIntrospection.cmake: prefix variables obtained
 
 Upstream-Status: Submitted [https://bugs.webkit.org/show_bug.cgi?id=232933]
 Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+
 ---
- Source/cmake/FindGObjectIntrospection.cmake | 1 +
- 1 file changed, 1 insertion(+)
+ Source/cmake/FindGObjectIntrospection.cmake | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
 
 diff --git a/Source/cmake/FindGObjectIntrospection.cmake b/Source/cmake/FindGObjectIntrospection.cmake
-index e1f49b4..03a4446 100644
+index be96814a..ae67b593 100644
 --- a/Source/cmake/FindGObjectIntrospection.cmake
 +++ b/Source/cmake/FindGObjectIntrospection.cmake
-@@ -26,6 +26,7 @@ macro(_GIR_GET_PKGCONFIG_VAR _outvar _varname _extra_args)
-     else ()
-         string(REGEX REPLACE "[\r\n]" " " _result "${_result}")
-         string(REGEX REPLACE " +$" ""  _result "${_result}")
-+        string(CONCAT _result $ENV{PKG_CONFIG_SYSROOT_DIR} "${_result}")
-         separate_arguments(_result)
-         set(${_outvar} ${_result} CACHE INTERNAL "")
-     endif ()
--- 
-2.1.4
-
+@@ -16,7 +16,6 @@
+ # Redistribution and use is allowed according to the terms of the BSD license.
+ 
+ 
+-
+ find_package(PkgConfig QUIET)
+ if (PKG_CONFIG_FOUND)
+     if (PACKAGE_FIND_VERSION_COUNT GREATER 0)
+@@ -30,6 +29,9 @@ if (PKG_CONFIG_FOUND)
+         pkg_get_variable(INTROSPECTION_GENERATE gobject-introspection-1.0 g_ir_generate)
+         pkg_get_variable(INTROSPECTION_GIRDIR gobject-introspection-1.0 girdir)
+         pkg_get_variable(INTROSPECTION_TYPELIBDIR gobject-introspection-1.0 typelibdir)
++        set(INTROSPECTION_SCANNER "$ENV{PKG_CONFIG_SYSROOT_DIR}${INTROSPECTION_SCANNER}")
++        set(INTROSPECTION_COMPILER "$ENV{PKG_CONFIG_SYSROOT_DIR}${INTROSPECTION_COMPILER}")
++        set(INTROSPECTION_GENERATE "$ENV{PKG_CONFIG_SYSROOT_DIR}${INTROSPECTION_GENERATE}")
+         set(INTROSPECTION_VERSION "${_pc_gir_VERSION}")
+         if (${INTROSPECTION_VERSION} VERSION_GREATER_EQUAL "1.59.1")
+             set(INTROSPECTION_HAVE_SOURCES_TOP_DIRS YES)
diff --git a/meta/recipes-sato/webkit/webkitgtk/0001-Fix-racy-parallel-build-of-WebKit2-4.0.gir.patch b/meta/recipes-sato/webkit/webkitgtk/0001-Fix-racy-parallel-build-of-WebKit2-4.0.gir.patch
deleted file mode 100644
index e06607ba2b..0000000000
--- a/meta/recipes-sato/webkit/webkitgtk/0001-Fix-racy-parallel-build-of-WebKit2-4.0.gir.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From 4718888071e29deb8b245b88c81577fd5bac4e5e Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Mon, 29 Aug 2016 16:38:11 +0300
-Subject: [PATCH] Fix racy parallel build of WebKit2-4.0.gir
-
-Upstream-Status: Submitted [https://bugs.webkit.org/show_bug.cgi?id=232935]
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
-
----
- Source/WebKit/PlatformGTK.cmake | 9 +++++----
- 1 file changed, 5 insertions(+), 4 deletions(-)
-
-diff --git a/Source/WebKit/PlatformGTK.cmake b/Source/WebKit/PlatformGTK.cmake
-index a069c5f6..ea2f542b 100644
---- a/Source/WebKit/PlatformGTK.cmake
-+++ b/Source/WebKit/PlatformGTK.cmake
-@@ -650,8 +650,9 @@ if (ENABLE_INTROSPECTION)
-         set(GIR_SOURCES_TOP_DIRS "--sources-top-dirs=${CMAKE_BINARY_DIR}")
-     endif ()
- 
--    add_custom_command(
--        OUTPUT ${CMAKE_BINARY_DIR}/WebKit2-${WEBKITGTK_API_VERSION}.gir
-+    # This is a target and not a command because it's used to build another .gir
-+    # and a .typelib, which would trigger two racy parallel builds when using command
-+    add_custom_target(WebKit2-${WEBKITGTK_API_VERSION}-gir
-         DEPENDS WebKit
-         DEPENDS ${CMAKE_BINARY_DIR}/JavaScriptCore-${WEBKITGTK_API_VERSION}.gir
-         COMMAND CC=${CMAKE_C_COMPILER} CFLAGS=-Wno-deprecated-declarations\ ${CMAKE_C_FLAGS} LDFLAGS=
-@@ -699,7 +700,7 @@ if (ENABLE_INTROSPECTION)
-     add_custom_command(
-         OUTPUT ${CMAKE_BINARY_DIR}/WebKit2WebExtension-${WEBKITGTK_API_VERSION}.gir
-         DEPENDS ${CMAKE_BINARY_DIR}/JavaScriptCore-${WEBKITGTK_API_VERSION}.gir
--        DEPENDS ${CMAKE_BINARY_DIR}/WebKit2-${WEBKITGTK_API_VERSION}.gir
-+        DEPENDS WebKit2-${WEBKITGTK_API_VERSION}-gir
-         COMMAND CC=${CMAKE_C_COMPILER} CFLAGS=-Wno-deprecated-declarations\ ${CMAKE_C_FLAGS}
-             LDFLAGS="${INTROSPECTION_ADDITIONAL_LDFLAGS}"
-             ${LOADER_LIBRARY_PATH_VAR}="${INTROSPECTION_ADDITIONAL_LIBRARY_PATH}"
-@@ -761,7 +762,7 @@ if (ENABLE_INTROSPECTION)
- 
-     add_custom_command(
-         OUTPUT ${CMAKE_BINARY_DIR}/WebKit2-${WEBKITGTK_API_VERSION}.typelib
--        DEPENDS ${CMAKE_BINARY_DIR}/WebKit2-${WEBKITGTK_API_VERSION}.gir
-+        DEPENDS WebKit2-${WEBKITGTK_API_VERSION}-gir
-         COMMAND ${INTROSPECTION_COMPILER} --includedir=${CMAKE_BINARY_DIR} ${CMAKE_BINARY_DIR}/WebKit2-${WEBKITGTK_API_VERSION}.gir -o ${CMAKE_BINARY_DIR}/WebKit2-${WEBKITGTK_API_VERSION}.typelib
-     )
- 
diff --git a/meta/recipes-sato/webkit/webkitgtk/0001-When-building-introspection-files-add-CMAKE_C_FLAGS-.patch b/meta/recipes-sato/webkit/webkitgtk/0001-When-building-introspection-files-add-CMAKE_C_FLAGS-.patch
deleted file mode 100644
index 9e2bf09dd7..0000000000
--- a/meta/recipes-sato/webkit/webkitgtk/0001-When-building-introspection-files-add-CMAKE_C_FLAGS-.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-From 8f1e170a6de8036ab50eb35834a77f2c79412ee3 Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Wed, 28 Oct 2015 14:18:57 +0200
-Subject: [PATCH] When building introspection files, add CMAKE_C_FLAGS to the
- compiler flags.
-
-g-ir-compiler is using a C compiler internally, so it needs to set
-the proper flags for it.
-
-Upstream-Status: Submitted [https://bugs.webkit.org/show_bug.cgi?id=232936]
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
-
----
- Source/JavaScriptCore/PlatformGTK.cmake | 2 +-
- Source/WebKit/PlatformGTK.cmake         | 4 ++--
- 2 files changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/Source/JavaScriptCore/PlatformGTK.cmake b/Source/JavaScriptCore/PlatformGTK.cmake
-index 0b2968d2..2742ad80 100644
---- a/Source/JavaScriptCore/PlatformGTK.cmake
-+++ b/Source/JavaScriptCore/PlatformGTK.cmake
-@@ -71,7 +71,7 @@ if (ENABLE_INTROSPECTION)
-     add_custom_command(
-         OUTPUT ${CMAKE_BINARY_DIR}/JavaScriptCore-${WEBKITGTK_API_VERSION}.gir
-         DEPENDS JavaScriptCore
--        COMMAND CC=${CMAKE_C_COMPILER} CFLAGS=-Wno-deprecated-declarations LDFLAGS=
-+        COMMAND CC=${CMAKE_C_COMPILER} CFLAGS=-Wno-deprecated-declarations\ ${CMAKE_C_FLAGS} LDFLAGS=
-             ${LOADER_LIBRARY_PATH_VAR}="${INTROSPECTION_ADDITIONAL_LIBRARY_PATH}"
-             ${INTROSPECTION_SCANNER}
-             --quiet
-diff --git a/Source/WebKit/PlatformGTK.cmake b/Source/WebKit/PlatformGTK.cmake
-index e36e4c35..943f9794 100644
---- a/Source/WebKit/PlatformGTK.cmake
-+++ b/Source/WebKit/PlatformGTK.cmake
-@@ -742,7 +742,7 @@ if (ENABLE_INTROSPECTION)
-         OUTPUT ${CMAKE_BINARY_DIR}/WebKit2-${WEBKITGTK_API_VERSION}.gir
-         DEPENDS WebKit
-         DEPENDS ${CMAKE_BINARY_DIR}/JavaScriptCore-${WEBKITGTK_API_VERSION}.gir
--        COMMAND CC=${CMAKE_C_COMPILER} CFLAGS=-Wno-deprecated-declarations LDFLAGS=
-+        COMMAND CC=${CMAKE_C_COMPILER} CFLAGS=-Wno-deprecated-declarations\ ${CMAKE_C_FLAGS} LDFLAGS=
-             ${LOADER_LIBRARY_PATH_VAR}="${INTROSPECTION_ADDITIONAL_LIBRARY_PATH}"
-             ${INTROSPECTION_SCANNER}
-             --quiet
-@@ -786,7 +786,7 @@ if (ENABLE_INTROSPECTION)
-         OUTPUT ${CMAKE_BINARY_DIR}/WebKit2WebExtension-${WEBKITGTK_API_VERSION}.gir
-         DEPENDS ${CMAKE_BINARY_DIR}/JavaScriptCore-${WEBKITGTK_API_VERSION}.gir
-         DEPENDS ${CMAKE_BINARY_DIR}/WebKit2-${WEBKITGTK_API_VERSION}.gir
--        COMMAND CC=${CMAKE_C_COMPILER} CFLAGS=-Wno-deprecated-declarations
-+        COMMAND CC=${CMAKE_C_COMPILER} CFLAGS=-Wno-deprecated-declarations\ ${CMAKE_C_FLAGS}
-             LDFLAGS="${INTROSPECTION_ADDITIONAL_LDFLAGS}"
-             ${LOADER_LIBRARY_PATH_VAR}="${INTROSPECTION_ADDITIONAL_LIBRARY_PATH}"
-             ${INTROSPECTION_SCANNER}
diff --git a/meta/recipes-sato/webkit/webkitgtk/0001-When-building-introspection-files-do-not-quote-CFLAG.patch b/meta/recipes-sato/webkit/webkitgtk/0001-When-building-introspection-files-do-not-quote-CFLAG.patch
new file mode 100644
index 0000000000..3d02be9894
--- /dev/null
+++ b/meta/recipes-sato/webkit/webkitgtk/0001-When-building-introspection-files-do-not-quote-CFLAG.patch
@@ -0,0 +1,78 @@
+From 01f5ab0edf3dd8f76d37fd36c2dcd3108be33a7b Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex@linutronix.de>
+Date: Mon, 4 Apr 2022 21:20:05 +0200
+Subject: [PATCH] When building introspection files, do not quote CFLAGS.
+
+This does not seem to be propagated to the compiler correctly:
+
+In file included from /srv/work/alex/poky/build-64-alt/tmp/work/core2-64-poky-linux/webkitgtk/2.36.0-r0/recipe-sysroot-native/usr/lib/x86_64-poky-linux/gcc/x86_64-poky-linux/11.2.0/include-fixed/syslimits.h:7,
+                 from /srv/work/alex/poky/build-64-alt/tmp/work/core2-64-poky-linux/webkitgtk/2.36.0-r0/recipe-sysroot-native/usr/lib/x86_64-poky-linux/gcc/x86_64-poky-linux/11.2.0/include-fixed/limits.h:34,
+                 from /srv/work/alex/poky/build-64-alt/tmp/work/core2-64-poky-linux/webkitgtk/2.36.0-r0/recipe-sysroot/usr/lib/glib-2.0/include/glibconfig.h:11,
+                 from /srv/work/alex/poky/build-64-alt/tmp/work/core2-64-poky-linux/webkitgtk/2.36.0-r0/recipe-sysroot/usr/include/glib-2.0/glib/gtypes.h:32,
+                 from /srv/work/alex/poky/build-64-alt/tmp/work/core2-64-poky-linux/webkitgtk/2.36.0-r0/recipe-sysroot/usr/include/glib-2.0/glib/galloca.h:32,
+                 from /srv/work/alex/poky/build-64-alt/tmp/work/core2-64-poky-linux/webkitgtk/2.36.0-r0/recipe-sysroot/usr/include/glib-2.0/glib.h:30,
+                 from /srv/work/alex/poky/build-64-alt/tmp/work/core2-64-poky-linux/webkitgtk/2.36.0-r0/build/Source/JavaScriptCore/tmp-introspectb51ks33n/JavaScriptCore-4.0.c:2:
+/srv/work/alex/poky/build-64-alt/tmp/work/core2-64-poky-linux/webkitgtk/2.36.0-r0/recipe-sysroot-native/usr/lib/x86_64-poky-linux/gcc/x86_64-poky-linux/11.2.0/include-fixed/limits.h:203:75: error: no include path in which to search for limits.h
+  203 | #include_next <limits.h>                /* recurse down to the real one */
+      |                                                                           ^
+In file included from /srv/work/alex/poky/build-64-alt/tmp/work/core2-64-poky-linux/webkitgtk/2.36.0-r0/recipe-sysroot/usr/include/glib-2.0/glib/galloca.h:32,
+                 from /srv/work/alex/poky/build-64-alt/tmp/work/core2-64-poky-linux/webkitgtk/2.36.0-r0/recipe-sysroot/usr/include/glib-2.0/glib.h:30,
+                 from /srv/work/alex/poky/build-64-alt/tmp/work/core2-64-poky-linux/webkitgtk/2.36.0-r0/build/Source/JavaScriptCore/tmp-introspectb51ks33n/JavaScriptCore-4.0.c:2:
+/srv/work/alex/poky/build-64-alt/tmp/work/core2-64-poky-linux/webkitgtk/2.36.0-r0/recipe-sysroot/usr/include/glib-2.0/glib/gtypes.h:35:10: fatal error: time.h: No such file or directory
+   35 | #include <time.h>
+      |          ^~~~~~~~
+compilation terminated.
+Traceback (most recent call last):
+  File "/srv/work/alex/poky/build-64-alt/tmp/work/core2-64-poky-linux/webkitgtk/2.36.0-r0/recipe-sysroot-native/usr/lib/python3.10/distutils/unixccompiler.py", line 117, in _compile
+    self.spawn(compiler_so + cc_args + [src, '-o', obj] +
+  File "/srv/work/alex/poky/build-64-alt/tmp/work/core2-64-poky-linux/webkitgtk/2.36.0-r0/recipe-sysroot-native/usr/lib/python3.10/distutils/ccompiler.py", line 910, in spawn
+    spawn(cmd, dry_run=self.dry_run)
+  File "/srv/work/alex/poky/build-64-alt/tmp/work/core2-64-poky-linux/webkitgtk/2.36.0-r0/recipe-sysroot-native/usr/lib/python3.10/distutils/spawn.py", line 91, in spawn
+    raise DistutilsExecError(
+distutils.errors.DistutilsExecError: command '/srv/work/alex/poky/build-64-alt/tmp/work/core2-64-poky-linux/webkitgtk/2.36.0-r0/recipe-sysroot-native/usr/bin/x86_64-poky-linux/x86_64-poky-linux-gcc' failed with exit code 1
+
+Upstream-Status: Inappropriate [upstream has rewritten the whole thing as of https://github.com/WebKit/WebKit/commit/b0ae032850bb6b2672051bab8032fc9f9ef5eb97]
+Signed-off-by: Alexander Kanavin <alex@linutronix.de>
+---
+ Source/JavaScriptCore/PlatformGTK.cmake | 2 +-
+ Source/WebKit/PlatformGTK.cmake         | 4 ++--
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/Source/JavaScriptCore/PlatformGTK.cmake b/Source/JavaScriptCore/PlatformGTK.cmake
+index 1c3c8fb7..efd18807 100644
+--- a/Source/JavaScriptCore/PlatformGTK.cmake
++++ b/Source/JavaScriptCore/PlatformGTK.cmake
+@@ -71,7 +71,7 @@ if (ENABLE_INTROSPECTION)
+     add_custom_command(
+         OUTPUT ${CMAKE_BINARY_DIR}/JavaScriptCore-${WEBKITGTK_API_VERSION}.gir
+         DEPENDS JavaScriptCore
+-        COMMAND CC=${CMAKE_C_COMPILER} CFLAGS="-Wno-deprecated-declarations ${CMAKE_C_FLAGS}" LDFLAGS=
++        COMMAND CC=${CMAKE_C_COMPILER} CFLAGS=-Wno-deprecated-declarations\ ${CMAKE_C_FLAGS} LDFLAGS=
+             ${LOADER_LIBRARY_PATH_VAR}="${INTROSPECTION_ADDITIONAL_LIBRARY_PATH}"
+             ${INTROSPECTION_SCANNER}
+             --quiet
+diff --git a/Source/WebKit/PlatformGTK.cmake b/Source/WebKit/PlatformGTK.cmake
+index 48d1820d..ded05035 100644
+--- a/Source/WebKit/PlatformGTK.cmake
++++ b/Source/WebKit/PlatformGTK.cmake
+@@ -675,7 +675,7 @@ if (ENABLE_INTROSPECTION)
+     add_custom_target(WebKit2-${WEBKITGTK_API_VERSION}-gir
+         DEPENDS WebKit
+         DEPENDS ${CMAKE_BINARY_DIR}/JavaScriptCore-${WEBKITGTK_API_VERSION}.gir
+-        COMMAND CC=${CMAKE_C_COMPILER} CFLAGS="-Wno-deprecated-declarations ${CMAKE_C_FLAGS}" LDFLAGS=
++        COMMAND CC=${CMAKE_C_COMPILER} CFLAGS=-Wno-deprecated-declarations\ ${CMAKE_C_FLAGS} LDFLAGS=
+             ${LOADER_LIBRARY_PATH_VAR}="${INTROSPECTION_ADDITIONAL_LIBRARY_PATH}"
+             ${INTROSPECTION_SCANNER}
+             --quiet
+@@ -721,7 +721,7 @@ if (ENABLE_INTROSPECTION)
+         OUTPUT ${CMAKE_BINARY_DIR}/WebKit2WebExtension-${WEBKITGTK_API_VERSION}.gir
+         DEPENDS ${CMAKE_BINARY_DIR}/JavaScriptCore-${WEBKITGTK_API_VERSION}.gir
+         DEPENDS WebKit2-${WEBKITGTK_API_VERSION}-gir
+-        COMMAND CC=${CMAKE_C_COMPILER} CFLAGS="-Wno-deprecated-declarations ${CMAKE_C_FLAGS}"
++        COMMAND CC=${CMAKE_C_COMPILER} CFLAGS=-Wno-deprecated-declarations\ ${CMAKE_C_FLAGS}
+             LDFLAGS="${INTROSPECTION_ADDITIONAL_LDFLAGS}"
+             ${LOADER_LIBRARY_PATH_VAR}="${INTROSPECTION_ADDITIONAL_LIBRARY_PATH}"
+             ${INTROSPECTION_SCANNER}
+-- 
+2.30.2
+
diff --git a/meta/recipes-sato/webkit/webkitgtk/reduce-memory-overheads.patch b/meta/recipes-sato/webkit/webkitgtk/reduce-memory-overheads.patch
deleted file mode 100644
index 907d36c4cd..0000000000
--- a/meta/recipes-sato/webkit/webkitgtk/reduce-memory-overheads.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From ec6045fcf5a46123b54029a675d08d89a5e30f21 Mon Sep 17 00:00:00 2001
-From: Alberto Garcia <berto@igalia.com>
-Date: Sun, 25 Apr 2021 18:45:13 +0000
-Subject: [PATCH] Reduce memory usage when not using the Gold linker
-
-Upstream-Status: Submitted [https://bugs.webkit.org/show_bug.cgi?id=232938]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
----
- Source/cmake/OptionsCommon.cmake | 5 +++++
- 1 file changed, 5 insertions(+)
-
-diff --git a/Source/cmake/OptionsCommon.cmake b/Source/cmake/OptionsCommon.cmake
-index dd4da682..71ad6106 100644
---- a/Source/cmake/OptionsCommon.cmake
-+++ b/Source/cmake/OptionsCommon.cmake
-@@ -101,6 +101,11 @@ option(GCC_OFFLINEASM_SOURCE_MAP
-   ${GCC_OFFLINEASM_SOURCE_MAP_DEFAULT})
- 
- option(USE_APPLE_ICU "Use Apple's internal ICU" ${APPLE})
-+# Pass --reduce-memory-overheads to the bfd linker in order to save memory
-+if (NOT USE_LD_GOLD)
-+    set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--reduce-memory-overheads")
-+    set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--reduce-memory-overheads")
-+endif ()
- 
- # Enable the usage of OpenMP.
- #  - At this moment, OpenMP is only used as an alternative implementation
diff --git a/meta/recipes-sato/webkit/webkitgtk_2.34.6.bb b/meta/recipes-sato/webkit/webkitgtk_2.36.0.bb
similarity index 95%
rename from meta/recipes-sato/webkit/webkitgtk_2.34.6.bb
rename to meta/recipes-sato/webkit/webkitgtk_2.36.0.bb
index 6870eed525..09d4493370 100644
--- a/meta/recipes-sato/webkit/webkitgtk_2.34.6.bb
+++ b/meta/recipes-sato/webkit/webkitgtk_2.36.0.bb
@@ -11,15 +11,13 @@ LIC_FILES_CHKSUM = "file://Source/JavaScriptCore/COPYING.LIB;md5=d0c6d6397a5d842
 
 SRC_URI = "https://www.webkitgtk.org/releases/${BPN}-${PV}.tar.xz \
            file://0001-FindGObjectIntrospection.cmake-prefix-variables-obta.patch \
-           file://0001-When-building-introspection-files-add-CMAKE_C_FLAGS-.patch \
-           file://0001-Fix-racy-parallel-build-of-WebKit2-4.0.gir.patch \
            file://0001-Tweak-gtkdoc-settings-so-that-gtkdoc-generation-work.patch \
-           file://reduce-memory-overheads.patch \
            file://0001-Fix-build-without-opengl-or-es.patch \
            file://reproducibility.patch \
+           file://0001-When-building-introspection-files-do-not-quote-CFLAG.patch \
            "
 
-SRC_URI[sha256sum] = "6bc8fd034aad0432a2459ce4fc7ee25ad65a4924c618bf8d93b52b0c1a84c1f6"
+SRC_URI[sha256sum] = "b877cca1f105235f5dd57c7ac2b2c2be3c6b691ff444f93925c7254cf156c64d"
 
 inherit cmake pkgconfig gobject-introspection perlnative features_check upstream-version-is-even gtk-doc
 
@@ -47,7 +45,7 @@ DEPENDS = " \
 PACKAGECONFIG_SOUP ?= "soup2"
 PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd wayland x11', d)} \
                    ${@bb.utils.contains('DISTRO_FEATURES', 'x11 opengl', 'webgl opengl', '', d)} \
-                   ${@bb.utils.contains('DISTRO_FEATURES', 'x11', '', 'webgl gles2 angle', d)} \
+                   ${@bb.utils.contains('DISTRO_FEATURES', 'x11', '', 'webgl gles2', d)} \
                    ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'opengl-or-es', '', d)} \
                    enchant \
                    libsecret \
@@ -72,6 +70,7 @@ PACKAGECONFIG[reduce-size] = "-DCMAKE_BUILD_TYPE=MinSizeRel,-DCMAKE_BUILD_TYPE=R
 PACKAGECONFIG[lcms] = "-DUSE_LCMS=ON,-DUSE_LCMS=OFF,lcms"
 PACKAGECONFIG[soup2] = "-DUSE_SOUP2=ON,-DUSE_SOUP2=OFF,libsoup-2.4,,,soup3"
 PACKAGECONFIG[soup3] = ",,libsoup,,,soup2"
+PACKAGECONFIG[journald] = "-DENABLE_JOURNALD_LOG=ON,-DENABLE_JOURNALD_LOG=OFF,systemd"
 
 # webkitgtk is full of /usr/bin/env python, particular for generating docs
 do_configure[postfuncs] += "setup_python_link"
-- 
2.30.2



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

* [PATCH 12/17] cmake: update 3.22.3 -> 3.23.0
  2022-04-07 17:00 [PATCH 01/17] connman-conf: ignore eth0 in qemu in a way that is not sysvinit-specific Alexander Kanavin
                   ` (9 preceding siblings ...)
  2022-04-07 17:00 ` [PATCH 11/17] webkitgtk: update 2.34.6 -> 2.36.0 Alexander Kanavin
@ 2022-04-07 17:00 ` Alexander Kanavin
  2022-04-07 17:00 ` [PATCH 13/17] epiphany: upgrade 41.3 -> 42.0 Alexander Kanavin
                   ` (5 subsequent siblings)
  16 siblings, 0 replies; 31+ messages in thread
From: Alexander Kanavin @ 2022-04-07 17:00 UTC (permalink / raw)
  To: openembedded-core; +Cc: Alexander Kanavin

License-Update: copyright years, contributors.

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
---
 .../cmake/{cmake-native_3.22.3.bb => cmake-native_3.23.0.bb}  | 0
 meta/recipes-devtools/cmake/cmake.inc                         | 4 ++--
 .../cmake/{cmake_3.22.3.bb => cmake_3.23.0.bb}                | 0
 3 files changed, 2 insertions(+), 2 deletions(-)
 rename meta/recipes-devtools/cmake/{cmake-native_3.22.3.bb => cmake-native_3.23.0.bb} (100%)
 rename meta/recipes-devtools/cmake/{cmake_3.22.3.bb => cmake_3.23.0.bb} (100%)

diff --git a/meta/recipes-devtools/cmake/cmake-native_3.22.3.bb b/meta/recipes-devtools/cmake/cmake-native_3.23.0.bb
similarity index 100%
rename from meta/recipes-devtools/cmake/cmake-native_3.22.3.bb
rename to meta/recipes-devtools/cmake/cmake-native_3.23.0.bb
diff --git a/meta/recipes-devtools/cmake/cmake.inc b/meta/recipes-devtools/cmake/cmake.inc
index d500321138..6f6fa61cdb 100644
--- a/meta/recipes-devtools/cmake/cmake.inc
+++ b/meta/recipes-devtools/cmake/cmake.inc
@@ -10,7 +10,7 @@ HOMEPAGE = "http://www.cmake.org/"
 BUGTRACKER = "http://public.kitware.com/Bug/my_view_page.php"
 SECTION = "console/utils"
 LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://Copyright.txt;md5=31023e1d3f51ca90a58f55bcee8e2339 \
+LIC_FILES_CHKSUM = "file://Copyright.txt;md5=f2102a52df7aa592cf072180e7ebc8c7 \
                     file://Source/cmake.h;beginline=1;endline=2;md5=a5f70e1fef8614734eae0d62b4f5891b \
                     "
 
@@ -21,7 +21,7 @@ SRC_URI = "https://cmake.org/files/v${CMAKE_MAJOR_VERSION}/cmake-${PV}.tar.gz \
            file://0004-Fail-silently-if-system-Qt-installation-is-broken.patch \
 "
 
-SRC_URI[sha256sum] = "9f8469166f94553b6978a16ee29227ec49a2eb5ceb608275dec40d8ae0d1b5a0"
+SRC_URI[sha256sum] = "5ab0a12f702f44013be7e19534cd9094d65cc9fe7b2cd0f8c9e5318e0fe4ac82"
 
 UPSTREAM_CHECK_REGEX = "cmake-(?P<pver>\d+(\.\d+)+)\.tar"
 
diff --git a/meta/recipes-devtools/cmake/cmake_3.22.3.bb b/meta/recipes-devtools/cmake/cmake_3.23.0.bb
similarity index 100%
rename from meta/recipes-devtools/cmake/cmake_3.22.3.bb
rename to meta/recipes-devtools/cmake/cmake_3.23.0.bb
-- 
2.30.2



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

* [PATCH 13/17] epiphany: upgrade 41.3 -> 42.0
  2022-04-07 17:00 [PATCH 01/17] connman-conf: ignore eth0 in qemu in a way that is not sysvinit-specific Alexander Kanavin
                   ` (10 preceding siblings ...)
  2022-04-07 17:00 ` [PATCH 12/17] cmake: update 3.22.3 -> 3.23.0 Alexander Kanavin
@ 2022-04-07 17:00 ` Alexander Kanavin
  2022-04-07 17:00 ` [PATCH 14/17] gdk-pixbuf: upgrade 2.42.6 -> 2.42.8 Alexander Kanavin
                   ` (4 subsequent siblings)
  16 siblings, 0 replies; 31+ messages in thread
From: Alexander Kanavin @ 2022-04-07 17:00 UTC (permalink / raw)
  To: openembedded-core; +Cc: Alexander Kanavin

The new version uses printenv from coreutils during builds.

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
---
 .../{epiphany_41.3.bb => epiphany_42.0.bb}    |  4 +--
 ...5f7bab38301d8a4a444173acdae8d9692146.patch | 35 -------------------
 2 files changed, 2 insertions(+), 37 deletions(-)
 rename meta/recipes-gnome/epiphany/{epiphany_41.3.bb => epiphany_42.0.bb} (90%)
 delete mode 100644 meta/recipes-gnome/epiphany/files/bfbb5f7bab38301d8a4a444173acdae8d9692146.patch

diff --git a/meta/recipes-gnome/epiphany/epiphany_41.3.bb b/meta/recipes-gnome/epiphany/epiphany_42.0.bb
similarity index 90%
rename from meta/recipes-gnome/epiphany/epiphany_41.3.bb
rename to meta/recipes-gnome/epiphany/epiphany_42.0.bb
index 6dca6a7305..1cf731c7d6 100644
--- a/meta/recipes-gnome/epiphany/epiphany_41.3.bb
+++ b/meta/recipes-gnome/epiphany/epiphany_42.0.bb
@@ -16,6 +16,7 @@ DEPENDS = " \
           libdazzle \
           libhandy \
           glib-2.0-native \
+          coreutils-native \
           "
 
 GNOMEBASEBUILDCLASS = "meson"
@@ -24,11 +25,10 @@ REQUIRED_DISTRO_FEATURES = "x11 opengl"
 
 SRC_URI = "${GNOME_MIRROR}/${GNOMEBN}/${@oe.utils.trim_version("${PV}", 1)}/${GNOMEBN}-${PV}.tar.${GNOME_COMPRESS_TYPE};name=archive \
            file://0002-help-meson.build-disable-the-use-of-yelp.patch \
-           file://bfbb5f7bab38301d8a4a444173acdae8d9692146.patch \
            file://migrator.patch \
            file://distributor.patch \
            "
-SRC_URI[archive.sha256sum] = "ba01268ee54f318dfdac2e01eba38a3fc96940c1cbf640ed2613ae29f8bcb9ad"
+SRC_URI[archive.sha256sum] = "3dbfa8c00e45b7f44e1824d01f0febe83707b5fb9330c261173f68b7f03cd5e3"
 
 PACKAGECONFIG_SOUP ?= "soup2"
 PACKAGECONFIG ??= "${PACKAGECONFIG_SOUP}"
diff --git a/meta/recipes-gnome/epiphany/files/bfbb5f7bab38301d8a4a444173acdae8d9692146.patch b/meta/recipes-gnome/epiphany/files/bfbb5f7bab38301d8a4a444173acdae8d9692146.patch
deleted file mode 100644
index f20975c3bd..0000000000
--- a/meta/recipes-gnome/epiphany/files/bfbb5f7bab38301d8a4a444173acdae8d9692146.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From bfbb5f7bab38301d8a4a444173acdae8d9692146 Mon Sep 17 00:00:00 2001
-From: rvalue <i@rvalue.moe>
-Date: Wed, 24 Nov 2021 04:52:42 +0000
-Subject: [PATCH] Remove incorrect args for i18n.merge_file
-
-Part-of: <https://gitlab.gnome.org/GNOME/epiphany/-/merge_requests/1031>
-Upstream-Status: Backport
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
----
- data/meson.build | 2 --
- 1 file changed, 2 deletions(-)
-
-diff --git a/data/meson.build b/data/meson.build
-index 46df3fd80..eac6b8224 100644
---- a/data/meson.build
-+++ b/data/meson.build
-@@ -16,7 +16,6 @@ install_data(
- desktop_conf = configuration_data()
- desktop_conf.set('icon', application_id)
- desktop = i18n.merge_file(
--  'desktop',
-   input: configure_file(
-     input: files('org.gnome.Epiphany.desktop.in.in'),
-     output: 'org.gnome.Epiphany.desktop.in',
-@@ -32,7 +31,6 @@ desktop = i18n.merge_file(
- appdata_conf = configuration_data()
- appdata_conf.set('appid', application_id)
- appdata = i18n.merge_file(
--  'appdata',
-   input: configure_file(
-     input: files('org.gnome.Epiphany.appdata.xml.in.in'),
-     output: 'org.gnome.Epiphany.appdata.xml.in',
--- 
-GitLab
-
-- 
2.30.2



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

* [PATCH 14/17] gdk-pixbuf: upgrade 2.42.6 -> 2.42.8
  2022-04-07 17:00 [PATCH 01/17] connman-conf: ignore eth0 in qemu in a way that is not sysvinit-specific Alexander Kanavin
                   ` (11 preceding siblings ...)
  2022-04-07 17:00 ` [PATCH 13/17] epiphany: upgrade 41.3 -> 42.0 Alexander Kanavin
@ 2022-04-07 17:00 ` Alexander Kanavin
  2022-04-07 17:00 ` [PATCH 15/17] libgcrypt: upgrade 1.9.4 -> 1.10.1 Alexander Kanavin
                   ` (3 subsequent siblings)
  16 siblings, 0 replies; 31+ messages in thread
From: Alexander Kanavin @ 2022-04-07 17:00 UTC (permalink / raw)
  To: openembedded-core; +Cc: Alexander Kanavin

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
---
 .../{gdk-pixbuf_2.42.6.bb => gdk-pixbuf_2.42.8.bb}        | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)
 rename meta/recipes-gnome/gdk-pixbuf/{gdk-pixbuf_2.42.6.bb => gdk-pixbuf_2.42.8.bb} (94%)

diff --git a/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.42.6.bb b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.42.8.bb
similarity index 94%
rename from meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.42.6.bb
rename to meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.42.8.bb
index 55c16e4d66..fb6829a7d1 100644
--- a/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.42.6.bb
+++ b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.42.8.bb
@@ -23,7 +23,7 @@ SRC_URI = "${GNOME_MIRROR}/${BPN}/${MAJ_VER}/${BPN}-${PV}.tar.xz \
            file://0001-Add-use_prebuilt_tools-option.patch \
            "
 
-SRC_URI[sha256sum] = "c4a6b75b7ed8f58ca48da830b9fa00ed96d668d3ab4b1f723dcf902f78bde77f"
+SRC_URI[sha256sum] = "84acea3acb2411b29134b32015a5b1aaa62844b19c4b1ef8b8971c6b0759f4c6"
 
 inherit meson pkgconfig gettext pixbufcache ptest-gnome upstream-version-is-even gobject-introspection gi-docgen lib_package
 
@@ -39,9 +39,9 @@ PACKAGECONFIG = "${GDK_PIXBUF_LOADERS} \
                  ${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)}"
 PACKAGECONFIG:class-native = "${GDK_PIXBUF_LOADERS}"
 
-PACKAGECONFIG[png] = "-Dpng=true,-Dpng=false,libpng"
-PACKAGECONFIG[jpeg] = "-Djpeg=true,-Djpeg=false,jpeg"
-PACKAGECONFIG[tiff] = "-Dtiff=true,-Dtiff=false,tiff"
+PACKAGECONFIG[png] = "-Dpng=enabled,-Dpng=disabled,libpng"
+PACKAGECONFIG[jpeg] = "-Djpeg=enabled,-Djpeg=disabled,jpeg"
+PACKAGECONFIG[tiff] = "-Dtiff=enabled,-Dtiff=disabled,tiff"
 PACKAGECONFIG[tests] = "-Dinstalled_tests=true,-Dinstalled_tests=false"
 
 EXTRA_OEMESON:class-target = " \
-- 
2.30.2



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

* [PATCH 15/17] libgcrypt: upgrade 1.9.4 -> 1.10.1
  2022-04-07 17:00 [PATCH 01/17] connman-conf: ignore eth0 in qemu in a way that is not sysvinit-specific Alexander Kanavin
                   ` (12 preceding siblings ...)
  2022-04-07 17:00 ` [PATCH 14/17] gdk-pixbuf: upgrade 2.42.6 -> 2.42.8 Alexander Kanavin
@ 2022-04-07 17:00 ` Alexander Kanavin
  2022-04-07 19:46   ` [OE-core] " Khem Raj
  2022-04-07 17:00 ` [PATCH 16/17] librsvg: upgrade 2.52.7 -> 2.54.0 Alexander Kanavin
                   ` (2 subsequent siblings)
  16 siblings, 1 reply; 31+ messages in thread
From: Alexander Kanavin @ 2022-04-07 17:00 UTC (permalink / raw)
  To: openembedded-core; +Cc: Alexander Kanavin

License-Update: formatting

Add another chunk to pthread fixing patch.

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
---
 ...0001-Makefile.am-add-a-missing-space.patch | 41 -------------------
 ...m-fix-undefined-reference-to-pthread.patch | 19 ++++++---
 ...libgcrypt_1.9.4.bb => libgcrypt_1.10.1.bb} |  5 +--
 3 files changed, 16 insertions(+), 49 deletions(-)
 delete mode 100644 meta/recipes-support/libgcrypt/files/0001-Makefile.am-add-a-missing-space.patch
 rename meta/recipes-support/libgcrypt/{libgcrypt_1.9.4.bb => libgcrypt_1.10.1.bb} (90%)

diff --git a/meta/recipes-support/libgcrypt/files/0001-Makefile.am-add-a-missing-space.patch b/meta/recipes-support/libgcrypt/files/0001-Makefile.am-add-a-missing-space.patch
deleted file mode 100644
index 62b7484e45..0000000000
--- a/meta/recipes-support/libgcrypt/files/0001-Makefile.am-add-a-missing-space.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From b8192ff67ed46ea2cc4282fa1856ce2868223737 Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Wed, 24 Feb 2021 19:43:07 +0000
-Subject: [PATCH] Makefile.am: add a missing space
-
-Upstream-Status: Submitted [by email to gniibe@fsij.org,gcrypt-devel@gnupg.org]
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
----
- cipher/Makefile.am | 2 +-
- doc/Makefile.am    | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/cipher/Makefile.am b/cipher/Makefile.am
-index 1cf5072..b3ca225 100644
---- a/cipher/Makefile.am
-+++ b/cipher/Makefile.am
-@@ -143,7 +143,7 @@ gost-sb.h: gost-s-box
- 
- gost-s-box: gost-s-box.c
- 	$(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) $(LDFLAGS_FOR_BUILD) \
--	    $(CPPFLAGS_FOR_BUILD)-o $@ $(srcdir)/gost-s-box.c
-+	    $(CPPFLAGS_FOR_BUILD) -o $@ $(srcdir)/gost-s-box.c
- 
- 
- if ENABLE_O_FLAG_MUNGING
-diff --git a/doc/Makefile.am b/doc/Makefile.am
-index fd7aac2..1703bd9 100644
---- a/doc/Makefile.am
-+++ b/doc/Makefile.am
-@@ -43,7 +43,7 @@ man_MANS = $(myman_pages)
- 
- yat2m: yat2m.c
- 	$(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) $(LDFLAGS_FOR_BUILD) \
--	    $(CPPFLAGS_FOR_BUILD)-o $@ $(srcdir)/yat2m.c
-+	    $(CPPFLAGS_FOR_BUILD) -o $@ $(srcdir)/yat2m.c
- 
- .fig.png:
- 	fig2dev -L png `test -f '$<' || echo '$(srcdir)/'`$< $@
--- 
-2.17.1
-
diff --git a/meta/recipes-support/libgcrypt/files/0004-tests-Makefile.am-fix-undefined-reference-to-pthread.patch b/meta/recipes-support/libgcrypt/files/0004-tests-Makefile.am-fix-undefined-reference-to-pthread.patch
index 5bf0c7f8a3..4233fa7877 100644
--- a/meta/recipes-support/libgcrypt/files/0004-tests-Makefile.am-fix-undefined-reference-to-pthread.patch
+++ b/meta/recipes-support/libgcrypt/files/0004-tests-Makefile.am-fix-undefined-reference-to-pthread.patch
@@ -1,4 +1,4 @@
-From cb06d218ee36e303a64f27c690f30040d5d87960 Mon Sep 17 00:00:00 2001
+From 9182bc2dc676858a823c477d8f45a578b8c4f69f Mon Sep 17 00:00:00 2001
 From: Hongxu Jia <hongxu.jia@windriver.com>
 Date: Sun, 12 Jun 2016 04:44:29 -0400
 Subject: [PATCH] tests/Makefile.am: fix undefined reference to
@@ -11,14 +11,14 @@ Upstream-Status: Pending
 Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
 
 ---
- tests/Makefile.am | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
+ tests/Makefile.am | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
 
 diff --git a/tests/Makefile.am b/tests/Makefile.am
-index ab201f0..1cf82d0 100644
+index e6953fd..f47e1d3 100644
 --- a/tests/Makefile.am
 +++ b/tests/Makefile.am
-@@ -75,7 +75,7 @@ t_mpi_bit_LDADD = $(standard_ldadd) @LDADD_FOR_TESTS_KLUDGE@
+@@ -76,7 +76,7 @@ t_mpi_bit_LDADD = $(standard_ldadd) @LDADD_FOR_TESTS_KLUDGE@
  t_secmem_LDADD = $(standard_ldadd) @LDADD_FOR_TESTS_KLUDGE@
  testapi_LDADD = $(standard_ldadd) @LDADD_FOR_TESTS_KLUDGE@
  t_lock_LDADD = $(standard_ldadd) $(GPG_ERROR_MT_LIBS) @LDADD_FOR_TESTS_KLUDGE@
@@ -27,3 +27,12 @@ index ab201f0..1cf82d0 100644
  testdrv_LDADD = $(LDADD_FOR_TESTS_KLUDGE)
  
  # Build a version of the test driver for the build platform.
+@@ -95,7 +95,7 @@ else
+ xtestsuite_libs = ../src/.libs/libgcrypt.so*
+ xtestsuite_driver = testdrv
+ t_kdf_LDADD = $(standard_ldadd) $(GPG_ERROR_MT_LIBS) @LDADD_FOR_TESTS_KLUDGE@
+-t_kdf_CFLAGS = $(GPG_ERROR_MT_CFLAGS)
++t_kdf_CFLAGS = $(GPG_ERROR_MT_CFLAGS) -lpthread
+ endif
+ 
+ # xcheck uses our new testdrv instead of the automake test runner.
diff --git a/meta/recipes-support/libgcrypt/libgcrypt_1.9.4.bb b/meta/recipes-support/libgcrypt/libgcrypt_1.10.1.bb
similarity index 90%
rename from meta/recipes-support/libgcrypt/libgcrypt_1.9.4.bb
rename to meta/recipes-support/libgcrypt/libgcrypt_1.10.1.bb
index 866f3932f6..251e0d0348 100644
--- a/meta/recipes-support/libgcrypt/libgcrypt_1.9.4.bb
+++ b/meta/recipes-support/libgcrypt/libgcrypt_1.10.1.bb
@@ -14,7 +14,7 @@ LICENSE:dumpsexp-dev = "GPL-3.0-or-later"
 
 LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
                     file://COPYING.LIB;md5=bbb461211a33b134d42ed5ee802b37ff \
-                    file://LICENSES;md5=42fa35a25e138166cc40588387f9159d \
+                    file://LICENSES;md5=ef545b6cc717747072616519a1256d69 \
                     "
 
 DEPENDS = "libgpg-error"
@@ -25,9 +25,8 @@ SRC_URI = "${GNUPG_MIRROR}/libgcrypt/libgcrypt-${PV}.tar.bz2 \
            file://0003-tests-bench-slope.c-workaround-ICE-failure-on-mips-w.patch \
            file://0002-libgcrypt-fix-building-error-with-O2-in-sysroot-path.patch \
            file://0004-tests-Makefile.am-fix-undefined-reference-to-pthread.patch \
-           file://0001-Makefile.am-add-a-missing-space.patch \
            "
-SRC_URI[sha256sum] = "ea849c83a72454e3ed4267697e8ca03390aee972ab421e7df69dfe42b65caaf7"
+SRC_URI[sha256sum] = "ef14ae546b0084cd84259f61a55e07a38c3b53afc0f546bffcef2f01baffe9de"
 
 # Below whitelisted CVEs are disputed and not affecting crypto libraries for any distro.
 CVE_CHECK_IGNORE += "CVE-2018-12433 CVE-2018-12438"
-- 
2.30.2



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

* [PATCH 16/17] librsvg: upgrade 2.52.7 -> 2.54.0
  2022-04-07 17:00 [PATCH 01/17] connman-conf: ignore eth0 in qemu in a way that is not sysvinit-specific Alexander Kanavin
                   ` (13 preceding siblings ...)
  2022-04-07 17:00 ` [PATCH 15/17] libgcrypt: upgrade 1.9.4 -> 1.10.1 Alexander Kanavin
@ 2022-04-07 17:00 ` Alexander Kanavin
  2022-04-07 17:00 ` [PATCH 17/17] python3-typing-extensions: upgrade 3.10.0.0 -> 4.1.1 Alexander Kanavin
  2022-04-20 20:05 ` [OE-core] [PATCH 01/17] connman-conf: ignore eth0 in qemu in a way that is not sysvinit-specific Steve Sakoman
  16 siblings, 0 replies; 31+ messages in thread
From: Alexander Kanavin @ 2022-04-07 17:00 UTC (permalink / raw)
  To: openembedded-core; +Cc: Alexander Kanavin

Upstream has replaced gtk-doc with gi-docgen however it is not possible to
configure. So it's disabled until the merge request to do so lands:
https://gitlab.gnome.org/GNOME/librsvg/-/merge_requests/687

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
---
 .../librsvg/librsvg/0001-Disable-docs.patch   | 24 +++++++++++++++++++
 .../{librsvg_2.52.7.bb => librsvg_2.54.0.bb}  |  9 ++++---
 2 files changed, 30 insertions(+), 3 deletions(-)
 create mode 100644 meta/recipes-gnome/librsvg/librsvg/0001-Disable-docs.patch
 rename meta/recipes-gnome/librsvg/{librsvg_2.52.7.bb => librsvg_2.54.0.bb} (85%)

diff --git a/meta/recipes-gnome/librsvg/librsvg/0001-Disable-docs.patch b/meta/recipes-gnome/librsvg/librsvg/0001-Disable-docs.patch
new file mode 100644
index 0000000000..13d25d4f08
--- /dev/null
+++ b/meta/recipes-gnome/librsvg/librsvg/0001-Disable-docs.patch
@@ -0,0 +1,24 @@
+From e62887dfa36812d5b8bc1c2c2fec69ba985309d8 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex@linutronix.de>
+Date: Tue, 5 Apr 2022 09:21:14 +0200
+Subject: [PATCH] Disable docs
+
+Upstream has replaced gtk-doc with rst2man and gi-docgen in a way
+that is not possible to disable and requires g-i. There's a
+pull request to address this, until then let's patch it out:
+https://gitlab.gnome.org/GNOME/librsvg/-/merge_requests/687
+
+Upstream-Status: Inappropriate [see above]
+Signed-off-by: Alexander Kanavin <alex@linutronix.de>
+---
+
+diff --git a/Makefile.am b/Makefile.am
+index e380bc9..5b3fbb5 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -1,4 +1,4 @@
+-SUBDIRS = . gdk-pixbuf-loader tests doc win32
++SUBDIRS = . gdk-pixbuf-loader tests win32
+ 
+ NULL =
+ 
diff --git a/meta/recipes-gnome/librsvg/librsvg_2.52.7.bb b/meta/recipes-gnome/librsvg/librsvg_2.54.0.bb
similarity index 85%
rename from meta/recipes-gnome/librsvg/librsvg_2.52.7.bb
rename to meta/recipes-gnome/librsvg/librsvg_2.54.0.bb
index 78eb93c635..96c54f16d6 100644
--- a/meta/recipes-gnome/librsvg/librsvg_2.52.7.bb
+++ b/meta/recipes-gnome/librsvg/librsvg_2.54.0.bb
@@ -11,16 +11,19 @@ LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c \
                    "
 
 SECTION = "x11/utils"
-DEPENDS = "cairo gdk-pixbuf glib-2.0 libcroco libxml2 pango"
+# Note: docutils/gi-docgen should be made optional when upstream enables that
+# https://gitlab.gnome.org/GNOME/librsvg/-/merge_requests/687
+DEPENDS = "cairo gdk-pixbuf glib-2.0 libcroco libxml2 pango python3-docutils-native gi-docgen-native"
 BBCLASSEXTEND = "native nativesdk"
 
-inherit gnomebase gtk-doc pixbufcache upstream-version-is-even gobject-introspection rust vala
+inherit gnomebase pixbufcache upstream-version-is-even gobject-introspection rust vala
 
 SRC_URI += "file://0001-Makefile.am-pass-rust-target-to-cargo-also-when-not-.patch \
            file://0001-system-deps-src-lib.rs-do-not-probe-into-harcoded-li.patch \
+           file://0001-Disable-docs.patch \
            "
 
-SRC_URI[archive.sha256sum] = "057c1eeeaf85c84e254bdb707459207f5840da5b4d52b4711c03140ed09e6887"
+SRC_URI[archive.sha256sum] = "baf8ebc147f146b4261bb3d0cd0fac944bf8dbb4b1f2347d23341f974dcc3085"
 
 # librsvg is still autotools-based, but is calling cargo from its automake-driven makefiles
 # so we cannot use cargo class directly, but still need bits and pieces from it 
-- 
2.30.2



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

* [PATCH 17/17] python3-typing-extensions: upgrade 3.10.0.0 -> 4.1.1
  2022-04-07 17:00 [PATCH 01/17] connman-conf: ignore eth0 in qemu in a way that is not sysvinit-specific Alexander Kanavin
                   ` (14 preceding siblings ...)
  2022-04-07 17:00 ` [PATCH 16/17] librsvg: upgrade 2.52.7 -> 2.54.0 Alexander Kanavin
@ 2022-04-07 17:00 ` Alexander Kanavin
  2022-04-07 19:43   ` [OE-core] " Khem Raj
  2022-04-20 20:05 ` [OE-core] [PATCH 01/17] connman-conf: ignore eth0 in qemu in a way that is not sysvinit-specific Steve Sakoman
  16 siblings, 1 reply; 31+ messages in thread
From: Alexander Kanavin @ 2022-04-07 17:00 UTC (permalink / raw)
  To: openembedded-core; +Cc: Alexander Kanavin

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
---
 ...ensions_3.10.0.0.bb => python3-typing-extensions_4.1.1.bb} | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
 rename meta/recipes-devtools/python/{python3-typing-extensions_3.10.0.0.bb => python3-typing-extensions_4.1.1.bb} (73%)

diff --git a/meta/recipes-devtools/python/python3-typing-extensions_3.10.0.0.bb b/meta/recipes-devtools/python/python3-typing-extensions_4.1.1.bb
similarity index 73%
rename from meta/recipes-devtools/python/python3-typing-extensions_3.10.0.0.bb
rename to meta/recipes-devtools/python/python3-typing-extensions_4.1.1.bb
index a8e83fc824..6c80a8b237 100644
--- a/meta/recipes-devtools/python/python3-typing-extensions_3.10.0.0.bb
+++ b/meta/recipes-devtools/python/python3-typing-extensions_4.1.1.bb
@@ -5,9 +5,9 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=64fc2b30b67d0a8423c250e0386ed72f"
 # The name on PyPi is slightly different.
 PYPI_PACKAGE = "typing_extensions"
 
-SRC_URI[sha256sum] = "50b6f157849174217d0656f99dc82fe932884fb250826c18350e159ec6cdf342"
+SRC_URI[sha256sum] = "1a9462dcc3347a79b1f1c0271fbe79e844580bb598bafa1ed208b94da3cdcd42"
 
-inherit pypi setuptools3
+inherit pypi python_flit_core
 
 BBCLASSEXTEND = "native nativesdk"
 
-- 
2.30.2



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

* Re: [OE-core] [PATCH 17/17] python3-typing-extensions: upgrade 3.10.0.0 -> 4.1.1
  2022-04-07 17:00 ` [PATCH 17/17] python3-typing-extensions: upgrade 3.10.0.0 -> 4.1.1 Alexander Kanavin
@ 2022-04-07 19:43   ` Khem Raj
  2022-04-07 19:45     ` Alexander Kanavin
  0 siblings, 1 reply; 31+ messages in thread
From: Khem Raj @ 2022-04-07 19:43 UTC (permalink / raw)
  To: Alexander Kanavin
  Cc: Patches and discussions about the oe-core layer, Alexander Kanavin

On Thu, Apr 7, 2022 at 1:01 PM Alexander Kanavin <alex.kanavin@gmail.com> wrote:
>
> Signed-off-by: Alexander Kanavin <alex@linutronix.de>
> ---
>  ...ensions_3.10.0.0.bb => python3-typing-extensions_4.1.1.bb} | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
>  rename meta/recipes-devtools/python/{python3-typing-extensions_3.10.0.0.bb => python3-typing-extensions_4.1.1.bb} (73%)
>
> diff --git a/meta/recipes-devtools/python/python3-typing-extensions_3.10.0.0.bb b/meta/recipes-devtools/python/python3-typing-extensions_4.1.1.bb
> similarity index 73%
> rename from meta/recipes-devtools/python/python3-typing-extensions_3.10.0.0.bb
> rename to meta/recipes-devtools/python/python3-typing-extensions_4.1.1.bb
> index a8e83fc824..6c80a8b237 100644
> --- a/meta/recipes-devtools/python/python3-typing-extensions_3.10.0.0.bb
> +++ b/meta/recipes-devtools/python/python3-typing-extensions_4.1.1.bb
> @@ -5,9 +5,9 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=64fc2b30b67d0a8423c250e0386ed72f"
>  # The name on PyPi is slightly different.
>  PYPI_PACKAGE = "typing_extensions"
>
> -SRC_URI[sha256sum] = "50b6f157849174217d0656f99dc82fe932884fb250826c18350e159ec6cdf342"
> +SRC_URI[sha256sum] = "1a9462dcc3347a79b1f1c0271fbe79e844580bb598bafa1ed208b94da3cdcd42"
>
> -inherit pypi setuptools3
> +inherit pypi python_flit_core

has this module made a move to use flit instead of setuptools ? if so,
perhaps adding that info in commit might be good.

>
>  BBCLASSEXTEND = "native nativesdk"
>
> --
> 2.30.2
>
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#164133): https://lists.openembedded.org/g/openembedded-core/message/164133
> Mute This Topic: https://lists.openembedded.org/mt/90317738/1997914
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [raj.khem@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>


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

* Re: [OE-core] [PATCH 17/17] python3-typing-extensions: upgrade 3.10.0.0 -> 4.1.1
  2022-04-07 19:43   ` [OE-core] " Khem Raj
@ 2022-04-07 19:45     ` Alexander Kanavin
  2022-04-07 19:59       ` Khem Raj
  2022-04-07 21:14       ` Richard Purdie
  0 siblings, 2 replies; 31+ messages in thread
From: Alexander Kanavin @ 2022-04-07 19:45 UTC (permalink / raw)
  To: Khem Raj
  Cc: Patches and discussions about the oe-core layer, Alexander Kanavin

On Thu, 7 Apr 2022 at 21:43, Khem Raj <raj.khem@gmail.com> wrote:
> > -inherit pypi setuptools3
> > +inherit pypi python_flit_core
>
> has this module made a move to use flit instead of setuptools ? if so,
> perhaps adding that info in commit might be good.

It has, yes. I thought such a change is self-documenting.

Alex


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

* Re: [OE-core] [PATCH 15/17] libgcrypt: upgrade 1.9.4 -> 1.10.1
  2022-04-07 17:00 ` [PATCH 15/17] libgcrypt: upgrade 1.9.4 -> 1.10.1 Alexander Kanavin
@ 2022-04-07 19:46   ` Khem Raj
  2022-04-07 19:56     ` Alexander Kanavin
  0 siblings, 1 reply; 31+ messages in thread
From: Khem Raj @ 2022-04-07 19:46 UTC (permalink / raw)
  To: Alexander Kanavin
  Cc: Patches and discussions about the oe-core layer, Alexander Kanavin

On Thu, Apr 7, 2022 at 1:01 PM Alexander Kanavin <alex.kanavin@gmail.com> wrote:
>
> License-Update: formatting
>
> Add another chunk to pthread fixing patch.
>
> Signed-off-by: Alexander Kanavin <alex@linutronix.de>
> ---
>  ...0001-Makefile.am-add-a-missing-space.patch | 41 -------------------
>  ...m-fix-undefined-reference-to-pthread.patch | 19 ++++++---
>  ...libgcrypt_1.9.4.bb => libgcrypt_1.10.1.bb} |  5 +--
>  3 files changed, 16 insertions(+), 49 deletions(-)
>  delete mode 100644 meta/recipes-support/libgcrypt/files/0001-Makefile.am-add-a-missing-space.patch
>  rename meta/recipes-support/libgcrypt/{libgcrypt_1.9.4.bb => libgcrypt_1.10.1.bb} (90%)
>
> diff --git a/meta/recipes-support/libgcrypt/files/0001-Makefile.am-add-a-missing-space.patch b/meta/recipes-support/libgcrypt/files/0001-Makefile.am-add-a-missing-space.patch
> deleted file mode 100644
> index 62b7484e45..0000000000
> --- a/meta/recipes-support/libgcrypt/files/0001-Makefile.am-add-a-missing-space.patch
> +++ /dev/null
> @@ -1,41 +0,0 @@
> -From b8192ff67ed46ea2cc4282fa1856ce2868223737 Mon Sep 17 00:00:00 2001
> -From: Alexander Kanavin <alex.kanavin@gmail.com>
> -Date: Wed, 24 Feb 2021 19:43:07 +0000
> -Subject: [PATCH] Makefile.am: add a missing space
> -
> -Upstream-Status: Submitted [by email to gniibe@fsij.org,gcrypt-devel@gnupg.org]
> -Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
> ----
> - cipher/Makefile.am | 2 +-
> - doc/Makefile.am    | 2 +-
> - 2 files changed, 2 insertions(+), 2 deletions(-)
> -
> -diff --git a/cipher/Makefile.am b/cipher/Makefile.am
> -index 1cf5072..b3ca225 100644
> ---- a/cipher/Makefile.am
> -+++ b/cipher/Makefile.am
> -@@ -143,7 +143,7 @@ gost-sb.h: gost-s-box
> -
> - gost-s-box: gost-s-box.c
> -       $(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) $(LDFLAGS_FOR_BUILD) \
> --          $(CPPFLAGS_FOR_BUILD)-o $@ $(srcdir)/gost-s-box.c
> -+          $(CPPFLAGS_FOR_BUILD) -o $@ $(srcdir)/gost-s-box.c
> -
> -
> - if ENABLE_O_FLAG_MUNGING
> -diff --git a/doc/Makefile.am b/doc/Makefile.am
> -index fd7aac2..1703bd9 100644
> ---- a/doc/Makefile.am
> -+++ b/doc/Makefile.am
> -@@ -43,7 +43,7 @@ man_MANS = $(myman_pages)
> -
> - yat2m: yat2m.c
> -       $(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) $(LDFLAGS_FOR_BUILD) \
> --          $(CPPFLAGS_FOR_BUILD)-o $@ $(srcdir)/yat2m.c
> -+          $(CPPFLAGS_FOR_BUILD) -o $@ $(srcdir)/yat2m.c
> -
> - .fig.png:
> -       fig2dev -L png `test -f '$<' || echo '$(srcdir)/'`$< $@
> ---
> -2.17.1
> -
> diff --git a/meta/recipes-support/libgcrypt/files/0004-tests-Makefile.am-fix-undefined-reference-to-pthread.patch b/meta/recipes-support/libgcrypt/files/0004-tests-Makefile.am-fix-undefined-reference-to-pthread.patch
> index 5bf0c7f8a3..4233fa7877 100644
> --- a/meta/recipes-support/libgcrypt/files/0004-tests-Makefile.am-fix-undefined-reference-to-pthread.patch
> +++ b/meta/recipes-support/libgcrypt/files/0004-tests-Makefile.am-fix-undefined-reference-to-pthread.patch
> @@ -1,4 +1,4 @@
> -From cb06d218ee36e303a64f27c690f30040d5d87960 Mon Sep 17 00:00:00 2001
> +From 9182bc2dc676858a823c477d8f45a578b8c4f69f Mon Sep 17 00:00:00 2001
>  From: Hongxu Jia <hongxu.jia@windriver.com>
>  Date: Sun, 12 Jun 2016 04:44:29 -0400
>  Subject: [PATCH] tests/Makefile.am: fix undefined reference to
> @@ -11,14 +11,14 @@ Upstream-Status: Pending
>  Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
>
>  ---
> - tests/Makefile.am | 2 +-
> - 1 file changed, 1 insertion(+), 1 deletion(-)
> + tests/Makefile.am | 4 ++--
> + 1 file changed, 2 insertions(+), 2 deletions(-)
>
>  diff --git a/tests/Makefile.am b/tests/Makefile.am
> -index ab201f0..1cf82d0 100644
> +index e6953fd..f47e1d3 100644
>  --- a/tests/Makefile.am
>  +++ b/tests/Makefile.am
> -@@ -75,7 +75,7 @@ t_mpi_bit_LDADD = $(standard_ldadd) @LDADD_FOR_TESTS_KLUDGE@
> +@@ -76,7 +76,7 @@ t_mpi_bit_LDADD = $(standard_ldadd) @LDADD_FOR_TESTS_KLUDGE@
>   t_secmem_LDADD = $(standard_ldadd) @LDADD_FOR_TESTS_KLUDGE@
>   testapi_LDADD = $(standard_ldadd) @LDADD_FOR_TESTS_KLUDGE@
>   t_lock_LDADD = $(standard_ldadd) $(GPG_ERROR_MT_LIBS) @LDADD_FOR_TESTS_KLUDGE@
> @@ -27,3 +27,12 @@ index ab201f0..1cf82d0 100644
>   testdrv_LDADD = $(LDADD_FOR_TESTS_KLUDGE)
>
>   # Build a version of the test driver for the build platform.
> +@@ -95,7 +95,7 @@ else
> + xtestsuite_libs = ../src/.libs/libgcrypt.so*
> + xtestsuite_driver = testdrv
> + t_kdf_LDADD = $(standard_ldadd) $(GPG_ERROR_MT_LIBS) @LDADD_FOR_TESTS_KLUDGE@
> +-t_kdf_CFLAGS = $(GPG_ERROR_MT_CFLAGS)
> ++t_kdf_CFLAGS = $(GPG_ERROR_MT_CFLAGS) -lpthread

Using -pthread is preferred,to let compiler driver decide the order
and other dependencies( if any) to be added
dependending upon platform etc.

> + endif
> +
> + # xcheck uses our new testdrv instead of the automake test runner.
> diff --git a/meta/recipes-support/libgcrypt/libgcrypt_1.9.4.bb b/meta/recipes-support/libgcrypt/libgcrypt_1.10.1.bb
> similarity index 90%
> rename from meta/recipes-support/libgcrypt/libgcrypt_1.9.4.bb
> rename to meta/recipes-support/libgcrypt/libgcrypt_1.10.1.bb
> index 866f3932f6..251e0d0348 100644
> --- a/meta/recipes-support/libgcrypt/libgcrypt_1.9.4.bb
> +++ b/meta/recipes-support/libgcrypt/libgcrypt_1.10.1.bb
> @@ -14,7 +14,7 @@ LICENSE:dumpsexp-dev = "GPL-3.0-or-later"
>
>  LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
>                      file://COPYING.LIB;md5=bbb461211a33b134d42ed5ee802b37ff \
> -                    file://LICENSES;md5=42fa35a25e138166cc40588387f9159d \
> +                    file://LICENSES;md5=ef545b6cc717747072616519a1256d69 \
>                      "
>
>  DEPENDS = "libgpg-error"
> @@ -25,9 +25,8 @@ SRC_URI = "${GNUPG_MIRROR}/libgcrypt/libgcrypt-${PV}.tar.bz2 \
>             file://0003-tests-bench-slope.c-workaround-ICE-failure-on-mips-w.patch \
>             file://0002-libgcrypt-fix-building-error-with-O2-in-sysroot-path.patch \
>             file://0004-tests-Makefile.am-fix-undefined-reference-to-pthread.patch \
> -           file://0001-Makefile.am-add-a-missing-space.patch \
>             "
> -SRC_URI[sha256sum] = "ea849c83a72454e3ed4267697e8ca03390aee972ab421e7df69dfe42b65caaf7"
> +SRC_URI[sha256sum] = "ef14ae546b0084cd84259f61a55e07a38c3b53afc0f546bffcef2f01baffe9de"
>
>  # Below whitelisted CVEs are disputed and not affecting crypto libraries for any distro.
>  CVE_CHECK_IGNORE += "CVE-2018-12433 CVE-2018-12438"
> --
> 2.30.2
>
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#164131): https://lists.openembedded.org/g/openembedded-core/message/164131
> Mute This Topic: https://lists.openembedded.org/mt/90317736/1997914
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [raj.khem@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>


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

* Re: [OE-core] [PATCH 04/17] squashfs-tools: update 4.5 -> 4.5.1
  2022-04-07 17:00 ` [PATCH 04/17] squashfs-tools: update 4.5 -> 4.5.1 Alexander Kanavin
@ 2022-04-07 19:55   ` Khem Raj
  2022-04-07 19:59     ` Alexander Kanavin
  0 siblings, 1 reply; 31+ messages in thread
From: Khem Raj @ 2022-04-07 19:55 UTC (permalink / raw)
  To: Alexander Kanavin
  Cc: Patches and discussions about the oe-core layer, Alexander Kanavin

On Thu, Apr 7, 2022 at 1:00 PM Alexander Kanavin <alex.kanavin@gmail.com> wrote:
>
> Drop backports.
>
> Correctly set source and installation directories.
>
> Signed-off-by: Alexander Kanavin <alex@linutronix.de>
> ---
>  ....sh-do-not-write-original-timestamps.patch |  30 ++
>  ...e-of-INSTALL_DIR-for-symlink-targets.patch |  34 --
>  .../CVE-2021-41072-requisite-1.patch          | 135 -------
>  .../CVE-2021-41072-requisite-2.patch          | 108 ------
>  .../CVE-2021-41072-requisite-3.patch          | 326 -----------------
>  .../squashfs-tools/CVE-2021-41072.patch       | 329 ------------------
>  .../squashfs-tools/squashfs-tools_git.bb      |  20 +-
>  7 files changed, 39 insertions(+), 943 deletions(-)
>  create mode 100644 meta/recipes-devtools/squashfs-tools/files/0001-install-manpages.sh-do-not-write-original-timestamps.patch
>  delete mode 100644 meta/recipes-devtools/squashfs-tools/squashfs-tools/0001-Avoid-use-of-INSTALL_DIR-for-symlink-targets.patch
>  delete mode 100644 meta/recipes-devtools/squashfs-tools/squashfs-tools/CVE-2021-41072-requisite-1.patch
>  delete mode 100644 meta/recipes-devtools/squashfs-tools/squashfs-tools/CVE-2021-41072-requisite-2.patch
>  delete mode 100644 meta/recipes-devtools/squashfs-tools/squashfs-tools/CVE-2021-41072-requisite-3.patch
>  delete mode 100644 meta/recipes-devtools/squashfs-tools/squashfs-tools/CVE-2021-41072.patch
>
> diff --git a/meta/recipes-devtools/squashfs-tools/files/0001-install-manpages.sh-do-not-write-original-timestamps.patch b/meta/recipes-devtools/squashfs-tools/files/0001-install-manpages.sh-do-not-write-original-timestamps.patch
> new file mode 100644
> index 0000000000..ed1d2f5b3b
> --- /dev/null
> +++ b/meta/recipes-devtools/squashfs-tools/files/0001-install-manpages.sh-do-not-write-original-timestamps.patch
> @@ -0,0 +1,30 @@
> +From b44b00dae195d8587857c7e8054e9be4eaa1f8b3 Mon Sep 17 00:00:00 2001
> +From: Alexander Kanavin <alex@linutronix.de>
> +Date: Thu, 7 Apr 2022 09:26:09 +0200
> +Subject: [PATCH] install-manpages.sh: do not write original timestamps into
> + .gz metadata
> +
> +This helps binary reproducibility.
> +
> +Upstream-Status: Submitted [https://github.com/plougher/squashfs-tools/pull/177]
> +Signed-off-by: Alexander Kanavin <alex@linutronix.de>
> +---
> + generate-manpages/install-manpages.sh | 2 +-
> + 1 file changed, 1 insertion(+), 1 deletion(-)
> +
> +diff --git a/generate-manpages/install-manpages.sh b/generate-manpages/install-manpages.sh
> +index d4c9e91..6a43b89 100755
> +--- a/generate-manpages/install-manpages.sh
> ++++ b/generate-manpages/install-manpages.sh
> +@@ -56,7 +56,7 @@ for i in mksquashfs unsquashfs sqfstar sqfscat; do
> +               exit 1
> +       fi
> +
> +-      if ! gzip -f9 $2/$i.1; then
> ++      if ! gzip -n -f9 $2/$i.1; then
> +               echo "$0: Compressing installed manpage failed.  Aborting" >&2
> +               exit 1
> +       fi
> +--
> +2.30.2
> +
> diff --git a/meta/recipes-devtools/squashfs-tools/squashfs-tools/0001-Avoid-use-of-INSTALL_DIR-for-symlink-targets.patch b/meta/recipes-devtools/squashfs-tools/squashfs-tools/0001-Avoid-use-of-INSTALL_DIR-for-symlink-targets.patch
> deleted file mode 100644
> index b505f05735..0000000000
> --- a/meta/recipes-devtools/squashfs-tools/squashfs-tools/0001-Avoid-use-of-INSTALL_DIR-for-symlink-targets.patch
> +++ /dev/null
> @@ -1,34 +0,0 @@
> -From c9e263a7add76df1ed92e879d964264067c0f6e8 Mon Sep 17 00:00:00 2001
> -From: Patrick McCarty <patrick.mccarty@intel.com>
> -Date: Mon, 26 Jul 2021 11:38:43 -0700
> -Subject: [PATCH] Avoid use of INSTALL_DIR for symlink targets
> -
> -In case INSTALL_DIR is overridden with a staged install location, using
> -INSTALL_DIR for the symlink target path prefix will yield an incorrect location
> -for the final installation.
> -
> -Because the symlink itself is already installed to INSTALL_DIR, simply removing
> -the INSTALL_DIR prefix suffices as a fix.
> -
> -Note that using $DESTDIR/$INSTALL_DIR where appropriate can avoid this type of
> -issue, but that can be considered a future enhancement.
> -
> -Upstream-Status: Backport
> -Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
> -Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
> ----
> - squashfs-tools/Makefile | 4 ++--
> - 1 file changed, 2 insertions(+), 2 deletions(-)
> -
> -diff --git a/squashfs-tools/Makefile b/squashfs-tools/Makefile
> -index 5795d0d..998c5fd 100755
> ---- a/Makefile
> -+++ b/Makefile
> -@@ -406,5 +406,5 @@ install: mksquashfs unsquashfs
> -       mkdir -p $(INSTALL_DIR)
> -       cp mksquashfs $(INSTALL_DIR)
> -       cp unsquashfs $(INSTALL_DIR)
> --      ln -fs $(INSTALL_DIR)/unsquashfs $(INSTALL_DIR)/sqfscat
> --      ln -fs $(INSTALL_DIR)/mksquashfs $(INSTALL_DIR)/sqfstar
> -+      ln -fs unsquashfs $(INSTALL_DIR)/sqfscat
> -+      ln -fs mksquashfs $(INSTALL_DIR)/sqfstar
> diff --git a/meta/recipes-devtools/squashfs-tools/squashfs-tools/CVE-2021-41072-requisite-1.patch b/meta/recipes-devtools/squashfs-tools/squashfs-tools/CVE-2021-41072-requisite-1.patch
> deleted file mode 100644
> index d01b5c6871..0000000000
> --- a/meta/recipes-devtools/squashfs-tools/squashfs-tools/CVE-2021-41072-requisite-1.patch
> +++ /dev/null
> @@ -1,135 +0,0 @@
> -The commit is required by the fix for CVE-2021-41072.
> -
> -Upstream-Status: Backport [https://github.com/plougher/squashfs-tools/commit/80b8441]
> -
> -Signed-off-by: Kai Kang <kai.kang@windriver.com>
> -
> -From 80b8441a37fcf8bf07dacf24d9d6c6459a0f6e36 Mon Sep 17 00:00:00 2001
> -From: Phillip Lougher <phillip@squashfs.org.uk>
> -Date: Sun, 12 Sep 2021 19:58:19 +0100
> -Subject: [PATCH] unsquashfs: use squashfs_closedir() to delete directory
> -
> -Signed-off-by: Phillip Lougher <phillip@squashfs.org.uk>
> ----
> - squashfs-tools/unsquash-1.c    |  3 +--
> - squashfs-tools/unsquash-1234.c | 11 +++++++++--
> - squashfs-tools/unsquash-2.c    |  3 +--
> - squashfs-tools/unsquash-3.c    |  3 +--
> - squashfs-tools/unsquash-4.c    |  3 +--
> - squashfs-tools/unsquashfs.c    |  7 -------
> - squashfs-tools/unsquashfs.h    |  1 +
> - 7 files changed, 14 insertions(+), 17 deletions(-)
> -
> -diff --git a/squashfs-tools/unsquash-1.c b/squashfs-tools/unsquash-1.c
> -index acba821..7598499 100644
> ---- a/squashfs-tools/unsquash-1.c
> -+++ b/squashfs-tools/unsquash-1.c
> -@@ -373,8 +373,7 @@ static struct dir *squashfs_opendir(unsigned int block_start, unsigned int offse
> -       return dir;
> -
> - corrupted:
> --      free(dir->dirs);
> --      free(dir);
> -+      squashfs_closedir(dir);
> -       return NULL;
> - }
> -
> -diff --git a/squashfs-tools/unsquash-1234.c b/squashfs-tools/unsquash-1234.c
> -index c2d4f42..0c8dfbb 100644
> ---- a/squashfs-tools/unsquash-1234.c
> -+++ b/squashfs-tools/unsquash-1234.c
> -@@ -25,8 +25,8 @@
> -  * unsquash-4.
> -  */
> -
> --#define TRUE 1
> --#define FALSE 0
> -+#include "unsquashfs.h"
> -+
> - /*
> -  * Check name for validity, name should not
> -  *  - be ".", "./", or
> -@@ -56,3 +56,10 @@ int check_name(char *name, int size)
> -
> -       return TRUE;
> - }
> -+
> -+
> -+void squashfs_closedir(struct dir *dir)
> -+{
> -+      free(dir->dirs);
> -+      free(dir);
> -+}
> -diff --git a/squashfs-tools/unsquash-2.c b/squashfs-tools/unsquash-2.c
> -index 0746b3d..86f62ba 100644
> ---- a/squashfs-tools/unsquash-2.c
> -+++ b/squashfs-tools/unsquash-2.c
> -@@ -465,8 +465,7 @@ static struct dir *squashfs_opendir(unsigned int block_start, unsigned int offse
> -       return dir;
> -
> - corrupted:
> --      free(dir->dirs);
> --      free(dir);
> -+      squashfs_closedir(dir);
> -       return NULL;
> - }
> -
> -diff --git a/squashfs-tools/unsquash-3.c b/squashfs-tools/unsquash-3.c
> -index 094caaa..c04aa9e 100644
> ---- a/squashfs-tools/unsquash-3.c
> -+++ b/squashfs-tools/unsquash-3.c
> -@@ -499,8 +499,7 @@ static struct dir *squashfs_opendir(unsigned int block_start, unsigned int offse
> -       return dir;
> -
> - corrupted:
> --      free(dir->dirs);
> --      free(dir);
> -+      squashfs_closedir(dir);
> -       return NULL;
> - }
> -
> -diff --git a/squashfs-tools/unsquash-4.c b/squashfs-tools/unsquash-4.c
> -index 3a1b9e1..ff62dcc 100644
> ---- a/squashfs-tools/unsquash-4.c
> -+++ b/squashfs-tools/unsquash-4.c
> -@@ -436,8 +436,7 @@ static struct dir *squashfs_opendir(unsigned int block_start, unsigned int offse
> -       return dir;
> -
> - corrupted:
> --      free(dir->dirs);
> --      free(dir);
> -+      squashfs_closedir(dir);
> -       return NULL;
> - }
> -
> -diff --git a/squashfs-tools/unsquashfs.c b/squashfs-tools/unsquashfs.c
> -index 7b590bd..04be53c 100644
> ---- a/squashfs-tools/unsquashfs.c
> -+++ b/squashfs-tools/unsquashfs.c
> -@@ -1350,13 +1350,6 @@ unsigned int *offset, unsigned int *type)
> - }
> -
> -
> --void squashfs_closedir(struct dir *dir)
> --{
> --      free(dir->dirs);
> --      free(dir);
> --}
> --
> --
> - char *get_component(char *target, char **targname)
> - {
> -       char *start;
> -diff --git a/squashfs-tools/unsquashfs.h b/squashfs-tools/unsquashfs.h
> -index 2e9201c..5ecb2ab 100644
> ---- a/squashfs-tools/unsquashfs.h
> -+++ b/squashfs-tools/unsquashfs.h
> -@@ -291,4 +291,5 @@ extern long long *alloc_index_table(int);
> -
> - /* unsquash-1234.c */
> - extern int check_name(char *, int);
> -+extern void squashfs_closedir(struct dir *);
> - #endif
> ---
> -2.17.1
> -
> diff --git a/meta/recipes-devtools/squashfs-tools/squashfs-tools/CVE-2021-41072-requisite-2.patch b/meta/recipes-devtools/squashfs-tools/squashfs-tools/CVE-2021-41072-requisite-2.patch
> deleted file mode 100644
> index 6b230b35c6..0000000000
> --- a/meta/recipes-devtools/squashfs-tools/squashfs-tools/CVE-2021-41072-requisite-2.patch
> +++ /dev/null
> @@ -1,108 +0,0 @@
> -The commit is required by the fix for CVE-2021-41072.
> -
> -Upstream-Status: Backport [https://github.com/plougher/squashfs-tools/commit/1993a4e]
> -
> -Signed-off-by: Kai Kang <kai.kang@windriver.com>
> -
> -From 1993a4e7aeda04962bf26e84c15fba8b58837e10 Mon Sep 17 00:00:00 2001
> -From: Phillip Lougher <phillip@squashfs.org.uk>
> -Date: Sun, 12 Sep 2021 20:09:13 +0100
> -Subject: [PATCH] unsquashfs: dynamically allocate name
> -
> -Dynamically allocate name rather than store it
> -directly in structure.
> -
> -Signed-off-by: Phillip Lougher <phillip@squashfs.org.uk>
> ----
> - squashfs-tools/unsquash-1.c    | 2 +-
> - squashfs-tools/unsquash-1234.c | 5 +++++
> - squashfs-tools/unsquash-2.c    | 2 +-
> - squashfs-tools/unsquash-3.c    | 2 +-
> - squashfs-tools/unsquash-4.c    | 2 +-
> - squashfs-tools/unsquashfs.h    | 2 +-
> - 6 files changed, 10 insertions(+), 5 deletions(-)
> -
> -diff --git a/squashfs-tools/unsquash-1.c b/squashfs-tools/unsquash-1.c
> -index 7598499..d0121c6 100644
> ---- a/squashfs-tools/unsquash-1.c
> -+++ b/squashfs-tools/unsquash-1.c
> -@@ -360,7 +360,7 @@ static struct dir *squashfs_opendir(unsigned int block_start, unsigned int offse
> -                               dir->dirs = new_dir;
> -                       }
> -
> --                      strcpy(dir->dirs[dir->dir_count].name, dire->name);
> -+                      dir->dirs[dir->dir_count].name = strdup(dire->name);
> -                       dir->dirs[dir->dir_count].start_block =
> -                               dirh.start_block;
> -                       dir->dirs[dir->dir_count].offset = dire->offset;
> -diff --git a/squashfs-tools/unsquash-1234.c b/squashfs-tools/unsquash-1234.c
> -index 0c8dfbb..ac46d9d 100644
> ---- a/squashfs-tools/unsquash-1234.c
> -+++ b/squashfs-tools/unsquash-1234.c
> -@@ -60,6 +60,11 @@ int check_name(char *name, int size)
> -
> - void squashfs_closedir(struct dir *dir)
> - {
> -+      int i;
> -+
> -+      for(i = 0; i < dir->dir_count; i++)
> -+              free(dir->dirs[i].name);
> -+
> -       free(dir->dirs);
> -       free(dir);
> - }
> -diff --git a/squashfs-tools/unsquash-2.c b/squashfs-tools/unsquash-2.c
> -index 86f62ba..e847980 100644
> ---- a/squashfs-tools/unsquash-2.c
> -+++ b/squashfs-tools/unsquash-2.c
> -@@ -452,7 +452,7 @@ static struct dir *squashfs_opendir(unsigned int block_start, unsigned int offse
> -                               dir->dirs = new_dir;
> -                       }
> -
> --                      strcpy(dir->dirs[dir->dir_count].name, dire->name);
> -+                      dir->dirs[dir->dir_count].name = strdup(dire->name);
> -                       dir->dirs[dir->dir_count].start_block =
> -                               dirh.start_block;
> -                       dir->dirs[dir->dir_count].offset = dire->offset;
> -diff --git a/squashfs-tools/unsquash-3.c b/squashfs-tools/unsquash-3.c
> -index c04aa9e..8223f27 100644
> ---- a/squashfs-tools/unsquash-3.c
> -+++ b/squashfs-tools/unsquash-3.c
> -@@ -486,7 +486,7 @@ static struct dir *squashfs_opendir(unsigned int block_start, unsigned int offse
> -                               dir->dirs = new_dir;
> -                       }
> -
> --                      strcpy(dir->dirs[dir->dir_count].name, dire->name);
> -+                      dir->dirs[dir->dir_count].name = strdup(dire->name);
> -                       dir->dirs[dir->dir_count].start_block =
> -                               dirh.start_block;
> -                       dir->dirs[dir->dir_count].offset = dire->offset;
> -diff --git a/squashfs-tools/unsquash-4.c b/squashfs-tools/unsquash-4.c
> -index ff62dcc..1e199a7 100644
> ---- a/squashfs-tools/unsquash-4.c
> -+++ b/squashfs-tools/unsquash-4.c
> -@@ -423,7 +423,7 @@ static struct dir *squashfs_opendir(unsigned int block_start, unsigned int offse
> -                               dir->dirs = new_dir;
> -                       }
> -
> --                      strcpy(dir->dirs[dir->dir_count].name, dire->name);
> -+                      dir->dirs[dir->dir_count].name = strdup(dire->name);
> -                       dir->dirs[dir->dir_count].start_block =
> -                               dirh.start_block;
> -                       dir->dirs[dir->dir_count].offset = dire->offset;
> -diff --git a/squashfs-tools/unsquashfs.h b/squashfs-tools/unsquashfs.h
> -index 5ecb2ab..583fbe4 100644
> ---- a/squashfs-tools/unsquashfs.h
> -+++ b/squashfs-tools/unsquashfs.h
> -@@ -164,7 +164,7 @@ struct queue {
> - #define DIR_ENT_SIZE  16
> -
> - struct dir_ent        {
> --      char            name[SQUASHFS_NAME_LEN + 1];
> -+      char            *name;
> -       unsigned int    start_block;
> -       unsigned int    offset;
> -       unsigned int    type;
> ---
> -2.17.1
> -
> diff --git a/meta/recipes-devtools/squashfs-tools/squashfs-tools/CVE-2021-41072-requisite-3.patch b/meta/recipes-devtools/squashfs-tools/squashfs-tools/CVE-2021-41072-requisite-3.patch
> deleted file mode 100644
> index 5d5df6f15b..0000000000
> --- a/meta/recipes-devtools/squashfs-tools/squashfs-tools/CVE-2021-41072-requisite-3.patch
> +++ /dev/null
> @@ -1,326 +0,0 @@
> -The commit is required by the fix for CVE-2021-41072.
> -
> -Upstream-Status: Backport [https://github.com/plougher/squashfs-tools/commit/9938154]
> -
> -Signed-off-by: Kai Kang <kai.kang@windriver.com>
> -
> -From 9938154174756ee48a94ea0b076397a2944b028d Mon Sep 17 00:00:00 2001
> -From: Phillip Lougher <phillip@squashfs.org.uk>
> -Date: Sun, 12 Sep 2021 22:58:11 +0100
> -Subject: [PATCH] unsquashfs: use linked list to store directory names
> -
> -This should bring higher performance, and it allows sorting
> -if necessary (1.x and 2.0 filesystems).
> -
> -Signed-off-by: Phillip Lougher <phillip@squashfs.org.uk>
> ----
> - squashfs-tools/unsquash-1.c    | 30 +++++++++++++++---------------
> - squashfs-tools/unsquash-1234.c | 12 ++++++++----
> - squashfs-tools/unsquash-2.c    | 29 +++++++++++++++--------------
> - squashfs-tools/unsquash-3.c    | 29 +++++++++++++++--------------
> - squashfs-tools/unsquash-4.c    | 29 +++++++++++++++--------------
> - squashfs-tools/unsquashfs.c    | 16 ++++++++++------
> - squashfs-tools/unsquashfs.h    |  3 ++-
> - 7 files changed, 80 insertions(+), 68 deletions(-)
> -
> -diff --git a/squashfs-tools/unsquash-1.c b/squashfs-tools/unsquash-1.c
> -index d0121c6..b604434 100644
> ---- a/squashfs-tools/unsquash-1.c
> -+++ b/squashfs-tools/unsquash-1.c
> -@@ -254,7 +254,7 @@ static struct dir *squashfs_opendir(unsigned int block_start, unsigned int offse
> -       long long start;
> -       int bytes = 0;
> -       int dir_count, size, res;
> --      struct dir_ent *new_dir;
> -+      struct dir_ent *ent, *cur_ent = NULL;
> -       struct dir *dir;
> -
> -       TRACE("squashfs_opendir: inode start block %d, offset %d\n",
> -@@ -267,7 +267,7 @@ static struct dir *squashfs_opendir(unsigned int block_start, unsigned int offse
> -               MEM_ERROR();
> -
> -       dir->dir_count = 0;
> --      dir->cur_entry = 0;
> -+      dir->cur_entry = NULL;
> -       dir->mode = (*i)->mode;
> -       dir->uid = (*i)->uid;
> -       dir->guid = (*i)->gid;
> -@@ -351,20 +351,20 @@ static struct dir *squashfs_opendir(unsigned int block_start, unsigned int offse
> -                               "%d:%d, type %d\n", dire->name,
> -                               dirh.start_block, dire->offset, dire->type);
> -
> --                      if((dir->dir_count % DIR_ENT_SIZE) == 0) {
> --                              new_dir = realloc(dir->dirs, (dir->dir_count +
> --                                      DIR_ENT_SIZE) * sizeof(struct dir_ent));
> --                              if(new_dir == NULL)
> --                                      MEM_ERROR();
> --
> --                              dir->dirs = new_dir;
> --                      }
> -+                      ent = malloc(sizeof(struct dir_ent));
> -+                      if(ent == NULL)
> -+                              MEM_ERROR();
> -
> --                      dir->dirs[dir->dir_count].name = strdup(dire->name);
> --                      dir->dirs[dir->dir_count].start_block =
> --                              dirh.start_block;
> --                      dir->dirs[dir->dir_count].offset = dire->offset;
> --                      dir->dirs[dir->dir_count].type = dire->type;
> -+                      ent->name = strdup(dire->name);
> -+                      ent->start_block = dirh.start_block;
> -+                      ent->offset = dire->offset;
> -+                      ent->type = dire->type;
> -+                      ent->next = NULL;
> -+                      if(cur_ent == NULL)
> -+                              dir->dirs = ent;
> -+                      else
> -+                              cur_ent->next = ent;
> -+                      cur_ent = ent;
> -                       dir->dir_count ++;
> -                       bytes += dire->size + 1;
> -               }
> -diff --git a/squashfs-tools/unsquash-1234.c b/squashfs-tools/unsquash-1234.c
> -index ac46d9d..e389f8d 100644
> ---- a/squashfs-tools/unsquash-1234.c
> -+++ b/squashfs-tools/unsquash-1234.c
> -@@ -60,11 +60,15 @@ int check_name(char *name, int size)
> -
> - void squashfs_closedir(struct dir *dir)
> - {
> --      int i;
> -+      struct dir_ent *ent = dir->dirs;
> -
> --      for(i = 0; i < dir->dir_count; i++)
> --              free(dir->dirs[i].name);
> -+      while(ent) {
> -+              struct dir_ent *tmp = ent;
> -+
> -+              ent = ent->next;
> -+              free(tmp->name);
> -+              free(tmp);
> -+      }
> -
> --      free(dir->dirs);
> -       free(dir);
> - }
> -diff --git a/squashfs-tools/unsquash-2.c b/squashfs-tools/unsquash-2.c
> -index e847980..956f96f 100644
> ---- a/squashfs-tools/unsquash-2.c
> -+++ b/squashfs-tools/unsquash-2.c
> -@@ -347,7 +347,7 @@ static struct dir *squashfs_opendir(unsigned int block_start, unsigned int offse
> -       long long start;
> -       int bytes = 0;
> -       int dir_count, size, res;
> --      struct dir_ent *new_dir;
> -+      struct dir_ent *ent, *cur_ent = NULL;
> -       struct dir *dir;
> -
> -       TRACE("squashfs_opendir: inode start block %d, offset %d\n",
> -@@ -360,7 +360,7 @@ static struct dir *squashfs_opendir(unsigned int block_start, unsigned int offse
> -               MEM_ERROR();
> -
> -       dir->dir_count = 0;
> --      dir->cur_entry = 0;
> -+      dir->cur_entry = NULL;
> -       dir->mode = (*i)->mode;
> -       dir->uid = (*i)->uid;
> -       dir->guid = (*i)->gid;
> -@@ -444,19 +444,20 @@ static struct dir *squashfs_opendir(unsigned int block_start, unsigned int offse
> -                               "%d:%d, type %d\n", dire->name,
> -                               dirh.start_block, dire->offset, dire->type);
> -
> --                      if((dir->dir_count % DIR_ENT_SIZE) == 0) {
> --                              new_dir = realloc(dir->dirs, (dir->dir_count +
> --                                      DIR_ENT_SIZE) * sizeof(struct dir_ent));
> --                              if(new_dir == NULL)
> --                                      MEM_ERROR();
> --                              dir->dirs = new_dir;
> --                      }
> -+                      ent = malloc(sizeof(struct dir_ent));
> -+                      if(ent == NULL)
> -+                              MEM_ERROR();
> -
> --                      dir->dirs[dir->dir_count].name = strdup(dire->name);
> --                      dir->dirs[dir->dir_count].start_block =
> --                              dirh.start_block;
> --                      dir->dirs[dir->dir_count].offset = dire->offset;
> --                      dir->dirs[dir->dir_count].type = dire->type;
> -+                      ent->name = strdup(dire->name);
> -+                      ent->start_block = dirh.start_block;
> -+                      ent->offset = dire->offset;
> -+                      ent->type = dire->type;
> -+                      ent->next = NULL;
> -+                      if(cur_ent == NULL)
> -+                              dir->dirs = ent;
> -+                      else
> -+                              cur_ent->next = ent;
> -+                      cur_ent = ent;
> -                       dir->dir_count ++;
> -                       bytes += dire->size + 1;
> -               }
> -diff --git a/squashfs-tools/unsquash-3.c b/squashfs-tools/unsquash-3.c
> -index 8223f27..835a574 100644
> ---- a/squashfs-tools/unsquash-3.c
> -+++ b/squashfs-tools/unsquash-3.c
> -@@ -381,7 +381,7 @@ static struct dir *squashfs_opendir(unsigned int block_start, unsigned int offse
> -       long long start;
> -       int bytes = 0;
> -       int dir_count, size, res;
> --      struct dir_ent *new_dir;
> -+      struct dir_ent *ent, *cur_ent = NULL;
> -       struct dir *dir;
> -
> -       TRACE("squashfs_opendir: inode start block %d, offset %d\n",
> -@@ -394,7 +394,7 @@ static struct dir *squashfs_opendir(unsigned int block_start, unsigned int offse
> -               MEM_ERROR();
> -
> -       dir->dir_count = 0;
> --      dir->cur_entry = 0;
> -+      dir->cur_entry = NULL;
> -       dir->mode = (*i)->mode;
> -       dir->uid = (*i)->uid;
> -       dir->guid = (*i)->gid;
> -@@ -478,19 +478,20 @@ static struct dir *squashfs_opendir(unsigned int block_start, unsigned int offse
> -                               "%d:%d, type %d\n", dire->name,
> -                               dirh.start_block, dire->offset, dire->type);
> -
> --                      if((dir->dir_count % DIR_ENT_SIZE) == 0) {
> --                              new_dir = realloc(dir->dirs, (dir->dir_count +
> --                                      DIR_ENT_SIZE) * sizeof(struct dir_ent));
> --                              if(new_dir == NULL)
> --                                      MEM_ERROR();
> --                              dir->dirs = new_dir;
> --                      }
> -+                      ent = malloc(sizeof(struct dir_ent));
> -+                      if(ent == NULL)
> -+                              MEM_ERROR();
> -
> --                      dir->dirs[dir->dir_count].name = strdup(dire->name);
> --                      dir->dirs[dir->dir_count].start_block =
> --                              dirh.start_block;
> --                      dir->dirs[dir->dir_count].offset = dire->offset;
> --                      dir->dirs[dir->dir_count].type = dire->type;
> -+                      ent->name = strdup(dire->name);
> -+                      ent->start_block = dirh.start_block;
> -+                      ent->offset = dire->offset;
> -+                      ent->type = dire->type;
> -+                      ent->next = NULL;
> -+                      if(cur_ent == NULL)
> -+                              dir->dirs = ent;
> -+                      else
> -+                              cur_ent->next = ent;
> -+                      cur_ent = ent;
> -                       dir->dir_count ++;
> -                       bytes += dire->size + 1;
> -               }
> -diff --git a/squashfs-tools/unsquash-4.c b/squashfs-tools/unsquash-4.c
> -index 1e199a7..694783d 100644
> ---- a/squashfs-tools/unsquash-4.c
> -+++ b/squashfs-tools/unsquash-4.c
> -@@ -331,7 +331,7 @@ static struct dir *squashfs_opendir(unsigned int block_start, unsigned int offse
> -       struct squashfs_dir_entry *dire = (struct squashfs_dir_entry *) buffer;
> -       long long start;
> -       int bytes = 0, dir_count, size, res;
> --      struct dir_ent *new_dir;
> -+      struct dir_ent *ent, *cur_ent = NULL;
> -       struct dir *dir;
> -
> -       TRACE("squashfs_opendir: inode start block %d, offset %d\n",
> -@@ -344,7 +344,7 @@ static struct dir *squashfs_opendir(unsigned int block_start, unsigned int offse
> -               MEM_ERROR();
> -
> -       dir->dir_count = 0;
> --      dir->cur_entry = 0;
> -+      dir->cur_entry = NULL;
> -       dir->mode = (*i)->mode;
> -       dir->uid = (*i)->uid;
> -       dir->guid = (*i)->gid;
> -@@ -415,19 +415,20 @@ static struct dir *squashfs_opendir(unsigned int block_start, unsigned int offse
> -                               "%d:%d, type %d\n", dire->name,
> -                               dirh.start_block, dire->offset, dire->type);
> -
> --                      if((dir->dir_count % DIR_ENT_SIZE) == 0) {
> --                              new_dir = realloc(dir->dirs, (dir->dir_count +
> --                                      DIR_ENT_SIZE) * sizeof(struct dir_ent));
> --                              if(new_dir == NULL)
> --                                      MEM_ERROR();
> --                              dir->dirs = new_dir;
> --                      }
> -+                      ent = malloc(sizeof(struct dir_ent));
> -+                      if(ent == NULL)
> -+                              MEM_ERROR();
> -
> --                      dir->dirs[dir->dir_count].name = strdup(dire->name);
> --                      dir->dirs[dir->dir_count].start_block =
> --                              dirh.start_block;
> --                      dir->dirs[dir->dir_count].offset = dire->offset;
> --                      dir->dirs[dir->dir_count].type = dire->type;
> -+                      ent->name = strdup(dire->name);
> -+                      ent->start_block = dirh.start_block;
> -+                      ent->offset = dire->offset;
> -+                      ent->type = dire->type;
> -+                      ent->next = NULL;
> -+                      if(cur_ent == NULL)
> -+                              dir->dirs = ent;
> -+                      else
> -+                              cur_ent->next = ent;
> -+                      cur_ent = ent;
> -                       dir->dir_count ++;
> -                       bytes += dire->size + 1;
> -               }
> -diff --git a/squashfs-tools/unsquashfs.c b/squashfs-tools/unsquashfs.c
> -index 04be53c..fee28ec 100644
> ---- a/squashfs-tools/unsquashfs.c
> -+++ b/squashfs-tools/unsquashfs.c
> -@@ -1337,14 +1337,18 @@ failed:
> - int squashfs_readdir(struct dir *dir, char **name, unsigned int *start_block,
> - unsigned int *offset, unsigned int *type)
> - {
> --      if(dir->cur_entry == dir->dir_count)
> -+      if(dir->cur_entry == NULL)
> -+              dir->cur_entry = dir->dirs;
> -+      else
> -+              dir->cur_entry = dir->cur_entry->next;
> -+
> -+      if(dir->cur_entry == NULL)
> -               return FALSE;
> -
> --      *name = dir->dirs[dir->cur_entry].name;
> --      *start_block = dir->dirs[dir->cur_entry].start_block;
> --      *offset = dir->dirs[dir->cur_entry].offset;
> --      *type = dir->dirs[dir->cur_entry].type;
> --      dir->cur_entry ++;
> -+      *name = dir->cur_entry->name;
> -+      *start_block = dir->cur_entry->start_block;
> -+      *offset = dir->cur_entry->offset;
> -+      *type = dir->cur_entry->type;
> -
> -       return TRUE;
> - }
> -diff --git a/squashfs-tools/unsquashfs.h b/squashfs-tools/unsquashfs.h
> -index 583fbe4..f8cf78c 100644
> ---- a/squashfs-tools/unsquashfs.h
> -+++ b/squashfs-tools/unsquashfs.h
> -@@ -168,17 +168,18 @@ struct dir_ent   {
> -       unsigned int    start_block;
> -       unsigned int    offset;
> -       unsigned int    type;
> -+      struct dir_ent  *next;
> - };
> -
> - struct dir {
> -       int             dir_count;
> --      int             cur_entry;
> -       unsigned int    mode;
> -       uid_t           uid;
> -       gid_t           guid;
> -       unsigned int    mtime;
> -       unsigned int    xattr;
> -       struct dir_ent  *dirs;
> -+      struct dir_ent  *cur_entry;
> - };
> -
> - struct file_entry {
> ---
> -2.17.1
> -
> diff --git a/meta/recipes-devtools/squashfs-tools/squashfs-tools/CVE-2021-41072.patch b/meta/recipes-devtools/squashfs-tools/squashfs-tools/CVE-2021-41072.patch
> deleted file mode 100644
> index f807af60bc..0000000000
> --- a/meta/recipes-devtools/squashfs-tools/squashfs-tools/CVE-2021-41072.patch
> +++ /dev/null
> @@ -1,329 +0,0 @@
> -CVE: CVE-2021-41072
> -Upstream-Status: Backport [https://github.com/plougher/squashfs-tools/commit/e048580]
> -
> -Update on 20211109:
> -Squash a follow-up fix for CVE-2021-41072 from upstream:
> -https://github.com/plougher/squashfs-tools/commit/19fcc93
> -
> -Signed-off-by: Kai Kang <kai.kang@windriver.com>
> -
> -From e0485802ec72996c20026da320650d8362f555bd Mon Sep 17 00:00:00 2001
> -From: Phillip Lougher <phillip@squashfs.org.uk>
> -Date: Sun, 12 Sep 2021 23:50:06 +0100
> -Subject: [PATCH] Unsquashfs: additional write outside destination directory
> - exploit fix
> -
> -An issue on github (https://github.com/plougher/squashfs-tools/issues/72)
> -showed how some specially crafted Squashfs filesystems containing
> -invalid file names (with '/' and '..') can cause Unsquashfs to write
> -files outside of the destination directory.
> -
> -Since then it has been shown that specially crafted Squashfs filesystems
> -that contain a symbolic link pointing outside of the destination directory,
> -coupled with an identically named file within the same directory, can
> -cause Unsquashfs to write files outside of the destination directory.
> -
> -Specifically the symbolic link produces a pathname pointing outside
> -of the destination directory, which is then followed when writing the
> -duplicate identically named file within the directory.
> -
> -This commit fixes this exploit by explictly checking for duplicate
> -filenames within a directory.  As directories in v2.1, v3.x, and v4.0
> -filesystems are sorted, this is achieved by checking for consecutively
> -identical filenames.  Additionally directories are checked to
> -ensure they are sorted, to avoid attempts to evade the duplicate
> -check.
> -
> -Version 1.x and 2.0 filesystems (where the directories were unsorted)
> -are sorted and then the above duplicate filename check is applied.
> -
> -Signed-off-by: Phillip Lougher <phillip@squashfs.org.uk>
> ----
> - squashfs-tools/Makefile        |   6 +-
> - squashfs-tools/unsquash-1.c    |   6 ++
> - squashfs-tools/unsquash-12.c   | 110 +++++++++++++++++++++++++++++++++
> - squashfs-tools/unsquash-1234.c |  21 +++++++
> - squashfs-tools/unsquash-2.c    |  16 +++++
> - squashfs-tools/unsquash-3.c    |   6 ++
> - squashfs-tools/unsquash-4.c    |   6 ++
> - squashfs-tools/unsquashfs.h    |   4 ++
> - 8 files changed, 173 insertions(+), 2 deletions(-)
> - create mode 100644 squashfs-tools/unsquash-12.c
> -
> -diff --git a/squashfs-tools/Makefile b/squashfs-tools/Makefile
> -index 7262a2e..1b544ed 100755
> ---- a/squashfs-tools/Makefile
> -+++ b/squashfs-tools/Makefile
> -@@ -160,8 +160,8 @@ MKSQUASHFS_OBJS = mksquashfs.o read_fs.o action.o swap.o pseudo.o compressor.o \
> -       caches-queues-lists.o reader.o tar.o
> -
> - UNSQUASHFS_OBJS = unsquashfs.o unsquash-1.o unsquash-2.o unsquash-3.o \
> --      unsquash-4.o unsquash-123.o unsquash-34.o unsquash-1234.o swap.o \
> --      compressor.o unsquashfs_info.o
> -+      unsquash-4.o unsquash-123.o unsquash-34.o unsquash-1234.o unsquash-12.o \
> -+      swap.o compressor.o unsquashfs_info.o
> -
> - CFLAGS ?= -O2
> - CFLAGS += $(EXTRA_CFLAGS) $(INCLUDEDIR) -D_FILE_OFFSET_BITS=64 \
> -@@ -393,6 +393,8 @@ unsquash-34.o: unsquashfs.h unsquash-34.c unsquashfs_error.h
> -
> - unsquash-1234.o: unsquash-1234.c unsquashfs_error.h
> -
> -+unsquash-12.o: unsquash-12.c unsquashfs.h
> -+
> - unsquashfs_xattr.o: unsquashfs_xattr.c unsquashfs.h squashfs_fs.h xattr.h unsquashfs_error.h
> -
> - unsquashfs_info.o: unsquashfs.h squashfs_fs.h unsquashfs_error.h
> -diff --git a/squashfs-tools/unsquash-1.c b/squashfs-tools/unsquash-1.c
> -index b604434..88866fc 100644
> ---- a/squashfs-tools/unsquash-1.c
> -+++ b/squashfs-tools/unsquash-1.c
> -@@ -370,6 +370,12 @@ static struct dir *squashfs_opendir(unsigned int block_start, unsigned int offse
> -               }
> -       }
> -
> -+      /* check directory for duplicate names.  Need to sort directory first */
> -+      sort_directory(dir);
> -+      if(check_directory(dir) == FALSE) {
> -+              ERROR("File system corrupted: directory has duplicate names\n");
> -+              goto corrupted;
> -+      }
> -       return dir;
> -
> - corrupted:
> -diff --git a/squashfs-tools/unsquash-12.c b/squashfs-tools/unsquash-12.c
> -new file mode 100644
> -index 0000000..61bf128
> ---- /dev/null
> -+++ b/squashfs-tools/unsquash-12.c
> -@@ -0,0 +1,110 @@
> -+/*
> -+ * Unsquash a squashfs filesystem.  This is a highly compressed read only
> -+ * filesystem.
> -+ *
> -+ * Copyright (c) 2021
> -+ * Phillip Lougher <phillip@squashfs.org.uk>
> -+ *
> -+ * 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,
> -+ * 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, write to the Free Software
> -+ * Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
> -+ *
> -+ * unsquash-12.c
> -+ *
> -+ * Helper functions used by unsquash-1 and unsquash-2.
> -+ */
> -+
> -+#include "unsquashfs.h"
> -+
> -+/*
> -+ * Bottom up linked list merge sort.
> -+ *
> -+ */
> -+void sort_directory(struct dir *dir)
> -+{
> -+      struct dir_ent *cur, *l1, *l2, *next;
> -+      int len1, len2, stride = 1;
> -+
> -+      if(dir->dir_count < 2)
> -+              return;
> -+
> -+      /*
> -+       * We can consider our linked-list to be made up of stride length
> -+       * sublists.  Eacn iteration around this loop merges adjacent
> -+       * stride length sublists into larger 2*stride sublists.  We stop
> -+       * when stride becomes equal to the entire list.
> -+       *
> -+       * Initially stride = 1 (by definition a sublist of 1 is sorted), and
> -+       * these 1 element sublists are merged into 2 element sublists,  which
> -+       * are then merged into 4 element sublists and so on.
> -+       */
> -+      do {
> -+              l2 = dir->dirs; /* head of current linked list */
> -+              cur = NULL; /* empty output list */
> -+
> -+              /*
> -+               * Iterate through the linked list, merging adjacent sublists.
> -+               * On each interation l2 points to the next sublist pair to be
> -+               * merged (if there's only one sublist left this is simply added
> -+               * to the output list)
> -+               */
> -+              while(l2) {
> -+                      l1 = l2;
> -+                      for(len1 = 0; l2 && len1 < stride; len1 ++, l2 = l2->next);
> -+                      len2 = stride;
> -+
> -+                      /*
> -+                       * l1 points to first sublist.
> -+                       * l2 points to second sublist.
> -+                       * Merge them onto the output list
> -+                       */
> -+                      while(len1 && l2 && len2) {
> -+                              if(strcmp(l1->name, l2->name) <= 0) {
> -+                                      next = l1;
> -+                                      l1 = l1->next;
> -+                                      len1 --;
> -+                              } else {
> -+                                      next = l2;
> -+                                      l2 = l2->next;
> -+                                      len2 --;
> -+                              }
> -+
> -+                              if(cur) {
> -+                                      cur->next = next;
> -+                                      cur = next;
> -+                              } else
> -+                                      dir->dirs = cur = next;
> -+                      }
> -+                      /*
> -+                       * One sublist is now empty, copy the other one onto the
> -+                       * output list
> -+                       */
> -+                      for(; len1; len1 --, l1 = l1->next) {
> -+                              if(cur) {
> -+                                      cur->next = l1;
> -+                                      cur = l1;
> -+                              } else
> -+                                      dir->dirs = cur = l1;
> -+                      }
> -+                      for(; l2 && len2; len2 --, l2 = l2->next) {
> -+                              if(cur) {
> -+                                      cur->next = l2;
> -+                                      cur = l2;
> -+                              } else
> -+                                      dir->dirs = cur = l2;
> -+                      }
> -+              }
> -+              cur->next = NULL;
> -+              stride = stride << 1;
> -+      } while(stride < dir->dir_count);
> -+}
> -diff --git a/squashfs-tools/unsquash-1234.c b/squashfs-tools/unsquash-1234.c
> -index e389f8d..98a81ed 100644
> ---- a/squashfs-tools/unsquash-1234.c
> -+++ b/squashfs-tools/unsquash-1234.c
> -@@ -72,3 +72,24 @@ void squashfs_closedir(struct dir *dir)
> -
> -       free(dir);
> - }
> -+
> -+
> -+/*
> -+ * Check directory for duplicate names.  As the directory should be sorted,
> -+ * duplicates will be consecutive.  Obviously we also need to check if the
> -+ * directory has been deliberately unsorted, to evade this check.
> -+ */
> -+int check_directory(struct dir *dir)
> -+{
> -+      int i;
> -+      struct dir_ent *ent;
> -+
> -+      if(dir->dir_count < 2)
> -+              return TRUE;
> -+
> -+      for(ent = dir->dirs, i = 0; i < dir->dir_count - 1; ent = ent->next, i++)
> -+              if(strcmp(ent->name, ent->next->name) >= 0)
> -+                      return FALSE;
> -+
> -+      return TRUE;
> -+}
> -diff --git a/squashfs-tools/unsquash-2.c b/squashfs-tools/unsquash-2.c
> -index 956f96f..0e36f7d 100644
> ---- a/squashfs-tools/unsquash-2.c
> -+++ b/squashfs-tools/unsquash-2.c
> -@@ -29,6 +29,7 @@
> - static squashfs_fragment_entry_2 *fragment_table;
> - static unsigned int *uid_table, *guid_table;
> - static squashfs_operations ops;
> -+static int needs_sorting = FALSE;
> -
> -
> - static void read_block_list(unsigned int *block_list, long long start,
> -@@ -463,6 +464,17 @@ static struct dir *squashfs_opendir(unsigned int block_start, unsigned int offse
> -               }
> -       }
> -
> -+      if(needs_sorting)
> -+              sort_directory(dir);
> -+
> -+      /* check directory for duplicate names and sorting */
> -+      if(check_directory(dir) == FALSE) {
> -+              if(needs_sorting)
> -+                      ERROR("File system corrupted: directory has duplicate names\n");
> -+              else
> -+                      ERROR("File system corrupted: directory has duplicate names or is unsorted\n");
> -+              goto corrupted;
> -+      }
> -       return dir;
> -
> - corrupted:
> -@@ -596,6 +608,10 @@ int read_super_2(squashfs_operations **s_ops, void *s)
> -        * 2.x filesystems use gzip compression.
> -        */
> -       comp = lookup_compressor("gzip");
> -+
> -+      if(sBlk_3->s_minor == 0)
> -+              needs_sorting = TRUE;
> -+
> -       return TRUE;
> - }
> -
> -diff --git a/squashfs-tools/unsquash-3.c b/squashfs-tools/unsquash-3.c
> -index 835a574..0123562 100644
> ---- a/squashfs-tools/unsquash-3.c
> -+++ b/squashfs-tools/unsquash-3.c
> -@@ -497,6 +497,12 @@ static struct dir *squashfs_opendir(unsigned int block_start, unsigned int offse
> -               }
> -       }
> -
> -+      /* check directory for duplicate names and sorting */
> -+      if(check_directory(dir) == FALSE) {
> -+              ERROR("File system corrupted: directory has duplicate names or is unsorted\n");
> -+              goto corrupted;
> -+      }
> -+
> -       return dir;
> -
> - corrupted:
> -diff --git a/squashfs-tools/unsquash-4.c b/squashfs-tools/unsquash-4.c
> -index 694783d..c615bb8 100644
> ---- a/squashfs-tools/unsquash-4.c
> -+++ b/squashfs-tools/unsquash-4.c
> -@@ -434,6 +434,12 @@ static struct dir *squashfs_opendir(unsigned int block_start, unsigned int offse
> -               }
> -       }
> -
> -+      /* check directory for duplicate names and sorting */
> -+      if(check_directory(dir) == FALSE) {
> -+              ERROR("File system corrupted: directory has duplicate names or is unsorted\n");
> -+              goto corrupted;
> -+      }
> -+
> -       return dir;
> -
> - corrupted:
> -diff --git a/squashfs-tools/unsquashfs.h b/squashfs-tools/unsquashfs.h
> -index f8cf78c..bf2a80d 100644
> ---- a/squashfs-tools/unsquashfs.h
> -+++ b/squashfs-tools/unsquashfs.h
> -@@ -293,4 +293,8 @@ extern long long *alloc_index_table(int);
> - /* unsquash-1234.c */
> - extern int check_name(char *, int);
> - extern void squashfs_closedir(struct dir *);
> -+extern int check_directory(struct dir *);
> -+
> -+/* unsquash-12.c */
> -+extern void sort_directory(struct dir *);
> - #endif
> ---
> -2.17.1
> -
> diff --git a/meta/recipes-devtools/squashfs-tools/squashfs-tools_git.bb b/meta/recipes-devtools/squashfs-tools/squashfs-tools_git.bb
> index c92a5f80a8..4e009d2625 100644
> --- a/meta/recipes-devtools/squashfs-tools/squashfs-tools_git.bb
> +++ b/meta/recipes-devtools/squashfs-tools/squashfs-tools_git.bb
> @@ -5,20 +5,16 @@ HOMEPAGE = "https://github.com/plougher/squashfs-tools"
>  DESCRIPTION = "Tools to create and extract Squashfs filesystems."
>  SECTION = "base"
>  LICENSE = "GPL-2.0-only"
> -LIC_FILES_CHKSUM = "file://../COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
> +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
>
> -PV = "4.5"
> -SRCREV = "0496d7c3de3e09da37ba492081c86159806ebb07"
> +PV = "4.5.1"
> +SRCREV = "afdd63fc386919b4aa40d573b0a6069414d14317"
>  SRC_URI = "git://github.com/plougher/squashfs-tools.git;protocol=https;branch=master \
> -           file://0001-Avoid-use-of-INSTALL_DIR-for-symlink-targets.patch \
> -           file://CVE-2021-41072-requisite-1.patch;striplevel=2 \
> -           file://CVE-2021-41072-requisite-2.patch;striplevel=2 \
> -           file://CVE-2021-41072-requisite-3.patch;striplevel=2 \
> -           file://CVE-2021-41072.patch;striplevel=2 \
> +           file://0001-install-manpages.sh-do-not-write-original-timestamps.patch \
>             "
>  UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>(\d+(\.\d+)+))"
>
> -S = "${WORKDIR}/git/squashfs-tools"
> +S = "${WORKDIR}/git"
>

changing S above is resulting in 2 `cd` operations in do_compile and do_install
if its not solving anything else, I would suggest to keep original S

>  EXTRA_OEMAKE = "${PACKAGECONFIG_CONFARGS}"
>
> @@ -33,13 +29,15 @@ PACKAGECONFIG[zstd] = "ZSTD_SUPPORT=1,ZSTD_SUPPORT=0,zstd"
>  PACKAGECONFIG[reproducible] = "REPRODUCIBLE_DEFAULT=1,REPRODUCIBLE_DEFAULT=0,"
>
>  do_compile() {
> +        cd ${S}/squashfs-tools
>         oe_runmake all
>  }
>
>  do_install() {
> +        cd ${S}/squashfs-tools
>         install -d "${D}${includedir}"
> -       oe_runmake install INSTALL_DIR=${D}${sbindir}
> -       install -m 0644 "${S}"/squashfs_fs.h "${D}${includedir}"
> +       oe_runmake install INSTALL_PREFIX=${D}${prefix} INSTALL_MANPAGES_DIR=${D}${datadir}/man/man1
> +       install -m 0644 "${S}"/squashfs-tools/squashfs_fs.h "${D}${includedir}"
>  }
>
>  ARM_INSTRUCTION_SET:armv4 = "arm"
> --
> 2.30.2
>
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#164122): https://lists.openembedded.org/g/openembedded-core/message/164122
> Mute This Topic: https://lists.openembedded.org/mt/90317725/1997914
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [raj.khem@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>


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

* Re: [OE-core] [PATCH 15/17] libgcrypt: upgrade 1.9.4 -> 1.10.1
  2022-04-07 19:46   ` [OE-core] " Khem Raj
@ 2022-04-07 19:56     ` Alexander Kanavin
  0 siblings, 0 replies; 31+ messages in thread
From: Alexander Kanavin @ 2022-04-07 19:56 UTC (permalink / raw)
  To: Khem Raj
  Cc: Patches and discussions about the oe-core layer, Alexander Kanavin

On Thu, 7 Apr 2022 at 21:46, Khem Raj <raj.khem@gmail.com> wrote:
>
> Using -pthread is preferred,to let compiler driver decide the order
> and other dependencies( if any) to be added
> dependending upon platform etc.

I added a chunk to the patch which was already using -lpthread - this
needs to be fixed separately.


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

* Re: [OE-core] [PATCH 17/17] python3-typing-extensions: upgrade 3.10.0.0 -> 4.1.1
  2022-04-07 19:45     ` Alexander Kanavin
@ 2022-04-07 19:59       ` Khem Raj
  2022-04-07 21:14       ` Richard Purdie
  1 sibling, 0 replies; 31+ messages in thread
From: Khem Raj @ 2022-04-07 19:59 UTC (permalink / raw)
  To: Alexander Kanavin
  Cc: Patches and discussions about the oe-core layer, Alexander Kanavin

On Thu, Apr 7, 2022 at 3:45 PM Alexander Kanavin <alex.kanavin@gmail.com> wrote:
>
> On Thu, 7 Apr 2022 at 21:43, Khem Raj <raj.khem@gmail.com> wrote:
> > > -inherit pypi setuptools3
> > > +inherit pypi python_flit_core
> >
> > has this module made a move to use flit instead of setuptools ? if so,
> > perhaps adding that info in commit might be good.
>
> It has, yes. I thought such a change is self-documenting.
>

OK. sometimes there are two build systems in place for some transition time etc.
its good to mention these details for context.

> Alex


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

* Re: [OE-core] [PATCH 04/17] squashfs-tools: update 4.5 -> 4.5.1
  2022-04-07 19:55   ` [OE-core] " Khem Raj
@ 2022-04-07 19:59     ` Alexander Kanavin
  2022-04-07 20:04       ` Khem Raj
  0 siblings, 1 reply; 31+ messages in thread
From: Alexander Kanavin @ 2022-04-07 19:59 UTC (permalink / raw)
  To: Khem Raj
  Cc: Patches and discussions about the oe-core layer, Alexander Kanavin

This is not possible as we need to patch something in a different
directory under the overall tree. It also breaks various devtool
operations with patches and source tree commits. I don't mind doing
the cd bit.

Alex

On Thu, 7 Apr 2022 at 21:56, Khem Raj <raj.khem@gmail.com> wrote:
>
> On Thu, Apr 7, 2022 at 1:00 PM Alexander Kanavin <alex.kanavin@gmail.com> wrote:
> >
> > Drop backports.
> >
> > Correctly set source and installation directories.
> >
> > Signed-off-by: Alexander Kanavin <alex@linutronix.de>
> > ---
> >  ....sh-do-not-write-original-timestamps.patch |  30 ++
> >  ...e-of-INSTALL_DIR-for-symlink-targets.patch |  34 --
> >  .../CVE-2021-41072-requisite-1.patch          | 135 -------
> >  .../CVE-2021-41072-requisite-2.patch          | 108 ------
> >  .../CVE-2021-41072-requisite-3.patch          | 326 -----------------
> >  .../squashfs-tools/CVE-2021-41072.patch       | 329 ------------------
> >  .../squashfs-tools/squashfs-tools_git.bb      |  20 +-
> >  7 files changed, 39 insertions(+), 943 deletions(-)
> >  create mode 100644 meta/recipes-devtools/squashfs-tools/files/0001-install-manpages.sh-do-not-write-original-timestamps.patch
> >  delete mode 100644 meta/recipes-devtools/squashfs-tools/squashfs-tools/0001-Avoid-use-of-INSTALL_DIR-for-symlink-targets.patch
> >  delete mode 100644 meta/recipes-devtools/squashfs-tools/squashfs-tools/CVE-2021-41072-requisite-1.patch
> >  delete mode 100644 meta/recipes-devtools/squashfs-tools/squashfs-tools/CVE-2021-41072-requisite-2.patch
> >  delete mode 100644 meta/recipes-devtools/squashfs-tools/squashfs-tools/CVE-2021-41072-requisite-3.patch
> >  delete mode 100644 meta/recipes-devtools/squashfs-tools/squashfs-tools/CVE-2021-41072.patch
> >
> > diff --git a/meta/recipes-devtools/squashfs-tools/files/0001-install-manpages.sh-do-not-write-original-timestamps.patch b/meta/recipes-devtools/squashfs-tools/files/0001-install-manpages.sh-do-not-write-original-timestamps.patch
> > new file mode 100644
> > index 0000000000..ed1d2f5b3b
> > --- /dev/null
> > +++ b/meta/recipes-devtools/squashfs-tools/files/0001-install-manpages.sh-do-not-write-original-timestamps.patch
> > @@ -0,0 +1,30 @@
> > +From b44b00dae195d8587857c7e8054e9be4eaa1f8b3 Mon Sep 17 00:00:00 2001
> > +From: Alexander Kanavin <alex@linutronix.de>
> > +Date: Thu, 7 Apr 2022 09:26:09 +0200
> > +Subject: [PATCH] install-manpages.sh: do not write original timestamps into
> > + .gz metadata
> > +
> > +This helps binary reproducibility.
> > +
> > +Upstream-Status: Submitted [https://github.com/plougher/squashfs-tools/pull/177]
> > +Signed-off-by: Alexander Kanavin <alex@linutronix.de>
> > +---
> > + generate-manpages/install-manpages.sh | 2 +-
> > + 1 file changed, 1 insertion(+), 1 deletion(-)
> > +
> > +diff --git a/generate-manpages/install-manpages.sh b/generate-manpages/install-manpages.sh
> > +index d4c9e91..6a43b89 100755
> > +--- a/generate-manpages/install-manpages.sh
> > ++++ b/generate-manpages/install-manpages.sh
> > +@@ -56,7 +56,7 @@ for i in mksquashfs unsquashfs sqfstar sqfscat; do
> > +               exit 1
> > +       fi
> > +
> > +-      if ! gzip -f9 $2/$i.1; then
> > ++      if ! gzip -n -f9 $2/$i.1; then
> > +               echo "$0: Compressing installed manpage failed.  Aborting" >&2
> > +               exit 1
> > +       fi
> > +--
> > +2.30.2
> > +
> > diff --git a/meta/recipes-devtools/squashfs-tools/squashfs-tools/0001-Avoid-use-of-INSTALL_DIR-for-symlink-targets.patch b/meta/recipes-devtools/squashfs-tools/squashfs-tools/0001-Avoid-use-of-INSTALL_DIR-for-symlink-targets.patch
> > deleted file mode 100644
> > index b505f05735..0000000000
> > --- a/meta/recipes-devtools/squashfs-tools/squashfs-tools/0001-Avoid-use-of-INSTALL_DIR-for-symlink-targets.patch
> > +++ /dev/null
> > @@ -1,34 +0,0 @@
> > -From c9e263a7add76df1ed92e879d964264067c0f6e8 Mon Sep 17 00:00:00 2001
> > -From: Patrick McCarty <patrick.mccarty@intel.com>
> > -Date: Mon, 26 Jul 2021 11:38:43 -0700
> > -Subject: [PATCH] Avoid use of INSTALL_DIR for symlink targets
> > -
> > -In case INSTALL_DIR is overridden with a staged install location, using
> > -INSTALL_DIR for the symlink target path prefix will yield an incorrect location
> > -for the final installation.
> > -
> > -Because the symlink itself is already installed to INSTALL_DIR, simply removing
> > -the INSTALL_DIR prefix suffices as a fix.
> > -
> > -Note that using $DESTDIR/$INSTALL_DIR where appropriate can avoid this type of
> > -issue, but that can be considered a future enhancement.
> > -
> > -Upstream-Status: Backport
> > -Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
> > -Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
> > ----
> > - squashfs-tools/Makefile | 4 ++--
> > - 1 file changed, 2 insertions(+), 2 deletions(-)
> > -
> > -diff --git a/squashfs-tools/Makefile b/squashfs-tools/Makefile
> > -index 5795d0d..998c5fd 100755
> > ---- a/Makefile
> > -+++ b/Makefile
> > -@@ -406,5 +406,5 @@ install: mksquashfs unsquashfs
> > -       mkdir -p $(INSTALL_DIR)
> > -       cp mksquashfs $(INSTALL_DIR)
> > -       cp unsquashfs $(INSTALL_DIR)
> > --      ln -fs $(INSTALL_DIR)/unsquashfs $(INSTALL_DIR)/sqfscat
> > --      ln -fs $(INSTALL_DIR)/mksquashfs $(INSTALL_DIR)/sqfstar
> > -+      ln -fs unsquashfs $(INSTALL_DIR)/sqfscat
> > -+      ln -fs mksquashfs $(INSTALL_DIR)/sqfstar
> > diff --git a/meta/recipes-devtools/squashfs-tools/squashfs-tools/CVE-2021-41072-requisite-1.patch b/meta/recipes-devtools/squashfs-tools/squashfs-tools/CVE-2021-41072-requisite-1.patch
> > deleted file mode 100644
> > index d01b5c6871..0000000000
> > --- a/meta/recipes-devtools/squashfs-tools/squashfs-tools/CVE-2021-41072-requisite-1.patch
> > +++ /dev/null
> > @@ -1,135 +0,0 @@
> > -The commit is required by the fix for CVE-2021-41072.
> > -
> > -Upstream-Status: Backport [https://github.com/plougher/squashfs-tools/commit/80b8441]
> > -
> > -Signed-off-by: Kai Kang <kai.kang@windriver.com>
> > -
> > -From 80b8441a37fcf8bf07dacf24d9d6c6459a0f6e36 Mon Sep 17 00:00:00 2001
> > -From: Phillip Lougher <phillip@squashfs.org.uk>
> > -Date: Sun, 12 Sep 2021 19:58:19 +0100
> > -Subject: [PATCH] unsquashfs: use squashfs_closedir() to delete directory
> > -
> > -Signed-off-by: Phillip Lougher <phillip@squashfs.org.uk>
> > ----
> > - squashfs-tools/unsquash-1.c    |  3 +--
> > - squashfs-tools/unsquash-1234.c | 11 +++++++++--
> > - squashfs-tools/unsquash-2.c    |  3 +--
> > - squashfs-tools/unsquash-3.c    |  3 +--
> > - squashfs-tools/unsquash-4.c    |  3 +--
> > - squashfs-tools/unsquashfs.c    |  7 -------
> > - squashfs-tools/unsquashfs.h    |  1 +
> > - 7 files changed, 14 insertions(+), 17 deletions(-)
> > -
> > -diff --git a/squashfs-tools/unsquash-1.c b/squashfs-tools/unsquash-1.c
> > -index acba821..7598499 100644
> > ---- a/squashfs-tools/unsquash-1.c
> > -+++ b/squashfs-tools/unsquash-1.c
> > -@@ -373,8 +373,7 @@ static struct dir *squashfs_opendir(unsigned int block_start, unsigned int offse
> > -       return dir;
> > -
> > - corrupted:
> > --      free(dir->dirs);
> > --      free(dir);
> > -+      squashfs_closedir(dir);
> > -       return NULL;
> > - }
> > -
> > -diff --git a/squashfs-tools/unsquash-1234.c b/squashfs-tools/unsquash-1234.c
> > -index c2d4f42..0c8dfbb 100644
> > ---- a/squashfs-tools/unsquash-1234.c
> > -+++ b/squashfs-tools/unsquash-1234.c
> > -@@ -25,8 +25,8 @@
> > -  * unsquash-4.
> > -  */
> > -
> > --#define TRUE 1
> > --#define FALSE 0
> > -+#include "unsquashfs.h"
> > -+
> > - /*
> > -  * Check name for validity, name should not
> > -  *  - be ".", "./", or
> > -@@ -56,3 +56,10 @@ int check_name(char *name, int size)
> > -
> > -       return TRUE;
> > - }
> > -+
> > -+
> > -+void squashfs_closedir(struct dir *dir)
> > -+{
> > -+      free(dir->dirs);
> > -+      free(dir);
> > -+}
> > -diff --git a/squashfs-tools/unsquash-2.c b/squashfs-tools/unsquash-2.c
> > -index 0746b3d..86f62ba 100644
> > ---- a/squashfs-tools/unsquash-2.c
> > -+++ b/squashfs-tools/unsquash-2.c
> > -@@ -465,8 +465,7 @@ static struct dir *squashfs_opendir(unsigned int block_start, unsigned int offse
> > -       return dir;
> > -
> > - corrupted:
> > --      free(dir->dirs);
> > --      free(dir);
> > -+      squashfs_closedir(dir);
> > -       return NULL;
> > - }
> > -
> > -diff --git a/squashfs-tools/unsquash-3.c b/squashfs-tools/unsquash-3.c
> > -index 094caaa..c04aa9e 100644
> > ---- a/squashfs-tools/unsquash-3.c
> > -+++ b/squashfs-tools/unsquash-3.c
> > -@@ -499,8 +499,7 @@ static struct dir *squashfs_opendir(unsigned int block_start, unsigned int offse
> > -       return dir;
> > -
> > - corrupted:
> > --      free(dir->dirs);
> > --      free(dir);
> > -+      squashfs_closedir(dir);
> > -       return NULL;
> > - }
> > -
> > -diff --git a/squashfs-tools/unsquash-4.c b/squashfs-tools/unsquash-4.c
> > -index 3a1b9e1..ff62dcc 100644
> > ---- a/squashfs-tools/unsquash-4.c
> > -+++ b/squashfs-tools/unsquash-4.c
> > -@@ -436,8 +436,7 @@ static struct dir *squashfs_opendir(unsigned int block_start, unsigned int offse
> > -       return dir;
> > -
> > - corrupted:
> > --      free(dir->dirs);
> > --      free(dir);
> > -+      squashfs_closedir(dir);
> > -       return NULL;
> > - }
> > -
> > -diff --git a/squashfs-tools/unsquashfs.c b/squashfs-tools/unsquashfs.c
> > -index 7b590bd..04be53c 100644
> > ---- a/squashfs-tools/unsquashfs.c
> > -+++ b/squashfs-tools/unsquashfs.c
> > -@@ -1350,13 +1350,6 @@ unsigned int *offset, unsigned int *type)
> > - }
> > -
> > -
> > --void squashfs_closedir(struct dir *dir)
> > --{
> > --      free(dir->dirs);
> > --      free(dir);
> > --}
> > --
> > --
> > - char *get_component(char *target, char **targname)
> > - {
> > -       char *start;
> > -diff --git a/squashfs-tools/unsquashfs.h b/squashfs-tools/unsquashfs.h
> > -index 2e9201c..5ecb2ab 100644
> > ---- a/squashfs-tools/unsquashfs.h
> > -+++ b/squashfs-tools/unsquashfs.h
> > -@@ -291,4 +291,5 @@ extern long long *alloc_index_table(int);
> > -
> > - /* unsquash-1234.c */
> > - extern int check_name(char *, int);
> > -+extern void squashfs_closedir(struct dir *);
> > - #endif
> > ---
> > -2.17.1
> > -
> > diff --git a/meta/recipes-devtools/squashfs-tools/squashfs-tools/CVE-2021-41072-requisite-2.patch b/meta/recipes-devtools/squashfs-tools/squashfs-tools/CVE-2021-41072-requisite-2.patch
> > deleted file mode 100644
> > index 6b230b35c6..0000000000
> > --- a/meta/recipes-devtools/squashfs-tools/squashfs-tools/CVE-2021-41072-requisite-2.patch
> > +++ /dev/null
> > @@ -1,108 +0,0 @@
> > -The commit is required by the fix for CVE-2021-41072.
> > -
> > -Upstream-Status: Backport [https://github.com/plougher/squashfs-tools/commit/1993a4e]
> > -
> > -Signed-off-by: Kai Kang <kai.kang@windriver.com>
> > -
> > -From 1993a4e7aeda04962bf26e84c15fba8b58837e10 Mon Sep 17 00:00:00 2001
> > -From: Phillip Lougher <phillip@squashfs.org.uk>
> > -Date: Sun, 12 Sep 2021 20:09:13 +0100
> > -Subject: [PATCH] unsquashfs: dynamically allocate name
> > -
> > -Dynamically allocate name rather than store it
> > -directly in structure.
> > -
> > -Signed-off-by: Phillip Lougher <phillip@squashfs.org.uk>
> > ----
> > - squashfs-tools/unsquash-1.c    | 2 +-
> > - squashfs-tools/unsquash-1234.c | 5 +++++
> > - squashfs-tools/unsquash-2.c    | 2 +-
> > - squashfs-tools/unsquash-3.c    | 2 +-
> > - squashfs-tools/unsquash-4.c    | 2 +-
> > - squashfs-tools/unsquashfs.h    | 2 +-
> > - 6 files changed, 10 insertions(+), 5 deletions(-)
> > -
> > -diff --git a/squashfs-tools/unsquash-1.c b/squashfs-tools/unsquash-1.c
> > -index 7598499..d0121c6 100644
> > ---- a/squashfs-tools/unsquash-1.c
> > -+++ b/squashfs-tools/unsquash-1.c
> > -@@ -360,7 +360,7 @@ static struct dir *squashfs_opendir(unsigned int block_start, unsigned int offse
> > -                               dir->dirs = new_dir;
> > -                       }
> > -
> > --                      strcpy(dir->dirs[dir->dir_count].name, dire->name);
> > -+                      dir->dirs[dir->dir_count].name = strdup(dire->name);
> > -                       dir->dirs[dir->dir_count].start_block =
> > -                               dirh.start_block;
> > -                       dir->dirs[dir->dir_count].offset = dire->offset;
> > -diff --git a/squashfs-tools/unsquash-1234.c b/squashfs-tools/unsquash-1234.c
> > -index 0c8dfbb..ac46d9d 100644
> > ---- a/squashfs-tools/unsquash-1234.c
> > -+++ b/squashfs-tools/unsquash-1234.c
> > -@@ -60,6 +60,11 @@ int check_name(char *name, int size)
> > -
> > - void squashfs_closedir(struct dir *dir)
> > - {
> > -+      int i;
> > -+
> > -+      for(i = 0; i < dir->dir_count; i++)
> > -+              free(dir->dirs[i].name);
> > -+
> > -       free(dir->dirs);
> > -       free(dir);
> > - }
> > -diff --git a/squashfs-tools/unsquash-2.c b/squashfs-tools/unsquash-2.c
> > -index 86f62ba..e847980 100644
> > ---- a/squashfs-tools/unsquash-2.c
> > -+++ b/squashfs-tools/unsquash-2.c
> > -@@ -452,7 +452,7 @@ static struct dir *squashfs_opendir(unsigned int block_start, unsigned int offse
> > -                               dir->dirs = new_dir;
> > -                       }
> > -
> > --                      strcpy(dir->dirs[dir->dir_count].name, dire->name);
> > -+                      dir->dirs[dir->dir_count].name = strdup(dire->name);
> > -                       dir->dirs[dir->dir_count].start_block =
> > -                               dirh.start_block;
> > -                       dir->dirs[dir->dir_count].offset = dire->offset;
> > -diff --git a/squashfs-tools/unsquash-3.c b/squashfs-tools/unsquash-3.c
> > -index c04aa9e..8223f27 100644
> > ---- a/squashfs-tools/unsquash-3.c
> > -+++ b/squashfs-tools/unsquash-3.c
> > -@@ -486,7 +486,7 @@ static struct dir *squashfs_opendir(unsigned int block_start, unsigned int offse
> > -                               dir->dirs = new_dir;
> > -                       }
> > -
> > --                      strcpy(dir->dirs[dir->dir_count].name, dire->name);
> > -+                      dir->dirs[dir->dir_count].name = strdup(dire->name);
> > -                       dir->dirs[dir->dir_count].start_block =
> > -                               dirh.start_block;
> > -                       dir->dirs[dir->dir_count].offset = dire->offset;
> > -diff --git a/squashfs-tools/unsquash-4.c b/squashfs-tools/unsquash-4.c
> > -index ff62dcc..1e199a7 100644
> > ---- a/squashfs-tools/unsquash-4.c
> > -+++ b/squashfs-tools/unsquash-4.c
> > -@@ -423,7 +423,7 @@ static struct dir *squashfs_opendir(unsigned int block_start, unsigned int offse
> > -                               dir->dirs = new_dir;
> > -                       }
> > -
> > --                      strcpy(dir->dirs[dir->dir_count].name, dire->name);
> > -+                      dir->dirs[dir->dir_count].name = strdup(dire->name);
> > -                       dir->dirs[dir->dir_count].start_block =
> > -                               dirh.start_block;
> > -                       dir->dirs[dir->dir_count].offset = dire->offset;
> > -diff --git a/squashfs-tools/unsquashfs.h b/squashfs-tools/unsquashfs.h
> > -index 5ecb2ab..583fbe4 100644
> > ---- a/squashfs-tools/unsquashfs.h
> > -+++ b/squashfs-tools/unsquashfs.h
> > -@@ -164,7 +164,7 @@ struct queue {
> > - #define DIR_ENT_SIZE  16
> > -
> > - struct dir_ent        {
> > --      char            name[SQUASHFS_NAME_LEN + 1];
> > -+      char            *name;
> > -       unsigned int    start_block;
> > -       unsigned int    offset;
> > -       unsigned int    type;
> > ---
> > -2.17.1
> > -
> > diff --git a/meta/recipes-devtools/squashfs-tools/squashfs-tools/CVE-2021-41072-requisite-3.patch b/meta/recipes-devtools/squashfs-tools/squashfs-tools/CVE-2021-41072-requisite-3.patch
> > deleted file mode 100644
> > index 5d5df6f15b..0000000000
> > --- a/meta/recipes-devtools/squashfs-tools/squashfs-tools/CVE-2021-41072-requisite-3.patch
> > +++ /dev/null
> > @@ -1,326 +0,0 @@
> > -The commit is required by the fix for CVE-2021-41072.
> > -
> > -Upstream-Status: Backport [https://github.com/plougher/squashfs-tools/commit/9938154]
> > -
> > -Signed-off-by: Kai Kang <kai.kang@windriver.com>
> > -
> > -From 9938154174756ee48a94ea0b076397a2944b028d Mon Sep 17 00:00:00 2001
> > -From: Phillip Lougher <phillip@squashfs.org.uk>
> > -Date: Sun, 12 Sep 2021 22:58:11 +0100
> > -Subject: [PATCH] unsquashfs: use linked list to store directory names
> > -
> > -This should bring higher performance, and it allows sorting
> > -if necessary (1.x and 2.0 filesystems).
> > -
> > -Signed-off-by: Phillip Lougher <phillip@squashfs.org.uk>
> > ----
> > - squashfs-tools/unsquash-1.c    | 30 +++++++++++++++---------------
> > - squashfs-tools/unsquash-1234.c | 12 ++++++++----
> > - squashfs-tools/unsquash-2.c    | 29 +++++++++++++++--------------
> > - squashfs-tools/unsquash-3.c    | 29 +++++++++++++++--------------
> > - squashfs-tools/unsquash-4.c    | 29 +++++++++++++++--------------
> > - squashfs-tools/unsquashfs.c    | 16 ++++++++++------
> > - squashfs-tools/unsquashfs.h    |  3 ++-
> > - 7 files changed, 80 insertions(+), 68 deletions(-)
> > -
> > -diff --git a/squashfs-tools/unsquash-1.c b/squashfs-tools/unsquash-1.c
> > -index d0121c6..b604434 100644
> > ---- a/squashfs-tools/unsquash-1.c
> > -+++ b/squashfs-tools/unsquash-1.c
> > -@@ -254,7 +254,7 @@ static struct dir *squashfs_opendir(unsigned int block_start, unsigned int offse
> > -       long long start;
> > -       int bytes = 0;
> > -       int dir_count, size, res;
> > --      struct dir_ent *new_dir;
> > -+      struct dir_ent *ent, *cur_ent = NULL;
> > -       struct dir *dir;
> > -
> > -       TRACE("squashfs_opendir: inode start block %d, offset %d\n",
> > -@@ -267,7 +267,7 @@ static struct dir *squashfs_opendir(unsigned int block_start, unsigned int offse
> > -               MEM_ERROR();
> > -
> > -       dir->dir_count = 0;
> > --      dir->cur_entry = 0;
> > -+      dir->cur_entry = NULL;
> > -       dir->mode = (*i)->mode;
> > -       dir->uid = (*i)->uid;
> > -       dir->guid = (*i)->gid;
> > -@@ -351,20 +351,20 @@ static struct dir *squashfs_opendir(unsigned int block_start, unsigned int offse
> > -                               "%d:%d, type %d\n", dire->name,
> > -                               dirh.start_block, dire->offset, dire->type);
> > -
> > --                      if((dir->dir_count % DIR_ENT_SIZE) == 0) {
> > --                              new_dir = realloc(dir->dirs, (dir->dir_count +
> > --                                      DIR_ENT_SIZE) * sizeof(struct dir_ent));
> > --                              if(new_dir == NULL)
> > --                                      MEM_ERROR();
> > --
> > --                              dir->dirs = new_dir;
> > --                      }
> > -+                      ent = malloc(sizeof(struct dir_ent));
> > -+                      if(ent == NULL)
> > -+                              MEM_ERROR();
> > -
> > --                      dir->dirs[dir->dir_count].name = strdup(dire->name);
> > --                      dir->dirs[dir->dir_count].start_block =
> > --                              dirh.start_block;
> > --                      dir->dirs[dir->dir_count].offset = dire->offset;
> > --                      dir->dirs[dir->dir_count].type = dire->type;
> > -+                      ent->name = strdup(dire->name);
> > -+                      ent->start_block = dirh.start_block;
> > -+                      ent->offset = dire->offset;
> > -+                      ent->type = dire->type;
> > -+                      ent->next = NULL;
> > -+                      if(cur_ent == NULL)
> > -+                              dir->dirs = ent;
> > -+                      else
> > -+                              cur_ent->next = ent;
> > -+                      cur_ent = ent;
> > -                       dir->dir_count ++;
> > -                       bytes += dire->size + 1;
> > -               }
> > -diff --git a/squashfs-tools/unsquash-1234.c b/squashfs-tools/unsquash-1234.c
> > -index ac46d9d..e389f8d 100644
> > ---- a/squashfs-tools/unsquash-1234.c
> > -+++ b/squashfs-tools/unsquash-1234.c
> > -@@ -60,11 +60,15 @@ int check_name(char *name, int size)
> > -
> > - void squashfs_closedir(struct dir *dir)
> > - {
> > --      int i;
> > -+      struct dir_ent *ent = dir->dirs;
> > -
> > --      for(i = 0; i < dir->dir_count; i++)
> > --              free(dir->dirs[i].name);
> > -+      while(ent) {
> > -+              struct dir_ent *tmp = ent;
> > -+
> > -+              ent = ent->next;
> > -+              free(tmp->name);
> > -+              free(tmp);
> > -+      }
> > -
> > --      free(dir->dirs);
> > -       free(dir);
> > - }
> > -diff --git a/squashfs-tools/unsquash-2.c b/squashfs-tools/unsquash-2.c
> > -index e847980..956f96f 100644
> > ---- a/squashfs-tools/unsquash-2.c
> > -+++ b/squashfs-tools/unsquash-2.c
> > -@@ -347,7 +347,7 @@ static struct dir *squashfs_opendir(unsigned int block_start, unsigned int offse
> > -       long long start;
> > -       int bytes = 0;
> > -       int dir_count, size, res;
> > --      struct dir_ent *new_dir;
> > -+      struct dir_ent *ent, *cur_ent = NULL;
> > -       struct dir *dir;
> > -
> > -       TRACE("squashfs_opendir: inode start block %d, offset %d\n",
> > -@@ -360,7 +360,7 @@ static struct dir *squashfs_opendir(unsigned int block_start, unsigned int offse
> > -               MEM_ERROR();
> > -
> > -       dir->dir_count = 0;
> > --      dir->cur_entry = 0;
> > -+      dir->cur_entry = NULL;
> > -       dir->mode = (*i)->mode;
> > -       dir->uid = (*i)->uid;
> > -       dir->guid = (*i)->gid;
> > -@@ -444,19 +444,20 @@ static struct dir *squashfs_opendir(unsigned int block_start, unsigned int offse
> > -                               "%d:%d, type %d\n", dire->name,
> > -                               dirh.start_block, dire->offset, dire->type);
> > -
> > --                      if((dir->dir_count % DIR_ENT_SIZE) == 0) {
> > --                              new_dir = realloc(dir->dirs, (dir->dir_count +
> > --                                      DIR_ENT_SIZE) * sizeof(struct dir_ent));
> > --                              if(new_dir == NULL)
> > --                                      MEM_ERROR();
> > --                              dir->dirs = new_dir;
> > --                      }
> > -+                      ent = malloc(sizeof(struct dir_ent));
> > -+                      if(ent == NULL)
> > -+                              MEM_ERROR();
> > -
> > --                      dir->dirs[dir->dir_count].name = strdup(dire->name);
> > --                      dir->dirs[dir->dir_count].start_block =
> > --                              dirh.start_block;
> > --                      dir->dirs[dir->dir_count].offset = dire->offset;
> > --                      dir->dirs[dir->dir_count].type = dire->type;
> > -+                      ent->name = strdup(dire->name);
> > -+                      ent->start_block = dirh.start_block;
> > -+                      ent->offset = dire->offset;
> > -+                      ent->type = dire->type;
> > -+                      ent->next = NULL;
> > -+                      if(cur_ent == NULL)
> > -+                              dir->dirs = ent;
> > -+                      else
> > -+                              cur_ent->next = ent;
> > -+                      cur_ent = ent;
> > -                       dir->dir_count ++;
> > -                       bytes += dire->size + 1;
> > -               }
> > -diff --git a/squashfs-tools/unsquash-3.c b/squashfs-tools/unsquash-3.c
> > -index 8223f27..835a574 100644
> > ---- a/squashfs-tools/unsquash-3.c
> > -+++ b/squashfs-tools/unsquash-3.c
> > -@@ -381,7 +381,7 @@ static struct dir *squashfs_opendir(unsigned int block_start, unsigned int offse
> > -       long long start;
> > -       int bytes = 0;
> > -       int dir_count, size, res;
> > --      struct dir_ent *new_dir;
> > -+      struct dir_ent *ent, *cur_ent = NULL;
> > -       struct dir *dir;
> > -
> > -       TRACE("squashfs_opendir: inode start block %d, offset %d\n",
> > -@@ -394,7 +394,7 @@ static struct dir *squashfs_opendir(unsigned int block_start, unsigned int offse
> > -               MEM_ERROR();
> > -
> > -       dir->dir_count = 0;
> > --      dir->cur_entry = 0;
> > -+      dir->cur_entry = NULL;
> > -       dir->mode = (*i)->mode;
> > -       dir->uid = (*i)->uid;
> > -       dir->guid = (*i)->gid;
> > -@@ -478,19 +478,20 @@ static struct dir *squashfs_opendir(unsigned int block_start, unsigned int offse
> > -                               "%d:%d, type %d\n", dire->name,
> > -                               dirh.start_block, dire->offset, dire->type);
> > -
> > --                      if((dir->dir_count % DIR_ENT_SIZE) == 0) {
> > --                              new_dir = realloc(dir->dirs, (dir->dir_count +
> > --                                      DIR_ENT_SIZE) * sizeof(struct dir_ent));
> > --                              if(new_dir == NULL)
> > --                                      MEM_ERROR();
> > --                              dir->dirs = new_dir;
> > --                      }
> > -+                      ent = malloc(sizeof(struct dir_ent));
> > -+                      if(ent == NULL)
> > -+                              MEM_ERROR();
> > -
> > --                      dir->dirs[dir->dir_count].name = strdup(dire->name);
> > --                      dir->dirs[dir->dir_count].start_block =
> > --                              dirh.start_block;
> > --                      dir->dirs[dir->dir_count].offset = dire->offset;
> > --                      dir->dirs[dir->dir_count].type = dire->type;
> > -+                      ent->name = strdup(dire->name);
> > -+                      ent->start_block = dirh.start_block;
> > -+                      ent->offset = dire->offset;
> > -+                      ent->type = dire->type;
> > -+                      ent->next = NULL;
> > -+                      if(cur_ent == NULL)
> > -+                              dir->dirs = ent;
> > -+                      else
> > -+                              cur_ent->next = ent;
> > -+                      cur_ent = ent;
> > -                       dir->dir_count ++;
> > -                       bytes += dire->size + 1;
> > -               }
> > -diff --git a/squashfs-tools/unsquash-4.c b/squashfs-tools/unsquash-4.c
> > -index 1e199a7..694783d 100644
> > ---- a/squashfs-tools/unsquash-4.c
> > -+++ b/squashfs-tools/unsquash-4.c
> > -@@ -331,7 +331,7 @@ static struct dir *squashfs_opendir(unsigned int block_start, unsigned int offse
> > -       struct squashfs_dir_entry *dire = (struct squashfs_dir_entry *) buffer;
> > -       long long start;
> > -       int bytes = 0, dir_count, size, res;
> > --      struct dir_ent *new_dir;
> > -+      struct dir_ent *ent, *cur_ent = NULL;
> > -       struct dir *dir;
> > -
> > -       TRACE("squashfs_opendir: inode start block %d, offset %d\n",
> > -@@ -344,7 +344,7 @@ static struct dir *squashfs_opendir(unsigned int block_start, unsigned int offse
> > -               MEM_ERROR();
> > -
> > -       dir->dir_count = 0;
> > --      dir->cur_entry = 0;
> > -+      dir->cur_entry = NULL;
> > -       dir->mode = (*i)->mode;
> > -       dir->uid = (*i)->uid;
> > -       dir->guid = (*i)->gid;
> > -@@ -415,19 +415,20 @@ static struct dir *squashfs_opendir(unsigned int block_start, unsigned int offse
> > -                               "%d:%d, type %d\n", dire->name,
> > -                               dirh.start_block, dire->offset, dire->type);
> > -
> > --                      if((dir->dir_count % DIR_ENT_SIZE) == 0) {
> > --                              new_dir = realloc(dir->dirs, (dir->dir_count +
> > --                                      DIR_ENT_SIZE) * sizeof(struct dir_ent));
> > --                              if(new_dir == NULL)
> > --                                      MEM_ERROR();
> > --                              dir->dirs = new_dir;
> > --                      }
> > -+                      ent = malloc(sizeof(struct dir_ent));
> > -+                      if(ent == NULL)
> > -+                              MEM_ERROR();
> > -
> > --                      dir->dirs[dir->dir_count].name = strdup(dire->name);
> > --                      dir->dirs[dir->dir_count].start_block =
> > --                              dirh.start_block;
> > --                      dir->dirs[dir->dir_count].offset = dire->offset;
> > --                      dir->dirs[dir->dir_count].type = dire->type;
> > -+                      ent->name = strdup(dire->name);
> > -+                      ent->start_block = dirh.start_block;
> > -+                      ent->offset = dire->offset;
> > -+                      ent->type = dire->type;
> > -+                      ent->next = NULL;
> > -+                      if(cur_ent == NULL)
> > -+                              dir->dirs = ent;
> > -+                      else
> > -+                              cur_ent->next = ent;
> > -+                      cur_ent = ent;
> > -                       dir->dir_count ++;
> > -                       bytes += dire->size + 1;
> > -               }
> > -diff --git a/squashfs-tools/unsquashfs.c b/squashfs-tools/unsquashfs.c
> > -index 04be53c..fee28ec 100644
> > ---- a/squashfs-tools/unsquashfs.c
> > -+++ b/squashfs-tools/unsquashfs.c
> > -@@ -1337,14 +1337,18 @@ failed:
> > - int squashfs_readdir(struct dir *dir, char **name, unsigned int *start_block,
> > - unsigned int *offset, unsigned int *type)
> > - {
> > --      if(dir->cur_entry == dir->dir_count)
> > -+      if(dir->cur_entry == NULL)
> > -+              dir->cur_entry = dir->dirs;
> > -+      else
> > -+              dir->cur_entry = dir->cur_entry->next;
> > -+
> > -+      if(dir->cur_entry == NULL)
> > -               return FALSE;
> > -
> > --      *name = dir->dirs[dir->cur_entry].name;
> > --      *start_block = dir->dirs[dir->cur_entry].start_block;
> > --      *offset = dir->dirs[dir->cur_entry].offset;
> > --      *type = dir->dirs[dir->cur_entry].type;
> > --      dir->cur_entry ++;
> > -+      *name = dir->cur_entry->name;
> > -+      *start_block = dir->cur_entry->start_block;
> > -+      *offset = dir->cur_entry->offset;
> > -+      *type = dir->cur_entry->type;
> > -
> > -       return TRUE;
> > - }
> > -diff --git a/squashfs-tools/unsquashfs.h b/squashfs-tools/unsquashfs.h
> > -index 583fbe4..f8cf78c 100644
> > ---- a/squashfs-tools/unsquashfs.h
> > -+++ b/squashfs-tools/unsquashfs.h
> > -@@ -168,17 +168,18 @@ struct dir_ent   {
> > -       unsigned int    start_block;
> > -       unsigned int    offset;
> > -       unsigned int    type;
> > -+      struct dir_ent  *next;
> > - };
> > -
> > - struct dir {
> > -       int             dir_count;
> > --      int             cur_entry;
> > -       unsigned int    mode;
> > -       uid_t           uid;
> > -       gid_t           guid;
> > -       unsigned int    mtime;
> > -       unsigned int    xattr;
> > -       struct dir_ent  *dirs;
> > -+      struct dir_ent  *cur_entry;
> > - };
> > -
> > - struct file_entry {
> > ---
> > -2.17.1
> > -
> > diff --git a/meta/recipes-devtools/squashfs-tools/squashfs-tools/CVE-2021-41072.patch b/meta/recipes-devtools/squashfs-tools/squashfs-tools/CVE-2021-41072.patch
> > deleted file mode 100644
> > index f807af60bc..0000000000
> > --- a/meta/recipes-devtools/squashfs-tools/squashfs-tools/CVE-2021-41072.patch
> > +++ /dev/null
> > @@ -1,329 +0,0 @@
> > -CVE: CVE-2021-41072
> > -Upstream-Status: Backport [https://github.com/plougher/squashfs-tools/commit/e048580]
> > -
> > -Update on 20211109:
> > -Squash a follow-up fix for CVE-2021-41072 from upstream:
> > -https://github.com/plougher/squashfs-tools/commit/19fcc93
> > -
> > -Signed-off-by: Kai Kang <kai.kang@windriver.com>
> > -
> > -From e0485802ec72996c20026da320650d8362f555bd Mon Sep 17 00:00:00 2001
> > -From: Phillip Lougher <phillip@squashfs.org.uk>
> > -Date: Sun, 12 Sep 2021 23:50:06 +0100
> > -Subject: [PATCH] Unsquashfs: additional write outside destination directory
> > - exploit fix
> > -
> > -An issue on github (https://github.com/plougher/squashfs-tools/issues/72)
> > -showed how some specially crafted Squashfs filesystems containing
> > -invalid file names (with '/' and '..') can cause Unsquashfs to write
> > -files outside of the destination directory.
> > -
> > -Since then it has been shown that specially crafted Squashfs filesystems
> > -that contain a symbolic link pointing outside of the destination directory,
> > -coupled with an identically named file within the same directory, can
> > -cause Unsquashfs to write files outside of the destination directory.
> > -
> > -Specifically the symbolic link produces a pathname pointing outside
> > -of the destination directory, which is then followed when writing the
> > -duplicate identically named file within the directory.
> > -
> > -This commit fixes this exploit by explictly checking for duplicate
> > -filenames within a directory.  As directories in v2.1, v3.x, and v4.0
> > -filesystems are sorted, this is achieved by checking for consecutively
> > -identical filenames.  Additionally directories are checked to
> > -ensure they are sorted, to avoid attempts to evade the duplicate
> > -check.
> > -
> > -Version 1.x and 2.0 filesystems (where the directories were unsorted)
> > -are sorted and then the above duplicate filename check is applied.
> > -
> > -Signed-off-by: Phillip Lougher <phillip@squashfs.org.uk>
> > ----
> > - squashfs-tools/Makefile        |   6 +-
> > - squashfs-tools/unsquash-1.c    |   6 ++
> > - squashfs-tools/unsquash-12.c   | 110 +++++++++++++++++++++++++++++++++
> > - squashfs-tools/unsquash-1234.c |  21 +++++++
> > - squashfs-tools/unsquash-2.c    |  16 +++++
> > - squashfs-tools/unsquash-3.c    |   6 ++
> > - squashfs-tools/unsquash-4.c    |   6 ++
> > - squashfs-tools/unsquashfs.h    |   4 ++
> > - 8 files changed, 173 insertions(+), 2 deletions(-)
> > - create mode 100644 squashfs-tools/unsquash-12.c
> > -
> > -diff --git a/squashfs-tools/Makefile b/squashfs-tools/Makefile
> > -index 7262a2e..1b544ed 100755
> > ---- a/squashfs-tools/Makefile
> > -+++ b/squashfs-tools/Makefile
> > -@@ -160,8 +160,8 @@ MKSQUASHFS_OBJS = mksquashfs.o read_fs.o action.o swap.o pseudo.o compressor.o \
> > -       caches-queues-lists.o reader.o tar.o
> > -
> > - UNSQUASHFS_OBJS = unsquashfs.o unsquash-1.o unsquash-2.o unsquash-3.o \
> > --      unsquash-4.o unsquash-123.o unsquash-34.o unsquash-1234.o swap.o \
> > --      compressor.o unsquashfs_info.o
> > -+      unsquash-4.o unsquash-123.o unsquash-34.o unsquash-1234.o unsquash-12.o \
> > -+      swap.o compressor.o unsquashfs_info.o
> > -
> > - CFLAGS ?= -O2
> > - CFLAGS += $(EXTRA_CFLAGS) $(INCLUDEDIR) -D_FILE_OFFSET_BITS=64 \
> > -@@ -393,6 +393,8 @@ unsquash-34.o: unsquashfs.h unsquash-34.c unsquashfs_error.h
> > -
> > - unsquash-1234.o: unsquash-1234.c unsquashfs_error.h
> > -
> > -+unsquash-12.o: unsquash-12.c unsquashfs.h
> > -+
> > - unsquashfs_xattr.o: unsquashfs_xattr.c unsquashfs.h squashfs_fs.h xattr.h unsquashfs_error.h
> > -
> > - unsquashfs_info.o: unsquashfs.h squashfs_fs.h unsquashfs_error.h
> > -diff --git a/squashfs-tools/unsquash-1.c b/squashfs-tools/unsquash-1.c
> > -index b604434..88866fc 100644
> > ---- a/squashfs-tools/unsquash-1.c
> > -+++ b/squashfs-tools/unsquash-1.c
> > -@@ -370,6 +370,12 @@ static struct dir *squashfs_opendir(unsigned int block_start, unsigned int offse
> > -               }
> > -       }
> > -
> > -+      /* check directory for duplicate names.  Need to sort directory first */
> > -+      sort_directory(dir);
> > -+      if(check_directory(dir) == FALSE) {
> > -+              ERROR("File system corrupted: directory has duplicate names\n");
> > -+              goto corrupted;
> > -+      }
> > -       return dir;
> > -
> > - corrupted:
> > -diff --git a/squashfs-tools/unsquash-12.c b/squashfs-tools/unsquash-12.c
> > -new file mode 100644
> > -index 0000000..61bf128
> > ---- /dev/null
> > -+++ b/squashfs-tools/unsquash-12.c
> > -@@ -0,0 +1,110 @@
> > -+/*
> > -+ * Unsquash a squashfs filesystem.  This is a highly compressed read only
> > -+ * filesystem.
> > -+ *
> > -+ * Copyright (c) 2021
> > -+ * Phillip Lougher <phillip@squashfs.org.uk>
> > -+ *
> > -+ * 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,
> > -+ * 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, write to the Free Software
> > -+ * Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
> > -+ *
> > -+ * unsquash-12.c
> > -+ *
> > -+ * Helper functions used by unsquash-1 and unsquash-2.
> > -+ */
> > -+
> > -+#include "unsquashfs.h"
> > -+
> > -+/*
> > -+ * Bottom up linked list merge sort.
> > -+ *
> > -+ */
> > -+void sort_directory(struct dir *dir)
> > -+{
> > -+      struct dir_ent *cur, *l1, *l2, *next;
> > -+      int len1, len2, stride = 1;
> > -+
> > -+      if(dir->dir_count < 2)
> > -+              return;
> > -+
> > -+      /*
> > -+       * We can consider our linked-list to be made up of stride length
> > -+       * sublists.  Eacn iteration around this loop merges adjacent
> > -+       * stride length sublists into larger 2*stride sublists.  We stop
> > -+       * when stride becomes equal to the entire list.
> > -+       *
> > -+       * Initially stride = 1 (by definition a sublist of 1 is sorted), and
> > -+       * these 1 element sublists are merged into 2 element sublists,  which
> > -+       * are then merged into 4 element sublists and so on.
> > -+       */
> > -+      do {
> > -+              l2 = dir->dirs; /* head of current linked list */
> > -+              cur = NULL; /* empty output list */
> > -+
> > -+              /*
> > -+               * Iterate through the linked list, merging adjacent sublists.
> > -+               * On each interation l2 points to the next sublist pair to be
> > -+               * merged (if there's only one sublist left this is simply added
> > -+               * to the output list)
> > -+               */
> > -+              while(l2) {
> > -+                      l1 = l2;
> > -+                      for(len1 = 0; l2 && len1 < stride; len1 ++, l2 = l2->next);
> > -+                      len2 = stride;
> > -+
> > -+                      /*
> > -+                       * l1 points to first sublist.
> > -+                       * l2 points to second sublist.
> > -+                       * Merge them onto the output list
> > -+                       */
> > -+                      while(len1 && l2 && len2) {
> > -+                              if(strcmp(l1->name, l2->name) <= 0) {
> > -+                                      next = l1;
> > -+                                      l1 = l1->next;
> > -+                                      len1 --;
> > -+                              } else {
> > -+                                      next = l2;
> > -+                                      l2 = l2->next;
> > -+                                      len2 --;
> > -+                              }
> > -+
> > -+                              if(cur) {
> > -+                                      cur->next = next;
> > -+                                      cur = next;
> > -+                              } else
> > -+                                      dir->dirs = cur = next;
> > -+                      }
> > -+                      /*
> > -+                       * One sublist is now empty, copy the other one onto the
> > -+                       * output list
> > -+                       */
> > -+                      for(; len1; len1 --, l1 = l1->next) {
> > -+                              if(cur) {
> > -+                                      cur->next = l1;
> > -+                                      cur = l1;
> > -+                              } else
> > -+                                      dir->dirs = cur = l1;
> > -+                      }
> > -+                      for(; l2 && len2; len2 --, l2 = l2->next) {
> > -+                              if(cur) {
> > -+                                      cur->next = l2;
> > -+                                      cur = l2;
> > -+                              } else
> > -+                                      dir->dirs = cur = l2;
> > -+                      }
> > -+              }
> > -+              cur->next = NULL;
> > -+              stride = stride << 1;
> > -+      } while(stride < dir->dir_count);
> > -+}
> > -diff --git a/squashfs-tools/unsquash-1234.c b/squashfs-tools/unsquash-1234.c
> > -index e389f8d..98a81ed 100644
> > ---- a/squashfs-tools/unsquash-1234.c
> > -+++ b/squashfs-tools/unsquash-1234.c
> > -@@ -72,3 +72,24 @@ void squashfs_closedir(struct dir *dir)
> > -
> > -       free(dir);
> > - }
> > -+
> > -+
> > -+/*
> > -+ * Check directory for duplicate names.  As the directory should be sorted,
> > -+ * duplicates will be consecutive.  Obviously we also need to check if the
> > -+ * directory has been deliberately unsorted, to evade this check.
> > -+ */
> > -+int check_directory(struct dir *dir)
> > -+{
> > -+      int i;
> > -+      struct dir_ent *ent;
> > -+
> > -+      if(dir->dir_count < 2)
> > -+              return TRUE;
> > -+
> > -+      for(ent = dir->dirs, i = 0; i < dir->dir_count - 1; ent = ent->next, i++)
> > -+              if(strcmp(ent->name, ent->next->name) >= 0)
> > -+                      return FALSE;
> > -+
> > -+      return TRUE;
> > -+}
> > -diff --git a/squashfs-tools/unsquash-2.c b/squashfs-tools/unsquash-2.c
> > -index 956f96f..0e36f7d 100644
> > ---- a/squashfs-tools/unsquash-2.c
> > -+++ b/squashfs-tools/unsquash-2.c
> > -@@ -29,6 +29,7 @@
> > - static squashfs_fragment_entry_2 *fragment_table;
> > - static unsigned int *uid_table, *guid_table;
> > - static squashfs_operations ops;
> > -+static int needs_sorting = FALSE;
> > -
> > -
> > - static void read_block_list(unsigned int *block_list, long long start,
> > -@@ -463,6 +464,17 @@ static struct dir *squashfs_opendir(unsigned int block_start, unsigned int offse
> > -               }
> > -       }
> > -
> > -+      if(needs_sorting)
> > -+              sort_directory(dir);
> > -+
> > -+      /* check directory for duplicate names and sorting */
> > -+      if(check_directory(dir) == FALSE) {
> > -+              if(needs_sorting)
> > -+                      ERROR("File system corrupted: directory has duplicate names\n");
> > -+              else
> > -+                      ERROR("File system corrupted: directory has duplicate names or is unsorted\n");
> > -+              goto corrupted;
> > -+      }
> > -       return dir;
> > -
> > - corrupted:
> > -@@ -596,6 +608,10 @@ int read_super_2(squashfs_operations **s_ops, void *s)
> > -        * 2.x filesystems use gzip compression.
> > -        */
> > -       comp = lookup_compressor("gzip");
> > -+
> > -+      if(sBlk_3->s_minor == 0)
> > -+              needs_sorting = TRUE;
> > -+
> > -       return TRUE;
> > - }
> > -
> > -diff --git a/squashfs-tools/unsquash-3.c b/squashfs-tools/unsquash-3.c
> > -index 835a574..0123562 100644
> > ---- a/squashfs-tools/unsquash-3.c
> > -+++ b/squashfs-tools/unsquash-3.c
> > -@@ -497,6 +497,12 @@ static struct dir *squashfs_opendir(unsigned int block_start, unsigned int offse
> > -               }
> > -       }
> > -
> > -+      /* check directory for duplicate names and sorting */
> > -+      if(check_directory(dir) == FALSE) {
> > -+              ERROR("File system corrupted: directory has duplicate names or is unsorted\n");
> > -+              goto corrupted;
> > -+      }
> > -+
> > -       return dir;
> > -
> > - corrupted:
> > -diff --git a/squashfs-tools/unsquash-4.c b/squashfs-tools/unsquash-4.c
> > -index 694783d..c615bb8 100644
> > ---- a/squashfs-tools/unsquash-4.c
> > -+++ b/squashfs-tools/unsquash-4.c
> > -@@ -434,6 +434,12 @@ static struct dir *squashfs_opendir(unsigned int block_start, unsigned int offse
> > -               }
> > -       }
> > -
> > -+      /* check directory for duplicate names and sorting */
> > -+      if(check_directory(dir) == FALSE) {
> > -+              ERROR("File system corrupted: directory has duplicate names or is unsorted\n");
> > -+              goto corrupted;
> > -+      }
> > -+
> > -       return dir;
> > -
> > - corrupted:
> > -diff --git a/squashfs-tools/unsquashfs.h b/squashfs-tools/unsquashfs.h
> > -index f8cf78c..bf2a80d 100644
> > ---- a/squashfs-tools/unsquashfs.h
> > -+++ b/squashfs-tools/unsquashfs.h
> > -@@ -293,4 +293,8 @@ extern long long *alloc_index_table(int);
> > - /* unsquash-1234.c */
> > - extern int check_name(char *, int);
> > - extern void squashfs_closedir(struct dir *);
> > -+extern int check_directory(struct dir *);
> > -+
> > -+/* unsquash-12.c */
> > -+extern void sort_directory(struct dir *);
> > - #endif
> > ---
> > -2.17.1
> > -
> > diff --git a/meta/recipes-devtools/squashfs-tools/squashfs-tools_git.bb b/meta/recipes-devtools/squashfs-tools/squashfs-tools_git.bb
> > index c92a5f80a8..4e009d2625 100644
> > --- a/meta/recipes-devtools/squashfs-tools/squashfs-tools_git.bb
> > +++ b/meta/recipes-devtools/squashfs-tools/squashfs-tools_git.bb
> > @@ -5,20 +5,16 @@ HOMEPAGE = "https://github.com/plougher/squashfs-tools"
> >  DESCRIPTION = "Tools to create and extract Squashfs filesystems."
> >  SECTION = "base"
> >  LICENSE = "GPL-2.0-only"
> > -LIC_FILES_CHKSUM = "file://../COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
> > +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
> >
> > -PV = "4.5"
> > -SRCREV = "0496d7c3de3e09da37ba492081c86159806ebb07"
> > +PV = "4.5.1"
> > +SRCREV = "afdd63fc386919b4aa40d573b0a6069414d14317"
> >  SRC_URI = "git://github.com/plougher/squashfs-tools.git;protocol=https;branch=master \
> > -           file://0001-Avoid-use-of-INSTALL_DIR-for-symlink-targets.patch \
> > -           file://CVE-2021-41072-requisite-1.patch;striplevel=2 \
> > -           file://CVE-2021-41072-requisite-2.patch;striplevel=2 \
> > -           file://CVE-2021-41072-requisite-3.patch;striplevel=2 \
> > -           file://CVE-2021-41072.patch;striplevel=2 \
> > +           file://0001-install-manpages.sh-do-not-write-original-timestamps.patch \
> >             "
> >  UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>(\d+(\.\d+)+))"
> >
> > -S = "${WORKDIR}/git/squashfs-tools"
> > +S = "${WORKDIR}/git"
> >
>
> changing S above is resulting in 2 `cd` operations in do_compile and do_install
> if its not solving anything else, I would suggest to keep original S
>
> >  EXTRA_OEMAKE = "${PACKAGECONFIG_CONFARGS}"
> >
> > @@ -33,13 +29,15 @@ PACKAGECONFIG[zstd] = "ZSTD_SUPPORT=1,ZSTD_SUPPORT=0,zstd"
> >  PACKAGECONFIG[reproducible] = "REPRODUCIBLE_DEFAULT=1,REPRODUCIBLE_DEFAULT=0,"
> >
> >  do_compile() {
> > +        cd ${S}/squashfs-tools
> >         oe_runmake all
> >  }
> >
> >  do_install() {
> > +        cd ${S}/squashfs-tools
> >         install -d "${D}${includedir}"
> > -       oe_runmake install INSTALL_DIR=${D}${sbindir}
> > -       install -m 0644 "${S}"/squashfs_fs.h "${D}${includedir}"
> > +       oe_runmake install INSTALL_PREFIX=${D}${prefix} INSTALL_MANPAGES_DIR=${D}${datadir}/man/man1
> > +       install -m 0644 "${S}"/squashfs-tools/squashfs_fs.h "${D}${includedir}"
> >  }
> >
> >  ARM_INSTRUCTION_SET:armv4 = "arm"
> > --
> > 2.30.2
> >
> >
> > -=-=-=-=-=-=-=-=-=-=-=-
> > Links: You receive all messages sent to this group.
> > View/Reply Online (#164122): https://lists.openembedded.org/g/openembedded-core/message/164122
> > Mute This Topic: https://lists.openembedded.org/mt/90317725/1997914
> > Group Owner: openembedded-core+owner@lists.openembedded.org
> > Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [raj.khem@gmail.com]
> > -=-=-=-=-=-=-=-=-=-=-=-
> >


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

* Re: [OE-core] [PATCH 04/17] squashfs-tools: update 4.5 -> 4.5.1
  2022-04-07 19:59     ` Alexander Kanavin
@ 2022-04-07 20:04       ` Khem Raj
  0 siblings, 0 replies; 31+ messages in thread
From: Khem Raj @ 2022-04-07 20:04 UTC (permalink / raw)
  To: Alexander Kanavin
  Cc: Patches and discussions about the oe-core layer, Alexander Kanavin

On Thu, Apr 7, 2022 at 4:00 PM Alexander Kanavin <alex.kanavin@gmail.com> wrote:
>
> This is not possible as we need to patch something in a different
> directory under the overall tree. It also breaks various devtool
> operations with patches and source tree commits. I don't mind doing
> the cd bit.
>

so this helps devtool workflow it seems, thats reasonable, the context
was not clear
from commit. I wonder if setting B to ${S}/squashfs-tools might help
avoid those cd ops

> Alex
>
> On Thu, 7 Apr 2022 at 21:56, Khem Raj <raj.khem@gmail.com> wrote:
> >
> > On Thu, Apr 7, 2022 at 1:00 PM Alexander Kanavin <alex.kanavin@gmail.com> wrote:
> > >
> > > Drop backports.
> > >
> > > Correctly set source and installation directories.
> > >
> > > Signed-off-by: Alexander Kanavin <alex@linutronix.de>
> > > ---
> > >  ....sh-do-not-write-original-timestamps.patch |  30 ++
> > >  ...e-of-INSTALL_DIR-for-symlink-targets.patch |  34 --
> > >  .../CVE-2021-41072-requisite-1.patch          | 135 -------
> > >  .../CVE-2021-41072-requisite-2.patch          | 108 ------
> > >  .../CVE-2021-41072-requisite-3.patch          | 326 -----------------
> > >  .../squashfs-tools/CVE-2021-41072.patch       | 329 ------------------
> > >  .../squashfs-tools/squashfs-tools_git.bb      |  20 +-
> > >  7 files changed, 39 insertions(+), 943 deletions(-)
> > >  create mode 100644 meta/recipes-devtools/squashfs-tools/files/0001-install-manpages.sh-do-not-write-original-timestamps.patch
> > >  delete mode 100644 meta/recipes-devtools/squashfs-tools/squashfs-tools/0001-Avoid-use-of-INSTALL_DIR-for-symlink-targets.patch
> > >  delete mode 100644 meta/recipes-devtools/squashfs-tools/squashfs-tools/CVE-2021-41072-requisite-1.patch
> > >  delete mode 100644 meta/recipes-devtools/squashfs-tools/squashfs-tools/CVE-2021-41072-requisite-2.patch
> > >  delete mode 100644 meta/recipes-devtools/squashfs-tools/squashfs-tools/CVE-2021-41072-requisite-3.patch
> > >  delete mode 100644 meta/recipes-devtools/squashfs-tools/squashfs-tools/CVE-2021-41072.patch
> > >
> > > diff --git a/meta/recipes-devtools/squashfs-tools/files/0001-install-manpages.sh-do-not-write-original-timestamps.patch b/meta/recipes-devtools/squashfs-tools/files/0001-install-manpages.sh-do-not-write-original-timestamps.patch
> > > new file mode 100644
> > > index 0000000000..ed1d2f5b3b
> > > --- /dev/null
> > > +++ b/meta/recipes-devtools/squashfs-tools/files/0001-install-manpages.sh-do-not-write-original-timestamps.patch
> > > @@ -0,0 +1,30 @@
> > > +From b44b00dae195d8587857c7e8054e9be4eaa1f8b3 Mon Sep 17 00:00:00 2001
> > > +From: Alexander Kanavin <alex@linutronix.de>
> > > +Date: Thu, 7 Apr 2022 09:26:09 +0200
> > > +Subject: [PATCH] install-manpages.sh: do not write original timestamps into
> > > + .gz metadata
> > > +
> > > +This helps binary reproducibility.
> > > +
> > > +Upstream-Status: Submitted [https://github.com/plougher/squashfs-tools/pull/177]
> > > +Signed-off-by: Alexander Kanavin <alex@linutronix.de>
> > > +---
> > > + generate-manpages/install-manpages.sh | 2 +-
> > > + 1 file changed, 1 insertion(+), 1 deletion(-)
> > > +
> > > +diff --git a/generate-manpages/install-manpages.sh b/generate-manpages/install-manpages.sh
> > > +index d4c9e91..6a43b89 100755
> > > +--- a/generate-manpages/install-manpages.sh
> > > ++++ b/generate-manpages/install-manpages.sh
> > > +@@ -56,7 +56,7 @@ for i in mksquashfs unsquashfs sqfstar sqfscat; do
> > > +               exit 1
> > > +       fi
> > > +
> > > +-      if ! gzip -f9 $2/$i.1; then
> > > ++      if ! gzip -n -f9 $2/$i.1; then
> > > +               echo "$0: Compressing installed manpage failed.  Aborting" >&2
> > > +               exit 1
> > > +       fi
> > > +--
> > > +2.30.2
> > > +
> > > diff --git a/meta/recipes-devtools/squashfs-tools/squashfs-tools/0001-Avoid-use-of-INSTALL_DIR-for-symlink-targets.patch b/meta/recipes-devtools/squashfs-tools/squashfs-tools/0001-Avoid-use-of-INSTALL_DIR-for-symlink-targets.patch
> > > deleted file mode 100644
> > > index b505f05735..0000000000
> > > --- a/meta/recipes-devtools/squashfs-tools/squashfs-tools/0001-Avoid-use-of-INSTALL_DIR-for-symlink-targets.patch
> > > +++ /dev/null
> > > @@ -1,34 +0,0 @@
> > > -From c9e263a7add76df1ed92e879d964264067c0f6e8 Mon Sep 17 00:00:00 2001
> > > -From: Patrick McCarty <patrick.mccarty@intel.com>
> > > -Date: Mon, 26 Jul 2021 11:38:43 -0700
> > > -Subject: [PATCH] Avoid use of INSTALL_DIR for symlink targets
> > > -
> > > -In case INSTALL_DIR is overridden with a staged install location, using
> > > -INSTALL_DIR for the symlink target path prefix will yield an incorrect location
> > > -for the final installation.
> > > -
> > > -Because the symlink itself is already installed to INSTALL_DIR, simply removing
> > > -the INSTALL_DIR prefix suffices as a fix.
> > > -
> > > -Note that using $DESTDIR/$INSTALL_DIR where appropriate can avoid this type of
> > > -issue, but that can be considered a future enhancement.
> > > -
> > > -Upstream-Status: Backport
> > > -Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
> > > -Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
> > > ----
> > > - squashfs-tools/Makefile | 4 ++--
> > > - 1 file changed, 2 insertions(+), 2 deletions(-)
> > > -
> > > -diff --git a/squashfs-tools/Makefile b/squashfs-tools/Makefile
> > > -index 5795d0d..998c5fd 100755
> > > ---- a/Makefile
> > > -+++ b/Makefile
> > > -@@ -406,5 +406,5 @@ install: mksquashfs unsquashfs
> > > -       mkdir -p $(INSTALL_DIR)
> > > -       cp mksquashfs $(INSTALL_DIR)
> > > -       cp unsquashfs $(INSTALL_DIR)
> > > --      ln -fs $(INSTALL_DIR)/unsquashfs $(INSTALL_DIR)/sqfscat
> > > --      ln -fs $(INSTALL_DIR)/mksquashfs $(INSTALL_DIR)/sqfstar
> > > -+      ln -fs unsquashfs $(INSTALL_DIR)/sqfscat
> > > -+      ln -fs mksquashfs $(INSTALL_DIR)/sqfstar
> > > diff --git a/meta/recipes-devtools/squashfs-tools/squashfs-tools/CVE-2021-41072-requisite-1.patch b/meta/recipes-devtools/squashfs-tools/squashfs-tools/CVE-2021-41072-requisite-1.patch
> > > deleted file mode 100644
> > > index d01b5c6871..0000000000
> > > --- a/meta/recipes-devtools/squashfs-tools/squashfs-tools/CVE-2021-41072-requisite-1.patch
> > > +++ /dev/null
> > > @@ -1,135 +0,0 @@
> > > -The commit is required by the fix for CVE-2021-41072.
> > > -
> > > -Upstream-Status: Backport [https://github.com/plougher/squashfs-tools/commit/80b8441]
> > > -
> > > -Signed-off-by: Kai Kang <kai.kang@windriver.com>
> > > -
> > > -From 80b8441a37fcf8bf07dacf24d9d6c6459a0f6e36 Mon Sep 17 00:00:00 2001
> > > -From: Phillip Lougher <phillip@squashfs.org.uk>
> > > -Date: Sun, 12 Sep 2021 19:58:19 +0100
> > > -Subject: [PATCH] unsquashfs: use squashfs_closedir() to delete directory
> > > -
> > > -Signed-off-by: Phillip Lougher <phillip@squashfs.org.uk>
> > > ----
> > > - squashfs-tools/unsquash-1.c    |  3 +--
> > > - squashfs-tools/unsquash-1234.c | 11 +++++++++--
> > > - squashfs-tools/unsquash-2.c    |  3 +--
> > > - squashfs-tools/unsquash-3.c    |  3 +--
> > > - squashfs-tools/unsquash-4.c    |  3 +--
> > > - squashfs-tools/unsquashfs.c    |  7 -------
> > > - squashfs-tools/unsquashfs.h    |  1 +
> > > - 7 files changed, 14 insertions(+), 17 deletions(-)
> > > -
> > > -diff --git a/squashfs-tools/unsquash-1.c b/squashfs-tools/unsquash-1.c
> > > -index acba821..7598499 100644
> > > ---- a/squashfs-tools/unsquash-1.c
> > > -+++ b/squashfs-tools/unsquash-1.c
> > > -@@ -373,8 +373,7 @@ static struct dir *squashfs_opendir(unsigned int block_start, unsigned int offse
> > > -       return dir;
> > > -
> > > - corrupted:
> > > --      free(dir->dirs);
> > > --      free(dir);
> > > -+      squashfs_closedir(dir);
> > > -       return NULL;
> > > - }
> > > -
> > > -diff --git a/squashfs-tools/unsquash-1234.c b/squashfs-tools/unsquash-1234.c
> > > -index c2d4f42..0c8dfbb 100644
> > > ---- a/squashfs-tools/unsquash-1234.c
> > > -+++ b/squashfs-tools/unsquash-1234.c
> > > -@@ -25,8 +25,8 @@
> > > -  * unsquash-4.
> > > -  */
> > > -
> > > --#define TRUE 1
> > > --#define FALSE 0
> > > -+#include "unsquashfs.h"
> > > -+
> > > - /*
> > > -  * Check name for validity, name should not
> > > -  *  - be ".", "./", or
> > > -@@ -56,3 +56,10 @@ int check_name(char *name, int size)
> > > -
> > > -       return TRUE;
> > > - }
> > > -+
> > > -+
> > > -+void squashfs_closedir(struct dir *dir)
> > > -+{
> > > -+      free(dir->dirs);
> > > -+      free(dir);
> > > -+}
> > > -diff --git a/squashfs-tools/unsquash-2.c b/squashfs-tools/unsquash-2.c
> > > -index 0746b3d..86f62ba 100644
> > > ---- a/squashfs-tools/unsquash-2.c
> > > -+++ b/squashfs-tools/unsquash-2.c
> > > -@@ -465,8 +465,7 @@ static struct dir *squashfs_opendir(unsigned int block_start, unsigned int offse
> > > -       return dir;
> > > -
> > > - corrupted:
> > > --      free(dir->dirs);
> > > --      free(dir);
> > > -+      squashfs_closedir(dir);
> > > -       return NULL;
> > > - }
> > > -
> > > -diff --git a/squashfs-tools/unsquash-3.c b/squashfs-tools/unsquash-3.c
> > > -index 094caaa..c04aa9e 100644
> > > ---- a/squashfs-tools/unsquash-3.c
> > > -+++ b/squashfs-tools/unsquash-3.c
> > > -@@ -499,8 +499,7 @@ static struct dir *squashfs_opendir(unsigned int block_start, unsigned int offse
> > > -       return dir;
> > > -
> > > - corrupted:
> > > --      free(dir->dirs);
> > > --      free(dir);
> > > -+      squashfs_closedir(dir);
> > > -       return NULL;
> > > - }
> > > -
> > > -diff --git a/squashfs-tools/unsquash-4.c b/squashfs-tools/unsquash-4.c
> > > -index 3a1b9e1..ff62dcc 100644
> > > ---- a/squashfs-tools/unsquash-4.c
> > > -+++ b/squashfs-tools/unsquash-4.c
> > > -@@ -436,8 +436,7 @@ static struct dir *squashfs_opendir(unsigned int block_start, unsigned int offse
> > > -       return dir;
> > > -
> > > - corrupted:
> > > --      free(dir->dirs);
> > > --      free(dir);
> > > -+      squashfs_closedir(dir);
> > > -       return NULL;
> > > - }
> > > -
> > > -diff --git a/squashfs-tools/unsquashfs.c b/squashfs-tools/unsquashfs.c
> > > -index 7b590bd..04be53c 100644
> > > ---- a/squashfs-tools/unsquashfs.c
> > > -+++ b/squashfs-tools/unsquashfs.c
> > > -@@ -1350,13 +1350,6 @@ unsigned int *offset, unsigned int *type)
> > > - }
> > > -
> > > -
> > > --void squashfs_closedir(struct dir *dir)
> > > --{
> > > --      free(dir->dirs);
> > > --      free(dir);
> > > --}
> > > --
> > > --
> > > - char *get_component(char *target, char **targname)
> > > - {
> > > -       char *start;
> > > -diff --git a/squashfs-tools/unsquashfs.h b/squashfs-tools/unsquashfs.h
> > > -index 2e9201c..5ecb2ab 100644
> > > ---- a/squashfs-tools/unsquashfs.h
> > > -+++ b/squashfs-tools/unsquashfs.h
> > > -@@ -291,4 +291,5 @@ extern long long *alloc_index_table(int);
> > > -
> > > - /* unsquash-1234.c */
> > > - extern int check_name(char *, int);
> > > -+extern void squashfs_closedir(struct dir *);
> > > - #endif
> > > ---
> > > -2.17.1
> > > -
> > > diff --git a/meta/recipes-devtools/squashfs-tools/squashfs-tools/CVE-2021-41072-requisite-2.patch b/meta/recipes-devtools/squashfs-tools/squashfs-tools/CVE-2021-41072-requisite-2.patch
> > > deleted file mode 100644
> > > index 6b230b35c6..0000000000
> > > --- a/meta/recipes-devtools/squashfs-tools/squashfs-tools/CVE-2021-41072-requisite-2.patch
> > > +++ /dev/null
> > > @@ -1,108 +0,0 @@
> > > -The commit is required by the fix for CVE-2021-41072.
> > > -
> > > -Upstream-Status: Backport [https://github.com/plougher/squashfs-tools/commit/1993a4e]
> > > -
> > > -Signed-off-by: Kai Kang <kai.kang@windriver.com>
> > > -
> > > -From 1993a4e7aeda04962bf26e84c15fba8b58837e10 Mon Sep 17 00:00:00 2001
> > > -From: Phillip Lougher <phillip@squashfs.org.uk>
> > > -Date: Sun, 12 Sep 2021 20:09:13 +0100
> > > -Subject: [PATCH] unsquashfs: dynamically allocate name
> > > -
> > > -Dynamically allocate name rather than store it
> > > -directly in structure.
> > > -
> > > -Signed-off-by: Phillip Lougher <phillip@squashfs.org.uk>
> > > ----
> > > - squashfs-tools/unsquash-1.c    | 2 +-
> > > - squashfs-tools/unsquash-1234.c | 5 +++++
> > > - squashfs-tools/unsquash-2.c    | 2 +-
> > > - squashfs-tools/unsquash-3.c    | 2 +-
> > > - squashfs-tools/unsquash-4.c    | 2 +-
> > > - squashfs-tools/unsquashfs.h    | 2 +-
> > > - 6 files changed, 10 insertions(+), 5 deletions(-)
> > > -
> > > -diff --git a/squashfs-tools/unsquash-1.c b/squashfs-tools/unsquash-1.c
> > > -index 7598499..d0121c6 100644
> > > ---- a/squashfs-tools/unsquash-1.c
> > > -+++ b/squashfs-tools/unsquash-1.c
> > > -@@ -360,7 +360,7 @@ static struct dir *squashfs_opendir(unsigned int block_start, unsigned int offse
> > > -                               dir->dirs = new_dir;
> > > -                       }
> > > -
> > > --                      strcpy(dir->dirs[dir->dir_count].name, dire->name);
> > > -+                      dir->dirs[dir->dir_count].name = strdup(dire->name);
> > > -                       dir->dirs[dir->dir_count].start_block =
> > > -                               dirh.start_block;
> > > -                       dir->dirs[dir->dir_count].offset = dire->offset;
> > > -diff --git a/squashfs-tools/unsquash-1234.c b/squashfs-tools/unsquash-1234.c
> > > -index 0c8dfbb..ac46d9d 100644
> > > ---- a/squashfs-tools/unsquash-1234.c
> > > -+++ b/squashfs-tools/unsquash-1234.c
> > > -@@ -60,6 +60,11 @@ int check_name(char *name, int size)
> > > -
> > > - void squashfs_closedir(struct dir *dir)
> > > - {
> > > -+      int i;
> > > -+
> > > -+      for(i = 0; i < dir->dir_count; i++)
> > > -+              free(dir->dirs[i].name);
> > > -+
> > > -       free(dir->dirs);
> > > -       free(dir);
> > > - }
> > > -diff --git a/squashfs-tools/unsquash-2.c b/squashfs-tools/unsquash-2.c
> > > -index 86f62ba..e847980 100644
> > > ---- a/squashfs-tools/unsquash-2.c
> > > -+++ b/squashfs-tools/unsquash-2.c
> > > -@@ -452,7 +452,7 @@ static struct dir *squashfs_opendir(unsigned int block_start, unsigned int offse
> > > -                               dir->dirs = new_dir;
> > > -                       }
> > > -
> > > --                      strcpy(dir->dirs[dir->dir_count].name, dire->name);
> > > -+                      dir->dirs[dir->dir_count].name = strdup(dire->name);
> > > -                       dir->dirs[dir->dir_count].start_block =
> > > -                               dirh.start_block;
> > > -                       dir->dirs[dir->dir_count].offset = dire->offset;
> > > -diff --git a/squashfs-tools/unsquash-3.c b/squashfs-tools/unsquash-3.c
> > > -index c04aa9e..8223f27 100644
> > > ---- a/squashfs-tools/unsquash-3.c
> > > -+++ b/squashfs-tools/unsquash-3.c
> > > -@@ -486,7 +486,7 @@ static struct dir *squashfs_opendir(unsigned int block_start, unsigned int offse
> > > -                               dir->dirs = new_dir;
> > > -                       }
> > > -
> > > --                      strcpy(dir->dirs[dir->dir_count].name, dire->name);
> > > -+                      dir->dirs[dir->dir_count].name = strdup(dire->name);
> > > -                       dir->dirs[dir->dir_count].start_block =
> > > -                               dirh.start_block;
> > > -                       dir->dirs[dir->dir_count].offset = dire->offset;
> > > -diff --git a/squashfs-tools/unsquash-4.c b/squashfs-tools/unsquash-4.c
> > > -index ff62dcc..1e199a7 100644
> > > ---- a/squashfs-tools/unsquash-4.c
> > > -+++ b/squashfs-tools/unsquash-4.c
> > > -@@ -423,7 +423,7 @@ static struct dir *squashfs_opendir(unsigned int block_start, unsigned int offse
> > > -                               dir->dirs = new_dir;
> > > -                       }
> > > -
> > > --                      strcpy(dir->dirs[dir->dir_count].name, dire->name);
> > > -+                      dir->dirs[dir->dir_count].name = strdup(dire->name);
> > > -                       dir->dirs[dir->dir_count].start_block =
> > > -                               dirh.start_block;
> > > -                       dir->dirs[dir->dir_count].offset = dire->offset;
> > > -diff --git a/squashfs-tools/unsquashfs.h b/squashfs-tools/unsquashfs.h
> > > -index 5ecb2ab..583fbe4 100644
> > > ---- a/squashfs-tools/unsquashfs.h
> > > -+++ b/squashfs-tools/unsquashfs.h
> > > -@@ -164,7 +164,7 @@ struct queue {
> > > - #define DIR_ENT_SIZE  16
> > > -
> > > - struct dir_ent        {
> > > --      char            name[SQUASHFS_NAME_LEN + 1];
> > > -+      char            *name;
> > > -       unsigned int    start_block;
> > > -       unsigned int    offset;
> > > -       unsigned int    type;
> > > ---
> > > -2.17.1
> > > -
> > > diff --git a/meta/recipes-devtools/squashfs-tools/squashfs-tools/CVE-2021-41072-requisite-3.patch b/meta/recipes-devtools/squashfs-tools/squashfs-tools/CVE-2021-41072-requisite-3.patch
> > > deleted file mode 100644
> > > index 5d5df6f15b..0000000000
> > > --- a/meta/recipes-devtools/squashfs-tools/squashfs-tools/CVE-2021-41072-requisite-3.patch
> > > +++ /dev/null
> > > @@ -1,326 +0,0 @@
> > > -The commit is required by the fix for CVE-2021-41072.
> > > -
> > > -Upstream-Status: Backport [https://github.com/plougher/squashfs-tools/commit/9938154]
> > > -
> > > -Signed-off-by: Kai Kang <kai.kang@windriver.com>
> > > -
> > > -From 9938154174756ee48a94ea0b076397a2944b028d Mon Sep 17 00:00:00 2001
> > > -From: Phillip Lougher <phillip@squashfs.org.uk>
> > > -Date: Sun, 12 Sep 2021 22:58:11 +0100
> > > -Subject: [PATCH] unsquashfs: use linked list to store directory names
> > > -
> > > -This should bring higher performance, and it allows sorting
> > > -if necessary (1.x and 2.0 filesystems).
> > > -
> > > -Signed-off-by: Phillip Lougher <phillip@squashfs.org.uk>
> > > ----
> > > - squashfs-tools/unsquash-1.c    | 30 +++++++++++++++---------------
> > > - squashfs-tools/unsquash-1234.c | 12 ++++++++----
> > > - squashfs-tools/unsquash-2.c    | 29 +++++++++++++++--------------
> > > - squashfs-tools/unsquash-3.c    | 29 +++++++++++++++--------------
> > > - squashfs-tools/unsquash-4.c    | 29 +++++++++++++++--------------
> > > - squashfs-tools/unsquashfs.c    | 16 ++++++++++------
> > > - squashfs-tools/unsquashfs.h    |  3 ++-
> > > - 7 files changed, 80 insertions(+), 68 deletions(-)
> > > -
> > > -diff --git a/squashfs-tools/unsquash-1.c b/squashfs-tools/unsquash-1.c
> > > -index d0121c6..b604434 100644
> > > ---- a/squashfs-tools/unsquash-1.c
> > > -+++ b/squashfs-tools/unsquash-1.c
> > > -@@ -254,7 +254,7 @@ static struct dir *squashfs_opendir(unsigned int block_start, unsigned int offse
> > > -       long long start;
> > > -       int bytes = 0;
> > > -       int dir_count, size, res;
> > > --      struct dir_ent *new_dir;
> > > -+      struct dir_ent *ent, *cur_ent = NULL;
> > > -       struct dir *dir;
> > > -
> > > -       TRACE("squashfs_opendir: inode start block %d, offset %d\n",
> > > -@@ -267,7 +267,7 @@ static struct dir *squashfs_opendir(unsigned int block_start, unsigned int offse
> > > -               MEM_ERROR();
> > > -
> > > -       dir->dir_count = 0;
> > > --      dir->cur_entry = 0;
> > > -+      dir->cur_entry = NULL;
> > > -       dir->mode = (*i)->mode;
> > > -       dir->uid = (*i)->uid;
> > > -       dir->guid = (*i)->gid;
> > > -@@ -351,20 +351,20 @@ static struct dir *squashfs_opendir(unsigned int block_start, unsigned int offse
> > > -                               "%d:%d, type %d\n", dire->name,
> > > -                               dirh.start_block, dire->offset, dire->type);
> > > -
> > > --                      if((dir->dir_count % DIR_ENT_SIZE) == 0) {
> > > --                              new_dir = realloc(dir->dirs, (dir->dir_count +
> > > --                                      DIR_ENT_SIZE) * sizeof(struct dir_ent));
> > > --                              if(new_dir == NULL)
> > > --                                      MEM_ERROR();
> > > --
> > > --                              dir->dirs = new_dir;
> > > --                      }
> > > -+                      ent = malloc(sizeof(struct dir_ent));
> > > -+                      if(ent == NULL)
> > > -+                              MEM_ERROR();
> > > -
> > > --                      dir->dirs[dir->dir_count].name = strdup(dire->name);
> > > --                      dir->dirs[dir->dir_count].start_block =
> > > --                              dirh.start_block;
> > > --                      dir->dirs[dir->dir_count].offset = dire->offset;
> > > --                      dir->dirs[dir->dir_count].type = dire->type;
> > > -+                      ent->name = strdup(dire->name);
> > > -+                      ent->start_block = dirh.start_block;
> > > -+                      ent->offset = dire->offset;
> > > -+                      ent->type = dire->type;
> > > -+                      ent->next = NULL;
> > > -+                      if(cur_ent == NULL)
> > > -+                              dir->dirs = ent;
> > > -+                      else
> > > -+                              cur_ent->next = ent;
> > > -+                      cur_ent = ent;
> > > -                       dir->dir_count ++;
> > > -                       bytes += dire->size + 1;
> > > -               }
> > > -diff --git a/squashfs-tools/unsquash-1234.c b/squashfs-tools/unsquash-1234.c
> > > -index ac46d9d..e389f8d 100644
> > > ---- a/squashfs-tools/unsquash-1234.c
> > > -+++ b/squashfs-tools/unsquash-1234.c
> > > -@@ -60,11 +60,15 @@ int check_name(char *name, int size)
> > > -
> > > - void squashfs_closedir(struct dir *dir)
> > > - {
> > > --      int i;
> > > -+      struct dir_ent *ent = dir->dirs;
> > > -
> > > --      for(i = 0; i < dir->dir_count; i++)
> > > --              free(dir->dirs[i].name);
> > > -+      while(ent) {
> > > -+              struct dir_ent *tmp = ent;
> > > -+
> > > -+              ent = ent->next;
> > > -+              free(tmp->name);
> > > -+              free(tmp);
> > > -+      }
> > > -
> > > --      free(dir->dirs);
> > > -       free(dir);
> > > - }
> > > -diff --git a/squashfs-tools/unsquash-2.c b/squashfs-tools/unsquash-2.c
> > > -index e847980..956f96f 100644
> > > ---- a/squashfs-tools/unsquash-2.c
> > > -+++ b/squashfs-tools/unsquash-2.c
> > > -@@ -347,7 +347,7 @@ static struct dir *squashfs_opendir(unsigned int block_start, unsigned int offse
> > > -       long long start;
> > > -       int bytes = 0;
> > > -       int dir_count, size, res;
> > > --      struct dir_ent *new_dir;
> > > -+      struct dir_ent *ent, *cur_ent = NULL;
> > > -       struct dir *dir;
> > > -
> > > -       TRACE("squashfs_opendir: inode start block %d, offset %d\n",
> > > -@@ -360,7 +360,7 @@ static struct dir *squashfs_opendir(unsigned int block_start, unsigned int offse
> > > -               MEM_ERROR();
> > > -
> > > -       dir->dir_count = 0;
> > > --      dir->cur_entry = 0;
> > > -+      dir->cur_entry = NULL;
> > > -       dir->mode = (*i)->mode;
> > > -       dir->uid = (*i)->uid;
> > > -       dir->guid = (*i)->gid;
> > > -@@ -444,19 +444,20 @@ static struct dir *squashfs_opendir(unsigned int block_start, unsigned int offse
> > > -                               "%d:%d, type %d\n", dire->name,
> > > -                               dirh.start_block, dire->offset, dire->type);
> > > -
> > > --                      if((dir->dir_count % DIR_ENT_SIZE) == 0) {
> > > --                              new_dir = realloc(dir->dirs, (dir->dir_count +
> > > --                                      DIR_ENT_SIZE) * sizeof(struct dir_ent));
> > > --                              if(new_dir == NULL)
> > > --                                      MEM_ERROR();
> > > --                              dir->dirs = new_dir;
> > > --                      }
> > > -+                      ent = malloc(sizeof(struct dir_ent));
> > > -+                      if(ent == NULL)
> > > -+                              MEM_ERROR();
> > > -
> > > --                      dir->dirs[dir->dir_count].name = strdup(dire->name);
> > > --                      dir->dirs[dir->dir_count].start_block =
> > > --                              dirh.start_block;
> > > --                      dir->dirs[dir->dir_count].offset = dire->offset;
> > > --                      dir->dirs[dir->dir_count].type = dire->type;
> > > -+                      ent->name = strdup(dire->name);
> > > -+                      ent->start_block = dirh.start_block;
> > > -+                      ent->offset = dire->offset;
> > > -+                      ent->type = dire->type;
> > > -+                      ent->next = NULL;
> > > -+                      if(cur_ent == NULL)
> > > -+                              dir->dirs = ent;
> > > -+                      else
> > > -+                              cur_ent->next = ent;
> > > -+                      cur_ent = ent;
> > > -                       dir->dir_count ++;
> > > -                       bytes += dire->size + 1;
> > > -               }
> > > -diff --git a/squashfs-tools/unsquash-3.c b/squashfs-tools/unsquash-3.c
> > > -index 8223f27..835a574 100644
> > > ---- a/squashfs-tools/unsquash-3.c
> > > -+++ b/squashfs-tools/unsquash-3.c
> > > -@@ -381,7 +381,7 @@ static struct dir *squashfs_opendir(unsigned int block_start, unsigned int offse
> > > -       long long start;
> > > -       int bytes = 0;
> > > -       int dir_count, size, res;
> > > --      struct dir_ent *new_dir;
> > > -+      struct dir_ent *ent, *cur_ent = NULL;
> > > -       struct dir *dir;
> > > -
> > > -       TRACE("squashfs_opendir: inode start block %d, offset %d\n",
> > > -@@ -394,7 +394,7 @@ static struct dir *squashfs_opendir(unsigned int block_start, unsigned int offse
> > > -               MEM_ERROR();
> > > -
> > > -       dir->dir_count = 0;
> > > --      dir->cur_entry = 0;
> > > -+      dir->cur_entry = NULL;
> > > -       dir->mode = (*i)->mode;
> > > -       dir->uid = (*i)->uid;
> > > -       dir->guid = (*i)->gid;
> > > -@@ -478,19 +478,20 @@ static struct dir *squashfs_opendir(unsigned int block_start, unsigned int offse
> > > -                               "%d:%d, type %d\n", dire->name,
> > > -                               dirh.start_block, dire->offset, dire->type);
> > > -
> > > --                      if((dir->dir_count % DIR_ENT_SIZE) == 0) {
> > > --                              new_dir = realloc(dir->dirs, (dir->dir_count +
> > > --                                      DIR_ENT_SIZE) * sizeof(struct dir_ent));
> > > --                              if(new_dir == NULL)
> > > --                                      MEM_ERROR();
> > > --                              dir->dirs = new_dir;
> > > --                      }
> > > -+                      ent = malloc(sizeof(struct dir_ent));
> > > -+                      if(ent == NULL)
> > > -+                              MEM_ERROR();
> > > -
> > > --                      dir->dirs[dir->dir_count].name = strdup(dire->name);
> > > --                      dir->dirs[dir->dir_count].start_block =
> > > --                              dirh.start_block;
> > > --                      dir->dirs[dir->dir_count].offset = dire->offset;
> > > --                      dir->dirs[dir->dir_count].type = dire->type;
> > > -+                      ent->name = strdup(dire->name);
> > > -+                      ent->start_block = dirh.start_block;
> > > -+                      ent->offset = dire->offset;
> > > -+                      ent->type = dire->type;
> > > -+                      ent->next = NULL;
> > > -+                      if(cur_ent == NULL)
> > > -+                              dir->dirs = ent;
> > > -+                      else
> > > -+                              cur_ent->next = ent;
> > > -+                      cur_ent = ent;
> > > -                       dir->dir_count ++;
> > > -                       bytes += dire->size + 1;
> > > -               }
> > > -diff --git a/squashfs-tools/unsquash-4.c b/squashfs-tools/unsquash-4.c
> > > -index 1e199a7..694783d 100644
> > > ---- a/squashfs-tools/unsquash-4.c
> > > -+++ b/squashfs-tools/unsquash-4.c
> > > -@@ -331,7 +331,7 @@ static struct dir *squashfs_opendir(unsigned int block_start, unsigned int offse
> > > -       struct squashfs_dir_entry *dire = (struct squashfs_dir_entry *) buffer;
> > > -       long long start;
> > > -       int bytes = 0, dir_count, size, res;
> > > --      struct dir_ent *new_dir;
> > > -+      struct dir_ent *ent, *cur_ent = NULL;
> > > -       struct dir *dir;
> > > -
> > > -       TRACE("squashfs_opendir: inode start block %d, offset %d\n",
> > > -@@ -344,7 +344,7 @@ static struct dir *squashfs_opendir(unsigned int block_start, unsigned int offse
> > > -               MEM_ERROR();
> > > -
> > > -       dir->dir_count = 0;
> > > --      dir->cur_entry = 0;
> > > -+      dir->cur_entry = NULL;
> > > -       dir->mode = (*i)->mode;
> > > -       dir->uid = (*i)->uid;
> > > -       dir->guid = (*i)->gid;
> > > -@@ -415,19 +415,20 @@ static struct dir *squashfs_opendir(unsigned int block_start, unsigned int offse
> > > -                               "%d:%d, type %d\n", dire->name,
> > > -                               dirh.start_block, dire->offset, dire->type);
> > > -
> > > --                      if((dir->dir_count % DIR_ENT_SIZE) == 0) {
> > > --                              new_dir = realloc(dir->dirs, (dir->dir_count +
> > > --                                      DIR_ENT_SIZE) * sizeof(struct dir_ent));
> > > --                              if(new_dir == NULL)
> > > --                                      MEM_ERROR();
> > > --                              dir->dirs = new_dir;
> > > --                      }
> > > -+                      ent = malloc(sizeof(struct dir_ent));
> > > -+                      if(ent == NULL)
> > > -+                              MEM_ERROR();
> > > -
> > > --                      dir->dirs[dir->dir_count].name = strdup(dire->name);
> > > --                      dir->dirs[dir->dir_count].start_block =
> > > --                              dirh.start_block;
> > > --                      dir->dirs[dir->dir_count].offset = dire->offset;
> > > --                      dir->dirs[dir->dir_count].type = dire->type;
> > > -+                      ent->name = strdup(dire->name);
> > > -+                      ent->start_block = dirh.start_block;
> > > -+                      ent->offset = dire->offset;
> > > -+                      ent->type = dire->type;
> > > -+                      ent->next = NULL;
> > > -+                      if(cur_ent == NULL)
> > > -+                              dir->dirs = ent;
> > > -+                      else
> > > -+                              cur_ent->next = ent;
> > > -+                      cur_ent = ent;
> > > -                       dir->dir_count ++;
> > > -                       bytes += dire->size + 1;
> > > -               }
> > > -diff --git a/squashfs-tools/unsquashfs.c b/squashfs-tools/unsquashfs.c
> > > -index 04be53c..fee28ec 100644
> > > ---- a/squashfs-tools/unsquashfs.c
> > > -+++ b/squashfs-tools/unsquashfs.c
> > > -@@ -1337,14 +1337,18 @@ failed:
> > > - int squashfs_readdir(struct dir *dir, char **name, unsigned int *start_block,
> > > - unsigned int *offset, unsigned int *type)
> > > - {
> > > --      if(dir->cur_entry == dir->dir_count)
> > > -+      if(dir->cur_entry == NULL)
> > > -+              dir->cur_entry = dir->dirs;
> > > -+      else
> > > -+              dir->cur_entry = dir->cur_entry->next;
> > > -+
> > > -+      if(dir->cur_entry == NULL)
> > > -               return FALSE;
> > > -
> > > --      *name = dir->dirs[dir->cur_entry].name;
> > > --      *start_block = dir->dirs[dir->cur_entry].start_block;
> > > --      *offset = dir->dirs[dir->cur_entry].offset;
> > > --      *type = dir->dirs[dir->cur_entry].type;
> > > --      dir->cur_entry ++;
> > > -+      *name = dir->cur_entry->name;
> > > -+      *start_block = dir->cur_entry->start_block;
> > > -+      *offset = dir->cur_entry->offset;
> > > -+      *type = dir->cur_entry->type;
> > > -
> > > -       return TRUE;
> > > - }
> > > -diff --git a/squashfs-tools/unsquashfs.h b/squashfs-tools/unsquashfs.h
> > > -index 583fbe4..f8cf78c 100644
> > > ---- a/squashfs-tools/unsquashfs.h
> > > -+++ b/squashfs-tools/unsquashfs.h
> > > -@@ -168,17 +168,18 @@ struct dir_ent   {
> > > -       unsigned int    start_block;
> > > -       unsigned int    offset;
> > > -       unsigned int    type;
> > > -+      struct dir_ent  *next;
> > > - };
> > > -
> > > - struct dir {
> > > -       int             dir_count;
> > > --      int             cur_entry;
> > > -       unsigned int    mode;
> > > -       uid_t           uid;
> > > -       gid_t           guid;
> > > -       unsigned int    mtime;
> > > -       unsigned int    xattr;
> > > -       struct dir_ent  *dirs;
> > > -+      struct dir_ent  *cur_entry;
> > > - };
> > > -
> > > - struct file_entry {
> > > ---
> > > -2.17.1
> > > -
> > > diff --git a/meta/recipes-devtools/squashfs-tools/squashfs-tools/CVE-2021-41072.patch b/meta/recipes-devtools/squashfs-tools/squashfs-tools/CVE-2021-41072.patch
> > > deleted file mode 100644
> > > index f807af60bc..0000000000
> > > --- a/meta/recipes-devtools/squashfs-tools/squashfs-tools/CVE-2021-41072.patch
> > > +++ /dev/null
> > > @@ -1,329 +0,0 @@
> > > -CVE: CVE-2021-41072
> > > -Upstream-Status: Backport [https://github.com/plougher/squashfs-tools/commit/e048580]
> > > -
> > > -Update on 20211109:
> > > -Squash a follow-up fix for CVE-2021-41072 from upstream:
> > > -https://github.com/plougher/squashfs-tools/commit/19fcc93
> > > -
> > > -Signed-off-by: Kai Kang <kai.kang@windriver.com>
> > > -
> > > -From e0485802ec72996c20026da320650d8362f555bd Mon Sep 17 00:00:00 2001
> > > -From: Phillip Lougher <phillip@squashfs.org.uk>
> > > -Date: Sun, 12 Sep 2021 23:50:06 +0100
> > > -Subject: [PATCH] Unsquashfs: additional write outside destination directory
> > > - exploit fix
> > > -
> > > -An issue on github (https://github.com/plougher/squashfs-tools/issues/72)
> > > -showed how some specially crafted Squashfs filesystems containing
> > > -invalid file names (with '/' and '..') can cause Unsquashfs to write
> > > -files outside of the destination directory.
> > > -
> > > -Since then it has been shown that specially crafted Squashfs filesystems
> > > -that contain a symbolic link pointing outside of the destination directory,
> > > -coupled with an identically named file within the same directory, can
> > > -cause Unsquashfs to write files outside of the destination directory.
> > > -
> > > -Specifically the symbolic link produces a pathname pointing outside
> > > -of the destination directory, which is then followed when writing the
> > > -duplicate identically named file within the directory.
> > > -
> > > -This commit fixes this exploit by explictly checking for duplicate
> > > -filenames within a directory.  As directories in v2.1, v3.x, and v4.0
> > > -filesystems are sorted, this is achieved by checking for consecutively
> > > -identical filenames.  Additionally directories are checked to
> > > -ensure they are sorted, to avoid attempts to evade the duplicate
> > > -check.
> > > -
> > > -Version 1.x and 2.0 filesystems (where the directories were unsorted)
> > > -are sorted and then the above duplicate filename check is applied.
> > > -
> > > -Signed-off-by: Phillip Lougher <phillip@squashfs.org.uk>
> > > ----
> > > - squashfs-tools/Makefile        |   6 +-
> > > - squashfs-tools/unsquash-1.c    |   6 ++
> > > - squashfs-tools/unsquash-12.c   | 110 +++++++++++++++++++++++++++++++++
> > > - squashfs-tools/unsquash-1234.c |  21 +++++++
> > > - squashfs-tools/unsquash-2.c    |  16 +++++
> > > - squashfs-tools/unsquash-3.c    |   6 ++
> > > - squashfs-tools/unsquash-4.c    |   6 ++
> > > - squashfs-tools/unsquashfs.h    |   4 ++
> > > - 8 files changed, 173 insertions(+), 2 deletions(-)
> > > - create mode 100644 squashfs-tools/unsquash-12.c
> > > -
> > > -diff --git a/squashfs-tools/Makefile b/squashfs-tools/Makefile
> > > -index 7262a2e..1b544ed 100755
> > > ---- a/squashfs-tools/Makefile
> > > -+++ b/squashfs-tools/Makefile
> > > -@@ -160,8 +160,8 @@ MKSQUASHFS_OBJS = mksquashfs.o read_fs.o action.o swap.o pseudo.o compressor.o \
> > > -       caches-queues-lists.o reader.o tar.o
> > > -
> > > - UNSQUASHFS_OBJS = unsquashfs.o unsquash-1.o unsquash-2.o unsquash-3.o \
> > > --      unsquash-4.o unsquash-123.o unsquash-34.o unsquash-1234.o swap.o \
> > > --      compressor.o unsquashfs_info.o
> > > -+      unsquash-4.o unsquash-123.o unsquash-34.o unsquash-1234.o unsquash-12.o \
> > > -+      swap.o compressor.o unsquashfs_info.o
> > > -
> > > - CFLAGS ?= -O2
> > > - CFLAGS += $(EXTRA_CFLAGS) $(INCLUDEDIR) -D_FILE_OFFSET_BITS=64 \
> > > -@@ -393,6 +393,8 @@ unsquash-34.o: unsquashfs.h unsquash-34.c unsquashfs_error.h
> > > -
> > > - unsquash-1234.o: unsquash-1234.c unsquashfs_error.h
> > > -
> > > -+unsquash-12.o: unsquash-12.c unsquashfs.h
> > > -+
> > > - unsquashfs_xattr.o: unsquashfs_xattr.c unsquashfs.h squashfs_fs.h xattr.h unsquashfs_error.h
> > > -
> > > - unsquashfs_info.o: unsquashfs.h squashfs_fs.h unsquashfs_error.h
> > > -diff --git a/squashfs-tools/unsquash-1.c b/squashfs-tools/unsquash-1.c
> > > -index b604434..88866fc 100644
> > > ---- a/squashfs-tools/unsquash-1.c
> > > -+++ b/squashfs-tools/unsquash-1.c
> > > -@@ -370,6 +370,12 @@ static struct dir *squashfs_opendir(unsigned int block_start, unsigned int offse
> > > -               }
> > > -       }
> > > -
> > > -+      /* check directory for duplicate names.  Need to sort directory first */
> > > -+      sort_directory(dir);
> > > -+      if(check_directory(dir) == FALSE) {
> > > -+              ERROR("File system corrupted: directory has duplicate names\n");
> > > -+              goto corrupted;
> > > -+      }
> > > -       return dir;
> > > -
> > > - corrupted:
> > > -diff --git a/squashfs-tools/unsquash-12.c b/squashfs-tools/unsquash-12.c
> > > -new file mode 100644
> > > -index 0000000..61bf128
> > > ---- /dev/null
> > > -+++ b/squashfs-tools/unsquash-12.c
> > > -@@ -0,0 +1,110 @@
> > > -+/*
> > > -+ * Unsquash a squashfs filesystem.  This is a highly compressed read only
> > > -+ * filesystem.
> > > -+ *
> > > -+ * Copyright (c) 2021
> > > -+ * Phillip Lougher <phillip@squashfs.org.uk>
> > > -+ *
> > > -+ * 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,
> > > -+ * 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, write to the Free Software
> > > -+ * Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
> > > -+ *
> > > -+ * unsquash-12.c
> > > -+ *
> > > -+ * Helper functions used by unsquash-1 and unsquash-2.
> > > -+ */
> > > -+
> > > -+#include "unsquashfs.h"
> > > -+
> > > -+/*
> > > -+ * Bottom up linked list merge sort.
> > > -+ *
> > > -+ */
> > > -+void sort_directory(struct dir *dir)
> > > -+{
> > > -+      struct dir_ent *cur, *l1, *l2, *next;
> > > -+      int len1, len2, stride = 1;
> > > -+
> > > -+      if(dir->dir_count < 2)
> > > -+              return;
> > > -+
> > > -+      /*
> > > -+       * We can consider our linked-list to be made up of stride length
> > > -+       * sublists.  Eacn iteration around this loop merges adjacent
> > > -+       * stride length sublists into larger 2*stride sublists.  We stop
> > > -+       * when stride becomes equal to the entire list.
> > > -+       *
> > > -+       * Initially stride = 1 (by definition a sublist of 1 is sorted), and
> > > -+       * these 1 element sublists are merged into 2 element sublists,  which
> > > -+       * are then merged into 4 element sublists and so on.
> > > -+       */
> > > -+      do {
> > > -+              l2 = dir->dirs; /* head of current linked list */
> > > -+              cur = NULL; /* empty output list */
> > > -+
> > > -+              /*
> > > -+               * Iterate through the linked list, merging adjacent sublists.
> > > -+               * On each interation l2 points to the next sublist pair to be
> > > -+               * merged (if there's only one sublist left this is simply added
> > > -+               * to the output list)
> > > -+               */
> > > -+              while(l2) {
> > > -+                      l1 = l2;
> > > -+                      for(len1 = 0; l2 && len1 < stride; len1 ++, l2 = l2->next);
> > > -+                      len2 = stride;
> > > -+
> > > -+                      /*
> > > -+                       * l1 points to first sublist.
> > > -+                       * l2 points to second sublist.
> > > -+                       * Merge them onto the output list
> > > -+                       */
> > > -+                      while(len1 && l2 && len2) {
> > > -+                              if(strcmp(l1->name, l2->name) <= 0) {
> > > -+                                      next = l1;
> > > -+                                      l1 = l1->next;
> > > -+                                      len1 --;
> > > -+                              } else {
> > > -+                                      next = l2;
> > > -+                                      l2 = l2->next;
> > > -+                                      len2 --;
> > > -+                              }
> > > -+
> > > -+                              if(cur) {
> > > -+                                      cur->next = next;
> > > -+                                      cur = next;
> > > -+                              } else
> > > -+                                      dir->dirs = cur = next;
> > > -+                      }
> > > -+                      /*
> > > -+                       * One sublist is now empty, copy the other one onto the
> > > -+                       * output list
> > > -+                       */
> > > -+                      for(; len1; len1 --, l1 = l1->next) {
> > > -+                              if(cur) {
> > > -+                                      cur->next = l1;
> > > -+                                      cur = l1;
> > > -+                              } else
> > > -+                                      dir->dirs = cur = l1;
> > > -+                      }
> > > -+                      for(; l2 && len2; len2 --, l2 = l2->next) {
> > > -+                              if(cur) {
> > > -+                                      cur->next = l2;
> > > -+                                      cur = l2;
> > > -+                              } else
> > > -+                                      dir->dirs = cur = l2;
> > > -+                      }
> > > -+              }
> > > -+              cur->next = NULL;
> > > -+              stride = stride << 1;
> > > -+      } while(stride < dir->dir_count);
> > > -+}
> > > -diff --git a/squashfs-tools/unsquash-1234.c b/squashfs-tools/unsquash-1234.c
> > > -index e389f8d..98a81ed 100644
> > > ---- a/squashfs-tools/unsquash-1234.c
> > > -+++ b/squashfs-tools/unsquash-1234.c
> > > -@@ -72,3 +72,24 @@ void squashfs_closedir(struct dir *dir)
> > > -
> > > -       free(dir);
> > > - }
> > > -+
> > > -+
> > > -+/*
> > > -+ * Check directory for duplicate names.  As the directory should be sorted,
> > > -+ * duplicates will be consecutive.  Obviously we also need to check if the
> > > -+ * directory has been deliberately unsorted, to evade this check.
> > > -+ */
> > > -+int check_directory(struct dir *dir)
> > > -+{
> > > -+      int i;
> > > -+      struct dir_ent *ent;
> > > -+
> > > -+      if(dir->dir_count < 2)
> > > -+              return TRUE;
> > > -+
> > > -+      for(ent = dir->dirs, i = 0; i < dir->dir_count - 1; ent = ent->next, i++)
> > > -+              if(strcmp(ent->name, ent->next->name) >= 0)
> > > -+                      return FALSE;
> > > -+
> > > -+      return TRUE;
> > > -+}
> > > -diff --git a/squashfs-tools/unsquash-2.c b/squashfs-tools/unsquash-2.c
> > > -index 956f96f..0e36f7d 100644
> > > ---- a/squashfs-tools/unsquash-2.c
> > > -+++ b/squashfs-tools/unsquash-2.c
> > > -@@ -29,6 +29,7 @@
> > > - static squashfs_fragment_entry_2 *fragment_table;
> > > - static unsigned int *uid_table, *guid_table;
> > > - static squashfs_operations ops;
> > > -+static int needs_sorting = FALSE;
> > > -
> > > -
> > > - static void read_block_list(unsigned int *block_list, long long start,
> > > -@@ -463,6 +464,17 @@ static struct dir *squashfs_opendir(unsigned int block_start, unsigned int offse
> > > -               }
> > > -       }
> > > -
> > > -+      if(needs_sorting)
> > > -+              sort_directory(dir);
> > > -+
> > > -+      /* check directory for duplicate names and sorting */
> > > -+      if(check_directory(dir) == FALSE) {
> > > -+              if(needs_sorting)
> > > -+                      ERROR("File system corrupted: directory has duplicate names\n");
> > > -+              else
> > > -+                      ERROR("File system corrupted: directory has duplicate names or is unsorted\n");
> > > -+              goto corrupted;
> > > -+      }
> > > -       return dir;
> > > -
> > > - corrupted:
> > > -@@ -596,6 +608,10 @@ int read_super_2(squashfs_operations **s_ops, void *s)
> > > -        * 2.x filesystems use gzip compression.
> > > -        */
> > > -       comp = lookup_compressor("gzip");
> > > -+
> > > -+      if(sBlk_3->s_minor == 0)
> > > -+              needs_sorting = TRUE;
> > > -+
> > > -       return TRUE;
> > > - }
> > > -
> > > -diff --git a/squashfs-tools/unsquash-3.c b/squashfs-tools/unsquash-3.c
> > > -index 835a574..0123562 100644
> > > ---- a/squashfs-tools/unsquash-3.c
> > > -+++ b/squashfs-tools/unsquash-3.c
> > > -@@ -497,6 +497,12 @@ static struct dir *squashfs_opendir(unsigned int block_start, unsigned int offse
> > > -               }
> > > -       }
> > > -
> > > -+      /* check directory for duplicate names and sorting */
> > > -+      if(check_directory(dir) == FALSE) {
> > > -+              ERROR("File system corrupted: directory has duplicate names or is unsorted\n");
> > > -+              goto corrupted;
> > > -+      }
> > > -+
> > > -       return dir;
> > > -
> > > - corrupted:
> > > -diff --git a/squashfs-tools/unsquash-4.c b/squashfs-tools/unsquash-4.c
> > > -index 694783d..c615bb8 100644
> > > ---- a/squashfs-tools/unsquash-4.c
> > > -+++ b/squashfs-tools/unsquash-4.c
> > > -@@ -434,6 +434,12 @@ static struct dir *squashfs_opendir(unsigned int block_start, unsigned int offse
> > > -               }
> > > -       }
> > > -
> > > -+      /* check directory for duplicate names and sorting */
> > > -+      if(check_directory(dir) == FALSE) {
> > > -+              ERROR("File system corrupted: directory has duplicate names or is unsorted\n");
> > > -+              goto corrupted;
> > > -+      }
> > > -+
> > > -       return dir;
> > > -
> > > - corrupted:
> > > -diff --git a/squashfs-tools/unsquashfs.h b/squashfs-tools/unsquashfs.h
> > > -index f8cf78c..bf2a80d 100644
> > > ---- a/squashfs-tools/unsquashfs.h
> > > -+++ b/squashfs-tools/unsquashfs.h
> > > -@@ -293,4 +293,8 @@ extern long long *alloc_index_table(int);
> > > - /* unsquash-1234.c */
> > > - extern int check_name(char *, int);
> > > - extern void squashfs_closedir(struct dir *);
> > > -+extern int check_directory(struct dir *);
> > > -+
> > > -+/* unsquash-12.c */
> > > -+extern void sort_directory(struct dir *);
> > > - #endif
> > > ---
> > > -2.17.1
> > > -
> > > diff --git a/meta/recipes-devtools/squashfs-tools/squashfs-tools_git.bb b/meta/recipes-devtools/squashfs-tools/squashfs-tools_git.bb
> > > index c92a5f80a8..4e009d2625 100644
> > > --- a/meta/recipes-devtools/squashfs-tools/squashfs-tools_git.bb
> > > +++ b/meta/recipes-devtools/squashfs-tools/squashfs-tools_git.bb
> > > @@ -5,20 +5,16 @@ HOMEPAGE = "https://github.com/plougher/squashfs-tools"
> > >  DESCRIPTION = "Tools to create and extract Squashfs filesystems."
> > >  SECTION = "base"
> > >  LICENSE = "GPL-2.0-only"
> > > -LIC_FILES_CHKSUM = "file://../COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
> > > +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
> > >
> > > -PV = "4.5"
> > > -SRCREV = "0496d7c3de3e09da37ba492081c86159806ebb07"
> > > +PV = "4.5.1"
> > > +SRCREV = "afdd63fc386919b4aa40d573b0a6069414d14317"
> > >  SRC_URI = "git://github.com/plougher/squashfs-tools.git;protocol=https;branch=master \
> > > -           file://0001-Avoid-use-of-INSTALL_DIR-for-symlink-targets.patch \
> > > -           file://CVE-2021-41072-requisite-1.patch;striplevel=2 \
> > > -           file://CVE-2021-41072-requisite-2.patch;striplevel=2 \
> > > -           file://CVE-2021-41072-requisite-3.patch;striplevel=2 \
> > > -           file://CVE-2021-41072.patch;striplevel=2 \
> > > +           file://0001-install-manpages.sh-do-not-write-original-timestamps.patch \
> > >             "
> > >  UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>(\d+(\.\d+)+))"
> > >
> > > -S = "${WORKDIR}/git/squashfs-tools"
> > > +S = "${WORKDIR}/git"
> > >
> >
> > changing S above is resulting in 2 `cd` operations in do_compile and do_install
> > if its not solving anything else, I would suggest to keep original S
> >
> > >  EXTRA_OEMAKE = "${PACKAGECONFIG_CONFARGS}"
> > >
> > > @@ -33,13 +29,15 @@ PACKAGECONFIG[zstd] = "ZSTD_SUPPORT=1,ZSTD_SUPPORT=0,zstd"
> > >  PACKAGECONFIG[reproducible] = "REPRODUCIBLE_DEFAULT=1,REPRODUCIBLE_DEFAULT=0,"
> > >
> > >  do_compile() {
> > > +        cd ${S}/squashfs-tools
> > >         oe_runmake all
> > >  }
> > >
> > >  do_install() {
> > > +        cd ${S}/squashfs-tools
> > >         install -d "${D}${includedir}"
> > > -       oe_runmake install INSTALL_DIR=${D}${sbindir}
> > > -       install -m 0644 "${S}"/squashfs_fs.h "${D}${includedir}"
> > > +       oe_runmake install INSTALL_PREFIX=${D}${prefix} INSTALL_MANPAGES_DIR=${D}${datadir}/man/man1
> > > +       install -m 0644 "${S}"/squashfs-tools/squashfs_fs.h "${D}${includedir}"
> > >  }
> > >
> > >  ARM_INSTRUCTION_SET:armv4 = "arm"
> > > --
> > > 2.30.2
> > >
> > >
> > > -=-=-=-=-=-=-=-=-=-=-=-
> > > Links: You receive all messages sent to this group.
> > > View/Reply Online (#164122): https://lists.openembedded.org/g/openembedded-core/message/164122
> > > Mute This Topic: https://lists.openembedded.org/mt/90317725/1997914
> > > Group Owner: openembedded-core+owner@lists.openembedded.org
> > > Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [raj.khem@gmail.com]
> > > -=-=-=-=-=-=-=-=-=-=-=-
> > >


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

* Re: [OE-core] [PATCH 17/17] python3-typing-extensions: upgrade 3.10.0.0 -> 4.1.1
  2022-04-07 19:45     ` Alexander Kanavin
  2022-04-07 19:59       ` Khem Raj
@ 2022-04-07 21:14       ` Richard Purdie
  1 sibling, 0 replies; 31+ messages in thread
From: Richard Purdie @ 2022-04-07 21:14 UTC (permalink / raw)
  To: Alexander Kanavin, Khem Raj
  Cc: Patches and discussions about the oe-core layer, Alexander Kanavin

On Thu, 2022-04-07 at 21:45 +0200, Alexander Kanavin wrote:
> On Thu, 7 Apr 2022 at 21:43, Khem Raj <raj.khem@gmail.com> wrote:
> > > -inherit pypi setuptools3
> > > +inherit pypi python_flit_core
> > 
> > has this module made a move to use flit instead of setuptools ? if so,
> > perhaps adding that info in commit might be good.
> 
> It has, yes. I thought such a change is self-documenting.

I think there is value to mentioning things like this in the commit message as
it shows you were aware of the change and made a conscious decision and it shows
up when looking at change logs too where you wouldn't normally have the context
diff without specifically looking it out.

Cheers,

Richard



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

* Re: [OE-core] [PATCH 02/17] llvm: update 13.0.1 -> 14.0.0
  2022-04-07 17:00 ` [PATCH 02/17] llvm: update 13.0.1 -> 14.0.0 Alexander Kanavin
@ 2022-04-08  7:03   ` Richard Purdie
  2022-04-08  8:12     ` Alexander Kanavin
  0 siblings, 1 reply; 31+ messages in thread
From: Richard Purdie @ 2022-04-08  7:03 UTC (permalink / raw)
  To: Alexander Kanavin, openembedded-core; +Cc: Alexander Kanavin

On Thu, 2022-04-07 at 19:00 +0200, Alexander Kanavin wrote:
> llvm-config no longer links with libLLVM, so there is no need
> to install it in -native (and it isn't built in the first place).
> This also significantly speeds up llvm-native build.
> 
> Signed-off-by: Alexander Kanavin <alex@linutronix.de>
> ---
>  meta/conf/distro/include/tcmode-default.inc | 2 +-
>  meta/recipes-devtools/llvm/llvm_git.bb      | 5 ++---
>  2 files changed, 3 insertions(+), 4 deletions(-)

There is something not quite right with one of the llvm changes:

https://autobuilder.yoctoproject.org/typhoon/#/builders/64/builds/5022
https://autobuilder.yoctoproject.org/typhoon/#/builders/72/builds/5043/steps/32/logs/stdio

Cheers,

Richard





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

* Re: [OE-core] [PATCH 02/17] llvm: update 13.0.1 -> 14.0.0
  2022-04-08  7:03   ` [OE-core] " Richard Purdie
@ 2022-04-08  8:12     ` Alexander Kanavin
  0 siblings, 0 replies; 31+ messages in thread
From: Alexander Kanavin @ 2022-04-08  8:12 UTC (permalink / raw)
  To: Richard Purdie; +Cc: OE-core, Alexander Kanavin

On Fri, 8 Apr 2022 at 09:03, Richard Purdie
<richard.purdie@linuxfoundation.org> wrote:
> There is something not quite right with one of the llvm changes:
>
> https://autobuilder.yoctoproject.org/typhoon/#/builders/64/builds/5022
> https://autobuilder.yoctoproject.org/typhoon/#/builders/72/builds/5043/steps/32/logs/stdio

This bit:
+ # llvm harcodes usr/lib as install path, so this corrects it to actual libdir
+ mv -T -n ${D}/${prefix}/lib ${D}/${libdir}

On my distros '-n -T' is enough to guard against renaming into itself
becoming an error, but apparently older mv still errors out. Perhaps
appending '|| true' will do the trick, can you make that adjustment?

Alex


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

* Re: [OE-core] [PATCH 11/17] webkitgtk: update 2.34.6 -> 2.36.0
  2022-04-07 17:00 ` [PATCH 11/17] webkitgtk: update 2.34.6 -> 2.36.0 Alexander Kanavin
@ 2022-04-09  3:25   ` Khem Raj
  0 siblings, 0 replies; 31+ messages in thread
From: Khem Raj @ 2022-04-09  3:25 UTC (permalink / raw)
  To: Alexander Kanavin
  Cc: Patches and discussions about the oe-core layer, Alexander Kanavin

it fails to build on mips

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

On Thu, Apr 7, 2022 at 10:00 AM Alexander Kanavin
<alex.kanavin@gmail.com> wrote:
>
> Drop patches:
> 0001-Fix-racy-parallel-build-of-WebKit2-4.0.gir.patch
> 0001-When-building-introspection-files-add-CMAKE_C_FLAGS-.patch
> (both merged upstream)
>
> reduce-memory-overheads.patch
> (rejected by upstream, there's no use case - see the discussion)
>
> Rebase to version submitted upstream:
> 0001-FindGObjectIntrospection.cmake-prefix-variables-obta.patch
>
> Add:
> 0001-When-building-introspection-files-do-not-quote-CFLAG.patch
>
> angle is no longer needed for x11-less setups.
>
> Signed-off-by: Alexander Kanavin <alex@linutronix.de>
> ---
>  ...spection.cmake-prefix-variables-obta.patch | 38 +++++----
>  ...cy-parallel-build-of-WebKit2-4.0.gir.patch | 46 -----------
>  ...trospection-files-add-CMAKE_C_FLAGS-.patch | 52 -------------
>  ...trospection-files-do-not-quote-CFLAG.patch | 78 +++++++++++++++++++
>  .../webkitgtk/reduce-memory-overheads.patch   | 28 -------
>  ...ebkitgtk_2.34.6.bb => webkitgtk_2.36.0.bb} |  9 +--
>  6 files changed, 105 insertions(+), 146 deletions(-)
>  delete mode 100644 meta/recipes-sato/webkit/webkitgtk/0001-Fix-racy-parallel-build-of-WebKit2-4.0.gir.patch
>  delete mode 100644 meta/recipes-sato/webkit/webkitgtk/0001-When-building-introspection-files-add-CMAKE_C_FLAGS-.patch
>  create mode 100644 meta/recipes-sato/webkit/webkitgtk/0001-When-building-introspection-files-do-not-quote-CFLAG.patch
>  delete mode 100644 meta/recipes-sato/webkit/webkitgtk/reduce-memory-overheads.patch
>  rename meta/recipes-sato/webkit/{webkitgtk_2.34.6.bb => webkitgtk_2.36.0.bb} (95%)
>
> diff --git a/meta/recipes-sato/webkit/webkitgtk/0001-FindGObjectIntrospection.cmake-prefix-variables-obta.patch b/meta/recipes-sato/webkit/webkitgtk/0001-FindGObjectIntrospection.cmake-prefix-variables-obta.patch
> index 54d34b1c69..bccf74d9c9 100644
> --- a/meta/recipes-sato/webkit/webkitgtk/0001-FindGObjectIntrospection.cmake-prefix-variables-obta.patch
> +++ b/meta/recipes-sato/webkit/webkitgtk/0001-FindGObjectIntrospection.cmake-prefix-variables-obta.patch
> @@ -1,4 +1,4 @@
> -From 317a5ac120c44987219bc03486cd2f2d1842c9b9 Mon Sep 17 00:00:00 2001
> +From e0bf97eecfa601e08b9578f00b1000890284241a Mon Sep 17 00:00:00 2001
>  From: Alexander Kanavin <alex.kanavin@gmail.com>
>  Date: Tue, 27 Oct 2015 16:02:19 +0200
>  Subject: [PATCH] FindGObjectIntrospection.cmake: prefix variables obtained
> @@ -6,22 +6,30 @@ Subject: [PATCH] FindGObjectIntrospection.cmake: prefix variables obtained
>
>  Upstream-Status: Submitted [https://bugs.webkit.org/show_bug.cgi?id=232933]
>  Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
> +
>  ---
> - Source/cmake/FindGObjectIntrospection.cmake | 1 +
> - 1 file changed, 1 insertion(+)
> + Source/cmake/FindGObjectIntrospection.cmake | 4 +++-
> + 1 file changed, 3 insertions(+), 1 deletion(-)
>
>  diff --git a/Source/cmake/FindGObjectIntrospection.cmake b/Source/cmake/FindGObjectIntrospection.cmake
> -index e1f49b4..03a4446 100644
> +index be96814a..ae67b593 100644
>  --- a/Source/cmake/FindGObjectIntrospection.cmake
>  +++ b/Source/cmake/FindGObjectIntrospection.cmake
> -@@ -26,6 +26,7 @@ macro(_GIR_GET_PKGCONFIG_VAR _outvar _varname _extra_args)
> -     else ()
> -         string(REGEX REPLACE "[\r\n]" " " _result "${_result}")
> -         string(REGEX REPLACE " +$" ""  _result "${_result}")
> -+        string(CONCAT _result $ENV{PKG_CONFIG_SYSROOT_DIR} "${_result}")
> -         separate_arguments(_result)
> -         set(${_outvar} ${_result} CACHE INTERNAL "")
> -     endif ()
> ---
> -2.1.4
> -
> +@@ -16,7 +16,6 @@
> + # Redistribution and use is allowed according to the terms of the BSD license.
> +
> +
> +-
> + find_package(PkgConfig QUIET)
> + if (PKG_CONFIG_FOUND)
> +     if (PACKAGE_FIND_VERSION_COUNT GREATER 0)
> +@@ -30,6 +29,9 @@ if (PKG_CONFIG_FOUND)
> +         pkg_get_variable(INTROSPECTION_GENERATE gobject-introspection-1.0 g_ir_generate)
> +         pkg_get_variable(INTROSPECTION_GIRDIR gobject-introspection-1.0 girdir)
> +         pkg_get_variable(INTROSPECTION_TYPELIBDIR gobject-introspection-1.0 typelibdir)
> ++        set(INTROSPECTION_SCANNER "$ENV{PKG_CONFIG_SYSROOT_DIR}${INTROSPECTION_SCANNER}")
> ++        set(INTROSPECTION_COMPILER "$ENV{PKG_CONFIG_SYSROOT_DIR}${INTROSPECTION_COMPILER}")
> ++        set(INTROSPECTION_GENERATE "$ENV{PKG_CONFIG_SYSROOT_DIR}${INTROSPECTION_GENERATE}")
> +         set(INTROSPECTION_VERSION "${_pc_gir_VERSION}")
> +         if (${INTROSPECTION_VERSION} VERSION_GREATER_EQUAL "1.59.1")
> +             set(INTROSPECTION_HAVE_SOURCES_TOP_DIRS YES)
> diff --git a/meta/recipes-sato/webkit/webkitgtk/0001-Fix-racy-parallel-build-of-WebKit2-4.0.gir.patch b/meta/recipes-sato/webkit/webkitgtk/0001-Fix-racy-parallel-build-of-WebKit2-4.0.gir.patch
> deleted file mode 100644
> index e06607ba2b..0000000000
> --- a/meta/recipes-sato/webkit/webkitgtk/0001-Fix-racy-parallel-build-of-WebKit2-4.0.gir.patch
> +++ /dev/null
> @@ -1,46 +0,0 @@
> -From 4718888071e29deb8b245b88c81577fd5bac4e5e Mon Sep 17 00:00:00 2001
> -From: Alexander Kanavin <alex.kanavin@gmail.com>
> -Date: Mon, 29 Aug 2016 16:38:11 +0300
> -Subject: [PATCH] Fix racy parallel build of WebKit2-4.0.gir
> -
> -Upstream-Status: Submitted [https://bugs.webkit.org/show_bug.cgi?id=232935]
> -Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
> -
> ----
> - Source/WebKit/PlatformGTK.cmake | 9 +++++----
> - 1 file changed, 5 insertions(+), 4 deletions(-)
> -
> -diff --git a/Source/WebKit/PlatformGTK.cmake b/Source/WebKit/PlatformGTK.cmake
> -index a069c5f6..ea2f542b 100644
> ---- a/Source/WebKit/PlatformGTK.cmake
> -+++ b/Source/WebKit/PlatformGTK.cmake
> -@@ -650,8 +650,9 @@ if (ENABLE_INTROSPECTION)
> -         set(GIR_SOURCES_TOP_DIRS "--sources-top-dirs=${CMAKE_BINARY_DIR}")
> -     endif ()
> -
> --    add_custom_command(
> --        OUTPUT ${CMAKE_BINARY_DIR}/WebKit2-${WEBKITGTK_API_VERSION}.gir
> -+    # This is a target and not a command because it's used to build another .gir
> -+    # and a .typelib, which would trigger two racy parallel builds when using command
> -+    add_custom_target(WebKit2-${WEBKITGTK_API_VERSION}-gir
> -         DEPENDS WebKit
> -         DEPENDS ${CMAKE_BINARY_DIR}/JavaScriptCore-${WEBKITGTK_API_VERSION}.gir
> -         COMMAND CC=${CMAKE_C_COMPILER} CFLAGS=-Wno-deprecated-declarations\ ${CMAKE_C_FLAGS} LDFLAGS=
> -@@ -699,7 +700,7 @@ if (ENABLE_INTROSPECTION)
> -     add_custom_command(
> -         OUTPUT ${CMAKE_BINARY_DIR}/WebKit2WebExtension-${WEBKITGTK_API_VERSION}.gir
> -         DEPENDS ${CMAKE_BINARY_DIR}/JavaScriptCore-${WEBKITGTK_API_VERSION}.gir
> --        DEPENDS ${CMAKE_BINARY_DIR}/WebKit2-${WEBKITGTK_API_VERSION}.gir
> -+        DEPENDS WebKit2-${WEBKITGTK_API_VERSION}-gir
> -         COMMAND CC=${CMAKE_C_COMPILER} CFLAGS=-Wno-deprecated-declarations\ ${CMAKE_C_FLAGS}
> -             LDFLAGS="${INTROSPECTION_ADDITIONAL_LDFLAGS}"
> -             ${LOADER_LIBRARY_PATH_VAR}="${INTROSPECTION_ADDITIONAL_LIBRARY_PATH}"
> -@@ -761,7 +762,7 @@ if (ENABLE_INTROSPECTION)
> -
> -     add_custom_command(
> -         OUTPUT ${CMAKE_BINARY_DIR}/WebKit2-${WEBKITGTK_API_VERSION}.typelib
> --        DEPENDS ${CMAKE_BINARY_DIR}/WebKit2-${WEBKITGTK_API_VERSION}.gir
> -+        DEPENDS WebKit2-${WEBKITGTK_API_VERSION}-gir
> -         COMMAND ${INTROSPECTION_COMPILER} --includedir=${CMAKE_BINARY_DIR} ${CMAKE_BINARY_DIR}/WebKit2-${WEBKITGTK_API_VERSION}.gir -o ${CMAKE_BINARY_DIR}/WebKit2-${WEBKITGTK_API_VERSION}.typelib
> -     )
> -
> diff --git a/meta/recipes-sato/webkit/webkitgtk/0001-When-building-introspection-files-add-CMAKE_C_FLAGS-.patch b/meta/recipes-sato/webkit/webkitgtk/0001-When-building-introspection-files-add-CMAKE_C_FLAGS-.patch
> deleted file mode 100644
> index 9e2bf09dd7..0000000000
> --- a/meta/recipes-sato/webkit/webkitgtk/0001-When-building-introspection-files-add-CMAKE_C_FLAGS-.patch
> +++ /dev/null
> @@ -1,52 +0,0 @@
> -From 8f1e170a6de8036ab50eb35834a77f2c79412ee3 Mon Sep 17 00:00:00 2001
> -From: Alexander Kanavin <alex.kanavin@gmail.com>
> -Date: Wed, 28 Oct 2015 14:18:57 +0200
> -Subject: [PATCH] When building introspection files, add CMAKE_C_FLAGS to the
> - compiler flags.
> -
> -g-ir-compiler is using a C compiler internally, so it needs to set
> -the proper flags for it.
> -
> -Upstream-Status: Submitted [https://bugs.webkit.org/show_bug.cgi?id=232936]
> -Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
> -
> ----
> - Source/JavaScriptCore/PlatformGTK.cmake | 2 +-
> - Source/WebKit/PlatformGTK.cmake         | 4 ++--
> - 2 files changed, 3 insertions(+), 3 deletions(-)
> -
> -diff --git a/Source/JavaScriptCore/PlatformGTK.cmake b/Source/JavaScriptCore/PlatformGTK.cmake
> -index 0b2968d2..2742ad80 100644
> ---- a/Source/JavaScriptCore/PlatformGTK.cmake
> -+++ b/Source/JavaScriptCore/PlatformGTK.cmake
> -@@ -71,7 +71,7 @@ if (ENABLE_INTROSPECTION)
> -     add_custom_command(
> -         OUTPUT ${CMAKE_BINARY_DIR}/JavaScriptCore-${WEBKITGTK_API_VERSION}.gir
> -         DEPENDS JavaScriptCore
> --        COMMAND CC=${CMAKE_C_COMPILER} CFLAGS=-Wno-deprecated-declarations LDFLAGS=
> -+        COMMAND CC=${CMAKE_C_COMPILER} CFLAGS=-Wno-deprecated-declarations\ ${CMAKE_C_FLAGS} LDFLAGS=
> -             ${LOADER_LIBRARY_PATH_VAR}="${INTROSPECTION_ADDITIONAL_LIBRARY_PATH}"
> -             ${INTROSPECTION_SCANNER}
> -             --quiet
> -diff --git a/Source/WebKit/PlatformGTK.cmake b/Source/WebKit/PlatformGTK.cmake
> -index e36e4c35..943f9794 100644
> ---- a/Source/WebKit/PlatformGTK.cmake
> -+++ b/Source/WebKit/PlatformGTK.cmake
> -@@ -742,7 +742,7 @@ if (ENABLE_INTROSPECTION)
> -         OUTPUT ${CMAKE_BINARY_DIR}/WebKit2-${WEBKITGTK_API_VERSION}.gir
> -         DEPENDS WebKit
> -         DEPENDS ${CMAKE_BINARY_DIR}/JavaScriptCore-${WEBKITGTK_API_VERSION}.gir
> --        COMMAND CC=${CMAKE_C_COMPILER} CFLAGS=-Wno-deprecated-declarations LDFLAGS=
> -+        COMMAND CC=${CMAKE_C_COMPILER} CFLAGS=-Wno-deprecated-declarations\ ${CMAKE_C_FLAGS} LDFLAGS=
> -             ${LOADER_LIBRARY_PATH_VAR}="${INTROSPECTION_ADDITIONAL_LIBRARY_PATH}"
> -             ${INTROSPECTION_SCANNER}
> -             --quiet
> -@@ -786,7 +786,7 @@ if (ENABLE_INTROSPECTION)
> -         OUTPUT ${CMAKE_BINARY_DIR}/WebKit2WebExtension-${WEBKITGTK_API_VERSION}.gir
> -         DEPENDS ${CMAKE_BINARY_DIR}/JavaScriptCore-${WEBKITGTK_API_VERSION}.gir
> -         DEPENDS ${CMAKE_BINARY_DIR}/WebKit2-${WEBKITGTK_API_VERSION}.gir
> --        COMMAND CC=${CMAKE_C_COMPILER} CFLAGS=-Wno-deprecated-declarations
> -+        COMMAND CC=${CMAKE_C_COMPILER} CFLAGS=-Wno-deprecated-declarations\ ${CMAKE_C_FLAGS}
> -             LDFLAGS="${INTROSPECTION_ADDITIONAL_LDFLAGS}"
> -             ${LOADER_LIBRARY_PATH_VAR}="${INTROSPECTION_ADDITIONAL_LIBRARY_PATH}"
> -             ${INTROSPECTION_SCANNER}
> diff --git a/meta/recipes-sato/webkit/webkitgtk/0001-When-building-introspection-files-do-not-quote-CFLAG.patch b/meta/recipes-sato/webkit/webkitgtk/0001-When-building-introspection-files-do-not-quote-CFLAG.patch
> new file mode 100644
> index 0000000000..3d02be9894
> --- /dev/null
> +++ b/meta/recipes-sato/webkit/webkitgtk/0001-When-building-introspection-files-do-not-quote-CFLAG.patch
> @@ -0,0 +1,78 @@
> +From 01f5ab0edf3dd8f76d37fd36c2dcd3108be33a7b Mon Sep 17 00:00:00 2001
> +From: Alexander Kanavin <alex@linutronix.de>
> +Date: Mon, 4 Apr 2022 21:20:05 +0200
> +Subject: [PATCH] When building introspection files, do not quote CFLAGS.
> +
> +This does not seem to be propagated to the compiler correctly:
> +
> +In file included from /srv/work/alex/poky/build-64-alt/tmp/work/core2-64-poky-linux/webkitgtk/2.36.0-r0/recipe-sysroot-native/usr/lib/x86_64-poky-linux/gcc/x86_64-poky-linux/11.2.0/include-fixed/syslimits.h:7,
> +                 from /srv/work/alex/poky/build-64-alt/tmp/work/core2-64-poky-linux/webkitgtk/2.36.0-r0/recipe-sysroot-native/usr/lib/x86_64-poky-linux/gcc/x86_64-poky-linux/11.2.0/include-fixed/limits.h:34,
> +                 from /srv/work/alex/poky/build-64-alt/tmp/work/core2-64-poky-linux/webkitgtk/2.36.0-r0/recipe-sysroot/usr/lib/glib-2.0/include/glibconfig.h:11,
> +                 from /srv/work/alex/poky/build-64-alt/tmp/work/core2-64-poky-linux/webkitgtk/2.36.0-r0/recipe-sysroot/usr/include/glib-2.0/glib/gtypes.h:32,
> +                 from /srv/work/alex/poky/build-64-alt/tmp/work/core2-64-poky-linux/webkitgtk/2.36.0-r0/recipe-sysroot/usr/include/glib-2.0/glib/galloca.h:32,
> +                 from /srv/work/alex/poky/build-64-alt/tmp/work/core2-64-poky-linux/webkitgtk/2.36.0-r0/recipe-sysroot/usr/include/glib-2.0/glib.h:30,
> +                 from /srv/work/alex/poky/build-64-alt/tmp/work/core2-64-poky-linux/webkitgtk/2.36.0-r0/build/Source/JavaScriptCore/tmp-introspectb51ks33n/JavaScriptCore-4.0.c:2:
> +/srv/work/alex/poky/build-64-alt/tmp/work/core2-64-poky-linux/webkitgtk/2.36.0-r0/recipe-sysroot-native/usr/lib/x86_64-poky-linux/gcc/x86_64-poky-linux/11.2.0/include-fixed/limits.h:203:75: error: no include path in which to search for limits.h
> +  203 | #include_next <limits.h>                /* recurse down to the real one */
> +      |                                                                           ^
> +In file included from /srv/work/alex/poky/build-64-alt/tmp/work/core2-64-poky-linux/webkitgtk/2.36.0-r0/recipe-sysroot/usr/include/glib-2.0/glib/galloca.h:32,
> +                 from /srv/work/alex/poky/build-64-alt/tmp/work/core2-64-poky-linux/webkitgtk/2.36.0-r0/recipe-sysroot/usr/include/glib-2.0/glib.h:30,
> +                 from /srv/work/alex/poky/build-64-alt/tmp/work/core2-64-poky-linux/webkitgtk/2.36.0-r0/build/Source/JavaScriptCore/tmp-introspectb51ks33n/JavaScriptCore-4.0.c:2:
> +/srv/work/alex/poky/build-64-alt/tmp/work/core2-64-poky-linux/webkitgtk/2.36.0-r0/recipe-sysroot/usr/include/glib-2.0/glib/gtypes.h:35:10: fatal error: time.h: No such file or directory
> +   35 | #include <time.h>
> +      |          ^~~~~~~~
> +compilation terminated.
> +Traceback (most recent call last):
> +  File "/srv/work/alex/poky/build-64-alt/tmp/work/core2-64-poky-linux/webkitgtk/2.36.0-r0/recipe-sysroot-native/usr/lib/python3.10/distutils/unixccompiler.py", line 117, in _compile
> +    self.spawn(compiler_so + cc_args + [src, '-o', obj] +
> +  File "/srv/work/alex/poky/build-64-alt/tmp/work/core2-64-poky-linux/webkitgtk/2.36.0-r0/recipe-sysroot-native/usr/lib/python3.10/distutils/ccompiler.py", line 910, in spawn
> +    spawn(cmd, dry_run=self.dry_run)
> +  File "/srv/work/alex/poky/build-64-alt/tmp/work/core2-64-poky-linux/webkitgtk/2.36.0-r0/recipe-sysroot-native/usr/lib/python3.10/distutils/spawn.py", line 91, in spawn
> +    raise DistutilsExecError(
> +distutils.errors.DistutilsExecError: command '/srv/work/alex/poky/build-64-alt/tmp/work/core2-64-poky-linux/webkitgtk/2.36.0-r0/recipe-sysroot-native/usr/bin/x86_64-poky-linux/x86_64-poky-linux-gcc' failed with exit code 1
> +
> +Upstream-Status: Inappropriate [upstream has rewritten the whole thing as of https://github.com/WebKit/WebKit/commit/b0ae032850bb6b2672051bab8032fc9f9ef5eb97]
> +Signed-off-by: Alexander Kanavin <alex@linutronix.de>
> +---
> + Source/JavaScriptCore/PlatformGTK.cmake | 2 +-
> + Source/WebKit/PlatformGTK.cmake         | 4 ++--
> + 2 files changed, 3 insertions(+), 3 deletions(-)
> +
> +diff --git a/Source/JavaScriptCore/PlatformGTK.cmake b/Source/JavaScriptCore/PlatformGTK.cmake
> +index 1c3c8fb7..efd18807 100644
> +--- a/Source/JavaScriptCore/PlatformGTK.cmake
> ++++ b/Source/JavaScriptCore/PlatformGTK.cmake
> +@@ -71,7 +71,7 @@ if (ENABLE_INTROSPECTION)
> +     add_custom_command(
> +         OUTPUT ${CMAKE_BINARY_DIR}/JavaScriptCore-${WEBKITGTK_API_VERSION}.gir
> +         DEPENDS JavaScriptCore
> +-        COMMAND CC=${CMAKE_C_COMPILER} CFLAGS="-Wno-deprecated-declarations ${CMAKE_C_FLAGS}" LDFLAGS=
> ++        COMMAND CC=${CMAKE_C_COMPILER} CFLAGS=-Wno-deprecated-declarations\ ${CMAKE_C_FLAGS} LDFLAGS=
> +             ${LOADER_LIBRARY_PATH_VAR}="${INTROSPECTION_ADDITIONAL_LIBRARY_PATH}"
> +             ${INTROSPECTION_SCANNER}
> +             --quiet
> +diff --git a/Source/WebKit/PlatformGTK.cmake b/Source/WebKit/PlatformGTK.cmake
> +index 48d1820d..ded05035 100644
> +--- a/Source/WebKit/PlatformGTK.cmake
> ++++ b/Source/WebKit/PlatformGTK.cmake
> +@@ -675,7 +675,7 @@ if (ENABLE_INTROSPECTION)
> +     add_custom_target(WebKit2-${WEBKITGTK_API_VERSION}-gir
> +         DEPENDS WebKit
> +         DEPENDS ${CMAKE_BINARY_DIR}/JavaScriptCore-${WEBKITGTK_API_VERSION}.gir
> +-        COMMAND CC=${CMAKE_C_COMPILER} CFLAGS="-Wno-deprecated-declarations ${CMAKE_C_FLAGS}" LDFLAGS=
> ++        COMMAND CC=${CMAKE_C_COMPILER} CFLAGS=-Wno-deprecated-declarations\ ${CMAKE_C_FLAGS} LDFLAGS=
> +             ${LOADER_LIBRARY_PATH_VAR}="${INTROSPECTION_ADDITIONAL_LIBRARY_PATH}"
> +             ${INTROSPECTION_SCANNER}
> +             --quiet
> +@@ -721,7 +721,7 @@ if (ENABLE_INTROSPECTION)
> +         OUTPUT ${CMAKE_BINARY_DIR}/WebKit2WebExtension-${WEBKITGTK_API_VERSION}.gir
> +         DEPENDS ${CMAKE_BINARY_DIR}/JavaScriptCore-${WEBKITGTK_API_VERSION}.gir
> +         DEPENDS WebKit2-${WEBKITGTK_API_VERSION}-gir
> +-        COMMAND CC=${CMAKE_C_COMPILER} CFLAGS="-Wno-deprecated-declarations ${CMAKE_C_FLAGS}"
> ++        COMMAND CC=${CMAKE_C_COMPILER} CFLAGS=-Wno-deprecated-declarations\ ${CMAKE_C_FLAGS}
> +             LDFLAGS="${INTROSPECTION_ADDITIONAL_LDFLAGS}"
> +             ${LOADER_LIBRARY_PATH_VAR}="${INTROSPECTION_ADDITIONAL_LIBRARY_PATH}"
> +             ${INTROSPECTION_SCANNER}
> +--
> +2.30.2
> +
> diff --git a/meta/recipes-sato/webkit/webkitgtk/reduce-memory-overheads.patch b/meta/recipes-sato/webkit/webkitgtk/reduce-memory-overheads.patch
> deleted file mode 100644
> index 907d36c4cd..0000000000
> --- a/meta/recipes-sato/webkit/webkitgtk/reduce-memory-overheads.patch
> +++ /dev/null
> @@ -1,28 +0,0 @@
> -From ec6045fcf5a46123b54029a675d08d89a5e30f21 Mon Sep 17 00:00:00 2001
> -From: Alberto Garcia <berto@igalia.com>
> -Date: Sun, 25 Apr 2021 18:45:13 +0000
> -Subject: [PATCH] Reduce memory usage when not using the Gold linker
> -
> -Upstream-Status: Submitted [https://bugs.webkit.org/show_bug.cgi?id=232938]
> -Signed-off-by: Khem Raj <raj.khem@gmail.com>
> -
> ----
> - Source/cmake/OptionsCommon.cmake | 5 +++++
> - 1 file changed, 5 insertions(+)
> -
> -diff --git a/Source/cmake/OptionsCommon.cmake b/Source/cmake/OptionsCommon.cmake
> -index dd4da682..71ad6106 100644
> ---- a/Source/cmake/OptionsCommon.cmake
> -+++ b/Source/cmake/OptionsCommon.cmake
> -@@ -101,6 +101,11 @@ option(GCC_OFFLINEASM_SOURCE_MAP
> -   ${GCC_OFFLINEASM_SOURCE_MAP_DEFAULT})
> -
> - option(USE_APPLE_ICU "Use Apple's internal ICU" ${APPLE})
> -+# Pass --reduce-memory-overheads to the bfd linker in order to save memory
> -+if (NOT USE_LD_GOLD)
> -+    set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--reduce-memory-overheads")
> -+    set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--reduce-memory-overheads")
> -+endif ()
> -
> - # Enable the usage of OpenMP.
> - #  - At this moment, OpenMP is only used as an alternative implementation
> diff --git a/meta/recipes-sato/webkit/webkitgtk_2.34.6.bb b/meta/recipes-sato/webkit/webkitgtk_2.36.0.bb
> similarity index 95%
> rename from meta/recipes-sato/webkit/webkitgtk_2.34.6.bb
> rename to meta/recipes-sato/webkit/webkitgtk_2.36.0.bb
> index 6870eed525..09d4493370 100644
> --- a/meta/recipes-sato/webkit/webkitgtk_2.34.6.bb
> +++ b/meta/recipes-sato/webkit/webkitgtk_2.36.0.bb
> @@ -11,15 +11,13 @@ LIC_FILES_CHKSUM = "file://Source/JavaScriptCore/COPYING.LIB;md5=d0c6d6397a5d842
>
>  SRC_URI = "https://www.webkitgtk.org/releases/${BPN}-${PV}.tar.xz \
>             file://0001-FindGObjectIntrospection.cmake-prefix-variables-obta.patch \
> -           file://0001-When-building-introspection-files-add-CMAKE_C_FLAGS-.patch \
> -           file://0001-Fix-racy-parallel-build-of-WebKit2-4.0.gir.patch \
>             file://0001-Tweak-gtkdoc-settings-so-that-gtkdoc-generation-work.patch \
> -           file://reduce-memory-overheads.patch \
>             file://0001-Fix-build-without-opengl-or-es.patch \
>             file://reproducibility.patch \
> +           file://0001-When-building-introspection-files-do-not-quote-CFLAG.patch \
>             "
>
> -SRC_URI[sha256sum] = "6bc8fd034aad0432a2459ce4fc7ee25ad65a4924c618bf8d93b52b0c1a84c1f6"
> +SRC_URI[sha256sum] = "b877cca1f105235f5dd57c7ac2b2c2be3c6b691ff444f93925c7254cf156c64d"
>
>  inherit cmake pkgconfig gobject-introspection perlnative features_check upstream-version-is-even gtk-doc
>
> @@ -47,7 +45,7 @@ DEPENDS = " \
>  PACKAGECONFIG_SOUP ?= "soup2"
>  PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd wayland x11', d)} \
>                     ${@bb.utils.contains('DISTRO_FEATURES', 'x11 opengl', 'webgl opengl', '', d)} \
> -                   ${@bb.utils.contains('DISTRO_FEATURES', 'x11', '', 'webgl gles2 angle', d)} \
> +                   ${@bb.utils.contains('DISTRO_FEATURES', 'x11', '', 'webgl gles2', d)} \
>                     ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'opengl-or-es', '', d)} \
>                     enchant \
>                     libsecret \
> @@ -72,6 +70,7 @@ PACKAGECONFIG[reduce-size] = "-DCMAKE_BUILD_TYPE=MinSizeRel,-DCMAKE_BUILD_TYPE=R
>  PACKAGECONFIG[lcms] = "-DUSE_LCMS=ON,-DUSE_LCMS=OFF,lcms"
>  PACKAGECONFIG[soup2] = "-DUSE_SOUP2=ON,-DUSE_SOUP2=OFF,libsoup-2.4,,,soup3"
>  PACKAGECONFIG[soup3] = ",,libsoup,,,soup2"
> +PACKAGECONFIG[journald] = "-DENABLE_JOURNALD_LOG=ON,-DENABLE_JOURNALD_LOG=OFF,systemd"
>
>  # webkitgtk is full of /usr/bin/env python, particular for generating docs
>  do_configure[postfuncs] += "setup_python_link"
> --
> 2.30.2
>
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#164127): https://lists.openembedded.org/g/openembedded-core/message/164127
> Mute This Topic: https://lists.openembedded.org/mt/90317731/1997914
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [raj.khem@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>


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

* Re: [OE-core] [PATCH 01/17] connman-conf: ignore eth0 in qemu in a way that is not sysvinit-specific
  2022-04-07 17:00 [PATCH 01/17] connman-conf: ignore eth0 in qemu in a way that is not sysvinit-specific Alexander Kanavin
                   ` (15 preceding siblings ...)
  2022-04-07 17:00 ` [PATCH 17/17] python3-typing-extensions: upgrade 3.10.0.0 -> 4.1.1 Alexander Kanavin
@ 2022-04-20 20:05 ` Steve Sakoman
  2022-04-20 21:00   ` Richard Purdie
  16 siblings, 1 reply; 31+ messages in thread
From: Steve Sakoman @ 2022-04-20 20:05 UTC (permalink / raw)
  To: Alexander Kanavin; +Cc: openembedded-core, Alexander Kanavin

I still occasionally get the ping error on dunfell autobuilder runs,
so I suspect it needs something similar to this patch.

I'm not conman literate, so if someone who is can create a patch for
dunfell I would be most appreciative!  The recipe differences between
master and dunfell are great enough that I don't trust myself :-)

Steve

On Thu, Apr 7, 2022 at 7:00 AM Alexander Kanavin <alex.kanavin@gmail.com> wrote:
>
> Signed-off-by: Alexander Kanavin <alex@linutronix.de>
> ---
>  meta/recipes-connectivity/connman/connman-conf.bb        | 7 +++++--
>  meta/recipes-connectivity/connman/connman-conf/main.conf | 2 ++
>  2 files changed, 7 insertions(+), 2 deletions(-)
>  create mode 100644 meta/recipes-connectivity/connman/connman-conf/main.conf
>
> diff --git a/meta/recipes-connectivity/connman/connman-conf.bb b/meta/recipes-connectivity/connman/connman-conf.bb
> index 6b9207c4cb..7959ed8e50 100644
> --- a/meta/recipes-connectivity/connman/connman-conf.bb
> +++ b/meta/recipes-connectivity/connman/connman-conf.bb
> @@ -6,6 +6,9 @@ LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/GPL-2.0-only;m
>
>  PR = "r2"
>
> +SRC_URI = "file://main.conf \
> +          "
> +
>  S = "${WORKDIR}"
>
>  PACKAGE_ARCH = "${MACHINE_ARCH}"
> @@ -14,6 +17,6 @@ FILES:${PN} = "${sysconfdir}/*"
>
>  # Kernel IP-Config is perfectly capable of setting up networking passed in via ip=
>  do_install:append:qemuall() {
> -    mkdir -p ${D}${sysconfdir}/default
> -    echo "export EXTRA_PARAM=\"-I eth0\"" > ${D}${sysconfdir}/default/connman
> +    mkdir -p ${D}${sysconfdir}/connman
> +    cp ${S}/main.conf ${D}${sysconfdir}/connman/main.conf
>  }
> diff --git a/meta/recipes-connectivity/connman/connman-conf/main.conf b/meta/recipes-connectivity/connman/connman-conf/main.conf
> new file mode 100644
> index 0000000000..a394e8f25b
> --- /dev/null
> +++ b/meta/recipes-connectivity/connman/connman-conf/main.conf
> @@ -0,0 +1,2 @@
> +[General]
> +NetworkInterfaceBlacklist = eth0
> --
> 2.30.2
>
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#164117): https://lists.openembedded.org/g/openembedded-core/message/164117
> Mute This Topic: https://lists.openembedded.org/mt/90317717/3620601
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [steve@sakoman.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>


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

* Re: [OE-core] [PATCH 01/17] connman-conf: ignore eth0 in qemu in a way that is not sysvinit-specific
  2022-04-20 20:05 ` [OE-core] [PATCH 01/17] connman-conf: ignore eth0 in qemu in a way that is not sysvinit-specific Steve Sakoman
@ 2022-04-20 21:00   ` Richard Purdie
  0 siblings, 0 replies; 31+ messages in thread
From: Richard Purdie @ 2022-04-20 21:00 UTC (permalink / raw)
  To: Steve Sakoman, Alexander Kanavin; +Cc: openembedded-core, Alexander Kanavin

On Wed, 2022-04-20 at 10:05 -1000, Steve Sakoman wrote:
> I still occasionally get the ping error on dunfell autobuilder runs,
> so I suspect it needs something similar to this patch.
> 
> I'm not conman literate, so if someone who is can create a patch for
> dunfell I would be most appreciative!  The recipe differences between
> master and dunfell are great enough that I don't trust myself :-)

Also note that this did require meta-agl to make changes to their layer to adapt
to what core did...

Cheers,

Richard



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

end of thread, other threads:[~2022-04-21 16:46 UTC | newest]

Thread overview: 31+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-04-07 17:00 [PATCH 01/17] connman-conf: ignore eth0 in qemu in a way that is not sysvinit-specific Alexander Kanavin
2022-04-07 17:00 ` [PATCH 02/17] llvm: update 13.0.1 -> 14.0.0 Alexander Kanavin
2022-04-08  7:03   ` [OE-core] " Richard Purdie
2022-04-08  8:12     ` Alexander Kanavin
2022-04-07 17:00 ` [PATCH 03/17] llvm: use default install paths Alexander Kanavin
2022-04-07 17:00 ` [PATCH 04/17] squashfs-tools: update 4.5 -> 4.5.1 Alexander Kanavin
2022-04-07 19:55   ` [OE-core] " Khem Raj
2022-04-07 19:59     ` Alexander Kanavin
2022-04-07 20:04       ` Khem Raj
2022-04-07 17:00 ` [PATCH 05/17] go-helloworld: update to latest revision Alexander Kanavin
2022-04-07 17:00 ` [PATCH 06/17] piglit: " Alexander Kanavin
2022-04-07 17:00 ` [PATCH 07/17] vulkan-samples: " Alexander Kanavin
2022-04-07 17:00 ` [PATCH 08/17] libxvmc: update 1.0.12 -> 1.0.13 Alexander Kanavin
2022-04-07 17:00 ` [PATCH 09/17] libsndfile1: update 1.0.31 -> 1.1.0 Alexander Kanavin
2022-04-07 17:00 ` [PATCH 10/17] at-spi2-core: update 2.42.0 -> 2.44.0 Alexander Kanavin
2022-04-07 17:00 ` [PATCH 11/17] webkitgtk: update 2.34.6 -> 2.36.0 Alexander Kanavin
2022-04-09  3:25   ` [OE-core] " Khem Raj
2022-04-07 17:00 ` [PATCH 12/17] cmake: update 3.22.3 -> 3.23.0 Alexander Kanavin
2022-04-07 17:00 ` [PATCH 13/17] epiphany: upgrade 41.3 -> 42.0 Alexander Kanavin
2022-04-07 17:00 ` [PATCH 14/17] gdk-pixbuf: upgrade 2.42.6 -> 2.42.8 Alexander Kanavin
2022-04-07 17:00 ` [PATCH 15/17] libgcrypt: upgrade 1.9.4 -> 1.10.1 Alexander Kanavin
2022-04-07 19:46   ` [OE-core] " Khem Raj
2022-04-07 19:56     ` Alexander Kanavin
2022-04-07 17:00 ` [PATCH 16/17] librsvg: upgrade 2.52.7 -> 2.54.0 Alexander Kanavin
2022-04-07 17:00 ` [PATCH 17/17] python3-typing-extensions: upgrade 3.10.0.0 -> 4.1.1 Alexander Kanavin
2022-04-07 19:43   ` [OE-core] " Khem Raj
2022-04-07 19:45     ` Alexander Kanavin
2022-04-07 19:59       ` Khem Raj
2022-04-07 21:14       ` Richard Purdie
2022-04-20 20:05 ` [OE-core] [PATCH 01/17] connman-conf: ignore eth0 in qemu in a way that is not sysvinit-specific Steve Sakoman
2022-04-20 21:00   ` Richard Purdie

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.