blob: ea6a6ee9fd7175472c40708af7b3713719ff1668 (
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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
|
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $
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/${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~ppc ~x86"
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'
}
|