blob: c329818c19abf4f4ce82f11e187ae11291795db0 (
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
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
|
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit linux-info systemd toolchain-funcs
DESCRIPTION="Kernel based automounter"
HOMEPAGE="https://web.archive.org/web/*/http://www.linux-consulting.com/Amd_AutoFS/autofs.html https://git.kernel.org/pub/scm/linux/storage/autofs/autofs.git"
SRC_URI="https://www.kernel.org/pub/linux/daemons/${PN}/v5/${P}.tar.xz
https://dev.gentoo.org/~dlan/distfiles/${CATEGORY}/${PN}/${P}-patches-0.tar.xz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv sparc x86"
IUSE="dmalloc ldap +libtirpc mount-locking sasl selinux systemd"
# currently, sasl code assumes the presence of kerberosV
RDEPEND="
net-libs/libnsl:=
>=sys-apps/util-linux-2.20
dmalloc? ( dev-libs/dmalloc[threads] )
ldap? (
>=net-nds/openldap-2.0:=
sasl? (
dev-libs/cyrus-sasl
dev-libs/libxml2
virtual/krb5
)
)
systemd? ( sys-apps/systemd )
libtirpc? ( net-libs/libtirpc:= )
!libtirpc? ( elibc_glibc? ( sys-libs/glibc[rpc(-)] ) )
"
DEPEND="${RDEPEND}
libtirpc? ( net-libs/rpcsvc-proto )
"
BDEPEND="
sys-devel/flex
virtual/pkgconfig
app-alternatives/yacc
"
RDEPEND+=" selinux? ( sec-policy/selinux-automount )"
PATCHES=(
"${WORKDIR}"/${P}-patches/
"${FILESDIR}/${P}-dmalloc.patch"
"${FILESDIR}/${P}-nfsv4-mount.patch"
"${FILESDIR}/${P}-mount_conflict.patch"
)
pkg_setup() {
linux-info_pkg_setup
local CONFIG_CHECK
if kernel_is -ge 4 18; then
CONFIG_CHECK="~AUTOFS_FS"
else
CONFIG_CHECK="~AUTOFS4_FS"
fi
check_extra_config
}
src_prepare() {
sed -i -e "s:/usr/bin/kill:/bin/kill:" samples/autofs.service.in || die # bug #479492
sed -i -e "/^EnvironmentFile/d" samples/autofs.service.in || die # bug #592334
# Install samples including autofs.service
sed -i -e "/^SUBDIRS/s/$/ samples/g" Makefile.rules || die
default
}
src_configure() {
# bug #483716
tc-export AR
# --with-confdir is for bug #361481
# --with-mapdir is for bug #385113
local myeconfargs=(
--with-confdir=/etc/conf.d
--with-mapdir=/etc/autofs
$(use_with dmalloc)
$(use_with ldap openldap)
$(use_with libtirpc)
$(use_with sasl)
$(use_enable mount-locking)
$(use_with systemd systemd $(systemd_get_systemunitdir)) # bug #479492
--without-hesiod
--disable-ext-env
--enable-sloppy-mount # bug #453778
--enable-force-shutdown
--enable-ignore-busy
RANLIB="$(type -P $(tc-getRANLIB))" # bug #483716
)
CONFIG_SHELL="${BROOT}/bin/bash" econf "${myeconfargs[@]}"
}
src_compile() {
emake STRIP=: DONTSTRIP=1
}
src_install() {
default
rmdir "${D}"/run
if kernel_is -lt 2 6 30; then
# kernel patches
docinto patches
dodoc patches/${PN}4-2.6.??{,.?{,?}}-v5-update-????????.patch
fi
newinitd "${FILESDIR}"/autofs5.initd autofs
insinto etc/autofs
newins "${FILESDIR}"/autofs5-auto.master auto.master
}
pkg_postinst() {
if kernel_is -lt 2 6 30; then
elog "This version of ${PN} requires a kernel with autofs4 supporting"
elog "protocol version 5.00. Patches for kernels older than 2.6.30 have"
elog "been installed into"
elog "${EROOT}/usr/share/doc/${P}/patches."
elog "For further instructions how to patch the kernel, please refer to"
elog "${EROOT}/usr/share/doc/${P}/INSTALL."
elog
fi
elog "If you plan on using autofs for automounting remote NFS mounts,"
elog "please check that both portmap (or rpcbind) and rpc.statd/lockd"
elog "are running."
}
|