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