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>
This commit is contained in:
Ross Burton 2025-06-09 12:19:41 +01:00 committed by Richard Purdie
parent fe0b0ae081
commit b1eaa39797
3 changed files with 81 additions and 8 deletions

View File

@ -0,0 +1,40 @@
From 05a895b3f996d1ac157d95b04980f5f047e7dbf7 Mon Sep 17 00:00:00 2001
From: Ross Burton <ross.burton@arm.com>
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 <ross.burton@arm.com>
---
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 <stdio.h>
+#include <sys/types.h>
+
extern void wait_to_die(pid_t process);
extern FILE *exec_pager(pid_t *process);
extern int get_column_width();
--
2.43.0

View File

@ -0,0 +1,33 @@
From b6e9f4b62cc3e762ceeddc0fc099f7d65f7b7361 Mon Sep 17 00:00:00 2001
From: Shiji Yang <yangshiji66@outlook.com>
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 <yangshiji66@outlook.com>
Upstream-Status: Backport [b6e9f4b62cc3e762ceeddc0fc099f7d65f7b7361]
Signed-off-by: Ross Burton <ross.burton@arm.com>
---
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 <pthread.h>
#define TRUE 1
#define FALSE 0

View File

@ -7,8 +7,10 @@ SECTION = "base"
LICENSE = "GPL-2.0-only" LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
SRC_URI = "git://github.com/plougher/squashfs-tools.git;protocol=https;branch=v6.1.1" SRC_URI = "git://github.com/plougher/squashfs-tools.git;protocol=https;branch=master;tag=${PV} \
SRCREV = "d8cb82d9840330f9344ec37b992595b5d7b44184" file://pid.patch \
file://thread.patch"
SRCREV = "2e87d42ed089dc31990d83eeb07437b9d085d6d1"
UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>(\d+(\.\d+)+))" UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>(\d+(\.\d+)+))"
@ -16,7 +18,7 @@ S = "${WORKDIR}/git"
EXTRA_OEMAKE = "${PACKAGECONFIG_CONFARGS}" 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[gzip] = "GZIP_SUPPORT=1,GZIP_SUPPORT=0,zlib"
PACKAGECONFIG[xz] = "XZ_SUPPORT=1,XZ_SUPPORT=0,xz" PACKAGECONFIG[xz] = "XZ_SUPPORT=1,XZ_SUPPORT=0,xz"
PACKAGECONFIG[lzo] = "LZO_SUPPORT=1,LZO_SUPPORT=0,lzo" 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[lzma] = "LZMA_XZ_SUPPORT=1,LZMA_XZ_SUPPORT=0,xz"
PACKAGECONFIG[xattr] = "XATTR_SUPPORT=1,XATTR_SUPPORT=0,attr" PACKAGECONFIG[xattr] = "XATTR_SUPPORT=1,XATTR_SUPPORT=0,attr"
PACKAGECONFIG[zstd] = "ZSTD_SUPPORT=1,ZSTD_SUPPORT=0,zstd" PACKAGECONFIG[zstd] = "ZSTD_SUPPORT=1,ZSTD_SUPPORT=0,zstd"
PACKAGECONFIG[reproducible] = "REPRODUCIBLE_DEFAULT=1,REPRODUCIBLE_DEFAULT=0,"
do_compile() { do_compile() {
cd ${S}/squashfs-tools oe_runmake -C ${S}/squashfs-tools all
oe_runmake all
} }
do_install() { 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}" 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}" install -m 0644 "${S}"/squashfs-tools/squashfs_fs.h "${D}${includedir}"
} }