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