summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sys-fs/squashfs-tools')
-rw-r--r--sys-fs/squashfs-tools/Manifest1
-rw-r--r--sys-fs/squashfs-tools/files/squashfs-tools-4.3-quiet.patch56
-rw-r--r--sys-fs/squashfs-tools/metadata.xml9
-rw-r--r--sys-fs/squashfs-tools/squashfs-tools-4.3.ebuild62
4 files changed, 128 insertions, 0 deletions
diff --git a/sys-fs/squashfs-tools/Manifest b/sys-fs/squashfs-tools/Manifest
new file mode 100644
index 00000000..3b184315
--- /dev/null
+++ b/sys-fs/squashfs-tools/Manifest
@@ -0,0 +1 @@
+DIST squashfs4.3.tar.gz 182550 SHA256 0d605512437b1eb800b4736791559295ee5f60177e102e4d4ccd0ee241a5f3f6 SHA512 854ed7acc99920f24ecf11e0da807e5a2a162eeda55db971aba63a03f0da2c13b20ec0564a906c4b0e415bd8258b273a10208c7abc0704f2ceea773aa6148a79 WHIRLPOOL c819f416b34cc46a232b8bc385017774603f81b4a865e6b97208004c183ebad5de7d0f726be444f8cb4e1d450abed9340dab730aec0762407f034e99b39bdc06
diff --git a/sys-fs/squashfs-tools/files/squashfs-tools-4.3-quiet.patch b/sys-fs/squashfs-tools/files/squashfs-tools-4.3-quiet.patch
new file mode 100644
index 00000000..c4fe57de
--- /dev/null
+++ b/sys-fs/squashfs-tools/files/squashfs-tools-4.3-quiet.patch
@@ -0,0 +1,56 @@
+--- 1/squashfs-tools/mksquashfs.c
++++ 1/squashfs-tools/mksquashfs.c
+@@ -78,6 +78,7 @@
+ #include "process_fragments.h"
+
+ int delete = FALSE;
++int quiet = FALSE;
+ int fd;
+ struct squashfs_super_block sBlk;
+
+@@ -4169,7 +4170,7 @@
+
+ main_thread = pthread_self();
+
+- printf("Parallel mksquashfs: Using %d processor%s\n", processors,
++ quiet || printf("Parallel mksquashfs: Using %d processor%s\n", processors,
+ processors == 1 ? "" : "s");
+
+ /* Restore the signal mask for the main thread */
+@@ -4687,6 +4688,9 @@
+ total_bytes += total_inode_bytes + total_directory_bytes +
+ sizeof(struct squashfs_super_block) + total_xattr_bytes;
+
++ if(quiet)
++ return;
++
+ printf("\n%sSquashfs %d.%d filesystem, %s compressed, data block size"
+ " %d\n", exportable ? "Exportable " : "", SQUASHFS_MAJOR,
+ SQUASHFS_MINOR, comp->name, block_size);
+@@ -5259,6 +5263,9 @@
+ else if(strcmp(argv[i], "-noappend") == 0)
+ delete = TRUE;
+
++ else if(strcmp(argv[i], "-quiet") == 0)
++ quiet = TRUE;
++
+ else if(strcmp(argv[i], "-keep-as-directory") == 0)
+ keep_as_directory = TRUE;
+
+@@ -5351,6 +5358,7 @@
+ "using recovery file <name>\n");
+ ERROR("-no-recovery\t\tdon't generate a recovery "
+ "file\n");
++ ERROR("-quiet\t\t\tno verbose output\n");
+ ERROR("-info\t\t\tprint files written to filesystem\n");
+ ERROR("-no-progress\t\tdon't display the progress "
+ "bar\n");
+@@ -5541,7 +5549,7 @@
+ void *comp_data = compressor_dump_options(comp, block_size,
+ &size);
+
+- printf("Creating %d.%d filesystem on %s, block size %d.\n",
++ quiet || printf("Creating %d.%d filesystem on %s, block size %d.\n",
+ SQUASHFS_MAJOR, SQUASHFS_MINOR, argv[source + 1], block_size);
+
+ /*
diff --git a/sys-fs/squashfs-tools/metadata.xml b/sys-fs/squashfs-tools/metadata.xml
new file mode 100644
index 00000000..1e576aae
--- /dev/null
+++ b/sys-fs/squashfs-tools/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>livecd</herd>
+ <use>
+ <flag name="xz">Enable support for XZ ("LZMA2") compression using <pkg>app-arch/xz-utils</pkg></flag>
+ <flag name="lz4">Enable support for LZ4 compression using <pkg>app-arch/lz4</pkg></flag>
+ </use>
+</pkgmetadata>
diff --git a/sys-fs/squashfs-tools/squashfs-tools-4.3.ebuild b/sys-fs/squashfs-tools/squashfs-tools-4.3.ebuild
new file mode 100644
index 00000000..7703390b
--- /dev/null
+++ b/sys-fs/squashfs-tools/squashfs-tools-4.3.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit eutils flag-o-matic toolchain-funcs
+
+DESCRIPTION="Tool for creating compressed filesystem type squashfs. Patched to support -quiet"
+HOMEPAGE="http://squashfs.sourceforge.net"
+SRC_URI="mirror://sourceforge/squashfs/squashfs${PV}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~hppa ~ia64 ~mips ~x86"
+IUSE="+xz lzma lz4 lzo xattr"
+
+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 "${FILESDIR}/${P}-quiet.patch"
+ epatch_user
+}
+
+src_configure() {
+ # set up make command line variables in EMAKE_SQUASHFS_CONF
+ EMAKE_SQUASHFS_CONF=(
+ $(usex lzma LZMA_XZ_SUPPORT=1 LZMA_XS_SUPPORT=0)
+ $(usex lzo LZO_SUPPORT=1 LZO_SUPPORT=0)
+ $(usex lz4 LZ4_SUPPORT=1 LZ4_SUPPORT=0)
+ $(usex xattr XATTR_SUPPORT=1 XATTR_SUPPORT=0)
+ $(usex xz XZ_SUPPORT=1 XZ_SUPPORT=0)
+ )
+ filter-flags -fno-common
+
+ tc-export CC
+}
+
+src_compile() {
+ emake ${EMAKE_SQUASHFS_CONF[@]}
+}
+
+src_install() {
+ dobin mksquashfs unsquashfs
+ dodoc ../README
+}
+
+pkg_postinst() {
+ ewarn "This version of mksquashfs requires a 2.6.29 kernel or better"
+ use xz &&
+ ewarn "XZ support requires a 2.6.38 kernel or better"
+}