2 # - where to package pNFS blkmapd client deamon (clients or separate package)
3 # - consider enabling: libmount-mount
4 # - should unmount /proc/fs/nfsd and /var/lib/nfs/rpc_pipefs at package
5 # uninstall (or in service nfs stop)
8 %bcond_with krb5 # build with MIT Kerberos (+libgssglue) instead of Heimdal
9 %bcond_without tirpc # use librpcsecgss instead of libtirpc
11 Summary: Kernel NFS server
12 Summary(pl.UTF-8): Działający na poziomie jądra serwer NFS
13 Summary(pt_BR.UTF-8): Os utilitários para o cliente e servidor NFS do Linux
14 Summary(ru.UTF-8): Утилиты для NFS и демоны поддержки для NFS-сервера ядра
15 Summary(uk.UTF-8): Утиліти для NFS та демони підтримки для NFS-сервера ядра
20 Group: Networking/Daemons
21 #Source0: http://www.kernel.org/pub/linux/utils/nfs/%{name}-%{version}.tar.bz2
22 Source0: http://downloads.sourceforge.net/project/nfs/nfs-utils/%{version}/%{name}-%{version}.tar.bz2
23 # Source0-md5: 8395ac770720b83c5c469f88306d7765
24 #Source1: ftp://ftp.linuxnfs.sourceforge.org/pub/nfs/nfs.doc.tar.gz
25 Source1: nfs.doc.tar.gz
26 # Source1-md5: ae7db9c61c5ad04f83bb99e5caed73da
30 Source5: rpcidmapd.init
32 Source7: rpcsvcgssd.init
33 Source8: nfs.sysconfig
34 Source9: nfslock.sysconfig
35 Source10: nfsfs.sysconfig
36 Patch0: %{name}-install.patch
37 Patch1: %{name}-statdpath.patch
38 Patch2: %{name}-subsys.patch
39 Patch3: %{name}-union-mount.patch
40 Patch4: %{name}-heimdal.patch
41 Patch5: %{name}-heimdal-kcm.patch
42 URL: http://nfs.sourceforge.net/
43 BuildRequires: autoconf >= 2.59
44 BuildRequires: automake
46 BuildRequires: keyutils-devel
47 BuildRequires: libblkid-devel >= 1.40
48 BuildRequires: libcap-devel
49 BuildRequires: device-mapper-devel
50 BuildRequires: libevent-devel >= 1.2
51 BuildRequires: libnfsidmap-devel >= 0.21-3
52 BuildRequires: libtool
53 BuildRequires: libwrap-devel
54 BuildRequires: pkgconfig
55 BuildRequires: rpm-pythonprov
57 BuildRequires: libtirpc-devel >= 1:0.1.10-4
59 BuildRequires: librpcsecgss-devel >= 0.16
62 BuildRequires: krb5-devel >= 1.6
63 BuildRequires: libgssglue-devel >= 0.1
65 BuildRequires: heimdal-devel >= 1.0
67 # lucid context fields mismatch with current version of spkm3.h
68 BuildConflicts: gss_mech_spkm3-devel
69 Requires(post): fileutils
70 Requires(post): sed >= 4.0
71 Requires(post,preun): /sbin/chkconfig
72 Requires: %{name}-common = %{version}-%{release}
73 Requires: rc-scripts >= 0.4.1.5
74 Requires: rpcbind >= 0.1.7
75 Requires: setup >= 2.4.6-7
80 Conflicts: kernel < 2.2.5
81 Conflicts: krb5-common < 1.7
83 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
86 This is the *new* kernel NFS server and related tools. It provides a
87 much higher level of performance than the traditional Linux user-land
90 %description -l pl.UTF-8
91 To jest *nowy* działający na poziomie jądra serwer NFS oraz związane z
92 nim narzędzia. Serwer ten dostarcza znacznie większą wydajność niż
93 tradycyjny, działający na poziomie użytkownika serwer NFS.
95 %description -l pt_BR.UTF-8
96 O pacote nfs-utils provê os utilitários para o cliente e servidor NFS
99 %description -l ru.UTF-8
100 Пакет nfs-utils предоставляет демона для NFS-сервера, включенного в
101 ядро, и сопутствующие утилиты, которые обеспечивают намного большую
102 производительность, чем традиционные Linux NFS-сервера, используемые
103 большинством пользователей.
105 %description -l uk.UTF-8
106 Пакет nfs-utils надає демона для NFS-сервера, вбудованого в ядро, та
107 супутні утиліти, які забезпечують набагато більшу продуктивність, ніж
108 традиційні Linux NFS-сервери, які використовує більшість користувачів.
111 Summary: Clients for connecting to a remote NFS server
112 Summary(pl.UTF-8): Klienci do łączenia się ze zdalnym serwerem NFS
114 Requires(post,preun): /sbin/chkconfig
115 Requires: %{name}-common = %{version}-%{release}
118 Provides: nfs-server-clients
120 Obsoletes: knfsd-clients
121 Obsoletes: nfs-server-clients
123 Conflicts: krb5-common < 1.7
126 The nfs-server-clients package contains the showmount program.
127 Showmount queries the mount daemon on a remote host for information
128 about the NFS (Network File System) server on the remote host. For
129 example, showmount can display the clients which are mounted on that
130 host. This package is not needed to mount NFS volumes.
132 %description clients -l pl.UTF-8
133 Pakiet zawiera program showmount służący do odpytywania serwera NFS.
134 Showmount pyta demona na zdalnej maszynie o informacje NFS na zdalnym
135 hoście. Na przykład, showmount potrafi pokazać klientów, którzy są
136 zamountowani na tym serwerze. Ten pakiet nie jest konieczny do
137 zamountowania zasobów NFS.
140 Summary: Programs for NFS file locking
141 Summary(pl.UTF-8): Programy do obsługi blokowania plików poprzez NFS (lock)
143 Requires(post,preun): /sbin/chkconfig
145 Requires: rpcbind >= 0.1.7
146 Provides: group(rpcstatd)
148 Provides: user(rpcstatd)
149 Obsoletes: knfsd-lock
153 The nfs-lock pacage contains programs which support the NFS file lock.
154 Install nfs-lock if you want to use file lock over NFS.
156 %description lock -l pl.UTF-8
157 Ten pakiet zawiera programy umożliwiające wykonywanie blokowania
158 plików (file locking) poprzez NFS.
161 Summary: Common programs for NFS
162 Summary(pl.UTF-8): Wspólne programy do obsługi NFS
164 Requires: libnfsidmap >= 0.21-3
165 Conflicts: mount < 2.13-0.pre7.1
168 Common programs for NFS.
170 %description common -l pl.UTF-8
171 Wspólne programy do obsługi NFS.
184 %{__aclocal} -I aclocal
194 --enable-mountconfig \
202 --with-statdpath=/var/lib/nfs/statd \
203 --with-statedir=/var/lib/nfs \
204 --with-statduser=rpcstatd \
205 --with-start-statd=%{_sbindir}/start-statd \
206 --with-tcp-wrappers \
212 rm -rf $RPM_BUILD_ROOT
213 install -d $RPM_BUILD_ROOT%{_sysconfdir}/{rc.d/init.d,sysconfig,exports.d} \
214 $RPM_BUILD_ROOT%{_var}/lib/nfs/{rpc_pipefs,v4recovery}
217 DESTDIR=$RPM_BUILD_ROOT
219 install -p utils/mount/nfsmount.conf $RPM_BUILD_ROOT/etc
221 cat >$RPM_BUILD_ROOT%{_sbindir}/start-statd <<EOF
223 # mount.nfs calls this script when mounting a filesystem with locking
224 # enabled, but when statd does not seem to be running (based on
225 # /var/run/rpc.statd.pid).
226 exec /sbin/service nfslock start
229 sed -e "s|#!/bin/bash|#!/bin/sh|" utils/gssd/gss_destroy_creds > $RPM_BUILD_ROOT%{_sbindir}/gss_destroy_creds
231 mv $RPM_BUILD_ROOT%{_sbindir}/rpcdebug $RPM_BUILD_ROOT/sbin
233 install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/nfs
234 install %{SOURCE3} $RPM_BUILD_ROOT/etc/rc.d/init.d/nfslock
235 install %{SOURCE4} $RPM_BUILD_ROOT/etc/rc.d/init.d/nfsfs
236 install %{SOURCE5} $RPM_BUILD_ROOT/etc/rc.d/init.d/idmapd
237 install %{SOURCE6} $RPM_BUILD_ROOT/etc/rc.d/init.d/gssd
238 install %{SOURCE7} $RPM_BUILD_ROOT/etc/rc.d/init.d/svcgssd
239 install %{SOURCE8} $RPM_BUILD_ROOT/etc/sysconfig/nfsd
240 install %{SOURCE9} $RPM_BUILD_ROOT/etc/sysconfig/nfslock
241 install %{SOURCE10} $RPM_BUILD_ROOT/etc/sysconfig/nfsfs
243 > $RPM_BUILD_ROOT%{_var}/lib/nfs/rmtab
244 > $RPM_BUILD_ROOT%{_sysconfdir}/exports
246 %{__rm} $RPM_BUILD_ROOT%{_mandir}/man8/rpc.{mountd,nfsd,statd,sm-notify,svcgssd,gssd,idmapd}.8
247 echo ".so mountd.8" > $RPM_BUILD_ROOT%{_mandir}/man8/rpc.mountd.8
248 echo ".so nfsd.8" > $RPM_BUILD_ROOT%{_mandir}/man8/rpc.nfsd.8
249 echo ".so statd.8" > $RPM_BUILD_ROOT%{_mandir}/man8/rpc.statd.8
250 echo ".so sm-notify.8" > $RPM_BUILD_ROOT%{_mandir}/man8/rpc.sm-notify.8
251 echo ".so gssd.8" > $RPM_BUILD_ROOT%{_mandir}/man8/rpc.gssd.8
252 echo ".so idmapd.8" > $RPM_BUILD_ROOT%{_mandir}/man8/rpc.idmapd.8
253 echo ".so svcgssd.8" > $RPM_BUILD_ROOT%{_mandir}/man8/rpc.svcgssd.8
255 touch $RPM_BUILD_ROOT/var/lib/nfs/xtab
257 ln -sf /bin/true $RPM_BUILD_ROOT/sbin/fsck.nfs
262 rm -rf $RPM_BUILD_ROOT
265 /sbin/chkconfig --add nfs
266 %service nfs restart "NFS daemon"
267 /sbin/chkconfig --add svcgssd
268 %service svcgssd restart "RPC svcgssd"
271 if [ "$1" = "0" ]; then
273 /sbin/chkconfig --del nfs
274 %service svcgssd stop
275 /sbin/chkconfig --del svcgssd
279 /sbin/chkconfig --add nfsfs
280 %service nfsfs restart
281 /sbin/chkconfig --add gssd
282 %service gssd restart "RPC gssd"
285 if [ "$1" = "0" ]; then
287 /sbin/chkconfig --del nfsfs
289 /sbin/chkconfig --del gssd
293 %groupadd -g 191 rpcstatd
294 %useradd -u 191 -d /var/lib/nfs/statd -s /bin/false -c "RPC statd user" -g rpcstatd rpcstatd
297 /sbin/chkconfig --add nfslock
298 %service nfslock restart "RPC statd"
301 if [ "$1" = "0" ]; then
302 %service nfslock stop
303 /sbin/chkconfig --del nfslock
307 if [ "$1" = "0" ]; then
309 %groupremove rpcstatd
313 /sbin/chkconfig --add idmapd
314 %service idmapd restart "RPC idmapd"
317 if [ "$1" = "0" ]; then
319 /sbin/chkconfig --del idmapd
322 %triggerpostun -- %{name} < 1.1.0-0.rc1.1
323 /sbin/chkconfig nfs reset
324 /sbin/chkconfig svcgssd reset
326 %triggerpostun lock -- %{name}-lock < 1.1.0-0.rc1.1
327 /sbin/chkconfig nfslock reset
329 %triggerpostun clients -- %{name}-clients < 1.1.0-0.rc1.1
330 if [ -f /etc/sysconfig/nfsclient.rpmsave ]; then
331 mv -f /etc/sysconfig/nfsfs{,.rpmnew}
332 mv -f /etc/sysconfig/nfsclient.rpmsave /etc/sysconfig/nfsfs
334 /sbin/chkconfig nfsfs reset
335 /sbin/chkconfig gssd reset
337 %triggerpostun common -- %{name}-common < 1.1.0-0.rc1.1
338 /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}/rpc.svcgssd
349 %attr(755,root,root) %{_sbindir}/nfsstat
351 %attr(754,root,root) /etc/rc.d/init.d/nfs
352 %attr(754,root,root) /etc/rc.d/init.d/svcgssd
354 %attr(664,root,fileshare) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/exports
355 %dir %{_sysconfdir}/exports.d
357 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/nfsd
358 %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/nfs/xtab
359 %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/nfs/etab
360 %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/nfs/rmtab
362 %{_mandir}/man5/exports.5*
363 %{_mandir}/man7/nfsd.7*
364 %{_mandir}/man8/exportfs.8*
365 %{_mandir}/man8/mountd.8*
366 %{_mandir}/man8/nfsd.8*
367 %{_mandir}/man8/nfsstat.8*
368 %{_mandir}/man8/rpc.mountd.8*
369 %{_mandir}/man8/rpc.nfsd.8*
370 %{_mandir}/man8/rpc.svcgssd.8*
371 %{_mandir}/man8/rpcdebug.8*
372 %{_mandir}/man8/svcgssd.8*
375 %defattr(644,root,root,755)
376 %attr(700,rpcstatd,rpcstatd) %dir %{_var}/lib/nfs/statd
377 %attr(700,rpcstatd,rpcstatd) %dir %{_var}/lib/nfs/statd/sm
378 %attr(700,rpcstatd,rpcstatd) %dir %{_var}/lib/nfs/statd/sm.bak
379 %attr(600,rpcstatd,rpcstatd) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/nfs/statd/state
380 %attr(755,root,root) %{_sbindir}/rpc.statd
381 %attr(755,root,root) %{_sbindir}/sm-notify
382 %attr(755,root,root) %{_sbindir}/start-statd
383 %attr(754,root,root) /etc/rc.d/init.d/nfslock
384 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/nfslock
385 %{_mandir}/man8/rpc.sm-notify.8*
386 %{_mandir}/man8/rpc.statd.8*
387 %{_mandir}/man8/sm-notify.8*
388 %{_mandir}/man8/statd.8*
391 %defattr(644,root,root,755)
392 %attr(754,root,root) /etc/rc.d/init.d/nfsfs
393 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/nfsfs
394 %attr(664,root,fileshare) %config(noreplace) %verify(not md5 mtime size) /etc/nfsmount.conf
395 %attr(4755,root,root) /sbin/mount.nfs
396 %attr(4755,root,root) /sbin/umount.nfs
397 %attr(4755,root,root) /sbin/mount.nfs4
398 %attr(4755,root,root) /sbin/umount.nfs4
399 %attr(755,root,root) %{_sbindir}/mountstats
400 %attr(755,root,root) %{_sbindir}/nfsiostat
401 %attr(755,root,root) %{_sbindir}/showmount
402 %attr(755,root,root) %{_sbindir}/rpc.gssd
403 %attr(754,root,root) /etc/rc.d/init.d/gssd
404 %{_mandir}/man5/nfsmount.conf.5*
405 %{_mandir}/man8/gssd.8*
406 %{_mandir}/man8/mount.nfs.8*
407 %{_mandir}/man8/mountstats.8*
408 %{_mandir}/man8/nfsiostat.8*
409 %{_mandir}/man8/rpc.gssd.8*
410 %{_mandir}/man8/showmount.8*
411 %{_mandir}/man8/umount.nfs.8*
414 %defattr(644,root,root,755)
415 %attr(755,root,root) %{_sbindir}/gss_clnt_send_err
416 %attr(755,root,root) %{_sbindir}/gss_destroy_creds
417 %attr(755,root,root) %{_sbindir}/nfsidmap
418 %attr(755,root,root) %{_sbindir}/rpc.idmapd
419 %attr(754,root,root) /etc/rc.d/init.d/idmapd
421 %dir %{_var}/lib/nfs/rpc_pipefs
422 %dir %{_var}/lib/nfs/v4recovery
423 %{_mandir}/man5/nfs.5*
424 %{_mandir}/man8/idmapd.8*
425 %{_mandir}/man8/nfsidmap.8*
426 %{_mandir}/man8/rpc.idmapd.8*