+config SQUASHFS_TOOLS_GZIP_SUPPORT
+ depends on PACKAGE_squashfs-tools-mksquashfs || PACKAGE_squashfs-tools-unsquashfs
+ bool "Enable GZIP support"
+ select PACKAGE_zlib
+ default y
+
config SQUASHFS_TOOLS_LZO_SUPPORT
depends on PACKAGE_squashfs-tools-mksquashfs || PACKAGE_squashfs-tools-unsquashfs
bool "Enable LZO support"
select PACKAGE_liblzma
default y
+config SQUASHFS_TOOLS_XZ_EXTENDED_SUPPORT
+ depends on SQUASHFS_TOOLS_XZ_SUPPORT
+ bool "Enable XZ extended support"
+ default y
+
config SQUASHFS_TOOLS_ZSTD_SUPPORT
depends on PACKAGE_squashfs-tools-mksquashfs || PACKAGE_squashfs-tools-unsquashfs
bool "Enable ZSTD support"
include $(TOPDIR)/rules.mk
PKG_NAME:=squashfs-tools
-PKG_VERSION:=4.6.1
+PKG_VERSION:=4.7
PKG_RELEASE:=1
PKG_LICENSE:=GPL-2.0-only
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://codeload.github.com/plougher/squashfs-tools/tar.gz/${PKG_VERSION}?
-PKG_HASH:=94201754b36121a9f022a190c75f718441df15402df32c2b520ca331a107511c
+PKG_HASH:=f1605ef720aa0b23939a49ef4491f6e734333ccc4bda4324d330da647e105328
PKG_BUILD_PARALLEL:=1
include $(INCLUDE_DIR)/package.mk
SUBMENU:=Filesystem
TITLE:=Tools to create and extract Squashfs filesystems
URL:=https://github.com/plougher/squashfs-tools
- DEPENDS += +libpthread +zlib \
+ DEPENDS += +libpthread \
+ +SQUASHFS_TOOLS_GZIP_SUPPORT:zlib \
+SQUASHFS_TOOLS_LZO_SUPPORT:liblzo \
+SQUASHFS_TOOLS_LZ4_SUPPORT:liblz4 \
+SQUASHFS_TOOLS_XZ_SUPPORT:liblzma \
Build/Configure:=
-ifneq ($(CONFIG_SQUASHFS_TOOLS_XZ_SUPPORT),)
-MAKE_FLAGS += XZ_SUPPORT=1
-endif
-
-ifneq ($(CONFIG_SQUASHFS_TOOLS_LZO_SUPPORT),)
-MAKE_FLAGS += LZO_SUPPORT=1
-endif
-
-ifneq ($(CONFIG_SQUASHFS_TOOLS_LZ4_SUPPORT),)
-MAKE_FLAGS += LZ4_SUPPORT=1
-endif
-
-ifneq ($(CONFIG_SQUASHFS_TOOLS_ZSTD_SUPPORT),)
-MAKE_FLAGS += ZSTD_SUPPORT=1
-endif
+MAKE_FLAGS += \
+ CONFIG=1 \
+ SMALL_READER_THREADS=4 \
+ BLOCK_READER_THREADS=4 \
+ GZIP_SUPPORT=$(if $(CONFIG_SQUASHFS_TOOLS_GZIP_SUPPORT),1,0) \
+ XZ_SUPPORT=$(if $(CONFIG_SQUASHFS_TOOLS_XZ_SUPPORT),1,0) \
+ XZ_EXTENDED_OPTIONS=$(if $(CONFIG_SQUASHFS_TOOLS_XZ_EXTENDED_SUPPORT),1,0) \
+ LZO_SUPPORT=$(if $(CONFIG_SQUASHFS_TOOLS_LZO_SUPPORT),1,0) \
+ LZ4_SUPPORT=$(if $(CONFIG_SQUASHFS_TOOLS_LZ4_SUPPORT),1,0) \
+ ZSTD_SUPPORT=$(if $(CONFIG_SQUASHFS_TOOLS_ZSTD_SUPPORT),1,0) \
define Build/Compile
$(MAKE) -C $(PKG_BUILD_DIR)/squashfs-tools \
--- /dev/null
+From 05a895b3f996d1ac157d95b04980f5f047e7dbf7 Mon Sep 17 00:00:00 2001
+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.
+
+---
+ squashfs-tools/print_pager.h | 3 +++
+ 1 file changed, 3 insertions(+)
+
+--- 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();