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