]> git.pld-linux.org Git - packages/nfs-utils.git/blame - nfs-utils.spec
- libtirpc and librpcsecgss are alternatives here
[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 4#
7e12652e 5# Conditional build:
283347dc 6%bcond_with krb5 # build with MIT Kerberos instead of Heimdal
af480148 7%bcond_without tirpc # use librpcsecgss instead of libtirpc
7e12652e 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
a8d9684e 15Version: 1.2.2
20c6e83b 16Release: 2
a243ee1c 17License: GPL v2
cb62e4f3 18Group: Networking/Daemons
655ec3a4 19Source0: http://www.kernel.org/pub/linux/utils/nfs/%{name}-%{version}.tar.bz2
a8d9684e 20# Source0-md5: dad92f64db3266c7757f71bb53ee8f35
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
12b255f7
JR
33Patch0: %{name}-install.patch
34Patch1: %{name}-statdpath.patch
97e076ab
JR
35Patch2: %{name}-subsys.patch
36Patch3: %{name}-union-mount.patch
37Patch4: %{name}-kerberos-ac.patch
38Patch5: %{name}-no_libgssapi.patch
39Patch6: %{name}-pkgconfig_ac.patch
40Patch7: %{name}-heimdal_functions.patch
e406194a 41URL: http://nfs.sourceforge.net/
385bb326 42BuildRequires: autoconf >= 2.59
4f5693d9 43BuildRequires: automake
6b12a6b6 44BuildRequires: cpp
7c78342b 45BuildRequires: libblkid-devel
f6e2d8d1 46BuildRequires: libcap-devel
51dfb953 47BuildRequires: libevent-devel >= 1.2
12b255f7 48BuildRequires: libnfsidmap-devel >= 0.21-3
f45e2dff 49BuildRequires: libtool
4ae359cd 50BuildRequires: libwrap-devel
385bb326 51BuildRequires: pkgconfig
af480148
JB
52%if %{with tirpc}
53BuildRequires: libtirpc-devel >= 1:0.1.10-4
54%else
55BuildRequires: librpcsecgss-devel >= 0.16
56%endif
57%if %{with krb5}
58BuildRequires: krb5-devel >= 1.6
59BuildRequires: libgssglue-devel >= 0.1
60%else
61BuildRequires: heimdal-devel >= 1.0
62BuildConflicts: libgssglue-devel
63%endif
a243ee1c
JB
64# lucid context fields mismatch with current version of spkm3.h
65BuildConflicts: gss_mech_spkm3-devel
8a834723 66Requires(post): fileutils
c5c607cb
ER
67Requires(post): sed >= 4.0
68Requires(post,preun): /sbin/chkconfig
69Requires: %{name}-common = %{version}-%{release}
4ec71bdf 70Requires: rc-scripts >= 0.4.1.5
f6e2d8d1 71Requires: rpcbind >= 0.1.7
c5c607cb 72Requires: setup >= 2.4.6-7
1bc6345f 73Provides: nfsdaemon
8a834723
JB
74Obsoletes: knfsd
75Obsoletes: nfs-server
c5c607cb 76Obsoletes: nfsdaemon
8a834723 77Conflicts: kernel < 2.2.5
97e076ab 78Conflicts: krb5-common < 1.7
1bc6345f 79ExcludeArch: armv4l
d48d450b 80BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
1bc6345f
JR
81
82%description
0011b22d 83This is the *new* kernel NFS server and related tools. It provides a
84much higher level of performance than the traditional Linux user-land
85NFS server.
1bc6345f 86
d44bd88d
JR
87%description -l pl.UTF-8
88To jest *nowy* działający na poziomie jądra serwer NFS oraz związane z
89nim narzędzia. Serwer ten dostarcza znacznie większą wydajność niż
90tradycyjny, działający na poziomie użytkownika serwer NFS.
1bc6345f 91
d44bd88d
JR
92%description -l pt_BR.UTF-8
93O pacote nfs-utils provê os utilitários para o cliente e servidor NFS
f8d9e6d5 94do Linux.
d48d450b 95
d44bd88d
JR
96%description -l ru.UTF-8
97Пакет nfs-utils предоставляет демона для NFS-сервера, включенного в
98ядро, и сопутствующие утилиты, которые обеспечивают намного большую
99производительность, чем традиционные Linux NFS-сервера, используемые
100большинством пользователей.
011b72fa 101
d44bd88d
JR
102%description -l uk.UTF-8
103Пакет nfs-utils надає демона для NFS-сервера, вбудованого в ядро, та
104супутні утиліти, які забезпечують набагато більшу продуктивність, ніж
105традиційні Linux NFS-сервери, які використовує більшість користувачів.
011b72fa 106
1bc6345f 107%package clients
a4d8ac59 108Summary: Clients for connecting to a remote NFS server
ada059e5 109Summary(pl.UTF-8): Klienci do łączenia się ze zdalnym serwerem NFS
1bc6345f 110Group: Networking
8a834723 111Requires(post,preun): /sbin/chkconfig
365015e3 112Requires: %{name}-common = %{version}-%{release}
c5c607cb
ER
113Requires: psmisc
114Requires: rc-scripts
a4d8ac59 115Provides: nfs-server-clients
c5c607cb 116Provides: nfsclient
523e5742 117Obsoletes: knfsd-clients
c5c607cb
ER
118Obsoletes: nfs-server-clients
119Obsoletes: nfsclient
97e076ab 120Conflicts: krb5-common < 1.7
1bc6345f
JR
121
122%description clients
123The nfs-server-clients package contains the showmount program.
124Showmount queries the mount daemon on a remote host for information
0011b22d 125about the NFS (Network File System) server on the remote host. For
1bc6345f 126example, showmount can display the clients which are mounted on that
0011b22d 127host. This package is not needed to mount NFS volumes.
1bc6345f 128
d44bd88d
JR
129%description clients -l pl.UTF-8
130Pakiet zawiera program showmount służący do odpytywania serwera NFS.
0fb1eec5 131Showmount pyta demona na zdalnej maszynie o informacje NFS na zdalnym
d44bd88d 132hoście. Na przykład, showmount potrafi pokazać klientów, którzy są
26aacf7e 133zamountowani na tym serwerze. Ten pakiet nie jest konieczny do
d44bd88d 134zamountowania zasobów NFS.
1bc6345f
JR
135
136%package lock
a4d8ac59 137Summary: Programs for NFS file locking
ada059e5 138Summary(pl.UTF-8): Programy do obsługi blokowania plików poprzez NFS (lock)
d8de81c5 139Group: Networking
8a834723 140Requires(post,preun): /sbin/chkconfig
c5c607cb 141Requires: rc-scripts
f6e2d8d1 142Requires: rpcbind >= 0.1.7
0048f570 143Provides: group(rpcstatd)
1bc6345f 144Provides: nfslockd
f6e2d8d1 145Provides: user(rpcstatd)
8a834723 146Obsoletes: knfsd-lock
c5c607cb 147Obsoletes: nfslockd
1bc6345f
JR
148
149%description lock
150The nfs-lock pacage contains programs which support the NFS file lock.
151Install nfs-lock if you want to use file lock over NFS.
152
d44bd88d
JR
153%description lock -l pl.UTF-8
154Ten pakiet zawiera programy umożliwiające wykonywanie blokowania
155plików (file locking) poprzez NFS.
1bc6345f 156
365015e3
AM
157%package common
158Summary: Common programs for NFS
ada059e5 159Summary(pl.UTF-8): Wspólne programy do obsługi NFS
365015e3 160Group: Networking
12b255f7 161Requires: libnfsidmap >= 0.21-3
991bb874 162Conflicts: mount < 2.13-0.pre7.1
365015e3
AM
163
164%description common
165Common programs for NFS.
166
d44bd88d
JR
167%description common -l pl.UTF-8
168Wspólne programy do obsługi NFS.
365015e3 169
1bc6345f 170%prep
d01055c8 171%setup -q -a1
1bc6345f 172%patch0 -p1
f4ada66b 173%patch1 -p1
97e076ab 174%patch2 -p1
b54d7789 175%patch3 -p1
655ec3a4 176%patch4 -p1
283347dc 177%{!?with_krb5:%patch5 -p1}
7e12652e 178%patch6 -p1
97e076ab 179%patch7 -p0
c4a4910b 180
1bc6345f 181%build
82ae84d5
AG
182%{__libtoolize}
183%{__aclocal} -I aclocal
e8e7d0e7 184%{__autoconf}
82ae84d5
AG
185%{__autoheader}
186%{__automake}
1bc6345f 187%configure \
1bc6345f 188 --enable-nfsv3 \
655ec3a4
JR
189 --enable-nfsv4 \
190 --enable-gss \
191 --enable-mount \
af480148 192 --%{?with_tirpc:en}%{!?with_tirpc:dis}able-tirpc \
655ec3a4 193 --enable-ipv6 \
f45e2dff 194 --with-statedir=/var/lib/nfs \
655ec3a4
JR
195 --with-statduser=rpcstatd \
196 --with-start-statd=%{_sbindir}/start-statd \
197 --with-tcp-wrappers \
7e12652e 198 --with-krb5-config=%{_bindir}/krb5-config
4f5693d9 199
cee80e09 200%{__make} all
1bc6345f
JR
201
202%install
203rm -rf $RPM_BUILD_ROOT
655ec3a4
JR
204install -d $RPM_BUILD_ROOT%{_sysconfdir}/{rc.d/init.d,sysconfig} \
205 $RPM_BUILD_ROOT%{_var}/lib/nfs/{rpc_pipefs,v4recovery}
1bc6345f 206
e4300aca 207%{__make} install \
4f5693d9 208 DESTDIR=$RPM_BUILD_ROOT
1bc6345f 209
6a066142
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
0048f570 220mv $RPM_BUILD_ROOT%{_sbindir}/rpcdebug $RPM_BUILD_ROOT/sbin
4f5693d9 221
1bc6345f
JR
222install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/nfs
223install %{SOURCE3} $RPM_BUILD_ROOT/etc/rc.d/init.d/nfslock
75e03a22
JR
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
1bc6345f 231
d48d450b 232> $RPM_BUILD_ROOT%{_var}/lib/nfs/rmtab
233> $RPM_BUILD_ROOT%{_sysconfdir}/exports
1bc6345f 234
727dd6c6 235rm $RPM_BUILD_ROOT%{_mandir}/man8/rpc.{mountd,nfsd,statd,sm-notify}.8
655ec3a4 236rm $RPM_BUILD_ROOT%{_mandir}/man8/rpc.{svcgssd,gssd,idmapd}.8
1bc6345f
JR
237echo ".so mountd.8" > $RPM_BUILD_ROOT%{_mandir}/man8/rpc.mountd.8
238echo ".so nfsd.8" > $RPM_BUILD_ROOT%{_mandir}/man8/rpc.nfsd.8
1bc6345f 239echo ".so statd.8" > $RPM_BUILD_ROOT%{_mandir}/man8/rpc.statd.8
6a066142 240echo ".so sm-notify.8" > $RPM_BUILD_ROOT%{_mandir}/man8/rpc.sm-notify.8
4f5693d9
JR
241echo ".so gssd.8" > $RPM_BUILD_ROOT%{_mandir}/man8/rpc.gssd.8
242echo ".so idmapd.8" > $RPM_BUILD_ROOT%{_mandir}/man8/rpc.idmapd.8
243echo ".so svcgssd.8" > $RPM_BUILD_ROOT%{_mandir}/man8/rpc.svcgssd.8
1bc6345f 244
9df625b5 245touch $RPM_BUILD_ROOT/var/lib/nfs/xtab
1bc6345f 246
959e2a35
AM
247ln -sf /bin/true $RPM_BUILD_ROOT/sbin/fsck.nfs
248
11fad0cc 249cp -a nfs html
1bc6345f
JR
250
251%clean
252rm -rf $RPM_BUILD_ROOT
253
254%post
f511a355 255/sbin/chkconfig --add nfs
c5c607cb 256%service nfs restart "NFS daemon"
809898a3 257/sbin/chkconfig --add svcgssd
6a066142 258%service svcgssd restart "RPC svcgssd"
1bc6345f
JR
259
260%preun
f511a355 261if [ "$1" = "0" ]; then
c5c607cb 262 %service nfs stop
f511a355 263 /sbin/chkconfig --del nfs
809898a3
JR
264 %service svcgssd stop
265 /sbin/chkconfig --del svcgssd
f511a355 266fi
1bc6345f 267
e661c6c4 268%post clients
f511a355 269/sbin/chkconfig --add nfsfs
c5c607cb 270%service nfsfs restart
809898a3 271/sbin/chkconfig --add gssd
6a066142 272%service gssd restart "RPC gssd"
e661c6c4
JR
273
274%preun clients
f511a355 275if [ "$1" = "0" ]; then
c5c607cb 276 %service nfsfs stop
f511a355 277 /sbin/chkconfig --del nfsfs
809898a3
JR
278 %service gssd stop
279 /sbin/chkconfig --del gssd
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%post common
303/sbin/chkconfig --add idmapd
6a066142 304%service idmapd restart "RPC idmapd"
809898a3
JR
305
306%preun common
307if [ "$1" = "0" ]; then
308 %service idmapd stop
309 /sbin/chkconfig --del idmapd
310fi
809898a3 311
6f71fa60 312%triggerpostun -- %{name} < 1.1.0-0.rc1.1
0048f570 313/sbin/chkconfig nfs reset
6a066142 314/sbin/chkconfig svcgssd reset
0048f570 315
6f71fa60 316%triggerpostun lock -- %{name}-lock < 1.1.0-0.rc1.1
0048f570
JR
317/sbin/chkconfig nfslock reset
318
6a066142 319%triggerpostun clients -- %{name}-clients < 1.1.0-0.rc1.1
11fad0cc
ER
320if [ -f /etc/sysconfig/nfsclient.rpmsave ]; then
321 mv -f /etc/sysconfig/nfsfs{,.rpmnew}
322 mv -f /etc/sysconfig/nfsclient.rpmsave /etc/sysconfig/nfsfs
323fi
0048f570 324/sbin/chkconfig nfsfs reset
6a066142 325/sbin/chkconfig gssd reset
6a066142 326
6f71fa60 327%triggerpostun common -- %{name}-common < 1.1.0-0.rc1.1
6a066142 328/sbin/chkconfig idmapd reset
11fad0cc 329
1bc6345f
JR
330%files
331%defattr(644,root,root,755)
4f5693d9 332%doc ChangeLog README html
1bc6345f 333%attr(755,root,root) /sbin/rpcdebug
959e2a35 334%attr(755,root,root) /sbin/fsck.nfs
1bc6345f
JR
335%attr(755,root,root) %{_sbindir}/exportfs
336%attr(755,root,root) %{_sbindir}/rpc.mountd
337%attr(755,root,root) %{_sbindir}/rpc.nfsd
338%attr(755,root,root) %{_sbindir}/nfsstat
1bc6345f
JR
339
340%attr(754,root,root) /etc/rc.d/init.d/nfs
341
5b70fba4
JB
342%attr(664,root,fileshare) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/exports
343%config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/nfsd
344%config(noreplace) %verify(not md5 mtime size) %{_var}/lib/nfs/xtab
345%config(noreplace) %verify(not md5 mtime size) %{_var}/lib/nfs/etab
346%config(noreplace) %verify(not md5 mtime size) %{_var}/lib/nfs/rmtab
1bc6345f 347
8b926d92
AG
348%{_mandir}/man5/exports.5*
349%{_mandir}/man7/nfsd.7*
1bc6345f
JR
350%{_mandir}/man8/exportfs.8*
351%{_mandir}/man8/mountd.8*
352%{_mandir}/man8/nfsd.8*
353%{_mandir}/man8/nfsstat.8*
354%{_mandir}/man8/rpc.mountd.8*
355%{_mandir}/man8/rpc.nfsd.8*
0048f570 356%{_mandir}/man8/rpcdebug.8*
0048f570 357%attr(754,root,root) /etc/rc.d/init.d/svcgssd
ea4a6f67
AM
358%attr(755,root,root) %{_sbindir}/rpc.svcgssd
359%{_mandir}/man8/*svcgss*
ea4a6f67 360
1bc6345f
JR
361%files lock
362%defattr(644,root,root,755)
0048f570 363%attr(700,rpcstatd,rpcstatd) %dir %{_var}/lib/nfs/statd
655ec3a4
JR
364%attr(700,rpcstatd,rpcstatd) %dir %{_var}/lib/nfs/statd/sm
365%attr(700,rpcstatd,rpcstatd) %dir %{_var}/lib/nfs/statd/sm.bak
366%attr(600,rpcstatd,rpcstatd) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/nfs/statd/state
1bc6345f 367%attr(755,root,root) %{_sbindir}/rpc.statd
100fd575
JR
368%attr(755,root,root) %{_sbindir}/sm-notify
369%attr(755,root,root) %{_sbindir}/start-statd
1bc6345f 370%attr(754,root,root) /etc/rc.d/init.d/nfslock
5b70fba4 371%config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/nfslock
100fd575 372%{_mandir}/man8/*statd.8*
6a066142 373%{_mandir}/man8/*sm-notify.8*
1bc6345f
JR
374
375%files clients
376%defattr(644,root,root,755)
e661c6c4 377%attr(754,root,root) /etc/rc.d/init.d/nfsfs
11fad0cc 378%config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/nfsfs
1bc6345f
JR
379%attr(755,root,root) %{_sbindir}/showmount
380%{_mandir}/man8/showmount.8*
0048f570 381%attr(4755,root,root) /sbin/mount.nfs
0048f570 382%attr(4755,root,root) /sbin/umount.nfs
655ec3a4 383%attr(4755,root,root) /sbin/mount.nfs4
0048f570
JR
384%attr(4755,root,root) /sbin/umount.nfs4
385%{_mandir}/man8/*mount.nfs.8*
0048f570 386%attr(754,root,root) /etc/rc.d/init.d/gssd
27439ad6 387%attr(755,root,root) %{_sbindir}/rpc.gssd
ea4a6f67
AM
388%{_mandir}/man8/rpc.gssd*
389%{_mandir}/man8/gssd*
ea4a6f67 390
365015e3
AM
391%files common
392%defattr(644,root,root,755)
f6e2d8d1 393%dir %{_var}/lib/nfs
394%dir %{_var}/lib/nfs/rpc_pipefs
395%dir %{_var}/lib/nfs/v4recovery
0048f570 396%{_mandir}/man5/nfs*
0048f570 397%attr(754,root,root) /etc/rc.d/init.d/idmapd
27439ad6
JR
398%attr(755,root,root) %{_sbindir}/gss_*
399%attr(755,root,root) %{_sbindir}/rpc.idmapd
365015e3 400%{_mandir}/man[58]/*idmap*
This page took 0.168425 seconds and 4 git commands to generate.