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