2 # - should unmount /proc/fs/nfsd and /var/lib/nfs/rpc_pipefs at package
3 # uninstall (or in service nfs stop)
6 %bcond_with heimdal # build with Heimdal Kerberos instead of MIT
8 Summary: Kernel NFS server
9 Summary(pl.UTF-8): Działający na poziomie jądra serwer NFS
10 Summary(pt_BR.UTF-8): Os utilitários para o cliente e servidor NFS do Linux
11 Summary(ru.UTF-8): Утилиты для NFS и демоны поддержки для NFS-сервера ядра
12 Summary(uk.UTF-8): Утиліти для NFS та демони підтримки для NFS-сервера ядра
17 Group: Networking/Daemons
18 Source0: http://www.kernel.org/pub/linux/utils/nfs/%{name}-%{version}.tar.bz2
19 # Source0-md5: 779cf81044e92cb51ad590960e7b3671
20 #Source1: ftp://ftp.linuxnfs.sourceforge.org/pub/nfs/nfs.doc.tar.gz
21 Source1: nfs.doc.tar.gz
22 # Source1-md5: ae7db9c61c5ad04f83bb99e5caed73da
26 Source5: rpcidmapd.init
28 Source7: rpcsvcgssd.init
29 Source8: nfs.sysconfig
30 Source9: nfslock.sysconfig
31 Source10: nfsfs.sysconfig
32 Patch0: %{name}-install.patch
33 Patch1: %{name}-statdpath.patch
34 Patch2: %{name}-keytab-path.patch
35 Patch3: %{name}-subsys.patch
36 Patch4: %{name}-union-mount.patch
37 Patch5: %{name}-kerberos-ac.patch
38 Patch6: %{name}-no_libgssapi.patch
39 Patch7: %{name}-pkgconfig_ac.patch
40 Patch8: %{name}-heimdal_functions.patch
41 URL: http://nfs.sourceforge.net/
42 BuildRequires: autoconf >= 2.59
43 BuildRequires: automake
46 BuildRequires: heimdal-devel >= 1.0
48 BuildRequires: krb5-devel >= 1.6
49 BuildRequires: libgssglue-devel >= 0.1
51 BuildRequires: libblkid-devel
52 BuildRequires: libevent-devel >= 1.2
53 BuildRequires: libnfsidmap-devel >= 0.21-3
54 BuildRequires: librpcsecgss-devel >= 0.16
55 BuildRequires: libtirpc-devel >= 1:0.1.10-4
56 BuildRequires: libtool
57 BuildRequires: libwrap-devel
58 BuildRequires: pkgconfig
59 BuildRequires: sed >= 4.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: rpcbind >= 0.1.7
67 Requires: rc-scripts >= 0.4.1.5
68 Requires: setup >= 2.4.6-7
73 Conflicts: kernel < 2.2.5
75 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
78 This is the *new* kernel NFS server and related tools. It provides a
79 much higher level of performance than the traditional Linux user-land
82 %description -l pl.UTF-8
83 To jest *nowy* działający na poziomie jądra serwer NFS oraz związane z
84 nim narzędzia. Serwer ten dostarcza znacznie większą wydajność niż
85 tradycyjny, działający na poziomie użytkownika serwer NFS.
87 %description -l pt_BR.UTF-8
88 O pacote nfs-utils provê os utilitários para o cliente e servidor NFS
91 %description -l ru.UTF-8
92 Пакет nfs-utils предоставляет демона для NFS-сервера, включенного в
93 ядро, и сопутствующие утилиты, которые обеспечивают намного большую
94 производительность, чем традиционные Linux NFS-сервера, используемые
95 большинством пользователей.
97 %description -l uk.UTF-8
98 Пакет nfs-utils надає демона для NFS-сервера, вбудованого в ядро, та
99 супутні утиліти, які забезпечують набагато більшу продуктивність, ніж
100 традиційні Linux NFS-сервери, які використовує більшість користувачів.
103 Summary: Clients for connecting to a remote NFS server
104 Summary(pl.UTF-8): Klienci do łączenia się ze zdalnym serwerem NFS
106 Requires(post,preun): /sbin/chkconfig
107 Requires: %{name}-common = %{version}-%{release}
110 Provides: nfs-server-clients
112 Obsoletes: knfsd-clients
113 Obsoletes: nfs-server-clients
117 The nfs-server-clients package contains the showmount program.
118 Showmount queries the mount daemon on a remote host for information
119 about the NFS (Network File System) server on the remote host. For
120 example, showmount can display the clients which are mounted on that
121 host. This package is not needed to mount NFS volumes.
123 %description clients -l pl.UTF-8
124 Pakiet zawiera program showmount służący do odpytywania serwera NFS.
125 Showmount pyta demona na zdalnej maszynie o informacje NFS na zdalnym
126 hoście. Na przykład, showmount potrafi pokazać klientów, którzy są
127 zamountowani na tym serwerze. Ten pakiet nie jest konieczny do
128 zamountowania zasobów NFS.
131 Summary: Programs for NFS file locking
132 Summary(pl.UTF-8): Programy do obsługi blokowania plików poprzez NFS (lock)
134 Requires(post,preun): /sbin/chkconfig
135 Requires: rpcbind >= 0.1.7
137 Provides: group(rpcstatd)
138 Provides: user(rpcstatd)
140 Obsoletes: knfsd-lock
144 The nfs-lock pacage contains programs which support the NFS file lock.
145 Install nfs-lock if you want to use file lock over NFS.
147 %description lock -l pl.UTF-8
148 Ten pakiet zawiera programy umożliwiające wykonywanie blokowania
149 plików (file locking) poprzez NFS.
152 Summary: Common programs for NFS
153 Summary(pl.UTF-8): Wspólne programy do obsługi NFS
155 Requires: libnfsidmap >= 0.21-3
156 Conflicts: mount < 2.13-0.pre7.1
159 Common programs for NFS.
161 %description common -l pl.UTF-8
162 Wspólne programy do obsługi NFS.
168 %{!?with_heimdal:%patch2 -p1}
178 # conflict with GNU stdio extension
179 sed -i -e 's/dprintf/dbgprintf/' support/include/ha-callout.h utils/statd/*.[ch]
183 %{__aclocal} -I aclocal
194 --with-statedir=/var/lib/nfs \
195 --with-statduser=rpcstatd \
196 --with-start-statd=%{_sbindir}/start-statd \
197 --with-tcp-wrappers \
199 --with-krb5-config=%{_bindir}/krb5-config
201 --with-krb5=%{_prefix}
207 rm -rf $RPM_BUILD_ROOT
208 install -d $RPM_BUILD_ROOT%{_sysconfdir}/{rc.d/init.d,sysconfig} \
209 $RPM_BUILD_ROOT%{_var}/lib/nfs/{rpc_pipefs,v4recovery}
212 DESTDIR=$RPM_BUILD_ROOT
214 cat >$RPM_BUILD_ROOT%{_sbindir}/start-statd <<EOF
216 # mount.nfs calls this script when mounting a filesystem with locking
217 # enabled, but when statd does not seem to be running (based on
218 # /var/run/rpc.statd.pid).
219 exec /sbin/service nfslock start
222 sed -e "s|#!/bin/bash|#!/bin/sh|" utils/gssd/gss_destroy_creds > $RPM_BUILD_ROOT%{_sbindir}/gss_destroy_creds
224 mv $RPM_BUILD_ROOT%{_sbindir}/rpcdebug $RPM_BUILD_ROOT/sbin
226 install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/nfs
227 install %{SOURCE3} $RPM_BUILD_ROOT/etc/rc.d/init.d/nfslock
228 install %{SOURCE4} $RPM_BUILD_ROOT/etc/rc.d/init.d/nfsfs
229 install %{SOURCE5} $RPM_BUILD_ROOT/etc/rc.d/init.d/idmapd
230 install %{SOURCE6} $RPM_BUILD_ROOT/etc/rc.d/init.d/gssd
231 install %{SOURCE7} $RPM_BUILD_ROOT/etc/rc.d/init.d/svcgssd
232 install %{SOURCE8} $RPM_BUILD_ROOT/etc/sysconfig/nfsd
233 install %{SOURCE9} $RPM_BUILD_ROOT/etc/sysconfig/nfslock
234 install %{SOURCE10} $RPM_BUILD_ROOT/etc/sysconfig/nfsfs
236 > $RPM_BUILD_ROOT%{_var}/lib/nfs/rmtab
237 > $RPM_BUILD_ROOT%{_sysconfdir}/exports
239 rm $RPM_BUILD_ROOT%{_mandir}/man8/rpc.{mountd,nfsd,statd,sm-notify}.8
240 rm $RPM_BUILD_ROOT%{_mandir}/man8/rpc.{svcgssd,gssd,idmapd}.8
241 echo ".so mountd.8" > $RPM_BUILD_ROOT%{_mandir}/man8/rpc.mountd.8
242 echo ".so nfsd.8" > $RPM_BUILD_ROOT%{_mandir}/man8/rpc.nfsd.8
243 echo ".so statd.8" > $RPM_BUILD_ROOT%{_mandir}/man8/rpc.statd.8
244 echo ".so sm-notify.8" > $RPM_BUILD_ROOT%{_mandir}/man8/rpc.sm-notify.8
245 echo ".so gssd.8" > $RPM_BUILD_ROOT%{_mandir}/man8/rpc.gssd.8
246 echo ".so idmapd.8" > $RPM_BUILD_ROOT%{_mandir}/man8/rpc.idmapd.8
247 echo ".so svcgssd.8" > $RPM_BUILD_ROOT%{_mandir}/man8/rpc.svcgssd.8
249 touch $RPM_BUILD_ROOT/var/lib/nfs/xtab
251 ln -sf /bin/true $RPM_BUILD_ROOT/sbin/fsck.nfs
256 rm -rf $RPM_BUILD_ROOT
259 /sbin/chkconfig --add nfs
260 %service nfs restart "NFS daemon"
261 /sbin/chkconfig --add svcgssd
262 %service svcgssd restart "RPC svcgssd"
265 if [ "$1" = "0" ]; then
267 /sbin/chkconfig --del nfs
268 %service svcgssd stop
269 /sbin/chkconfig --del svcgssd
273 /sbin/chkconfig --add nfsfs
274 %service nfsfs restart
275 /sbin/chkconfig --add gssd
276 %service gssd restart "RPC gssd"
279 if [ "$1" = "0" ]; then
281 /sbin/chkconfig --del nfsfs
283 /sbin/chkconfig --del gssd
287 %groupadd -g 191 rpcstatd
288 %useradd -u 191 -d /var/lib/nfs/statd -s /bin/false -c "RPC statd user" -g rpcstatd rpcstatd
291 /sbin/chkconfig --add nfslock
292 %service nfslock restart "RPC statd"
295 if [ "$1" = "0" ]; then
296 %service nfslock stop
297 /sbin/chkconfig --del nfslock
301 if [ "$1" = "0" ]; then
303 %groupremove rpcstatd
307 /sbin/chkconfig --add idmapd
308 %service idmapd restart "RPC idmapd"
311 if [ "$1" = "0" ]; then
313 /sbin/chkconfig --del idmapd
316 %triggerpostun -- %{name} < 1.1.0-0.rc1.1
317 /sbin/chkconfig nfs reset
318 /sbin/chkconfig svcgssd reset
320 %triggerpostun lock -- %{name}-lock < 1.1.0-0.rc1.1
321 /sbin/chkconfig nfslock reset
323 %triggerpostun clients -- %{name}-clients < 1.1.0-0.rc1.1
324 if [ -f /etc/sysconfig/nfsclient.rpmsave ]; then
325 mv -f /etc/sysconfig/nfsfs{,.rpmnew}
326 mv -f /etc/sysconfig/nfsclient.rpmsave /etc/sysconfig/nfsfs
328 /sbin/chkconfig nfsfs reset
329 /sbin/chkconfig gssd reset
331 %triggerpostun common -- %{name}-common < 1.1.0-0.rc1.1
332 /sbin/chkconfig idmapd reset
335 %defattr(644,root,root,755)
336 %doc ChangeLog README html
337 %attr(755,root,root) /sbin/rpcdebug
338 %attr(755,root,root) /sbin/fsck.nfs
339 %attr(755,root,root) %{_sbindir}/exportfs
340 %attr(755,root,root) %{_sbindir}/rpc.mountd
341 %attr(755,root,root) %{_sbindir}/rpc.nfsd
342 %attr(755,root,root) %{_sbindir}/nfsstat
344 %attr(754,root,root) /etc/rc.d/init.d/nfs
346 %attr(664,root,fileshare) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/exports
347 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/nfsd
348 %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/nfs/xtab
349 %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/nfs/etab
350 %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/nfs/rmtab
352 %{_mandir}/man5/exports.5*
353 %{_mandir}/man7/nfsd.7*
354 %{_mandir}/man8/exportfs.8*
355 %{_mandir}/man8/mountd.8*
356 %{_mandir}/man8/nfsd.8*
357 %{_mandir}/man8/nfsstat.8*
358 %{_mandir}/man8/rpc.mountd.8*
359 %{_mandir}/man8/rpc.nfsd.8*
360 %{_mandir}/man8/rpcdebug.8*
361 %attr(754,root,root) /etc/rc.d/init.d/svcgssd
362 %attr(755,root,root) %{_sbindir}/rpc.svcgssd
363 %{_mandir}/man8/*svcgss*
366 %defattr(644,root,root,755)
367 %attr(700,rpcstatd,rpcstatd) %dir %{_var}/lib/nfs/statd
368 %attr(700,rpcstatd,rpcstatd) %dir %{_var}/lib/nfs/statd/sm
369 %attr(700,rpcstatd,rpcstatd) %dir %{_var}/lib/nfs/statd/sm.bak
370 %attr(600,rpcstatd,rpcstatd) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/nfs/statd/state
371 %attr(755,root,root) %{_sbindir}/rpc.statd
372 %attr(755,root,root) %{_sbindir}/sm-notify
373 %attr(755,root,root) %{_sbindir}/start-statd
374 %attr(754,root,root) /etc/rc.d/init.d/nfslock
375 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/nfslock
376 %{_mandir}/man8/*statd.8*
377 %{_mandir}/man8/*sm-notify.8*
380 %defattr(644,root,root,755)
381 %attr(754,root,root) /etc/rc.d/init.d/nfsfs
382 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/nfsfs
383 %attr(755,root,root) %{_sbindir}/showmount
384 %{_mandir}/man8/showmount.8*
385 %attr(4755,root,root) /sbin/mount.nfs
386 %attr(4755,root,root) /sbin/umount.nfs
387 %attr(4755,root,root) /sbin/mount.nfs4
388 %attr(4755,root,root) /sbin/umount.nfs4
389 %{_mandir}/man8/*mount.nfs.8*
390 %attr(754,root,root) /etc/rc.d/init.d/gssd
391 %attr(755,root,root) %{_sbindir}/rpc.gssd
392 %{_mandir}/man8/rpc.gssd*
393 %{_mandir}/man8/gssd*
396 %defattr(644,root,root,755)
397 %attr(755,root,root) %dir %{_var}/lib/nfs
398 %attr(755,root,root) %dir %{_var}/lib/nfs/rpc_pipefs
399 %attr(755,root,root) %dir %{_var}/lib/nfs/v4recovery
401 %attr(754,root,root) /etc/rc.d/init.d/idmapd
402 %attr(755,root,root) %{_sbindir}/gss_*
403 %attr(755,root,root) %{_sbindir}/rpc.idmapd
404 %{_mandir}/man[58]/*idmap*