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