diff options
author | Frederik Rietdijk <fridh@fridh.nl> | 2019-07-09 15:46:00 +0200 |
---|---|---|
committer | Frederik Rietdijk <fridh@fridh.nl> | 2019-07-09 15:46:00 +0200 |
commit | 74c24385cb2864f937031df74af14fc8060e1540 (patch) | |
tree | 5524856cfa11a449f4bef972fbc994bec6ff44cf /pkgs/tools/filesystems | |
parent | 5c8472a2a17625855d0811ebb5709c9aa84fdd3f (diff) | |
parent | f0e38f7b3810b0f06bbe6908158fcb247d0e2dd3 (diff) | |
download | nixlib-74c24385cb2864f937031df74af14fc8060e1540.tar nixlib-74c24385cb2864f937031df74af14fc8060e1540.tar.gz nixlib-74c24385cb2864f937031df74af14fc8060e1540.tar.bz2 nixlib-74c24385cb2864f937031df74af14fc8060e1540.tar.lz nixlib-74c24385cb2864f937031df74af14fc8060e1540.tar.xz nixlib-74c24385cb2864f937031df74af14fc8060e1540.tar.zst nixlib-74c24385cb2864f937031df74af14fc8060e1540.zip |
Merge master into staging-next
Diffstat (limited to 'pkgs/tools/filesystems')
-rw-r--r-- | pkgs/tools/filesystems/squashfs/default.nix | 2 | ||||
-rw-r--r-- | pkgs/tools/filesystems/squashfs/squashfs-tools-4.4-4k-align.patch (renamed from pkgs/tools/filesystems/squashfs/squashfs-tools-4.3-4k-align.patch) | 38 |
2 files changed, 17 insertions, 23 deletions
diff --git a/pkgs/tools/filesystems/squashfs/default.nix b/pkgs/tools/filesystems/squashfs/default.nix index 2fd3d52bdf67..59a786116df6 100644 --- a/pkgs/tools/filesystems/squashfs/default.nix +++ b/pkgs/tools/filesystems/squashfs/default.nix @@ -27,7 +27,7 @@ stdenv.mkDerivation rec { # This patch adds an option to pad filesystems (increasing size) in # exchange for better chunking / binary diff calculation. - ./squashfs-tools-4.3-4k-align.patch + ./squashfs-tools-4.4-4k-align.patch ] ++ stdenv.lib.optional stdenv.isDarwin ./darwin.patch; buildInputs = [ zlib xz zstd ] diff --git a/pkgs/tools/filesystems/squashfs/squashfs-tools-4.3-4k-align.patch b/pkgs/tools/filesystems/squashfs/squashfs-tools-4.4-4k-align.patch index cd4308b489fe..c9c3dd3d7604 100644 --- a/pkgs/tools/filesystems/squashfs/squashfs-tools-4.3-4k-align.patch +++ b/pkgs/tools/filesystems/squashfs/squashfs-tools-4.4-4k-align.patch @@ -16,24 +16,20 @@ increased_size = (number_of_unfragmented_files_in_image + number of fragments) * The 4k alignment can be enabled by flag '-4k-align' --- - squashfs-tools/mksquashfs.c | 16 ++++++++++++++++ - 1 file changed, 16 insertions(+) - -diff --git a/squashfs-tools/mksquashfs.c b/squashfs-tools/mksquashfs.c -index 8b1376f..683973d 100644 ---- a/squashfs-tools/mksquashfs.c -+++ b/squashfs-tools/mksquashfs.c -@@ -99,6 +99,8 @@ int old_exclude = TRUE; +diff -u a/squashfs-tools/mksquashfs.c b/squashfs-tools/mksquashfs.c +--- a/squashfs-tools/mksquashfs.c 2019-07-06 15:50:22.214873176 +0000 ++++ b/squashfs-tools/mksquashfs.c 2019-07-06 15:51:22.244802582 +0000 +@@ -100,7 +100,9 @@ int use_regex = FALSE; int nopad = FALSE; int exit_on_error = FALSE; - static off_t squashfs_start_offset = 0; +int do_4k_align = FALSE; + static off_t squashfs_start_offset = 0; +#define ALIGN_UP(bytes, size) (bytes = (bytes + size - 1) & ~(size - 1)) - + long long global_uid = -1, global_gid = -1; - -@@ -1513,6 +1515,9 @@ void unlock_fragments() + +@@ -1495,6 +1497,9 @@ * queue at this time. */ while(!queue_empty(locked_fragment)) { @@ -41,9 +37,9 @@ index 8b1376f..683973d 100644 + if(do_4k_align) + ALIGN_UP(bytes, 4096); write_buffer = queue_get(locked_fragment); - frg = write_buffer->block; + frg = write_buffer->block; size = SQUASHFS_COMPRESSED_SIZE_BLOCK(fragment_table[frg].size); -@@ -2420,6 +2420,9 @@ +@@ -2414,6 +2419,9 @@ compressed_size = SQUASHFS_COMPRESSED_SIZE_BLOCK(c_byte); write_buffer->size = compressed_size; if(fragments_locked == FALSE) { @@ -53,18 +49,18 @@ index 8b1376f..683973d 100644 fragment_table[file_buffer->block].size = c_byte; fragment_table[file_buffer->block].start_block = bytes; write_buffer->block = bytes; -@@ -2761,6 +2769,10 @@ int write_file_blocks(squashfs_inode *inode, struct dir_ent *dir_ent, +@@ -2728,6 +2736,10 @@ long long sparse = 0; struct file_buffer *fragment_buffer = NULL; - + + // 4k align the start of each file. + if(do_4k_align) + ALIGN_UP(bytes, 4096); + if(pre_duplicate(read_size)) return write_file_blocks_dup(inode, dir_ent, read_buffer, dup); - -@@ -4692,6 +4704,7 @@ void write_filesystem_tables(struct squashfs_super_block *sBlk, int nopad) + +@@ -4808,6 +4820,7 @@ "compressed", no_fragments ? "no" : noF ? "uncompressed" : "compressed", no_xattrs ? "no" : noX ? "uncompressed" : "compressed", noI || noId ? "uncompressed" : "compressed"); @@ -72,7 +68,7 @@ index 8b1376f..683973d 100644 printf("\tduplicates are %sremoved\n", duplicate_checking ? "" : "not "); printf("Filesystem size %.2f Kbytes (%.2f Mbytes)\n", bytes / 1024.0, -@@ -5346,6 +5359,8 @@ print_compressor_options: +@@ -5570,6 +5583,8 @@ root_name = argv[i]; } else if(strcmp(argv[i], "-version") == 0) { VERSION(); @@ -81,7 +77,7 @@ index 8b1376f..683973d 100644 } else { ERROR("%s: invalid option\n\n", argv[0]); printOptions: -@@ -5387,6 +5402,7 @@ printOptions: +@@ -5613,6 +5628,7 @@ ERROR("\t\t\tdirectory containing that directory, " "rather than the\n"); ERROR("\t\t\tcontents of the directory\n"); @@ -89,5 +85,3 @@ index 8b1376f..683973d 100644 ERROR("\nFilesystem filter options:\n"); ERROR("-p <pseudo-definition>\tAdd pseudo file " "definition\n"); --- -2.14.1.480.gb18f417b89-goog (previously; hand-patched by charles-dyfis-net) |