diff options
-rw-r--r-- | net-fs/nfs-utils/ChangeLog | 12 | ||||
-rw-r--r-- | net-fs/nfs-utils/Manifest | 14 | ||||
-rw-r--r-- | net-fs/nfs-utils/files/nfsclient.confd | 11 | ||||
-rw-r--r-- | net-fs/nfs-utils/files/nfsclient.initd | 8 | ||||
-rw-r--r-- | net-fs/nfs-utils/nfs-utils-1.3.1-r5.ebuild | 172 | ||||
-rw-r--r-- | net-fs/nfs-utils/nfs-utils-1.3.2-r6.ebuild | 177 |
6 files changed, 381 insertions, 13 deletions
diff --git a/net-fs/nfs-utils/ChangeLog b/net-fs/nfs-utils/ChangeLog index b45742f6c749..1251049c287a 100644 --- a/net-fs/nfs-utils/ChangeLog +++ b/net-fs/nfs-utils/ChangeLog @@ -1,6 +1,16 @@ # ChangeLog for net-fs/nfs-utils # Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/net-fs/nfs-utils/ChangeLog,v 1.274 2015/02/03 19:44:36 williamh Exp $ +# $Header: /var/cvsroot/gentoo-x86/net-fs/nfs-utils/ChangeLog,v 1.275 2015/02/05 04:32:41 williamh Exp $ + +*nfs-utils-1.3.1-r5 (05 Feb 2015) +*nfs-utils-1.3.2-r6 (05 Feb 2015) + + 05 Feb 2015; William Hubbs <williamh@gentoo.org> +nfs-utils-1.3.1-r5.ebuild, + +nfs-utils-1.3.2-r6.ebuild, files/nfsclient.confd, files/nfsclient.initd: + Fix the dependencies in nfsclient. There is no good way to detect whether the + file systems are nfs3 or nfs4, so explain to the users what they need to turn + on or off in the configuration file. Also remove the before netmount line; + netmount should use nfsclient. 03 Feb 2015; William Hubbs <williamh@gentoo.org> -nfs-utils-1.3.1-r1.ebuild, -nfs-utils-1.3.1-r3.ebuild, -nfs-utils-1.3.2-r2.ebuild, diff --git a/net-fs/nfs-utils/Manifest b/net-fs/nfs-utils/Manifest index 4a50aae5ec35..71fbab7ed3c5 100644 --- a/net-fs/nfs-utils/Manifest +++ b/net-fs/nfs-utils/Manifest @@ -9,8 +9,8 @@ AUX nfs-utils-1.3.2-background-statd.patch 870 SHA256 aa61e103910066032b319363e2 AUX nfs-utils.conf 74 SHA256 a09f97a40b5c75a3fb65bd60feb4c4b7d2b569ced004464eef4e5136d850ddd6 SHA512 d72c0fbdf12cb1ddf8eaa5885e1ed93a2078c40ca48eb8868836fb72fa456c4865df15273fb7472f70dfe8098167e695b1340ff9a59b55e73b47690baaf977d6 WHIRLPOOL 295e80d0e6f51ad7b89ff40ecc06f56a4f41dec580da40f9fd5c6d7f1c61b39a3676bf2ab5bce230682193b2b23ed34154b9b0ac613eb3b6c24b3d36e35798ef AUX nfs.confd 948 SHA256 22bba4ee5d58bae422650875c7c8a797a52fc121ddd02d48297c075b8a35401e SHA512 0981f9ea34d5aaf25b558aa1f4c32f6750b657b450d5d22b999e1556b583207c8d88b83f6f803747c56cc70531556f5a8741589125429f93d0bbc73ae31c137e WHIRLPOOL ff6db7d613126c4fd76a6b99dc432a44f086ea22c78a42e3bcb2df04b95c31e9552cb2c080345b71027c71f97b0b7470fd53ffb81502b3f77bc9bb80a38fe9cc AUX nfs.initd 4351 SHA256 1e77bc6fb2ceb266f724818898bd42bec47512a5a7ede6660e0565ea1c58d619 SHA512 32a231fd04a2bb68b235b6d8294eefea4fd3e5eac2d84f3a8a8ec929b21b85788c5548338556f2246180261f82435cc2141c60f8b9c164c1e5ec1897fa18bce6 WHIRLPOOL 72324e4b73be6532d849f24a8d2e97ec43d70231e6cbdf73a5f8b0ae15b9dd9c48df8d3c67628a4445f1379c2201ec662fbcebc41385f90c2b1a6c180995be1e -AUX nfsclient.confd 327 SHA256 a1ecfb9441052d374b6bc2b77554a3253a4e4c231c76114b3313d2cc68e561b8 SHA512 e9d9b38397b7c0cafa1154e466317884480b804f08793aa2337257ecb9862f6b5f5c7fc3eeb63353104abe47c899194d670d6dcd8680f142a47164d8a296dec6 WHIRLPOOL db3616d469c17c7c6569d2f897392244718b16c2315f21df38cb9a9158e0cc2b7decc76b7340cd1444b02b32a755f70fd8b33dd72e596908842533c932dccb4d -AUX nfsclient.initd 969 SHA256 99ffd59c64b3468bfcf22daa24ef567d20e2d03d5c0cc376566f9433423dfd5d SHA512 220782660c0e6f9530ee903b39df8123c4eabf53180ee40a8cf9393f8107991ab3f301acb8e50be81bd579156e6519146f37ec4e5de8f296b18057ecca993d29 WHIRLPOOL 0e7fb48e87fc90cadd47740472e948218413c65fa8373ccad96156372694893829c9268474baa1d2b462e8274fb3819ba903b2387e2b3b42b011308b4a3b3d25 +AUX nfsclient.confd 592 SHA256 e8842fca856eae598fb8fe15ed8d3cef13e61851217be66b8cc4087af8cee8ad SHA512 f12e67728ac4e76357685e2fe38bd7f6fcd90064165758ffeca145e6962ac44d4ff9d8d57e18cc6925a6ada8e95ad8321e9fc355931a804dd455aae1e4850e92 WHIRLPOOL 480fea7b62817721358366678ba58f79c957d4a9b7184ca13a093e9a97aef7223f3862887d185405cf73b4ea99fb409ff5c33aedcf7fc4f32df0078a9d85569b +AUX nfsclient.initd 866 SHA256 122ade9931af8f64696375c9c66d00f64a90949616e00e9a00a7264c50c2e8a7 SHA512 2ede12d2fb09e8ef24d6d99c5c7e58d4df235ac312551a8479f2b1c77894b7f37281298537e658c6e44faf5c2361780e7b8dd7f2df0897216e00f7d13cd1a435 WHIRLPOOL c58d2c2294527e68a68ea0c1abcee1c779161121716f804a79ecf72011a46afd367966b5d149b38342b437600f73754d5126d9d618f18087cb2703c8e6087a23 AUX nfsd.service-r1 294 SHA256 b98575ae9803d0e75159a32f8bed61f6666f8ae130bb93069de13e76943f2577 SHA512 256c78317e5af15cca7f10e247d086d1a0b04ca34d93e8afe4f940d841c93a95ddc119c80aba287d777fe87830dfc8b52f9b558a3663de0ee5e05aa64fbbadbb WHIRLPOOL 8f492d40a44658ab8bbee760c29f738c531ea361081cb18ab7ed85d28d3e9736c2d8e040fe91554a19e8f49e1d26d064d73370f2b6e3ad2cd0927597ab09618d AUX nfsmount.confd 326 SHA256 b9389e143c2c4f95c11f97a8a379e007f140559016f60011c9d2ff0935758bcb SHA512 6e23897885cc33c49d9c7353b456585a1e0c7300822edba81bc48ba4ccc18297adce137260cc0aa9487aa5ef0aab3eecf931532cfa5bd40fd03bc9e0ddacfb28 WHIRLPOOL 97939b074a9b5717184512088388c9c22a31f37009996b69137023a0f8a97ce6eb41f7cb0a25843ea088f00d37cb45f6b3bd1ba0f801de7cb8f6dc2e5d374dfb AUX nfsmount.initd 1126 SHA256 b57637c7eb8e40b5cc1655e8afa69dc0aaecbd3186bdca3301586d1e9b797357 SHA512 e2c4d2bf9690b092d7062d95f4242e2591e3ed0aa8b9b36eae977d5d0350b0d90d339f7e75bdcc794abef27cf1541642a8a6dbbaed90e58cc823db4c92af9336 WHIRLPOOL 54a2bdb24015a6d8184fdde3351b152c5625cb6e4ff17876d592a1600fedec1724081b4ff233711ad9d290ea761827067c40ba8ae21121fc6066ba7ed230e483 @@ -34,13 +34,15 @@ DIST nfs-utils-1.3.2.tar.bz2 789540 SHA256 5b9c72eef260b86a84619771e11bb013b9943 EBUILD nfs-utils-1.2.9-r3.ebuild 4446 SHA256 bfdf40524e42edb4714b33e7edc21c77a316fed63616c2ba21eecb7f9b0aa40e SHA512 8770ccf5cac0348f0513413691c211c88731e964c85dd50eab18b5c0bd9e1196b77213351b0ce01939242c61cde4d4c04bfa79ecfbf1a399afed24bd6dfb4349 WHIRLPOOL 66f9068cbdaaf9998049c99854174cc37bee1e40fdc2a4c9f83761662e4a1997e5a00a15ba654b4a1077364c4561ad6d8855213452113e18533506ca32f64a3f EBUILD nfs-utils-1.3.0-r1.ebuild 4849 SHA256 1793141abbe923bfbf6077d90b5da3ac84347c0eed82209f3f71c133b67423e0 SHA512 486e1e0eb287755606ce47595eb2d427f0d24f40abdb5723cd55404e7de6b11fc74c8e7592bd76afd068cb9a0339b4cc9fefec1a8b17b0b30e7fd5bc3654876c WHIRLPOOL 418b1a3d5372198008f94874becc2e92ee4d19d2226e4c94f011cead89acbfe274d4cb71340bcd9006d8116ee86400ea69f2aae1f3e9e6d6dc1283690ca860bf EBUILD nfs-utils-1.3.1-r4.ebuild 5109 SHA256 974b89d08cbaa9dedf6fbc71671149ab0568d46f7761033a720f84dbe8cb9905 SHA512 8bcf9d1de4dd29da59e8c62bcce81ab2d081d189718bb3b1ef8064d83b37d17edae3e65659ff4f5b896f475c658183208308715659afe868d3c08097a30c25bc WHIRLPOOL 014d25cbd27dd74a4b02da90db0f77161602720d63ddf1416c07ec5e3fee4795f4a9aaf8a949ff719d9002bf8dc2041e1938819dc56d55c8f371e26c514dc84e +EBUILD nfs-utils-1.3.1-r5.ebuild 5109 SHA256 20e4948f999434414c33f221aec97f1caa7a95f0217460b489e83fdb6050261f SHA512 5a6ee0af6e65aafe21f38375047e86d1d9a4e0d3e63e93f8739c7e09c3c77fee89cb59284aaa32984e891c730274f32792afdf967836f389e516b7f11c6ddb08 WHIRLPOOL c44c220c20a1ac1aa205edbb4966f25d94d54b6e4b38f650c2c223b43461e5f1975f6a6ca91544ba516d1f0ecce7c970b0b523a45a827045e96625504b77ecde EBUILD nfs-utils-1.3.2-r5.ebuild 5261 SHA256 36595b0dfcfcebc78ab80584168fb340dac9c0329f7f5124c042e1f12f3bf0fc SHA512 1d0d742ae76eea3f5a75f00053760fb56f3bdb88e44e1a83048cca837d850f6704ddd8f485ffce05c2d561ab8c472ba3325179a30abbd0879fec22a4205f8438 WHIRLPOOL b19b1df314a5a1a121e5110bf35a4593ffb48337bb8e9177e4de57d9f5d18beed62446392b46eaf73580092f0e587c8f58b4b40f245610e99aef7d0cdc9191c2 -MISC ChangeLog 45166 SHA256 61d0d639b8ddebd555a3bed4b6398e8fcbd93edb7b3eb62df91a6cee0616a0f0 SHA512 25f94ceb1ebed903fd73060e9ebb0e896a90dfe396002ccd1c6f281572668f1d0bace5a566924dca37fa5cc03271770448a45a42950fd96045d26a05a625e703 WHIRLPOOL 9606034ca81f5f7c07ba8dee894f2c7fa49105e2820b1aed41dcca7c59675152019d98323f3b11d062c0b0e426c4cd66fd7f565a9426349ed8a63ce950f98308 +EBUILD nfs-utils-1.3.2-r6.ebuild 5261 SHA256 b6f6927657ace53866d1fe9e1f0b7a3597d6fe607a360b9348b98b31a0f3dabc SHA512 9ed88a9f1cc5e4fc78edb62bb6f4a4328b83f313b2699abdbda8b6af64e36a58480f18f5c05c0ec75a86034fd28c58c24bd8f0f7bd28eff0ef553b038f77764e WHIRLPOOL 57aed4984fa2d23bba48c92c3289cd258ba1faffe252baab527460a5bb43e199bde7b0a0a80205e6cc55993f63cdff780550855997b93b985888fd82cac63092 +MISC ChangeLog 45661 SHA256 533a7a36f55d04c41d1c1921939b6f8f8f6f8c089318384b68a1f996df1fd206 SHA512 a48029c9646eae32fa7cee33c4401bb3cbee487b371b253161e8e55d0d88b82d487d23abb04a874f81038a41ff9bd29094367eb0176480a66217b4a2fc311bf1 WHIRLPOOL 614ccbeaaf60ee07e9125a02e2a3d398660065932661926c356214460231bfddde6e61cc4a539d4a4a8a30160b21416105a0bbbadfc63635c69187ddfd5dac2c MISC metadata.xml 636 SHA256 ff4402edfb8a218effdadb00641459f21335e52d055a0f12d084934f3d1b76cd SHA512 090c74991f655df4c08fd062993a15ea9ce4721622d55325539d415e7b89e0920cd9ac6d5cc29a57e56e68998f03384386751bbd56c999897d1c84d4983ae2cb WHIRLPOOL 5f2e62843e843c615c5b0621740d55bcf37453399ca9727f1b70ce53f899157bece44801320558cf769ac4388617f03f65a0bb6167ac07f47561bbb002d40bc9 -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 -iEYEAREIAAYFAlTRJSwACgkQblQW9DDEZThRigCeMd9TUOsbUQTPOhBaSreLPYf2 -keoAnits4W9Md+/indA5jnIj1LJTIKnV -=XhYC +iEYEAREIAAYFAlTS8moACgkQblQW9DDEZTgtYACcCwDFlDH0imQvcQXQgxSv9hof +cWUAoJLyatsf3jkiYGRuaHHeQQUJNo7+ +=Ws62 -----END PGP SIGNATURE----- diff --git a/net-fs/nfs-utils/files/nfsclient.confd b/net-fs/nfs-utils/files/nfsclient.confd index d885b637ee7b..8a995571e1b8 100644 --- a/net-fs/nfs-utils/files/nfsclient.confd +++ b/net-fs/nfs-utils/files/nfsclient.confd @@ -1,3 +1,14 @@ +# You need to decide which nfs protocol version you want to use. +# If you are unsure, leave these alone. +# +# If you are using only nfsv4, uncomment this line: +# +#rc_need="!rpc.statd" +# +# If you are using only nfsv3, uncomment this line: +# +#rc_need="!rpc.idmapd" +# # You will need to set the dependencies in the nfsclient script to match # the network configuration tools you are using. This should be done in # this file by following the examples below, and not by changing the diff --git a/net-fs/nfs-utils/files/nfsclient.initd b/net-fs/nfs-utils/files/nfsclient.initd index 77c3bbef106d..72ba9a963035 100644 --- a/net-fs/nfs-utils/files/nfsclient.initd +++ b/net-fs/nfs-utils/files/nfsclient.initd @@ -1,25 +1,21 @@ #!/sbin/runscript # Copyright 1999-2015 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/net-fs/nfs-utils/files/nfsclient.initd,v 1.4 2015/02/03 19:28:36 williamh Exp $ +# $Header: /var/cvsroot/gentoo-x86/net-fs/nfs-utils/files/nfsclient.initd,v 1.5 2015/02/05 04:32:41 williamh Exp $ [ -e /etc/conf.d/nfs ] && . /etc/conf.d/nfs depend() { local opts myneed="" if [ -e /etc/fstab ] ; then - fstabinfo -t nfs4 -q && myneed="$myneed rpc.idmapd" - fstabinfo -t nfs -q && myneed="$myneed rpc.statd" - for opts in $(fstabinfo -o -t nfs,nfs4) ; do case $opts in *sec=krb*|*sec=spkm*) myneed="$myneed rpc.gssd" ;; esac done fi - before netmount config /etc/fstab - need portmap ${myneed} + need portmap rpc.statd rpc.idmapd ${myneed} use ypbind dns } diff --git a/net-fs/nfs-utils/nfs-utils-1.3.1-r5.ebuild b/net-fs/nfs-utils/nfs-utils-1.3.1-r5.ebuild new file mode 100644 index 000000000000..b85dd92567f9 --- /dev/null +++ b/net-fs/nfs-utils/nfs-utils-1.3.1-r5.ebuild @@ -0,0 +1,172 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-fs/nfs-utils/nfs-utils-1.3.1-r5.ebuild,v 1.1 2015/02/05 04:32:41 williamh Exp $ + +EAPI="5" + +inherit eutils flag-o-matic multilib autotools systemd + +DESCRIPTION="NFS client and server daemons" +HOMEPAGE="http://linux-nfs.org/" +SRC_URI="mirror://sourceforge/nfs/${P}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~alpha amd64 arm ~arm64 hppa ~ia64 ~mips ppc ppc64 ~s390 ~sh ~sparc x86" +IUSE="caps ipv6 kerberos +libmount nfsdcld +nfsidmap +nfsv4 nfsv41 selinux tcpd +uuid" +REQUIRED_USE="kerberos? ( nfsv4 )" +RESTRICT="test" #315573 + +# kth-krb doesn't provide the right include +# files, and nfs-utils doesn't build against heimdal either, +# so don't depend on virtual/krb. +# (04 Feb 2005 agriffis) +DEPEND_COMMON="tcpd? ( sys-apps/tcp-wrappers ) + caps? ( sys-libs/libcap ) + sys-libs/e2fsprogs-libs + >=net-nds/rpcbind-0.2.0-r1 + net-libs/libtirpc + libmount? ( sys-apps/util-linux ) + nfsdcld? ( >=dev-db/sqlite-3.3 ) + nfsv4? ( + <=dev-libs/libevent-2.1 + >=net-libs/libnfsidmap-0.21-r1 + kerberos? ( + >=net-libs/libtirpc-0.2.4-r1[kerberos] + app-crypt/mit-krb5 + ) + nfsidmap? ( + >=net-libs/libnfsidmap-0.24 + >=sys-apps/keyutils-1.5.9 + ) + ) + nfsv41? ( + sys-fs/lvm2 + ) + uuid? ( sys-apps/util-linux )" +RDEPEND="${DEPEND_COMMON} + !net-nds/portmap + !<sys-apps/openrc-0.13.9 + selinux? ( + sec-policy/selinux-rpc + sec-policy/selinux-rpcbind + ) +" +DEPEND="${DEPEND_COMMON} + virtual/pkgconfig" + +src_prepare() { + epatch "${FILESDIR}"/${PN}-1.1.4-mtab-sym.patch + epatch "${FILESDIR}"/${PN}-1.2.8-cross-build.patch + + sed \ + -e "/^sbindir/s:= := \"${EPREFIX}\":g" \ + -i utils/*/Makefile.am || die + + eautoreconf +} + +src_configure() { + export libsqlite3_cv_is_recent=yes # Our DEPEND forces this. + export ac_cv_header_keyutils_h=$(usex nfsidmap) + econf \ + --with-statedir="${EPREFIX}"/var/lib/nfs \ + --enable-tirpc \ + --with-tirpcinclude="${EPREFIX}"/usr/include/tirpc/ \ + $(use_enable libmount libmount-mount) \ + $(use_with tcpd tcp-wrappers) \ + $(use_enable nfsdcld nfsdcltrack) \ + $(use_enable nfsv4) \ + $(use_enable nfsv41) \ + $(use_enable ipv6) \ + $(use_enable caps) \ + $(use_enable uuid) \ + $(use_enable kerberos gss) \ + --without-gssglue +} + +src_compile(){ + # remove compiled files bundled in the tarball + emake clean + default +} + +src_install() { + default + rm linux-nfs/Makefile* || die + dodoc -r linux-nfs README + + # Don't overwrite existing xtab/etab, install the original + # versions somewhere safe... more info in pkg_postinst + keepdir /var/lib/nfs/{,sm,sm.bak} + mv "${ED}"/var/lib "${ED}"/usr/$(get_libdir) || die + + # Install some client-side binaries in /sbin + dodir /sbin + mv "${ED}"/usr/sbin/rpc.statd "${ED}"/sbin/ || die + + if use nfsv4 && use nfsidmap ; then + # Install a config file for idmappers in newer kernels. #415625 + insinto /etc/request-key.d + echo 'create id_resolver * * /usr/sbin/nfsidmap -t 600 %k %d' > id_resolver.conf + doins id_resolver.conf + fi + + insinto /etc + doins "${FILESDIR}"/exports + keepdir /etc/exports.d + + local f list=() opt_need="" + if use nfsv4 ; then + opt_need="rpc.idmapd" + list+=( rpc.idmapd rpc.pipefs ) + use kerberos && list+=( rpc.gssd rpc.svcgssd ) + fi + for f in nfs nfsclient rpc.statd "${list[@]}" ; do + newinitd "${FILESDIR}"/${f}.initd ${f} + done + newinitd "${FILESDIR}"/nfsmount.initd-1.3.1 nfsmount # Nuke after 2015/08/01 + for f in nfs nfsclient ; do + newconfd "${FILESDIR}"/${f}.confd ${f} + done + sed -i \ + -e "/^NFS_NEEDED_SERVICES=/s:=.*:=\"${opt_need}\":" \ + "${ED}"/etc/conf.d/nfs || die #234132 + + systemd_dounit systemd/*.{mount,service,target} + if ! use nfsv4 || ! use kerberos ; then + rm "${D}$(systemd_get_unitdir)"/rpc-{gssd,svcgssd}.service || die + fi + rm "${D}$(systemd_get_unitdir)"/nfs-config.service || die + sed -i -r \ + -e "/^EnvironmentFile=/s:=.*:=${EPREFIX}/etc/conf.d/nfs:" \ + -e '/^(After|Wants)=nfs-config.service$/d' \ + -e 's:/usr/sbin/rpc.statd:/sbin/rpc.statd:' \ + "${D}$(systemd_get_unitdir)"/* || die +} + +pkg_postinst() { + # Install default xtab and friends if there's none existing. In + # src_install we put them in /usr/lib/nfs for safe-keeping, but + # the daemons actually use the files in /var/lib/nfs. #30486 + local f + mkdir -p "${EROOT}"/var/lib/nfs #368505 + for f in "${EROOT}"/usr/$(get_libdir)/nfs/*; do + [[ -e ${EROOT}/var/lib/nfs/${f##*/} ]] && continue + einfo "Copying default ${f##*/} from ${EPREFIX}/usr/$(get_libdir)/nfs to ${EPREFIX}/var/lib/nfs" + cp -pPR "${f}" "${EROOT}"/var/lib/nfs/ + done + + if systemd_is_booted; then + if [[ ${REPLACING_VERSIONS} < 1.3.0 ]]; then + ewarn "We have switched to upstream systemd unit files. Since" + ewarn "they got renamed, you should probably enable the new ones." + ewarn "You can run 'equery files nfs-utils | grep systemd'" + ewarn "to know what services you need to enable now." + fi + else + ewarn "If you use OpenRC, the nfsmount service has been replaced with nfsclient." + ewarn "If you were using nfsmount, please add nfsclient and netmount to the" + ewarn "same runlevel as nfsmount." + fi +} diff --git a/net-fs/nfs-utils/nfs-utils-1.3.2-r6.ebuild b/net-fs/nfs-utils/nfs-utils-1.3.2-r6.ebuild new file mode 100644 index 000000000000..51ada3a4f50d --- /dev/null +++ b/net-fs/nfs-utils/nfs-utils-1.3.2-r6.ebuild @@ -0,0 +1,177 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-fs/nfs-utils/nfs-utils-1.3.2-r6.ebuild,v 1.1 2015/02/05 04:32:41 williamh Exp $ + +EAPI="5" + +inherit eutils flag-o-matic multilib autotools systemd + +DESCRIPTION="NFS client and server daemons" +HOMEPAGE="http://linux-nfs.org/" +SRC_URI="mirror://sourceforge/nfs/${P}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86" +IUSE="caps ipv6 kerberos +libmount nfsdcld +nfsidmap +nfsv4 nfsv41 selinux tcpd +uuid" +REQUIRED_USE="kerberos? ( nfsv4 )" +RESTRICT="test" #315573 + +# kth-krb doesn't provide the right include +# files, and nfs-utils doesn't build against heimdal either, +# so don't depend on virtual/krb. +# (04 Feb 2005 agriffis) +DEPEND_COMMON="tcpd? ( sys-apps/tcp-wrappers ) + caps? ( sys-libs/libcap ) + sys-libs/e2fsprogs-libs + >=net-nds/rpcbind-0.2.0-r1 + net-libs/libtirpc + libmount? ( sys-apps/util-linux ) + nfsdcld? ( >=dev-db/sqlite-3.3 ) + nfsv4? ( + dev-libs/libevent + >=net-libs/libnfsidmap-0.21-r1 + kerberos? ( + >=net-libs/libtirpc-0.2.4-r1[kerberos] + app-crypt/mit-krb5 + ) + nfsidmap? ( + >=net-libs/libnfsidmap-0.24 + >=sys-apps/keyutils-1.5.9 + ) + ) + nfsv41? ( + sys-fs/lvm2 + ) + uuid? ( sys-apps/util-linux )" +RDEPEND="${DEPEND_COMMON} + !net-nds/portmap + !<sys-apps/openrc-0.13.9 + selinux? ( + sec-policy/selinux-rpc + sec-policy/selinux-rpcbind + ) +" +DEPEND="${DEPEND_COMMON} + virtual/pkgconfig" + +src_prepare() { + epatch "${FILESDIR}"/${PN}-1.1.4-mtab-sym.patch + epatch "${FILESDIR}"/${PN}-1.2.8-cross-build.patch + epatch "${FILESDIR}"/${PN}-1.3.2-background-statd.patch + + sed \ + -e "/^sbindir/s:= := \"${EPREFIX}\":g" \ + -i utils/*/Makefile.am || die + + epatch_user + eautoreconf +} + +src_configure() { + export libsqlite3_cv_is_recent=yes # Our DEPEND forces this. + export ac_cv_header_keyutils_h=$(usex nfsidmap) + econf \ + --with-statedir="${EPREFIX}"/var/lib/nfs \ + --enable-tirpc \ + --with-tirpcinclude="${EPREFIX}"/usr/include/tirpc/ \ + $(use_enable libmount libmount-mount) \ + $(use_with tcpd tcp-wrappers) \ + $(use_enable nfsdcld nfsdcltrack) \ + $(use_enable nfsv4) \ + $(use_enable nfsv41) \ + $(use_enable ipv6) \ + $(use_enable caps) \ + $(use_enable uuid) \ + $(use_enable kerberos gss) \ + --without-gssglue +} + +src_compile(){ + # remove compiled files bundled in the tarball + emake clean + default +} + +src_install() { + default + rm linux-nfs/Makefile* || die + dodoc -r linux-nfs README + + # Don't overwrite existing xtab/etab, install the original + # versions somewhere safe... more info in pkg_postinst + keepdir /var/lib/nfs/{,sm,sm.bak} + mv "${ED}"/var/lib "${ED}"/usr/$(get_libdir) || die + + # Install some client-side binaries in /sbin + dodir /sbin + mv "${ED}"/usr/sbin/rpc.statd "${ED}"/sbin/ || die + + if use nfsv4 && use nfsidmap ; then + # Install a config file for idmappers in newer kernels. #415625 + insinto /etc/request-key.d + echo 'create id_resolver * * /usr/sbin/nfsidmap -t 600 %k %d' > id_resolver.conf + doins id_resolver.conf + fi + + insinto /etc + doins "${FILESDIR}"/exports + keepdir /etc/exports.d + + local f list=() opt_need="" + if use nfsv4 ; then + opt_need="rpc.idmapd" + list+=( rpc.idmapd rpc.pipefs ) + use kerberos && list+=( rpc.gssd rpc.svcgssd ) + fi + for f in nfs nfsclient rpc.statd "${list[@]}" ; do + newinitd "${FILESDIR}"/${f}.initd ${f} + done + newinitd "${FILESDIR}"/nfsmount.initd-1.3.1 nfsmount # Nuke after 2015/08/01 + for f in nfs nfsclient ; do + newconfd "${FILESDIR}"/${f}.confd ${f} + done + sed -i \ + -e "/^NFS_NEEDED_SERVICES=/s:=.*:=\"${opt_need}\":" \ + "${ED}"/etc/conf.d/nfs || die #234132 + + systemd_dounit systemd/*.{mount,service,target} + if ! use nfsv4 || ! use kerberos ; then + rm "${D}$(systemd_get_unitdir)"/rpc-{gssd,svcgssd}.service || die + fi + if ! use nfsv41 ; then + rm "${D}$(systemd_get_unitdir)"/nfs-blkmap.* || die + fi + rm "${D}$(systemd_get_unitdir)"/nfs-config.service || die + sed -i -r \ + -e "/^EnvironmentFile=/s:=.*:=${EPREFIX}/etc/conf.d/nfs:" \ + -e '/^(After|Wants)=nfs-config.service$/d' \ + -e 's:/usr/sbin/rpc.statd:/sbin/rpc.statd:' \ + "${D}$(systemd_get_unitdir)"/* || die +} + +pkg_postinst() { + # Install default xtab and friends if there's none existing. In + # src_install we put them in /usr/lib/nfs for safe-keeping, but + # the daemons actually use the files in /var/lib/nfs. #30486 + local f + mkdir -p "${EROOT}"/var/lib/nfs #368505 + for f in "${EROOT}"/usr/$(get_libdir)/nfs/*; do + [[ -e ${EROOT}/var/lib/nfs/${f##*/} ]] && continue + einfo "Copying default ${f##*/} from ${EPREFIX}/usr/$(get_libdir)/nfs to ${EPREFIX}/var/lib/nfs" + cp -pPR "${f}" "${EROOT}"/var/lib/nfs/ + done + + if systemd_is_booted; then + if [[ ${REPLACING_VERSIONS} < 1.3.0 ]]; then + ewarn "We have switched to upstream systemd unit files. Since" + ewarn "they got renamed, you should probably enable the new ones." + ewarn "You can run 'equery files nfs-utils | grep systemd'" + ewarn "to know what services you need to enable now." + fi + else + ewarn "If you use OpenRC, the nfsmount service has been replaced with nfsclient." + ewarn "If you were using nfsmount, please add nfsclient and netmount to the" + ewarn "same runlevel as nfsmount." + fi +} |