From: Ross Burton Date: Mon, 9 Jun 2025 11:19:41 +0000 (+0100) Subject: squashfs-tools: update to 4.7 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=d588d0fbd8360cc999badaf4c4888be983c14b14;p=thirdparty%2Fopenembedded%2Fopenembedded-core-contrib.git squashfs-tools: update to 4.7 The REPRODUCIBLE_DEFAULT option was removed in 4.7[1]. Backport a patch to fix missing pthread typedefs, and a patch to fix missing pid_t typedefs. Also clean up the tasks to be neater and more concise. [1] squash-tools ae9914d15293af7c596148aedd997b3058e35d9e Signed-off-by: Ross Burton Signed-off-by: Richard Purdie --- diff --git a/meta/recipes-devtools/squashfs-tools/squashfs-tools/pid.patch b/meta/recipes-devtools/squashfs-tools/squashfs-tools/pid.patch new file mode 100644 index 00000000000..a15b6211248 --- /dev/null +++ b/meta/recipes-devtools/squashfs-tools/squashfs-tools/pid.patch @@ -0,0 +1,40 @@ +From 05a895b3f996d1ac157d95b04980f5f047e7dbf7 Mon Sep 17 00:00:00 2001 +From: Ross Burton +Date: Fri, 6 Jun 2025 15:23:07 +0100 +Subject: [PATCH] print_pager: add missing includes + +When building with musl: + + print_pager.h:33:25: error: unknown type name 'pid_t' + 33 | extern void wait_to_die(pid_t process); + | ^~~~~ + print_pager.h:34:25: error: unknown type name 'pid_t' + 34 | extern FILE *exec_pager(pid_t *process); + | ^~~~~ + +print_pager.h uses pid_t and FILE, so add the required #includes to +ensure that these are defined. + +Upstream-Status: Submitted [https://github.com/plougher/squashfs-tools/pull/314] +Signed-off-by: Ross Burton +--- + squashfs-tools/print_pager.h | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/squashfs-tools/print_pager.h b/squashfs-tools/print_pager.h +index c33d4d2e..f3e0da6c 100644 +--- a/squashfs-tools/print_pager.h ++++ b/squashfs-tools/print_pager.h +@@ -30,6 +30,9 @@ + #define MORE_PAGER 2 + #define UNKNOWN_PAGER 3 + ++#include ++#include ++ + extern void wait_to_die(pid_t process); + extern FILE *exec_pager(pid_t *process); + extern int get_column_width(); +-- +2.43.0 + diff --git a/meta/recipes-devtools/squashfs-tools/squashfs-tools/thread.patch b/meta/recipes-devtools/squashfs-tools/squashfs-tools/thread.patch new file mode 100644 index 00000000000..01741639c03 --- /dev/null +++ b/meta/recipes-devtools/squashfs-tools/squashfs-tools/thread.patch @@ -0,0 +1,33 @@ +From b6e9f4b62cc3e762ceeddc0fc099f7d65f7b7361 Mon Sep 17 00:00:00 2001 +From: Shiji Yang +Date: Wed, 4 Jun 2025 19:53:39 +0800 +Subject: [PATCH] thread: add the missing pthread.h header + +Fix build error on macos: + +In file included from mksquashfs_help.c:35: +./thread.h:46:39: error: unknown type name 'pthread_mutex_t'; did you mean 'pthread_attr_t'? + 46 | extern void wait_thread_idle(int tid, pthread_mutex_t *mutex); + | ^~~~~~~~~~~~~~~ + | pthread_attr_t + +Signed-off-by: Shiji Yang + +Upstream-Status: Backport [b6e9f4b62cc3e762ceeddc0fc099f7d65f7b7361] +Signed-off-by: Ross Burton +--- + squashfs-tools/thread.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/squashfs-tools/thread.h b/squashfs-tools/thread.h +index 5a22fc43..e56a58cf 100644 +--- a/squashfs-tools/thread.h ++++ b/squashfs-tools/thread.h +@@ -22,6 +22,7 @@ + * + * thread.h + */ ++#include + + #define TRUE 1 + #define FALSE 0 diff --git a/meta/recipes-devtools/squashfs-tools/squashfs-tools_4.6.1.bb b/meta/recipes-devtools/squashfs-tools/squashfs-tools_4.7.bb similarity index 77% rename from meta/recipes-devtools/squashfs-tools/squashfs-tools_4.6.1.bb rename to meta/recipes-devtools/squashfs-tools/squashfs-tools_4.7.bb index 51a2fbdb934..3eb7ad46e94 100644 --- a/meta/recipes-devtools/squashfs-tools/squashfs-tools_4.6.1.bb +++ b/meta/recipes-devtools/squashfs-tools/squashfs-tools_4.7.bb @@ -7,8 +7,10 @@ SECTION = "base" LICENSE = "GPL-2.0-only" LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" -SRC_URI = "git://github.com/plougher/squashfs-tools.git;protocol=https;branch=v6.1.1" -SRCREV = "d8cb82d9840330f9344ec37b992595b5d7b44184" +SRC_URI = "git://github.com/plougher/squashfs-tools.git;protocol=https;branch=master;tag=${PV} \ + file://pid.patch \ + file://thread.patch" +SRCREV = "2e87d42ed089dc31990d83eeb07437b9d085d6d1" UPSTREAM_CHECK_GITTAGREGEX = "(?P(\d+(\.\d+)+))" @@ -16,7 +18,7 @@ S = "${WORKDIR}/git" EXTRA_OEMAKE = "${PACKAGECONFIG_CONFARGS}" -PACKAGECONFIG ??= "gzip xz lzo lz4 lzma xattr zstd reproducible" +PACKAGECONFIG ??= "gzip xz lzo lz4 lzma xattr zstd" PACKAGECONFIG[gzip] = "GZIP_SUPPORT=1,GZIP_SUPPORT=0,zlib" PACKAGECONFIG[xz] = "XZ_SUPPORT=1,XZ_SUPPORT=0,xz" PACKAGECONFIG[lzo] = "LZO_SUPPORT=1,LZO_SUPPORT=0,lzo" @@ -24,17 +26,15 @@ PACKAGECONFIG[lz4] = "LZ4_SUPPORT=1,LZ4_SUPPORT=0,lz4" PACKAGECONFIG[lzma] = "LZMA_XZ_SUPPORT=1,LZMA_XZ_SUPPORT=0,xz" PACKAGECONFIG[xattr] = "XATTR_SUPPORT=1,XATTR_SUPPORT=0,attr" 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 + oe_runmake -C ${S}/squashfs-tools all } do_install() { - cd ${S}/squashfs-tools + oe_runmake -C ${S}/squashfs-tools install INSTALL_PREFIX=${D}${prefix} INSTALL_MANPAGES_DIR=${D}${datadir}/man/man1 + install -d "${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}" }