]> git.pld-linux.org Git - packages/nfs-utils.git/blob - nfs-utils.spec
- rel 2
[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:        2
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}-keytab-path.patch
35 Patch3:         %{name}-subsys.patch
36 Patch4:         %{name}-union-mount.patch
37 Patch5:         %{name}-kerberos-ac.patch
38 Patch6:         %{name}-no_libgssapi.patch
39 Patch7:         %{name}-pkgconfig_ac.patch
40 Patch8:         %{name}-heimdal_functions.patch
41 URL:            http://nfs.sourceforge.net/
42 BuildRequires:  autoconf >= 2.59
43 BuildRequires:  automake
44 BuildRequires:  cpp
45 %if %{with heimdal}
46 BuildRequires:  heimdal-devel >= 1.0
47 %else
48 BuildRequires:  krb5-devel >= 1.6
49 BuildRequires:  libgssglue-devel >= 0.1
50 %endif
51 BuildRequires:  libblkid-devel
52 BuildRequires:  libevent-devel >= 1.2
53 BuildRequires:  libnfsidmap-devel >= 0.21-3
54 BuildRequires:  librpcsecgss-devel >= 0.16
55 BuildRequires:  libtirpc-devel >= 1:0.1.10-4
56 BuildRequires:  libtool
57 BuildRequires:  libwrap-devel
58 BuildRequires:  pkgconfig
59 BuildRequires:  sed >= 4.0
60 # lucid context fields mismatch with current version of spkm3.h
61 BuildConflicts: gss_mech_spkm3-devel
62 Requires(post): fileutils
63 Requires(post): sed >= 4.0
64 Requires(post,preun):   /sbin/chkconfig
65 Requires:       %{name}-common = %{version}-%{release}
66 Requires:       rpcbind >= 0.1.7
67 Requires:       rc-scripts >= 0.4.1.5
68 Requires:       setup >= 2.4.6-7
69 Provides:       nfsdaemon
70 Obsoletes:      knfsd
71 Obsoletes:      nfs-server
72 Obsoletes:      nfsdaemon
73 Conflicts:      kernel < 2.2.5
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
116 %description clients
117 The nfs-server-clients package contains the showmount program.
118 Showmount queries the mount daemon on a remote host for information
119 about the NFS (Network File System) server on the remote host. For
120 example, showmount can display the clients which are mounted on that
121 host. This package is not needed to mount NFS volumes.
122
123 %description clients -l pl.UTF-8
124 Pakiet zawiera program showmount służący do odpytywania serwera NFS.
125 Showmount pyta demona na zdalnej maszynie o informacje NFS na zdalnym
126 hoście. Na przykład, showmount potrafi pokazać klientów, którzy są
127 zamountowani na tym serwerze. Ten pakiet nie jest konieczny do
128 zamountowania zasobów NFS.
129
130 %package lock
131 Summary:        Programs for NFS file locking
132 Summary(pl.UTF-8):      Programy do obsługi blokowania plików poprzez NFS (lock)
133 Group:          Networking
134 Requires(post,preun):   /sbin/chkconfig
135 Requires:       rpcbind >= 0.1.7
136 Requires:       rc-scripts
137 Provides:       group(rpcstatd)
138 Provides:       user(rpcstatd)
139 Provides:       nfslockd
140 Obsoletes:      knfsd-lock
141 Obsoletes:      nfslockd
142
143 %description lock
144 The nfs-lock pacage contains programs which support the NFS file lock.
145 Install nfs-lock if you want to use file lock over NFS.
146
147 %description lock -l pl.UTF-8
148 Ten pakiet zawiera programy umożliwiające wykonywanie blokowania
149 plików (file locking) poprzez NFS.
150
151 %package common
152 Summary:        Common programs for NFS
153 Summary(pl.UTF-8):      Wspólne programy do obsługi NFS
154 Group:          Networking
155 Requires:       libnfsidmap >= 0.21-3
156 Conflicts:      mount < 2.13-0.pre7.1
157
158 %description common
159 Common programs for NFS.
160
161 %description common -l pl.UTF-8
162 Wspólne programy do obsługi NFS.
163
164 %prep
165 %setup -q -a1
166 %patch0 -p1
167 %patch1 -p1
168 %{!?with_heimdal:%patch2 -p1}
169 %patch3 -p1
170 %patch4 -p1
171 %if %{with heimdal}
172 %patch5 -p1
173 %patch6 -p1
174 %patch7 -p1
175 %patch8 -p0
176 %endif
177
178 # conflict with GNU stdio extension
179 sed -i -e 's/dprintf/dbgprintf/' support/include/ha-callout.h utils/statd/*.[ch]
180
181 %build
182 %{__libtoolize}
183 %{__aclocal} -I aclocal
184 %{__autoconf}
185 %{__autoheader}
186 %{__automake}
187 %configure \
188         --enable-nfsv3 \
189         --enable-nfsv4 \
190         --enable-gss \
191         --enable-mount \
192         --enable-tirpc \
193         --enable-ipv6 \
194         --with-statedir=/var/lib/nfs \
195         --with-statduser=rpcstatd \
196         --with-start-statd=%{_sbindir}/start-statd \
197         --with-tcp-wrappers \
198 %if %{with heimdal}
199         --with-krb5-config=%{_bindir}/krb5-config
200 %else
201         --with-krb5=%{_prefix}
202 %endif
203
204 %{__make} all
205
206 %install
207 rm -rf $RPM_BUILD_ROOT
208 install -d $RPM_BUILD_ROOT%{_sysconfdir}/{rc.d/init.d,sysconfig} \
209         $RPM_BUILD_ROOT%{_var}/lib/nfs/{rpc_pipefs,v4recovery}
210
211 %{__make} install \
212         DESTDIR=$RPM_BUILD_ROOT
213
214 cat >$RPM_BUILD_ROOT%{_sbindir}/start-statd <<EOF
215 #!/bin/sh
216 # mount.nfs calls this script when mounting a filesystem with locking
217 # enabled, but when statd does not seem to be running (based on
218 # /var/run/rpc.statd.pid).
219 exec /sbin/service nfslock start
220 EOF
221
222 sed -e "s|#!/bin/bash|#!/bin/sh|" utils/gssd/gss_destroy_creds > $RPM_BUILD_ROOT%{_sbindir}/gss_destroy_creds
223
224 mv $RPM_BUILD_ROOT%{_sbindir}/rpcdebug $RPM_BUILD_ROOT/sbin
225
226 install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/nfs
227 install %{SOURCE3} $RPM_BUILD_ROOT/etc/rc.d/init.d/nfslock
228 install %{SOURCE4} $RPM_BUILD_ROOT/etc/rc.d/init.d/nfsfs
229 install %{SOURCE5} $RPM_BUILD_ROOT/etc/rc.d/init.d/idmapd
230 install %{SOURCE6} $RPM_BUILD_ROOT/etc/rc.d/init.d/gssd
231 install %{SOURCE7} $RPM_BUILD_ROOT/etc/rc.d/init.d/svcgssd
232 install %{SOURCE8} $RPM_BUILD_ROOT/etc/sysconfig/nfsd
233 install %{SOURCE9} $RPM_BUILD_ROOT/etc/sysconfig/nfslock
234 install %{SOURCE10} $RPM_BUILD_ROOT/etc/sysconfig/nfsfs
235
236 > $RPM_BUILD_ROOT%{_var}/lib/nfs/rmtab
237 > $RPM_BUILD_ROOT%{_sysconfdir}/exports
238
239 rm $RPM_BUILD_ROOT%{_mandir}/man8/rpc.{mountd,nfsd,statd,sm-notify}.8
240 rm $RPM_BUILD_ROOT%{_mandir}/man8/rpc.{svcgssd,gssd,idmapd}.8
241 echo ".so mountd.8"  >  $RPM_BUILD_ROOT%{_mandir}/man8/rpc.mountd.8
242 echo ".so nfsd.8"    >  $RPM_BUILD_ROOT%{_mandir}/man8/rpc.nfsd.8
243 echo ".so statd.8"   >  $RPM_BUILD_ROOT%{_mandir}/man8/rpc.statd.8
244 echo ".so sm-notify.8" > $RPM_BUILD_ROOT%{_mandir}/man8/rpc.sm-notify.8
245 echo ".so gssd.8"    >  $RPM_BUILD_ROOT%{_mandir}/man8/rpc.gssd.8
246 echo ".so idmapd.8"  >  $RPM_BUILD_ROOT%{_mandir}/man8/rpc.idmapd.8
247 echo ".so svcgssd.8" >  $RPM_BUILD_ROOT%{_mandir}/man8/rpc.svcgssd.8
248
249 touch $RPM_BUILD_ROOT/var/lib/nfs/xtab
250
251 ln -sf /bin/true $RPM_BUILD_ROOT/sbin/fsck.nfs
252
253 cp -a nfs html
254
255 %clean
256 rm -rf $RPM_BUILD_ROOT
257
258 %post
259 /sbin/chkconfig --add nfs
260 %service nfs restart "NFS daemon"
261 /sbin/chkconfig --add svcgssd
262 %service svcgssd restart "RPC svcgssd"
263
264 %preun
265 if [ "$1" = "0" ]; then
266         %service nfs stop
267         /sbin/chkconfig --del nfs
268         %service svcgssd stop
269         /sbin/chkconfig --del svcgssd
270 fi
271
272 %post clients
273 /sbin/chkconfig --add nfsfs
274 %service nfsfs restart
275 /sbin/chkconfig --add gssd
276 %service gssd restart "RPC gssd"
277
278 %preun clients
279 if [ "$1" = "0" ]; then
280         %service nfsfs stop
281         /sbin/chkconfig --del nfsfs
282         %service gssd stop
283         /sbin/chkconfig --del gssd
284 fi
285
286 %pre lock
287 %groupadd -g 191 rpcstatd
288 %useradd -u 191 -d /var/lib/nfs/statd -s /bin/false -c "RPC statd user" -g rpcstatd rpcstatd
289
290 %post lock
291 /sbin/chkconfig --add nfslock
292 %service nfslock restart "RPC statd"
293
294 %preun lock
295 if [ "$1" = "0" ]; then
296         %service nfslock stop
297         /sbin/chkconfig --del nfslock
298 fi
299
300 %postun lock
301 if [ "$1" = "0" ]; then
302         %userremove rpcstatd
303         %groupremove rpcstatd
304 fi
305
306 %post common
307 /sbin/chkconfig --add idmapd
308 %service idmapd restart "RPC idmapd"
309
310 %preun common
311 if [ "$1" = "0" ]; then
312         %service idmapd stop
313         /sbin/chkconfig --del idmapd
314 fi
315
316 %triggerpostun -- %{name} < 1.1.0-0.rc1.1
317 /sbin/chkconfig nfs reset
318 /sbin/chkconfig svcgssd reset
319
320 %triggerpostun lock -- %{name}-lock < 1.1.0-0.rc1.1
321 /sbin/chkconfig nfslock reset
322
323 %triggerpostun clients -- %{name}-clients < 1.1.0-0.rc1.1
324 if [ -f /etc/sysconfig/nfsclient.rpmsave ]; then
325         mv -f /etc/sysconfig/nfsfs{,.rpmnew}
326         mv -f /etc/sysconfig/nfsclient.rpmsave /etc/sysconfig/nfsfs
327 fi
328 /sbin/chkconfig nfsfs reset
329 /sbin/chkconfig gssd reset
330
331 %triggerpostun common -- %{name}-common < 1.1.0-0.rc1.1
332 /sbin/chkconfig idmapd reset
333
334 %files
335 %defattr(644,root,root,755)
336 %doc ChangeLog README html
337 %attr(755,root,root) /sbin/rpcdebug
338 %attr(755,root,root) /sbin/fsck.nfs
339 %attr(755,root,root) %{_sbindir}/exportfs
340 %attr(755,root,root) %{_sbindir}/rpc.mountd
341 %attr(755,root,root) %{_sbindir}/rpc.nfsd
342 %attr(755,root,root) %{_sbindir}/nfsstat
343
344 %attr(754,root,root) /etc/rc.d/init.d/nfs
345
346 %attr(664,root,fileshare) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/exports
347 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/nfsd
348 %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/nfs/xtab
349 %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/nfs/etab
350 %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/nfs/rmtab
351
352 %{_mandir}/man5/exports.5*
353 %{_mandir}/man7/nfsd.7*
354 %{_mandir}/man8/exportfs.8*
355 %{_mandir}/man8/mountd.8*
356 %{_mandir}/man8/nfsd.8*
357 %{_mandir}/man8/nfsstat.8*
358 %{_mandir}/man8/rpc.mountd.8*
359 %{_mandir}/man8/rpc.nfsd.8*
360 %{_mandir}/man8/rpcdebug.8*
361 %attr(754,root,root) /etc/rc.d/init.d/svcgssd
362 %attr(755,root,root) %{_sbindir}/rpc.svcgssd
363 %{_mandir}/man8/*svcgss*
364
365 %files lock
366 %defattr(644,root,root,755)
367 %attr(700,rpcstatd,rpcstatd) %dir %{_var}/lib/nfs/statd
368 %attr(700,rpcstatd,rpcstatd) %dir %{_var}/lib/nfs/statd/sm
369 %attr(700,rpcstatd,rpcstatd) %dir %{_var}/lib/nfs/statd/sm.bak
370 %attr(600,rpcstatd,rpcstatd) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/nfs/statd/state
371 %attr(755,root,root) %{_sbindir}/rpc.statd
372 %attr(755,root,root) %{_sbindir}/sm-notify
373 %attr(755,root,root) %{_sbindir}/start-statd
374 %attr(754,root,root) /etc/rc.d/init.d/nfslock
375 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/nfslock
376 %{_mandir}/man8/*statd.8*
377 %{_mandir}/man8/*sm-notify.8*
378
379 %files clients
380 %defattr(644,root,root,755)
381 %attr(754,root,root) /etc/rc.d/init.d/nfsfs
382 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/nfsfs
383 %attr(755,root,root) %{_sbindir}/showmount
384 %{_mandir}/man8/showmount.8*
385 %attr(4755,root,root) /sbin/mount.nfs
386 %attr(4755,root,root) /sbin/umount.nfs
387 %attr(4755,root,root) /sbin/mount.nfs4
388 %attr(4755,root,root) /sbin/umount.nfs4
389 %{_mandir}/man8/*mount.nfs.8*
390 %attr(754,root,root) /etc/rc.d/init.d/gssd
391 %attr(755,root,root) %{_sbindir}/rpc.gssd
392 %{_mandir}/man8/rpc.gssd*
393 %{_mandir}/man8/gssd*
394
395 %files common
396 %defattr(644,root,root,755)
397 %attr(755,root,root) %dir %{_var}/lib/nfs
398 %attr(755,root,root) %dir %{_var}/lib/nfs/rpc_pipefs
399 %attr(755,root,root) %dir %{_var}/lib/nfs/v4recovery
400 %{_mandir}/man5/nfs*
401 %attr(754,root,root) /etc/rc.d/init.d/idmapd
402 %attr(755,root,root) %{_sbindir}/gss_*
403 %attr(755,root,root) %{_sbindir}/rpc.idmapd
404 %{_mandir}/man[58]/*idmap*
This page took 0.076653 seconds and 4 git commands to generate.