2 # - should unmount /proc/fs/nfsd and /var/lib/nfs/rpc_pipefs at package
3 # uninstall (or in service nfs stop)
6 %bcond_with krb5 # build with MIT Kerberos (+libgssglue) instead of Heimdal
7 %bcond_without tirpc # use librpcsecgss instead of libtirpc
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: http://www.kernel.org/pub/linux/utils/nfs/%{name}-%{version}.tar.bz2
20 # Source0-md5: 1131dc5f27c4f3905a6e7ee0d594fd4d
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}-install.patch
34 Patch1: %{name}-statdpath.patch
35 Patch2: %{name}-subsys.patch
36 Patch3: %{name}-union-mount.patch
37 Patch7: %{name}-heimdal.patch
38 URL: http://nfs.sourceforge.net/
39 BuildRequires: autoconf >= 2.59
40 BuildRequires: automake
42 BuildRequires: libblkid-devel
43 BuildRequires: libcap-devel
44 BuildRequires: libevent-devel >= 1.2
45 BuildRequires: libnfsidmap-devel >= 0.21-3
46 BuildRequires: libtool
47 BuildRequires: libwrap-devel
48 BuildRequires: pkgconfig
50 BuildRequires: libtirpc-devel >= 1:0.1.10-4
52 BuildRequires: librpcsecgss-devel >= 0.16
55 BuildRequires: krb5-devel >= 1.6
56 BuildRequires: libgssglue-devel >= 0.1
58 BuildRequires: heimdal-devel >= 1.0
60 # lucid context fields mismatch with current version of spkm3.h
61 BuildConflicts: gss_mech_spkm3-devel
62 Requires(post): fileutils
63 Requires(post): sed >= 4.0
64 Requires(post,preun): /sbin/chkconfig
65 Requires: %{name}-common = %{version}-%{release}
66 Requires: rc-scripts >= 0.4.1.5
67 Requires: rpcbind >= 0.1.7
68 Requires: setup >= 2.4.6-7
73 Conflicts: kernel < 2.2.5
74 Conflicts: krb5-common < 1.7
76 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
79 This is the *new* kernel NFS server and related tools. It provides a
80 much higher level of performance than the traditional Linux user-land
83 %description -l pl.UTF-8
84 To jest *nowy* działający na poziomie jądra serwer NFS oraz związane z
85 nim narzędzia. Serwer ten dostarcza znacznie większą wydajność niż
86 tradycyjny, działający na poziomie użytkownika serwer NFS.
88 %description -l pt_BR.UTF-8
89 O pacote nfs-utils provê os utilitários para o cliente e servidor NFS
92 %description -l ru.UTF-8
93 Пакет nfs-utils предоставляет демона для NFS-сервера, включенного в
94 ядро, и сопутствующие утилиты, которые обеспечивают намного большую
95 производительность, чем традиционные Linux NFS-сервера, используемые
96 большинством пользователей.
98 %description -l uk.UTF-8
99 Пакет nfs-utils надає демона для NFS-сервера, вбудованого в ядро, та
100 супутні утиліти, які забезпечують набагато більшу продуктивність, ніж
101 традиційні Linux NFS-сервери, які використовує більшість користувачів.
104 Summary: Clients for connecting to a remote NFS server
105 Summary(pl.UTF-8): Klienci do łączenia się ze zdalnym serwerem NFS
107 Requires(post,preun): /sbin/chkconfig
108 Requires: %{name}-common = %{version}-%{release}
111 Provides: nfs-server-clients
113 Obsoletes: knfsd-clients
114 Obsoletes: nfs-server-clients
116 Conflicts: krb5-common < 1.7
119 The nfs-server-clients package contains the showmount program.
120 Showmount queries the mount daemon on a remote host for information
121 about the NFS (Network File System) server on the remote host. For
122 example, showmount can display the clients which are mounted on that
123 host. This package is not needed to mount NFS volumes.
125 %description clients -l pl.UTF-8
126 Pakiet zawiera program showmount służący do odpytywania serwera NFS.
127 Showmount pyta demona na zdalnej maszynie o informacje NFS na zdalnym
128 hoście. Na przykład, showmount potrafi pokazać klientów, którzy są
129 zamountowani na tym serwerze. Ten pakiet nie jest konieczny do
130 zamountowania zasobów NFS.
133 Summary: Programs for NFS file locking
134 Summary(pl.UTF-8): Programy do obsługi blokowania plików poprzez NFS (lock)
136 Requires(post,preun): /sbin/chkconfig
138 Requires: rpcbind >= 0.1.7
139 Provides: group(rpcstatd)
141 Provides: user(rpcstatd)
142 Obsoletes: knfsd-lock
146 The nfs-lock pacage contains programs which support the NFS file lock.
147 Install nfs-lock if you want to use file lock over NFS.
149 %description lock -l pl.UTF-8
150 Ten pakiet zawiera programy umożliwiające wykonywanie blokowania
151 plików (file locking) poprzez NFS.
154 Summary: Common programs for NFS
155 Summary(pl.UTF-8): Wspólne programy do obsługi NFS
157 Requires: libnfsidmap >= 0.21-3
158 Conflicts: mount < 2.13-0.pre7.1
161 Common programs for NFS.
163 %description common -l pl.UTF-8
164 Wspólne programy do obsługi NFS.
176 %{__aclocal} -I aclocal
185 --%{?with_tirpc:en}%{!?with_tirpc:dis}able-tirpc \
187 --with-statedir=/var/lib/nfs \
188 --with-statduser=rpcstatd \
189 --with-start-statd=%{_sbindir}/start-statd \
190 --with-tcp-wrappers \
196 rm -rf $RPM_BUILD_ROOT
197 install -d $RPM_BUILD_ROOT%{_sysconfdir}/{rc.d/init.d,sysconfig} \
198 $RPM_BUILD_ROOT%{_var}/lib/nfs/{rpc_pipefs,v4recovery}
201 DESTDIR=$RPM_BUILD_ROOT
203 cat >$RPM_BUILD_ROOT%{_sbindir}/start-statd <<EOF
205 # mount.nfs calls this script when mounting a filesystem with locking
206 # enabled, but when statd does not seem to be running (based on
207 # /var/run/rpc.statd.pid).
208 exec /sbin/service nfslock start
211 sed -e "s|#!/bin/bash|#!/bin/sh|" utils/gssd/gss_destroy_creds > $RPM_BUILD_ROOT%{_sbindir}/gss_destroy_creds
213 mv $RPM_BUILD_ROOT%{_sbindir}/rpcdebug $RPM_BUILD_ROOT/sbin
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,sm-notify}.8
229 rm $RPM_BUILD_ROOT%{_mandir}/man8/rpc.{svcgssd,gssd,idmapd}.8
230 echo ".so mountd.8" > $RPM_BUILD_ROOT%{_mandir}/man8/rpc.mountd.8
231 echo ".so nfsd.8" > $RPM_BUILD_ROOT%{_mandir}/man8/rpc.nfsd.8
232 echo ".so statd.8" > $RPM_BUILD_ROOT%{_mandir}/man8/rpc.statd.8
233 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
238 touch $RPM_BUILD_ROOT/var/lib/nfs/xtab
240 ln -sf /bin/true $RPM_BUILD_ROOT/sbin/fsck.nfs
245 rm -rf $RPM_BUILD_ROOT
248 /sbin/chkconfig --add nfs
249 %service nfs restart "NFS daemon"
250 /sbin/chkconfig --add svcgssd
251 %service svcgssd restart "RPC svcgssd"
254 if [ "$1" = "0" ]; then
256 /sbin/chkconfig --del nfs
257 %service svcgssd stop
258 /sbin/chkconfig --del svcgssd
262 /sbin/chkconfig --add nfsfs
263 %service nfsfs restart
264 /sbin/chkconfig --add gssd
265 %service gssd restart "RPC gssd"
268 if [ "$1" = "0" ]; then
270 /sbin/chkconfig --del nfsfs
272 /sbin/chkconfig --del gssd
276 %groupadd -g 191 rpcstatd
277 %useradd -u 191 -d /var/lib/nfs/statd -s /bin/false -c "RPC statd user" -g rpcstatd rpcstatd
280 /sbin/chkconfig --add nfslock
281 %service nfslock restart "RPC statd"
284 if [ "$1" = "0" ]; then
285 %service nfslock stop
286 /sbin/chkconfig --del nfslock
290 if [ "$1" = "0" ]; then
292 %groupremove rpcstatd
296 /sbin/chkconfig --add idmapd
297 %service idmapd restart "RPC idmapd"
300 if [ "$1" = "0" ]; then
302 /sbin/chkconfig --del idmapd
305 %triggerpostun -- %{name} < 1.1.0-0.rc1.1
306 /sbin/chkconfig nfs reset
307 /sbin/chkconfig svcgssd reset
309 %triggerpostun lock -- %{name}-lock < 1.1.0-0.rc1.1
310 /sbin/chkconfig nfslock reset
312 %triggerpostun clients -- %{name}-clients < 1.1.0-0.rc1.1
313 if [ -f /etc/sysconfig/nfsclient.rpmsave ]; then
314 mv -f /etc/sysconfig/nfsfs{,.rpmnew}
315 mv -f /etc/sysconfig/nfsclient.rpmsave /etc/sysconfig/nfsfs
317 /sbin/chkconfig nfsfs reset
318 /sbin/chkconfig gssd reset
320 %triggerpostun common -- %{name}-common < 1.1.0-0.rc1.1
321 /sbin/chkconfig idmapd reset
324 %defattr(644,root,root,755)
325 %doc ChangeLog README html
326 %attr(755,root,root) /sbin/rpcdebug
327 %attr(755,root,root) /sbin/fsck.nfs
328 %attr(755,root,root) %{_sbindir}/exportfs
329 %attr(755,root,root) %{_sbindir}/rpc.mountd
330 %attr(755,root,root) %{_sbindir}/rpc.nfsd
331 %attr(755,root,root) %{_sbindir}/rpc.svcgssd
332 %attr(755,root,root) %{_sbindir}/nfsstat
334 %attr(754,root,root) /etc/rc.d/init.d/nfs
335 %attr(754,root,root) /etc/rc.d/init.d/svcgssd
337 %attr(664,root,fileshare) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/exports
338 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/nfsd
339 %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/nfs/xtab
340 %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/nfs/etab
341 %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/nfs/rmtab
343 %{_mandir}/man5/exports.5*
344 %{_mandir}/man7/nfsd.7*
345 %{_mandir}/man8/exportfs.8*
346 %{_mandir}/man8/mountd.8*
347 %{_mandir}/man8/nfsd.8*
348 %{_mandir}/man8/nfsstat.8*
349 %{_mandir}/man8/rpc.mountd.8*
350 %{_mandir}/man8/rpc.nfsd.8*
351 %{_mandir}/man8/rpc.svcgssd.8*
352 %{_mandir}/man8/rpcdebug.8*
353 %{_mandir}/man8/svcgssd.8*
356 %defattr(644,root,root,755)
357 %attr(700,rpcstatd,rpcstatd) %dir %{_var}/lib/nfs/statd
358 %attr(700,rpcstatd,rpcstatd) %dir %{_var}/lib/nfs/statd/sm
359 %attr(700,rpcstatd,rpcstatd) %dir %{_var}/lib/nfs/statd/sm.bak
360 %attr(600,rpcstatd,rpcstatd) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/nfs/statd/state
361 %attr(755,root,root) %{_sbindir}/rpc.statd
362 %attr(755,root,root) %{_sbindir}/sm-notify
363 %attr(755,root,root) %{_sbindir}/start-statd
364 %attr(754,root,root) /etc/rc.d/init.d/nfslock
365 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/nfslock
366 %{_mandir}/man8/rpc.sm-notify.8*
367 %{_mandir}/man8/rpc.statd.8*
368 %{_mandir}/man8/sm-notify.8*
369 %{_mandir}/man8/statd.8*
372 %defattr(644,root,root,755)
373 %attr(754,root,root) /etc/rc.d/init.d/nfsfs
374 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/nfsfs
375 %attr(4755,root,root) /sbin/mount.nfs
376 %attr(4755,root,root) /sbin/umount.nfs
377 %attr(4755,root,root) /sbin/mount.nfs4
378 %attr(4755,root,root) /sbin/umount.nfs4
379 %attr(755,root,root) %{_sbindir}/mountstats
380 %attr(755,root,root) %{_sbindir}/nfsiostat
381 %attr(755,root,root) %{_sbindir}/showmount
382 %attr(755,root,root) %{_sbindir}/rpc.gssd
383 %attr(754,root,root) /etc/rc.d/init.d/gssd
384 %{_mandir}/man8/gssd.8*
385 %{_mandir}/man8/mount.nfs.8*
386 %{_mandir}/man8/mountstats.8*
387 %{_mandir}/man8/nfsiostat.8*
388 %{_mandir}/man8/rpc.gssd.8*
389 %{_mandir}/man8/showmount.8*
390 %{_mandir}/man8/umount.nfs.8*
393 %defattr(644,root,root,755)
394 %attr(755,root,root) %{_sbindir}/gss_clnt_send_err
395 %attr(755,root,root) %{_sbindir}/gss_destroy_creds
396 %attr(755,root,root) %{_sbindir}/rpc.idmapd
397 %attr(754,root,root) /etc/rc.d/init.d/idmapd
399 %dir %{_var}/lib/nfs/rpc_pipefs
400 %dir %{_var}/lib/nfs/v4recovery
401 %{_mandir}/man5/nfs.5*
402 %{_mandir}/man8/idmapd.8*
403 %{_mandir}/man8/rpc.idmapd.8*