From 3b8c17be3cf2049b43b29a6c001b5b7598b1af9b Mon Sep 17 00:00:00 2001 From: Mike Frysinger Date: Wed, 13 Apr 2016 14:55:14 -0400 Subject: sys-fs/squashfs-tools: apply debian patchset #576314 This gets us a few fixes and some man pages. Also fix some unaligned issues when running mksquashfs. --- sys-fs/squashfs-tools/Manifest | 1 + .../files/squashfs-tools-4.3-aligned-data.patch | 15 +++++ sys-fs/squashfs-tools/squashfs-tools-4.3-r1.ebuild | 64 ++++++++++++++++++++++ 3 files changed, 80 insertions(+) create mode 100644 sys-fs/squashfs-tools/files/squashfs-tools-4.3-aligned-data.patch create mode 100644 sys-fs/squashfs-tools/squashfs-tools-4.3-r1.ebuild (limited to 'sys-fs/squashfs-tools') diff --git a/sys-fs/squashfs-tools/Manifest b/sys-fs/squashfs-tools/Manifest index 89f24ed2b873..b76fa6f016af 100644 --- a/sys-fs/squashfs-tools/Manifest +++ b/sys-fs/squashfs-tools/Manifest @@ -1,3 +1,4 @@ +DIST squashfs-tools_4.3-3.debian.tar.xz 15252 SHA256 1c296cc147e322e7124bf23a3c242ac83f6a986e6d6f64829ad2424b33914fc4 SHA512 ab1a707e04e92697549f7e7c667c5da835d39d5e2cb791e47bf549b232e7173e6981c33a87cd373c4a7a4815e4af1b7294fe13e54422a5ccdcff90904bfc51ae WHIRLPOOL 4f5a12a3371f2adced8f3a50b1d25db4420c2ff63856bbe74489e945c4698eb0e327ce677e442678849118f45351d01b14aef075ed78e6c09acb83ce56c99c3d DIST squashfs3.2-r2.tar.gz 314764 SHA256 8482465d58d78099c608b32fc034921f7c8c3cf7934b5edc68c463cd450b40a7 SHA512 983f1fa966c15fb4929eaaf2d88401aac72f6d04e8c5523bd46397bc28928ff13b638e0e96bc09650627449c37f6a654ffa727445f1e9ca13cdc9de4fc43012f WHIRLPOOL 14b22cfc16e5c9bc91a5e02b9d4b64589339162d59613b12c2344acbed34690616a7a0254d9a63f839e96ff4b850f30fd7e1e855aecb76423356f4b1d8582129 DIST squashfs3.4.tar.gz 352660 SHA256 9ea1a9b3bd4f387ca11b5e96f00f8ae996fb81c4c7ad41f7c7f359917628a339 SHA512 5e126ea468271f54c62d473a04a355169514f2668b4dc0de4138a8ef2a6e633d373454e7b85c1c684b875d9dfc8afb17c05548dd5062d05f847ffef8e624d9fe WHIRLPOOL 7c113f3a66d0d28310302017e5f317d14bb5576e680a8f94e687193a376db92c54920be7d1121637f860cafa802d665ba419115e976b07029ca1f0c51953972d DIST squashfs4.3.tar.gz 182550 SHA256 0d605512437b1eb800b4736791559295ee5f60177e102e4d4ccd0ee241a5f3f6 SHA512 854ed7acc99920f24ecf11e0da807e5a2a162eeda55db971aba63a03f0da2c13b20ec0564a906c4b0e415bd8258b273a10208c7abc0704f2ceea773aa6148a79 WHIRLPOOL c819f416b34cc46a232b8bc385017774603f81b4a865e6b97208004c183ebad5de7d0f726be444f8cb4e1d450abed9340dab730aec0762407f034e99b39bdc06 diff --git a/sys-fs/squashfs-tools/files/squashfs-tools-4.3-aligned-data.patch b/sys-fs/squashfs-tools/files/squashfs-tools-4.3-aligned-data.patch new file mode 100644 index 000000000000..024129ffa958 --- /dev/null +++ b/sys-fs/squashfs-tools/files/squashfs-tools-4.3-aligned-data.patch @@ -0,0 +1,15 @@ +the mksquashfs code has an all_zeros func that does: + long *p = (long *) file_buffer->data; + +make sure we force the data field to be aligned so that still works. + +--- a/squashfs-tools/caches-queues-lists.h ++++ b/squashfs-tools/caches-queues-lists.h +@@ -123,6 +123,7 @@ struct file_buffer { + char locked; + char wait_on_unlock; + char noD; ++ long _pad; + char data[0]; + }; + diff --git a/sys-fs/squashfs-tools/squashfs-tools-4.3-r1.ebuild b/sys-fs/squashfs-tools/squashfs-tools-4.3-r1.ebuild new file mode 100644 index 000000000000..9a3ccd0b8143 --- /dev/null +++ b/sys-fs/squashfs-tools/squashfs-tools-4.3-r1.ebuild @@ -0,0 +1,64 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="5" + +inherit eutils toolchain-funcs + +DEB_VER="3" + +DESCRIPTION="Tool for creating compressed filesystem type squashfs" +HOMEPAGE="http://squashfs.sourceforge.net" +SRC_URI="mirror://sourceforge/squashfs/squashfs${PV}.tar.gz + mirror://debian/pool/main/${PN:0:1}/${PN}/${PN}_${PV}-${DEB_VER}.debian.tar.xz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86" +IUSE="lz4 lzma lzo xattr +xz" + +RDEPEND=" + sys-libs/zlib + !xz? ( !lzo? ( sys-libs/zlib ) ) + lz4? ( app-arch/lz4 ) + lzma? ( app-arch/xz-utils ) + lzo? ( dev-libs/lzo ) + xattr? ( sys-apps/attr ) + xz? ( app-arch/xz-utils ) +" +DEPEND="${RDEPEND}" + +S="${WORKDIR}/squashfs${PV}/${PN}" + +src_prepare() { + epatch "${WORKDIR}"/debian/patches/*.patch + epatch "${FILESDIR}"/${P}-sysmacros.patch + epatch "${FILESDIR}"/${P}-aligned-data.patch +} + +use10() { usex $1 1 0 ; } + +src_configure() { + # set up make command line variables in EMAKE_SQUASHFS_CONF + EMAKE_SQUASHFS_CONF=( + LZMA_XZ_SUPPORT=$(use10 lzma) + LZO_SUPPORT=$(use10 lzo) + LZ4_SUPPORT=$(use10 lz4) + XATTR_SUPPORT=$(use10 xattr) + XZ_SUPPORT=$(use10 xz) + ) + + tc-export CC +} + +src_compile() { + emake "${EMAKE_SQUASHFS_CONF[@]}" +} + +src_install() { + dobin mksquashfs unsquashfs + cd .. + dodoc CHANGES PERFORMANCE.README pseudo-file.example README* OLD-READMEs/* + doman "${WORKDIR}"/debian/manpages/*.[0-9] +} -- cgit v1.2.3