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 (+libgssglue) 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: http://downloads.sourceforge.net/project/nfs/nfs-utils/%{version}/%{name}-%{version}.tar.bz2
21 # Source0-md5: 8395ac770720b83c5c469f88306d7765
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 Source11: blkmapd.init
35 Patch0: %{name}-install.patch
36 Patch1: %{name}-statdpath.patch
37 Patch2: %{name}-subsys.patch
38 Patch3: %{name}-union-mount.patch
39 Patch4: %{name}-heimdal.patch
40 Patch5: %{name}-heimdal-kcm.patch
41 URL: http://nfs.sourceforge.net/
42 BuildRequires: autoconf >= 2.59
43 BuildRequires: automake
45 BuildRequires: keyutils-devel
46 BuildRequires: libblkid-devel >= 1.40
47 BuildRequires: libmount-devel
48 BuildRequires: libcap-devel
49 BuildRequires: device-mapper-devel
50 BuildRequires: libevent-devel >= 1.2
51 BuildRequires: libnfsidmap-devel >= 0.24
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.3
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: Common programs for NFS
141 Summary(pl.UTF-8): Wspólne programy do obsługi NFS
143 Requires(post,preun): /sbin/chkconfig
144 Provides: user(rpcstatd)
145 Provides: group(rpcstatd)
147 Provides: nfs-utils-lock
148 Requires: libnfsidmap >= 0.21-3
150 Requires: rpcbind >= 0.1.7
151 Obsoletes: nfs-utils-lock
152 Obsoletes: knfsd-lock
154 Conflicts: mount < 2.13-0.pre7.1
157 Common programs for NFS.
159 %description common -l pl.UTF-8
160 Wspólne programy do obsługi NFS.
173 %{__aclocal} -I aclocal
183 --enable-mountconfig \
184 --enable-libmount-mount \
192 --with-statdpath=/var/lib/nfs/statd \
193 --with-statedir=/var/lib/nfs \
194 --with-statduser=rpcstatd \
195 --with-start-statd=%{_sbindir}/start-statd \
196 --with-tcp-wrappers \
202 rm -rf $RPM_BUILD_ROOT
203 install -d $RPM_BUILD_ROOT%{_sysconfdir}/{rc.d/init.d,sysconfig,exports.d} \
204 $RPM_BUILD_ROOT%{_var}/lib/nfs/{rpc_pipefs,v4recovery}
207 DESTDIR=$RPM_BUILD_ROOT
209 install -p utils/mount/nfsmount.conf $RPM_BUILD_ROOT/etc
211 cat >$RPM_BUILD_ROOT%{_sbindir}/start-statd <<EOF
213 # mount.nfs calls this script when mounting a filesystem with locking
214 # enabled, but when statd does not seem to be running (based on
215 # /var/run/rpc.statd.pid).
216 exec /sbin/service nfslock start
219 sed -e "s|#!/bin/bash|#!/bin/sh|" utils/gssd/gss_destroy_creds > $RPM_BUILD_ROOT%{_sbindir}/gss_destroy_creds
221 mv $RPM_BUILD_ROOT%{_sbindir}/rpcdebug $RPM_BUILD_ROOT/sbin
223 install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/nfs
224 install %{SOURCE3} $RPM_BUILD_ROOT/etc/rc.d/init.d/nfslock
225 install %{SOURCE4} $RPM_BUILD_ROOT/etc/rc.d/init.d/nfsfs
226 install %{SOURCE5} $RPM_BUILD_ROOT/etc/rc.d/init.d/idmapd
227 install %{SOURCE6} $RPM_BUILD_ROOT/etc/rc.d/init.d/gssd
228 install %{SOURCE7} $RPM_BUILD_ROOT/etc/rc.d/init.d/svcgssd
229 install %{SOURCE11} $RPM_BUILD_ROOT/etc/rc.d/init.d/blkmapd
230 install %{SOURCE8} $RPM_BUILD_ROOT/etc/sysconfig/nfsd
231 install %{SOURCE9} $RPM_BUILD_ROOT/etc/sysconfig/nfslock
232 install %{SOURCE10} $RPM_BUILD_ROOT/etc/sysconfig/nfsfs
234 > $RPM_BUILD_ROOT%{_var}/lib/nfs/rmtab
235 > $RPM_BUILD_ROOT%{_sysconfdir}/exports
237 %{__rm} $RPM_BUILD_ROOT%{_mandir}/man8/rpc.{mountd,nfsd,statd,sm-notify,svcgssd,gssd,idmapd}.8
238 echo ".so mountd.8" > $RPM_BUILD_ROOT%{_mandir}/man8/rpc.mountd.8
239 echo ".so nfsd.8" > $RPM_BUILD_ROOT%{_mandir}/man8/rpc.nfsd.8
240 echo ".so statd.8" > $RPM_BUILD_ROOT%{_mandir}/man8/rpc.statd.8
241 echo ".so sm-notify.8" > $RPM_BUILD_ROOT%{_mandir}/man8/rpc.sm-notify.8
242 echo ".so gssd.8" > $RPM_BUILD_ROOT%{_mandir}/man8/rpc.gssd.8
243 echo ".so idmapd.8" > $RPM_BUILD_ROOT%{_mandir}/man8/rpc.idmapd.8
244 echo ".so svcgssd.8" > $RPM_BUILD_ROOT%{_mandir}/man8/rpc.svcgssd.8
246 touch $RPM_BUILD_ROOT/var/lib/nfs/xtab
248 ln -sf /bin/true $RPM_BUILD_ROOT/sbin/fsck.nfs
253 rm -rf $RPM_BUILD_ROOT
256 /sbin/chkconfig --add nfs
257 %service nfs restart "NFS daemon"
258 /sbin/chkconfig --add svcgssd
259 %service svcgssd restart "RPC svcgssd"
262 if [ "$1" = "0" ]; then
264 /sbin/chkconfig --del nfs
265 %service svcgssd stop
266 /sbin/chkconfig --del svcgssd
270 /sbin/chkconfig --add nfsfs
271 %service nfsfs restart
272 /sbin/chkconfig --add gssd
273 %service gssd restart "RPC gssd"
274 /sbin/chkconfig --add blkmapd
275 %service blkmapd restart "pNFS blkmapd"
278 if [ "$1" = "0" ]; then
280 /sbin/chkconfig --del nfsfs
282 /sbin/chkconfig --del gssd
283 %service blkmapd stop
284 /sbin/chkconfig --del blkmapd
288 %groupadd -g 191 rpcstatd
289 %useradd -u 191 -d /var/lib/nfs/statd -s /bin/false -c "RPC statd user" -g rpcstatd rpcstatd
292 /sbin/chkconfig --add idmapd
293 %service idmapd restart "RPC idmapd"
294 /sbin/chkconfig --add nfslock
295 %service nfslock restart "RPC statd"
298 if [ "$1" = "0" ]; then
300 /sbin/chkconfig --del idmapd
301 %service nfslock stop
302 /sbin/chkconfig --del nfslock
306 if [ "$1" = "0" ]; then
308 %groupremove rpcstatd
311 %triggerpostun common -- %{name}-lock < 1.2.5-3
312 if [ -f /etc/sysconfig/nfslock.rpmsave ]; then
313 mv -f /etc/sysconfig/nfslock{,.rpmnew}
314 mv -f /etc/sysconfig/nfslock.rpmsave /etc/sysconfig/nfslock
318 %defattr(644,root,root,755)
319 %doc ChangeLog README html
320 %attr(755,root,root) /sbin/rpcdebug
321 %attr(755,root,root) /sbin/fsck.nfs
322 %attr(755,root,root) %{_sbindir}/exportfs
323 %attr(755,root,root) %{_sbindir}/rpc.mountd
324 %attr(755,root,root) %{_sbindir}/rpc.nfsd
325 %attr(755,root,root) %{_sbindir}/rpc.svcgssd
326 %attr(755,root,root) %{_sbindir}/nfsstat
328 %attr(754,root,root) /etc/rc.d/init.d/nfs
329 %attr(754,root,root) /etc/rc.d/init.d/svcgssd
331 %attr(664,root,fileshare) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/exports
332 %dir %{_sysconfdir}/exports.d
334 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/nfsd
335 %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/nfs/xtab
336 %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/nfs/etab
337 %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/nfs/rmtab
339 %{_mandir}/man5/exports.5*
340 %{_mandir}/man7/nfsd.7*
341 %{_mandir}/man8/exportfs.8*
342 %{_mandir}/man8/mountd.8*
343 %{_mandir}/man8/nfsd.8*
344 %{_mandir}/man8/nfsstat.8*
345 %{_mandir}/man8/rpc.mountd.8*
346 %{_mandir}/man8/rpc.nfsd.8*
347 %{_mandir}/man8/rpc.svcgssd.8*
348 %{_mandir}/man8/rpcdebug.8*
349 %{_mandir}/man8/svcgssd.8*
352 %defattr(644,root,root,755)
353 %attr(754,root,root) /etc/rc.d/init.d/blkmapd
354 %attr(754,root,root) /etc/rc.d/init.d/gssd
355 %attr(754,root,root) /etc/rc.d/init.d/nfsfs
356 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/nfsfs
357 %attr(664,root,fileshare) %config(noreplace) %verify(not md5 mtime size) /etc/nfsmount.conf
358 %attr(4755,root,root) /sbin/mount.nfs
359 %attr(4755,root,root) /sbin/umount.nfs
360 %attr(4755,root,root) /sbin/mount.nfs4
361 %attr(4755,root,root) /sbin/umount.nfs4
362 %attr(755,root,root) %{_sbindir}/blkmapd
363 %attr(755,root,root) %{_sbindir}/mountstats
364 %attr(755,root,root) %{_sbindir}/nfsiostat
365 %attr(755,root,root) %{_sbindir}/rpc.gssd
366 %attr(755,root,root) %{_sbindir}/showmount
367 %{_mandir}/man5/nfsmount.conf.5*
368 %{_mandir}/man8/blkmapd.8*
369 %{_mandir}/man8/gssd.8*
370 %{_mandir}/man8/mount.nfs.8*
371 %{_mandir}/man8/mountstats.8*
372 %{_mandir}/man8/nfsiostat.8*
373 %{_mandir}/man8/rpc.gssd.8*
374 %{_mandir}/man8/showmount.8*
375 %{_mandir}/man8/umount.nfs.8*
378 %defattr(644,root,root,755)
379 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/nfslock
380 %attr(754,root,root) /etc/rc.d/init.d/idmapd
381 %attr(754,root,root) /etc/rc.d/init.d/nfslock
382 %attr(755,root,root) %{_sbindir}/gss_clnt_send_err
383 %attr(755,root,root) %{_sbindir}/gss_destroy_creds
384 %attr(755,root,root) %{_sbindir}/nfsidmap
385 %attr(755,root,root) %{_sbindir}/rpc.idmapd
386 %attr(755,root,root) %{_sbindir}/rpc.statd
387 %attr(755,root,root) %{_sbindir}/sm-notify
388 %attr(755,root,root) %{_sbindir}/start-statd
390 %dir %{_var}/lib/nfs/rpc_pipefs
391 %dir %{_var}/lib/nfs/v4recovery
392 %attr(700,rpcstatd,rpcstatd) %dir %{_var}/lib/nfs/statd
393 %attr(700,rpcstatd,rpcstatd) %dir %{_var}/lib/nfs/statd/sm
394 %attr(700,rpcstatd,rpcstatd) %dir %{_var}/lib/nfs/statd/sm.bak
395 %attr(600,rpcstatd,rpcstatd) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/nfs/statd/state
396 %{_mandir}/man5/nfs.5*
397 %{_mandir}/man8/idmapd.8*
398 %{_mandir}/man8/nfsidmap.8*
399 %{_mandir}/man8/rpc.idmapd.8*
400 %{_mandir}/man8/rpc.sm-notify.8*
401 %{_mandir}/man8/rpc.statd.8*
402 %{_mandir}/man8/sm-notify.8*
403 %{_mandir}/man8/statd.8*