]> git.pld-linux.org Git - packages/nfs-utils.git/blob - nfs-utils.spec
af21ec4b7a183695bab03217800658a5b697ac2b
[packages/nfs-utils.git] / nfs-utils.spec
1 # TODO
2 # - should unmount /proc/fs/nfsd at package uninstall (or in service nfs stop)
3 #
4 # Conditional build:
5 %bcond_without  nfs4            # without NFSv4 support
6 %bcond_without  mount           # don't build mount.nfs program
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.0.12
15 Release:        5.2
16 License:        GPL
17 Group:          Networking/Daemons
18 Source0:        http://dl.sourceforge.net/nfs/%{name}-%{version}.tar.gz
19 # Source0-md5:  acf3656cec3872deb597aa7ac13f3c3a
20 Source1:        ftp://ftp.linuxnfs.sourceforge.org/pub/nfs/nfs.doc.tar.gz
21 # Source1-md5:  ae7db9c61c5ad04f83bb99e5caed73da
22 Source2:        nfs.init
23 Source3:        nfslock.init
24 Source4:        rquotad.init
25 Source5:        nfsfs.init
26 Source6:        rpcidmapd.init
27 Source7:        rpcgssd.init
28 Source8:        rpcsvcgssd.init
29 Source9:        nfs.sysconfig
30 Source10:       nfslock.sysconfig
31 Source11:       rquotad.sysconfig
32 Source12:       nfsfs.sysconfig
33 Patch0:         %{name}-eepro-support.patch
34 Patch1:         %{name}-install.patch
35 Patch2:         %{name}-heimdal.patch
36 Patch3:         %{name}-heimdal-internals.patch
37 # http://www.citi.umich.edu/projects/nfsv4/linux/nfs-utils-patches/
38 #Patch4:                %{name}-1.0.11-CITI_NFS4_ALL-1.dif
39 Patch4:         %{name}-CITI_NFS4.patch
40 Patch5:         %{name}-mountd-leak.patch
41 Patch6:         %{name}-statdpath.patch
42 Patch7:         %{name}-mount-fake.patch
43 Patch8:         %{name}-mountd.patch
44 Patch9:         %{name}-privports.patch
45 Patch10:        %{name}-mount-man-nfs.patch
46 Patch11:        %{name}-mount-fsc.patch
47 URL:            http://nfs.sourceforge.net/
48 BuildRequires:  autoconf >= 2.59
49 BuildRequires:  automake
50 BuildRequires:  cpp
51 BuildRequires:  e2fsprogs-devel >= 1.39-5
52 %if %{with nfs4}
53 BuildRequires:  heimdal-devel >= 0.7
54 BuildRequires:  libevent-devel >= 1.2
55 BuildRequires:  libnfsidmap-devel
56 BuildRequires:  librpcsecgss-devel >= 0.11-3
57 %endif
58 BuildRequires:  libtool
59 BuildRequires:  libwrap-devel
60 BuildRequires:  pkgconfig
61 BuildRequires:  sed >= 4.0
62 Requires(post): fileutils
63 Requires(post): sed >= 4.0
64 Requires(post,preun):   /sbin/chkconfig
65 Requires:       %{name}-common = %{version}-%{release}
66 Requires:       portmap >= 4.0
67 Requires:       rc-scripts >= 0.4.0
68 Requires:       setup >= 2.4.6-7
69 Provides:       nfsdaemon
70 Obsoletes:      knfsd
71 Obsoletes:      nfs-server
72 Obsoletes:      nfsdaemon
73 Conflicts:      kernel < 2.2.5
74 ExcludeArch:    armv4l
75 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
76
77 %description
78 This is the *new* kernel NFS server and related tools. It provides a
79 much higher level of performance than the traditional Linux user-land
80 NFS server.
81
82 %description -l pl.UTF-8
83 To jest *nowy* działający na poziomie jądra serwer NFS oraz związane z
84 nim narzędzia. Serwer ten dostarcza znacznie większą wydajność niż
85 tradycyjny, działający na poziomie użytkownika serwer NFS.
86
87 %description -l pt_BR.UTF-8
88 O pacote nfs-utils provê os utilitários para o cliente e servidor NFS
89 do Linux.
90
91 %description -l ru.UTF-8
92 Пакет nfs-utils предоставляет демона для NFS-сервера, включенного в
93 ядро, и сопутствующие утилиты, которые обеспечивают намного большую
94 производительность, чем традиционные Linux NFS-сервера, используемые
95 большинством пользователей.
96
97 %description -l uk.UTF-8
98 Пакет nfs-utils надає демона для NFS-сервера, вбудованого в ядро, та
99 супутні утиліти, які забезпечують набагато більшу продуктивність, ніж
100 традиційні Linux NFS-сервери, які використовує більшість користувачів.
101
102 %package clients
103 Summary:        Clients for connecting to a remote NFS server
104 Summary(pl.UTF-8):      Klienci do łączenia się ze zdalnym serwerem NFS
105 Group:          Networking
106 Requires(post,preun):   /sbin/chkconfig
107 Requires:       %{name}-common = %{version}-%{release}
108 Requires:       psmisc
109 Requires:       rc-scripts
110 Provides:       nfs-server-clients
111 Provides:       nfsclient
112 Obsoletes:      knfsd-clients
113 Obsoletes:      nfs-server-clients
114 Obsoletes:      nfsclient
115
116 %description clients
117 The nfs-server-clients package contains the showmount program.
118 Showmount queries the mount daemon on a remote host for information
119 about the NFS (Network File System) server on the remote host. For
120 example, showmount can display the clients which are mounted on that
121 host. This package is not needed to mount NFS volumes.
122
123 %description clients -l pl.UTF-8
124 Pakiet zawiera program showmount służący do odpytywania serwera NFS.
125 Showmount pyta demona na zdalnej maszynie o informacje NFS na zdalnym
126 hoście. Na przykład, showmount potrafi pokazać klientów, którzy są
127 zamountowani na tym serwerze. Ten pakiet nie jest konieczny do
128 zamountowania zasobów NFS.
129
130 %package lock
131 Summary:        Programs for NFS file locking
132 Summary(pl.UTF-8):      Programy do obsługi blokowania plików poprzez NFS (lock)
133 Group:          Networking
134 Requires(post,preun):   /sbin/chkconfig
135 #Requires:      kernel >= 2.2.5
136 Requires:       portmap >= 4.0
137 Requires:       rc-scripts
138 Provides:       group(rpcstatd)
139 Provides:       user(rpcstatd)
140 Provides:       nfslockd
141 Obsoletes:      knfsd-lock
142 Obsoletes:      nfslockd
143
144 %description lock
145 The nfs-lock pacage contains programs which support the NFS file lock.
146 Install nfs-lock if you want to use file lock over NFS.
147
148 %description lock -l pl.UTF-8
149 Ten pakiet zawiera programy umożliwiające wykonywanie blokowania
150 plików (file locking) poprzez NFS.
151
152 %package rquotad
153 Summary:        Remote quota server
154 Summary(pl.UTF-8):      Zdalny serwer quota
155 Group:          Networking/Daemons
156 Requires(post,preun):   /sbin/chkconfig
157 Requires:       rc-scripts
158 Obsoletes:      quota-rquotad
159
160 %description rquotad
161 rquotad is an rpc(3N) server which returns quotas for a user of a
162 local file system which is mounted by a remote machine over the NFS.
163 The results are used by quota(1) to display user quotas for remote
164 file systems.
165
166 %description rquotad -l pl.UTF-8
167 rquotad jest serverem rpc(3N), który zwraca quoty użytkownika
168 lokalnego systemu plików, który jest zamountowany przez zdalną maszynę
169 poprzez NFS. Rezultaty są używane przez quota(1), aby wyświetlić quotę
170 dla zdalnego systemu plików.
171
172 %package common
173 Summary:        Common programs for NFS
174 Summary(pl.UTF-8):      Wspólne programy do obsługi NFS
175 Group:          Networking
176
177 %description common
178 Common programs for NFS.
179
180 %description common -l pl.UTF-8
181 Wspólne programy do obsługi NFS.
182
183 %prep
184 %setup -q -a1
185 %patch0 -p1
186 %patch1 -p1
187 %patch2 -p1
188 %patch3 -p1
189 # temporary hack
190 rm -f utils/mountd/fsloc.[ch]
191 %patch4 -p1
192 %patch5 -p1
193 %patch6 -p1
194 %patch7 -p1
195 %patch8 -p1
196 %patch9 -p1
197 %patch10 -p1
198 %patch11 -p1
199
200 %build
201 %if "%{_lib}" == "lib64"
202 sed -i -e 's#/lib/#/%{_lib}/#g' aclocal/kerberos5.m4
203 %endif
204 sed -i -e 's#libroken.a#libroken.so#g' aclocal/kerberos5.m4
205 %{__aclocal} -I aclocal
206 %{__autoconf}
207 %{__automake}
208 %configure \
209 %if %{with nfs4}
210         --enable-gss \
211         --with-krb5=%{_prefix} \
212         --enable-nfsv4 \
213 %else
214         --disable-gss \
215         --disable-nfsv4 \
216 %endif
217         %{?with_mount:--enable-mount} \
218         --enable-nfsv3 \
219         --enable-secure-statd \
220         --with-statedir=/var/lib/nfs \
221         --with-tcp-wrappers
222
223 %{__make} all
224
225 %install
226 rm -rf $RPM_BUILD_ROOT
227 install -d $RPM_BUILD_ROOT{/sbin,%{_sbindir},%{_mandir}/man{5,8}} \
228         $RPM_BUILD_ROOT%{_sysconfdir}/{rc.d/init.d,sysconfig} \
229         $RPM_BUILD_ROOT%{_var}/lib/nfs/{rpc_pipefs,v4recovery,statd}
230
231 %{__make} install \
232         DESTDIR=$RPM_BUILD_ROOT
233
234 %if %{with mount}
235 mv $RPM_BUILD_ROOT%{_sbindir}/{mount,umount}.* $RPM_BUILD_ROOT/sbin
236 %endif
237
238 mv $RPM_BUILD_ROOT%{_sbindir}/rpcdebug $RPM_BUILD_ROOT/sbin
239 install utils/idmapd/idmapd.conf $RPM_BUILD_ROOT%{_sysconfdir}/
240
241 install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/nfs
242 install %{SOURCE3} $RPM_BUILD_ROOT/etc/rc.d/init.d/nfslock
243 install %{SOURCE4} $RPM_BUILD_ROOT/etc/rc.d/init.d/rquotad
244 install %{SOURCE5} $RPM_BUILD_ROOT/etc/rc.d/init.d/nfsfs
245 install %{SOURCE6} $RPM_BUILD_ROOT/etc/rc.d/init.d/idmapd
246 install %{SOURCE7} $RPM_BUILD_ROOT/etc/rc.d/init.d/gssd
247 install %{SOURCE8} $RPM_BUILD_ROOT/etc/rc.d/init.d/svcgssd
248 install %{SOURCE9} $RPM_BUILD_ROOT/etc/sysconfig/nfsd
249 install %{SOURCE10} $RPM_BUILD_ROOT/etc/sysconfig/nfslock
250 install %{SOURCE11} $RPM_BUILD_ROOT/etc/sysconfig/rquotad
251 install %{SOURCE12} $RPM_BUILD_ROOT/etc/sysconfig/nfsfs
252
253 > $RPM_BUILD_ROOT%{_var}/lib/nfs/rmtab
254 > $RPM_BUILD_ROOT%{_sysconfdir}/exports
255
256 rm -f $RPM_BUILD_ROOT%{_mandir}/man8/rpc.{mountd,nfsd,rquotad,statd,lockd,svcgssd,gssd,idmapd}.8
257 rm -f $RPM_BUILD_ROOT%{_mandir}/man5/rpc.idmapd.conf.5
258 echo ".so lockd.8"   >  $RPM_BUILD_ROOT%{_mandir}/man8/rpc.lockd.8
259 echo ".so mountd.8"  >  $RPM_BUILD_ROOT%{_mandir}/man8/rpc.mountd.8
260 echo ".so nfsd.8"    >  $RPM_BUILD_ROOT%{_mandir}/man8/rpc.nfsd.8
261 echo ".so rquotad.8" >  $RPM_BUILD_ROOT%{_mandir}/man8/rpc.rquotad.8
262 echo ".so statd.8"   >  $RPM_BUILD_ROOT%{_mandir}/man8/rpc.statd.8
263 %if %{with nfs4}
264 echo ".so gssd.8"    >  $RPM_BUILD_ROOT%{_mandir}/man8/rpc.gssd.8
265 echo ".so idmapd.8"  >  $RPM_BUILD_ROOT%{_mandir}/man8/rpc.idmapd.8
266 echo ".so svcgssd.8" >  $RPM_BUILD_ROOT%{_mandir}/man8/rpc.svcgssd.8
267 echo ".so idmapd.conf.5" > $RPM_BUILD_ROOT%{_mandir}/man5/rpc.idmapd.conf.5
268 %endif
269
270 touch $RPM_BUILD_ROOT/var/lib/nfs/xtab
271
272 ln -sf /bin/true $RPM_BUILD_ROOT/sbin/fsck.nfs
273
274 rm -rf html
275 cp -a nfs html
276
277 %clean
278 rm -rf $RPM_BUILD_ROOT
279
280 %post
281 /sbin/chkconfig --add nfs
282 %service nfs restart "NFS daemon"
283 %if %{with nfs4}
284 /sbin/chkconfig --add svcgssd
285 %service svcgssd restart "RPC svcgssd daemon"
286 %endif
287
288 %preun
289 if [ "$1" = "0" ]; then
290         %service nfs stop
291         /sbin/chkconfig --del nfs
292 %if %{with nfs4}
293         %service svcgssd stop
294         /sbin/chkconfig --del svcgssd
295 %endif
296 fi
297
298 %post clients
299 /sbin/chkconfig --add nfsfs
300 %service nfsfs restart
301 %if %{with nfs4}
302 /sbin/chkconfig --add gssd
303 %service svcgssd restart "RPC gssd daemon"
304 %endif
305
306 %preun clients
307 if [ "$1" = "0" ]; then
308         %service nfsfs stop
309         /sbin/chkconfig --del nfsfs
310 %if %{with nfs4}
311         %service gssd stop
312         /sbin/chkconfig --del gssd
313 %endif
314 fi
315
316 %pre lock
317 %groupadd -g 191 rpcstatd
318 %useradd -u 191 -d /var/lib/nfs/statd -s /bin/false -c "RPC statd user" -g rpcstatd rpcstatd
319
320 %post lock
321 /sbin/chkconfig --add nfslock
322 %service nfslock restart "nfslock daemon"
323
324 %preun lock
325 if [ "$1" = "0" ]; then
326         %service nfslock stop
327         /sbin/chkconfig --del nfslock
328 fi
329
330 %postun lock
331 if [ "$1" = "0" ]; then
332         %userremove rpcstatd
333         %groupremove rpcstatd
334 fi
335
336 %if %{with nfs4}
337 %post common
338 /sbin/chkconfig --add idmapd
339 %service svcgssd restart "RPC idmapd daemon"
340
341 %preun common
342 if [ "$1" = "0" ]; then
343         %service idmapd stop
344         /sbin/chkconfig --del idmapd
345 fi
346 %endif
347
348 %post rquotad
349 /sbin/chkconfig --add rquotad
350 %service rquotad restart "NFS quota daemon"
351
352 %preun rquotad
353 if [ "$1" = "0" ]; then
354         %service rquotad stop
355         /sbin/chkconfig --del rquotad
356 fi
357
358 %triggerpostun -- %{name} <= 1.0.12-5
359 /sbin/chkconfig nfs reset
360
361 %triggerpostun lock -- %{name}-lock <= 1.0.12-5
362 /sbin/chkconfig nfslock reset
363
364 %triggerpostun clients -- %{name}-clients < 1.0.10-1.2
365 if [ -f /etc/sysconfig/nfsclient.rpmsave ]; then
366         mv -f /etc/sysconfig/nfsfs{,.rpmnew}
367         mv -f /etc/sysconfig/nfsclient.rpmsave /etc/sysconfig/nfsfs
368 fi
369 /sbin/chkconfig nfsfs reset
370
371 %files
372 %defattr(644,root,root,755)
373 %doc ChangeLog README html
374 %attr(755,root,root) /sbin/rpcdebug
375 %attr(755,root,root) /sbin/fsck.nfs
376 %attr(755,root,root) %{_sbindir}/exportfs
377 %attr(755,root,root) %{_sbindir}/rpc.mountd
378 %attr(755,root,root) %{_sbindir}/rpc.nfsd
379 %attr(755,root,root) %{_sbindir}/nfsstat
380
381 %attr(754,root,root) /etc/rc.d/init.d/nfs
382
383 %attr(664,root,fileshare) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/exports
384 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/nfsd
385 %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/nfs/xtab
386 %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/nfs/etab
387 %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/nfs/rmtab
388
389 %{_mandir}/man5/exports.5*
390 %{_mandir}/man7/nfsd.7*
391 %{_mandir}/man8/exportfs.8*
392 %{_mandir}/man8/mountd.8*
393 %{_mandir}/man8/nfsd.8*
394 %{_mandir}/man8/nfsstat.8*
395 %{_mandir}/man8/rpc.mountd.8*
396 %{_mandir}/man8/rpc.nfsd.8*
397 %{_mandir}/man8/rpcdebug.8*
398 %if %{with nfs4}
399 %attr(754,root,root) /etc/rc.d/init.d/svcgssd
400 %attr(755,root,root) %{_sbindir}/rpc.svcgssd
401 %{_mandir}/man8/*svcgss*
402 %endif
403
404 %files lock
405 %defattr(644,root,root,755)
406 %attr(700,rpcstatd,rpcstatd) %dir %{_var}/lib/nfs/statd
407 %attr(755,root,root) %{_sbindir}/rpc.lockd
408 %attr(755,root,root) %{_sbindir}/rpc.statd
409 %attr(754,root,root) /etc/rc.d/init.d/nfslock
410 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/nfslock
411 %{_mandir}/man8/rpc.lockd.8*
412 %{_mandir}/man8/lockd.8*
413 %{_mandir}/man8/rpc.statd.8*
414 %{_mandir}/man8/statd.8*
415 %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/nfs/state
416
417 %files clients
418 %defattr(644,root,root,755)
419 %attr(754,root,root) /etc/rc.d/init.d/nfsfs
420 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/nfsfs
421 %attr(755,root,root) %{_sbindir}/showmount
422 %{_mandir}/man8/showmount.8*
423 %if %{with mount}
424 %attr(4755,root,root) /sbin/mount.nfs
425 %attr(4755,root,root) /sbin/mount.nfs4
426 %attr(4755,root,root) /sbin/umount.nfs
427 %attr(4755,root,root) /sbin/umount.nfs4
428 %{_mandir}/man8/*mount.nfs.8*
429 %endif
430 %if %{with nfs4}
431 %attr(754,root,root) /etc/rc.d/init.d/gssd
432 %attr(755,root,root) %{_sbindir}/rpc.gssd
433 %{_mandir}/man8/rpc.gssd*
434 %{_mandir}/man8/gssd*
435 %endif
436
437 %files common
438 %defattr(644,root,root,755)
439 %attr(755,root,root) %dir %{_var}/lib/nfs
440 %attr(755,root,root) %dir %{_var}/lib/nfs/rpc_pipefs
441 %attr(755,root,root) %dir %{_var}/lib/nfs/v4recovery
442 %{_mandir}/man5/nfs*
443 %if %{with nfs4}
444 %attr(754,root,root) /etc/rc.d/init.d/idmapd
445 %attr(755,root,root) %{_sbindir}/gss_*
446 %attr(755,root,root) %{_sbindir}/rpc.idmapd
447 %attr(660,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/idmapd.conf
448 %{_mandir}/man[58]/*idmap*
449 %endif
450
451 #%files rquotad
452 #%defattr(644,root,root,755)
453 #%attr(755,root,root) %{_sbindir}/rpc.rquotad
454 #%attr(754,root,root) /etc/rc.d/init.d/rquotad
455 #%config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/rquotad
456 #%%{_mandir}/man8/rpc.rquotad.8*
This page took 0.054301 seconds and 3 git commands to generate.