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-сервера ядра
19 Group: Networking/Daemons
20 Source0: http://dl.sourceforge.net/nfs/%{name}-%{version}-%{_pre}.tar.gz
21 # Source0-md5: 924dd05dc3958d4da585d74808bb84c4
22 Source1: ftp://ftp.linuxnfs.sourceforge.org/pub/nfs/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/
36 #Patch2: %{name}-1.0.11-CITI_NFS4_ALL-1.dif
37 Patch2: %{name}-CITI_NFS4.patch
38 Patch3: %{name}-statdpath.patch
39 Patch4: %{name}-mount-fake.patch
40 Patch5: %{name}-mountd.patch
41 Patch6: %{name}-idmapd.conf.patch
42 Patch7: %{name}-keytab-path.patch
43 Patch8: %{name}-subsys.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.
160 %setup -q -a1 -n %{name}-%{version}-%{_pre}
175 --with-krb5=%{_prefix} \
181 %{?with_mount:--enable-mount} \
184 --enable-secure-statd \
185 --with-statedir=/var/lib/nfs \
191 rm -rf $RPM_BUILD_ROOT
192 install -d $RPM_BUILD_ROOT{/sbin,%{_sbindir},%{_mandir}/man{5,8}} \
193 $RPM_BUILD_ROOT%{_sysconfdir}/{rc.d/init.d,sysconfig} \
194 $RPM_BUILD_ROOT%{_var}/lib/nfs/{rpc_pipefs,v4recovery,statd}
197 DESTDIR=$RPM_BUILD_ROOT
199 cat >$RPM_BUILD_ROOT%{_sbindir}/start-statd <<EOF
201 # mount.nfs calls this script when mounting a filesystem with locking
202 # enabled, but when statd does not seem to be running (based on
203 # /var/run/rpc.statd.pid).
204 exec /sbin/service nfslock start
207 sed -e "s|#!/bin/bash|#!/bin/sh|" utils/gssd/gss_destroy_creds > $RPM_BUILD_ROOT%{_sbindir}/gss_destroy_creds
209 mv $RPM_BUILD_ROOT%{_sbindir}/rpcdebug $RPM_BUILD_ROOT/sbin
210 install utils/idmapd/idmapd.conf $RPM_BUILD_ROOT%{_sysconfdir}/
212 install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/nfs
213 install %{SOURCE3} $RPM_BUILD_ROOT/etc/rc.d/init.d/nfslock
214 install %{SOURCE4} $RPM_BUILD_ROOT/etc/rc.d/init.d/nfsfs
215 install %{SOURCE5} $RPM_BUILD_ROOT/etc/rc.d/init.d/idmapd
216 install %{SOURCE6} $RPM_BUILD_ROOT/etc/rc.d/init.d/gssd
217 install %{SOURCE7} $RPM_BUILD_ROOT/etc/rc.d/init.d/svcgssd
218 install %{SOURCE8} $RPM_BUILD_ROOT/etc/sysconfig/nfsd
219 install %{SOURCE9} $RPM_BUILD_ROOT/etc/sysconfig/nfslock
220 install %{SOURCE10} $RPM_BUILD_ROOT/etc/sysconfig/nfsfs
222 > $RPM_BUILD_ROOT%{_var}/lib/nfs/rmtab
223 > $RPM_BUILD_ROOT%{_sysconfdir}/exports
225 rm $RPM_BUILD_ROOT%{_mandir}/man8/rpc.{mountd,nfsd,statd,svcgssd,gssd,idmapd,sm-notify}.8
226 echo ".so mountd.8" > $RPM_BUILD_ROOT%{_mandir}/man8/rpc.mountd.8
227 echo ".so nfsd.8" > $RPM_BUILD_ROOT%{_mandir}/man8/rpc.nfsd.8
228 echo ".so statd.8" > $RPM_BUILD_ROOT%{_mandir}/man8/rpc.statd.8
229 echo ".so sm-notify.8" > $RPM_BUILD_ROOT%{_mandir}/man8/rpc.sm-notify.8
231 echo ".so gssd.8" > $RPM_BUILD_ROOT%{_mandir}/man8/rpc.gssd.8
232 echo ".so idmapd.8" > $RPM_BUILD_ROOT%{_mandir}/man8/rpc.idmapd.8
233 echo ".so svcgssd.8" > $RPM_BUILD_ROOT%{_mandir}/man8/rpc.svcgssd.8
236 touch $RPM_BUILD_ROOT/var/lib/nfs/xtab
238 ln -sf /bin/true $RPM_BUILD_ROOT/sbin/fsck.nfs
243 rm -rf $RPM_BUILD_ROOT
246 /sbin/chkconfig --add nfs
247 %service nfs restart "NFS daemon"
249 /sbin/chkconfig --add svcgssd
250 %service svcgssd restart "RPC svcgssd"
254 if [ "$1" = "0" ]; then
256 /sbin/chkconfig --del nfs
258 %service svcgssd stop
259 /sbin/chkconfig --del svcgssd
264 /sbin/chkconfig --add nfsfs
265 %service nfsfs restart
267 /sbin/chkconfig --add gssd
268 %service gssd restart "RPC gssd"
272 if [ "$1" = "0" ]; then
274 /sbin/chkconfig --del nfsfs
277 /sbin/chkconfig --del gssd
282 %groupadd -g 191 rpcstatd
283 %useradd -u 191 -d /var/lib/nfs/statd -s /bin/false -c "RPC statd user" -g rpcstatd rpcstatd
286 /sbin/chkconfig --add nfslock
287 %service nfslock restart "RPC statd"
290 if [ "$1" = "0" ]; then
291 %service nfslock stop
292 /sbin/chkconfig --del nfslock
296 if [ "$1" = "0" ]; then
298 %groupremove rpcstatd
303 /sbin/chkconfig --add idmapd
304 %service idmapd restart "RPC idmapd"
307 if [ "$1" = "0" ]; then
309 /sbin/chkconfig --del idmapd
313 %triggerpostun -- %{name} <= 1.1.0-0.rc1.1
314 /sbin/chkconfig nfs reset
316 /sbin/chkconfig svcgssd reset
319 %triggerpostun lock -- %{name}-lock <= 1.1.0-0.rc1.1
320 /sbin/chkconfig nfslock reset
322 %triggerpostun clients -- %{name}-clients < 1.1.0-0.rc1.1
323 if [ -f /etc/sysconfig/nfsclient.rpmsave ]; then
324 mv -f /etc/sysconfig/nfsfs{,.rpmnew}
325 mv -f /etc/sysconfig/nfsclient.rpmsave /etc/sysconfig/nfsfs
327 /sbin/chkconfig nfsfs reset
329 /sbin/chkconfig gssd reset
333 %triggerpostun common -- %{name}-common <= 1.1.0-0.rc1.1
334 /sbin/chkconfig idmapd reset
338 %defattr(644,root,root,755)
339 %doc ChangeLog README html
340 %attr(755,root,root) /sbin/rpcdebug
341 %attr(755,root,root) /sbin/fsck.nfs
342 %attr(755,root,root) %{_sbindir}/exportfs
343 %attr(755,root,root) %{_sbindir}/rpc.mountd
344 %attr(755,root,root) %{_sbindir}/rpc.nfsd
345 %attr(755,root,root) %{_sbindir}/nfsstat
347 %attr(754,root,root) /etc/rc.d/init.d/nfs
349 %attr(664,root,fileshare) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/exports
350 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/nfsd
351 %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/nfs/xtab
352 %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/nfs/etab
353 %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/nfs/rmtab
355 %{_mandir}/man5/exports.5*
356 %{_mandir}/man7/nfsd.7*
357 %{_mandir}/man8/exportfs.8*
358 %{_mandir}/man8/mountd.8*
359 %{_mandir}/man8/nfsd.8*
360 %{_mandir}/man8/nfsstat.8*
361 %{_mandir}/man8/rpc.mountd.8*
362 %{_mandir}/man8/rpc.nfsd.8*
363 %{_mandir}/man8/rpcdebug.8*
365 %attr(754,root,root) /etc/rc.d/init.d/svcgssd
366 %attr(755,root,root) %{_sbindir}/rpc.svcgssd
367 %{_mandir}/man8/*svcgss*
371 %defattr(644,root,root,755)
372 %attr(700,rpcstatd,rpcstatd) %dir %{_var}/lib/nfs/statd
373 %attr(755,root,root) %{_sbindir}/rpc.statd
374 %attr(755,root,root) %{_sbindir}/sm-notify
375 %attr(755,root,root) %{_sbindir}/start-statd
376 %attr(754,root,root) /etc/rc.d/init.d/nfslock
377 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/nfslock
378 %{_mandir}/man8/*statd.8*
379 %{_mandir}/man8/*sm-notify.8*
380 %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/nfs/state
383 %defattr(644,root,root,755)
384 %attr(754,root,root) /etc/rc.d/init.d/nfsfs
385 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/nfsfs
386 %attr(755,root,root) %{_sbindir}/showmount
387 %{_mandir}/man8/showmount.8*
389 %attr(4755,root,root) /sbin/mount.nfs
390 %attr(4755,root,root) /sbin/mount.nfs4
391 %attr(4755,root,root) /sbin/umount.nfs
392 %attr(4755,root,root) /sbin/umount.nfs4
393 %{_mandir}/man8/*mount.nfs.8*
396 %attr(754,root,root) /etc/rc.d/init.d/gssd
397 %attr(755,root,root) %{_sbindir}/rpc.gssd
398 %{_mandir}/man8/rpc.gssd*
399 %{_mandir}/man8/gssd*
403 %defattr(644,root,root,755)
404 %attr(755,root,root) %dir %{_var}/lib/nfs
405 %attr(755,root,root) %dir %{_var}/lib/nfs/rpc_pipefs
406 %attr(755,root,root) %dir %{_var}/lib/nfs/v4recovery
409 %attr(754,root,root) /etc/rc.d/init.d/idmapd
410 %attr(755,root,root) %{_sbindir}/gss_*
411 %attr(755,root,root) %{_sbindir}/rpc.idmapd
412 %attr(660,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/idmapd.conf
413 %{_mandir}/man[58]/*idmap*