Gentoo Archives: gentoo-commits

From: Lars Wendler <polynomial-c@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: net-fs/nfs-utils/files/, net-fs/nfs-utils/
Date: Mon, 28 May 2018 10:35:46
Message-Id: 1527503704.8c23a6fb32bc9bdfbecee3a11f272863412e4122.polynomial-c@gentoo
1 commit: 8c23a6fb32bc9bdfbecee3a11f272863412e4122
2 Author: Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
3 AuthorDate: Mon May 28 10:23:25 2018 +0000
4 Commit: Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
5 CommitDate: Mon May 28 10:35:04 2018 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8c23a6fb
7
8 net-fs/nfs-utils: Bump to version 2.3.2
9
10 Package-Manager: Portage-2.3.40, Repoman-2.3.9
11
12 net-fs/nfs-utils/Manifest | 1 +
13 .../files/nfs-utils-2.3.2-junction_libs.patch | 45 +++++
14 net-fs/nfs-utils/metadata.xml | 1 +
15 net-fs/nfs-utils/nfs-utils-2.3.2.ebuild | 188 +++++++++++++++++++++
16 4 files changed, 235 insertions(+)
17
18 diff --git a/net-fs/nfs-utils/Manifest b/net-fs/nfs-utils/Manifest
19 index 481ced34243..0448778a503 100644
20 --- a/net-fs/nfs-utils/Manifest
21 +++ b/net-fs/nfs-utils/Manifest
22 @@ -5,3 +5,4 @@ DIST nfs-utils-2.2.1.tar.bz2 853812 BLAKE2B bc973f8fe781f7658161d0d5895bc32ffeea
23 DIST nfs-utils-2.2.2_rc1.tar.gz 509381 BLAKE2B 8429cd9d01ce2a15451d21b89cabc6b50b54bd30d2e12a21f04d4be04a6e729a8bd3a8da3f0d120caf6ba2b0c91199f65f1c878a49d437e0c689bcba9f5d162f SHA512 5cc9a19e1ebf1831f1914419c0e7f12ff12037caa35e5866dfba8bf30c5355dcf2e039928b9b336c6755df856549ccac6ea646d61b57c68f96fd586d21a27f1a
24 DIST nfs-utils-2.2.2_rc1_p20171107.tar.gz 509543 BLAKE2B 44c5bf63b16b7727f6cdba0d1051929f6e132b87fcb8e9e18a0ad699dfeec1b26f9988fc7b5db5dbcc1dd3c04f1dd30fa0f89616fe86cbfd4dbb36f0d8aed08b SHA512 27e38fe3ff2d94aa45a526343c88c781b39db4f85b2fd50b632516be609f7a05dced115e26f73176ba28409cd38a3c7db6ddb8370ab75071150b1cf3fba46e43
25 DIST nfs-utils-2.3.1.tar.bz2 854899 BLAKE2B f9541b9dc103d978f21d57d8ba0c14a3b30f6ba874b112239d014076c1c72b6654e8e02b4bfea686e658dac84d1e896b872bc2054591275ef1713ae4e7b7d005 SHA512 de3e70f8656bc5b5aa98262685a9e80929c6314234d9bbb74d4c7efcb7a8b2640d48d2100850b403157ebefc8f0eb48598b48238fae795f64c7a0e9a8bff93e3
26 +DIST nfs-utils-2.3.2.tar.bz2 884068 BLAKE2B c4133cc12c5c1cd33346408e2d1286cf50880a89ec97cb8ce4453266ba5b145eb1ca7a4362ac1a91ea5c1ebddd4fcd1d6a4cd12f45637cd5d845cc6d8d5f139d SHA512 4b948d92f515e9340163f53ab26dd7189fa8b13909f5c668b7c66ae13f181ed778967edc0a20753763540b5a3f93a41a2de38a7276ffbfadfd866c5ed422520c
27
28 diff --git a/net-fs/nfs-utils/files/nfs-utils-2.3.2-junction_libs.patch b/net-fs/nfs-utils/files/nfs-utils-2.3.2-junction_libs.patch
29 new file mode 100644
30 index 00000000000..f13f07a4c81
31 --- /dev/null
32 +++ b/net-fs/nfs-utils/files/nfs-utils-2.3.2-junction_libs.patch
33 @@ -0,0 +1,45 @@
34 +From 8f3e4f4d6df9f813572051e12e974b35c26a1743 Mon Sep 17 00:00:00 2001
35 +From: Lars Wendler <polynomial-c@g.o>
36 +Date: Mon, 28 May 2018 12:13:10 +0200
37 +Subject: [PATCH] Fix undefined references and bad include when build with
38 + junction support
39 +
40 +---
41 + support/junction/Makefile.am | 2 +-
42 + utils/nfsref/Makefile.am | 6 +++---
43 + 2 files changed, 4 insertions(+), 4 deletions(-)
44 +
45 +diff --git a/support/junction/Makefile.am b/support/junction/Makefile.am
46 +index 97e7426..89cb532 100644
47 +--- a/support/junction/Makefile.am
48 ++++ b/support/junction/Makefile.am
49 +@@ -31,4 +31,4 @@ libjunction_la_SOURCES = display.c export-cache.c junction.c \
50 +
51 + MAINTAINERCLEANFILES = Makefile.in
52 +
53 +-AM_CPPFLAGS = -I. -I../include -I/usr/include/libxml2
54 ++AM_CPPFLAGS = -I. -I../include -I/usr/include/libxml2 @TIRPC_CFLAGS@
55 +diff --git a/utils/nfsref/Makefile.am b/utils/nfsref/Makefile.am
56 +index 2b2bb53..a652b03 100644
57 +--- a/utils/nfsref/Makefile.am
58 ++++ b/utils/nfsref/Makefile.am
59 +@@ -27,13 +27,13 @@ noinst_HEADERS = nfsref.h
60 +
61 + sbin_PROGRAMS = nfsref
62 + nfsref_SOURCES = add.c lookup.c nfsref.c remove.c
63 +-LDADD = $(LIBXML2) $(LIBCAP) \
64 +- ../../support/nfs/libnfs.la \
65 ++LIBS += $(LIBXML2) $(LIBCAP)
66 ++LDADD = ../../support/nfs/libnfs.la \
67 + ../../support/junction/libjunction.la
68 +
69 + man8_MANS = nfsref.man
70 +
71 + MAINTAINERCLEANFILES = Makefile.in
72 +
73 +-AM_CPPFLAGS = -I. -I../../support/include
74 ++AM_CPPFLAGS = -I. -I../../support/include @TIRPC_CFLAGS@
75 + ##AM_LDFLAGS = -Wl,--as-needed
76 +--
77 +2.17.0
78 +
79
80 diff --git a/net-fs/nfs-utils/metadata.xml b/net-fs/nfs-utils/metadata.xml
81 index 34459d2e162..45351e44637 100644
82 --- a/net-fs/nfs-utils/metadata.xml
83 +++ b/net-fs/nfs-utils/metadata.xml
84 @@ -7,6 +7,7 @@
85 </maintainer>
86 <longdescription>NFS client and server daemons</longdescription>
87 <use>
88 + <flag name="junction">Enable NFS junction support in nfsref</flag>
89 <flag name="ldap">Add ldap support</flag>
90 <flag name="libmount">Link mount.nfs with libmount</flag>
91 <flag name="nfsdcld">Enable nfsdcld NFSv4 clientid tracking daemon</flag>
92
93 diff --git a/net-fs/nfs-utils/nfs-utils-2.3.2.ebuild b/net-fs/nfs-utils/nfs-utils-2.3.2.ebuild
94 new file mode 100644
95 index 00000000000..c9462402c7a
96 --- /dev/null
97 +++ b/net-fs/nfs-utils/nfs-utils-2.3.2.ebuild
98 @@ -0,0 +1,188 @@
99 +# Copyright 1999-2018 Gentoo Foundation
100 +# Distributed under the terms of the GNU General Public License v2
101 +
102 +EAPI=6
103 +
104 +inherit autotools flag-o-matic multilib systemd
105 +
106 +DESCRIPTION="NFS client and server daemons"
107 +HOMEPAGE="http://linux-nfs.org/"
108 +
109 +if [[ "${PV}" = *_rc* ]] ; then
110 + inherit versionator
111 + MY_PV="$(replace_all_version_separators -)"
112 + SRC_URI="http://git.linux-nfs.org/?p=steved/nfs-utils.git;a=snapshot;h=refs/tags/${PN}-${MY_PV};sf=tgz -> ${P}.tar.gz"
113 + S="${WORKDIR}/${PN}-${PN}-${MY_PV}"
114 +else
115 + SRC_URI="mirror://sourceforge/nfs/${P}.tar.bz2"
116 + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
117 +fi
118 +
119 +LICENSE="GPL-2"
120 +SLOT="0"
121 +IUSE="caps ipv6 junction kerberos ldap +libmount nfsdcld +nfsidmap +nfsv4 nfsv41 selinux tcpd +uuid"
122 +REQUIRED_USE="kerberos? ( nfsv4 )"
123 +RESTRICT="test" #315573
124 +
125 +# kth-krb doesn't provide the right include
126 +# files, and nfs-utils doesn't build against heimdal either,
127 +# so don't depend on virtual/krb.
128 +# (04 Feb 2005 agriffis)
129 +DEPEND_COMMON="
130 + net-libs/libtirpc:=
131 + >=net-nds/rpcbind-0.2.4
132 + sys-libs/e2fsprogs-libs
133 + caps? ( sys-libs/libcap )
134 + ldap? ( net-nds/openldap )
135 + libmount? ( sys-apps/util-linux )
136 + nfsdcld? ( >=dev-db/sqlite-3.3 )
137 + nfsv4? (
138 + dev-libs/libevent:=
139 + >=sys-apps/keyutils-1.5.9
140 + kerberos? (
141 + >=net-libs/libtirpc-0.2.4-r1[kerberos]
142 + app-crypt/mit-krb5
143 + )
144 + )
145 + nfsv41? (
146 + sys-fs/lvm2
147 + )
148 + tcpd? ( sys-apps/tcp-wrappers )
149 + uuid? ( sys-apps/util-linux )"
150 +RDEPEND="${DEPEND_COMMON}
151 + !net-libs/libnfsidmap
152 + !net-nds/portmap
153 + !<sys-apps/openrc-0.13.9
154 + selinux? (
155 + sec-policy/selinux-rpc
156 + sec-policy/selinux-rpcbind
157 + )
158 +"
159 +DEPEND="${DEPEND_COMMON}
160 + dev-libs/libxml2
161 + virtual/pkgconfig"
162 +
163 +PATCHES=(
164 + "${FILESDIR}"/${PN}-1.1.4-mtab-sym.patch
165 + "${FILESDIR}"/${PN}-1.2.8-cross-build.patch
166 + "${FILESDIR}"/${PN}-2.3.2-junction_libs.patch
167 +)
168 +
169 +src_prepare() {
170 + default
171 +
172 + sed \
173 + -e "/^sbindir/s:= := \"${EPREFIX}\":g" \
174 + -i utils/*/Makefile.am || die
175 +
176 + eautoreconf
177 +}
178 +
179 +src_configure() {
180 + export libsqlite3_cv_is_recent=yes # Our DEPEND forces this.
181 + export ac_cv_header_keyutils_h=$(usex nfsidmap)
182 + local myeconfargs=(
183 + --with-statedir="${EPREFIX%/}"/var/lib/nfs
184 + --enable-tirpc
185 + --with-tirpcinclude="${EPREFIX%/}"/usr/include/tirpc/
186 + --with-pluginpath="${EPREFIX%/}"/usr/$(get_libdir)/libnfsidmap
187 + --with-systemd="$(systemd_get_systemunitdir)"
188 + --without-gssglue
189 + $(use_enable caps)
190 + $(use_enable ipv6)
191 + $(use_enable junction)
192 + $(use_enable kerberos gss)
193 + $(use_enable kerberos svcgss)
194 + $(use_enable ldap)
195 + $(use_enable libmount libmount-mount)
196 + $(use_enable nfsdcld nfsdcltrack)
197 + $(use_enable nfsv4)
198 + $(use_enable nfsv41)
199 + $(use_enable uuid)
200 + $(use_with tcpd tcp-wrappers)
201 + )
202 + econf "${myeconfargs[@]}"
203 +}
204 +
205 +src_compile(){
206 + # remove compiled files bundled in the tarball
207 + emake clean
208 + default
209 +}
210 +
211 +src_install() {
212 + default
213 + rm linux-nfs/Makefile* || die
214 + dodoc -r linux-nfs README
215 +
216 + # Don't overwrite existing xtab/etab, install the original
217 + # versions somewhere safe... more info in pkg_postinst
218 + keepdir /var/lib/nfs/{,sm,sm.bak}
219 + mv "${ED%/}"/var/lib/nfs "${ED%/}"/usr/$(get_libdir)/ || die
220 +
221 + # Install some client-side binaries in /sbin
222 + dodir /sbin
223 + mv "${ED%/}"/usr/sbin/rpc.statd "${ED%/}"/sbin/ || die
224 +
225 + if use nfsv4 && use nfsidmap ; then
226 + # Install a config file for idmappers in newer kernels. #415625
227 + insinto /etc/request-key.d
228 + echo 'create id_resolver * * /usr/sbin/nfsidmap -t 600 %k %d' > id_resolver.conf
229 + doins id_resolver.conf
230 + fi
231 +
232 + insinto /etc
233 + doins "${FILESDIR}"/exports
234 + keepdir /etc/exports.d
235 +
236 + local f list=() opt_need=""
237 + if use nfsv4 ; then
238 + opt_need="rpc.idmapd"
239 + list+=( rpc.idmapd rpc.pipefs )
240 + use kerberos && list+=( rpc.gssd rpc.svcgssd )
241 + fi
242 + for f in nfs nfsclient rpc.statd "${list[@]}" ; do
243 + newinitd "${FILESDIR}"/${f}.initd ${f}
244 + done
245 + newinitd "${FILESDIR}"/nfsmount.initd-1.3.1 nfsmount # Nuke after 2015/08/01
246 + for f in nfs nfsclient ; do
247 + newconfd "${FILESDIR}"/${f}.confd ${f}
248 + done
249 + sed -i \
250 + -e "/^NFS_NEEDED_SERVICES=/s:=.*:=\"${opt_need}\":" \
251 + "${ED%/}"/etc/conf.d/nfs || die #234132
252 +
253 + local systemd_systemunitdir="$(systemd_get_systemunitdir)"
254 + sed -i \
255 + -e 's:/usr/sbin/rpc.statd:/sbin/rpc.statd:' \
256 + "${ED%/}${systemd_systemunitdir}"/* || die
257 +
258 + keepdir /var/lib/nfs #368505
259 + keepdir /var/lib/nfs/v4recovery #603628
260 +
261 +}
262 +
263 +pkg_postinst() {
264 + # Install default xtab and friends if there's none existing. In
265 + # src_install we put them in /usr/lib/nfs for safe-keeping, but
266 + # the daemons actually use the files in /var/lib/nfs. #30486
267 + local f
268 + for f in "${EROOT%/}"/usr/$(get_libdir)/nfs/*; do
269 + [[ -e ${EROOT%/}/var/lib/nfs/${f##*/} ]] && continue
270 + einfo "Copying default ${f##*/} from ${EPREFIX}/usr/$(get_libdir)/nfs to ${EPREFIX}/var/lib/nfs"
271 + cp -pPR "${f}" "${EROOT%/}"/var/lib/nfs/
272 + done
273 +
274 + if systemd_is_booted; then
275 + if [[ ${REPLACING_VERSIONS} < 1.3.0 ]]; then
276 + ewarn "We have switched to upstream systemd unit files. Since"
277 + ewarn "they got renamed, you should probably enable the new ones."
278 + ewarn "You can run 'equery files nfs-utils | grep systemd'"
279 + ewarn "to know what services you need to enable now."
280 + fi
281 + else
282 + ewarn "If you use OpenRC, the nfsmount service has been replaced with nfsclient."
283 + ewarn "If you were using nfsmount, please add nfsclient and netmount to the"
284 + ewarn "same runlevel as nfsmount."
285 + fi
286 +}