]> git.pld-linux.org Git - packages/nfs-utils.git/blob - nfs-utils.spec
- outdated it seems
[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.0
16 Release:        6
17 License:        GPL
18 Group:          Networking/Daemons
19 Source0:        ftp://ftp.kernel.org/pub/linux/utils/nfs/%{name}-%{version}.tar.gz
20 # Source0-md5:  df88c6fe88a26f9797e74cb2d3291a2a
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.0-1/nfs-utils-1.1.0-CITI_NFS4_ALL-1.dif
36 Patch2:         %{name}-CITI_NFS4.patch
37 Patch3:         %{name}-statdpath.patch
38 Patch4:         %{name}-mount-fake.patch
39 Patch5:         %{name}-mountd.patch
40 Patch6:         %{name}-idmapd.conf.patch
41 Patch7:         %{name}-keytab-path.patch
42 Patch8:         %{name}-subsys.patch
43 Patch9:         %{name}-mountd-leak.patch
44 Patch10:        %{name}-libgssglue.patch
45 Patch11:        %{name}-mount-nosharecache.patch
46 URL:            http://nfs.sourceforge.net/
47 BuildRequires:  autoconf >= 2.59
48 BuildRequires:  automake
49 BuildRequires:  cpp
50 BuildRequires:  e2fsprogs-devel >= 1.39-5
51 %if %{with nfs4}
52 BuildRequires:  krb5-devel >= 1.6
53 BuildRequires:  libevent-devel >= 1.2
54 BuildRequires:  libgssglue-devel >= 0.1
55 BuildRequires:  libnfsidmap-devel
56 BuildRequires:  librpcsecgss-devel >= 0.16
57 %endif
58 BuildRequires:  libtool
59 BuildRequires:  libwrap-devel
60 BuildRequires:  pkgconfig
61 BuildRequires:  sed >= 4.0
62 Requires(post): fileutils
63 Requires(post): sed >= 4.0
64 Requires(post,preun):   /sbin/chkconfig
65 Requires:       %{name}-common = %{version}-%{release}
66 Requires:       portmap >= 4.0
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:       portmap >= 4.0
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
156 %description common
157 Common programs for NFS.
158
159 %description common -l pl.UTF-8
160 Wspólne programy do obsługi NFS.
161
162 %prep
163 %setup -q -a1
164 %patch0 -p1
165 %patch1 -p1
166 %patch2 -p1
167 %patch3 -p1
168 %patch4 -p1
169 %patch5 -p1
170 %patch6 -p1
171 %patch7 -p1
172 %patch8 -p1
173 %patch9 -p1
174 %patch10 -p1
175 %patch11 -p1
176
177 %build
178 %{__autoconf}
179 %configure \
180 %if %{with nfs4}
181         --enable-gss \
182         --with-krb5=%{_prefix} \
183         --enable-nfsv4 \
184 %else
185         --disable-gss \
186         --disable-nfsv4 \
187 %endif
188         %{?with_mount:--enable-mount} \
189         --disable-rquotad \
190         --enable-nfsv3 \
191         --enable-secure-statd \
192         --with-statedir=/var/lib/nfs \
193         --with-tcp-wrappers
194
195 %{__make} all
196
197 %install
198 rm -rf $RPM_BUILD_ROOT
199 install -d $RPM_BUILD_ROOT{/sbin,%{_sbindir},%{_mandir}/man{5,8}} \
200         $RPM_BUILD_ROOT%{_sysconfdir}/{rc.d/init.d,sysconfig} \
201         $RPM_BUILD_ROOT%{_var}/lib/nfs/{rpc_pipefs,v4recovery,statd}
202
203 %{__make} install \
204         DESTDIR=$RPM_BUILD_ROOT
205
206 cat >$RPM_BUILD_ROOT%{_sbindir}/start-statd <<EOF
207 #!/bin/sh
208 # mount.nfs calls this script when mounting a filesystem with locking
209 # enabled, but when statd does not seem to be running (based on
210 # /var/run/rpc.statd.pid).
211 exec /sbin/service nfslock start
212 EOF
213
214 sed -e "s|#!/bin/bash|#!/bin/sh|" utils/gssd/gss_destroy_creds > $RPM_BUILD_ROOT%{_sbindir}/gss_destroy_creds
215
216 mv $RPM_BUILD_ROOT%{_sbindir}/rpcdebug $RPM_BUILD_ROOT/sbin
217 install utils/idmapd/idmapd.conf $RPM_BUILD_ROOT%{_sysconfdir}/
218
219 install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/nfs
220 install %{SOURCE3} $RPM_BUILD_ROOT/etc/rc.d/init.d/nfslock
221 install %{SOURCE4} $RPM_BUILD_ROOT/etc/rc.d/init.d/nfsfs
222 install %{SOURCE5} $RPM_BUILD_ROOT/etc/rc.d/init.d/idmapd
223 install %{SOURCE6} $RPM_BUILD_ROOT/etc/rc.d/init.d/gssd
224 install %{SOURCE7} $RPM_BUILD_ROOT/etc/rc.d/init.d/svcgssd
225 install %{SOURCE8} $RPM_BUILD_ROOT/etc/sysconfig/nfsd
226 install %{SOURCE9} $RPM_BUILD_ROOT/etc/sysconfig/nfslock
227 install %{SOURCE10} $RPM_BUILD_ROOT/etc/sysconfig/nfsfs
228
229 > $RPM_BUILD_ROOT%{_var}/lib/nfs/rmtab
230 > $RPM_BUILD_ROOT%{_sysconfdir}/exports
231
232 rm $RPM_BUILD_ROOT%{_mandir}/man8/rpc.{mountd,nfsd,statd,sm-notify}.8
233 echo ".so mountd.8"  >  $RPM_BUILD_ROOT%{_mandir}/man8/rpc.mountd.8
234 echo ".so nfsd.8"    >  $RPM_BUILD_ROOT%{_mandir}/man8/rpc.nfsd.8
235 echo ".so statd.8"   >  $RPM_BUILD_ROOT%{_mandir}/man8/rpc.statd.8
236 echo ".so sm-notify.8" > $RPM_BUILD_ROOT%{_mandir}/man8/rpc.sm-notify.8
237 %if %{with nfs4}
238 rm $RPM_BUILD_ROOT%{_mandir}/man8/rpc.{svcgssd,gssd,idmapd}.8
239 echo ".so gssd.8"    >  $RPM_BUILD_ROOT%{_mandir}/man8/rpc.gssd.8
240 echo ".so idmapd.8"  >  $RPM_BUILD_ROOT%{_mandir}/man8/rpc.idmapd.8
241 echo ".so svcgssd.8" >  $RPM_BUILD_ROOT%{_mandir}/man8/rpc.svcgssd.8
242 %endif
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 %if %{with nfs4}
257 /sbin/chkconfig --add svcgssd
258 %service svcgssd restart "RPC svcgssd"
259 %endif
260
261 %preun
262 if [ "$1" = "0" ]; then
263         %service nfs stop
264         /sbin/chkconfig --del nfs
265 %if %{with nfs4}
266         %service svcgssd stop
267         /sbin/chkconfig --del svcgssd
268 %endif
269 fi
270
271 %post clients
272 /sbin/chkconfig --add nfsfs
273 %service nfsfs restart
274 %if %{with nfs4}
275 /sbin/chkconfig --add gssd
276 %service gssd restart "RPC gssd"
277 %endif
278
279 %preun clients
280 if [ "$1" = "0" ]; then
281         %service nfsfs stop
282         /sbin/chkconfig --del nfsfs
283 %if %{with nfs4}
284         %service gssd stop
285         /sbin/chkconfig --del gssd
286 %endif
287 fi
288
289 %pre lock
290 %groupadd -g 191 rpcstatd
291 %useradd -u 191 -d /var/lib/nfs/statd -s /bin/false -c "RPC statd user" -g rpcstatd rpcstatd
292
293 %post lock
294 /sbin/chkconfig --add nfslock
295 %service nfslock restart "RPC statd"
296
297 %preun lock
298 if [ "$1" = "0" ]; then
299         %service nfslock stop
300         /sbin/chkconfig --del nfslock
301 fi
302
303 %postun lock
304 if [ "$1" = "0" ]; then
305         %userremove rpcstatd
306         %groupremove rpcstatd
307 fi
308
309 %if %{with nfs4}
310 %post common
311 /sbin/chkconfig --add idmapd
312 %service idmapd restart "RPC idmapd"
313
314 %preun common
315 if [ "$1" = "0" ]; then
316         %service idmapd stop
317         /sbin/chkconfig --del idmapd
318 fi
319 %endif
320
321 %triggerpostun -- %{name} <= 1.1.0-0.rc1.1
322 /sbin/chkconfig nfs reset
323 %if %{with nfs4}
324 /sbin/chkconfig svcgssd reset
325 %endif
326
327 %triggerpostun lock -- %{name}-lock <= 1.1.0-0.rc1.1
328 /sbin/chkconfig nfslock reset
329
330 %triggerpostun clients -- %{name}-clients < 1.1.0-0.rc1.1
331 if [ -f /etc/sysconfig/nfsclient.rpmsave ]; then
332         mv -f /etc/sysconfig/nfsfs{,.rpmnew}
333         mv -f /etc/sysconfig/nfsclient.rpmsave /etc/sysconfig/nfsfs
334 fi
335 /sbin/chkconfig nfsfs reset
336 %if %{with nfs4}
337 /sbin/chkconfig gssd reset
338 %endif
339
340 %if %{with nfs4}
341 %triggerpostun common -- %{name}-common <= 1.1.0-0.rc1.1
342 /sbin/chkconfig idmapd reset
343 %endif
344
345 %files
346 %defattr(644,root,root,755)
347 %doc ChangeLog README html
348 %attr(755,root,root) /sbin/rpcdebug
349 %attr(755,root,root) /sbin/fsck.nfs
350 %attr(755,root,root) %{_sbindir}/exportfs
351 %attr(755,root,root) %{_sbindir}/rpc.mountd
352 %attr(755,root,root) %{_sbindir}/rpc.nfsd
353 %attr(755,root,root) %{_sbindir}/nfsstat
354
355 %attr(754,root,root) /etc/rc.d/init.d/nfs
356
357 %attr(664,root,fileshare) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/exports
358 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/nfsd
359 %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/nfs/xtab
360 %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/nfs/etab
361 %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/nfs/rmtab
362
363 %{_mandir}/man5/exports.5*
364 %{_mandir}/man7/nfsd.7*
365 %{_mandir}/man8/exportfs.8*
366 %{_mandir}/man8/mountd.8*
367 %{_mandir}/man8/nfsd.8*
368 %{_mandir}/man8/nfsstat.8*
369 %{_mandir}/man8/rpc.mountd.8*
370 %{_mandir}/man8/rpc.nfsd.8*
371 %{_mandir}/man8/rpcdebug.8*
372 %if %{with nfs4}
373 %attr(754,root,root) /etc/rc.d/init.d/svcgssd
374 %attr(755,root,root) %{_sbindir}/rpc.svcgssd
375 %{_mandir}/man8/*svcgss*
376 %endif
377
378 %files lock
379 %defattr(644,root,root,755)
380 %attr(700,rpcstatd,rpcstatd) %dir %{_var}/lib/nfs/statd
381 %attr(755,root,root) %{_sbindir}/rpc.statd
382 %attr(755,root,root) %{_sbindir}/sm-notify
383 %attr(755,root,root) %{_sbindir}/start-statd
384 %attr(754,root,root) /etc/rc.d/init.d/nfslock
385 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/nfslock
386 %{_mandir}/man8/*statd.8*
387 %{_mandir}/man8/*sm-notify.8*
388 %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/nfs/state
389
390 %files clients
391 %defattr(644,root,root,755)
392 %attr(754,root,root) /etc/rc.d/init.d/nfsfs
393 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/nfsfs
394 %attr(755,root,root) %{_sbindir}/showmount
395 %{_mandir}/man8/showmount.8*
396 %if %{with mount}
397 %attr(4755,root,root) /sbin/mount.nfs
398 %attr(4755,root,root) /sbin/mount.nfs4
399 %attr(4755,root,root) /sbin/umount.nfs
400 %attr(4755,root,root) /sbin/umount.nfs4
401 %{_mandir}/man8/*mount.nfs.8*
402 %endif
403 %if %{with nfs4}
404 %attr(754,root,root) /etc/rc.d/init.d/gssd
405 %attr(755,root,root) %{_sbindir}/rpc.gssd
406 %{_mandir}/man8/rpc.gssd*
407 %{_mandir}/man8/gssd*
408 %endif
409
410 %files common
411 %defattr(644,root,root,755)
412 %attr(755,root,root) %dir %{_var}/lib/nfs
413 %attr(755,root,root) %dir %{_var}/lib/nfs/rpc_pipefs
414 %attr(755,root,root) %dir %{_var}/lib/nfs/v4recovery
415 %{_mandir}/man5/nfs*
416 %if %{with nfs4}
417 %attr(754,root,root) /etc/rc.d/init.d/idmapd
418 %attr(755,root,root) %{_sbindir}/gss_*
419 %attr(755,root,root) %{_sbindir}/rpc.idmapd
420 %attr(660,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/idmapd.conf
421 %{_mandir}/man[58]/*idmap*
422 %endif
This page took 0.055028 seconds and 3 git commands to generate.