+# TODO:
+# - where to put idmapd binaries (server/client/both)?
+# - gss daemons, main or separate package?
+#
+# Conditional build:
+%bcond_without nfs4 # without NFSv4 support
+#
Summary: Kernel NFS server
Summary(pl): Dzia³aj±cy na poziomie j±dra serwer NFS
Summary(pt_BR): Os utilitários para o cliente e servidor NFS do Linux
Summary(ru): õÔÉÌÉÔÙ ÄÌÑ NFS É ÄÅÍÏÎÙ ÐÏÄÄÅÒÖËÉ ÄÌÑ NFS-ÓÅÒ×ÅÒÁ ÑÄÒÁ
Summary(uk): õÔÉ̦ÔÉ ÄÌÑ NFS ÔÁ ÄÅÍÏÎÉ Ð¦ÄÔÒÉÍËÉ ÄÌÑ NFS-ÓÅÒ×ÅÒÁ ÑÄÒÁ
Name: nfs-utils
-Version: 1.0.6
-Release: 6
+Version: 1.0.7
+Release: 2.1
License: GPL
Group: Networking/Daemons
Source0: http://dl.sourceforge.net/nfs/%{name}-%{version}.tar.gz
-# Source0-md5: f17e9983457e1cf61c37f0be4493fce6
+# Source0-md5: 8f863120261cd572ad320a9152581e11
Source1: ftp://ftp.linuxnfs.sourceforge.org/pub/nfs/nfs.doc.tar.gz
# Source1-md5: ae7db9c61c5ad04f83bb99e5caed73da
Source2: nfs.init
Patch2: %{name}-eepro-support.patch
Patch3: %{name}-install.patch
Patch4: %{name}-nolibs.patch
+Patch5: %{name}-usn36.patch
+Patch6: %{name}-gss.patch
URL: http://nfs.sourceforge.net/
BuildRequires: autoconf
-PreReq: rc-scripts
+%{?with_nfs4:BuildRequires: heimdal-devel}
+%{?with_nfs4:BuildRequires: libevent-devel}
+BuildRequires: libwrap-devel
+%{?with_nfs4:BuildRequires: nfsidmap-devel}
+PreReq: rc-scripts >= 0.4.0
+PreReq: setup >= 2.4.6-7
Requires(post,preun): /sbin/chkconfig
Requires(post): fileutils
Requires(post): sed
%patch2 -p1
%patch3 -p1
%patch4 -p1
+%patch5 -p1
+%patch6 -p1
+
+chmod u+w configure
%build
+rm -rf support/gssapi/*
+echo -ne "all:\ndep:\ninstall:\ninstallman:\n" > support/gssapi/Makefile
+ln -sf %{_includedir}/gssapi.h support/include/gssapi/gssapi.h
%{__autoconf}
%configure \
- --with-statedir=/var/lib/nfs \
+%if %{without nfs4}
+ --disable-gss \
+ --disable-nfsv4 \
+%endif
--enable-nfsv3 \
- --enable-secure-statd
+ --enable-secure-statd \
+ --with-statedir=/var/lib/nfs
%{__make} all
%install
%{__make} install \
install_prefix=$RPM_BUILD_ROOT
+install utils/idmapd/idmapd.conf $RPM_BUILD_ROOT/etc
install tools/rpcdebug/rpcdebug $RPM_BUILD_ROOT/sbin
install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/nfs
install %{SOURCE3} $RPM_BUILD_ROOT/etc/rc.d/init.d/nfslock
> $RPM_BUILD_ROOT%{_var}/lib/nfs/rmtab
> $RPM_BUILD_ROOT%{_sysconfdir}/exports
-rm -f $RPM_BUILD_ROOT%{_mandir}/man8/rpc.{mountd,nfsd,rquotad,statd,lockd}.8
+rm -f $RPM_BUILD_ROOT%{_mandir}/man8/rpc.{mountd,nfsd,rquotad,statd,lockd,gssd,idmapd,svcgssd}.8
echo ".so lockd.8" > $RPM_BUILD_ROOT%{_mandir}/man8/rpc.lockd.8
echo ".so mountd.8" > $RPM_BUILD_ROOT%{_mandir}/man8/rpc.mountd.8
echo ".so nfsd.8" > $RPM_BUILD_ROOT%{_mandir}/man8/rpc.nfsd.8
echo ".so rquotad.8" > $RPM_BUILD_ROOT%{_mandir}/man8/rpc.rquotad.8
echo ".so statd.8" > $RPM_BUILD_ROOT%{_mandir}/man8/rpc.statd.8
+echo ".so gssd.8" > $RPM_BUILD_ROOT%{_mandir}/man8/rpc.gssd.8
+echo ".so idmapd.8" > $RPM_BUILD_ROOT%{_mandir}/man8/rpc.idmapd.8
+echo ".so svcgssd.8" > $RPM_BUILD_ROOT%{_mandir}/man8/rpc.svcgssd.8
+rm -f $RPM_BUILD_ROOT%{_mandir}/man5/rpc.idmapd.conf.5
+echo ".so idmapd.conf.5" > $RPM_BUILD_ROOT%{_mandir}/man5/rpc.idmapd.conf.5
touch $RPM_BUILD_ROOT/var/lib/nfs/xtab
ln -sf /bin/true $RPM_BUILD_ROOT/sbin/fsck.nfs
-mv -f nfs/*.ps ./
-mv -f nfs html
+cp -a nfs nfs-copy
+mv -f nfs-copy/*.ps ./
+mv -f nfs-copy html
%clean
rm -rf $RPM_BUILD_ROOT
%attr(755,root,root) %{_sbindir}/exportfs
%attr(755,root,root) %{_sbindir}/rpc.mountd
%attr(755,root,root) %{_sbindir}/rpc.nfsd
+%{?with_nfs4:%attr(755,root,root) %{_sbindir}/rpc.idmapd}
%attr(755,root,root) %{_sbindir}/nfsstat
%attr(755,root,root) %{_sbindir}/nhfsgraph
%attr(755,root,root) %{_sbindir}/nhfsnums
%attr(755,root,root) %dir %{_var}/lib/nfs
-%config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/exports
-%config(noreplace) %verify(not size mtime md5) /etc/sysconfig/nfsd
-%config(noreplace) %verify(not size mtime md5) %{_var}/lib/nfs/xtab
-%config(noreplace) %verify(not size mtime md5) %{_var}/lib/nfs/etab
-%config(noreplace) %verify(not size mtime md5) %{_var}/lib/nfs/rmtab
+%attr(660,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/idmapd.conf
+%attr(664,root,fileshare) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/exports
+%config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/nfsd
+%config(noreplace) %verify(not md5 mtime size) %{_var}/lib/nfs/xtab
+%config(noreplace) %verify(not md5 mtime size) %{_var}/lib/nfs/etab
+%config(noreplace) %verify(not md5 mtime size) %{_var}/lib/nfs/rmtab
+%{_mandir}/man[58]/*idmap*
%{_mandir}/man5/exports.5*
%{_mandir}/man7/nfsd.7*
%{_mandir}/man8/exportfs.8*
%attr(755,root,root) %{_sbindir}/rpc.lockd
%attr(755,root,root) %{_sbindir}/rpc.statd
%attr(754,root,root) /etc/rc.d/init.d/nfslock
-%config(noreplace) %verify(not size mtime md5) /etc/sysconfig/nfslock
+%config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/nfslock
%{_mandir}/man8/rpc.lockd.8*
%{_mandir}/man8/lockd.8*
%{_mandir}/man8/rpc.statd.8*
%{_mandir}/man8/statd.8*
-%config(noreplace) %verify(not size mtime md5) %{_var}/lib/nfs/state
+%config(noreplace) %verify(not md5 mtime size) %{_var}/lib/nfs/state
%files clients
%defattr(644,root,root,755)
#%defattr(644,root,root,755)
#%attr(755,root,root) %{_sbindir}/rpc.rquotad
#%attr(754,root,root) /etc/rc.d/init.d/rquotad
-#%config(noreplace) %verify(not size mtime md5) /etc/sysconfig/rquotad
+#%config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/rquotad
#%%{_mandir}/man8/rpc.rquotad.8*