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