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