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