Merge pull request #164847 from ruuda/squashfstools-4.5.1
squashfsTools: 4.5 -> 4.5.1
This commit is contained in:
@@ -5,7 +5,7 @@ with BSD-specific changes omitted.
|
||||
See also https://github.com/plougher/squashfs-tools/pull/69.
|
||||
|
||||
diff --git a/squashfs-tools/action.c b/squashfs-tools/action.c
|
||||
index 4b06ccb..3cad2ab 100644
|
||||
index ea2f604..9c979f8 100644
|
||||
--- a/squashfs-tools/action.c
|
||||
+++ b/squashfs-tools/action.c
|
||||
@@ -39,6 +39,10 @@
|
||||
@@ -19,7 +19,7 @@ index 4b06ccb..3cad2ab 100644
|
||||
#include "squashfs_fs.h"
|
||||
#include "mksquashfs.h"
|
||||
#include "action.h"
|
||||
@@ -2414,9 +2418,12 @@ static char *get_start(char *s, int n)
|
||||
@@ -2415,9 +2419,12 @@ static char *get_start(char *s, int n)
|
||||
|
||||
static int subpathname_fn(struct atom *atom, struct action_data *action_data)
|
||||
{
|
||||
@@ -34,7 +34,7 @@ index 4b06ccb..3cad2ab 100644
|
||||
|
||||
/*
|
||||
diff --git a/squashfs-tools/info.c b/squashfs-tools/info.c
|
||||
index fe23d78..5c2f835 100644
|
||||
index 216b979..eea2ec9 100644
|
||||
--- a/squashfs-tools/info.c
|
||||
+++ b/squashfs-tools/info.c
|
||||
@@ -144,31 +144,22 @@ void dump_state()
|
||||
@@ -89,7 +89,7 @@ index fe23d78..5c2f835 100644
|
||||
}
|
||||
|
||||
diff --git a/squashfs-tools/mksquashfs.c b/squashfs-tools/mksquashfs.c
|
||||
index a45b77f..3607448 100644
|
||||
index 843f9f4..ed2c3a6 100644
|
||||
--- a/squashfs-tools/mksquashfs.c
|
||||
+++ b/squashfs-tools/mksquashfs.c
|
||||
@@ -35,7 +35,12 @@
|
||||
@@ -117,7 +117,7 @@ index a45b77f..3607448 100644
|
||||
|
||||
#ifndef linux
|
||||
#include <sys/sysctl.h>
|
||||
@@ -5022,6 +5030,7 @@ static void initialise_threads(int readq, int fragq, int bwriteq, int fwriteq,
|
||||
@@ -5064,6 +5072,7 @@ static void initialise_threads(int readq, int fragq, int bwriteq, int fwriteq,
|
||||
sigemptyset(&sigmask);
|
||||
sigaddset(&sigmask, SIGQUIT);
|
||||
sigaddset(&sigmask, SIGHUP);
|
||||
@@ -125,7 +125,7 @@ index a45b77f..3607448 100644
|
||||
if(pthread_sigmask(SIG_BLOCK, &sigmask, NULL) != 0)
|
||||
BAD_ERROR("Failed to set signal mask in intialise_threads\n");
|
||||
|
||||
@@ -5760,6 +5769,35 @@ static int get_physical_memory()
|
||||
@@ -5802,6 +5811,35 @@ static int get_physical_memory()
|
||||
long long page_size = sysconf(_SC_PAGESIZE);
|
||||
int phys_mem;
|
||||
|
||||
@@ -161,7 +161,7 @@ index a45b77f..3607448 100644
|
||||
if(num_pages == -1 || page_size == -1) {
|
||||
struct sysinfo sys;
|
||||
int res = sysinfo(&sys);
|
||||
@@ -5772,6 +5810,7 @@ static int get_physical_memory()
|
||||
@@ -5814,6 +5852,7 @@ static int get_physical_memory()
|
||||
}
|
||||
|
||||
phys_mem = num_pages * page_size >> 20;
|
||||
@@ -170,7 +170,7 @@ index a45b77f..3607448 100644
|
||||
if(phys_mem < SQUASHFS_LOWMEM)
|
||||
BAD_ERROR("Mksquashfs requires more physical memory than is "
|
||||
diff --git a/squashfs-tools/read_xattrs.c b/squashfs-tools/read_xattrs.c
|
||||
index 4debedf..3257c30 100644
|
||||
index 2067f80..ca8b7f4 100644
|
||||
--- a/squashfs-tools/read_xattrs.c
|
||||
+++ b/squashfs-tools/read_xattrs.c
|
||||
@@ -31,13 +31,13 @@
|
||||
@@ -186,11 +186,11 @@ index 4debedf..3257c30 100644
|
||||
|
||||
-#include <stdlib.h>
|
||||
-
|
||||
extern int read_fs_bytes(int, long long, int, void *);
|
||||
extern int read_fs_bytes(int, long long, long long, void *);
|
||||
extern int read_block(int, long long, long long *, int, void *);
|
||||
|
||||
diff --git a/squashfs-tools/unsquashfs.c b/squashfs-tools/unsquashfs.c
|
||||
index 727f1d5..c1a6183 100644
|
||||
index d434b42..1208e45 100644
|
||||
--- a/squashfs-tools/unsquashfs.c
|
||||
+++ b/squashfs-tools/unsquashfs.c
|
||||
@@ -32,8 +32,12 @@
|
||||
@@ -206,7 +206,7 @@ index 727f1d5..c1a6183 100644
|
||||
#include <sys/types.h>
|
||||
#include <sys/time.h>
|
||||
#include <sys/resource.h>
|
||||
@@ -1175,7 +1179,7 @@ int create_inode(char *pathname, struct inode *i)
|
||||
@@ -1182,7 +1186,7 @@ int create_inode(char *pathname, struct inode *i)
|
||||
break;
|
||||
case SQUASHFS_SYMLINK_TYPE:
|
||||
case SQUASHFS_LSYMLINK_TYPE: {
|
||||
@@ -215,7 +215,7 @@ index 727f1d5..c1a6183 100644
|
||||
{ i->time, 0 },
|
||||
{ i->time, 0 }
|
||||
};
|
||||
@@ -1194,8 +1198,7 @@ int create_inode(char *pathname, struct inode *i)
|
||||
@@ -1201,8 +1205,7 @@ int create_inode(char *pathname, struct inode *i)
|
||||
goto failed;
|
||||
}
|
||||
|
||||
@@ -225,7 +225,7 @@ index 727f1d5..c1a6183 100644
|
||||
if(res == -1) {
|
||||
EXIT_UNSQUASH_STRICT("create_inode: failed to"
|
||||
" set time on %s, because %s\n",
|
||||
@@ -2683,6 +2686,7 @@ void initialise_threads(int fragment_buffer_size, int data_buffer_size, int cat_
|
||||
@@ -2687,6 +2690,7 @@ void initialise_threads(int fragment_buffer_size, int data_buffer_size, int cat_
|
||||
sigemptyset(&sigmask);
|
||||
sigaddset(&sigmask, SIGQUIT);
|
||||
sigaddset(&sigmask, SIGHUP);
|
||||
@@ -234,7 +234,7 @@ index 727f1d5..c1a6183 100644
|
||||
EXIT_UNSQUASH("Failed to set signal mask in initialise_threads\n");
|
||||
|
||||
diff --git a/squashfs-tools/unsquashfs.h b/squashfs-tools/unsquashfs.h
|
||||
index 934618b..0e680ab 100644
|
||||
index 1099678..5b6a038 100644
|
||||
--- a/squashfs-tools/unsquashfs.h
|
||||
+++ b/squashfs-tools/unsquashfs.h
|
||||
@@ -46,6 +46,10 @@
|
||||
@@ -249,7 +249,7 @@ index 934618b..0e680ab 100644
|
||||
#include "squashfs_fs.h"
|
||||
#include "unsquashfs_error.h"
|
||||
diff --git a/squashfs-tools/unsquashfs_info.c b/squashfs-tools/unsquashfs_info.c
|
||||
index c8e2b9b..7d4f7af 100644
|
||||
index e906eaf..f1e68c2 100644
|
||||
--- a/squashfs-tools/unsquashfs_info.c
|
||||
+++ b/squashfs-tools/unsquashfs_info.c
|
||||
@@ -96,31 +96,22 @@ void dump_state()
|
||||
@@ -304,7 +304,7 @@ index c8e2b9b..7d4f7af 100644
|
||||
}
|
||||
|
||||
diff --git a/squashfs-tools/unsquashfs_xattr.c b/squashfs-tools/unsquashfs_xattr.c
|
||||
index 7742dfe..f8cd3b6 100644
|
||||
index 61910e1..73e0090 100644
|
||||
--- a/squashfs-tools/unsquashfs_xattr.c
|
||||
+++ b/squashfs-tools/unsquashfs_xattr.c
|
||||
@@ -27,6 +27,11 @@
|
||||
@@ -320,7 +320,7 @@ index 7742dfe..f8cd3b6 100644
|
||||
|
||||
extern int root_process;
|
||||
diff --git a/squashfs-tools/xattr.c b/squashfs-tools/xattr.c
|
||||
index 64dfd82..d82d186 100644
|
||||
index b1c0089..6d7ed98 100644
|
||||
--- a/squashfs-tools/xattr.c
|
||||
+++ b/squashfs-tools/xattr.c
|
||||
@@ -22,6 +22,14 @@
|
||||
@@ -353,5 +353,5 @@ index 64dfd82..d82d186 100644
|
||||
#include "squashfs_swap.h"
|
||||
#include "mksquashfs.h"
|
||||
--
|
||||
2.23.0
|
||||
2.35.1
|
||||
|
||||
|
||||
@@ -2,44 +2,43 @@
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, fetchpatch
|
||||
, zlib
|
||||
, xz
|
||||
, help2man
|
||||
, lz4
|
||||
, lzo
|
||||
, zstd
|
||||
, nixosTests
|
||||
, which
|
||||
, xz
|
||||
, zlib
|
||||
, zstd
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "squashfs";
|
||||
version = "4.5";
|
||||
version = "4.5.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "plougher";
|
||||
repo = "squashfs-tools";
|
||||
rev = version;
|
||||
sha256 = "1nanwz5qvsakxfm37md5i7xqagv69nfik9hpj8qlp6ymw266vgxr";
|
||||
sha256 = "sha256-Y3ZPjeE9HN1F+NtGe6EchYziWrTPVQ4SuKaCvNbXMKI=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# This patch adds an option to pad filesystems (increasing size) in
|
||||
# exchange for better chunking / binary diff calculation.
|
||||
./4k-align.patch
|
||||
# Otherwise sizes of some files may break in our ISO; see
|
||||
# https://github.com/NixOS/nixpkgs/issues/132286
|
||||
(fetchpatch {
|
||||
url = "https://github.com/plougher/squashfs-tools/commit/19b161c1cd3e31f7a396ea92dea4390ad43f27b9.diff";
|
||||
sha256 = "15ng8m2my3a6a9hnfx474bip2vwdh08hzs2k0l5gwd36jv2z1h3f";
|
||||
})
|
||||
] ++ lib.optional stdenv.isDarwin ./darwin.patch;
|
||||
|
||||
buildInputs = [ zlib xz zstd lz4 lzo ];
|
||||
buildInputs = [ zlib xz zstd lz4 lzo which help2man ];
|
||||
|
||||
preBuild = ''
|
||||
cd squashfs-tools
|
||||
'' ;
|
||||
|
||||
installFlags = [ "INSTALL_DIR=${placeholder "out"}/bin" ];
|
||||
installFlags = [
|
||||
"INSTALL_DIR=${placeholder "out"}/bin"
|
||||
"INSTALL_MANPAGES_DIR=${placeholder "out"}/share/man/man1"
|
||||
];
|
||||
|
||||
makeFlags = [
|
||||
"XZ_SUPPORT=1"
|
||||
|
||||
Reference in New Issue
Block a user