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
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: dad92f64db3266c7757f71bb53ee8f35
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}-subsys.patch
35 Patch3: %{name}-union-mount.patch
36 Patch4: %{name}-kerberos-ac.patch
37 Patch5: %{name}-no_libgssapi.patch
38 Patch6: %{name}-pkgconfig_ac.patch
39 Patch7: %{name}-heimdal_functions.patch
40 URL: http://nfs.sourceforge.net/
41 BuildRequires: autoconf >= 2.59
42 BuildRequires: automake
45 BuildRequires: krb5-devel >= 1.6
46 BuildRequires: libgssglue-devel >= 0.1
48 BuildRequires: heimdal-devel >= 1.0
49 BuildConflicts: libgssglue-devel
51 BuildRequires: libblkid-devel
52 BuildRequires: libcap-devel
53 BuildRequires: libevent-devel >= 1.2
54 BuildRequires: libnfsidmap-devel >= 0.21-3
55 BuildRequires: librpcsecgss-devel >= 0.16
56 BuildRequires: libtirpc-devel >= 1:0.1.10-4
57 BuildRequires: libtool
58 BuildRequires: libwrap-devel
59 BuildRequires: pkgconfig
60 BuildRequires: sed >= 4.0
61 # lucid context fields mismatch with current version of spkm3.h
62 BuildConflicts: gss_mech_spkm3-devel
63 Requires(post): fileutils
64 Requires(post): sed >= 4.0
65 Requires(post,preun): /sbin/chkconfig
66 Requires: %{name}-common = %{version}-%{release}
67 Requires: rc-scripts >= 0.4.1.5
68 Requires: rpcbind >= 0.1.7
69 Requires: setup >= 2.4.6-7
74 Conflicts: kernel < 2.2.5
75 Conflicts: krb5-common < 1.7
77 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
80 This is the *new* kernel NFS server and related tools. It provides a
81 much higher level of performance than the traditional Linux user-land
84 %description -l pl.UTF-8
85 To jest *nowy* działający na poziomie jądra serwer NFS oraz związane z
86 nim narzędzia. Serwer ten dostarcza znacznie większą wydajność niż
87 tradycyjny, działający na poziomie użytkownika serwer NFS.
89 %description -l pt_BR.UTF-8
90 O pacote nfs-utils provê os utilitários para o cliente e servidor NFS
93 %description -l ru.UTF-8
94 Пакет nfs-utils предоставляет демона для NFS-сервера, включенного в
95 ядро, и сопутствующие утилиты, которые обеспечивают намного большую
96 производительность, чем традиционные Linux NFS-сервера, используемые
97 большинством пользователей.
99 %description -l uk.UTF-8
100 Пакет nfs-utils надає демона для NFS-сервера, вбудованого в ядро, та
101 супутні утиліти, які забезпечують набагато більшу продуктивність, ніж
102 традиційні Linux NFS-сервери, які використовує більшість користувачів.
105 Summary: Clients for connecting to a remote NFS server
106 Summary(pl.UTF-8): Klienci do łączenia się ze zdalnym serwerem NFS
108 Requires(post,preun): /sbin/chkconfig
109 Requires: %{name}-common = %{version}-%{release}
112 Provides: nfs-server-clients
114 Obsoletes: knfsd-clients
115 Obsoletes: nfs-server-clients
117 Conflicts: krb5-common < 1.7
120 The nfs-server-clients package contains the showmount program.
121 Showmount queries the mount daemon on a remote host for information
122 about the NFS (Network File System) server on the remote host. For
123 example, showmount can display the clients which are mounted on that
124 host. This package is not needed to mount NFS volumes.
126 %description clients -l pl.UTF-8
127 Pakiet zawiera program showmount służący do odpytywania serwera NFS.
128 Showmount pyta demona na zdalnej maszynie o informacje NFS na zdalnym
129 hoście. Na przykład, showmount potrafi pokazać klientów, którzy są
130 zamountowani na tym serwerze. Ten pakiet nie jest konieczny do
131 zamountowania zasobów NFS.
134 Summary: Programs for NFS file locking
135 Summary(pl.UTF-8): Programy do obsługi blokowania plików poprzez NFS (lock)
137 Requires(post,preun): /sbin/chkconfig
139 Requires: rpcbind >= 0.1.7
140 Provides: group(rpcstatd)
142 Provides: user(rpcstatd)
143 Obsoletes: knfsd-lock
147 The nfs-lock pacage contains programs which support the NFS file lock.
148 Install nfs-lock if you want to use file lock over NFS.
150 %description lock -l pl.UTF-8
151 Ten pakiet zawiera programy umożliwiające wykonywanie blokowania
152 plików (file locking) poprzez NFS.
155 Summary: Common programs for NFS
156 Summary(pl.UTF-8): Wspólne programy do obsługi NFS
158 Requires: libnfsidmap >= 0.21-3
159 Conflicts: mount < 2.13-0.pre7.1
162 Common programs for NFS.
164 %description common -l pl.UTF-8
165 Wspólne programy do obsługi NFS.
174 %{!?with_krb5:%patch5 -p1}
180 %{__aclocal} -I aclocal
191 --with-statedir=/var/lib/nfs \
192 --with-statduser=rpcstatd \
193 --with-start-statd=%{_sbindir}/start-statd \
194 --with-tcp-wrappers \
195 --with-krb5-config=%{_bindir}/krb5-config
200 rm -rf $RPM_BUILD_ROOT
201 install -d $RPM_BUILD_ROOT%{_sysconfdir}/{rc.d/init.d,sysconfig} \
202 $RPM_BUILD_ROOT%{_var}/lib/nfs/{rpc_pipefs,v4recovery}
205 DESTDIR=$RPM_BUILD_ROOT
207 cat >$RPM_BUILD_ROOT%{_sbindir}/start-statd <<EOF
209 # mount.nfs calls this script when mounting a filesystem with locking
210 # enabled, but when statd does not seem to be running (based on
211 # /var/run/rpc.statd.pid).
212 exec /sbin/service nfslock start
215 sed -e "s|#!/bin/bash|#!/bin/sh|" utils/gssd/gss_destroy_creds > $RPM_BUILD_ROOT%{_sbindir}/gss_destroy_creds
217 mv $RPM_BUILD_ROOT%{_sbindir}/rpcdebug $RPM_BUILD_ROOT/sbin
219 install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/nfs
220 install %{SOURCE3} $RPM_BUILD_ROOT/etc/rc.d/init.d/nfslock
221 install %{SOURCE4} $RPM_BUILD_ROOT/etc/rc.d/init.d/nfsfs
222 install %{SOURCE5} $RPM_BUILD_ROOT/etc/rc.d/init.d/idmapd
223 install %{SOURCE6} $RPM_BUILD_ROOT/etc/rc.d/init.d/gssd
224 install %{SOURCE7} $RPM_BUILD_ROOT/etc/rc.d/init.d/svcgssd
225 install %{SOURCE8} $RPM_BUILD_ROOT/etc/sysconfig/nfsd
226 install %{SOURCE9} $RPM_BUILD_ROOT/etc/sysconfig/nfslock
227 install %{SOURCE10} $RPM_BUILD_ROOT/etc/sysconfig/nfsfs
229 > $RPM_BUILD_ROOT%{_var}/lib/nfs/rmtab
230 > $RPM_BUILD_ROOT%{_sysconfdir}/exports
232 rm $RPM_BUILD_ROOT%{_mandir}/man8/rpc.{mountd,nfsd,statd,sm-notify}.8
233 rm $RPM_BUILD_ROOT%{_mandir}/man8/rpc.{svcgssd,gssd,idmapd}.8
234 echo ".so mountd.8" > $RPM_BUILD_ROOT%{_mandir}/man8/rpc.mountd.8
235 echo ".so nfsd.8" > $RPM_BUILD_ROOT%{_mandir}/man8/rpc.nfsd.8
236 echo ".so statd.8" > $RPM_BUILD_ROOT%{_mandir}/man8/rpc.statd.8
237 echo ".so sm-notify.8" > $RPM_BUILD_ROOT%{_mandir}/man8/rpc.sm-notify.8
238 echo ".so gssd.8" > $RPM_BUILD_ROOT%{_mandir}/man8/rpc.gssd.8
239 echo ".so idmapd.8" > $RPM_BUILD_ROOT%{_mandir}/man8/rpc.idmapd.8
240 echo ".so svcgssd.8" > $RPM_BUILD_ROOT%{_mandir}/man8/rpc.svcgssd.8
242 touch $RPM_BUILD_ROOT/var/lib/nfs/xtab
244 ln -sf /bin/true $RPM_BUILD_ROOT/sbin/fsck.nfs
249 rm -rf $RPM_BUILD_ROOT
252 /sbin/chkconfig --add nfs
253 %service nfs restart "NFS daemon"
254 /sbin/chkconfig --add svcgssd
255 %service svcgssd restart "RPC svcgssd"
258 if [ "$1" = "0" ]; then
260 /sbin/chkconfig --del nfs
261 %service svcgssd stop
262 /sbin/chkconfig --del svcgssd
266 /sbin/chkconfig --add nfsfs
267 %service nfsfs restart
268 /sbin/chkconfig --add gssd
269 %service gssd restart "RPC gssd"
272 if [ "$1" = "0" ]; then
274 /sbin/chkconfig --del nfsfs
276 /sbin/chkconfig --del gssd
280 %groupadd -g 191 rpcstatd
281 %useradd -u 191 -d /var/lib/nfs/statd -s /bin/false -c "RPC statd user" -g rpcstatd rpcstatd
284 /sbin/chkconfig --add nfslock
285 %service nfslock restart "RPC statd"
288 if [ "$1" = "0" ]; then
289 %service nfslock stop
290 /sbin/chkconfig --del nfslock
294 if [ "$1" = "0" ]; then
296 %groupremove rpcstatd
300 /sbin/chkconfig --add idmapd
301 %service idmapd restart "RPC idmapd"
304 if [ "$1" = "0" ]; then
306 /sbin/chkconfig --del idmapd
309 %triggerpostun -- %{name} < 1.1.0-0.rc1.1
310 /sbin/chkconfig nfs reset
311 /sbin/chkconfig svcgssd reset
313 %triggerpostun lock -- %{name}-lock < 1.1.0-0.rc1.1
314 /sbin/chkconfig nfslock reset
316 %triggerpostun clients -- %{name}-clients < 1.1.0-0.rc1.1
317 if [ -f /etc/sysconfig/nfsclient.rpmsave ]; then
318 mv -f /etc/sysconfig/nfsfs{,.rpmnew}
319 mv -f /etc/sysconfig/nfsclient.rpmsave /etc/sysconfig/nfsfs
321 /sbin/chkconfig nfsfs reset
322 /sbin/chkconfig gssd reset
324 %triggerpostun common -- %{name}-common < 1.1.0-0.rc1.1
325 /sbin/chkconfig idmapd reset
328 %defattr(644,root,root,755)
329 %doc ChangeLog README html
330 %attr(755,root,root) /sbin/rpcdebug
331 %attr(755,root,root) /sbin/fsck.nfs
332 %attr(755,root,root) %{_sbindir}/exportfs
333 %attr(755,root,root) %{_sbindir}/rpc.mountd
334 %attr(755,root,root) %{_sbindir}/rpc.nfsd
335 %attr(755,root,root) %{_sbindir}/nfsstat
337 %attr(754,root,root) /etc/rc.d/init.d/nfs
339 %attr(664,root,fileshare) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/exports
340 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/nfsd
341 %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/nfs/xtab
342 %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/nfs/etab
343 %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/nfs/rmtab
345 %{_mandir}/man5/exports.5*
346 %{_mandir}/man7/nfsd.7*
347 %{_mandir}/man8/exportfs.8*
348 %{_mandir}/man8/mountd.8*
349 %{_mandir}/man8/nfsd.8*
350 %{_mandir}/man8/nfsstat.8*
351 %{_mandir}/man8/rpc.mountd.8*
352 %{_mandir}/man8/rpc.nfsd.8*
353 %{_mandir}/man8/rpcdebug.8*
354 %attr(754,root,root) /etc/rc.d/init.d/svcgssd
355 %attr(755,root,root) %{_sbindir}/rpc.svcgssd
356 %{_mandir}/man8/*svcgss*
359 %defattr(644,root,root,755)
360 %attr(700,rpcstatd,rpcstatd) %dir %{_var}/lib/nfs/statd
361 %attr(700,rpcstatd,rpcstatd) %dir %{_var}/lib/nfs/statd/sm
362 %attr(700,rpcstatd,rpcstatd) %dir %{_var}/lib/nfs/statd/sm.bak
363 %attr(600,rpcstatd,rpcstatd) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/nfs/statd/state
364 %attr(755,root,root) %{_sbindir}/rpc.statd
365 %attr(755,root,root) %{_sbindir}/sm-notify
366 %attr(755,root,root) %{_sbindir}/start-statd
367 %attr(754,root,root) /etc/rc.d/init.d/nfslock
368 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/nfslock
369 %{_mandir}/man8/*statd.8*
370 %{_mandir}/man8/*sm-notify.8*
373 %defattr(644,root,root,755)
374 %attr(754,root,root) /etc/rc.d/init.d/nfsfs
375 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/nfsfs
376 %attr(755,root,root) %{_sbindir}/showmount
377 %{_mandir}/man8/showmount.8*
378 %attr(4755,root,root) /sbin/mount.nfs
379 %attr(4755,root,root) /sbin/umount.nfs
380 %attr(4755,root,root) /sbin/mount.nfs4
381 %attr(4755,root,root) /sbin/umount.nfs4
382 %{_mandir}/man8/*mount.nfs.8*
383 %attr(754,root,root) /etc/rc.d/init.d/gssd
384 %attr(755,root,root) %{_sbindir}/rpc.gssd
385 %{_mandir}/man8/rpc.gssd*
386 %{_mandir}/man8/gssd*
389 %defattr(644,root,root,755)
391 %dir %{_var}/lib/nfs/rpc_pipefs
392 %dir %{_var}/lib/nfs/v4recovery
394 %attr(754,root,root) /etc/rc.d/init.d/idmapd
395 %attr(755,root,root) %{_sbindir}/gss_*
396 %attr(755,root,root) %{_sbindir}/rpc.idmapd
397 %{_mandir}/man[58]/*idmap*