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