summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRoss Burton <ross.burton@arm.com>2025-06-09 12:19:41 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2025-06-12 11:03:43 +0100
commitb1eaa3979709b43007965a78fb15eefc3d3d70bc (patch)
treefec61e6bdfb56ee1f7419ec152576d1a33272381
parentfe0b0ae0818829b05ac28ff20d2d1e2b70932665 (diff)
downloadpoky-b1eaa3979709b43007965a78fb15eefc3d3d70bc.tar.gz
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 (From OE-Core rev: d588d0fbd8360cc999badaf4c4888be983c14b14) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/recipes-devtools/squashfs-tools/squashfs-tools/pid.patch40
-rw-r--r--meta/recipes-devtools/squashfs-tools/squashfs-tools/thread.patch33
-rw-r--r--meta/recipes-devtools/squashfs-tools/squashfs-tools_4.7.bb (renamed from meta/recipes-devtools/squashfs-tools/squashfs-tools_4.6.1.bb)16
3 files changed, 81 insertions, 8 deletions
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 0000000000..a15b621124
--- /dev/null
+++ b/meta/recipes-devtools/squashfs-tools/squashfs-tools/pid.patch
@@ -0,0 +1,40 @@
1From 05a895b3f996d1ac157d95b04980f5f047e7dbf7 Mon Sep 17 00:00:00 2001
2From: Ross Burton <ross.burton@arm.com>
3Date: Fri, 6 Jun 2025 15:23:07 +0100
4Subject: [PATCH] print_pager: add missing includes
5
6When building with musl:
7
8 print_pager.h:33:25: error: unknown type name 'pid_t'
9 33 | extern void wait_to_die(pid_t process);
10 | ^~~~~
11 print_pager.h:34:25: error: unknown type name 'pid_t'
12 34 | extern FILE *exec_pager(pid_t *process);
13 | ^~~~~
14
15print_pager.h uses pid_t and FILE, so add the required #includes to
16ensure that these are defined.
17
18Upstream-Status: Submitted [https://github.com/plougher/squashfs-tools/pull/314]
19Signed-off-by: Ross Burton <ross.burton@arm.com>
20---
21 squashfs-tools/print_pager.h | 3 +++
22 1 file changed, 3 insertions(+)
23
24diff --git a/squashfs-tools/print_pager.h b/squashfs-tools/print_pager.h
25index c33d4d2e..f3e0da6c 100644
26--- a/squashfs-tools/print_pager.h
27+++ b/squashfs-tools/print_pager.h
28@@ -30,6 +30,9 @@
29 #define MORE_PAGER 2
30 #define UNKNOWN_PAGER 3
31
32+#include <stdio.h>
33+#include <sys/types.h>
34+
35 extern void wait_to_die(pid_t process);
36 extern FILE *exec_pager(pid_t *process);
37 extern int get_column_width();
38--
392.43.0
40
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 0000000000..01741639c0
--- /dev/null
+++ b/meta/recipes-devtools/squashfs-tools/squashfs-tools/thread.patch
@@ -0,0 +1,33 @@
1From b6e9f4b62cc3e762ceeddc0fc099f7d65f7b7361 Mon Sep 17 00:00:00 2001
2From: Shiji Yang <yangshiji66@outlook.com>
3Date: Wed, 4 Jun 2025 19:53:39 +0800
4Subject: [PATCH] thread: add the missing pthread.h header
5
6Fix build error on macos:
7
8In file included from mksquashfs_help.c:35:
9./thread.h:46:39: error: unknown type name 'pthread_mutex_t'; did you mean 'pthread_attr_t'?
10 46 | extern void wait_thread_idle(int tid, pthread_mutex_t *mutex);
11 | ^~~~~~~~~~~~~~~
12 | pthread_attr_t
13
14Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
15
16Upstream-Status: Backport [b6e9f4b62cc3e762ceeddc0fc099f7d65f7b7361]
17Signed-off-by: Ross Burton <ross.burton@arm.com>
18---
19 squashfs-tools/thread.h | 1 +
20 1 file changed, 1 insertion(+)
21
22diff --git a/squashfs-tools/thread.h b/squashfs-tools/thread.h
23index 5a22fc43..e56a58cf 100644
24--- a/squashfs-tools/thread.h
25+++ b/squashfs-tools/thread.h
26@@ -22,6 +22,7 @@
27 *
28 * thread.h
29 */
30+#include <pthread.h>
31
32 #define TRUE 1
33 #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
index 51a2fbdb93..3eb7ad46e9 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"
7LICENSE = "GPL-2.0-only" 7LICENSE = "GPL-2.0-only"
8LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" 8LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
9 9
10SRC_URI = "git://github.com/plougher/squashfs-tools.git;protocol=https;branch=v6.1.1" 10SRC_URI = "git://github.com/plougher/squashfs-tools.git;protocol=https;branch=master;tag=${PV} \
11SRCREV = "d8cb82d9840330f9344ec37b992595b5d7b44184" 11 file://pid.patch \
12 file://thread.patch"
13SRCREV = "2e87d42ed089dc31990d83eeb07437b9d085d6d1"
12 14
13UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>(\d+(\.\d+)+))" 15UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>(\d+(\.\d+)+))"
14 16
@@ -16,7 +18,7 @@ S = "${WORKDIR}/git"
16 18
17EXTRA_OEMAKE = "${PACKAGECONFIG_CONFARGS}" 19EXTRA_OEMAKE = "${PACKAGECONFIG_CONFARGS}"
18 20
19PACKAGECONFIG ??= "gzip xz lzo lz4 lzma xattr zstd reproducible" 21PACKAGECONFIG ??= "gzip xz lzo lz4 lzma xattr zstd"
20PACKAGECONFIG[gzip] = "GZIP_SUPPORT=1,GZIP_SUPPORT=0,zlib" 22PACKAGECONFIG[gzip] = "GZIP_SUPPORT=1,GZIP_SUPPORT=0,zlib"
21PACKAGECONFIG[xz] = "XZ_SUPPORT=1,XZ_SUPPORT=0,xz" 23PACKAGECONFIG[xz] = "XZ_SUPPORT=1,XZ_SUPPORT=0,xz"
22PACKAGECONFIG[lzo] = "LZO_SUPPORT=1,LZO_SUPPORT=0,lzo" 24PACKAGECONFIG[lzo] = "LZO_SUPPORT=1,LZO_SUPPORT=0,lzo"
@@ -24,17 +26,15 @@ PACKAGECONFIG[lz4] = "LZ4_SUPPORT=1,LZ4_SUPPORT=0,lz4"
24PACKAGECONFIG[lzma] = "LZMA_XZ_SUPPORT=1,LZMA_XZ_SUPPORT=0,xz" 26PACKAGECONFIG[lzma] = "LZMA_XZ_SUPPORT=1,LZMA_XZ_SUPPORT=0,xz"
25PACKAGECONFIG[xattr] = "XATTR_SUPPORT=1,XATTR_SUPPORT=0,attr" 27PACKAGECONFIG[xattr] = "XATTR_SUPPORT=1,XATTR_SUPPORT=0,attr"
26PACKAGECONFIG[zstd] = "ZSTD_SUPPORT=1,ZSTD_SUPPORT=0,zstd" 28PACKAGECONFIG[zstd] = "ZSTD_SUPPORT=1,ZSTD_SUPPORT=0,zstd"
27PACKAGECONFIG[reproducible] = "REPRODUCIBLE_DEFAULT=1,REPRODUCIBLE_DEFAULT=0,"
28 29
29do_compile() { 30do_compile() {
30 cd ${S}/squashfs-tools 31 oe_runmake -C ${S}/squashfs-tools all
31 oe_runmake all
32} 32}
33 33
34do_install() { 34do_install() {
35 cd ${S}/squashfs-tools 35 oe_runmake -C ${S}/squashfs-tools install INSTALL_PREFIX=${D}${prefix} INSTALL_MANPAGES_DIR=${D}${datadir}/man/man1
36
36 install -d "${D}${includedir}" 37 install -d "${D}${includedir}"
37 oe_runmake install INSTALL_PREFIX=${D}${prefix} INSTALL_MANPAGES_DIR=${D}${datadir}/man/man1
38 install -m 0644 "${S}"/squashfs-tools/squashfs_fs.h "${D}${includedir}" 38 install -m 0644 "${S}"/squashfs-tools/squashfs_fs.h "${D}${includedir}"
39} 39}
40 40