mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-21 14:37:57 +00:00
tools/squashfs4: bump to 4.6.1
Changelogs: https://github.com/plougher/squashfs-tools/blob/4.6.1/CHANGES Removed upstreamed patches: - 001-Unsquashfs-Add-and-make-some-header-includes-conditi.patch - 002-Mksquashfs-Make-sysinfo-conditional.patch - 003-Only-use-available-CPUs.patch - 004-action-rework-strdupa-with-POSIX-strdup-and-free.patch - 005-Don-t-use-sigwaitinfo-sigtimedwait-if-not-supported.patch - 006-Move-sysinfo.h-into-the-linux-only-section-should-fi.patch - 007-Unsquashfs-fix-compilation-error-for-missing-sysctl..patch - 100-portability.patch Signed-off-by: Linhui Liu <liulinhui36@gmail.com>
This commit is contained in:
parent
3efd49a588
commit
f0103c78d8
@ -8,14 +8,14 @@ include $(TOPDIR)/rules.mk
|
|||||||
|
|
||||||
PKG_NAME:=squashfs4
|
PKG_NAME:=squashfs4
|
||||||
PKG_CPE_ID:=cpe:/a:phillip_lougher:squashfs
|
PKG_CPE_ID:=cpe:/a:phillip_lougher:squashfs
|
||||||
PKG_VERSION:=4.5.1
|
PKG_VERSION:=4.6.1
|
||||||
PKG_RELEASE=1
|
PKG_RELEASE=1
|
||||||
|
|
||||||
PKG_SOURCE_PROTO:=git
|
PKG_SOURCE_PROTO:=git
|
||||||
PKG_SOURCE_URL:=https://github.com/plougher/squashfs-tools
|
PKG_SOURCE_URL:=https://github.com/plougher/squashfs-tools
|
||||||
PKG_SOURCE_DATE:=2022-03-17
|
PKG_SOURCE_DATE:=2023-03-26
|
||||||
PKG_SOURCE_VERSION:=afdd63fc386919b4aa40d573b0a6069414d14317
|
PKG_SOURCE_VERSION:=d8cb82d9840330f9344ec37b992595b5d7b44184
|
||||||
PKG_MIRROR_HASH:=59c294e00ddfc1f4bda658c7567584ce35fdd479c413ebdb1376981b27737be1
|
PKG_MIRROR_HASH:=fc625af657ca284d69fbc32e3bb572d0afd566cf816b7c1c1b66dda0a0c2760a
|
||||||
|
|
||||||
HOST_BUILD_PARALLEL:=1
|
HOST_BUILD_PARALLEL:=1
|
||||||
|
|
||||||
|
@ -1,39 +0,0 @@
|
|||||||
From a9119c969af0a5aa961d56978d5dd4f3eb952667 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Phillip Lougher <phillip@squashfs.org.uk>
|
|
||||||
Date: Mon, 15 Aug 2022 17:04:43 +0100
|
|
||||||
Subject: [PATCH 1/1] Unsquashfs: Add and make some header includes conditional
|
|
||||||
|
|
||||||
Fixes https://github.com/plougher/squashfs-tools/issues/122
|
|
||||||
|
|
||||||
Signed-off-by: Phillip Lougher <phillip@squashfs.org.uk>
|
|
||||||
---
|
|
||||||
squashfs-tools/reader.c | 1 +
|
|
||||||
squashfs-tools/unsquashfs.c | 5 +++++
|
|
||||||
2 files changed, 6 insertions(+)
|
|
||||||
|
|
||||||
--- a/squashfs-tools/reader.c
|
|
||||||
+++ b/squashfs-tools/reader.c
|
|
||||||
@@ -38,6 +38,7 @@
|
|
||||||
#include <errno.h>
|
|
||||||
#include <stdlib.h>
|
|
||||||
#include <stdio.h>
|
|
||||||
+#include <signal.h>
|
|
||||||
#include "squashfs_fs.h"
|
|
||||||
#include "mksquashfs.h"
|
|
||||||
#include "caches-queues-lists.h"
|
|
||||||
--- a/squashfs-tools/unsquashfs.c
|
|
||||||
+++ b/squashfs-tools/unsquashfs.c
|
|
||||||
@@ -32,8 +32,13 @@
|
|
||||||
#include "stdarg.h"
|
|
||||||
#include "fnmatch_compat.h"
|
|
||||||
|
|
||||||
+#ifdef __linux__
|
|
||||||
#include <sys/sysinfo.h>
|
|
||||||
#include <sys/sysmacros.h>
|
|
||||||
+#elif defined __FreeBSD__
|
|
||||||
+#include <sys/sysctl.h>
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
#include <sys/types.h>
|
|
||||||
#include <sys/time.h>
|
|
||||||
#include <sys/resource.h>
|
|
@ -1,30 +0,0 @@
|
|||||||
From 374e39a786a5acda841056bec26fd0e0c4d40dac Mon Sep 17 00:00:00 2001
|
|
||||||
From: Phillip Lougher <phillip@squashfs.org.uk>
|
|
||||||
Date: Mon, 15 Aug 2022 17:09:05 +0100
|
|
||||||
Subject: [PATCH 1/1] Mksquashfs: Make sysinfo() conditional
|
|
||||||
|
|
||||||
Fixes https://github.com/plougher/squashfs-tools/issues/123
|
|
||||||
|
|
||||||
Signed-off-by: Phillip Lougher <phillip@squashfs.org.uk>
|
|
||||||
---
|
|
||||||
squashfs-tools/mksquashfs.c | 2 ++
|
|
||||||
1 file changed, 2 insertions(+)
|
|
||||||
|
|
||||||
--- a/squashfs-tools/mksquashfs.c
|
|
||||||
+++ b/squashfs-tools/mksquashfs.c
|
|
||||||
@@ -5802,6 +5802,7 @@ static int get_physical_memory()
|
|
||||||
long long page_size = sysconf(_SC_PAGESIZE);
|
|
||||||
int phys_mem;
|
|
||||||
|
|
||||||
+#ifdef __linux__
|
|
||||||
if(num_pages == -1 || page_size == -1) {
|
|
||||||
struct sysinfo sys;
|
|
||||||
int res = sysinfo(&sys);
|
|
||||||
@@ -5812,6 +5813,7 @@ static int get_physical_memory()
|
|
||||||
num_pages = sys.totalram;
|
|
||||||
page_size = sys.mem_unit;
|
|
||||||
}
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
phys_mem = num_pages * page_size >> 20;
|
|
||||||
|
|
@ -1,92 +0,0 @@
|
|||||||
From bc8e655a420d2f62bb0597947e96dce7b4d3fb36 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Wessel Dankers <wsl@fruit.je>
|
|
||||||
Date: Sun, 30 Oct 2022 19:29:28 +0100
|
|
||||||
Subject: [PATCH] Only use available CPUs
|
|
||||||
|
|
||||||
Not all online CPUs may be available for the current process,
|
|
||||||
especially when CPU affinity is involved. In such cases too many
|
|
||||||
threads will be created, which will then compete unnecessarily
|
|
||||||
for CPU time.
|
|
||||||
|
|
||||||
Use sched_getaffinity() to determine the correct number of threads
|
|
||||||
to create.
|
|
||||||
---
|
|
||||||
squashfs-tools/mksquashfs.c | 16 ++++++++++++----
|
|
||||||
squashfs-tools/unsquashfs.c | 13 ++++++++++---
|
|
||||||
2 files changed, 22 insertions(+), 7 deletions(-)
|
|
||||||
|
|
||||||
--- a/squashfs-tools/mksquashfs.c
|
|
||||||
+++ b/squashfs-tools/mksquashfs.c
|
|
||||||
@@ -52,7 +52,9 @@
|
|
||||||
#include <ctype.h>
|
|
||||||
#include <sys/sysinfo.h>
|
|
||||||
|
|
||||||
-#ifndef linux
|
|
||||||
+#ifdef linux
|
|
||||||
+#include <sched.h>
|
|
||||||
+#else
|
|
||||||
#include <sys/sysctl.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
@@ -5079,7 +5081,15 @@ static void initialise_threads(int readq
|
|
||||||
BAD_ERROR("Failed to set signal mask in intialise_threads\n");
|
|
||||||
|
|
||||||
if(processors == -1) {
|
|
||||||
-#ifndef linux
|
|
||||||
+#ifdef linux
|
|
||||||
+ cpu_set_t cpu_set;
|
|
||||||
+ CPU_ZERO(&cpu_set);
|
|
||||||
+
|
|
||||||
+ if(sched_getaffinity(0, sizeof cpu_set, &cpu_set) == -1)
|
|
||||||
+ processors = sysconf(_SC_NPROCESSORS_ONLN);
|
|
||||||
+ else
|
|
||||||
+ processors = CPU_COUNT(&cpu_set);
|
|
||||||
+#else
|
|
||||||
int mib[2];
|
|
||||||
size_t len = sizeof(processors);
|
|
||||||
|
|
||||||
@@ -5096,8 +5106,6 @@ static void initialise_threads(int readq
|
|
||||||
ERROR_EXIT(" Defaulting to 1\n");
|
|
||||||
processors = 1;
|
|
||||||
}
|
|
||||||
-#else
|
|
||||||
- processors = sysconf(_SC_NPROCESSORS_ONLN);
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
--- a/squashfs-tools/unsquashfs.c
|
|
||||||
+++ b/squashfs-tools/unsquashfs.c
|
|
||||||
@@ -33,6 +33,7 @@
|
|
||||||
#include "fnmatch_compat.h"
|
|
||||||
|
|
||||||
#ifdef __linux__
|
|
||||||
+#include <sched.h>
|
|
||||||
#include <sys/sysinfo.h>
|
|
||||||
#include <sys/sysmacros.h>
|
|
||||||
#elif defined __FreeBSD__
|
|
||||||
@@ -2719,7 +2720,15 @@ void initialise_threads(int fragment_buf
|
|
||||||
}
|
|
||||||
|
|
||||||
if(processors == -1) {
|
|
||||||
-#ifndef linux
|
|
||||||
+#ifdef linux
|
|
||||||
+ cpu_set_t cpu_set;
|
|
||||||
+ CPU_ZERO(&cpu_set);
|
|
||||||
+
|
|
||||||
+ if(sched_getaffinity(0, sizeof cpu_set, &cpu_set) == -1)
|
|
||||||
+ processors = sysconf(_SC_NPROCESSORS_ONLN);
|
|
||||||
+ else
|
|
||||||
+ processors = CPU_COUNT(&cpu_set);
|
|
||||||
+#else
|
|
||||||
int mib[2];
|
|
||||||
size_t len = sizeof(processors);
|
|
||||||
|
|
||||||
@@ -2735,8 +2744,6 @@ void initialise_threads(int fragment_buf
|
|
||||||
"Defaulting to 1\n");
|
|
||||||
processors = 1;
|
|
||||||
}
|
|
||||||
-#else
|
|
||||||
- processors = sysconf(_SC_NPROCESSORS_ONLN);
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
@ -1,37 +0,0 @@
|
|||||||
From 92e628ec0e26cf091d82356e3b74f73bedf4cfc8 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Christian Marangi <ansuelsmth@gmail.com>
|
|
||||||
Date: Sat, 15 Oct 2022 00:11:20 +0200
|
|
||||||
Subject: [PATCH] action: rework strdupa with POSIX strdup and free
|
|
||||||
|
|
||||||
strdupa is not POSIX and cause compilation error on macos.
|
|
||||||
Fix this by using strdup and free.
|
|
||||||
|
|
||||||
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
|
|
||||||
Signed-off-by: Phillip Lougher <phillip@squashfs.org.uk>
|
|
||||||
---
|
|
||||||
squashfs-tools/action.c | 14 +++++++++++---
|
|
||||||
1 file changed, 11 insertions(+), 3 deletions(-)
|
|
||||||
|
|
||||||
--- a/squashfs-tools/action.c
|
|
||||||
+++ b/squashfs-tools/action.c
|
|
||||||
@@ -2415,9 +2415,17 @@ static char *get_start(char *s, int n)
|
|
||||||
|
|
||||||
static int subpathname_fn(struct atom *atom, struct action_data *action_data)
|
|
||||||
{
|
|
||||||
- return fnmatch(atom->argv[0], get_start(strdupa(action_data->subpath),
|
|
||||||
- count_components(atom->argv[0])),
|
|
||||||
- FNM_PATHNAME|FNM_EXTMATCH) == 0;
|
|
||||||
+ char *s, *tmp;
|
|
||||||
+ int ret;
|
|
||||||
+
|
|
||||||
+ s = tmp = strdup(action_data->subpath);
|
|
||||||
+ tmp = get_start(tmp, count_components(atom->argv[0]));
|
|
||||||
+
|
|
||||||
+ ret = fnmatch(atom->argv[0], tmp, FNM_PATHNAME|FNM_EXTMATCH);
|
|
||||||
+
|
|
||||||
+ free(s);
|
|
||||||
+
|
|
||||||
+ return ret == 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
@ -1,192 +0,0 @@
|
|||||||
From dbe9747b4f09bd2f4d63af06e55c2c3ed35bfca1 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Phillip Lougher <phillip@squashfs.org.uk>
|
|
||||||
Date: Tue, 7 Feb 2023 23:09:30 +0000
|
|
||||||
Subject: [PATCH] Don't use sigwaitinfo()/sigtimedwait() if not supported
|
|
||||||
|
|
||||||
If sigwaitinfo() and sigtimedwait() are not supported,
|
|
||||||
use sigwait() instead.
|
|
||||||
|
|
||||||
This will disable the queue/caches dump if ^\ (SIGQUIT)
|
|
||||||
is hit twice within a second.
|
|
||||||
|
|
||||||
But the queue/caches dump is still available if SIGHUP
|
|
||||||
is sent to the program.
|
|
||||||
|
|
||||||
Currently this check is applied to MAC OS X. FreeBSD and
|
|
||||||
NetBSD appear to have these functions.
|
|
||||||
|
|
||||||
Signed-off-by: Phillip Lougher <phillip@squashfs.org.uk>
|
|
||||||
---
|
|
||||||
squashfs-tools/info.c | 25 ++-------------
|
|
||||||
squashfs-tools/signals.h | 54 ++++++++++++++++++++++++++++++++
|
|
||||||
squashfs-tools/unsquashfs_info.c | 25 ++-------------
|
|
||||||
3 files changed, 60 insertions(+), 44 deletions(-)
|
|
||||||
create mode 100644 squashfs-tools/signals.h
|
|
||||||
|
|
||||||
--- a/squashfs-tools/info.c
|
|
||||||
+++ b/squashfs-tools/info.c
|
|
||||||
@@ -2,7 +2,7 @@
|
|
||||||
* Create a squashfs filesystem. This is a highly compressed read only
|
|
||||||
* filesystem.
|
|
||||||
*
|
|
||||||
- * Copyright (c) 2013, 2014, 2019, 2021
|
|
||||||
+ * Copyright (c) 2013, 2014, 2019, 2021, 2022, 2023
|
|
||||||
* Phillip Lougher <phillip@squashfs.org.uk>
|
|
||||||
*
|
|
||||||
* This program is free software; you can redistribute it and/or
|
|
||||||
@@ -42,6 +42,7 @@
|
|
||||||
#include "mksquashfs_error.h"
|
|
||||||
#include "progressbar.h"
|
|
||||||
#include "caches-queues-lists.h"
|
|
||||||
+#include "signals.h"
|
|
||||||
|
|
||||||
static int silent = 0;
|
|
||||||
static struct dir_ent *ent = NULL;
|
|
||||||
@@ -144,7 +145,6 @@ void dump_state()
|
|
||||||
void *info_thrd(void *arg)
|
|
||||||
{
|
|
||||||
sigset_t sigmask;
|
|
||||||
- struct timespec timespec = { .tv_sec = 1, .tv_nsec = 0 };
|
|
||||||
int sig, waiting = 0;
|
|
||||||
|
|
||||||
sigemptyset(&sigmask);
|
|
||||||
@@ -152,26 +152,7 @@ void *info_thrd(void *arg)
|
|
||||||
sigaddset(&sigmask, SIGHUP);
|
|
||||||
|
|
||||||
while(1) {
|
|
||||||
- if(waiting)
|
|
||||||
- sig = sigtimedwait(&sigmask, NULL, ×pec);
|
|
||||||
- else
|
|
||||||
- sig = sigwaitinfo(&sigmask, NULL);
|
|
||||||
-
|
|
||||||
- if(sig == -1) {
|
|
||||||
- switch(errno) {
|
|
||||||
- case EAGAIN:
|
|
||||||
- /* interval timed out */
|
|
||||||
- waiting = 0;
|
|
||||||
- /* FALLTHROUGH */
|
|
||||||
- case EINTR:
|
|
||||||
- /* if waiting, the wait will be longer, but
|
|
||||||
- that's OK */
|
|
||||||
- continue;
|
|
||||||
- default:
|
|
||||||
- BAD_ERROR("sigtimedwait/sigwaitinfo failed "
|
|
||||||
- "because %s\n", strerror(errno));
|
|
||||||
- }
|
|
||||||
- }
|
|
||||||
+ sig = wait_for_signal(&sigmask, &waiting);
|
|
||||||
|
|
||||||
if(sig == SIGQUIT && !waiting) {
|
|
||||||
print_filename();
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/squashfs-tools/signals.h
|
|
||||||
@@ -0,0 +1,54 @@
|
|
||||||
+#ifndef SIGNALS_H
|
|
||||||
+#define SIGNALS_H
|
|
||||||
+/*
|
|
||||||
+ * Create a squashfs filesystem. This is a highly compressed read only
|
|
||||||
+ * filesystem.
|
|
||||||
+ *
|
|
||||||
+ * Copyright (c) 2023
|
|
||||||
+ * Phillip Lougher <phillip@squashfs.org.uk>
|
|
||||||
+ *
|
|
||||||
+ * This program is free software; you can redistribute it and/or
|
|
||||||
+ * modify it under the terms of the GNU General Public License
|
|
||||||
+ * as published by the Free Software Foundation; either version 2,
|
|
||||||
+ * or (at your option) any later version.
|
|
||||||
+ *
|
|
||||||
+ * This program is distributed in the hope that it will be useful,
|
|
||||||
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
+ * GNU General Public License for more details.
|
|
||||||
+ *
|
|
||||||
+ * You should have received a copy of the GNU General Public License
|
|
||||||
+ * along with this program; if not, write to the Free Software
|
|
||||||
+ * Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|
||||||
+ *
|
|
||||||
+ * signals.h
|
|
||||||
+ */
|
|
||||||
+
|
|
||||||
+static inline int wait_for_signal(sigset_t *sigmask, int *waiting)
|
|
||||||
+{
|
|
||||||
+ int sig;
|
|
||||||
+
|
|
||||||
+#if defined(__APPLE__) && defined(__MACH__)
|
|
||||||
+ sigwait(sigmask, &sig);
|
|
||||||
+ *waiting = 0;
|
|
||||||
+#else
|
|
||||||
+ struct timespec timespec = { .tv_sec = 1, .tv_nsec = 0 };
|
|
||||||
+
|
|
||||||
+ while(1) {
|
|
||||||
+ if(*waiting)
|
|
||||||
+ sig = sigtimedwait(sigmask, NULL, ×pec);
|
|
||||||
+ else
|
|
||||||
+ sig = sigwaitinfo(sigmask, NULL);
|
|
||||||
+
|
|
||||||
+ if(sig != -1)
|
|
||||||
+ break;
|
|
||||||
+
|
|
||||||
+ if(errno == EAGAIN)
|
|
||||||
+ *waiting = 0;
|
|
||||||
+ else if(errno != EINTR)
|
|
||||||
+ BAD_ERROR("sigtimedwait/sigwaitinfo failed because %s\n", strerror(errno));
|
|
||||||
+ }
|
|
||||||
+#endif
|
|
||||||
+ return sig;
|
|
||||||
+}
|
|
||||||
+#endif
|
|
||||||
--- a/squashfs-tools/unsquashfs_info.c
|
|
||||||
+++ b/squashfs-tools/unsquashfs_info.c
|
|
||||||
@@ -2,7 +2,7 @@
|
|
||||||
* Create a squashfs filesystem. This is a highly compressed read only
|
|
||||||
* filesystem.
|
|
||||||
*
|
|
||||||
- * Copyright (c) 2013, 2021
|
|
||||||
+ * Copyright (c) 2013, 2021, 2023
|
|
||||||
* Phillip Lougher <phillip@squashfs.org.uk>
|
|
||||||
*
|
|
||||||
* This program is free software; you can redistribute it and/or
|
|
||||||
@@ -40,6 +40,7 @@
|
|
||||||
#include "squashfs_fs.h"
|
|
||||||
#include "unsquashfs.h"
|
|
||||||
#include "unsquashfs_error.h"
|
|
||||||
+#include "signals.h"
|
|
||||||
|
|
||||||
char *pathname = NULL;
|
|
||||||
|
|
||||||
@@ -96,7 +97,6 @@ void dump_state()
|
|
||||||
void *info_thrd(void *arg)
|
|
||||||
{
|
|
||||||
sigset_t sigmask;
|
|
||||||
- struct timespec timespec = { .tv_sec = 1, .tv_nsec = 0 };
|
|
||||||
int sig, waiting = 0;
|
|
||||||
|
|
||||||
sigemptyset(&sigmask);
|
|
||||||
@@ -104,26 +104,7 @@ void *info_thrd(void *arg)
|
|
||||||
sigaddset(&sigmask, SIGHUP);
|
|
||||||
|
|
||||||
while(1) {
|
|
||||||
- if(waiting)
|
|
||||||
- sig = sigtimedwait(&sigmask, NULL, ×pec);
|
|
||||||
- else
|
|
||||||
- sig = sigwaitinfo(&sigmask, NULL);
|
|
||||||
-
|
|
||||||
- if(sig == -1) {
|
|
||||||
- switch(errno) {
|
|
||||||
- case EAGAIN:
|
|
||||||
- /* interval timed out */
|
|
||||||
- waiting = 0;
|
|
||||||
- /* FALLTHROUGH */
|
|
||||||
- case EINTR:
|
|
||||||
- /* if waiting, the wait will be longer, but
|
|
||||||
- that's OK */
|
|
||||||
- continue;
|
|
||||||
- default:
|
|
||||||
- BAD_ERROR("sigtimedwait/sigwaitinfo failed "
|
|
||||||
- "because %s\n", strerror(errno));
|
|
||||||
- }
|
|
||||||
- }
|
|
||||||
+ sig = wait_for_signal(&sigmask, &waiting);
|
|
||||||
|
|
||||||
if(sig == SIGQUIT && !waiting) {
|
|
||||||
if(pathname)
|
|
@ -1,49 +0,0 @@
|
|||||||
From b2f6454a2b2517cfba7a24cf02e9bdf3b959c86a Mon Sep 17 00:00:00 2001
|
|
||||||
From: Tony Butler <spudz76@gmail.com>
|
|
||||||
Date: Sat, 18 Feb 2023 13:20:48 -0800
|
|
||||||
Subject: [PATCH] Move sysinfo.h into the linux-only section, should fix build
|
|
||||||
on MacOS.
|
|
||||||
|
|
||||||
All compilers set `__linux__`, but `linux` may not be defined, and usage
|
|
||||||
was mixed. Use `__linux__` everywhere instead.
|
|
||||||
|
|
||||||
Signed-off-by: Tony Butler <spudz76@gmail.com>
|
|
||||||
---
|
|
||||||
squashfs-tools/mksquashfs.c | 6 +++---
|
|
||||||
squashfs-tools/unsquashfs.c | 2 +-
|
|
||||||
2 files changed, 4 insertions(+), 4 deletions(-)
|
|
||||||
|
|
||||||
--- a/squashfs-tools/mksquashfs.c
|
|
||||||
+++ b/squashfs-tools/mksquashfs.c
|
|
||||||
@@ -50,9 +50,9 @@
|
|
||||||
#include <sys/wait.h>
|
|
||||||
#include <limits.h>
|
|
||||||
#include <ctype.h>
|
|
||||||
-#include <sys/sysinfo.h>
|
|
||||||
|
|
||||||
-#ifdef linux
|
|
||||||
+#ifdef __linux__
|
|
||||||
+#include <sys/sysinfo.h>
|
|
||||||
#include <sched.h>
|
|
||||||
#else
|
|
||||||
#include <sys/sysctl.h>
|
|
||||||
@@ -5081,7 +5081,7 @@ static void initialise_threads(int readq
|
|
||||||
BAD_ERROR("Failed to set signal mask in intialise_threads\n");
|
|
||||||
|
|
||||||
if(processors == -1) {
|
|
||||||
-#ifdef linux
|
|
||||||
+#ifdef __linux__
|
|
||||||
cpu_set_t cpu_set;
|
|
||||||
CPU_ZERO(&cpu_set);
|
|
||||||
|
|
||||||
--- a/squashfs-tools/unsquashfs.c
|
|
||||||
+++ b/squashfs-tools/unsquashfs.c
|
|
||||||
@@ -2720,7 +2720,7 @@ void initialise_threads(int fragment_buf
|
|
||||||
}
|
|
||||||
|
|
||||||
if(processors == -1) {
|
|
||||||
-#ifdef linux
|
|
||||||
+#ifdef __linux__
|
|
||||||
cpu_set_t cpu_set;
|
|
||||||
CPU_ZERO(&cpu_set);
|
|
||||||
|
|
@ -1,26 +0,0 @@
|
|||||||
From dcf492077ef10ed7550b6e2b38b81318645bbdd5 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Christian Marangi <ansuelsmth@gmail.com>
|
|
||||||
Date: Sun, 19 Feb 2023 04:36:01 +0100
|
|
||||||
Subject: [PATCH] Unsquashfs: fix compilation error for missing sysctl.h on
|
|
||||||
macos
|
|
||||||
|
|
||||||
Currently the include of sys/sysctl.h is guarded and done only for
|
|
||||||
FreeBSD system. Remove this to fix compilation error on macos following
|
|
||||||
the same pattern done in mksquashfs.c
|
|
||||||
|
|
||||||
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
|
|
||||||
---
|
|
||||||
squashfs-tools/unsquashfs.c | 2 +-
|
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
--- a/squashfs-tools/unsquashfs.c
|
|
||||||
+++ b/squashfs-tools/unsquashfs.c
|
|
||||||
@@ -36,7 +36,7 @@
|
|
||||||
#include <sched.h>
|
|
||||||
#include <sys/sysinfo.h>
|
|
||||||
#include <sys/sysmacros.h>
|
|
||||||
-#elif defined __FreeBSD__
|
|
||||||
+#else
|
|
||||||
#include <sys/sysctl.h>
|
|
||||||
#endif
|
|
||||||
|
|
@ -1,37 +0,0 @@
|
|||||||
--- a/squashfs-tools/xattr.c
|
|
||||||
+++ b/squashfs-tools/xattr.c
|
|
||||||
@@ -115,6 +115,7 @@ int xattr_get_prefix(struct xattr_list *
|
|
||||||
|
|
||||||
static int read_xattrs_from_system(char *filename, struct xattr_list **xattrs)
|
|
||||||
{
|
|
||||||
+#if defined(linux)
|
|
||||||
ssize_t size, vsize;
|
|
||||||
char *xattr_names, *p;
|
|
||||||
int i;
|
|
||||||
@@ -227,6 +228,10 @@ failed:
|
|
||||||
free(xattr_list);
|
|
||||||
free(xattr_names);
|
|
||||||
return 0;
|
|
||||||
+#else
|
|
||||||
+ *xattrs = NULL;
|
|
||||||
+ return 0;
|
|
||||||
+#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
--- a/squashfs-tools/unsquashfs_xattr.c
|
|
||||||
+++ b/squashfs-tools/unsquashfs_xattr.c
|
|
||||||
@@ -36,6 +36,7 @@ extern int strict_errors;
|
|
||||||
|
|
||||||
int write_xattr(char *pathname, unsigned int xattr)
|
|
||||||
{
|
|
||||||
+#if defined(linux)
|
|
||||||
unsigned int count;
|
|
||||||
struct xattr_list *xattr_list;
|
|
||||||
int i;
|
|
||||||
@@ -147,4 +148,5 @@ int write_xattr(char *pathname, unsigned
|
|
||||||
free_xattr(xattr_list, count);
|
|
||||||
|
|
||||||
return !failed;
|
|
||||||
+#endif
|
|
||||||
}
|
|
Loading…
Reference in New Issue
Block a user