squashfs-tools: upgrade to newer revision from git
PATCH 1/1 squashfs-tools: upgrade to newer revision from git
* 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
--- .../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
meta/recipes-devtools/squashfs-tools/squashfs-tools_4.3.bb deleted +0 -40
@@ -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"
meta/recipes-devtools/squashfs-tools/squashfs-tools_git.bb new file +37 -0
@@ -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"
Signature · 1 line
2.4.2
Quoted 8 lines · Martin Jansa
* 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. ..
Quoted 11 lines
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_datafailed to read block0x1f72305
[ 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
Ping
Quoted 9 lines · Martin Jansa
Quoted 6 lines · Martin Jansa
* 4.3 release has nasty hard to reproduce bug in LZO compression which in few cases results in one of these 2 errors:
....
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 thatPing
The author doesn't provide version tags in either of his repositories, which make upstream version check impossible.
When a new version with this fix is released we should revert back to tarballs. If the patch didn't already appear in poky, I would suggest you cherry-pick those fixes instead.
Alex
Quoted 9 lines · Alexander Kanavin
Quoted 8 lines · Martin Jansa
Quoted 6 lines · Martin Jansa
* 4.3 release has nasty hard to reproduce bug in LZO compression which in few cases results in one of these 2 errors:
....
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
Quoted 8 lines
Quoted 1 line
Ping
The author doesn't provide version tags in either of his repositories, which make upstream version check impossible.
When a new version with this fix is released we should revert back to tarballs. If the patch didn't already appear in poky, I would suggest you cherry-pick those fixes instead.
He said that there won't be any new release in near future if ever.
Signature · 1 line
Martin 'JaMa' Jansa jabber: [email protected]
Quoted 5 lines · Martin Jansa
Quoted 3 lines
When a new version with this fix is released we should revert back to tarballs. If the patch didn't already appear in poky, I would suggest you cherry-pick those fixes instead.
He said that there won't be any new release in near future if ever.
That's ok too, upstream version check should let us know whenever he pushes new commits to git repo. It's rather odd that such a critical fix is only available from git though.
Alex