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