[OE-core] [PATCH] squashfs-tools: upgrade to newer revision from git

Martin Jansa martin.jansa at gmail.com
Mon Jun 8 12:13:48 UTC 2015


* 4.3 release has nasty hard to reproduce bug in LZO compression
  which in few cases results in one of these 2 errors:
  1) Lseek failure when creating the FS:
    | writer: Lseek on destination failed because Bad file descriptor, offset=0x1f72306
    | FATAL ERROR:Probably out of space on output filesystem
    | Parallel mksquashfs: Using 32 processors
    | Creating 4.0 filesystem on rootfs.squashfs, block size 262144.
    ..
  2) failing to read the filesystem in runtime, kernel 3.16.0 showing
    errors like this:
    [   46.720568] SQUASHFS error: lzo decompression failed, data probably corrupt
    [   46.730003] SQUASHFS error: squashfs_read_data failed to read block 0x1f72305
    [   46.740076] SQUASHFS error: Unable to read fragment cache entry [1f72305]
  it's fixed in upstream git repo:
  https://github.com/plougher/squashfs-tools/commit/de03266983ceb62e5365aac84fcd3b2fd4d16e6f
  https://github.com/plougher/squashfs-tools/commit/9c1db6d13a51a2e009f0027ef336ce03624eac0d
  the official repo is:
  https://git.kernel.org/cgit/fs/squashfs/squashfs-tools.git
  but author's github is kept in sync so we can use just that

Signed-off-by: Martin Jansa <Martin.Jansa at gmail.com>
---
 .../squashfs-tools/squashfs-tools_4.3.bb           | 40 ----------------------
 .../squashfs-tools/squashfs-tools_git.bb           | 37 ++++++++++++++++++++
 2 files changed, 37 insertions(+), 40 deletions(-)
 delete mode 100644 meta/recipes-devtools/squashfs-tools/squashfs-tools_4.3.bb
 create mode 100644 meta/recipes-devtools/squashfs-tools/squashfs-tools_git.bb

diff --git a/meta/recipes-devtools/squashfs-tools/squashfs-tools_4.3.bb b/meta/recipes-devtools/squashfs-tools/squashfs-tools_4.3.bb
deleted file mode 100644
index 19d555e1..0000000
--- a/meta/recipes-devtools/squashfs-tools/squashfs-tools_4.3.bb
+++ /dev/null
@@ -1,40 +0,0 @@
-# Note, we can probably remove the lzma option as it has be replaced with xz,
-# and I don't think the kernel supports it any more.
-SUMMARY = "Tools for manipulating SquashFS filesystems"
-SECTION = "base"
-LICENSE = "GPL-2 & PD"
-LIC_FILES_CHKSUM = "file://../COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
-                    file://../../7zC.txt;beginline=12;endline=16;md5=2056cd6d919ebc3807602143c7449a7c \
-                   "
-DEPENDS = "attr zlib xz lzo lz4"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/squashfs/squashfs${PV}.tar.gz;name=squashfs \
-           http://downloads.sourceforge.net/sevenzip/lzma465.tar.bz2;name=lzma \
-          "
-
-SRC_URI[squashfs.md5sum] = "d92ab59aabf5173f2a59089531e30dbf"
-SRC_URI[squashfs.sha256sum] = "0d605512437b1eb800b4736791559295ee5f60177e102e4d4ccd0ee241a5f3f6"
-
-SRC_URI[lzma.md5sum] = "29d5ffd03a5a3e51aef6a74e9eafb759"
-SRC_URI[lzma.sha256sum] = "c935fd04dd8e0e8c688a3078f3675d699679a90be81c12686837e0880aa0fa1e"
-
-S = "${WORKDIR}/squashfs${PV}/squashfs-tools"
-SPDX_S = "${WORKDIR}/squashfs${PV}"
-
-# EXTRA_OEMAKE is typically: -e MAKEFLAGS=
-# the -e causes problems as CFLAGS is modified in the Makefile, so
-# we redefine EXTRA_OEMAKE here
-EXTRA_OEMAKE = "MAKEFLAGS= LZMA_SUPPORT=1 LZMA_DIR=../.. XZ_SUPPORT=1 LZO_SUPPORT=1 LZ4_SUPPORT=1"
-
-do_compile() {
-	oe_runmake mksquashfs unsquashfs
-}
-do_install () {
-        install -d ${D}${sbindir}
-        install -m 0755 mksquashfs ${D}${sbindir}/
-	install -m 0755 unsquashfs ${D}${sbindir}/
-}
-
-ARM_INSTRUCTION_SET = "arm"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-devtools/squashfs-tools/squashfs-tools_git.bb b/meta/recipes-devtools/squashfs-tools/squashfs-tools_git.bb
new file mode 100644
index 0000000..95042dd
--- /dev/null
+++ b/meta/recipes-devtools/squashfs-tools/squashfs-tools_git.bb
@@ -0,0 +1,37 @@
+# Note, we can probably remove the lzma option as it has be replaced with xz,
+# and I don't think the kernel supports it any more.
+SUMMARY = "Tools for manipulating SquashFS filesystems"
+SECTION = "base"
+LICENSE = "GPL-2 & PD"
+LIC_FILES_CHKSUM = "file://../COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+                    file://../../7zC.txt;beginline=12;endline=16;md5=2056cd6d919ebc3807602143c7449a7c \
+"
+DEPENDS = "attr zlib xz lzo lz4"
+
+PV = "4.3+gitr${SRCPV}"
+SRCREV = "9c1db6d13a51a2e009f0027ef336ce03624eac0d"
+SRC_URI = "git://github.com/plougher/squashfs-tools.git;protocol=https \
+           http://downloads.sourceforge.net/sevenzip/lzma465.tar.bz2;name=lzma \
+"
+SRC_URI[lzma.md5sum] = "29d5ffd03a5a3e51aef6a74e9eafb759"
+SRC_URI[lzma.sha256sum] = "c935fd04dd8e0e8c688a3078f3675d699679a90be81c12686837e0880aa0fa1e"
+
+S = "${WORKDIR}/git/squashfs-tools"
+
+# EXTRA_OEMAKE is typically: -e MAKEFLAGS=
+# the -e causes problems as CFLAGS is modified in the Makefile, so
+# we redefine EXTRA_OEMAKE here
+EXTRA_OEMAKE = "MAKEFLAGS= LZMA_SUPPORT=1 LZMA_DIR=../.. XZ_SUPPORT=1 LZO_SUPPORT=1 LZ4_SUPPORT=1"
+
+do_compile() {
+    oe_runmake mksquashfs unsquashfs
+}
+do_install () {
+    install -d ${D}${sbindir}
+    install -m 0755 mksquashfs ${D}${sbindir}/
+    install -m 0755 unsquashfs ${D}${sbindir}/
+}
+
+ARM_INSTRUCTION_SET = "arm"
+
+BBCLASSEXTEND = "native nativesdk"
-- 
2.4.2




More information about the Openembedded-core mailing list