summaryrefslogtreecommitdiff
blob: a357a94c4a2b6e7fbc7c1bf579584c71a5aaf8bd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $

EAPI=5
RESTRICT="mirror"
WANT_LIBTOOL=none
inherit autotools eutils linux-info vcs-snapshot

DESCRIPTION="Keep directories compressed with squashfs. Useful for portage tree, texmf-dist"
HOMEPAGE="http://forums.gentoo.org/viewtopic-t-465367.html"
SRC_URI="http://github.com/vaeth/${PN}/tarball/release-${PV} -> ${P}.tar.gz"

LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~ppc ~x86"
IUSE="aufs overlayfs +title unionfs-fuse zsh-completion"

RDEPEND="sys-fs/squashfs-tools
	!<sys-fs/unionfs-fuse-0.25
	title? ( >=app-shells/runtitle-2.3[zsh-completion?] )
	unionfs-fuse? ( sys-fs/unionfs-fuse )"
DEPEND=">=sys-devel/autoconf-2.65"

src_prepare() {
	epatch_user
	eautoreconf
}

src_configure() {
	local order=
	use unionfs-fuse && order=unionfs-fuse
	use aufs && order=aufs
	use overlayfs && order=overlayfs
	econf --docdir="${EPREFIX}/usr/share/doc/${PF}" \
		"$(use_with zsh-completion)" ${order:+"--with-first-order=${order}"}
}

linux_config_missing() {
	! linux_config_exists || ! linux_chkconfig_present "${1}"
}

pkg_postinst() {
	local fs=aufs
	use unionfs-fuse && fs=unionfs-fuse
	use aufs && fs=aufs
	use overlayfs && fs=overlayfs
	CONFIG_CHECK="~SQUASHFS"
	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
	if ! has_version sys-fs/squashfs-tools[progress-redirect]
	then	${sep}
		elog "For better output of ${PN}, it is recommended to install"
		elog "sys-fs/squashfs-tools from the mv overlay with USE=progress-redirect"
	fi
}