]> git.pld-linux.org Git - packages/nfs-utils.git/blame_incremental - nfs-utils.spec
- use generic portmapper check from rc-scripts
[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.0
16%define _pre rc1
17Release: 0.%{_pre}.1
18License: GPL
19Group: Networking/Daemons
20Source0: http://dl.sourceforge.net/nfs/%{name}-%{version}-%{_pre}.tar.gz
21# Source0-md5: 924dd05dc3958d4da585d74808bb84c4
22Source1: ftp://ftp.linuxnfs.sourceforge.org/pub/nfs/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
35# http://www.citi.umich.edu/projects/nfsv4/linux/nfs-utils-patches/
36#Patch2: %{name}-1.0.11-CITI_NFS4_ALL-1.dif
37Patch2: %{name}-CITI_NFS4.patch
38Patch3: %{name}-statdpath.patch
39Patch4: %{name}-mount-fake.patch
40Patch5: %{name}-mountd.patch
41Patch6: %{name}-idmapd.conf.patch
42Patch7: %{name}-keytab-path.patch
43Patch8: %{name}-subsys.patch
44URL: http://nfs.sourceforge.net/
45BuildRequires: autoconf >= 2.59
46BuildRequires: automake
47BuildRequires: cpp
48BuildRequires: e2fsprogs-devel >= 1.39-5
49%if %{with nfs4}
50BuildRequires: krb5-devel >= 1.6
51BuildRequires: libevent-devel >= 1.2
52BuildRequires: libnfsidmap-devel
53BuildRequires: librpcsecgss-devel >= 0.11-3
54%endif
55BuildRequires: libtool
56BuildRequires: libwrap-devel
57BuildRequires: pkgconfig
58BuildRequires: sed >= 4.0
59Requires(post): fileutils
60Requires(post): sed >= 4.0
61Requires(post,preun): /sbin/chkconfig
62Requires: %{name}-common = %{version}-%{release}
63Requires: portmap >= 4.0
64Requires: rc-scripts >= 0.4.1.5
65Requires: setup >= 2.4.6-7
66Provides: nfsdaemon
67Obsoletes: knfsd
68Obsoletes: nfs-server
69Obsoletes: nfsdaemon
70Conflicts: kernel < 2.2.5
71ExcludeArch: armv4l
72BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
73
74%description
75This is the *new* kernel NFS server and related tools. It provides a
76much higher level of performance than the traditional Linux user-land
77NFS server.
78
79%description -l pl.UTF-8
80To jest *nowy* działający na poziomie jądra serwer NFS oraz związane z
81nim narzędzia. Serwer ten dostarcza znacznie większą wydajność niż
82tradycyjny, działający na poziomie użytkownika serwer NFS.
83
84%description -l pt_BR.UTF-8
85O pacote nfs-utils provê os utilitários para o cliente e servidor NFS
86do Linux.
87
88%description -l ru.UTF-8
89Пакет nfs-utils предоставляет демона для NFS-сервера, включенного в
90ядро, и сопутствующие утилиты, которые обеспечивают намного большую
91производительность, чем традиционные Linux NFS-сервера, используемые
92большинством пользователей.
93
94%description -l uk.UTF-8
95Пакет nfs-utils надає демона для NFS-сервера, вбудованого в ядро, та
96супутні утиліти, які забезпечують набагато більшу продуктивність, ніж
97традиційні Linux NFS-сервери, які використовує більшість користувачів.
98
99%package clients
100Summary: Clients for connecting to a remote NFS server
101Summary(pl.UTF-8): Klienci do łączenia się ze zdalnym serwerem NFS
102Group: Networking
103Requires(post,preun): /sbin/chkconfig
104Requires: %{name}-common = %{version}-%{release}
105Requires: psmisc
106Requires: rc-scripts
107Provides: nfs-server-clients
108Provides: nfsclient
109Obsoletes: knfsd-clients
110Obsoletes: nfs-server-clients
111Obsoletes: nfsclient
112
113%description clients
114The nfs-server-clients package contains the showmount program.
115Showmount queries the mount daemon on a remote host for information
116about the NFS (Network File System) server on the remote host. For
117example, showmount can display the clients which are mounted on that
118host. This package is not needed to mount NFS volumes.
119
120%description clients -l pl.UTF-8
121Pakiet zawiera program showmount służący do odpytywania serwera NFS.
122Showmount pyta demona na zdalnej maszynie o informacje NFS na zdalnym
123hoście. Na przykład, showmount potrafi pokazać klientów, którzy są
124zamountowani na tym serwerze. Ten pakiet nie jest konieczny do
125zamountowania zasobów NFS.
126
127%package lock
128Summary: Programs for NFS file locking
129Summary(pl.UTF-8): Programy do obsługi blokowania plików poprzez NFS (lock)
130Group: Networking
131Requires(post,preun): /sbin/chkconfig
132Requires: portmap >= 4.0
133Requires: rc-scripts
134Provides: group(rpcstatd)
135Provides: user(rpcstatd)
136Provides: nfslockd
137Obsoletes: knfsd-lock
138Obsoletes: nfslockd
139
140%description lock
141The nfs-lock pacage contains programs which support the NFS file lock.
142Install nfs-lock if you want to use file lock over NFS.
143
144%description lock -l pl.UTF-8
145Ten pakiet zawiera programy umożliwiające wykonywanie blokowania
146plików (file locking) poprzez NFS.
147
148%package common
149Summary: Common programs for NFS
150Summary(pl.UTF-8): Wspólne programy do obsługi NFS
151Group: Networking
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 -n %{name}-%{version}-%{_pre}
161%patch0 -p1
162%patch1 -p1
163%patch2 -p1
164%patch3 -p1
165%patch4 -p1
166%patch5 -p1
167%patch6 -p1
168%patch7 -p1
169%patch8 -p1
170
171%build
172%configure \
173%if %{with nfs4}
174 --enable-gss \
175 --with-krb5=%{_prefix} \
176 --enable-nfsv4 \
177%else
178 --disable-gss \
179 --disable-nfsv4 \
180%endif
181 %{?with_mount:--enable-mount} \
182 --disable-rquotad \
183 --enable-nfsv3 \
184 --enable-secure-statd \
185 --with-statedir=/var/lib/nfs \
186 --with-tcp-wrappers
187
188%{__make} all
189
190%install
191rm -rf $RPM_BUILD_ROOT
192install -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}
195
196%{__make} install \
197 DESTDIR=$RPM_BUILD_ROOT
198
199cat >$RPM_BUILD_ROOT%{_sbindir}/start-statd <<EOF
200#!/bin/sh
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).
204exec /sbin/service nfslock start
205EOF
206
207sed -e "s|#!/bin/bash|#!/bin/sh|" utils/gssd/gss_destroy_creds > $RPM_BUILD_ROOT%{_sbindir}/gss_destroy_creds
208
209mv $RPM_BUILD_ROOT%{_sbindir}/rpcdebug $RPM_BUILD_ROOT/sbin
210install utils/idmapd/idmapd.conf $RPM_BUILD_ROOT%{_sysconfdir}/
211
212install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/nfs
213install %{SOURCE3} $RPM_BUILD_ROOT/etc/rc.d/init.d/nfslock
214install %{SOURCE4} $RPM_BUILD_ROOT/etc/rc.d/init.d/nfsfs
215install %{SOURCE5} $RPM_BUILD_ROOT/etc/rc.d/init.d/idmapd
216install %{SOURCE6} $RPM_BUILD_ROOT/etc/rc.d/init.d/gssd
217install %{SOURCE7} $RPM_BUILD_ROOT/etc/rc.d/init.d/svcgssd
218install %{SOURCE8} $RPM_BUILD_ROOT/etc/sysconfig/nfsd
219install %{SOURCE9} $RPM_BUILD_ROOT/etc/sysconfig/nfslock
220install %{SOURCE10} $RPM_BUILD_ROOT/etc/sysconfig/nfsfs
221
222> $RPM_BUILD_ROOT%{_var}/lib/nfs/rmtab
223> $RPM_BUILD_ROOT%{_sysconfdir}/exports
224
225rm $RPM_BUILD_ROOT%{_mandir}/man8/rpc.{mountd,nfsd,statd,svcgssd,gssd,idmapd,sm-notify}.8
226echo ".so mountd.8" > $RPM_BUILD_ROOT%{_mandir}/man8/rpc.mountd.8
227echo ".so nfsd.8" > $RPM_BUILD_ROOT%{_mandir}/man8/rpc.nfsd.8
228echo ".so statd.8" > $RPM_BUILD_ROOT%{_mandir}/man8/rpc.statd.8
229echo ".so sm-notify.8" > $RPM_BUILD_ROOT%{_mandir}/man8/rpc.sm-notify.8
230%if %{with nfs4}
231echo ".so gssd.8" > $RPM_BUILD_ROOT%{_mandir}/man8/rpc.gssd.8
232echo ".so idmapd.8" > $RPM_BUILD_ROOT%{_mandir}/man8/rpc.idmapd.8
233echo ".so svcgssd.8" > $RPM_BUILD_ROOT%{_mandir}/man8/rpc.svcgssd.8
234%endif
235
236touch $RPM_BUILD_ROOT/var/lib/nfs/xtab
237
238ln -sf /bin/true $RPM_BUILD_ROOT/sbin/fsck.nfs
239
240cp -a nfs html
241
242%clean
243rm -rf $RPM_BUILD_ROOT
244
245%post
246/sbin/chkconfig --add nfs
247%service nfs restart "NFS daemon"
248%if %{with nfs4}
249/sbin/chkconfig --add svcgssd
250%service svcgssd restart "RPC svcgssd"
251%endif
252
253%preun
254if [ "$1" = "0" ]; then
255 %service nfs stop
256 /sbin/chkconfig --del nfs
257%if %{with nfs4}
258 %service svcgssd stop
259 /sbin/chkconfig --del svcgssd
260%endif
261fi
262
263%post clients
264/sbin/chkconfig --add nfsfs
265%service nfsfs restart
266%if %{with nfs4}
267/sbin/chkconfig --add gssd
268%service gssd restart "RPC gssd"
269%endif
270
271%preun clients
272if [ "$1" = "0" ]; then
273 %service nfsfs stop
274 /sbin/chkconfig --del nfsfs
275%if %{with nfs4}
276 %service gssd stop
277 /sbin/chkconfig --del gssd
278%endif
279fi
280
281%pre lock
282%groupadd -g 191 rpcstatd
283%useradd -u 191 -d /var/lib/nfs/statd -s /bin/false -c "RPC statd user" -g rpcstatd rpcstatd
284
285%post lock
286/sbin/chkconfig --add nfslock
287%service nfslock restart "RPC statd"
288
289%preun lock
290if [ "$1" = "0" ]; then
291 %service nfslock stop
292 /sbin/chkconfig --del nfslock
293fi
294
295%postun lock
296if [ "$1" = "0" ]; then
297 %userremove rpcstatd
298 %groupremove rpcstatd
299fi
300
301%if %{with nfs4}
302%post common
303/sbin/chkconfig --add idmapd
304%service idmapd restart "RPC idmapd"
305
306%preun common
307if [ "$1" = "0" ]; then
308 %service idmapd stop
309 /sbin/chkconfig --del idmapd
310fi
311%endif
312
313%triggerpostun -- %{name} <= 1.1.0-0.rc1.1
314/sbin/chkconfig nfs reset
315%if %{with nfs4}
316/sbin/chkconfig svcgssd reset
317%endif
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%if %{with nfs4}
329/sbin/chkconfig gssd reset
330%endif
331
332%if %{with nfs4}
333%triggerpostun common -- %{name}-common <= 1.1.0-0.rc1.1
334/sbin/chkconfig idmapd reset
335%endif
336
337%files
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
346
347%attr(754,root,root) /etc/rc.d/init.d/nfs
348
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
354
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*
364%if %{with nfs4}
365%attr(754,root,root) /etc/rc.d/init.d/svcgssd
366%attr(755,root,root) %{_sbindir}/rpc.svcgssd
367%{_mandir}/man8/*svcgss*
368%endif
369
370%files lock
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
381
382%files clients
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*
388%if %{with mount}
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*
394%endif
395%if %{with nfs4}
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*
400%endif
401
402%files common
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
407%{_mandir}/man5/nfs*
408%if %{with nfs4}
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*
414%endif
This page took 0.108515 seconds and 4 git commands to generate.