summaryrefslogtreecommitdiff
path: root/sys-fs
diff options
context:
space:
mode:
Diffstat (limited to 'sys-fs')
-rw-r--r--sys-fs/aufs-util/aufs-util-99999999.ebuild42
-rw-r--r--sys-fs/aufs-util/metadata.xml8
-rw-r--r--sys-fs/aufs/aufs-99999999.ebuild200
-rw-r--r--sys-fs/aufs/files/grsecurity-2.2.0.patch61
-rw-r--r--sys-fs/aufs/files/grsecurity-2.2.1.patch63
-rw-r--r--sys-fs/aufs/files/grsecurity-2.2.2.patch61
-rw-r--r--sys-fs/aufs/files/grsecurity-2.2.2.r1.patch15
-rw-r--r--sys-fs/aufs/files/grsecurity-2.9.1.patch15
-rw-r--r--sys-fs/aufs/metadata.xml12
-rw-r--r--sys-fs/emount/Manifest1
-rw-r--r--sys-fs/emount/emount-2.8.3.ebuild41
-rw-r--r--sys-fs/emount/metadata.xml16
-rw-r--r--sys-fs/squash_dir/Manifest1
-rw-r--r--sys-fs/squash_dir/metadata.xml22
-rw-r--r--sys-fs/squash_dir/squash_dir-13.8.ebuild100
-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
-rw-r--r--sys-fs/squashmount/Manifest1
-rw-r--r--sys-fs/squashmount/metadata.xml16
-rw-r--r--sys-fs/squashmount/squashmount-12.2.0.ebuild73
22 files changed, 876 insertions, 0 deletions
diff --git a/sys-fs/aufs-util/aufs-util-99999999.ebuild b/sys-fs/aufs-util/aufs-util-99999999.ebuild
new file mode 100644
index 00000000..b4264e15
--- /dev/null
+++ b/sys-fs/aufs-util/aufs-util-99999999.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+EGIT_REPO_URI="git://aufs.git.sourceforge.net/gitroot/aufs/aufs-util.git"
+EGIT_BRANCH="aufs3.9"
+inherit eutils git-r3 linux-info multilib
+
+DESCRIPTION="Userspace tools for aufs"
+HOMEPAGE="http://aufs.sourceforge.net/"
+SRC_URI=""
+
+LICENSE="GPL-2"
+SLOT="0/3.9"
+# Since this is a live ebuild, we require ACCEPT_KEYWORDS='**'
+#KEYWORDS="~amd64 ~x86"
+KEYWORDS=""
+IUSE=""
+PROPERTIES="live"
+
+RDEPEND=""
+DEPEND="dev-vcs/git[curl]"
+
+src_prepare() {
+ local i l
+ ln -s "${KERNEL_DIR}"/include local_kernel
+ set -- local_kernel/linux/aufs*.h
+ test -e "${1}" || {
+ eerror "It seems you do not have installed aufs into your kernel tree."
+ die "You might need to emerge >=sys-fs/aufs-99999999::mv"
+ }
+ l="s|/usr/lib|$(get_libdir)|"
+ sed -i -e "1iCFLAGS += -I./local_kernel -include linux/compiler.h" -e "${l}" Makefile || \
+ die "Patching Makefile failed"
+ for i in lib*/Makefile
+ do test -e "${i}" || continue
+ sed -i -e "1iCFLAGS += -I../local_kernel" -e "${l}" "${i}" || \
+ die "Patching ${i} failed"
+ done
+ epatch_user
+}
diff --git a/sys-fs/aufs-util/metadata.xml b/sys-fs/aufs-util/metadata.xml
new file mode 100644
index 00000000..73a6d343
--- /dev/null
+++ b/sys-fs/aufs-util/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>martin@mvath.de</email>
+ <name>Martin Väth</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/sys-fs/aufs/aufs-99999999.ebuild b/sys-fs/aufs/aufs-99999999.ebuild
new file mode 100644
index 00000000..f986d375
--- /dev/null
+++ b/sys-fs/aufs/aufs-99999999.ebuild
@@ -0,0 +1,200 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+EGIT_REPO_URI="git://aufs.git.sourceforge.net/gitroot/aufs/aufs3-standalone.git"
+EGIT_BRANCH="aufs3.0"
+inherit eutils git-r3 linux-info
+
+DESCRIPTION="An entirely re-designed and re-implemented Unionfs"
+HOMEPAGE="http://aufs.sourceforge.net/"
+SRC_URI=""
+
+LICENSE="GPL-2"
+SLOT="0/3"
+# Since this is a live ebuild with unstable versions in portage we require
+# that the user unmasks this ebuild with ACCEPT_KEYWORDS='**'
+#KEYWORDS="~amd64 ~x86"
+KEYWORDS=""
+IUSE="kernel-patch all-patches"
+PROPERTIES="live"
+
+RDEPEND="!sys-fs/aufs2
+ !sys-fs/aufs3"
+DEPEND="dev-vcs/git[curl]"
+
+declare -a my_patchlist
+
+fill_my_patchlist() {
+ local i
+ my_patchlist=()
+ for i
+ do case ${i} in
+ *.patch|*.diff)
+ ! test -f "${i}" || my_patchlist+=("${i}");;
+ esac
+ done
+}
+
+apply_my_patch() {
+ local r
+ r=
+ if [ ${#} -gt 1 ]
+ then shift
+ r='-R'
+ fi
+ patch ${r} -p1 --dry-run --force <"${1}" >/dev/null || return
+ einfo "Applying kernel patch ${1}${r:+ reversely}"
+ patch ${r} -p1 --force --no-backup-if-mismatch <"${1}" >/dev/null || {
+ eerror "applying kernel patch ${1}${r:+ reversely} failed."
+ eerror "Since dry run succeeded this is probably a problem with write permissions."
+ die "With USE=-kernel-patch you avoid automatic patching attempts."
+ }
+}
+
+apply_my_patchlist() {
+ local r i
+ r=
+ if [ ${#} -gt 0 ]
+ then shift
+ r='-R'
+ fi
+ set --
+ for i in "${my_patchlist[@]}"
+ do if use all-patches || case "${i}" in
+ aufs*)
+ :;;
+ *)
+ false;;
+ esac
+ then apply_my_patch ${r} "${i}" || set -- "${@}" "${i}"
+ else einfo "Kernel patch ${i} - skipping as all-patches is not set"
+ fi
+ done
+ for i
+ do apply_my_patch ${r} "${i}" || \
+ ewarn "Kernel patch ${i} cannot be${r:+ reverse} applied - skipping."
+ done
+}
+
+pkg_setup() {
+ linux-info_pkg_setup
+
+ # kernel version check
+ if kernel_is lt 2 6 26
+ then
+ eerror "${PN} is being developed and tested on linux-2.6.26 and later."
+ eerror "Make sure you have a proper kernel version!"
+ die "Wrong kernel version"
+ fi
+
+ if [ -n "${AUFSBRANCH}" ]
+ then EGIT_BRANCH="${AUFSBRANCH}"
+ else if kernel_is lt 3 0
+ then [ -n "${KV_PATCH}" ] && EGIT_BRANCH="aufs2.2-${KV_PATCH}"
+ else [ -n "${KV_MINOR}" ] && EGIT_BRANCH="aufs${KV_MAJOR}.${KV_MINOR}"
+ fi
+ case ${EGIT_BRANCH} in
+ aufs3.7)
+ EGIT_BRANCH="aufs3.x-rcN";;
+ esac
+ fi
+ elog
+ elog "Using aufs branch: ${EGIT_BRANCH}"
+ elog "If this guess for the branch is wrong, set AUFSBRANCH."
+ elog "For example, to use the aufs3.0 branch for kernel version 3.0, use:"
+ elog " AUFSBRANCH=aufs3.0 emerge -1 aufs"
+ elog
+ elog "To find out names of testing branches you might want to use"
+ elog "( cd ${EGIT_DIR} && git log --decorate --graph --all --full-history )"
+ if [ -n "${EVCS_OFFLINE}" ]
+ then elog
+ elog "Note that it might be necessary in addition to fetch the newest aufs:"
+ elog "Set EVCS_OFFLINE='' in the environment and be online during emerge."
+ fi
+ elog
+
+ use kernel-patch || return 0
+ (
+ set --
+ cd -- "${KV_DIR}" >/dev/null 2>&1 && \
+ fill_my_patchlist *.patch *.diff && apply_my_patchlist -R
+ )
+}
+
+src_prepare() {
+ local i j w v newest all
+ epatch_user
+ all="2.2.0 2.2.1 2.2.2 2.2.2.r1 2.9.1"
+ newest=${all##* }
+ v=
+ for i in ${GRSECURITYPATCHVER-+}
+ do case ${i} in
+ '+')
+ j=${newest};;
+ '*')
+ j=${all};;
+ *)
+ w=:
+ for j in ${all}
+ do [ "${i}" = "${j}" ] && w=false && continue
+ done
+ if ${w}
+ then warn "GRSECURITYPATCHVER contains bad version ${i}"
+ else j="${i}"
+ fi;;
+ esac
+ v="${v} ${j}"
+ done
+ v=${v# }
+ elog
+ elog "Using GRSECURITYPATCHVER: ${v}"
+ elog "If you want other patches, set GRSECURITYPATCHVER to some or more of:"
+ elog "${all} +"
+ elog "The special value + means the newest version (${newest}) and is default."
+ elog "The special value * means all versions."
+ elog
+ for i in ${v}
+ do j="grsecurity-${i}.patch"
+ cp -p -- "${FILESDIR}/${j}" "aufs-${j}" || die "copying ${j} failed"
+ done
+}
+
+src_configure() {
+ :
+}
+
+src_compile() {
+ :
+}
+
+src_install() {
+ local i k dk
+ i="Documentation/filesystems/aufs/aufs.5"
+ test -e "${i}" && doman "${i}"
+ k="$(readlink -f -- "${KV_DIR}")" && [ -n "${k}" ] || k="${KV_DIR}"
+ dk="${D}/${k}"
+ dodir "${k}/fs/aufs"
+ cp -pPR -- fs/aufs/* "${dk}/fs/aufs"
+ cp -pPR -- include "${dk}"
+ find "${dk}"/include -name Kbuild -type f -exec rm -v -- '{}' ';'
+ fill_my_patchlist *.patch *.diff
+ cp -pPR -- "${my_patchlist[@]}" "${dk}"
+}
+
+pkg_postinst() {
+ [ "${#my_patchlist[@]}" -eq 0 ] && {
+ cd -- "${KV_DIR}" >/dev/null 2>&1 && fill_my_patchlist *.patch *.diff
+ }
+ if use kernel-patch
+ then cd -- "${KV_DIR}" >/dev/null 2>&1 || die "cannot cd to ${KV_DIR}"
+ apply_my_patchlist
+ elog "Your kernel has been patched. Cleanup and recompile it, selecting"
+ else elog "You will have to apply the following patch to your kernel:"
+ elog " cd ${KV_DIR} && cat ${my_patchlist[*]} | patch -p1 --no-backup-if-mismatch"
+ elog "Then cleanup and recompile your kernel, selecting"
+ fi
+ elog " Filesystems/Miscellaneous Filesystems/aufs"
+ elog "in the configuration phase."
+}
diff --git a/sys-fs/aufs/files/grsecurity-2.2.0.patch b/sys-fs/aufs/files/grsecurity-2.2.0.patch
new file mode 100644
index 00000000..5c805ba7
--- /dev/null
+++ b/sys-fs/aufs/files/grsecurity-2.2.0.patch
@@ -0,0 +1,61 @@
+--- linux/include/linux/fs.h
++++ linux/include/linux/fs.h
+@@ -575,41 +575,41 @@
+ unsigned long, unsigned long);
+
+ struct address_space_operations {
+- int (* const writepage)(struct page *page, struct writeback_control *wbc);
+- int (* const readpage)(struct file *, struct page *);
+- void (* const sync_page)(struct page *);
++ int (*writepage)(struct page *page, struct writeback_control *wbc);
++ int (*readpage)(struct file *, struct page *);
++ void (*sync_page)(struct page *);
+
+ /* Write back some dirty pages from this mapping. */
+- int (* const writepages)(struct address_space *, struct writeback_control *);
++ int (*writepages)(struct address_space *, struct writeback_control *);
+
+ /* Set a page dirty. Return true if this dirtied it */
+- int (* const set_page_dirty)(struct page *page);
++ int (*set_page_dirty)(struct page *page);
+
+- int (* const readpages)(struct file *filp, struct address_space *mapping,
++ int (*readpages)(struct file *filp, struct address_space *mapping,
+ struct list_head *pages, unsigned nr_pages);
+
+- int (* const write_begin)(struct file *, struct address_space *mapping,
++ int (*write_begin)(struct file *, struct address_space *mapping,
+ loff_t pos, unsigned len, unsigned flags,
+ struct page **pagep, void **fsdata);
+- int (* const write_end)(struct file *, struct address_space *mapping,
++ int (*write_end)(struct file *, struct address_space *mapping,
+ loff_t pos, unsigned len, unsigned copied,
+ struct page *page, void *fsdata);
+
+ /* Unfortunately this kludge is needed for FIBMAP. Don't use it */
+- sector_t (* const bmap)(struct address_space *, sector_t);
+- void (* const invalidatepage) (struct page *, unsigned long);
+- int (* const releasepage) (struct page *, gfp_t);
+- ssize_t (* const direct_IO)(int, struct kiocb *, const struct iovec *iov,
++ sector_t (*bmap)(struct address_space *, sector_t);
++ void (*invalidatepage) (struct page *, unsigned long);
++ int (*releasepage) (struct page *, gfp_t);
++ ssize_t (*direct_IO)(int, struct kiocb *, const struct iovec *iov,
+ loff_t offset, unsigned long nr_segs);
+- int (* const get_xip_mem)(struct address_space *, pgoff_t, int,
++ int (*get_xip_mem)(struct address_space *, pgoff_t, int,
+ void **, unsigned long *);
+ /* migrate the contents of a page to the specified target */
+- int (* const migratepage) (struct address_space *,
++ int (*migratepage) (struct address_space *,
+ struct page *, struct page *);
+- int (* const launder_page) (struct page *);
+- int (* const is_partially_uptodate) (struct page *, read_descriptor_t *,
++ int (*launder_page) (struct page *);
++ int (*is_partially_uptodate) (struct page *, read_descriptor_t *,
+ unsigned long);
+- int (* const error_remove_page)(struct address_space *, struct page *);
++ int (*error_remove_page)(struct address_space *, struct page *);
+ };
+
+ /*
diff --git a/sys-fs/aufs/files/grsecurity-2.2.1.patch b/sys-fs/aufs/files/grsecurity-2.2.1.patch
new file mode 100644
index 00000000..8396dfd1
--- /dev/null
+++ b/sys-fs/aufs/files/grsecurity-2.2.1.patch
@@ -0,0 +1,63 @@
+--- linux/include/linux/fs.h
++++ linux/include/linux/fs.h
+@@ -583,42 +583,42 @@
+ unsigned long, unsigned long);
+
+ struct address_space_operations {
+- int (* const writepage)(struct page *page, struct writeback_control *wbc);
+- int (* const readpage)(struct file *, struct page *);
+- void (* const sync_page)(struct page *);
++ int (*writepage)(struct page *page, struct writeback_control *wbc);
++ int (*readpage)(struct file *, struct page *);
++ void (*sync_page)(struct page *);
+
+ /* Write back some dirty pages from this mapping. */
+- int (* const writepages)(struct address_space *, struct writeback_control *);
++ int (*writepages)(struct address_space *, struct writeback_control *);
+
+ /* Set a page dirty. Return true if this dirtied it */
+- int (* const set_page_dirty)(struct page *page);
++ int (*set_page_dirty)(struct page *page);
+
+- int (* const readpages)(struct file *filp, struct address_space *mapping,
++ int (*readpages)(struct file *filp, struct address_space *mapping,
+ struct list_head *pages, unsigned nr_pages);
+
+- int (* const write_begin)(struct file *, struct address_space *mapping,
++ int (*write_begin)(struct file *, struct address_space *mapping,
+ loff_t pos, unsigned len, unsigned flags,
+ struct page **pagep, void **fsdata);
+- int (* const write_end)(struct file *, struct address_space *mapping,
++ int (*write_end)(struct file *, struct address_space *mapping,
+ loff_t pos, unsigned len, unsigned copied,
+ struct page *page, void *fsdata);
+
+ /* Unfortunately this kludge is needed for FIBMAP. Don't use it */
+- sector_t (* const bmap)(struct address_space *, sector_t);
+- void (* const invalidatepage) (struct page *, unsigned long);
+- int (* const releasepage) (struct page *, gfp_t);
+- void (* const freepage)(struct page *);
+- ssize_t (* const direct_IO)(int, struct kiocb *, const struct iovec *iov,
++ sector_t (*bmap)(struct address_space *, sector_t);
++ void (*invalidatepage) (struct page *, unsigned long);
++ int (*releasepage) (struct page *, gfp_t);
++ void (*freepage)(struct page *);
++ ssize_t (*direct_IO)(int, struct kiocb *, const struct iovec *iov,
+ loff_t offset, unsigned long nr_segs);
+- int (* const get_xip_mem)(struct address_space *, pgoff_t, int,
++ int (*get_xip_mem)(struct address_space *, pgoff_t, int,
+ void **, unsigned long *);
+ /* migrate the contents of a page to the specified target */
+- int (* const migratepage) (struct address_space *,
++ int (*migratepage) (struct address_space *,
+ struct page *, struct page *);
+- int (* const launder_page) (struct page *);
+- int (* const is_partially_uptodate) (struct page *, read_descriptor_t *,
++ int (*launder_page) (struct page *);
++ int (*is_partially_uptodate) (struct page *, read_descriptor_t *,
+ unsigned long);
+- int (* const error_remove_page)(struct address_space *, struct page *);
++ int (*error_remove_page)(struct address_space *, struct page *);
+ };
+
+ /*
diff --git a/sys-fs/aufs/files/grsecurity-2.2.2.patch b/sys-fs/aufs/files/grsecurity-2.2.2.patch
new file mode 100644
index 00000000..9a38594d
--- /dev/null
+++ b/sys-fs/aufs/files/grsecurity-2.2.2.patch
@@ -0,0 +1,61 @@
+--- linux/include/linux/fs.h
++++ linux/include/linux/fs.h
+@@ -580,41 +580,41 @@
+ unsigned long, unsigned long);
+
+ struct address_space_operations {
+- int (* const writepage)(struct page *page, struct writeback_control *wbc);
+- int (* const readpage)(struct file *, struct page *);
++ int (*writepage)(struct page *page, struct writeback_control *wbc);
++ int (*readpage)(struct file *, struct page *);
+
+ /* Write back some dirty pages from this mapping. */
+- int (* const writepages)(struct address_space *, struct writeback_control *);
++ int (*writepages)(struct address_space *, struct writeback_control *);
+
+ /* Set a page dirty. Return true if this dirtied it */
+- int (* const set_page_dirty)(struct page *page);
++ int (*set_page_dirty)(struct page *page);
+
+- int (* const readpages)(struct file *filp, struct address_space *mapping,
++ int (*readpages)(struct file *filp, struct address_space *mapping,
+ struct list_head *pages, unsigned nr_pages);
+
+- int (* const write_begin)(struct file *, struct address_space *mapping,
++ int (*write_begin)(struct file *, struct address_space *mapping,
+ loff_t pos, unsigned len, unsigned flags,
+ struct page **pagep, void **fsdata);
+- int (* const write_end)(struct file *, struct address_space *mapping,
++ int (*write_end)(struct file *, struct address_space *mapping,
+ loff_t pos, unsigned len, unsigned copied,
+ struct page *page, void *fsdata);
+
+ /* Unfortunately this kludge is needed for FIBMAP. Don't use it */
+- sector_t (* const bmap)(struct address_space *, sector_t);
+- void (* const invalidatepage) (struct page *, unsigned long);
+- int (* const releasepage) (struct page *, gfp_t);
+- void (* const freepage)(struct page *);
+- ssize_t (* const direct_IO)(int, struct kiocb *, const struct iovec *iov,
++ sector_t (*bmap)(struct address_space *, sector_t);
++ void (*invalidatepage) (struct page *, unsigned long);
++ int (*releasepage) (struct page *, gfp_t);
++ void (*freepage)(struct page *);
++ ssize_t (*direct_IO)(int, struct kiocb *, const struct iovec *iov,
+ loff_t offset, unsigned long nr_segs);
+- int (* const get_xip_mem)(struct address_space *, pgoff_t, int,
++ int (*get_xip_mem)(struct address_space *, pgoff_t, int,
+ void **, unsigned long *);
+ /* migrate the contents of a page to the specified target */
+- int (* const migratepage) (struct address_space *,
++ int (*migratepage) (struct address_space *,
+ struct page *, struct page *);
+- int (* const launder_page) (struct page *);
+- int (* const is_partially_uptodate) (struct page *, read_descriptor_t *,
++ int (*launder_page) (struct page *);
++ int (*is_partially_uptodate) (struct page *, read_descriptor_t *,
+ unsigned long);
+- int (* const error_remove_page)(struct address_space *, struct page *);
++ int (*error_remove_page)(struct address_space *, struct page *);
+ };
+
+ extern const struct address_space_operations empty_aops;
diff --git a/sys-fs/aufs/files/grsecurity-2.2.2.r1.patch b/sys-fs/aufs/files/grsecurity-2.2.2.r1.patch
new file mode 100644
index 00000000..743b7bb7
--- /dev/null
+++ b/sys-fs/aufs/files/grsecurity-2.2.2.r1.patch
@@ -0,0 +1,15 @@
+--- linux/include/linux/fs.h
++++ linux/include/linux/fs.h
+@@ -619,7 +619,11 @@
+ int (*is_partially_uptodate) (struct page *, read_descriptor_t *,
+ unsigned long);
+ int (*error_remove_page)(struct address_space *, struct page *);
+-};
++}
++#ifdef CONFIG_GRKERNSEC
++__no_const
++#endif
++;
+
+ extern const struct address_space_operations empty_aops;
+
diff --git a/sys-fs/aufs/files/grsecurity-2.9.1.patch b/sys-fs/aufs/files/grsecurity-2.9.1.patch
new file mode 100644
index 00000000..699419fd
--- /dev/null
+++ b/sys-fs/aufs/files/grsecurity-2.9.1.patch
@@ -0,0 +1,15 @@
+--- linux/include/linux/fs.h
++++ linux/include/linux/fs.h
+@@ -385,7 +385,11 @@
+ int (*swap_activate)(struct swap_info_struct *sis, struct file *file,
+ sector_t *span);
+ void (*swap_deactivate)(struct file *file);
+-};
++}
++#ifdef CONFIG_GRKERNSEC
++__no_const
++#endif
++;
+
+ extern const struct address_space_operations empty_aops;
+
diff --git a/sys-fs/aufs/metadata.xml b/sys-fs/aufs/metadata.xml
new file mode 100644
index 00000000..9632c25e
--- /dev/null
+++ b/sys-fs/aufs/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>martin@mvath.de</email>
+ <name>Martin Väth</name>
+ </maintainer>
+ <use>
+ <flag name="kernel-patch">Apply the aufs kernel patches instead of just copying them</flag>
+ <flag name="all-patches">Apply all patches - also those which do not start with aufs</flag>
+ </use>
+</pkgmetadata>
diff --git a/sys-fs/emount/Manifest b/sys-fs/emount/Manifest
new file mode 100644
index 00000000..c5b78d7e
--- /dev/null
+++ b/sys-fs/emount/Manifest
@@ -0,0 +1 @@
+DIST emount-2.8.3.tar.gz 3828 SHA256 8431fddd142c3b646d702a4db7c1ad92e1a831bddc2591221b556c13511b9d6b SHA512 f681e3bba219e180c1451d3a3f291ab3f788e973b5cbe3dff8e2cc360352c436a866640e3080c27d70bd70e756714ec4159da24ca4f21a57b411563dc2547cb3 WHIRLPOOL 54ca6c2ce289bd0e5fc24882994fad9516626bcd015f028bfca25e48378b208285d19c123b6a341e6ebcf1bc020a9f8828925d49d198e6c78b24a2d23dc72cec
diff --git a/sys-fs/emount/emount-2.8.3.ebuild b/sys-fs/emount/emount-2.8.3.ebuild
new file mode 100644
index 00000000..eb56318c
--- /dev/null
+++ b/sys-fs/emount/emount-2.8.3.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+RESTRICT="mirror"
+inherit eutils
+
+DESCRIPTION="mount/unmount (and create/remove) dm-crypt filesystems according to your /etc/fstab"
+HOMEPAGE="https://github.com/vaeth/emount/"
+SRC_URI="https://github.com/vaeth/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+RDEPEND=">=dev-lang/perl-5.12
+ sys-fs/cryptsetup"
+# || ( >=dev-lang/perl-5.6.1 >=virtual/perl-Getopt-Long-2.24 )
+# || ( >=dev-lang/perl-5.4.5 virtual/perl-File-Spec )
+
+src_prepare() {
+ use prefix || sed -i \
+ -e '1s"^#!/usr/bin/env perl$"#!'"${EPREFIX}/usr/bin/perl"'"' \
+ -- bin/* || die
+ epatch_user
+}
+
+src_install() {
+ local i
+ insinto /usr/bin
+ for i in bin/*
+ do if test -h "${i}" || ! test -x "${i}"
+ then doins "${i}"
+ else dobin "${i}"
+ fi
+ done
+ insinto /usr/share/zsh/site-functions
+ doins zsh/*
+}
diff --git a/sys-fs/emount/metadata.xml b/sys-fs/emount/metadata.xml
new file mode 100644
index 00000000..a98c40b2
--- /dev/null
+++ b/sys-fs/emount/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>martin@mvath.de</email>
+ <name>Martin Väth</name>
+ </maintainer>
+ <upstream>
+ <maintainer>
+ <email>martin@mvath.de</email>
+ <name>Martin Väth</name>
+ </maintainer>
+ <bugs-to>mailto:martin@mvath.de</bugs-to>
+ <remote-id type="github">vaeth/emount</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sys-fs/squash_dir/Manifest b/sys-fs/squash_dir/Manifest
new file mode 100644
index 00000000..d20b18bb
--- /dev/null
+++ b/sys-fs/squash_dir/Manifest
@@ -0,0 +1 @@
+DIST squash_dir-13.8.tar.gz 31453 SHA256 f123d76ef3d6572ca9e1cb1c239e2fff925cdc8ae65b4047d8b50e351004b5d1 SHA512 0f86f387077a5878612e9847602d1c2e255b79bfcbae5573a6bf413d72ff8b3246b12583ea7050188feb116e55e7704ae9dd2d02df35ce072a2205c1eadfad32 WHIRLPOOL 46bde67d35b7540a28c0a768438a46bec035dbd9c92289e42448de744b054fed4e6bc79a75cea5ab126740a486877896f31b892a661a15bfe8541eb6ed6f9671
diff --git a/sys-fs/squash_dir/metadata.xml b/sys-fs/squash_dir/metadata.xml
new file mode 100644
index 00000000..8bf06804
--- /dev/null
+++ b/sys-fs/squash_dir/metadata.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>martin@mvath.de</email>
+ <name>Martin Väth</name>
+ </maintainer>
+ <upstream>
+ <maintainer>
+ <email>martin@mvath.de</email>
+ <name>Martin Väth</name>
+ </maintainer>
+ <bugs-to>mailto:martin@mvath.de</bugs-to>
+ <remote-id type="github">vaeth/squash_dir</remote-id>
+ </upstream>
+ <use>
+ <flag name="aufs">Prefer aufs</flag>
+ <flag name="overlayfs">Prefer overlayfs</flag>
+ <flag name="unionfs-fuse">Prefer unionfs-fuse</flag>
+ <flag name="bundled-openrc-wrapper">Install the bundled openrc-wrapper</flag>
+ </use>
+</pkgmetadata>
diff --git a/sys-fs/squash_dir/squash_dir-13.8.ebuild b/sys-fs/squash_dir/squash_dir-13.8.ebuild
new file mode 100644
index 00000000..73072d21
--- /dev/null
+++ b/sys-fs/squash_dir/squash_dir-13.8.ebuild
@@ -0,0 +1,100 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+RESTRICT="mirror"
+WANT_LIBTOOL=none
+AUTOTOOLS_IN_SOURCE_BUILD=true
+inherit autotools autotools-utils eutils linux-info readme.gentoo systemd
+
+DESCRIPTION="Keep directories compressed with squashfs. Useful for portage tree, texmf-dist"
+HOMEPAGE="http://forums.gentoo.org/viewtopic-t-465367.html"
+SRC_URI="https://github.com/vaeth/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+#KEYWORDS="~amd64 ~ppc ~x86"
+KEYWORDS=""
+IUSE="aufs overlayfs bundled-openrc-wrapper unionfs-fuse"
+
+BOTHDEPEND="bundled-openrc-wrapper? ( !!sys-apps/openrc-wrapper )"
+RDEPEND="sys-fs/squashfs-tools
+ !bundled-openrc-wrapper? ( sys-apps/openrc-wrapper )
+ ${BOTHDEPEND}
+ >=app-shells/runtitle-2.3
+ !<sys-fs/unionfs-fuse-0.25
+ unionfs-fuse? ( sys-fs/unionfs-fuse )"
+DEPEND=">=sys-devel/autoconf-2.65
+ ${BOTHDEPEND}"
+
+DISABLE_AUTOFORMATTING="true"
+DOC_CONTENTS="Please adapt ${EPREFIX}/etc/conf.d/${PN} to your needs.
+It is recommended to put into your zshrc the line:
+alias squash_dir='noglob squash_dir'"
+
+src_prepare() {
+ if use prefix
+ then sed -i \
+ -e "s\"'[^']*/etc/conf[.]d/${PN}'\"'${EPREFIX}/etc/conf.d/${PN}'\"g" \
+ -- "init.d/${PN}" || die
+ sed -i \
+ -e "s\"=/etc/\"=${EPREFIX}/etc/\"" \
+ -e "s\"=/usr/\"=${EPREFIX}/usr/\"" \
+ -- "systemd/${PN}@.service" || die
+ sed -i \
+ -e "s\":/usr/sbin:/sbin'\":${EPREFIX}/usr/sbin:${EPREFIX}/sbin:/usr/sbin:/sbin'\"" \
+ -- "sbin/${PN}" || die
+ sed -i \
+ -e "s\"'/lib/rc/bin:\":'${EPREFIX}/lib/rc/bin:/lib/rc/bin:\"" \
+ -- "sbin/openrc-wrapper" || die
+ else sed -i \
+ -e '1s"^#!/usr/bin/env sh$"#!'"${EPREFIX}/bin/sh"'"' \
+ -- bin/* sbin/* || die
+ fi
+ epatch_user
+ eautoreconf
+}
+
+src_configure() {
+ local order=
+ use unionfs-fuse && order=unionfs-fuse
+ use aufs && order=aufs
+ use overlayfs && order=overlayfs
+ local myeconfargs=(
+ --with-zsh-completion
+ "$(use_enable bundled-openrc-wrapper openrc-wrapper)"
+ "$(systemd_with_unitdir)"
+ ${order:+"--with-first-order=${order}"}
+ )
+ autotools-utils_src_configure
+}
+
+linux_config_missing() {
+ ! linux_config_exists || ! linux_chkconfig_present "${1}"
+}
+
+pkg_postinst() {
+ readme.gentoo_pkg_postinst
+ local fs=overlayfs
+ use unionfs-fuse && fs=unionfs-fuse
+ use aufs && fs=aufs
+ use overlayfs && fs=overlayfs
+ if linux_config_missing 'SQUASHFS'
+ then ewarn "To use ${PN} activate squashfs in your kernel"
+ fi
+ case ${fs} in
+ overlayfs)
+ if linux_config_missing 'OVERLAYFS_FS'
+ then ewarn "To use ${PN} activate overlayfs in your kernel."
+ ewarn "Unless you use a patched kernel, apply e.g. top patches from some head of"
+ ewarn "http://git.kernel.org/?p=linux/kernel/git/mszeredi/vfs.git;a=summary"
+ fi;;
+ aufs)
+ if ! has_version sys-fs/aufs3 && ! has_version sys-fs/aufs2 && linux_config_missing 'AUFS_FS'
+ then ewarn "To use ${PN} activate aufs in your kernel. Use e.g. sys-fs/aufs*"
+ fi;;
+ esac
+ optfeature "improved output" 'sys-fs/squashfs-tools[progress-redirect]'
+ optfeature "status bar support" 'app-shells/runtitle'
+}
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"
+}
diff --git a/sys-fs/squashmount/Manifest b/sys-fs/squashmount/Manifest
new file mode 100644
index 00000000..f946a86a
--- /dev/null
+++ b/sys-fs/squashmount/Manifest
@@ -0,0 +1 @@
+DIST squashmount-12.2.0.tar.gz 60947 SHA256 1c0bd682cecd1dafb44e2191e9c5844e9a731f91a8d65eca014a563feecbff01 SHA512 50b6356f7de8992198b950df1d86333e80fed6493bd683eca51be3beff577406f9914182ff3b5adc8956ed1337a5e2518a171e80075f60e7c1b7d1c05f4c19fc WHIRLPOOL 9afa5f3d02b71c84e7e8d7b56911a2c052f7059289ed0b344087917dac21ba07a0b65860e99fc3f682b6cec2ef1c36e4df3e1395c3b72c803df9d54007d0e348
diff --git a/sys-fs/squashmount/metadata.xml b/sys-fs/squashmount/metadata.xml
new file mode 100644
index 00000000..5c80606b
--- /dev/null
+++ b/sys-fs/squashmount/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>martin@mvath.de</email>
+ <name>Martin Väth</name>
+ </maintainer>
+ <upstream>
+ <maintainer>
+ <email>martin@mvath.de</email>
+ <name>Martin Väth</name>
+ </maintainer>
+ <bugs-to>mailto:martin@mvath.de</bugs-to>
+ <remote-id type="github">vaeth/squashmount</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sys-fs/squashmount/squashmount-12.2.0.ebuild b/sys-fs/squashmount/squashmount-12.2.0.ebuild
new file mode 100644
index 00000000..21864cd5
--- /dev/null
+++ b/sys-fs/squashmount/squashmount-12.2.0.ebuild
@@ -0,0 +1,73 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+RESTRICT="mirror"
+inherit eutils readme.gentoo systemd
+
+DESCRIPTION="Keep directories compressed with squashfs. Useful for portage tree, texmf-dist"
+HOMEPAGE="http://forums.gentoo.org/viewtopic-t-465367.html
+https://github.com/vaeth/squashmount/"
+SRC_URI="https://github.com/vaeth/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE=""
+
+RDEPEND="!<sys-apps/openrc-0.13
+ >=app-shells/runtitle-2.3
+ >=dev-lang/perl-5.12
+ || ( dev-perl/File-Which sys-apps/which )
+ sys-fs/squashfs-tools
+ !<sys-fs/unionfs-fuse-0.25"
+# || ( >=dev-lang/perl-5.10.1 >=virtual/perl-File-Path-2.6.5 )
+# || ( >=dev-lang/perl-5.4.5 virtual/perl-File-Spec )
+# || ( >=dev-lang/perl-5.10.1 >=virtual/perl-File-Temp-0.19 )
+# || ( >=dev-lang/perl-5.6.1 >=virtual/perl-Getopt-Long-2.24 )
+# || ( >=dev-lang/perl-5.9.3 virtual/perl-IO-Compress )
+DEPEND=""
+
+DISABLE_AUTOFORMATTING="true"
+DOC_CONTENTS="Please adapt /etc/squashmount.pl as well as
+/etc/systemd/system/squashmount.service.d/timeout.conf to your needs.
+
+Configure the mount point 'gentoo' only if you use sync-type = squashdelta.
+
+For improved output use squasfs-tools from the mv overlay.
+
+It is recommended to put into your zshrc the line:
+alias squashmount='noglob squashmount'"
+
+src_prepare() {
+ use prefix || sed -i \
+ -e '1s"^#!/usr/bin/env perl$"#!'"${EPREFIX}/usr/bin/perl"'"' \
+ -- bin/* || die
+ epatch_user
+}
+
+src_install() {
+ dobin bin/*
+ dodoc README ChangeLog compress.txt etc/squashmount.pl
+ doinitd openrc/init.d/*
+ systemd_dounit systemd/system/*
+ insinto /etc
+ doins -r etc/*
+ insinto /usr/lib/tmpfiles.d
+ doins tmpfiles.d/*
+ insinto /usr/share/zsh/site-functions
+ doins zsh/*
+ readme.gentoo_create_doc
+}
+
+pkg_postinst() {
+ optfeature "status bar support" 'app-shells/runtitle'
+ optfeature "improved compatibility and security" 'dev-perl/File-Which'
+ optfeature "colored output" '>=dev-lang/perl-5.14' 'virtual/perl-Term-ANSIColor'
+ case " ${REPLACING_VERSIONS}" in
+ ' '[0-7].*|' '8.[0-6]*|' '8.7.[0-4]*)
+ FORCE_PRINT_ELOG="true";;
+ esac
+ readme.gentoo_pkg_postinst
+}