]> git.pld-linux.org Git - packages/nfs-utils.git/blob - nfs-utils.spec
c44dec78ebf75d23211f7ef2e3f5b5d12149d387
[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 (+libgssglue) instead of Heimdal
7 %bcond_without  tirpc           # use librpcsecgss instead of libtirpc
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.2.3
16 Release:        2
17 License:        GPL v2
18 Group:          Networking/Daemons
19 Source0:        http://www.kernel.org/pub/linux/utils/nfs/%{name}-%{version}.tar.bz2
20 # Source0-md5:  1131dc5f27c4f3905a6e7ee0d594fd4d
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}-install.patch
34 Patch1:         %{name}-statdpath.patch
35 Patch2:         %{name}-subsys.patch
36 Patch3:         %{name}-union-mount.patch
37 Patch7:         %{name}-heimdal.patch
38 URL:            http://nfs.sourceforge.net/
39 BuildRequires:  autoconf >= 2.59
40 BuildRequires:  automake
41 BuildRequires:  cpp
42 BuildRequires:  libblkid-devel
43 BuildRequires:  libcap-devel
44 BuildRequires:  libevent-devel >= 1.2
45 BuildRequires:  libnfsidmap-devel >= 0.21-3
46 BuildRequires:  libtool
47 BuildRequires:  libwrap-devel
48 BuildRequires:  pkgconfig
49 %if %{with tirpc}
50 BuildRequires:  libtirpc-devel >= 1:0.1.10-4
51 %else
52 BuildRequires:  librpcsecgss-devel >= 0.16
53 %endif
54 %if %{with krb5}
55 BuildRequires:  krb5-devel >= 1.6
56 BuildRequires:  libgssglue-devel >= 0.1
57 %else
58 BuildRequires:  heimdal-devel >= 1.0
59 %endif
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:       rc-scripts >= 0.4.1.5
67 Requires:       rpcbind >= 0.1.7
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:       rc-scripts
138 Requires:       rpcbind >= 0.1.7
139 Provides:       group(rpcstatd)
140 Provides:       nfslockd
141 Provides:       user(rpcstatd)
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 %patch7 -p1
173
174 %build
175 %{__libtoolize}
176 %{__aclocal} -I aclocal
177 %{__autoconf}
178 %{__autoheader}
179 %{__automake}
180 %configure \
181         --enable-nfsv3 \
182         --enable-nfsv4 \
183         --enable-gss \
184         --enable-mount \
185         --%{?with_tirpc:en}%{!?with_tirpc:dis}able-tirpc \
186         --enable-ipv6 \
187         --with-statedir=/var/lib/nfs \
188         --with-statduser=rpcstatd \
189         --with-start-statd=%{_sbindir}/start-statd \
190         --with-tcp-wrappers \
191         --with-krb5
192
193 %{__make} all
194
195 %install
196 rm -rf $RPM_BUILD_ROOT
197 install -d $RPM_BUILD_ROOT%{_sysconfdir}/{rc.d/init.d,sysconfig} \
198         $RPM_BUILD_ROOT%{_var}/lib/nfs/{rpc_pipefs,v4recovery}
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
215 install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/nfs
216 install %{SOURCE3} $RPM_BUILD_ROOT/etc/rc.d/init.d/nfslock
217 install %{SOURCE4} $RPM_BUILD_ROOT/etc/rc.d/init.d/nfsfs
218 install %{SOURCE5} $RPM_BUILD_ROOT/etc/rc.d/init.d/idmapd
219 install %{SOURCE6} $RPM_BUILD_ROOT/etc/rc.d/init.d/gssd
220 install %{SOURCE7} $RPM_BUILD_ROOT/etc/rc.d/init.d/svcgssd
221 install %{SOURCE8} $RPM_BUILD_ROOT/etc/sysconfig/nfsd
222 install %{SOURCE9} $RPM_BUILD_ROOT/etc/sysconfig/nfslock
223 install %{SOURCE10} $RPM_BUILD_ROOT/etc/sysconfig/nfsfs
224
225 > $RPM_BUILD_ROOT%{_var}/lib/nfs/rmtab
226 > $RPM_BUILD_ROOT%{_sysconfdir}/exports
227
228 rm $RPM_BUILD_ROOT%{_mandir}/man8/rpc.{mountd,nfsd,statd,sm-notify}.8
229 rm $RPM_BUILD_ROOT%{_mandir}/man8/rpc.{svcgssd,gssd,idmapd}.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 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
238 touch $RPM_BUILD_ROOT/var/lib/nfs/xtab
239
240 ln -sf /bin/true $RPM_BUILD_ROOT/sbin/fsck.nfs
241
242 cp -a nfs html
243
244 %clean
245 rm -rf $RPM_BUILD_ROOT
246
247 %post
248 /sbin/chkconfig --add nfs
249 %service nfs restart "NFS daemon"
250 /sbin/chkconfig --add svcgssd
251 %service svcgssd restart "RPC svcgssd"
252
253 %preun
254 if [ "$1" = "0" ]; then
255         %service nfs stop
256         /sbin/chkconfig --del nfs
257         %service svcgssd stop
258         /sbin/chkconfig --del svcgssd
259 fi
260
261 %post clients
262 /sbin/chkconfig --add nfsfs
263 %service nfsfs restart
264 /sbin/chkconfig --add gssd
265 %service gssd restart "RPC gssd"
266
267 %preun clients
268 if [ "$1" = "0" ]; then
269         %service nfsfs stop
270         /sbin/chkconfig --del nfsfs
271         %service gssd stop
272         /sbin/chkconfig --del gssd
273 fi
274
275 %pre lock
276 %groupadd -g 191 rpcstatd
277 %useradd -u 191 -d /var/lib/nfs/statd -s /bin/false -c "RPC statd user" -g rpcstatd rpcstatd
278
279 %post lock
280 /sbin/chkconfig --add nfslock
281 %service nfslock restart "RPC statd"
282
283 %preun lock
284 if [ "$1" = "0" ]; then
285         %service nfslock stop
286         /sbin/chkconfig --del nfslock
287 fi
288
289 %postun lock
290 if [ "$1" = "0" ]; then
291         %userremove rpcstatd
292         %groupremove rpcstatd
293 fi
294
295 %post common
296 /sbin/chkconfig --add idmapd
297 %service idmapd restart "RPC idmapd"
298
299 %preun common
300 if [ "$1" = "0" ]; then
301         %service idmapd stop
302         /sbin/chkconfig --del idmapd
303 fi
304
305 %triggerpostun -- %{name} < 1.1.0-0.rc1.1
306 /sbin/chkconfig nfs reset
307 /sbin/chkconfig svcgssd reset
308
309 %triggerpostun lock -- %{name}-lock < 1.1.0-0.rc1.1
310 /sbin/chkconfig nfslock reset
311
312 %triggerpostun clients -- %{name}-clients < 1.1.0-0.rc1.1
313 if [ -f /etc/sysconfig/nfsclient.rpmsave ]; then
314         mv -f /etc/sysconfig/nfsfs{,.rpmnew}
315         mv -f /etc/sysconfig/nfsclient.rpmsave /etc/sysconfig/nfsfs
316 fi
317 /sbin/chkconfig nfsfs reset
318 /sbin/chkconfig gssd reset
319
320 %triggerpostun common -- %{name}-common < 1.1.0-0.rc1.1
321 /sbin/chkconfig idmapd reset
322
323 %files
324 %defattr(644,root,root,755)
325 %doc ChangeLog README html
326 %attr(755,root,root) /sbin/rpcdebug
327 %attr(755,root,root) /sbin/fsck.nfs
328 %attr(755,root,root) %{_sbindir}/exportfs
329 %attr(755,root,root) %{_sbindir}/rpc.mountd
330 %attr(755,root,root) %{_sbindir}/rpc.nfsd
331 %attr(755,root,root) %{_sbindir}/rpc.svcgssd
332 %attr(755,root,root) %{_sbindir}/nfsstat
333
334 %attr(754,root,root) /etc/rc.d/init.d/nfs
335 %attr(754,root,root) /etc/rc.d/init.d/svcgssd
336
337 %attr(664,root,fileshare) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/exports
338 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/nfsd
339 %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/nfs/xtab
340 %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/nfs/etab
341 %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/nfs/rmtab
342
343 %{_mandir}/man5/exports.5*
344 %{_mandir}/man7/nfsd.7*
345 %{_mandir}/man8/exportfs.8*
346 %{_mandir}/man8/mountd.8*
347 %{_mandir}/man8/nfsd.8*
348 %{_mandir}/man8/nfsstat.8*
349 %{_mandir}/man8/rpc.mountd.8*
350 %{_mandir}/man8/rpc.nfsd.8*
351 %{_mandir}/man8/rpc.svcgssd.8*
352 %{_mandir}/man8/rpcdebug.8*
353 %{_mandir}/man8/svcgssd.8*
354
355 %files lock
356 %defattr(644,root,root,755)
357 %attr(700,rpcstatd,rpcstatd) %dir %{_var}/lib/nfs/statd
358 %attr(700,rpcstatd,rpcstatd) %dir %{_var}/lib/nfs/statd/sm
359 %attr(700,rpcstatd,rpcstatd) %dir %{_var}/lib/nfs/statd/sm.bak
360 %attr(600,rpcstatd,rpcstatd) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/nfs/statd/state
361 %attr(755,root,root) %{_sbindir}/rpc.statd
362 %attr(755,root,root) %{_sbindir}/sm-notify
363 %attr(755,root,root) %{_sbindir}/start-statd
364 %attr(754,root,root) /etc/rc.d/init.d/nfslock
365 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/nfslock
366 %{_mandir}/man8/rpc.sm-notify.8*
367 %{_mandir}/man8/rpc.statd.8*
368 %{_mandir}/man8/sm-notify.8*
369 %{_mandir}/man8/statd.8*
370
371 %files clients
372 %defattr(644,root,root,755)
373 %attr(754,root,root) /etc/rc.d/init.d/nfsfs
374 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/nfsfs
375 %attr(4755,root,root) /sbin/mount.nfs
376 %attr(4755,root,root) /sbin/umount.nfs
377 %attr(4755,root,root) /sbin/mount.nfs4
378 %attr(4755,root,root) /sbin/umount.nfs4
379 %attr(755,root,root) %{_sbindir}/mountstats
380 %attr(755,root,root) %{_sbindir}/nfsiostat
381 %attr(755,root,root) %{_sbindir}/showmount
382 %attr(755,root,root) %{_sbindir}/rpc.gssd
383 %attr(754,root,root) /etc/rc.d/init.d/gssd
384 %{_mandir}/man8/gssd.8*
385 %{_mandir}/man8/mount.nfs.8*
386 %{_mandir}/man8/mountstats.8*
387 %{_mandir}/man8/nfsiostat.8*
388 %{_mandir}/man8/rpc.gssd.8*
389 %{_mandir}/man8/showmount.8*
390 %{_mandir}/man8/umount.nfs.8*
391
392 %files common
393 %defattr(644,root,root,755)
394 %attr(755,root,root) %{_sbindir}/gss_clnt_send_err
395 %attr(755,root,root) %{_sbindir}/gss_destroy_creds
396 %attr(755,root,root) %{_sbindir}/rpc.idmapd
397 %attr(754,root,root) /etc/rc.d/init.d/idmapd
398 %dir %{_var}/lib/nfs
399 %dir %{_var}/lib/nfs/rpc_pipefs
400 %dir %{_var}/lib/nfs/v4recovery
401 %{_mandir}/man5/nfs.5*
402 %{_mandir}/man8/idmapd.8*
403 %{_mandir}/man8/rpc.idmapd.8*
This page took 0.04756 seconds and 3 git commands to generate.