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