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