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