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