]> 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_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:        2
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 %{__autoconf}
171 %configure \
172 %if %{with nfs4}
173         --enable-gss \
174         --with-krb5=%{_prefix} \
175         --enable-nfsv4 \
176 %else
177         --disable-gss \
178         --disable-nfsv4 \
179 %endif
180         %{?with_mount:--enable-mount} \
181         --enable-nfsv3 \
182         --enable-secure-statd \
183         --with-statedir=/var/lib/nfs \
184         --with-tcp-wrappers
185
186 %{__make} all
187
188 %install
189 rm -rf $RPM_BUILD_ROOT
190 install -d $RPM_BUILD_ROOT{/sbin,%{_sbindir},%{_mandir}/man{5,8}} \
191         $RPM_BUILD_ROOT%{_sysconfdir}/{rc.d/init.d,sysconfig} \
192         $RPM_BUILD_ROOT%{_var}/lib/nfs/{rpc_pipefs,v4recovery,statd}
193
194 %{__make} install \
195         DESTDIR=$RPM_BUILD_ROOT
196
197 cat >$RPM_BUILD_ROOT%{_sbindir}/start-statd <<EOF
198 #!/bin/sh
199 # mount.nfs calls this script when mounting a filesystem with locking
200 # enabled, but when statd does not seem to be running (based on
201 # /var/run/rpc.statd.pid).
202 exec /sbin/service nfslock start
203 EOF
204
205 sed -e "s|#!/bin/bash|#!/bin/sh|" utils/gssd/gss_destroy_creds > $RPM_BUILD_ROOT%{_sbindir}/gss_destroy_creds
206
207 mv $RPM_BUILD_ROOT%{_sbindir}/rpcdebug $RPM_BUILD_ROOT/sbin
208 install utils/idmapd/idmapd.conf $RPM_BUILD_ROOT%{_sysconfdir}/
209
210 install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/nfs
211 install %{SOURCE3} $RPM_BUILD_ROOT/etc/rc.d/init.d/nfslock
212 install %{SOURCE4} $RPM_BUILD_ROOT/etc/rc.d/init.d/nfsfs
213 install %{SOURCE5} $RPM_BUILD_ROOT/etc/rc.d/init.d/idmapd
214 install %{SOURCE6} $RPM_BUILD_ROOT/etc/rc.d/init.d/gssd
215 install %{SOURCE7} $RPM_BUILD_ROOT/etc/rc.d/init.d/svcgssd
216 install %{SOURCE8} $RPM_BUILD_ROOT/etc/sysconfig/nfsd
217 install %{SOURCE9} $RPM_BUILD_ROOT/etc/sysconfig/nfslock
218 install %{SOURCE10} $RPM_BUILD_ROOT/etc/sysconfig/nfsfs
219
220 > $RPM_BUILD_ROOT%{_var}/lib/nfs/rmtab
221 > $RPM_BUILD_ROOT%{_sysconfdir}/exports
222
223 rm $RPM_BUILD_ROOT%{_mandir}/man8/rpc.{mountd,nfsd,statd,sm-notify}.8
224 echo ".so mountd.8"  >  $RPM_BUILD_ROOT%{_mandir}/man8/rpc.mountd.8
225 echo ".so nfsd.8"    >  $RPM_BUILD_ROOT%{_mandir}/man8/rpc.nfsd.8
226 echo ".so statd.8"   >  $RPM_BUILD_ROOT%{_mandir}/man8/rpc.statd.8
227 echo ".so sm-notify.8" > $RPM_BUILD_ROOT%{_mandir}/man8/rpc.sm-notify.8
228 %if %{with nfs4}
229 rm $RPM_BUILD_ROOT%{_mandir}/man8/rpc.{svcgssd,gssd,idmapd}.8
230 echo ".so gssd.8"    >  $RPM_BUILD_ROOT%{_mandir}/man8/rpc.gssd.8
231 echo ".so idmapd.8"  >  $RPM_BUILD_ROOT%{_mandir}/man8/rpc.idmapd.8
232 echo ".so svcgssd.8" >  $RPM_BUILD_ROOT%{_mandir}/man8/rpc.svcgssd.8
233 %endif
234
235 touch $RPM_BUILD_ROOT/var/lib/nfs/xtab
236
237 ln -sf /bin/true $RPM_BUILD_ROOT/sbin/fsck.nfs
238
239 cp -a nfs html
240
241 %clean
242 rm -rf $RPM_BUILD_ROOT
243
244 %post
245 /sbin/chkconfig --add nfs
246 %service nfs restart "NFS daemon"
247 %if %{with nfs4}
248 /sbin/chkconfig --add svcgssd
249 %service svcgssd restart "RPC svcgssd"
250 %endif
251
252 %preun
253 if [ "$1" = "0" ]; then
254         %service nfs stop
255         /sbin/chkconfig --del nfs
256 %if %{with nfs4}
257         %service svcgssd stop
258         /sbin/chkconfig --del svcgssd
259 %endif
260 fi
261
262 %post clients
263 /sbin/chkconfig --add nfsfs
264 %service nfsfs restart
265 %if %{with nfs4}
266 /sbin/chkconfig --add gssd
267 %service gssd restart "RPC gssd"
268 %endif
269
270 %preun clients
271 if [ "$1" = "0" ]; then
272         %service nfsfs stop
273         /sbin/chkconfig --del nfsfs
274 %if %{with nfs4}
275         %service gssd stop
276         /sbin/chkconfig --del gssd
277 %endif
278 fi
279
280 %pre lock
281 %groupadd -g 191 rpcstatd
282 %useradd -u 191 -d /var/lib/nfs/statd -s /bin/false -c "RPC statd user" -g rpcstatd rpcstatd
283
284 %post lock
285 /sbin/chkconfig --add nfslock
286 %service nfslock restart "RPC statd"
287
288 %preun lock
289 if [ "$1" = "0" ]; then
290         %service nfslock stop
291         /sbin/chkconfig --del nfslock
292 fi
293
294 %postun lock
295 if [ "$1" = "0" ]; then
296         %userremove rpcstatd
297         %groupremove rpcstatd
298 fi
299
300 %if %{with nfs4}
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 %endif
311
312 %triggerpostun -- %{name} <= 1.1.0-0.rc1.1
313 /sbin/chkconfig nfs reset
314 %if %{with nfs4}
315 /sbin/chkconfig svcgssd reset
316 %endif
317
318 %triggerpostun lock -- %{name}-lock <= 1.1.0-0.rc1.1
319 /sbin/chkconfig nfslock reset
320
321 %triggerpostun clients -- %{name}-clients < 1.1.0-0.rc1.1
322 if [ -f /etc/sysconfig/nfsclient.rpmsave ]; then
323         mv -f /etc/sysconfig/nfsfs{,.rpmnew}
324         mv -f /etc/sysconfig/nfsclient.rpmsave /etc/sysconfig/nfsfs
325 fi
326 /sbin/chkconfig nfsfs reset
327 %if %{with nfs4}
328 /sbin/chkconfig gssd reset
329 %endif
330
331 %if %{with nfs4}
332 %triggerpostun common -- %{name}-common <= 1.1.0-0.rc1.1
333 /sbin/chkconfig idmapd reset
334 %endif
335
336 %files
337 %defattr(644,root,root,755)
338 %doc ChangeLog README html
339 %attr(755,root,root) /sbin/rpcdebug
340 %attr(755,root,root) /sbin/fsck.nfs
341 %attr(755,root,root) %{_sbindir}/exportfs
342 %attr(755,root,root) %{_sbindir}/rpc.mountd
343 %attr(755,root,root) %{_sbindir}/rpc.nfsd
344 %attr(755,root,root) %{_sbindir}/nfsstat
345
346 %attr(754,root,root) /etc/rc.d/init.d/nfs
347
348 %attr(664,root,fileshare) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/exports
349 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/nfsd
350 %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/nfs/xtab
351 %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/nfs/etab
352 %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/nfs/rmtab
353
354 %{_mandir}/man5/exports.5*
355 %{_mandir}/man7/nfsd.7*
356 %{_mandir}/man8/exportfs.8*
357 %{_mandir}/man8/mountd.8*
358 %{_mandir}/man8/nfsd.8*
359 %{_mandir}/man8/nfsstat.8*
360 %{_mandir}/man8/rpc.mountd.8*
361 %{_mandir}/man8/rpc.nfsd.8*
362 %{_mandir}/man8/rpcdebug.8*
363 %if %{with nfs4}
364 %attr(754,root,root) /etc/rc.d/init.d/svcgssd
365 %attr(755,root,root) %{_sbindir}/rpc.svcgssd
366 %{_mandir}/man8/*svcgss*
367 %endif
368
369 %files lock
370 %defattr(644,root,root,755)
371 %attr(700,rpcstatd,rpcstatd) %dir %{_var}/lib/nfs/statd
372 %attr(755,root,root) %{_sbindir}/rpc.statd
373 %attr(755,root,root) %{_sbindir}/sm-notify
374 %attr(755,root,root) %{_sbindir}/start-statd
375 %attr(754,root,root) /etc/rc.d/init.d/nfslock
376 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/nfslock
377 %{_mandir}/man8/*statd.8*
378 %{_mandir}/man8/*sm-notify.8*
379 %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/nfs/state
380
381 %files clients
382 %defattr(644,root,root,755)
383 %attr(754,root,root) /etc/rc.d/init.d/nfsfs
384 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/nfsfs
385 %attr(755,root,root) %{_sbindir}/showmount
386 %{_mandir}/man8/showmount.8*
387 %if %{with mount}
388 %attr(4755,root,root) /sbin/mount.nfs
389 %attr(4755,root,root) /sbin/mount.nfs4
390 %attr(4755,root,root) /sbin/umount.nfs
391 %attr(4755,root,root) /sbin/umount.nfs4
392 %{_mandir}/man8/*mount.nfs.8*
393 %endif
394 %if %{with nfs4}
395 %attr(754,root,root) /etc/rc.d/init.d/gssd
396 %attr(755,root,root) %{_sbindir}/rpc.gssd
397 %{_mandir}/man8/rpc.gssd*
398 %{_mandir}/man8/gssd*
399 %endif
400
401 %files common
402 %defattr(644,root,root,755)
403 %attr(755,root,root) %dir %{_var}/lib/nfs
404 %attr(755,root,root) %dir %{_var}/lib/nfs/rpc_pipefs
405 %attr(755,root,root) %dir %{_var}/lib/nfs/v4recovery
406 %{_mandir}/man5/nfs*
407 %if %{with nfs4}
408 %attr(754,root,root) /etc/rc.d/init.d/idmapd
409 %attr(755,root,root) %{_sbindir}/gss_*
410 %attr(755,root,root) %{_sbindir}/rpc.idmapd
411 %attr(660,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/idmapd.conf
412 %{_mandir}/man[58]/*idmap*
413 %endif
This page took 0.059025 seconds and 4 git commands to generate.