tools: migrate from squashfs4 to squashfskit4
[openwrt/staging/jogo.git] / tools / squashfs4 / patches / 170-add_support_for_LZMA_MAGIC_to_unsqashfs.patch
diff --git a/tools/squashfs4/patches/170-add_support_for_LZMA_MAGIC_to_unsqashfs.patch b/tools/squashfs4/patches/170-add_support_for_LZMA_MAGIC_to_unsqashfs.patch
deleted file mode 100644 (file)
index bc7d6c7..0000000
+++ /dev/null
@@ -1,72 +0,0 @@
---- a/squashfs-tools/squashfs_fs.h
-+++ b/squashfs-tools/squashfs_fs.h
-@@ -30,6 +30,13 @@
- #define SQUASHFS_MAGIC_SWAP           0x68737173
- #define SQUASHFS_START                        0
-+/*
-+ * Squashfs + LZMA
-+ */
-+
-+#define SQUASHFS_MAGIC_LZMA           0x71736873
-+#define SQUASHFS_MAGIC_LZMA_SWAP      0x73687371
-+
- /* size of metadata (inode and directory) blocks */
- #define SQUASHFS_METADATA_SIZE                8192
- #define SQUASHFS_METADATA_LOG         13
---- a/squashfs-tools/unsquashfs.c
-+++ b/squashfs-tools/unsquashfs.c
-@@ -1464,10 +1464,12 @@ int read_super(char *source)
-        */
-       read_fs_bytes(fd, SQUASHFS_START, sizeof(struct squashfs_super_block),
-               &sBlk_4);
--      swap = sBlk_4.s_magic != SQUASHFS_MAGIC;
-+      swap = (sBlk_4.s_magic != SQUASHFS_MAGIC &&
-+              sBlk_4.s_magic != SQUASHFS_MAGIC_LZMA);
-       SQUASHFS_INSWAP_SUPER_BLOCK(&sBlk_4);
--      if(sBlk_4.s_magic == SQUASHFS_MAGIC && sBlk_4.s_major == 4 &&
-+      if((sBlk_4.s_magic == SQUASHFS_MAGIC || 
-+         sBlk_4.s_magic == SQUASHFS_MAGIC_LZMA) && sBlk_4.s_major == 4 &&
-                       sBlk_4.s_minor == 0) {
-               s_ops.squashfs_opendir = squashfs_opendir_4;
-               s_ops.read_fragment = read_fragment_4;
-@@ -1480,7 +1482,11 @@ int read_super(char *source)
-               /*
-                * Check the compression type
-                */
--              comp = lookup_compressor_id(sBlk.s.compression);
-+              if (sBlk_4.s_magic == SQUASHFS_MAGIC_LZMA)
-+                      comp = lookup_compressor("lzma");
-+              else
-+                      comp = lookup_compressor_id(sBlk.s.compression);
-+
-               return TRUE;
-       }
-@@ -1495,8 +1501,10 @@ int read_super(char *source)
-        * Check it is a SQUASHFS superblock
-        */
-       swap = 0;
--      if(sBlk_3.s_magic != SQUASHFS_MAGIC) {
--              if(sBlk_3.s_magic == SQUASHFS_MAGIC_SWAP) {
-+      if(sBlk_3.s_magic != SQUASHFS_MAGIC && 
-+                      sBlk_3.s_magic != SQUASHFS_MAGIC_LZMA) {
-+              if(sBlk_3.s_magic == SQUASHFS_MAGIC_SWAP || 
-+                              sBlk_3.s_magic == SQUASHFS_MAGIC_LZMA_SWAP) {
-                       squashfs_super_block_3 sblk;
-                       ERROR("Reading a different endian SQUASHFS filesystem "
-                               "on %s\n", source);
-@@ -1574,7 +1582,11 @@ int read_super(char *source)
-       /*
-        * 1.x, 2.x and 3.x filesystems use gzip compression.
-        */
--      comp = lookup_compressor("gzip");
-+      if (sBlk.s.s_magic == SQUASHFS_MAGIC_LZMA)
-+              comp = lookup_compressor("lzma");
-+      else
-+              comp = lookup_compressor("gzip");
-+
-       return TRUE;
- failed_mount: