2 # - should unmount /proc/fs/nfsd and /var/lib/nfs/rpc_pipefs at package
3 # uninstall (or in service nfs stop)
6 %bcond_without nfs4 # without NFSv4 support
7 %bcond_without mount # don't build mount.nfs program
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: ftp://ftp.kernel.org/pub/linux/utils/nfs/%{name}-%{version}.tar.gz
20 # Source0-md5: 167d231850b00c7c63300747aeb94c38
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}-eepro-support.patch
34 Patch1: %{name}-install.patch
35 Patch2: %{name}-statdpath.patch
36 Patch3: %{name}-mountd.patch
37 Patch4: %{name}-idmapd.conf.patch
38 Patch5: %{name}-keytab-path.patch
39 Patch6: %{name}-subsys.patch
40 URL: http://nfs.sourceforge.net/
41 BuildRequires: autoconf >= 2.59
42 BuildRequires: automake
44 BuildRequires: e2fsprogs-devel >= 1.39-5
46 BuildRequires: krb5-devel >= 1.6
47 BuildRequires: libevent-devel >= 1.2
48 BuildRequires: libgssglue-devel >= 0.1
49 BuildRequires: libnfsidmap-devel
50 BuildRequires: librpcsecgss-devel >= 0.16
52 BuildRequires: libtool
53 BuildRequires: libwrap-devel
54 BuildRequires: pkgconfig
55 BuildRequires: sed >= 4.0
56 # lucid context fields mismatch with current version of spkm3.h
57 BuildConflicts: gss_mech_spkm3-devel
58 Requires(post): fileutils
59 Requires(post): sed >= 4.0
60 Requires(post,preun): /sbin/chkconfig
61 Requires: %{name}-common = %{version}-%{release}
62 Requires: portmap >= 4.0
63 Requires: rc-scripts >= 0.4.1.5
64 Requires: setup >= 2.4.6-7
69 Conflicts: kernel < 2.2.5
71 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
74 This is the *new* kernel NFS server and related tools. It provides a
75 much higher level of performance than the traditional Linux user-land
78 %description -l pl.UTF-8
79 To jest *nowy* działający na poziomie jądra serwer NFS oraz związane z
80 nim narzędzia. Serwer ten dostarcza znacznie większą wydajność niż
81 tradycyjny, działający na poziomie użytkownika serwer NFS.
83 %description -l pt_BR.UTF-8
84 O pacote nfs-utils provê os utilitários para o cliente e servidor NFS
87 %description -l ru.UTF-8
88 Пакет nfs-utils предоставляет демона для NFS-сервера, включенного в
89 ядро, и сопутствующие утилиты, которые обеспечивают намного большую
90 производительность, чем традиционные Linux NFS-сервера, используемые
91 большинством пользователей.
93 %description -l uk.UTF-8
94 Пакет nfs-utils надає демона для NFS-сервера, вбудованого в ядро, та
95 супутні утиліти, які забезпечують набагато більшу продуктивність, ніж
96 традиційні Linux NFS-сервери, які використовує більшість користувачів.
99 Summary: Clients for connecting to a remote NFS server
100 Summary(pl.UTF-8): Klienci do łączenia się ze zdalnym serwerem NFS
102 Requires(post,preun): /sbin/chkconfig
103 Requires: %{name}-common = %{version}-%{release}
106 Provides: nfs-server-clients
108 Obsoletes: knfsd-clients
109 Obsoletes: nfs-server-clients
113 The nfs-server-clients package contains the showmount program.
114 Showmount queries the mount daemon on a remote host for information
115 about the NFS (Network File System) server on the remote host. For
116 example, showmount can display the clients which are mounted on that
117 host. This package is not needed to mount NFS volumes.
119 %description clients -l pl.UTF-8
120 Pakiet zawiera program showmount służący do odpytywania serwera NFS.
121 Showmount pyta demona na zdalnej maszynie o informacje NFS na zdalnym
122 hoście. Na przykład, showmount potrafi pokazać klientów, którzy są
123 zamountowani na tym serwerze. Ten pakiet nie jest konieczny do
124 zamountowania zasobów NFS.
127 Summary: Programs for NFS file locking
128 Summary(pl.UTF-8): Programy do obsługi blokowania plików poprzez NFS (lock)
130 Requires(post,preun): /sbin/chkconfig
131 Requires: portmap >= 4.0
133 Provides: group(rpcstatd)
134 Provides: user(rpcstatd)
136 Obsoletes: knfsd-lock
140 The nfs-lock pacage contains programs which support the NFS file lock.
141 Install nfs-lock if you want to use file lock over NFS.
143 %description lock -l pl.UTF-8
144 Ten pakiet zawiera programy umożliwiające wykonywanie blokowania
145 plików (file locking) poprzez NFS.
148 Summary: Common programs for NFS
149 Summary(pl.UTF-8): Wspólne programy do obsługi NFS
153 Common programs for NFS.
155 %description common -l pl.UTF-8
156 Wspólne programy do obsługi NFS.
168 # conflict with GNU stdio extension
169 sed -i -e 's/dprintf/dbgprintf/' support/include/ha-callout.h utils/statd/*.[ch]
173 %{__aclocal} -I aclocal
180 --with-krb5=%{_prefix} \
186 %{?with_mount:--enable-mount} \
188 --enable-secure-statd \
189 --with-statedir=/var/lib/nfs \
195 rm -rf $RPM_BUILD_ROOT
196 install -d $RPM_BUILD_ROOT{/sbin,%{_sbindir},%{_mandir}/man{5,8}} \
197 $RPM_BUILD_ROOT%{_sysconfdir}/{rc.d/init.d,sysconfig} \
198 $RPM_BUILD_ROOT%{_var}/lib/nfs/{rpc_pipefs,v4recovery,statd}
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
214 install utils/idmapd/idmapd.conf $RPM_BUILD_ROOT%{_sysconfdir}/
216 install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/nfs
217 install %{SOURCE3} $RPM_BUILD_ROOT/etc/rc.d/init.d/nfslock
218 install %{SOURCE4} $RPM_BUILD_ROOT/etc/rc.d/init.d/nfsfs
219 install %{SOURCE5} $RPM_BUILD_ROOT/etc/rc.d/init.d/idmapd
220 install %{SOURCE6} $RPM_BUILD_ROOT/etc/rc.d/init.d/gssd
221 install %{SOURCE7} $RPM_BUILD_ROOT/etc/rc.d/init.d/svcgssd
222 install %{SOURCE8} $RPM_BUILD_ROOT/etc/sysconfig/nfsd
223 install %{SOURCE9} $RPM_BUILD_ROOT/etc/sysconfig/nfslock
224 install %{SOURCE10} $RPM_BUILD_ROOT/etc/sysconfig/nfsfs
226 > $RPM_BUILD_ROOT%{_var}/lib/nfs/rmtab
227 > $RPM_BUILD_ROOT%{_sysconfdir}/exports
229 rm $RPM_BUILD_ROOT%{_mandir}/man8/rpc.{mountd,nfsd,statd,sm-notify}.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
235 rm $RPM_BUILD_ROOT%{_mandir}/man8/rpc.{svcgssd,gssd,idmapd}.8
236 echo ".so gssd.8" > $RPM_BUILD_ROOT%{_mandir}/man8/rpc.gssd.8
237 echo ".so idmapd.8" > $RPM_BUILD_ROOT%{_mandir}/man8/rpc.idmapd.8
238 echo ".so svcgssd.8" > $RPM_BUILD_ROOT%{_mandir}/man8/rpc.svcgssd.8
241 touch $RPM_BUILD_ROOT/var/lib/nfs/xtab
243 ln -sf /bin/true $RPM_BUILD_ROOT/sbin/fsck.nfs
248 rm -rf $RPM_BUILD_ROOT
251 /sbin/chkconfig --add nfs
252 %service nfs restart "NFS daemon"
254 /sbin/chkconfig --add svcgssd
255 %service svcgssd restart "RPC svcgssd"
259 if [ "$1" = "0" ]; then
261 /sbin/chkconfig --del nfs
263 %service svcgssd stop
264 /sbin/chkconfig --del svcgssd
269 /sbin/chkconfig --add nfsfs
270 %service nfsfs restart
272 /sbin/chkconfig --add gssd
273 %service gssd restart "RPC gssd"
277 if [ "$1" = "0" ]; then
279 /sbin/chkconfig --del nfsfs
282 /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
308 /sbin/chkconfig --add idmapd
309 %service idmapd restart "RPC idmapd"
312 if [ "$1" = "0" ]; then
314 /sbin/chkconfig --del idmapd
318 %triggerpostun -- %{name} < 1.1.0-0.rc1.1
319 /sbin/chkconfig nfs reset
321 /sbin/chkconfig svcgssd reset
324 %triggerpostun lock -- %{name}-lock < 1.1.0-0.rc1.1
325 /sbin/chkconfig nfslock reset
327 %triggerpostun clients -- %{name}-clients < 1.1.0-0.rc1.1
328 if [ -f /etc/sysconfig/nfsclient.rpmsave ]; then
329 mv -f /etc/sysconfig/nfsfs{,.rpmnew}
330 mv -f /etc/sysconfig/nfsclient.rpmsave /etc/sysconfig/nfsfs
332 /sbin/chkconfig nfsfs reset
334 /sbin/chkconfig gssd reset
338 %triggerpostun common -- %{name}-common < 1.1.0-0.rc1.1
339 /sbin/chkconfig idmapd reset
343 %defattr(644,root,root,755)
344 %doc ChangeLog README html
345 %attr(755,root,root) /sbin/rpcdebug
346 %attr(755,root,root) /sbin/fsck.nfs
347 %attr(755,root,root) %{_sbindir}/exportfs
348 %attr(755,root,root) %{_sbindir}/rpc.mountd
349 %attr(755,root,root) %{_sbindir}/rpc.nfsd
350 %attr(755,root,root) %{_sbindir}/nfsstat
352 %attr(754,root,root) /etc/rc.d/init.d/nfs
354 %attr(664,root,fileshare) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/exports
355 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/nfsd
356 %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/nfs/xtab
357 %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/nfs/etab
358 %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/nfs/rmtab
360 %{_mandir}/man5/exports.5*
361 %{_mandir}/man7/nfsd.7*
362 %{_mandir}/man8/exportfs.8*
363 %{_mandir}/man8/mountd.8*
364 %{_mandir}/man8/nfsd.8*
365 %{_mandir}/man8/nfsstat.8*
366 %{_mandir}/man8/rpc.mountd.8*
367 %{_mandir}/man8/rpc.nfsd.8*
368 %{_mandir}/man8/rpcdebug.8*
370 %attr(754,root,root) /etc/rc.d/init.d/svcgssd
371 %attr(755,root,root) %{_sbindir}/rpc.svcgssd
372 %{_mandir}/man8/*svcgss*
376 %defattr(644,root,root,755)
377 %attr(700,rpcstatd,rpcstatd) %dir %{_var}/lib/nfs/statd
378 %attr(755,root,root) %{_sbindir}/rpc.statd
379 %attr(755,root,root) %{_sbindir}/sm-notify
380 %attr(755,root,root) %{_sbindir}/start-statd
381 %attr(754,root,root) /etc/rc.d/init.d/nfslock
382 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/nfslock
383 %{_mandir}/man8/*statd.8*
384 %{_mandir}/man8/*sm-notify.8*
385 %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/nfs/state
388 %defattr(644,root,root,755)
389 %attr(754,root,root) /etc/rc.d/init.d/nfsfs
390 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/nfsfs
391 %attr(755,root,root) %{_sbindir}/showmount
392 %{_mandir}/man8/showmount.8*
394 %attr(4755,root,root) /sbin/mount.nfs
395 %attr(4755,root,root) /sbin/mount.nfs4
396 %attr(4755,root,root) /sbin/umount.nfs
397 %attr(4755,root,root) /sbin/umount.nfs4
398 %{_mandir}/man8/*mount.nfs.8*
401 %attr(754,root,root) /etc/rc.d/init.d/gssd
402 %attr(755,root,root) %{_sbindir}/rpc.gssd
403 %{_mandir}/man8/rpc.gssd*
404 %{_mandir}/man8/gssd*
408 %defattr(644,root,root,755)
409 %attr(755,root,root) %dir %{_var}/lib/nfs
410 %attr(755,root,root) %dir %{_var}/lib/nfs/rpc_pipefs
411 %attr(755,root,root) %dir %{_var}/lib/nfs/v4recovery
414 %attr(754,root,root) /etc/rc.d/init.d/idmapd
415 %attr(755,root,root) %{_sbindir}/gss_*
416 %attr(755,root,root) %{_sbindir}/rpc.idmapd
417 %attr(660,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/idmapd.conf
418 %{_mandir}/man[58]/*idmap*