X-Git-Url: https://git.pld-linux.org/?a=blobdiff_plain;f=nfs-utils.spec;h=bc27f4e9a9ef17ab6015448ae7a79e4647fcc049;hb=b474bf5eeb6138e2f87c6d84a0ad50a3ae493821;hp=11618888b61b261be6e78398c31f5a6fef6104d1;hpb=6cd720e4c296f651dccdfab1d2a1c013130440da;p=packages%2Fnfs-utils.git diff --git a/nfs-utils.spec b/nfs-utils.spec index 1161888..bc27f4e 100644 --- a/nfs-utils.spec +++ b/nfs-utils.spec @@ -1,8 +1,10 @@ # TODO -# - should unmount /proc/fs/nfsd at package uninstall (or in service nfs stop) +# - should unmount /proc/fs/nfsd and /var/lib/nfs/rpc_pipefs at package +# uninstall (or in service nfs stop) # # Conditional build: %bcond_without nfs4 # without NFSv4 support +%bcond_without mount # don't build mount.nfs program # Summary: Kernel NFS server Summary(pl.UTF-8): Działający na poziomie jądra serwer NFS @@ -10,34 +12,42 @@ Summary(pt_BR.UTF-8): Os utilitários para o cliente e servidor NFS do Linux Summary(ru.UTF-8): Утилиты для NFS и демоны поддержки для NFS-сервера ядра Summary(uk.UTF-8): Утиліти для NFS та демони підтримки для NFS-сервера ядра Name: nfs-utils -Version: 1.0.12 -Release: 1 +Version: 1.1.0 +%define _pre rc1 +Release: 0.%{_pre}.1 License: GPL Group: Networking/Daemons -Source0: http://dl.sourceforge.net/nfs/%{name}-%{version}.tar.gz -# Source0-md5: acf3656cec3872deb597aa7ac13f3c3a +Source0: http://dl.sourceforge.net/nfs/%{name}-%{version}-%{_pre}.tar.gz +# Source0-md5: 924dd05dc3958d4da585d74808bb84c4 Source1: ftp://ftp.linuxnfs.sourceforge.org/pub/nfs/nfs.doc.tar.gz # Source1-md5: ae7db9c61c5ad04f83bb99e5caed73da Source2: nfs.init Source3: nfslock.init -Source4: rquotad.init -Source5: nfs.sysconfig -Source6: nfslock.sysconfig -Source7: rquotad.sysconfig -Source8: nfsfs.init -Source9: nfsfs.sysconfig +Source4: nfsfs.init +Source5: rpcidmapd.init +Source6: rpcgssd.init +Source7: rpcsvcgssd.init +Source8: nfs.sysconfig +Source9: nfslock.sysconfig +Source10: nfsfs.sysconfig Patch0: %{name}-eepro-support.patch Patch1: %{name}-install.patch -Patch2: %{name}-heimdal.patch -Patch3: %{name}-heimdal-internals.patch # http://www.citi.umich.edu/projects/nfsv4/linux/nfs-utils-patches/ -#Patch4: %{name}-1.0.11-CITI_NFS4_ALL-1.dif -Patch4: %{name}-CITI_NFS4.patch +#Patch2: %{name}-1.0.11-CITI_NFS4_ALL-1.dif +Patch2: %{name}-CITI_NFS4.patch +Patch3: %{name}-statdpath.patch +Patch4: %{name}-mount-fake.patch +Patch5: %{name}-mountd.patch +Patch6: %{name}-idmapd.conf.patch +Patch7: %{name}-keytab-path.patch +Patch8: %{name}-subsys.patch URL: http://nfs.sourceforge.net/ BuildRequires: autoconf >= 2.59 BuildRequires: automake +BuildRequires: cpp +BuildRequires: e2fsprogs-devel >= 1.39-5 %if %{with nfs4} -BuildRequires: heimdal-devel >= 0.7 +BuildRequires: krb5-devel >= 1.6 BuildRequires: libevent-devel >= 1.2 BuildRequires: libnfsidmap-devel BuildRequires: librpcsecgss-devel >= 0.11-3 @@ -119,9 +129,10 @@ Summary: Programs for NFS file locking Summary(pl.UTF-8): Programy do obsługi blokowania plików poprzez NFS (lock) Group: Networking Requires(post,preun): /sbin/chkconfig -#Requires: kernel >= 2.2.5 Requires: portmap >= 4.0 Requires: rc-scripts +Provides: group(rpcstatd) +Provides: user(rpcstatd) Provides: nfslockd Obsoletes: knfsd-lock Obsoletes: nfslockd @@ -134,26 +145,6 @@ Install nfs-lock if you want to use file lock over NFS. Ten pakiet zawiera programy umożliwiające wykonywanie blokowania plików (file locking) poprzez NFS. -%package rquotad -Summary: Remote quota server -Summary(pl.UTF-8): Zdalny serwer quota -Group: Networking/Daemons -Requires(post,preun): /sbin/chkconfig -Requires: rc-scripts -Obsoletes: quota-rquotad - -%description rquotad -rquotad is an rpc(3N) server which returns quotas for a user of a -local file system which is mounted by a remote machine over the NFS. -The results are used by quota(1) to display user quotas for remote -file systems. - -%description rquotad -l pl.UTF-8 -rquotad jest serverem rpc(3N), który zwraca quoty użytkownika -lokalnego systemu plików, który jest zamountowany przez zdalną maszynę -poprzez NFS. Rezultaty są używane przez quota(1), aby wyświetlić quotę -dla zdalnego systemu plików. - %package common Summary: Common programs for NFS Summary(pl.UTF-8): Wspólne programy do obsługi NFS @@ -166,23 +157,18 @@ Common programs for NFS. Wspólne programy do obsługi NFS. %prep -%setup -q -a1 +%setup -q -a1 -n %{name}-%{version}-%{_pre} %patch0 -p1 %patch1 -p1 %patch2 -p1 %patch3 -p1 -# temporary hack -rm -f utils/mountd/fsloc.[ch] %patch4 -p1 +%patch5 -p1 +%patch6 -p1 +%patch7 -p1 +%patch8 -p1 %build -%if "%{_lib}" == "lib64" -sed -i -e 's#/lib/#/%{_lib}/#g' aclocal/kerberos5.m4 -%endif -sed -i -e 's#libroken.a#libroken.so#g' aclocal/kerberos5.m4 -%{__aclocal} -I aclocal -%{__autoconf} -%{__automake} %configure \ %if %{with nfs4} --enable-gss \ @@ -192,6 +178,8 @@ sed -i -e 's#libroken.a#libroken.so#g' aclocal/kerberos5.m4 --disable-gss \ --disable-nfsv4 \ %endif + %{?with_mount:--enable-mount} \ + --disable-rquotad \ --enable-nfsv3 \ --enable-secure-statd \ --with-statedir=/var/lib/nfs \ @@ -203,45 +191,52 @@ sed -i -e 's#libroken.a#libroken.so#g' aclocal/kerberos5.m4 rm -rf $RPM_BUILD_ROOT install -d $RPM_BUILD_ROOT{/sbin,%{_sbindir},%{_mandir}/man{5,8}} \ $RPM_BUILD_ROOT%{_sysconfdir}/{rc.d/init.d,sysconfig} \ - $RPM_BUILD_ROOT%{_var}/lib/nfs/{rpc_pipefs,v4recovery} + $RPM_BUILD_ROOT%{_var}/lib/nfs/{rpc_pipefs,v4recovery,statd} %{__make} install \ DESTDIR=$RPM_BUILD_ROOT -install tools/rpcdebug/rpcdebug $RPM_BUILD_ROOT/sbin +cat >$RPM_BUILD_ROOT%{_sbindir}/start-statd < $RPM_BUILD_ROOT%{_sbindir}/gss_destroy_creds + +mv $RPM_BUILD_ROOT%{_sbindir}/rpcdebug $RPM_BUILD_ROOT/sbin install utils/idmapd/idmapd.conf $RPM_BUILD_ROOT%{_sysconfdir}/ install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/nfs install %{SOURCE3} $RPM_BUILD_ROOT/etc/rc.d/init.d/nfslock -install %{SOURCE4} $RPM_BUILD_ROOT/etc/rc.d/init.d/rquotad -install %{SOURCE8} $RPM_BUILD_ROOT/etc/rc.d/init.d/nfsfs -install %{SOURCE5} $RPM_BUILD_ROOT/etc/sysconfig/nfsd -install %{SOURCE6} $RPM_BUILD_ROOT/etc/sysconfig/nfslock -install %{SOURCE7} $RPM_BUILD_ROOT/etc/sysconfig/rquotad -install %{SOURCE9} $RPM_BUILD_ROOT/etc/sysconfig/nfsfs +install %{SOURCE4} $RPM_BUILD_ROOT/etc/rc.d/init.d/nfsfs +install %{SOURCE5} $RPM_BUILD_ROOT/etc/rc.d/init.d/idmapd +install %{SOURCE6} $RPM_BUILD_ROOT/etc/rc.d/init.d/gssd +install %{SOURCE7} $RPM_BUILD_ROOT/etc/rc.d/init.d/svcgssd +install %{SOURCE8} $RPM_BUILD_ROOT/etc/sysconfig/nfsd +install %{SOURCE9} $RPM_BUILD_ROOT/etc/sysconfig/nfslock +install %{SOURCE10} $RPM_BUILD_ROOT/etc/sysconfig/nfsfs > $RPM_BUILD_ROOT%{_var}/lib/nfs/rmtab > $RPM_BUILD_ROOT%{_sysconfdir}/exports -rm -f $RPM_BUILD_ROOT%{_mandir}/man8/rpc.{mountd,nfsd,rquotad,statd,lockd,svcgssd,gssd,idmapd}.8 -rm -f $RPM_BUILD_ROOT%{_mandir}/man5/rpc.idmapd.conf.5 -echo ".so lockd.8" > $RPM_BUILD_ROOT%{_mandir}/man8/rpc.lockd.8 +rm $RPM_BUILD_ROOT%{_mandir}/man8/rpc.{mountd,nfsd,statd,svcgssd,gssd,idmapd,sm-notify}.8 echo ".so mountd.8" > $RPM_BUILD_ROOT%{_mandir}/man8/rpc.mountd.8 echo ".so nfsd.8" > $RPM_BUILD_ROOT%{_mandir}/man8/rpc.nfsd.8 -echo ".so rquotad.8" > $RPM_BUILD_ROOT%{_mandir}/man8/rpc.rquotad.8 echo ".so statd.8" > $RPM_BUILD_ROOT%{_mandir}/man8/rpc.statd.8 +echo ".so sm-notify.8" > $RPM_BUILD_ROOT%{_mandir}/man8/rpc.sm-notify.8 %if %{with nfs4} echo ".so gssd.8" > $RPM_BUILD_ROOT%{_mandir}/man8/rpc.gssd.8 echo ".so idmapd.8" > $RPM_BUILD_ROOT%{_mandir}/man8/rpc.idmapd.8 echo ".so svcgssd.8" > $RPM_BUILD_ROOT%{_mandir}/man8/rpc.svcgssd.8 -echo ".so idmapd.conf.5" > $RPM_BUILD_ROOT%{_mandir}/man5/rpc.idmapd.conf.5 %endif touch $RPM_BUILD_ROOT/var/lib/nfs/xtab ln -sf /bin/true $RPM_BUILD_ROOT/sbin/fsck.nfs -rm -rf html cp -a nfs html %clean @@ -250,26 +245,46 @@ rm -rf $RPM_BUILD_ROOT %post /sbin/chkconfig --add nfs %service nfs restart "NFS daemon" +%if %{with nfs4} +/sbin/chkconfig --add svcgssd +%service svcgssd restart "RPC svcgssd" +%endif %preun if [ "$1" = "0" ]; then %service nfs stop /sbin/chkconfig --del nfs +%if %{with nfs4} + %service svcgssd stop + /sbin/chkconfig --del svcgssd +%endif fi %post clients /sbin/chkconfig --add nfsfs %service nfsfs restart +%if %{with nfs4} +/sbin/chkconfig --add gssd +%service gssd restart "RPC gssd" +%endif %preun clients if [ "$1" = "0" ]; then %service nfsfs stop /sbin/chkconfig --del nfsfs +%if %{with nfs4} + %service gssd stop + /sbin/chkconfig --del gssd +%endif fi +%pre lock +%groupadd -g 191 rpcstatd +%useradd -u 191 -d /var/lib/nfs/statd -s /bin/false -c "RPC statd user" -g rpcstatd rpcstatd + %post lock /sbin/chkconfig --add nfslock -%service nfslock restart "nfslock daemon" +%service nfslock restart "RPC statd" %preun lock if [ "$1" = "0" ]; then @@ -277,21 +292,47 @@ if [ "$1" = "0" ]; then /sbin/chkconfig --del nfslock fi -%post rquotad -/sbin/chkconfig --add rquotad -%service rquotad restart "NFS quota daemon" +%postun lock +if [ "$1" = "0" ]; then + %userremove rpcstatd + %groupremove rpcstatd +fi -%preun rquotad +%if %{with nfs4} +%post common +/sbin/chkconfig --add idmapd +%service idmapd restart "RPC idmapd" + +%preun common if [ "$1" = "0" ]; then - %service rquotad stop - /sbin/chkconfig --del rquotad + %service idmapd stop + /sbin/chkconfig --del idmapd fi +%endif + +%triggerpostun -- %{name} <= 1.1.0-0.rc1.1 +/sbin/chkconfig nfs reset +%if %{with nfs4} +/sbin/chkconfig svcgssd reset +%endif + +%triggerpostun lock -- %{name}-lock <= 1.1.0-0.rc1.1 +/sbin/chkconfig nfslock reset -%triggerpostun clients -- %{name}-clients < 1.0.10-1.2 +%triggerpostun clients -- %{name}-clients < 1.1.0-0.rc1.1 if [ -f /etc/sysconfig/nfsclient.rpmsave ]; then mv -f /etc/sysconfig/nfsfs{,.rpmnew} mv -f /etc/sysconfig/nfsclient.rpmsave /etc/sysconfig/nfsfs fi +/sbin/chkconfig nfsfs reset +%if %{with nfs4} +/sbin/chkconfig gssd reset +%endif + +%if %{with nfs4} +%triggerpostun common -- %{name}-common <= 1.1.0-0.rc1.1 +/sbin/chkconfig idmapd reset +%endif %files %defattr(644,root,root,755) @@ -319,21 +360,23 @@ fi %{_mandir}/man8/nfsstat.8* %{_mandir}/man8/rpc.mountd.8* %{_mandir}/man8/rpc.nfsd.8* +%{_mandir}/man8/rpcdebug.8* %if %{with nfs4} +%attr(754,root,root) /etc/rc.d/init.d/svcgssd %attr(755,root,root) %{_sbindir}/rpc.svcgssd %{_mandir}/man8/*svcgss* %endif %files lock %defattr(644,root,root,755) -%attr(755,root,root) %{_sbindir}/rpc.lockd +%attr(700,rpcstatd,rpcstatd) %dir %{_var}/lib/nfs/statd %attr(755,root,root) %{_sbindir}/rpc.statd +%attr(755,root,root) %{_sbindir}/sm-notify +%attr(755,root,root) %{_sbindir}/start-statd %attr(754,root,root) /etc/rc.d/init.d/nfslock %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/nfslock -%{_mandir}/man8/rpc.lockd.8* -%{_mandir}/man8/lockd.8* -%{_mandir}/man8/rpc.statd.8* -%{_mandir}/man8/statd.8* +%{_mandir}/man8/*statd.8* +%{_mandir}/man8/*sm-notify.8* %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/nfs/state %files clients @@ -342,26 +385,28 @@ fi %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/nfsfs %attr(755,root,root) %{_sbindir}/showmount %{_mandir}/man8/showmount.8* - +%if %{with mount} +%attr(4755,root,root) /sbin/mount.nfs +%attr(4755,root,root) /sbin/mount.nfs4 +%attr(4755,root,root) /sbin/umount.nfs +%attr(4755,root,root) /sbin/umount.nfs4 +%{_mandir}/man8/*mount.nfs.8* +%endif %if %{with nfs4} +%attr(754,root,root) /etc/rc.d/init.d/gssd %attr(755,root,root) %{_sbindir}/rpc.gssd %{_mandir}/man8/rpc.gssd* %{_mandir}/man8/gssd* %endif -#%files rquotad -#%defattr(644,root,root,755) -#%attr(755,root,root) %{_sbindir}/rpc.rquotad -#%attr(754,root,root) /etc/rc.d/init.d/rquotad -#%config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/rquotad -#%%{_mandir}/man8/rpc.rquotad.8* - %files common %defattr(644,root,root,755) %attr(755,root,root) %dir %{_var}/lib/nfs %attr(755,root,root) %dir %{_var}/lib/nfs/rpc_pipefs %attr(755,root,root) %dir %{_var}/lib/nfs/v4recovery +%{_mandir}/man5/nfs* %if %{with nfs4} +%attr(754,root,root) /etc/rc.d/init.d/idmapd %attr(755,root,root) %{_sbindir}/gss_* %attr(755,root,root) %{_sbindir}/rpc.idmapd %attr(660,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/idmapd.conf