2 # - consider enabling: nfsv41, mountconfig, libmount-mount
3 # - should unmount /proc/fs/nfsd and /var/lib/nfs/rpc_pipefs at package
4 # uninstall (or in service nfs stop)
7 %bcond_with krb5 # build with MIT Kerberos (+libgssglue) instead of Heimdal
8 %bcond_without tirpc # use librpcsecgss instead of libtirpc
10 Summary: Kernel NFS server
11 Summary(pl.UTF-8): Działający na poziomie jądra serwer NFS
12 Summary(pt_BR.UTF-8): Os utilitários para o cliente e servidor NFS do Linux
13 Summary(ru.UTF-8): Утилиты для NFS и демоны поддержки для NFS-сервера ядра
14 Summary(uk.UTF-8): Утиліти для NFS та демони підтримки для NFS-сервера ядра
19 Group: Networking/Daemons
20 Source0: http://www.kernel.org/pub/linux/utils/nfs/%{name}-%{version}.tar.bz2
21 # Source0-md5: 938dc0574f3eb9891a8ed4746f806277
22 #Source1: ftp://ftp.linuxnfs.sourceforge.org/pub/nfs/nfs.doc.tar.gz
23 Source1: nfs.doc.tar.gz
24 # Source1-md5: ae7db9c61c5ad04f83bb99e5caed73da
28 Source5: rpcidmapd.init
30 Source7: rpcsvcgssd.init
31 Source8: nfs.sysconfig
32 Source9: nfslock.sysconfig
33 Source10: nfsfs.sysconfig
34 Patch0: %{name}-install.patch
35 Patch1: %{name}-statdpath.patch
36 Patch2: %{name}-subsys.patch
37 Patch3: %{name}-union-mount.patch
38 Patch4: %{name}-heimdal.patch
39 Patch5: %{name}-heimdal-kcm.patch
40 URL: http://nfs.sourceforge.net/
41 BuildRequires: autoconf >= 2.59
42 BuildRequires: automake
44 BuildRequires: keyutils-devel
45 BuildRequires: libblkid-devel >= 1.40
46 BuildRequires: libcap-devel
47 BuildRequires: libevent-devel >= 1.2
48 BuildRequires: libnfsidmap-devel >= 0.21-3
49 BuildRequires: libtool
50 BuildRequires: libwrap-devel
51 BuildRequires: pkgconfig
52 BuildRequires: rpm-pythonprov
54 BuildRequires: libtirpc-devel >= 1:0.1.10-4
56 BuildRequires: librpcsecgss-devel >= 0.16
59 BuildRequires: krb5-devel >= 1.6
60 BuildRequires: libgssglue-devel >= 0.1
62 BuildRequires: heimdal-devel >= 1.0
64 # lucid context fields mismatch with current version of spkm3.h
65 BuildConflicts: gss_mech_spkm3-devel
66 Requires(post): fileutils
67 Requires(post): sed >= 4.0
68 Requires(post,preun): /sbin/chkconfig
69 Requires: %{name}-common = %{version}-%{release}
70 Requires: rc-scripts >= 0.4.1.5
71 Requires: rpcbind >= 0.1.7
72 Requires: setup >= 2.4.6-7
77 Conflicts: kernel < 2.2.5
78 Conflicts: krb5-common < 1.7
80 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
83 This is the *new* kernel NFS server and related tools. It provides a
84 much higher level of performance than the traditional Linux user-land
87 %description -l pl.UTF-8
88 To jest *nowy* działający na poziomie jądra serwer NFS oraz związane z
89 nim narzędzia. Serwer ten dostarcza znacznie większą wydajność niż
90 tradycyjny, działający na poziomie użytkownika serwer NFS.
92 %description -l pt_BR.UTF-8
93 O pacote nfs-utils provê os utilitários para o cliente e servidor NFS
96 %description -l ru.UTF-8
97 Пакет nfs-utils предоставляет демона для NFS-сервера, включенного в
98 ядро, и сопутствующие утилиты, которые обеспечивают намного большую
99 производительность, чем традиционные Linux NFS-сервера, используемые
100 большинством пользователей.
102 %description -l uk.UTF-8
103 Пакет nfs-utils надає демона для NFS-сервера, вбудованого в ядро, та
104 супутні утиліти, які забезпечують набагато більшу продуктивність, ніж
105 традиційні Linux NFS-сервери, які використовує більшість користувачів.
108 Summary: Clients for connecting to a remote NFS server
109 Summary(pl.UTF-8): Klienci do łączenia się ze zdalnym serwerem NFS
111 Requires(post,preun): /sbin/chkconfig
112 Requires: %{name}-common = %{version}-%{release}
115 Provides: nfs-server-clients
117 Obsoletes: knfsd-clients
118 Obsoletes: nfs-server-clients
120 Conflicts: krb5-common < 1.7
123 The nfs-server-clients package contains the showmount program.
124 Showmount queries the mount daemon on a remote host for information
125 about the NFS (Network File System) server on the remote host. For
126 example, showmount can display the clients which are mounted on that
127 host. This package is not needed to mount NFS volumes.
129 %description clients -l pl.UTF-8
130 Pakiet zawiera program showmount służący do odpytywania serwera NFS.
131 Showmount pyta demona na zdalnej maszynie o informacje NFS na zdalnym
132 hoście. Na przykład, showmount potrafi pokazać klientów, którzy są
133 zamountowani na tym serwerze. Ten pakiet nie jest konieczny do
134 zamountowania zasobów NFS.
137 Summary: Programs for NFS file locking
138 Summary(pl.UTF-8): Programy do obsługi blokowania plików poprzez NFS (lock)
140 Requires(post,preun): /sbin/chkconfig
142 Requires: rpcbind >= 0.1.7
143 Provides: group(rpcstatd)
145 Provides: user(rpcstatd)
146 Obsoletes: knfsd-lock
150 The nfs-lock pacage contains programs which support the NFS file lock.
151 Install nfs-lock if you want to use file lock over NFS.
153 %description lock -l pl.UTF-8
154 Ten pakiet zawiera programy umożliwiające wykonywanie blokowania
155 plików (file locking) poprzez NFS.
158 Summary: Common programs for NFS
159 Summary(pl.UTF-8): Wspólne programy do obsługi NFS
161 Requires: libnfsidmap >= 0.21-3
162 Conflicts: mount < 2.13-0.pre7.1
165 Common programs for NFS.
167 %description common -l pl.UTF-8
168 Wspólne programy do obsługi NFS.
181 %{__aclocal} -I aclocal
197 --with-statedir=/var/lib/nfs \
198 --with-statduser=rpcstatd \
199 --with-start-statd=%{_sbindir}/start-statd \
200 --with-tcp-wrappers \
206 rm -rf $RPM_BUILD_ROOT
207 install -d $RPM_BUILD_ROOT%{_sysconfdir}/{rc.d/init.d,sysconfig,exports.d} \
208 $RPM_BUILD_ROOT%{_var}/lib/nfs/{rpc_pipefs,v4recovery}
211 DESTDIR=$RPM_BUILD_ROOT
213 cat >$RPM_BUILD_ROOT%{_sbindir}/start-statd <<EOF
215 # mount.nfs calls this script when mounting a filesystem with locking
216 # enabled, but when statd does not seem to be running (based on
217 # /var/run/rpc.statd.pid).
218 exec /sbin/service nfslock start
221 sed -e "s|#!/bin/bash|#!/bin/sh|" utils/gssd/gss_destroy_creds > $RPM_BUILD_ROOT%{_sbindir}/gss_destroy_creds
223 mv $RPM_BUILD_ROOT%{_sbindir}/rpcdebug $RPM_BUILD_ROOT/sbin
225 install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/nfs
226 install %{SOURCE3} $RPM_BUILD_ROOT/etc/rc.d/init.d/nfslock
227 install %{SOURCE4} $RPM_BUILD_ROOT/etc/rc.d/init.d/nfsfs
228 install %{SOURCE5} $RPM_BUILD_ROOT/etc/rc.d/init.d/idmapd
229 install %{SOURCE6} $RPM_BUILD_ROOT/etc/rc.d/init.d/gssd
230 install %{SOURCE7} $RPM_BUILD_ROOT/etc/rc.d/init.d/svcgssd
231 install %{SOURCE8} $RPM_BUILD_ROOT/etc/sysconfig/nfsd
232 install %{SOURCE9} $RPM_BUILD_ROOT/etc/sysconfig/nfslock
233 install %{SOURCE10} $RPM_BUILD_ROOT/etc/sysconfig/nfsfs
235 > $RPM_BUILD_ROOT%{_var}/lib/nfs/rmtab
236 > $RPM_BUILD_ROOT%{_sysconfdir}/exports
238 rm $RPM_BUILD_ROOT%{_mandir}/man8/rpc.{mountd,nfsd,statd,sm-notify}.8
239 rm $RPM_BUILD_ROOT%{_mandir}/man8/rpc.{svcgssd,gssd,idmapd}.8
240 echo ".so mountd.8" > $RPM_BUILD_ROOT%{_mandir}/man8/rpc.mountd.8
241 echo ".so nfsd.8" > $RPM_BUILD_ROOT%{_mandir}/man8/rpc.nfsd.8
242 echo ".so statd.8" > $RPM_BUILD_ROOT%{_mandir}/man8/rpc.statd.8
243 echo ".so sm-notify.8" > $RPM_BUILD_ROOT%{_mandir}/man8/rpc.sm-notify.8
244 echo ".so gssd.8" > $RPM_BUILD_ROOT%{_mandir}/man8/rpc.gssd.8
245 echo ".so idmapd.8" > $RPM_BUILD_ROOT%{_mandir}/man8/rpc.idmapd.8
246 echo ".so svcgssd.8" > $RPM_BUILD_ROOT%{_mandir}/man8/rpc.svcgssd.8
248 touch $RPM_BUILD_ROOT/var/lib/nfs/xtab
250 ln -sf /bin/true $RPM_BUILD_ROOT/sbin/fsck.nfs
255 rm -rf $RPM_BUILD_ROOT
258 /sbin/chkconfig --add nfs
259 %service nfs restart "NFS daemon"
260 /sbin/chkconfig --add svcgssd
261 %service svcgssd restart "RPC svcgssd"
264 if [ "$1" = "0" ]; then
266 /sbin/chkconfig --del nfs
267 %service svcgssd stop
268 /sbin/chkconfig --del svcgssd
272 /sbin/chkconfig --add nfsfs
273 %service nfsfs restart
274 /sbin/chkconfig --add gssd
275 %service gssd restart "RPC gssd"
278 if [ "$1" = "0" ]; then
280 /sbin/chkconfig --del nfsfs
282 /sbin/chkconfig --del gssd
286 %groupadd -g 191 rpcstatd
287 %useradd -u 191 -d /var/lib/nfs/statd -s /bin/false -c "RPC statd user" -g rpcstatd rpcstatd
290 /sbin/chkconfig --add nfslock
291 %service nfslock restart "RPC statd"
294 if [ "$1" = "0" ]; then
295 %service nfslock stop
296 /sbin/chkconfig --del nfslock
300 if [ "$1" = "0" ]; then
302 %groupremove rpcstatd
306 /sbin/chkconfig --add idmapd
307 %service idmapd restart "RPC idmapd"
310 if [ "$1" = "0" ]; then
312 /sbin/chkconfig --del idmapd
315 %triggerpostun -- %{name} < 1.1.0-0.rc1.1
316 /sbin/chkconfig nfs reset
317 /sbin/chkconfig svcgssd reset
319 %triggerpostun lock -- %{name}-lock < 1.1.0-0.rc1.1
320 /sbin/chkconfig nfslock reset
322 %triggerpostun clients -- %{name}-clients < 1.1.0-0.rc1.1
323 if [ -f /etc/sysconfig/nfsclient.rpmsave ]; then
324 mv -f /etc/sysconfig/nfsfs{,.rpmnew}
325 mv -f /etc/sysconfig/nfsclient.rpmsave /etc/sysconfig/nfsfs
327 /sbin/chkconfig nfsfs reset
328 /sbin/chkconfig gssd reset
330 %triggerpostun common -- %{name}-common < 1.1.0-0.rc1.1
331 /sbin/chkconfig idmapd reset
334 %defattr(644,root,root,755)
335 %doc ChangeLog README html
336 %attr(755,root,root) /sbin/rpcdebug
337 %attr(755,root,root) /sbin/fsck.nfs
338 %attr(755,root,root) %{_sbindir}/exportfs
339 %attr(755,root,root) %{_sbindir}/rpc.mountd
340 %attr(755,root,root) %{_sbindir}/rpc.nfsd
341 %attr(755,root,root) %{_sbindir}/rpc.svcgssd
342 %attr(755,root,root) %{_sbindir}/nfsstat
344 %attr(754,root,root) /etc/rc.d/init.d/nfs
345 %attr(754,root,root) /etc/rc.d/init.d/svcgssd
347 %attr(664,root,fileshare) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/exports
348 %dir %{_sysconfdir}/exports.d
350 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/nfsd
351 %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/nfs/xtab
352 %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/nfs/etab
353 %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/nfs/rmtab
355 %{_mandir}/man5/exports.5*
356 %{_mandir}/man7/nfsd.7*
357 %{_mandir}/man8/exportfs.8*
358 %{_mandir}/man8/mountd.8*
359 %{_mandir}/man8/nfsd.8*
360 %{_mandir}/man8/nfsstat.8*
361 %{_mandir}/man8/rpc.mountd.8*
362 %{_mandir}/man8/rpc.nfsd.8*
363 %{_mandir}/man8/rpc.svcgssd.8*
364 %{_mandir}/man8/rpcdebug.8*
365 %{_mandir}/man8/svcgssd.8*
368 %defattr(644,root,root,755)
369 %attr(700,rpcstatd,rpcstatd) %dir %{_var}/lib/nfs/statd
370 %attr(700,rpcstatd,rpcstatd) %dir %{_var}/lib/nfs/statd/sm
371 %attr(700,rpcstatd,rpcstatd) %dir %{_var}/lib/nfs/statd/sm.bak
372 %attr(600,rpcstatd,rpcstatd) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/nfs/statd/state
373 %attr(755,root,root) %{_sbindir}/rpc.statd
374 %attr(755,root,root) %{_sbindir}/sm-notify
375 %attr(755,root,root) %{_sbindir}/start-statd
376 %attr(754,root,root) /etc/rc.d/init.d/nfslock
377 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/nfslock
378 %{_mandir}/man8/rpc.sm-notify.8*
379 %{_mandir}/man8/rpc.statd.8*
380 %{_mandir}/man8/sm-notify.8*
381 %{_mandir}/man8/statd.8*
384 %defattr(644,root,root,755)
385 %attr(754,root,root) /etc/rc.d/init.d/nfsfs
386 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/nfsfs
387 %attr(4755,root,root) /sbin/mount.nfs
388 %attr(4755,root,root) /sbin/umount.nfs
389 %attr(4755,root,root) /sbin/mount.nfs4
390 %attr(4755,root,root) /sbin/umount.nfs4
391 %attr(755,root,root) %{_sbindir}/mountstats
392 %attr(755,root,root) %{_sbindir}/nfsiostat
393 %attr(755,root,root) %{_sbindir}/showmount
394 %attr(755,root,root) %{_sbindir}/rpc.gssd
395 %attr(754,root,root) /etc/rc.d/init.d/gssd
396 %{_mandir}/man8/gssd.8*
397 %{_mandir}/man8/mount.nfs.8*
398 %{_mandir}/man8/mountstats.8*
399 %{_mandir}/man8/nfsiostat.8*
400 %{_mandir}/man8/rpc.gssd.8*
401 %{_mandir}/man8/showmount.8*
402 %{_mandir}/man8/umount.nfs.8*
405 %defattr(644,root,root,755)
406 %attr(755,root,root) %{_sbindir}/gss_clnt_send_err
407 %attr(755,root,root) %{_sbindir}/gss_destroy_creds
408 %attr(755,root,root) %{_sbindir}/nfsidmap
409 %attr(755,root,root) %{_sbindir}/rpc.idmapd
410 %attr(754,root,root) /etc/rc.d/init.d/idmapd
412 %dir %{_var}/lib/nfs/rpc_pipefs
413 %dir %{_var}/lib/nfs/v4recovery
414 %{_mandir}/man5/nfs.5*
415 %{_mandir}/man8/idmapd.8*
416 %{_mandir}/man8/nfsidmap.8*
417 %{_mandir}/man8/rpc.idmapd.8*