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 Patch4: %{name}-heimdal.patch
38 Patch5: svc-create-fixed-port.patch
39 URL: http://nfs.sourceforge.net/
40 BuildRequires: autoconf >= 2.59
41 BuildRequires: automake
43 BuildRequires: libblkid-devel
44 BuildRequires: libcap-devel
45 BuildRequires: libevent-devel >= 1.2
46 BuildRequires: libnfsidmap-devel >= 0.21-3
47 BuildRequires: libtool
48 BuildRequires: libwrap-devel
49 BuildRequires: pkgconfig
51 BuildRequires: libtirpc-devel >= 1:0.1.10-4
53 BuildRequires: librpcsecgss-devel >= 0.16
56 BuildRequires: krb5-devel >= 1.6
57 BuildRequires: libgssglue-devel >= 0.1
59 BuildRequires: heimdal-devel >= 1.0
61 # lucid context fields mismatch with current version of spkm3.h
62 BuildConflicts: gss_mech_spkm3-devel
63 Requires(post): fileutils
64 Requires(post): sed >= 4.0
65 Requires(post,preun): /sbin/chkconfig
66 Requires: %{name}-common = %{version}-%{release}
67 Requires: rc-scripts >= 0.4.1.5
68 Requires: rpcbind >= 0.1.7
69 Requires: setup >= 2.4.6-7
74 Conflicts: kernel < 2.2.5
75 Conflicts: krb5-common < 1.7
77 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
80 This is the *new* kernel NFS server and related tools. It provides a
81 much higher level of performance than the traditional Linux user-land
84 %description -l pl.UTF-8
85 To jest *nowy* działający na poziomie jądra serwer NFS oraz związane z
86 nim narzędzia. Serwer ten dostarcza znacznie większą wydajność niż
87 tradycyjny, działający na poziomie użytkownika serwer NFS.
89 %description -l pt_BR.UTF-8
90 O pacote nfs-utils provê os utilitários para o cliente e servidor NFS
93 %description -l ru.UTF-8
94 Пакет nfs-utils предоставляет демона для NFS-сервера, включенного в
95 ядро, и сопутствующие утилиты, которые обеспечивают намного большую
96 производительность, чем традиционные Linux NFS-сервера, используемые
97 большинством пользователей.
99 %description -l uk.UTF-8
100 Пакет nfs-utils надає демона для NFS-сервера, вбудованого в ядро, та
101 супутні утиліти, які забезпечують набагато більшу продуктивність, ніж
102 традиційні Linux NFS-сервери, які використовує більшість користувачів.
105 Summary: Clients for connecting to a remote NFS server
106 Summary(pl.UTF-8): Klienci do łączenia się ze zdalnym serwerem NFS
108 Requires(post,preun): /sbin/chkconfig
109 Requires: %{name}-common = %{version}-%{release}
112 Provides: nfs-server-clients
114 Obsoletes: knfsd-clients
115 Obsoletes: nfs-server-clients
117 Conflicts: krb5-common < 1.7
120 The nfs-server-clients package contains the showmount program.
121 Showmount queries the mount daemon on a remote host for information
122 about the NFS (Network File System) server on the remote host. For
123 example, showmount can display the clients which are mounted on that
124 host. This package is not needed to mount NFS volumes.
126 %description clients -l pl.UTF-8
127 Pakiet zawiera program showmount służący do odpytywania serwera NFS.
128 Showmount pyta demona na zdalnej maszynie o informacje NFS na zdalnym
129 hoście. Na przykład, showmount potrafi pokazać klientów, którzy są
130 zamountowani na tym serwerze. Ten pakiet nie jest konieczny do
131 zamountowania zasobów NFS.
134 Summary: Programs for NFS file locking
135 Summary(pl.UTF-8): Programy do obsługi blokowania plików poprzez NFS (lock)
137 Requires(post,preun): /sbin/chkconfig
139 Requires: rpcbind >= 0.1.7
140 Provides: group(rpcstatd)
142 Provides: user(rpcstatd)
143 Obsoletes: knfsd-lock
147 The nfs-lock pacage contains programs which support the NFS file lock.
148 Install nfs-lock if you want to use file lock over NFS.
150 %description lock -l pl.UTF-8
151 Ten pakiet zawiera programy umożliwiające wykonywanie blokowania
152 plików (file locking) poprzez NFS.
155 Summary: Common programs for NFS
156 Summary(pl.UTF-8): Wspólne programy do obsługi NFS
158 Requires: libnfsidmap >= 0.21-3
159 Conflicts: mount < 2.13-0.pre7.1
162 Common programs for NFS.
164 %description common -l pl.UTF-8
165 Wspólne programy do obsługi NFS.
178 %{__aclocal} -I aclocal
194 --with-statedir=/var/lib/nfs \
195 --with-statduser=rpcstatd \
196 --with-start-statd=%{_sbindir}/start-statd \
197 --with-tcp-wrappers \
203 rm -rf $RPM_BUILD_ROOT
204 install -d $RPM_BUILD_ROOT%{_sysconfdir}/{rc.d/init.d,sysconfig} \
205 $RPM_BUILD_ROOT%{_var}/lib/nfs/{rpc_pipefs,v4recovery}
208 DESTDIR=$RPM_BUILD_ROOT
210 cat >$RPM_BUILD_ROOT%{_sbindir}/start-statd <<EOF
212 # mount.nfs calls this script when mounting a filesystem with locking
213 # enabled, but when statd does not seem to be running (based on
214 # /var/run/rpc.statd.pid).
215 exec /sbin/service nfslock start
218 sed -e "s|#!/bin/bash|#!/bin/sh|" utils/gssd/gss_destroy_creds > $RPM_BUILD_ROOT%{_sbindir}/gss_destroy_creds
220 mv $RPM_BUILD_ROOT%{_sbindir}/rpcdebug $RPM_BUILD_ROOT/sbin
222 install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/nfs
223 install %{SOURCE3} $RPM_BUILD_ROOT/etc/rc.d/init.d/nfslock
224 install %{SOURCE4} $RPM_BUILD_ROOT/etc/rc.d/init.d/nfsfs
225 install %{SOURCE5} $RPM_BUILD_ROOT/etc/rc.d/init.d/idmapd
226 install %{SOURCE6} $RPM_BUILD_ROOT/etc/rc.d/init.d/gssd
227 install %{SOURCE7} $RPM_BUILD_ROOT/etc/rc.d/init.d/svcgssd
228 install %{SOURCE8} $RPM_BUILD_ROOT/etc/sysconfig/nfsd
229 install %{SOURCE9} $RPM_BUILD_ROOT/etc/sysconfig/nfslock
230 install %{SOURCE10} $RPM_BUILD_ROOT/etc/sysconfig/nfsfs
232 > $RPM_BUILD_ROOT%{_var}/lib/nfs/rmtab
233 > $RPM_BUILD_ROOT%{_sysconfdir}/exports
235 rm $RPM_BUILD_ROOT%{_mandir}/man8/rpc.{mountd,nfsd,statd,sm-notify}.8
236 rm $RPM_BUILD_ROOT%{_mandir}/man8/rpc.{svcgssd,gssd,idmapd}.8
237 echo ".so mountd.8" > $RPM_BUILD_ROOT%{_mandir}/man8/rpc.mountd.8
238 echo ".so nfsd.8" > $RPM_BUILD_ROOT%{_mandir}/man8/rpc.nfsd.8
239 echo ".so statd.8" > $RPM_BUILD_ROOT%{_mandir}/man8/rpc.statd.8
240 echo ".so sm-notify.8" > $RPM_BUILD_ROOT%{_mandir}/man8/rpc.sm-notify.8
241 echo ".so gssd.8" > $RPM_BUILD_ROOT%{_mandir}/man8/rpc.gssd.8
242 echo ".so idmapd.8" > $RPM_BUILD_ROOT%{_mandir}/man8/rpc.idmapd.8
243 echo ".so svcgssd.8" > $RPM_BUILD_ROOT%{_mandir}/man8/rpc.svcgssd.8
245 touch $RPM_BUILD_ROOT/var/lib/nfs/xtab
247 ln -sf /bin/true $RPM_BUILD_ROOT/sbin/fsck.nfs
252 rm -rf $RPM_BUILD_ROOT
255 /sbin/chkconfig --add nfs
256 %service nfs restart "NFS daemon"
257 /sbin/chkconfig --add svcgssd
258 %service svcgssd restart "RPC svcgssd"
261 if [ "$1" = "0" ]; then
263 /sbin/chkconfig --del nfs
264 %service svcgssd stop
265 /sbin/chkconfig --del svcgssd
269 /sbin/chkconfig --add nfsfs
270 %service nfsfs restart
271 /sbin/chkconfig --add gssd
272 %service gssd restart "RPC gssd"
275 if [ "$1" = "0" ]; then
277 /sbin/chkconfig --del nfsfs
279 /sbin/chkconfig --del gssd
283 %groupadd -g 191 rpcstatd
284 %useradd -u 191 -d /var/lib/nfs/statd -s /bin/false -c "RPC statd user" -g rpcstatd rpcstatd
287 /sbin/chkconfig --add nfslock
288 %service nfslock restart "RPC statd"
291 if [ "$1" = "0" ]; then
292 %service nfslock stop
293 /sbin/chkconfig --del nfslock
297 if [ "$1" = "0" ]; then
299 %groupremove rpcstatd
303 /sbin/chkconfig --add idmapd
304 %service idmapd restart "RPC idmapd"
307 if [ "$1" = "0" ]; then
309 /sbin/chkconfig --del idmapd
312 %triggerpostun -- %{name} < 1.1.0-0.rc1.1
313 /sbin/chkconfig nfs reset
314 /sbin/chkconfig svcgssd reset
316 %triggerpostun lock -- %{name}-lock < 1.1.0-0.rc1.1
317 /sbin/chkconfig nfslock reset
319 %triggerpostun clients -- %{name}-clients < 1.1.0-0.rc1.1
320 if [ -f /etc/sysconfig/nfsclient.rpmsave ]; then
321 mv -f /etc/sysconfig/nfsfs{,.rpmnew}
322 mv -f /etc/sysconfig/nfsclient.rpmsave /etc/sysconfig/nfsfs
324 /sbin/chkconfig nfsfs reset
325 /sbin/chkconfig gssd reset
327 %triggerpostun common -- %{name}-common < 1.1.0-0.rc1.1
328 /sbin/chkconfig idmapd reset
331 %defattr(644,root,root,755)
332 %doc ChangeLog README html
333 %attr(755,root,root) /sbin/rpcdebug
334 %attr(755,root,root) /sbin/fsck.nfs
335 %attr(755,root,root) %{_sbindir}/exportfs
336 %attr(755,root,root) %{_sbindir}/rpc.mountd
337 %attr(755,root,root) %{_sbindir}/rpc.nfsd
338 %attr(755,root,root) %{_sbindir}/rpc.svcgssd
339 %attr(755,root,root) %{_sbindir}/nfsstat
341 %attr(754,root,root) /etc/rc.d/init.d/nfs
342 %attr(754,root,root) /etc/rc.d/init.d/svcgssd
344 %attr(664,root,fileshare) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/exports
345 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/nfsd
346 %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/nfs/xtab
347 %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/nfs/etab
348 %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/nfs/rmtab
350 %{_mandir}/man5/exports.5*
351 %{_mandir}/man7/nfsd.7*
352 %{_mandir}/man8/exportfs.8*
353 %{_mandir}/man8/mountd.8*
354 %{_mandir}/man8/nfsd.8*
355 %{_mandir}/man8/nfsstat.8*
356 %{_mandir}/man8/rpc.mountd.8*
357 %{_mandir}/man8/rpc.nfsd.8*
358 %{_mandir}/man8/rpc.svcgssd.8*
359 %{_mandir}/man8/rpcdebug.8*
360 %{_mandir}/man8/svcgssd.8*
363 %defattr(644,root,root,755)
364 %attr(700,rpcstatd,rpcstatd) %dir %{_var}/lib/nfs/statd
365 %attr(700,rpcstatd,rpcstatd) %dir %{_var}/lib/nfs/statd/sm
366 %attr(700,rpcstatd,rpcstatd) %dir %{_var}/lib/nfs/statd/sm.bak
367 %attr(600,rpcstatd,rpcstatd) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/nfs/statd/state
368 %attr(755,root,root) %{_sbindir}/rpc.statd
369 %attr(755,root,root) %{_sbindir}/sm-notify
370 %attr(755,root,root) %{_sbindir}/start-statd
371 %attr(754,root,root) /etc/rc.d/init.d/nfslock
372 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/nfslock
373 %{_mandir}/man8/rpc.sm-notify.8*
374 %{_mandir}/man8/rpc.statd.8*
375 %{_mandir}/man8/sm-notify.8*
376 %{_mandir}/man8/statd.8*
379 %defattr(644,root,root,755)
380 %attr(754,root,root) /etc/rc.d/init.d/nfsfs
381 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/nfsfs
382 %attr(4755,root,root) /sbin/mount.nfs
383 %attr(4755,root,root) /sbin/umount.nfs
384 %attr(4755,root,root) /sbin/mount.nfs4
385 %attr(4755,root,root) /sbin/umount.nfs4
386 %attr(755,root,root) %{_sbindir}/mountstats
387 %attr(755,root,root) %{_sbindir}/nfsiostat
388 %attr(755,root,root) %{_sbindir}/showmount
389 %attr(755,root,root) %{_sbindir}/rpc.gssd
390 %attr(754,root,root) /etc/rc.d/init.d/gssd
391 %{_mandir}/man8/gssd.8*
392 %{_mandir}/man8/mount.nfs.8*
393 %{_mandir}/man8/mountstats.8*
394 %{_mandir}/man8/nfsiostat.8*
395 %{_mandir}/man8/rpc.gssd.8*
396 %{_mandir}/man8/showmount.8*
397 %{_mandir}/man8/umount.nfs.8*
400 %defattr(644,root,root,755)
401 %attr(755,root,root) %{_sbindir}/gss_clnt_send_err
402 %attr(755,root,root) %{_sbindir}/gss_destroy_creds
403 %attr(755,root,root) %{_sbindir}/rpc.idmapd
404 %attr(754,root,root) /etc/rc.d/init.d/idmapd
406 %dir %{_var}/lib/nfs/rpc_pipefs
407 %dir %{_var}/lib/nfs/v4recovery
408 %{_mandir}/man5/nfs.5*
409 %{_mandir}/man8/idmapd.8*
410 %{_mandir}/man8/rpc.idmapd.8*