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: df88c6fe88a26f9797e74cb2d3291a2a
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 # http://www.citi.umich.edu/projects/nfsv4/linux/nfs-utils-patches/1.1.0-1/nfs-utils-1.1.0-CITI_NFS4_ALL-1.dif
36 Patch2: %{name}-CITI_NFS4.patch
37 Patch3: %{name}-statdpath.patch
38 Patch4: %{name}-mount-fake.patch
39 Patch5: %{name}-mountd.patch
40 Patch6: %{name}-idmapd.conf.patch
41 Patch7: %{name}-keytab-path.patch
42 Patch8: %{name}-subsys.patch
43 Patch9: %{name}-mountd-leak.patch
44 URL: http://nfs.sourceforge.net/
45 BuildRequires: autoconf >= 2.59
46 BuildRequires: automake
48 BuildRequires: e2fsprogs-devel >= 1.39-5
50 BuildRequires: krb5-devel >= 1.6
51 BuildRequires: libevent-devel >= 1.2
52 BuildRequires: libnfsidmap-devel
53 BuildRequires: librpcsecgss-devel >= 0.11-3
55 BuildRequires: libtool
56 BuildRequires: libwrap-devel
57 BuildRequires: pkgconfig
58 BuildRequires: sed >= 4.0
59 Requires(post): fileutils
60 Requires(post): sed >= 4.0
61 Requires(post,preun): /sbin/chkconfig
62 Requires: %{name}-common = %{version}-%{release}
63 Requires: portmap >= 4.0
64 Requires: rc-scripts >= 0.4.1.5
65 Requires: setup >= 2.4.6-7
70 Conflicts: kernel < 2.2.5
72 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
75 This is the *new* kernel NFS server and related tools. It provides a
76 much higher level of performance than the traditional Linux user-land
79 %description -l pl.UTF-8
80 To jest *nowy* działający na poziomie jądra serwer NFS oraz związane z
81 nim narzędzia. Serwer ten dostarcza znacznie większą wydajność niż
82 tradycyjny, działający na poziomie użytkownika serwer NFS.
84 %description -l pt_BR.UTF-8
85 O pacote nfs-utils provê os utilitários para o cliente e servidor NFS
88 %description -l ru.UTF-8
89 Пакет nfs-utils предоставляет демона для NFS-сервера, включенного в
90 ядро, и сопутствующие утилиты, которые обеспечивают намного большую
91 производительность, чем традиционные Linux NFS-сервера, используемые
92 большинством пользователей.
94 %description -l uk.UTF-8
95 Пакет nfs-utils надає демона для NFS-сервера, вбудованого в ядро, та
96 супутні утиліти, які забезпечують набагато більшу продуктивність, ніж
97 традиційні Linux NFS-сервери, які використовує більшість користувачів.
100 Summary: Clients for connecting to a remote NFS server
101 Summary(pl.UTF-8): Klienci do łączenia się ze zdalnym serwerem NFS
103 Requires(post,preun): /sbin/chkconfig
104 Requires: %{name}-common = %{version}-%{release}
107 Provides: nfs-server-clients
109 Obsoletes: knfsd-clients
110 Obsoletes: nfs-server-clients
114 The nfs-server-clients package contains the showmount program.
115 Showmount queries the mount daemon on a remote host for information
116 about the NFS (Network File System) server on the remote host. For
117 example, showmount can display the clients which are mounted on that
118 host. This package is not needed to mount NFS volumes.
120 %description clients -l pl.UTF-8
121 Pakiet zawiera program showmount służący do odpytywania serwera NFS.
122 Showmount pyta demona na zdalnej maszynie o informacje NFS na zdalnym
123 hoście. Na przykład, showmount potrafi pokazać klientów, którzy są
124 zamountowani na tym serwerze. Ten pakiet nie jest konieczny do
125 zamountowania zasobów NFS.
128 Summary: Programs for NFS file locking
129 Summary(pl.UTF-8): Programy do obsługi blokowania plików poprzez NFS (lock)
131 Requires(post,preun): /sbin/chkconfig
132 Requires: portmap >= 4.0
134 Provides: group(rpcstatd)
135 Provides: user(rpcstatd)
137 Obsoletes: knfsd-lock
141 The nfs-lock pacage contains programs which support the NFS file lock.
142 Install nfs-lock if you want to use file lock over NFS.
144 %description lock -l pl.UTF-8
145 Ten pakiet zawiera programy umożliwiające wykonywanie blokowania
146 plików (file locking) poprzez NFS.
149 Summary: Common programs for NFS
150 Summary(pl.UTF-8): Wspólne programy do obsługi NFS
154 Common programs for NFS.
156 %description common -l pl.UTF-8
157 Wspólne programy do obsługi NFS.
176 --with-krb5=%{_prefix} \
182 %{?with_mount:--enable-mount} \
185 --enable-secure-statd \
186 --with-statedir=/var/lib/nfs \
192 rm -rf $RPM_BUILD_ROOT
193 install -d $RPM_BUILD_ROOT{/sbin,%{_sbindir},%{_mandir}/man{5,8}} \
194 $RPM_BUILD_ROOT%{_sysconfdir}/{rc.d/init.d,sysconfig} \
195 $RPM_BUILD_ROOT%{_var}/lib/nfs/{rpc_pipefs,v4recovery,statd}
198 DESTDIR=$RPM_BUILD_ROOT
200 cat >$RPM_BUILD_ROOT%{_sbindir}/start-statd <<EOF
202 # mount.nfs calls this script when mounting a filesystem with locking
203 # enabled, but when statd does not seem to be running (based on
204 # /var/run/rpc.statd.pid).
205 exec /sbin/service nfslock start
208 sed -e "s|#!/bin/bash|#!/bin/sh|" utils/gssd/gss_destroy_creds > $RPM_BUILD_ROOT%{_sbindir}/gss_destroy_creds
210 mv $RPM_BUILD_ROOT%{_sbindir}/rpcdebug $RPM_BUILD_ROOT/sbin
211 install utils/idmapd/idmapd.conf $RPM_BUILD_ROOT%{_sysconfdir}/
213 install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/nfs
214 install %{SOURCE3} $RPM_BUILD_ROOT/etc/rc.d/init.d/nfslock
215 install %{SOURCE4} $RPM_BUILD_ROOT/etc/rc.d/init.d/nfsfs
216 install %{SOURCE5} $RPM_BUILD_ROOT/etc/rc.d/init.d/idmapd
217 install %{SOURCE6} $RPM_BUILD_ROOT/etc/rc.d/init.d/gssd
218 install %{SOURCE7} $RPM_BUILD_ROOT/etc/rc.d/init.d/svcgssd
219 install %{SOURCE8} $RPM_BUILD_ROOT/etc/sysconfig/nfsd
220 install %{SOURCE9} $RPM_BUILD_ROOT/etc/sysconfig/nfslock
221 install %{SOURCE10} $RPM_BUILD_ROOT/etc/sysconfig/nfsfs
223 > $RPM_BUILD_ROOT%{_var}/lib/nfs/rmtab
224 > $RPM_BUILD_ROOT%{_sysconfdir}/exports
226 rm $RPM_BUILD_ROOT%{_mandir}/man8/rpc.{mountd,nfsd,statd,sm-notify}.8
227 echo ".so mountd.8" > $RPM_BUILD_ROOT%{_mandir}/man8/rpc.mountd.8
228 echo ".so nfsd.8" > $RPM_BUILD_ROOT%{_mandir}/man8/rpc.nfsd.8
229 echo ".so statd.8" > $RPM_BUILD_ROOT%{_mandir}/man8/rpc.statd.8
230 echo ".so sm-notify.8" > $RPM_BUILD_ROOT%{_mandir}/man8/rpc.sm-notify.8
232 rm $RPM_BUILD_ROOT%{_mandir}/man8/rpc.{svcgssd,gssd,idmapd}.8
233 echo ".so gssd.8" > $RPM_BUILD_ROOT%{_mandir}/man8/rpc.gssd.8
234 echo ".so idmapd.8" > $RPM_BUILD_ROOT%{_mandir}/man8/rpc.idmapd.8
235 echo ".so svcgssd.8" > $RPM_BUILD_ROOT%{_mandir}/man8/rpc.svcgssd.8
238 touch $RPM_BUILD_ROOT/var/lib/nfs/xtab
240 ln -sf /bin/true $RPM_BUILD_ROOT/sbin/fsck.nfs
245 rm -rf $RPM_BUILD_ROOT
248 /sbin/chkconfig --add nfs
249 %service nfs restart "NFS daemon"
251 /sbin/chkconfig --add svcgssd
252 %service svcgssd restart "RPC svcgssd"
256 if [ "$1" = "0" ]; then
258 /sbin/chkconfig --del nfs
260 %service svcgssd stop
261 /sbin/chkconfig --del svcgssd
266 /sbin/chkconfig --add nfsfs
267 %service nfsfs restart
269 /sbin/chkconfig --add gssd
270 %service gssd restart "RPC gssd"
274 if [ "$1" = "0" ]; then
276 /sbin/chkconfig --del nfsfs
279 /sbin/chkconfig --del gssd
284 %groupadd -g 191 rpcstatd
285 %useradd -u 191 -d /var/lib/nfs/statd -s /bin/false -c "RPC statd user" -g rpcstatd rpcstatd
288 /sbin/chkconfig --add nfslock
289 %service nfslock restart "RPC statd"
292 if [ "$1" = "0" ]; then
293 %service nfslock stop
294 /sbin/chkconfig --del nfslock
298 if [ "$1" = "0" ]; then
300 %groupremove rpcstatd
305 /sbin/chkconfig --add idmapd
306 %service idmapd restart "RPC idmapd"
309 if [ "$1" = "0" ]; then
311 /sbin/chkconfig --del idmapd
315 %triggerpostun -- %{name} <= 1.1.0-0.rc1.1
316 /sbin/chkconfig nfs reset
318 /sbin/chkconfig svcgssd reset
321 %triggerpostun lock -- %{name}-lock <= 1.1.0-0.rc1.1
322 /sbin/chkconfig nfslock reset
324 %triggerpostun clients -- %{name}-clients < 1.1.0-0.rc1.1
325 if [ -f /etc/sysconfig/nfsclient.rpmsave ]; then
326 mv -f /etc/sysconfig/nfsfs{,.rpmnew}
327 mv -f /etc/sysconfig/nfsclient.rpmsave /etc/sysconfig/nfsfs
329 /sbin/chkconfig nfsfs reset
331 /sbin/chkconfig gssd reset
335 %triggerpostun common -- %{name}-common <= 1.1.0-0.rc1.1
336 /sbin/chkconfig idmapd reset
340 %defattr(644,root,root,755)
341 %doc ChangeLog README html
342 %attr(755,root,root) /sbin/rpcdebug
343 %attr(755,root,root) /sbin/fsck.nfs
344 %attr(755,root,root) %{_sbindir}/exportfs
345 %attr(755,root,root) %{_sbindir}/rpc.mountd
346 %attr(755,root,root) %{_sbindir}/rpc.nfsd
347 %attr(755,root,root) %{_sbindir}/nfsstat
349 %attr(754,root,root) /etc/rc.d/init.d/nfs
351 %attr(664,root,fileshare) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/exports
352 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/nfsd
353 %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/nfs/xtab
354 %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/nfs/etab
355 %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/nfs/rmtab
357 %{_mandir}/man5/exports.5*
358 %{_mandir}/man7/nfsd.7*
359 %{_mandir}/man8/exportfs.8*
360 %{_mandir}/man8/mountd.8*
361 %{_mandir}/man8/nfsd.8*
362 %{_mandir}/man8/nfsstat.8*
363 %{_mandir}/man8/rpc.mountd.8*
364 %{_mandir}/man8/rpc.nfsd.8*
365 %{_mandir}/man8/rpcdebug.8*
367 %attr(754,root,root) /etc/rc.d/init.d/svcgssd
368 %attr(755,root,root) %{_sbindir}/rpc.svcgssd
369 %{_mandir}/man8/*svcgss*
373 %defattr(644,root,root,755)
374 %attr(700,rpcstatd,rpcstatd) %dir %{_var}/lib/nfs/statd
375 %attr(755,root,root) %{_sbindir}/rpc.statd
376 %attr(755,root,root) %{_sbindir}/sm-notify
377 %attr(755,root,root) %{_sbindir}/start-statd
378 %attr(754,root,root) /etc/rc.d/init.d/nfslock
379 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/nfslock
380 %{_mandir}/man8/*statd.8*
381 %{_mandir}/man8/*sm-notify.8*
382 %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/nfs/state
385 %defattr(644,root,root,755)
386 %attr(754,root,root) /etc/rc.d/init.d/nfsfs
387 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/nfsfs
388 %attr(755,root,root) %{_sbindir}/showmount
389 %{_mandir}/man8/showmount.8*
391 %attr(4755,root,root) /sbin/mount.nfs
392 %attr(4755,root,root) /sbin/mount.nfs4
393 %attr(4755,root,root) /sbin/umount.nfs
394 %attr(4755,root,root) /sbin/umount.nfs4
395 %{_mandir}/man8/*mount.nfs.8*
398 %attr(754,root,root) /etc/rc.d/init.d/gssd
399 %attr(755,root,root) %{_sbindir}/rpc.gssd
400 %{_mandir}/man8/rpc.gssd*
401 %{_mandir}/man8/gssd*
405 %defattr(644,root,root,755)
406 %attr(755,root,root) %dir %{_var}/lib/nfs
407 %attr(755,root,root) %dir %{_var}/lib/nfs/rpc_pipefs
408 %attr(755,root,root) %dir %{_var}/lib/nfs/v4recovery
411 %attr(754,root,root) /etc/rc.d/init.d/idmapd
412 %attr(755,root,root) %{_sbindir}/gss_*
413 %attr(755,root,root) %{_sbindir}/rpc.idmapd
414 %attr(660,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/idmapd.conf
415 %{_mandir}/man[58]/*idmap*