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/
36 #Patch2: %{name}-1.0.11-CITI_NFS4_ALL-1.dif
37 Patch2: %{name}-CITI_NFS4.patch
38 Patch3: %{name}-statdpath.patch
39 Patch4: %{name}-mount-fake.patch
40 Patch5: %{name}-mountd.patch
41 Patch6: %{name}-idmapd.conf.patch
42 Patch7: %{name}-keytab-path.patch
43 Patch8: %{name}-subsys.patch
44 Patch9: %{name}-mountd-leak.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: libnfsidmap-devel
54 BuildRequires: librpcsecgss-devel >= 0.11-3
56 BuildRequires: libtool
57 BuildRequires: libwrap-devel
58 BuildRequires: pkgconfig
59 BuildRequires: sed >= 4.0
60 Requires(post): fileutils
61 Requires(post): sed >= 4.0
62 Requires(post,preun): /sbin/chkconfig
63 Requires: %{name}-common = %{version}-%{release}
64 Requires: portmap >= 4.0
65 Requires: rc-scripts >= 0.4.1.5
66 Requires: setup >= 2.4.6-7
71 Conflicts: kernel < 2.2.5
73 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
76 This is the *new* kernel NFS server and related tools. It provides a
77 much higher level of performance than the traditional Linux user-land
80 %description -l pl.UTF-8
81 To jest *nowy* działający na poziomie jądra serwer NFS oraz związane z
82 nim narzędzia. Serwer ten dostarcza znacznie większą wydajność niż
83 tradycyjny, działający na poziomie użytkownika serwer NFS.
85 %description -l pt_BR.UTF-8
86 O pacote nfs-utils provê os utilitários para o cliente e servidor NFS
89 %description -l ru.UTF-8
90 Пакет nfs-utils предоставляет демона для NFS-сервера, включенного в
91 ядро, и сопутствующие утилиты, которые обеспечивают намного большую
92 производительность, чем традиционные Linux NFS-сервера, используемые
93 большинством пользователей.
95 %description -l uk.UTF-8
96 Пакет nfs-utils надає демона для NFS-сервера, вбудованого в ядро, та
97 супутні утиліти, які забезпечують набагато більшу продуктивність, ніж
98 традиційні Linux NFS-сервери, які використовує більшість користувачів.
101 Summary: Clients for connecting to a remote NFS server
102 Summary(pl.UTF-8): Klienci do łączenia się ze zdalnym serwerem NFS
104 Requires(post,preun): /sbin/chkconfig
105 Requires: %{name}-common = %{version}-%{release}
108 Provides: nfs-server-clients
110 Obsoletes: knfsd-clients
111 Obsoletes: nfs-server-clients
115 The nfs-server-clients package contains the showmount program.
116 Showmount queries the mount daemon on a remote host for information
117 about the NFS (Network File System) server on the remote host. For
118 example, showmount can display the clients which are mounted on that
119 host. This package is not needed to mount NFS volumes.
121 %description clients -l pl.UTF-8
122 Pakiet zawiera program showmount służący do odpytywania serwera NFS.
123 Showmount pyta demona na zdalnej maszynie o informacje NFS na zdalnym
124 hoście. Na przykład, showmount potrafi pokazać klientów, którzy są
125 zamountowani na tym serwerze. Ten pakiet nie jest konieczny do
126 zamountowania zasobów NFS.
129 Summary: Programs for NFS file locking
130 Summary(pl.UTF-8): Programy do obsługi blokowania plików poprzez NFS (lock)
132 Requires(post,preun): /sbin/chkconfig
133 Requires: portmap >= 4.0
135 Provides: group(rpcstatd)
136 Provides: user(rpcstatd)
138 Obsoletes: knfsd-lock
142 The nfs-lock pacage contains programs which support the NFS file lock.
143 Install nfs-lock if you want to use file lock over NFS.
145 %description lock -l pl.UTF-8
146 Ten pakiet zawiera programy umożliwiające wykonywanie blokowania
147 plików (file locking) poprzez NFS.
150 Summary: Common programs for NFS
151 Summary(pl.UTF-8): Wspólne programy do obsługi NFS
155 Common programs for NFS.
157 %description common -l pl.UTF-8
158 Wspólne programy do obsługi NFS.
164 # severly out of date
178 --with-krb5=%{_prefix} \
184 %{?with_mount:--enable-mount} \
187 --enable-secure-statd \
188 --with-statedir=/var/lib/nfs \
194 rm -rf $RPM_BUILD_ROOT
195 install -d $RPM_BUILD_ROOT{/sbin,%{_sbindir},%{_mandir}/man{5,8}} \
196 $RPM_BUILD_ROOT%{_sysconfdir}/{rc.d/init.d,sysconfig} \
197 $RPM_BUILD_ROOT%{_var}/lib/nfs/{rpc_pipefs,v4recovery,statd}
200 DESTDIR=$RPM_BUILD_ROOT
202 cat >$RPM_BUILD_ROOT%{_sbindir}/start-statd <<EOF
204 # mount.nfs calls this script when mounting a filesystem with locking
205 # enabled, but when statd does not seem to be running (based on
206 # /var/run/rpc.statd.pid).
207 exec /sbin/service nfslock start
210 sed -e "s|#!/bin/bash|#!/bin/sh|" utils/gssd/gss_destroy_creds > $RPM_BUILD_ROOT%{_sbindir}/gss_destroy_creds
212 mv $RPM_BUILD_ROOT%{_sbindir}/rpcdebug $RPM_BUILD_ROOT/sbin
213 install utils/idmapd/idmapd.conf $RPM_BUILD_ROOT%{_sysconfdir}/
215 install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/nfs
216 install %{SOURCE3} $RPM_BUILD_ROOT/etc/rc.d/init.d/nfslock
217 install %{SOURCE4} $RPM_BUILD_ROOT/etc/rc.d/init.d/nfsfs
218 install %{SOURCE5} $RPM_BUILD_ROOT/etc/rc.d/init.d/idmapd
219 install %{SOURCE6} $RPM_BUILD_ROOT/etc/rc.d/init.d/gssd
220 install %{SOURCE7} $RPM_BUILD_ROOT/etc/rc.d/init.d/svcgssd
221 install %{SOURCE8} $RPM_BUILD_ROOT/etc/sysconfig/nfsd
222 install %{SOURCE9} $RPM_BUILD_ROOT/etc/sysconfig/nfslock
223 install %{SOURCE10} $RPM_BUILD_ROOT/etc/sysconfig/nfsfs
225 > $RPM_BUILD_ROOT%{_var}/lib/nfs/rmtab
226 > $RPM_BUILD_ROOT%{_sysconfdir}/exports
228 rm $RPM_BUILD_ROOT%{_mandir}/man8/rpc.{mountd,nfsd,statd,svcgssd,gssd,idmapd,sm-notify}.8
229 echo ".so mountd.8" > $RPM_BUILD_ROOT%{_mandir}/man8/rpc.mountd.8
230 echo ".so nfsd.8" > $RPM_BUILD_ROOT%{_mandir}/man8/rpc.nfsd.8
231 echo ".so statd.8" > $RPM_BUILD_ROOT%{_mandir}/man8/rpc.statd.8
232 echo ".so sm-notify.8" > $RPM_BUILD_ROOT%{_mandir}/man8/rpc.sm-notify.8
234 echo ".so gssd.8" > $RPM_BUILD_ROOT%{_mandir}/man8/rpc.gssd.8
235 echo ".so idmapd.8" > $RPM_BUILD_ROOT%{_mandir}/man8/rpc.idmapd.8
236 echo ".so svcgssd.8" > $RPM_BUILD_ROOT%{_mandir}/man8/rpc.svcgssd.8
239 touch $RPM_BUILD_ROOT/var/lib/nfs/xtab
241 ln -sf /bin/true $RPM_BUILD_ROOT/sbin/fsck.nfs
246 rm -rf $RPM_BUILD_ROOT
249 /sbin/chkconfig --add nfs
250 %service nfs restart "NFS daemon"
252 /sbin/chkconfig --add svcgssd
253 %service svcgssd restart "RPC svcgssd"
257 if [ "$1" = "0" ]; then
259 /sbin/chkconfig --del nfs
261 %service svcgssd stop
262 /sbin/chkconfig --del svcgssd
267 /sbin/chkconfig --add nfsfs
268 %service nfsfs restart
270 /sbin/chkconfig --add gssd
271 %service gssd restart "RPC gssd"
275 if [ "$1" = "0" ]; then
277 /sbin/chkconfig --del nfsfs
280 /sbin/chkconfig --del gssd
285 %groupadd -g 191 rpcstatd
286 %useradd -u 191 -d /var/lib/nfs/statd -s /bin/false -c "RPC statd user" -g rpcstatd rpcstatd
289 /sbin/chkconfig --add nfslock
290 %service nfslock restart "RPC statd"
293 if [ "$1" = "0" ]; then
294 %service nfslock stop
295 /sbin/chkconfig --del nfslock
299 if [ "$1" = "0" ]; then
301 %groupremove rpcstatd
306 /sbin/chkconfig --add idmapd
307 %service idmapd restart "RPC idmapd"
310 if [ "$1" = "0" ]; then
312 /sbin/chkconfig --del idmapd
316 %triggerpostun -- %{name} <= 1.1.0-0.rc1.1
317 /sbin/chkconfig nfs reset
319 /sbin/chkconfig svcgssd reset
322 %triggerpostun lock -- %{name}-lock <= 1.1.0-0.rc1.1
323 /sbin/chkconfig nfslock reset
325 %triggerpostun clients -- %{name}-clients < 1.1.0-0.rc1.1
326 if [ -f /etc/sysconfig/nfsclient.rpmsave ]; then
327 mv -f /etc/sysconfig/nfsfs{,.rpmnew}
328 mv -f /etc/sysconfig/nfsclient.rpmsave /etc/sysconfig/nfsfs
330 /sbin/chkconfig nfsfs reset
332 /sbin/chkconfig gssd reset
336 %triggerpostun common -- %{name}-common <= 1.1.0-0.rc1.1
337 /sbin/chkconfig idmapd reset
341 %defattr(644,root,root,755)
342 %doc ChangeLog README html
343 %attr(755,root,root) /sbin/rpcdebug
344 %attr(755,root,root) /sbin/fsck.nfs
345 %attr(755,root,root) %{_sbindir}/exportfs
346 %attr(755,root,root) %{_sbindir}/rpc.mountd
347 %attr(755,root,root) %{_sbindir}/rpc.nfsd
348 %attr(755,root,root) %{_sbindir}/nfsstat
350 %attr(754,root,root) /etc/rc.d/init.d/nfs
352 %attr(664,root,fileshare) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/exports
353 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/nfsd
354 %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/nfs/xtab
355 %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/nfs/etab
356 %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/nfs/rmtab
358 %{_mandir}/man5/exports.5*
359 %{_mandir}/man7/nfsd.7*
360 %{_mandir}/man8/exportfs.8*
361 %{_mandir}/man8/mountd.8*
362 %{_mandir}/man8/nfsd.8*
363 %{_mandir}/man8/nfsstat.8*
364 %{_mandir}/man8/rpc.mountd.8*
365 %{_mandir}/man8/rpc.nfsd.8*
366 %{_mandir}/man8/rpcdebug.8*
368 %attr(754,root,root) /etc/rc.d/init.d/svcgssd
369 %attr(755,root,root) %{_sbindir}/rpc.svcgssd
370 %{_mandir}/man8/*svcgss*
374 %defattr(644,root,root,755)
375 %attr(700,rpcstatd,rpcstatd) %dir %{_var}/lib/nfs/statd
376 %attr(755,root,root) %{_sbindir}/rpc.statd
377 %attr(755,root,root) %{_sbindir}/sm-notify
378 %attr(755,root,root) %{_sbindir}/start-statd
379 %attr(754,root,root) /etc/rc.d/init.d/nfslock
380 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/nfslock
381 %{_mandir}/man8/*statd.8*
382 %{_mandir}/man8/*sm-notify.8*
383 %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/nfs/state
386 %defattr(644,root,root,755)
387 %attr(754,root,root) /etc/rc.d/init.d/nfsfs
388 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/nfsfs
389 %attr(755,root,root) %{_sbindir}/showmount
390 %{_mandir}/man8/showmount.8*
392 %attr(4755,root,root) /sbin/mount.nfs
393 %attr(4755,root,root) /sbin/mount.nfs4
394 %attr(4755,root,root) /sbin/umount.nfs
395 %attr(4755,root,root) /sbin/umount.nfs4
396 %{_mandir}/man8/*mount.nfs.8*
399 %attr(754,root,root) /etc/rc.d/init.d/gssd
400 %attr(755,root,root) %{_sbindir}/rpc.gssd
401 %{_mandir}/man8/rpc.gssd*
402 %{_mandir}/man8/gssd*
406 %defattr(644,root,root,755)
407 %attr(755,root,root) %dir %{_var}/lib/nfs
408 %attr(755,root,root) %dir %{_var}/lib/nfs/rpc_pipefs
409 %attr(755,root,root) %dir %{_var}/lib/nfs/v4recovery
412 %attr(754,root,root) /etc/rc.d/init.d/idmapd
413 %attr(755,root,root) %{_sbindir}/gss_*
414 %attr(755,root,root) %{_sbindir}/rpc.idmapd
415 %attr(660,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/idmapd.conf
416 %{_mandir}/man[58]/*idmap*