]> git.pld-linux.org Git - packages/nfs-utils.git/blame_incremental - nfs-utils.spec
- -common conflicts with mount containing nfs.5 for smoother upgrade path with poldek...
[packages/nfs-utils.git] / nfs-utils.spec
... / ...
CommitLineData
1# TODO
2# - should unmount /proc/fs/nfsd and /var/lib/nfs/rpc_pipefs at package
3# uninstall (or in service nfs stop)
4#
5# Conditional build:
6%bcond_without nfs4 # without NFSv4 support
7%bcond_without mount # don't build mount.nfs program
8#
9Summary: Kernel NFS server
10Summary(pl.UTF-8): Działający na poziomie jądra serwer NFS
11Summary(pt_BR.UTF-8): Os utilitários para o cliente e servidor NFS do Linux
12Summary(ru.UTF-8): Утилиты для NFS и демоны поддержки для NFS-сервера ядра
13Summary(uk.UTF-8): Утиліти для NFS та демони підтримки для NFS-сервера ядра
14Name: nfs-utils
15Version: 1.1.3
16Release: 4
17License: GPL v2
18Group: Networking/Daemons
19Source0: ftp://ftp.kernel.org/pub/linux/utils/nfs/%{name}-%{version}.tar.gz
20# Source0-md5: 167d231850b00c7c63300747aeb94c38
21#Source1: ftp://ftp.linuxnfs.sourceforge.org/pub/nfs/nfs.doc.tar.gz
22Source1: nfs.doc.tar.gz
23# Source1-md5: ae7db9c61c5ad04f83bb99e5caed73da
24Source2: nfs.init
25Source3: nfslock.init
26Source4: nfsfs.init
27Source5: rpcidmapd.init
28Source6: rpcgssd.init
29Source7: rpcsvcgssd.init
30Source8: nfs.sysconfig
31Source9: nfslock.sysconfig
32Source10: nfsfs.sysconfig
33Patch0: %{name}-eepro-support.patch
34Patch1: %{name}-install.patch
35Patch2: %{name}-statdpath.patch
36Patch3: %{name}-mountd.patch
37Patch4: %{name}-idmapd.conf.patch
38Patch5: %{name}-keytab-path.patch
39Patch6: %{name}-subsys.patch
40URL: http://nfs.sourceforge.net/
41BuildRequires: autoconf >= 2.59
42BuildRequires: automake
43BuildRequires: cpp
44BuildRequires: e2fsprogs-devel >= 1.39-5
45%if %{with nfs4}
46BuildRequires: krb5-devel >= 1.6
47BuildRequires: libevent-devel >= 1.2
48BuildRequires: libgssglue-devel >= 0.1
49BuildRequires: libnfsidmap-devel
50BuildRequires: librpcsecgss-devel >= 0.16
51%endif
52BuildRequires: libtool
53BuildRequires: libwrap-devel
54BuildRequires: pkgconfig
55BuildRequires: sed >= 4.0
56# lucid context fields mismatch with current version of spkm3.h
57BuildConflicts: gss_mech_spkm3-devel
58Requires(post): fileutils
59Requires(post): sed >= 4.0
60Requires(post,preun): /sbin/chkconfig
61Requires: %{name}-common = %{version}-%{release}
62Requires: portmap >= 4.0
63Requires: rc-scripts >= 0.4.1.5
64Requires: setup >= 2.4.6-7
65Provides: nfsdaemon
66Obsoletes: knfsd
67Obsoletes: nfs-server
68Obsoletes: nfsdaemon
69Conflicts: kernel < 2.2.5
70ExcludeArch: armv4l
71BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
72
73%description
74This is the *new* kernel NFS server and related tools. It provides a
75much higher level of performance than the traditional Linux user-land
76NFS server.
77
78%description -l pl.UTF-8
79To jest *nowy* działający na poziomie jądra serwer NFS oraz związane z
80nim narzędzia. Serwer ten dostarcza znacznie większą wydajność niż
81tradycyjny, działający na poziomie użytkownika serwer NFS.
82
83%description -l pt_BR.UTF-8
84O pacote nfs-utils provê os utilitários para o cliente e servidor NFS
85do Linux.
86
87%description -l ru.UTF-8
88Пакет nfs-utils предоставляет демона для NFS-сервера, включенного в
89ядро, и сопутствующие утилиты, которые обеспечивают намного большую
90производительность, чем традиционные Linux NFS-сервера, используемые
91большинством пользователей.
92
93%description -l uk.UTF-8
94Пакет nfs-utils надає демона для NFS-сервера, вбудованого в ядро, та
95супутні утиліти, які забезпечують набагато більшу продуктивність, ніж
96традиційні Linux NFS-сервери, які використовує більшість користувачів.
97
98%package clients
99Summary: Clients for connecting to a remote NFS server
100Summary(pl.UTF-8): Klienci do łączenia się ze zdalnym serwerem NFS
101Group: Networking
102Requires(post,preun): /sbin/chkconfig
103Requires: %{name}-common = %{version}-%{release}
104Requires: psmisc
105Requires: rc-scripts
106Provides: nfs-server-clients
107Provides: nfsclient
108Obsoletes: knfsd-clients
109Obsoletes: nfs-server-clients
110Obsoletes: nfsclient
111
112%description clients
113The nfs-server-clients package contains the showmount program.
114Showmount queries the mount daemon on a remote host for information
115about the NFS (Network File System) server on the remote host. For
116example, showmount can display the clients which are mounted on that
117host. This package is not needed to mount NFS volumes.
118
119%description clients -l pl.UTF-8
120Pakiet zawiera program showmount służący do odpytywania serwera NFS.
121Showmount pyta demona na zdalnej maszynie o informacje NFS na zdalnym
122hoście. Na przykład, showmount potrafi pokazać klientów, którzy są
123zamountowani na tym serwerze. Ten pakiet nie jest konieczny do
124zamountowania zasobów NFS.
125
126%package lock
127Summary: Programs for NFS file locking
128Summary(pl.UTF-8): Programy do obsługi blokowania plików poprzez NFS (lock)
129Group: Networking
130Requires(post,preun): /sbin/chkconfig
131Requires: portmap >= 4.0
132Requires: rc-scripts
133Provides: group(rpcstatd)
134Provides: user(rpcstatd)
135Provides: nfslockd
136Obsoletes: knfsd-lock
137Obsoletes: nfslockd
138
139%description lock
140The nfs-lock pacage contains programs which support the NFS file lock.
141Install nfs-lock if you want to use file lock over NFS.
142
143%description lock -l pl.UTF-8
144Ten pakiet zawiera programy umożliwiające wykonywanie blokowania
145plików (file locking) poprzez NFS.
146
147%package common
148Summary: Common programs for NFS
149Summary(pl.UTF-8): Wspólne programy do obsługi NFS
150Group: Networking
151Conflicts: mount < 2.13-0.pre7.1
152
153%description common
154Common programs for NFS.
155
156%description common -l pl.UTF-8
157Wspólne programy do obsługi NFS.
158
159%prep
160%setup -q -a1
161%patch0 -p1
162%patch1 -p1
163%patch2 -p1
164%patch3 -p1
165%patch4 -p1
166%patch5 -p1
167%patch6 -p1
168
169# conflict with GNU stdio extension
170sed -i -e 's/dprintf/dbgprintf/' support/include/ha-callout.h utils/statd/*.[ch]
171
172%build
173%{__libtoolize}
174%{__aclocal} -I aclocal
175%{__autoconf}
176%{__autoheader}
177%{__automake}
178%configure \
179%if %{with nfs4}
180 --enable-gss \
181 --with-krb5=%{_prefix} \
182 --enable-nfsv4 \
183%else
184 --disable-gss \
185 --disable-nfsv4 \
186%endif
187 %{?with_mount:--enable-mount} \
188 --enable-nfsv3 \
189 --enable-secure-statd \
190 --with-statedir=/var/lib/nfs \
191 --with-tcp-wrappers
192
193%{__make} all
194
195%install
196rm -rf $RPM_BUILD_ROOT
197install -d $RPM_BUILD_ROOT{/sbin,%{_sbindir},%{_mandir}/man{5,8}} \
198 $RPM_BUILD_ROOT%{_sysconfdir}/{rc.d/init.d,sysconfig} \
199 $RPM_BUILD_ROOT%{_var}/lib/nfs/{rpc_pipefs,v4recovery,statd}
200
201%{__make} install \
202 DESTDIR=$RPM_BUILD_ROOT
203
204cat >$RPM_BUILD_ROOT%{_sbindir}/start-statd <<EOF
205#!/bin/sh
206# mount.nfs calls this script when mounting a filesystem with locking
207# enabled, but when statd does not seem to be running (based on
208# /var/run/rpc.statd.pid).
209exec /sbin/service nfslock start
210EOF
211
212sed -e "s|#!/bin/bash|#!/bin/sh|" utils/gssd/gss_destroy_creds > $RPM_BUILD_ROOT%{_sbindir}/gss_destroy_creds
213
214mv $RPM_BUILD_ROOT%{_sbindir}/rpcdebug $RPM_BUILD_ROOT/sbin
215install utils/idmapd/idmapd.conf $RPM_BUILD_ROOT%{_sysconfdir}/
216
217install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/nfs
218install %{SOURCE3} $RPM_BUILD_ROOT/etc/rc.d/init.d/nfslock
219install %{SOURCE4} $RPM_BUILD_ROOT/etc/rc.d/init.d/nfsfs
220install %{SOURCE5} $RPM_BUILD_ROOT/etc/rc.d/init.d/idmapd
221install %{SOURCE6} $RPM_BUILD_ROOT/etc/rc.d/init.d/gssd
222install %{SOURCE7} $RPM_BUILD_ROOT/etc/rc.d/init.d/svcgssd
223install %{SOURCE8} $RPM_BUILD_ROOT/etc/sysconfig/nfsd
224install %{SOURCE9} $RPM_BUILD_ROOT/etc/sysconfig/nfslock
225install %{SOURCE10} $RPM_BUILD_ROOT/etc/sysconfig/nfsfs
226
227> $RPM_BUILD_ROOT%{_var}/lib/nfs/rmtab
228> $RPM_BUILD_ROOT%{_sysconfdir}/exports
229
230rm $RPM_BUILD_ROOT%{_mandir}/man8/rpc.{mountd,nfsd,statd,sm-notify}.8
231echo ".so mountd.8" > $RPM_BUILD_ROOT%{_mandir}/man8/rpc.mountd.8
232echo ".so nfsd.8" > $RPM_BUILD_ROOT%{_mandir}/man8/rpc.nfsd.8
233echo ".so statd.8" > $RPM_BUILD_ROOT%{_mandir}/man8/rpc.statd.8
234echo ".so sm-notify.8" > $RPM_BUILD_ROOT%{_mandir}/man8/rpc.sm-notify.8
235%if %{with nfs4}
236rm $RPM_BUILD_ROOT%{_mandir}/man8/rpc.{svcgssd,gssd,idmapd}.8
237echo ".so gssd.8" > $RPM_BUILD_ROOT%{_mandir}/man8/rpc.gssd.8
238echo ".so idmapd.8" > $RPM_BUILD_ROOT%{_mandir}/man8/rpc.idmapd.8
239echo ".so svcgssd.8" > $RPM_BUILD_ROOT%{_mandir}/man8/rpc.svcgssd.8
240%endif
241
242touch $RPM_BUILD_ROOT/var/lib/nfs/xtab
243
244ln -sf /bin/true $RPM_BUILD_ROOT/sbin/fsck.nfs
245
246cp -a nfs html
247
248%clean
249rm -rf $RPM_BUILD_ROOT
250
251%post
252/sbin/chkconfig --add nfs
253%service nfs restart "NFS daemon"
254%if %{with nfs4}
255/sbin/chkconfig --add svcgssd
256%service svcgssd restart "RPC svcgssd"
257%endif
258
259%preun
260if [ "$1" = "0" ]; then
261 %service nfs stop
262 /sbin/chkconfig --del nfs
263%if %{with nfs4}
264 %service svcgssd stop
265 /sbin/chkconfig --del svcgssd
266%endif
267fi
268
269%post clients
270/sbin/chkconfig --add nfsfs
271%service nfsfs restart
272%if %{with nfs4}
273/sbin/chkconfig --add gssd
274%service gssd restart "RPC gssd"
275%endif
276
277%preun clients
278if [ "$1" = "0" ]; then
279 %service nfsfs stop
280 /sbin/chkconfig --del nfsfs
281%if %{with nfs4}
282 %service gssd stop
283 /sbin/chkconfig --del gssd
284%endif
285fi
286
287%pre lock
288%groupadd -g 191 rpcstatd
289%useradd -u 191 -d /var/lib/nfs/statd -s /bin/false -c "RPC statd user" -g rpcstatd rpcstatd
290
291%post lock
292/sbin/chkconfig --add nfslock
293%service nfslock restart "RPC statd"
294
295%preun lock
296if [ "$1" = "0" ]; then
297 %service nfslock stop
298 /sbin/chkconfig --del nfslock
299fi
300
301%postun lock
302if [ "$1" = "0" ]; then
303 %userremove rpcstatd
304 %groupremove rpcstatd
305fi
306
307%if %{with nfs4}
308%post common
309/sbin/chkconfig --add idmapd
310%service idmapd restart "RPC idmapd"
311
312%preun common
313if [ "$1" = "0" ]; then
314 %service idmapd stop
315 /sbin/chkconfig --del idmapd
316fi
317%endif
318
319%triggerpostun -- %{name} < 1.1.0-0.rc1.1
320/sbin/chkconfig nfs reset
321%if %{with nfs4}
322/sbin/chkconfig svcgssd reset
323%endif
324
325%triggerpostun lock -- %{name}-lock < 1.1.0-0.rc1.1
326/sbin/chkconfig nfslock reset
327
328%triggerpostun clients -- %{name}-clients < 1.1.0-0.rc1.1
329if [ -f /etc/sysconfig/nfsclient.rpmsave ]; then
330 mv -f /etc/sysconfig/nfsfs{,.rpmnew}
331 mv -f /etc/sysconfig/nfsclient.rpmsave /etc/sysconfig/nfsfs
332fi
333/sbin/chkconfig nfsfs reset
334%if %{with nfs4}
335/sbin/chkconfig gssd reset
336%endif
337
338%if %{with nfs4}
339%triggerpostun common -- %{name}-common < 1.1.0-0.rc1.1
340/sbin/chkconfig idmapd reset
341%endif
342
343%files
344%defattr(644,root,root,755)
345%doc ChangeLog README html
346%attr(755,root,root) /sbin/rpcdebug
347%attr(755,root,root) /sbin/fsck.nfs
348%attr(755,root,root) %{_sbindir}/exportfs
349%attr(755,root,root) %{_sbindir}/rpc.mountd
350%attr(755,root,root) %{_sbindir}/rpc.nfsd
351%attr(755,root,root) %{_sbindir}/nfsstat
352
353%attr(754,root,root) /etc/rc.d/init.d/nfs
354
355%attr(664,root,fileshare) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/exports
356%config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/nfsd
357%config(noreplace) %verify(not md5 mtime size) %{_var}/lib/nfs/xtab
358%config(noreplace) %verify(not md5 mtime size) %{_var}/lib/nfs/etab
359%config(noreplace) %verify(not md5 mtime size) %{_var}/lib/nfs/rmtab
360
361%{_mandir}/man5/exports.5*
362%{_mandir}/man7/nfsd.7*
363%{_mandir}/man8/exportfs.8*
364%{_mandir}/man8/mountd.8*
365%{_mandir}/man8/nfsd.8*
366%{_mandir}/man8/nfsstat.8*
367%{_mandir}/man8/rpc.mountd.8*
368%{_mandir}/man8/rpc.nfsd.8*
369%{_mandir}/man8/rpcdebug.8*
370%if %{with nfs4}
371%attr(754,root,root) /etc/rc.d/init.d/svcgssd
372%attr(755,root,root) %{_sbindir}/rpc.svcgssd
373%{_mandir}/man8/*svcgss*
374%endif
375
376%files lock
377%defattr(644,root,root,755)
378%attr(700,rpcstatd,rpcstatd) %dir %{_var}/lib/nfs/statd
379%attr(755,root,root) %{_sbindir}/rpc.statd
380%attr(755,root,root) %{_sbindir}/sm-notify
381%attr(755,root,root) %{_sbindir}/start-statd
382%attr(754,root,root) /etc/rc.d/init.d/nfslock
383%config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/nfslock
384%{_mandir}/man8/*statd.8*
385%{_mandir}/man8/*sm-notify.8*
386%config(noreplace) %verify(not md5 mtime size) %{_var}/lib/nfs/state
387
388%files clients
389%defattr(644,root,root,755)
390%attr(754,root,root) /etc/rc.d/init.d/nfsfs
391%config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/nfsfs
392%attr(755,root,root) %{_sbindir}/showmount
393%{_mandir}/man8/showmount.8*
394%if %{with mount}
395%attr(4755,root,root) /sbin/mount.nfs
396%attr(4755,root,root) /sbin/mount.nfs4
397%attr(4755,root,root) /sbin/umount.nfs
398%attr(4755,root,root) /sbin/umount.nfs4
399%{_mandir}/man8/*mount.nfs.8*
400%endif
401%if %{with nfs4}
402%attr(754,root,root) /etc/rc.d/init.d/gssd
403%attr(755,root,root) %{_sbindir}/rpc.gssd
404%{_mandir}/man8/rpc.gssd*
405%{_mandir}/man8/gssd*
406%endif
407
408%files common
409%defattr(644,root,root,755)
410%attr(755,root,root) %dir %{_var}/lib/nfs
411%attr(755,root,root) %dir %{_var}/lib/nfs/rpc_pipefs
412%attr(755,root,root) %dir %{_var}/lib/nfs/v4recovery
413%{_mandir}/man5/nfs*
414%if %{with nfs4}
415%attr(754,root,root) /etc/rc.d/init.d/idmapd
416%attr(755,root,root) %{_sbindir}/gss_*
417%attr(755,root,root) %{_sbindir}/rpc.idmapd
418%attr(660,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/idmapd.conf
419%{_mandir}/man[58]/*idmap*
420%endif
This page took 0.029382 seconds and 4 git commands to generate.