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