+# 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: 0.2.1
-Release: 1
+Version: 1.0.7
+Release: 2.1
License: GPL
Group: Networking/Daemons
-Group(de): Netzwerkwesen/Server
-Group(pl): Sieciowe/Serwery
-Source0: ftp://ftp.linuxnfs.sourceforge.org/pub/nfs/%{name}-%{version}.tar.gz
+Source0: http://dl.sourceforge.net/nfs/%{name}-%{version}.tar.gz
+# Source0-md5: 8f863120261cd572ad320a9152581e11
Source1: ftp://ftp.linuxnfs.sourceforge.org/pub/nfs/nfs.doc.tar.gz
+# Source1-md5: ae7db9c61c5ad04f83bb99e5caed73da
Source2: nfs.init
Source3: nfslock.init
Source4: rquotad.init
Source7: rquotad.sysconfig
Source8: nfsfs.init
Patch0: %{name}-paths.patch
-#Requires: kernel >= 2.2.5
+Patch1: %{name}-time.patch
+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
+%{?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
Requires: portmap >= 4.0
-Obsoletes: nfsdaemon nfs-server knfsd
Provides: nfsdaemon
-Requires: rc-scripts
-BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
+Obsoletes: nfsdaemon
+Obsoletes: knfsd
+Obsoletes: nfs-server
+Conflicts: kernel < 2.2.5
ExcludeArch: armv4l
+BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%description
This is the *new* kernel NFS server and related tools. It provides a
%description -l pl
To jest *nowy* dzia³aj±cy na poziomie j±dra serwer NFS oraz zwi±zane z
nim narzêdzia. Serwer ten dostarcza znacznie wiêksz± wydajno¶æ ni¿
-tradycyjny, dzia³aj±cy na poziomie uzytkownika serwer NFS.
+tradycyjny, dzia³aj±cy na poziomie u¿ytkownika serwer NFS.
+
+%description -l pt_BR
+O pacote nfs-utils provê os utilitários para o cliente e servidor NFS
+do Linux.
+
+%description -l ru
+ðÁËÅÔ nfs-utils ÐÒÅÄÏÓÔÁ×ÌÑÅÔ ÄÅÍÏÎÁ ÄÌÑ NFS-ÓÅÒ×ÅÒÁ, ×ËÌÀÞÅÎÎÏÇÏ ×
+ÑÄÒÏ, É ÓÏÐÕÔÓÔ×ÕÀÝÉÅ ÕÔÉÌÉÔÙ, ËÏÔÏÒÙÅ ÏÂÅÓÐÅÞÉ×ÁÀÔ ÎÁÍÎÏÇÏ ÂÏÌØÛÕÀ
+ÐÒÏÉÚ×ÏÄÉÔÅÌØÎÏÓÔØ, ÞÅÍ ÔÒÁÄÉÃÉÏÎÎÙÅ Linux NFS-ÓÅÒ×ÅÒÁ, ÉÓÐÏÌØÚÕÅÍÙÅ
+ÂÏÌØÛÉÎÓÔ×ÏÍ ÐÏÌØÚÏ×ÁÔÅÌÅÊ.
+
+%description -l uk
+ðÁËÅÔ nfs-utils ÎÁÄÁ¤ ÄÅÍÏÎÁ ÄÌÑ NFS-ÓÅÒ×ÅÒÁ, ×ÂÕÄÏ×ÁÎÏÇÏ × ÑÄÒÏ, ÔÁ
+ÓÕÐÕÔΦ ÕÔÉ̦ÔÉ, Ñ˦ ÚÁÂÅÚÐÅÞÕÀÔØ ÎÁÂÁÇÁÔÏ Â¦ÌØÛÕ ÐÒÏÄÕËÔÉ×ΦÓÔØ, ΦÖ
+ÔÒÁÄÉæÊΦ Linux NFS-ÓÅÒ×ÅÒÉ, Ñ˦ ×ÉËÏÒÉÓÔÏ×Õ¤ ¦ÌØÛ¦ÓÔØ ËÏÒÉÓÔÕ×ÁÞ¦×.
%package clients
Summary: Clients for connecting to a remote NFS server
Summary(pl): Klienci do ³±czenia siê ze zdalnym serwerem NFS
Group: Networking
-Group(de): Netzwerkwesen
-Group(pl): Sieciowe
-Obsoletes: nfsclient nfs-server-clients knfsd-clients
+PreReq: rc-scripts
+Requires(post,preun): /sbin/chkconfig
+Requires: psmisc
Provides: nfsclient
Provides: nfs-server-clients
+Obsoletes: nfsclient
Obsoletes: nfs-server-clients
+Obsoletes: knfsd-clients
%description clients
The nfs-server-clients package contains the showmount program.
example, showmount can display the clients which are mounted on that
host. This package is not needed to mount NFS volumes.
-%description -l pl clients
+%description clients -l pl
Pakiet zawiera program showmount s³u¿±cy do odpytywania serwera NFS.
+Showmount pyta demona na zdalnej maszynie o informacje NFS na zdalnym
+ho¶cie. Na przyk³ad, showmount potrafi pokazaæ klientów, którzy s±
+zamountowani na tym serwerze. Ten pakiet nie jest konieczny do
+zamountowania zasobów NFS.
%package lock
Summary: Programs for NFS file locking
Summary(pl): Programy do obs³ugi blokowania plików poprzez NFS (lock)
+Group: Networking
+PreReq: rc-scripts
+Requires(post,preun): /sbin/chkconfig
#Requires: kernel >= 2.2.5
-Requires: rc-scripts
Requires: portmap >= 4.0
-Obsoletes: nfslockd knfsd-lock
Provides: nfslockd
-Group: Networking
-Group(de): Netzwerkwesen
-Group(pl): Sieciowe
+Obsoletes: nfslockd
+Obsoletes: knfsd-lock
%description lock
The nfs-lock pacage contains programs which support the NFS file lock.
Install nfs-lock if you want to use file lock over NFS.
-%description -l pl lock
+%description lock -l pl
Ten pakiet zawiera programy umo¿liwiaj±ce wykonywanie blokowania
plików (file locking) poprzez NFS.
Summary: Remote quota server
Summary(pl): Zdalny serwer quota
Group: Networking/Daemons
-Group(de): Netzwerkwesen/Server
-Group(pl): Sieciowe/Serwery
-Requires: rc-scripts
+PreReq: rc-scripts
+Requires(post,preun): /sbin/chkconfig
Obsoletes: quota-rquotad
%description rquotad
The results are used by quota(1) to display user quotas for remote
file systems.
-%description -l pl rquotad
-Zdalny serwer quota.
+%description rquotad -l pl
+rquotad jest serverem rpc(3N), który zwraca quoty u¿ytkownika
+lokalnego systemu plików, który jest zamountowany przez zdaln± maszynê
+poprzez NFS. Rezultaty s± u¿ywane przez quota(1), aby wy¶wietliæ quotê
+dla zdalnego systemu plików.
%prep
-%setup -q -a1
+%setup -q -a1
%patch0 -p1
+%patch1 -p1
+%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
rm -rf $RPM_BUILD_ROOT
-
install -d $RPM_BUILD_ROOT{/sbin,%{_sbindir},%{_mandir}/man{5,8}} \
$RPM_BUILD_ROOT{%{_sysconfdir}/{rc.d/init.d,sysconfig},%{_var}/lib/nfs}
-%{__make} install install_prefix="$RPM_BUILD_ROOT"
+%{__make} install \
+ install_prefix=$RPM_BUILD_ROOT
-install -s tools/rpcdebug/rpcdebug $RPM_BUILD_ROOT/sbin
+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
install %{SOURCE4} $RPM_BUILD_ROOT/etc/rc.d/init.d/rquotad
install %{SOURCE5} $RPM_BUILD_ROOT/etc/sysconfig/nfsd
install %{SOURCE6} $RPM_BUILD_ROOT/etc/sysconfig/nfslock
install %{SOURCE7} $RPM_BUILD_ROOT/etc/sysconfig/rquotad
-touch $RPM_BUILD_ROOT/%{_var}/lib/nfs/rmtab
-touch $RPM_BUILD_ROOT%{_sysconfdir}/exports
+> $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
-gzip -9nf ChangeLog README nfs/*.ps
+ln -sf /bin/true $RPM_BUILD_ROOT/sbin/fsck.nfs
-mv -f nfs/*.ps.gz ./
-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
if [ -r /var/lock/subsys/nfs ]; then
/etc/rc.d/init.d/nfs restart >&2
else
- echo "Run \"/etc/rc.d/init.d/nfs start\" to start nfs daemon."
+ echo "Run \"/etc/rc.d/init.d/nfs start\" to start NFS daemon."
fi
+umask 022
sed -e 's/NFSDTYPE=.*/NFSDTYPE=K/' /etc/sysconfig/nfsd > /etc/sysconfig/nfsd.new
mv -f /etc/sysconfig/nfsd.new /etc/sysconfig/nfsd
if [ -r /var/lock/subsys/nfsfs ]; then
/etc/rc.d/init.d/nfsfs restart >&2
else
- echo "Run \"/etc/rc.d/init.d/nfsfs start\" to mount all NFS volumens."
+ echo "Run \"/etc/rc.d/init.d/nfsfs start\" to mount all NFS volumes."
fi
%preun clients
%files
%defattr(644,root,root,755)
-%doc {ChangeLog,README,*.ps}.gz html
+%doc ChangeLog README *.ps html
%attr(755,root,root) /sbin/rpcdebug
+%attr(755,root,root) /sbin/fsck.nfs
%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) %{_sbindir}/nhfsrun
%attr(755,root,root) %{_sbindir}/nhfsstone
%attr(754,root,root) /etc/rc.d/init.d/nfs
%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*
%{_mandir}/man8/mountd.8*
+%{_mandir}/man8/nhfsgraph.8*
+%{_mandir}/man8/nhfsnums.8*
+%{_mandir}/man8/nhfsrun.8*
+%{_mandir}/man8/nhfsstone.8*
%{_mandir}/man8/nfsd.8*
%{_mandir}/man8/nfsstat.8*
%{_mandir}/man8/rpc.mountd.8*
%{_mandir}/man8/rpc.nfsd.8*
-%{_mandir}/man5/exports.5*
%files lock
%defattr(644,root,root,755)
%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
-%attr(755,root,root) %dir %{_var}/lib/nfs
+%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 md5 mtime size) %{_var}/lib/nfs/state
%files clients
%defattr(644,root,root,755)
%attr(755,root,root) %{_sbindir}/showmount
%{_mandir}/man8/showmount.8*
-%files rquotad
-%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
-%{_mandir}/man8/rpc.rquotad.8*
+#%files rquotad
+#%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 md5 mtime size) /etc/sysconfig/rquotad
+#%%{_mandir}/man8/rpc.rquotad.8*