2 # - should unmount /proc/fs/nfsd and /var/lib/nfs/rpc_pipefs at package
3 # uninstall (or in service nfs stop)
6 %bcond_without nfs4 # without NFSv4 support
7 %bcond_without mount # don't build mount.nfs program
9 Summary: Kernel NFS server
10 Summary(pl.UTF-8): Działający na poziomie jądra serwer NFS
11 Summary(pt_BR.UTF-8): Os utilitários para o cliente e servidor NFS do Linux
12 Summary(ru.UTF-8): Утилиты для NFS и демоны поддержки для NFS-сервера ядра
13 Summary(uk.UTF-8): Утиліти для NFS та демони підтримки для NFS-сервера ядра
18 Group: Networking/Daemons
19 Source0: ftp://ftp.kernel.org/pub/linux/utils/nfs/%{name}-%{version}.tar.gz
20 # Source0-md5: df88c6fe88a26f9797e74cb2d3291a2a
21 #Source1: ftp://ftp.linuxnfs.sourceforge.org/pub/nfs/nfs.doc.tar.gz
22 Source1: nfs.doc.tar.gz
23 # Source1-md5: ae7db9c61c5ad04f83bb99e5caed73da
27 Source5: rpcidmapd.init
29 Source7: rpcsvcgssd.init
30 Source8: nfs.sysconfig
31 Source9: nfslock.sysconfig
32 Source10: nfsfs.sysconfig
33 Patch0: %{name}-eepro-support.patch
34 Patch1: %{name}-install.patch
35 # http://www.citi.umich.edu/projects/nfsv4/linux/nfs-utils-patches/1.1.0-1/nfs-utils-1.1.0-CITI_NFS4_ALL-1.dif
36 Patch2: %{name}-CITI_NFS4.patch
37 Patch3: %{name}-statdpath.patch
38 Patch4: %{name}-mount-fake.patch
39 Patch5: %{name}-mountd.patch
40 Patch6: %{name}-idmapd.conf.patch
41 Patch7: %{name}-keytab-path.patch
42 Patch8: %{name}-subsys.patch
43 Patch9: %{name}-mountd-leak.patch
44 Patch10: %{name}-libgssglue.patch
45 URL: http://nfs.sourceforge.net/
46 BuildRequires: autoconf >= 2.59
47 BuildRequires: automake
49 BuildRequires: e2fsprogs-devel >= 1.39-5
51 BuildRequires: krb5-devel >= 1.6
52 BuildRequires: libevent-devel >= 1.2
53 BuildRequires: libgssglue-devel >= 0.1
54 BuildRequires: libnfsidmap-devel
55 BuildRequires: librpcsecgss-devel >= 0.16
57 BuildRequires: libtool
58 BuildRequires: libwrap-devel
59 BuildRequires: pkgconfig
60 BuildRequires: sed >= 4.0
61 Requires(post): fileutils
62 Requires(post): sed >= 4.0
63 Requires(post,preun): /sbin/chkconfig
64 Requires: %{name}-common = %{version}-%{release}
65 Requires: portmap >= 4.0
66 Requires: rc-scripts >= 0.4.1.5
67 Requires: setup >= 2.4.6-7
72 Conflicts: kernel < 2.2.5
74 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
77 This is the *new* kernel NFS server and related tools. It provides a
78 much higher level of performance than the traditional Linux user-land
81 %description -l pl.UTF-8
82 To jest *nowy* działający na poziomie jądra serwer NFS oraz związane z
83 nim narzędzia. Serwer ten dostarcza znacznie większą wydajność niż
84 tradycyjny, działający na poziomie użytkownika serwer NFS.
86 %description -l pt_BR.UTF-8
87 O pacote nfs-utils provê os utilitários para o cliente e servidor NFS
90 %description -l ru.UTF-8
91 Пакет nfs-utils предоставляет демона для NFS-сервера, включенного в
92 ядро, и сопутствующие утилиты, которые обеспечивают намного большую
93 производительность, чем традиционные Linux NFS-сервера, используемые
94 большинством пользователей.
96 %description -l uk.UTF-8
97 Пакет nfs-utils надає демона для NFS-сервера, вбудованого в ядро, та
98 супутні утиліти, які забезпечують набагато більшу продуктивність, ніж
99 традиційні Linux NFS-сервери, які використовує більшість користувачів.
102 Summary: Clients for connecting to a remote NFS server
103 Summary(pl.UTF-8): Klienci do łączenia się ze zdalnym serwerem NFS
105 Requires(post,preun): /sbin/chkconfig
106 Requires: %{name}-common = %{version}-%{release}
109 Provides: nfs-server-clients
111 Obsoletes: knfsd-clients
112 Obsoletes: nfs-server-clients
116 The nfs-server-clients package contains the showmount program.
117 Showmount queries the mount daemon on a remote host for information
118 about the NFS (Network File System) server on the remote host. For
119 example, showmount can display the clients which are mounted on that
120 host. This package is not needed to mount NFS volumes.
122 %description clients -l pl.UTF-8
123 Pakiet zawiera program showmount służący do odpytywania serwera NFS.
124 Showmount pyta demona na zdalnej maszynie o informacje NFS na zdalnym
125 hoście. Na przykład, showmount potrafi pokazać klientów, którzy są
126 zamountowani na tym serwerze. Ten pakiet nie jest konieczny do
127 zamountowania zasobów NFS.
130 Summary: Programs for NFS file locking
131 Summary(pl.UTF-8): Programy do obsługi blokowania plików poprzez NFS (lock)
133 Requires(post,preun): /sbin/chkconfig
134 Requires: portmap >= 4.0
136 Provides: group(rpcstatd)
137 Provides: user(rpcstatd)
139 Obsoletes: knfsd-lock
143 The nfs-lock pacage contains programs which support the NFS file lock.
144 Install nfs-lock if you want to use file lock over NFS.
146 %description lock -l pl.UTF-8
147 Ten pakiet zawiera programy umożliwiające wykonywanie blokowania
148 plików (file locking) poprzez NFS.
151 Summary: Common programs for NFS
152 Summary(pl.UTF-8): Wspólne programy do obsługi NFS
156 Common programs for NFS.
158 %description common -l pl.UTF-8
159 Wspólne programy do obsługi NFS.
180 --with-krb5=%{_prefix} \
186 %{?with_mount:--enable-mount} \
189 --enable-secure-statd \
190 --with-statedir=/var/lib/nfs \
196 rm -rf $RPM_BUILD_ROOT
197 install -d $RPM_BUILD_ROOT{/sbin,%{_sbindir},%{_mandir}/man{5,8}} \
198 $RPM_BUILD_ROOT%{_sysconfdir}/{rc.d/init.d,sysconfig} \
199 $RPM_BUILD_ROOT%{_var}/lib/nfs/{rpc_pipefs,v4recovery,statd}
202 DESTDIR=$RPM_BUILD_ROOT
204 cat >$RPM_BUILD_ROOT%{_sbindir}/start-statd <<EOF
206 # mount.nfs calls this script when mounting a filesystem with locking
207 # enabled, but when statd does not seem to be running (based on
208 # /var/run/rpc.statd.pid).
209 exec /sbin/service nfslock start
212 sed -e "s|#!/bin/bash|#!/bin/sh|" utils/gssd/gss_destroy_creds > $RPM_BUILD_ROOT%{_sbindir}/gss_destroy_creds
214 mv $RPM_BUILD_ROOT%{_sbindir}/rpcdebug $RPM_BUILD_ROOT/sbin
215 install utils/idmapd/idmapd.conf $RPM_BUILD_ROOT%{_sysconfdir}/
217 install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/nfs
218 install %{SOURCE3} $RPM_BUILD_ROOT/etc/rc.d/init.d/nfslock
219 install %{SOURCE4} $RPM_BUILD_ROOT/etc/rc.d/init.d/nfsfs
220 install %{SOURCE5} $RPM_BUILD_ROOT/etc/rc.d/init.d/idmapd
221 install %{SOURCE6} $RPM_BUILD_ROOT/etc/rc.d/init.d/gssd
222 install %{SOURCE7} $RPM_BUILD_ROOT/etc/rc.d/init.d/svcgssd
223 install %{SOURCE8} $RPM_BUILD_ROOT/etc/sysconfig/nfsd
224 install %{SOURCE9} $RPM_BUILD_ROOT/etc/sysconfig/nfslock
225 install %{SOURCE10} $RPM_BUILD_ROOT/etc/sysconfig/nfsfs
227 > $RPM_BUILD_ROOT%{_var}/lib/nfs/rmtab
228 > $RPM_BUILD_ROOT%{_sysconfdir}/exports
230 rm $RPM_BUILD_ROOT%{_mandir}/man8/rpc.{mountd,nfsd,statd,sm-notify}.8
231 echo ".so mountd.8" > $RPM_BUILD_ROOT%{_mandir}/man8/rpc.mountd.8
232 echo ".so nfsd.8" > $RPM_BUILD_ROOT%{_mandir}/man8/rpc.nfsd.8
233 echo ".so statd.8" > $RPM_BUILD_ROOT%{_mandir}/man8/rpc.statd.8
234 echo ".so sm-notify.8" > $RPM_BUILD_ROOT%{_mandir}/man8/rpc.sm-notify.8
236 rm $RPM_BUILD_ROOT%{_mandir}/man8/rpc.{svcgssd,gssd,idmapd}.8
237 echo ".so gssd.8" > $RPM_BUILD_ROOT%{_mandir}/man8/rpc.gssd.8
238 echo ".so idmapd.8" > $RPM_BUILD_ROOT%{_mandir}/man8/rpc.idmapd.8
239 echo ".so svcgssd.8" > $RPM_BUILD_ROOT%{_mandir}/man8/rpc.svcgssd.8
242 touch $RPM_BUILD_ROOT/var/lib/nfs/xtab
244 ln -sf /bin/true $RPM_BUILD_ROOT/sbin/fsck.nfs
249 rm -rf $RPM_BUILD_ROOT
252 /sbin/chkconfig --add nfs
253 %service nfs restart "NFS daemon"
255 /sbin/chkconfig --add svcgssd
256 %service svcgssd restart "RPC svcgssd"
260 if [ "$1" = "0" ]; then
262 /sbin/chkconfig --del nfs
264 %service svcgssd stop
265 /sbin/chkconfig --del svcgssd
270 /sbin/chkconfig --add nfsfs
271 %service nfsfs restart
273 /sbin/chkconfig --add gssd
274 %service gssd restart "RPC gssd"
278 if [ "$1" = "0" ]; then
280 /sbin/chkconfig --del nfsfs
283 /sbin/chkconfig --del gssd
288 %groupadd -g 191 rpcstatd
289 %useradd -u 191 -d /var/lib/nfs/statd -s /bin/false -c "RPC statd user" -g rpcstatd rpcstatd
292 /sbin/chkconfig --add nfslock
293 %service nfslock restart "RPC statd"
296 if [ "$1" = "0" ]; then
297 %service nfslock stop
298 /sbin/chkconfig --del nfslock
302 if [ "$1" = "0" ]; then
304 %groupremove rpcstatd
309 /sbin/chkconfig --add idmapd
310 %service idmapd restart "RPC idmapd"
313 if [ "$1" = "0" ]; then
315 /sbin/chkconfig --del idmapd
319 %triggerpostun -- %{name} <= 1.1.0-0.rc1.1
320 /sbin/chkconfig nfs reset
322 /sbin/chkconfig svcgssd reset
325 %triggerpostun lock -- %{name}-lock <= 1.1.0-0.rc1.1
326 /sbin/chkconfig nfslock reset
328 %triggerpostun clients -- %{name}-clients < 1.1.0-0.rc1.1
329 if [ -f /etc/sysconfig/nfsclient.rpmsave ]; then
330 mv -f /etc/sysconfig/nfsfs{,.rpmnew}
331 mv -f /etc/sysconfig/nfsclient.rpmsave /etc/sysconfig/nfsfs
333 /sbin/chkconfig nfsfs reset
335 /sbin/chkconfig gssd reset
339 %triggerpostun common -- %{name}-common <= 1.1.0-0.rc1.1
340 /sbin/chkconfig idmapd reset
344 %defattr(644,root,root,755)
345 %doc ChangeLog README html
346 %attr(755,root,root) /sbin/rpcdebug
347 %attr(755,root,root) /sbin/fsck.nfs
348 %attr(755,root,root) %{_sbindir}/exportfs
349 %attr(755,root,root) %{_sbindir}/rpc.mountd
350 %attr(755,root,root) %{_sbindir}/rpc.nfsd
351 %attr(755,root,root) %{_sbindir}/nfsstat
353 %attr(754,root,root) /etc/rc.d/init.d/nfs
355 %attr(664,root,fileshare) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/exports
356 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/nfsd
357 %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/nfs/xtab
358 %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/nfs/etab
359 %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/nfs/rmtab
361 %{_mandir}/man5/exports.5*
362 %{_mandir}/man7/nfsd.7*
363 %{_mandir}/man8/exportfs.8*
364 %{_mandir}/man8/mountd.8*
365 %{_mandir}/man8/nfsd.8*
366 %{_mandir}/man8/nfsstat.8*
367 %{_mandir}/man8/rpc.mountd.8*
368 %{_mandir}/man8/rpc.nfsd.8*
369 %{_mandir}/man8/rpcdebug.8*
371 %attr(754,root,root) /etc/rc.d/init.d/svcgssd
372 %attr(755,root,root) %{_sbindir}/rpc.svcgssd
373 %{_mandir}/man8/*svcgss*
377 %defattr(644,root,root,755)
378 %attr(700,rpcstatd,rpcstatd) %dir %{_var}/lib/nfs/statd
379 %attr(755,root,root) %{_sbindir}/rpc.statd
380 %attr(755,root,root) %{_sbindir}/sm-notify
381 %attr(755,root,root) %{_sbindir}/start-statd
382 %attr(754,root,root) /etc/rc.d/init.d/nfslock
383 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/nfslock
384 %{_mandir}/man8/*statd.8*
385 %{_mandir}/man8/*sm-notify.8*
386 %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/nfs/state
389 %defattr(644,root,root,755)
390 %attr(754,root,root) /etc/rc.d/init.d/nfsfs
391 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/nfsfs
392 %attr(755,root,root) %{_sbindir}/showmount
393 %{_mandir}/man8/showmount.8*
395 %attr(4755,root,root) /sbin/mount.nfs
396 %attr(4755,root,root) /sbin/mount.nfs4
397 %attr(4755,root,root) /sbin/umount.nfs
398 %attr(4755,root,root) /sbin/umount.nfs4
399 %{_mandir}/man8/*mount.nfs.8*
402 %attr(754,root,root) /etc/rc.d/init.d/gssd
403 %attr(755,root,root) %{_sbindir}/rpc.gssd
404 %{_mandir}/man8/rpc.gssd*
405 %{_mandir}/man8/gssd*
409 %defattr(644,root,root,755)
410 %attr(755,root,root) %dir %{_var}/lib/nfs
411 %attr(755,root,root) %dir %{_var}/lib/nfs/rpc_pipefs
412 %attr(755,root,root) %dir %{_var}/lib/nfs/v4recovery
415 %attr(754,root,root) /etc/rc.d/init.d/idmapd
416 %attr(755,root,root) %{_sbindir}/gss_*
417 %attr(755,root,root) %{_sbindir}/rpc.idmapd
418 %attr(660,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/idmapd.conf
419 %{_mandir}/man[58]/*idmap*