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 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: dad92f64db3266c7757f71bb53ee8f35
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}-kerberos-ac.patch
38 Patch5: %{name}-no_libgssapi.patch
39 Patch6: %{name}-pkgconfig_ac.patch
40 Patch7: %{name}-heimdal_functions.patch
41 URL: http://nfs.sourceforge.net/
42 BuildRequires: autoconf >= 2.59
43 BuildRequires: automake
45 BuildRequires: libblkid-devel
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
53 BuildRequires: libtirpc-devel >= 1:0.1.10-4
55 BuildRequires: librpcsecgss-devel >= 0.16
58 BuildRequires: krb5-devel >= 1.6
59 BuildRequires: libgssglue-devel >= 0.1
61 BuildRequires: heimdal-devel >= 1.0
62 BuildConflicts: libgssglue-devel
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.
177 %{!?with_krb5:%patch5 -p1}
183 %{__aclocal} -I aclocal
192 --%{?with_tirpc:en}%{!?with_tirpc:dis}able-tirpc \
194 --with-statedir=/var/lib/nfs \
195 --with-statduser=rpcstatd \
196 --with-start-statd=%{_sbindir}/start-statd \
197 --with-tcp-wrappers \
198 --with-krb5-config=%{_bindir}/krb5-config
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}/nfsstat
340 %attr(754,root,root) /etc/rc.d/init.d/nfs
342 %attr(664,root,fileshare) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/exports
343 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/nfsd
344 %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/nfs/xtab
345 %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/nfs/etab
346 %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/nfs/rmtab
348 %{_mandir}/man5/exports.5*
349 %{_mandir}/man7/nfsd.7*
350 %{_mandir}/man8/exportfs.8*
351 %{_mandir}/man8/mountd.8*
352 %{_mandir}/man8/nfsd.8*
353 %{_mandir}/man8/nfsstat.8*
354 %{_mandir}/man8/rpc.mountd.8*
355 %{_mandir}/man8/rpc.nfsd.8*
356 %{_mandir}/man8/rpcdebug.8*
357 %attr(754,root,root) /etc/rc.d/init.d/svcgssd
358 %attr(755,root,root) %{_sbindir}/rpc.svcgssd
359 %{_mandir}/man8/*svcgss*
362 %defattr(644,root,root,755)
363 %attr(700,rpcstatd,rpcstatd) %dir %{_var}/lib/nfs/statd
364 %attr(700,rpcstatd,rpcstatd) %dir %{_var}/lib/nfs/statd/sm
365 %attr(700,rpcstatd,rpcstatd) %dir %{_var}/lib/nfs/statd/sm.bak
366 %attr(600,rpcstatd,rpcstatd) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/nfs/statd/state
367 %attr(755,root,root) %{_sbindir}/rpc.statd
368 %attr(755,root,root) %{_sbindir}/sm-notify
369 %attr(755,root,root) %{_sbindir}/start-statd
370 %attr(754,root,root) /etc/rc.d/init.d/nfslock
371 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/nfslock
372 %{_mandir}/man8/*statd.8*
373 %{_mandir}/man8/*sm-notify.8*
376 %defattr(644,root,root,755)
377 %attr(754,root,root) /etc/rc.d/init.d/nfsfs
378 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/nfsfs
379 %attr(755,root,root) %{_sbindir}/showmount
380 %{_mandir}/man8/showmount.8*
381 %attr(4755,root,root) /sbin/mount.nfs
382 %attr(4755,root,root) /sbin/umount.nfs
383 %attr(4755,root,root) /sbin/mount.nfs4
384 %attr(4755,root,root) /sbin/umount.nfs4
385 %{_mandir}/man8/*mount.nfs.8*
386 %attr(754,root,root) /etc/rc.d/init.d/gssd
387 %attr(755,root,root) %{_sbindir}/rpc.gssd
388 %{_mandir}/man8/rpc.gssd*
389 %{_mandir}/man8/gssd*
392 %defattr(644,root,root,755)
394 %dir %{_var}/lib/nfs/rpc_pipefs
395 %dir %{_var}/lib/nfs/v4recovery
397 %attr(754,root,root) /etc/rc.d/init.d/idmapd
398 %attr(755,root,root) %{_sbindir}/gss_*
399 %attr(755,root,root) %{_sbindir}/rpc.idmapd
400 %{_mandir}/man[58]/*idmap*