From 2fa0901d158585972175364b94e58b55591762db Mon Sep 17 00:00:00 2001 From: Oscar Lesta Date: Tue, 19 Aug 2025 23:54:03 -0300 Subject: [PATCH] squashfs_tools: update to version 4.7.2. --- ...patchset => squashfs_tools-4.7.2.patchset} | 131 ++++++++++-------- ...6.1.recipe => squashfs_tools-4.7.2.recipe} | 6 +- 2 files changed, 80 insertions(+), 57 deletions(-) rename sys-fs/squashfs_tools/patches/{squashfs_tools-4.6.1.patchset => squashfs_tools-4.7.2.patchset} (55%) rename sys-fs/squashfs_tools/{squashfs_tools-4.6.1.recipe => squashfs_tools-4.7.2.recipe} (92%) diff --git a/sys-fs/squashfs_tools/patches/squashfs_tools-4.6.1.patchset b/sys-fs/squashfs_tools/patches/squashfs_tools-4.7.2.patchset similarity index 55% rename from sys-fs/squashfs_tools/patches/squashfs_tools-4.6.1.patchset rename to sys-fs/squashfs_tools/patches/squashfs_tools-4.7.2.patchset index f6e5cb0fc..65fb076d5 100644 --- a/sys-fs/squashfs_tools/patches/squashfs_tools-4.6.1.patchset +++ b/sys-fs/squashfs_tools/patches/squashfs_tools-4.7.2.patchset @@ -1,4 +1,4 @@ -From ab99a3f89407d5946a420e7b693a9437bc68ecde Mon Sep 17 00:00:00 2001 +From 4eefd6ddcde271f0f29777928584227b4f4c9885 Mon Sep 17 00:00:00 2001 From: Oscar Lesta Date: Fri, 29 Mar 2024 18:46:59 -0300 Subject: Initial Haiku patch. @@ -6,10 +6,10 @@ Subject: Initial Haiku patch. Based on original patch by @dshynkev (Dmytro Shynkevych). diff --git a/squashfs-tools/Makefile b/squashfs-tools/Makefile -index 9aa4381..02fa546 100755 +index f894328..37d25c5 100644 --- a/squashfs-tools/Makefile +++ b/squashfs-tools/Makefile -@@ -219,7 +219,7 @@ CFLAGS += $(EXTRA_CFLAGS) $(INCLUDEDIR) -D_FILE_OFFSET_BITS=64 \ +@@ -268,7 +268,7 @@ CFLAGS += $(EXTRA_CFLAGS) $(INCLUDEDIR) -D_FILE_OFFSET_BITS=64 \ -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DCOMP_DEFAULT=\"$(COMP_DEFAULT)\" \ -Wall @@ -19,14 +19,15 @@ index 9aa4381..02fa546 100755 CFLAGS += -DGZIP_SUPPORT MKSQUASHFS_OBJS += gzip_wrapper.o diff --git a/squashfs-tools/endian_compat.h b/squashfs-tools/endian_compat.h -index c416f7f..0aa4815 100644 +index 65787e2..053a80b 100644 --- a/squashfs-tools/endian_compat.h +++ b/squashfs-tools/endian_compat.h -@@ -23,7 +23,7 @@ +@@ -23,8 +23,7 @@ * * endian_compat.h */ -#ifndef linux +-#include +#if !defined(linux) && ! defined(__HAIKU__) #define __BYTE_ORDER BYTE_ORDER #define __BIG_ENDIAN BIG_ENDIAN @@ -47,73 +48,93 @@ index 0000000..a643394 + +#endif /* HAIKU_MACROS_H */ diff --git a/squashfs-tools/mksquashfs.c b/squashfs-tools/mksquashfs.c -index ba28d65..20e2aee 100644 +index 263343c..f02bcb0 100644 --- a/squashfs-tools/mksquashfs.c +++ b/squashfs-tools/mksquashfs.c -@@ -53,6 +53,9 @@ - #include +@@ -49,8 +49,10 @@ + #include + #include + +-#ifdef __linux__ ++#if defined(__linux__) #include - #include -+#elif __HAIKU__ -+#include ++#elif defined(__HAIKU__) +#include "haiku_macros.h" - #else - #include #endif -@@ -5257,6 +5260,12 @@ static void initialise_threads(int readq, int fragq, int bwriteq, int fwriteq, - processors = sysconf(_SC_NPROCESSORS_ONLN); - else - processors = CPU_COUNT(&cpu_set); -+#elif __HAIKU__ -+ system_info sysinfo; -+ if (get_system_info(&sysinfo) == B_OK) -+ processors = sysinfo.cpu_count; -+ else -+ processors = 1; - #else - int mib[2]; - size_t len = sizeof(processors); -@@ -5664,8 +5673,13 @@ static void write_recovery_data(struct squashfs_super_block *sBlk) + + #include "squashfs_fs.h" +@@ -5724,8 +5726,13 @@ static void write_recovery_data(struct squashfs_super_block *sBlk) BAD_ERROR("Could not read $HOME, use -recovery-path or -no-recovery options\n"); } -+#if __HAIKU__ -+ res = asprintf(&recovery_file, "%s/squashfs_recovery_%s_%" B_PRId32, recovery_pathname, ++#ifdef B_HAIKU_32_BIT ++ ASPRINTF(&recovery_file, "%s/squashfs_recovery_%s_%ld", recovery_pathname, + getbase(destination_file), pid); +#else - res = asprintf(&recovery_file, "%s/squashfs_recovery_%s_%d", recovery_pathname, + ASPRINTF(&recovery_file, "%s/squashfs_recovery_%s_%d", recovery_pathname, getbase(destination_file), pid); +#endif - if(res == -1) - MEM_ERROR(); + metadata = MALLOC(bytes); + res = read_fs_bytes(fd, sBlk->inode_table_start, bytes, metadata); + if(res == 0) { +diff --git a/squashfs-tools/nprocessors_compat.c b/squashfs-tools/nprocessors_compat.c +index 4aa1282..0ade3d8 100644 +--- a/squashfs-tools/nprocessors_compat.c ++++ b/squashfs-tools/nprocessors_compat.c +@@ -23,7 +23,8 @@ + static int processors = -1; + +-#ifdef __linux__ ++#if defined(__linux__) ++ + #include + #include + +@@ -41,7 +42,22 @@ int get_nprocessors(void) + else + return processors = sysconf(_SC_NPROCESSORS_ONLN); + } ++ ++#elif defined(__HAIKU__) ++ ++#include ++ ++int get_nprocessors(void) ++{ ++ system_info sysinfo; ++ if (get_system_info(&sysinfo) == B_OK) ++ return sysinfo.cpu_count; ++ ++ return 1; ++} ++ + #else ++ + #include + #include "error.h" + +@@ -67,4 +83,5 @@ int get_nprocessors(void) + + return processors; + } ++ + #endif diff --git a/squashfs-tools/unsquashfs.c b/squashfs-tools/unsquashfs.c -index 0ac6356..227ad52 100644 +index bde1460..b2fed82 100644 --- a/squashfs-tools/unsquashfs.c +++ b/squashfs-tools/unsquashfs.c -@@ -36,6 +36,9 @@ - #include - #include +@@ -44,6 +44,10 @@ #include -+#elif __HAIKU__ -+#include -+#include "haiku_macros.h" - #else - #include #endif -@@ -2775,6 +2778,12 @@ void initialise_threads(int fragment_buffer_size, int data_buffer_size, int cat_ - processors = sysconf(_SC_NPROCESSORS_ONLN); - else - processors = CPU_COUNT(&cpu_set); -+#elif __HAIKU__ -+ system_info sysinfo; -+ if (get_system_info(&sysinfo) == B_OK) -+ processors = sysinfo.cpu_count; -+ else -+ processors = 1; - #else - int mib[2]; - size_t len = sizeof(processors); + ++#ifdef __HAIKU__ ++#include "haiku_macros.h" ++#endif ++ + #include + #include + #include -- -2.43.2 +2.50.1 diff --git a/sys-fs/squashfs_tools/squashfs_tools-4.6.1.recipe b/sys-fs/squashfs_tools/squashfs_tools-4.7.2.recipe similarity index 92% rename from sys-fs/squashfs_tools/squashfs_tools-4.6.1.recipe rename to sys-fs/squashfs_tools/squashfs_tools-4.7.2.recipe index 084dbb8f4..9f84e2bdf 100644 --- a/sys-fs/squashfs_tools/squashfs_tools-4.6.1.recipe +++ b/sys-fs/squashfs_tools/squashfs_tools-4.7.2.recipe @@ -9,9 +9,9 @@ systems) where low overhead is needed." HOMEPAGE="https://github.com/plougher/squashfs-tools" COPYRIGHT="2002-2023 Phillip Lougher" LICENSE="GNU GPL v2" -REVISION="2" +REVISION="1" SOURCE_URI="https://github.com/plougher/squashfs-tools/archive/refs/tags/$portVersion.tar.gz" -CHECKSUM_SHA256="94201754b36121a9f022a190c75f718441df15402df32c2b520ca331a107511c" +CHECKSUM_SHA256="4672b5c47d9418d3a5ae5b243defc6d9eae8275b9771022247c6a6082c815914" SOURCE_DIR="squashfs-tools-$portVersion" PATCHES="squashfs_tools-$portVersion.patchset" @@ -56,9 +56,11 @@ BUILD_REQUIRES=" devel:libzstd$secondaryArchSuffix " BUILD_PREREQUIRES=" + cmd:echo # /bin/echo needed by "install-manpages.sh" cmd:help2man cmd:gcc$secondaryArchSuffix cmd:make + cmd:which # (otherwise fails to find cmd:echo) " MAKE_ARGS="