blob: 6ef2a8eaa215a099ff09de9fb65f93b19e15ba69 (
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
133
134
135
136
137
138
139
140
|
# Copyright 1999-2010 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/net-fs/autofs/autofs-5.0.4-r5.ebuild,v 1.7 2010/07/18 12:14:26 nixnut Exp $
inherit eutils multilib autotools
IUSE="ldap sasl"
DESCRIPTION="Kernel based automounter"
HOMEPAGE="http://www.linux-consulting.com/Amd_AutoFS/autofs.html"
SRC_URI_BASE="mirror://kernel/linux/daemons/${PN}/v5"
# This list is taken directly from http://kernel.org/pub/linux/daemons/autofs/v5/patch_order-${PV}
# Please do not modify the order
PATCH_LIST="
${P}-fix-dumb-libxml2-check.patch
${P}-expire-specific-submount-only.patch
${P}-fix-negative-cache-non-existent-key.patch
${P}-fix-ldap-detection.patch
${P}-use-CLOEXEC-flag.patch
${P}-fix-select-fd-limit.patch
${P}-make-hash-table-scale-to-thousands-of-entries.patch
${P}-fix-quoted-mess.patch
${P}-use-CLOEXEC-flag-setmntent.patch
${P}-fix-hosts-map-use-after-free.patch
${P}-uris-list-locking-fix.patch
${P}-renew-sasl-creds-upon-reconnect-fail.patch
${P}-library-reload-fix-update.patch
${P}-force-unlink-umount.patch
${P}-always-read-file-maps.patch
${P}-code-analysis-corrections.patch
${P}-make-MAX_ERR_BUF-and-PARSE_MAX_BUF-use-easier-to-audit.patch
${P}-easy-alloca-replacements.patch
${P}-configure-libtirpc.patch
${P}-ipv6-name-and-address-support.patch
${P}-ipv6-parse.patch
${P}-add-missing-changelog-entries.patch
${P}-use-CLOEXEC-flag-setmntent-include-fix.patch
${P}-easy-alloca-replacements-fix.patch
${P}-libxml2-workaround-fix.patch
${P}-configure-libtirpc-fix.patch
${P}-add-nfs-mount-proto-default-conf-option.patch
${P}-fix-bad-token-declare.patch
${P}-fix-return-start-status-on-fail.patch
${P}-fix-double-free-in-expire_proc.patch
${P}-another-easy-alloca-replacements-fix.patch
${P}-add-lsb-init-script-parameter-block.patch
${P}-always-read-file-maps-fix.patch
${P}-use-misc-device.patch
${P}-fix-restorecon.patch
${P}-clear-rpc-client-on-lookup-fail.patch
${P}-fix-lsb-init-script-header.patch
${P}-fix-memory-leak-reading-ldap-master.patch
${P}-fix-st_remove_tasks-locking.patch
${P}-reset-flex-scanner-when-setting-buffer.patch
${P}-zero-s_magic-is-valid.patch
${P}-use-percent-hack-for-master.patch
${P}-use-intr-as-hosts-mount-default.patch
${P}-fix-kernel-includes.patch
${P}-dont-umount-existing-direct-mount-on-reread.patch
${P}-library-reload-fix-update-fix.patch
${P}-improve-manual-umount-recovery.patch
${P}-dont-fail-on-ipv6-address-adding-host.patch
${P}-always-read-file-maps-multi-map-fix.patch
${P}-always-read-file-maps-key-lookup-fixes.patch
${P}-use-srv-query-for-domain-dn.patch
${P}-fix-incorrect-dclist-free.patch
${P}-srv-lookup-handle-endian.patch
${P}-library-reload-fix-update-fix-2.patch
${P}-fix-notify-mount-message-path.patch
${P}-remount-we-created-mount-point-fix.patch
${P}-fix-double-free-in-do_sasl_bind.patch
${P}-manual-umount-recovery-fixes.patch
${P}-fix-map-type-info-parse-error.patch"
SRC_URI="${SRC_URI_BASE}/${P}.tar.bz2"
for i in ${PATCH_LIST} ; do
SRC_URI="${SRC_URI} ${SRC_URI_BASE}/${i}"
done ;
DEPEND="ldap? ( >=net-nds/openldap-2.0
sasl? ( dev-libs/cyrus-sasl
virtual/krb5
dev-libs/libxml2 )
)"
# currently, sasl code assumes the presence of kerberosV
RDEPEND="${DEPEND}"
SLOT="0"
LICENSE="GPL-2"
KEYWORDS="alpha amd64 arm ~hppa ia64 ~mips ppc ~ppc64 sparc x86"
src_unpack() {
unpack ${P}.tar.bz2
for i in ${PATCH_LIST}; do
EPATCH_OPTS="-p1 -d ${S}" epatch "${DISTDIR}"/${i}
done
cd "${S}"
# fixes bug #210762
epatch "${FILESDIR}"/${PN}-5.0.3-heimdal.patch
# fixes bugs #253412 and #247969
epatch "${FILESDIR}"/${P}-user-ldflags-and-as-needed-v2.patch
# # use CC and CFLAGS from environment (bug #154797)
# write these values in Makefile.conf
(echo "# Use the compiler and cflags determined by configure";
echo "CC := @CC@"; echo "CFLAGS := @CFLAGS@") >> Makefile.conf.in
# make sure Makefile.conf is parsed after Makefile.rules
sed -ni '/include Makefile.conf/{x; n; G}; p' Makefile
sed -i 's/^\(CC\|CXX\).*//' Makefile.rules
sed -i 's/^CFLAGS=-fPIE.*//' configure.in
# do not include <nfs/nfs.h>, rather <linux/nfs.h>,
# as the former is a lame header for the latter (bug #157968)
sed -i 's@nfs/nfs.h@linux/nfs.h@' include/rpc_subs.h
eautoreconf || die "Autoconf failed"
}
src_compile() {
CFLAGS="${CFLAGS}" \
econf \
$(use_with ldap openldap) \
$(use_with sasl) \
--without-hesiod \
--enable-ignore-busy \
|| die "configure failed"
emake DONTSTRIP=1 || die "make failed"
}
src_install() {
make DESTDIR="${D}" install || die "make install failed"
newinitd "${FILESDIR}"/autofs5.rc1 autofs
}
pkg_postinst() {
elog "Note: If you plan on using autofs for automounting"
elog "remote NFS mounts without having the NFS daemon running"
elog "please add portmap to your default run-level."
}
|