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