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