]> git.pld-linux.org Git - packages/nfs-utils.git/blobdiff - nfs-utils.spec
- mountd does no support --no-nfs-version 1 any more
[packages/nfs-utils.git] / nfs-utils.spec
index b0de78420379bdf7fdf803df60fda93c918b0635..6227cadb61caaf56dc617747c9ca500410b98b48 100644 (file)
@@ -1,9 +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
+%bcond_with    krb5            # build with MIT Kerberos (+libgssglue) instead of Heimdal
+%bcond_without tirpc           # use librpcsecgss instead of libtirpc
 #
 Summary:       Kernel NFS server
 Summary(pl.UTF-8):     Działający na poziomie jądra serwer NFS
@@ -11,13 +12,14 @@ 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:       5.4
-License:       GPL
+Version:       1.2.3
+Release:       2
+License:       GPL v2
 Group:         Networking/Daemons
-Source0:       http://dl.sourceforge.net/nfs/%{name}-%{version}.tar.gz
-# Source0-md5: acf3656cec3872deb597aa7ac13f3c3a
-Source1:       ftp://ftp.linuxnfs.sourceforge.org/pub/nfs/nfs.doc.tar.gz
+Source0:       http://www.kernel.org/pub/linux/utils/nfs/%{name}-%{version}.tar.bz2
+# Source0-md5: 1131dc5f27c4f3905a6e7ee0d594fd4d
+#Source1:      ftp://ftp.linuxnfs.sourceforge.org/pub/nfs/nfs.doc.tar.gz
+Source1:       nfs.doc.tar.gz
 # Source1-md5: ae7db9c61c5ad04f83bb99e5caed73da
 Source2:       nfs.init
 Source3:       nfslock.init
@@ -28,47 +30,51 @@ 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
-Patch5:                %{name}-mountd-leak.patch
-Patch6:                %{name}-statdpath.patch
-Patch7:                %{name}-mount-fake.patch
-Patch8:                %{name}-mountd.patch
-Patch9:                %{name}-privports.patch
-Patch10:       %{name}-mount-man-nfs.patch
-Patch11:       %{name}-mount-fsc.patch
+Patch0:                %{name}-install.patch
+Patch1:                %{name}-statdpath.patch
+Patch2:                %{name}-subsys.patch
+Patch3:                %{name}-union-mount.patch
+Patch4:                %{name}-kerberos-ac.patch
+Patch5:                %{name}-no_libgssapi.patch
+Patch6:                %{name}-pkgconfig_ac.patch
+Patch7:                %{name}-heimdal_functions.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: libblkid-devel
+BuildRequires: libcap-devel
 BuildRequires: libevent-devel >= 1.2
-BuildRequires: libnfsidmap-devel
-BuildRequires: librpcsecgss-devel >= 0.11-3
-%endif
+BuildRequires: libnfsidmap-devel >= 0.21-3
 BuildRequires: libtool
 BuildRequires: libwrap-devel
 BuildRequires: pkgconfig
-BuildRequires: sed >= 4.0
+%if %{with tirpc}
+BuildRequires: libtirpc-devel >= 1:0.1.10-4
+%else
+BuildRequires: librpcsecgss-devel >= 0.16
+%endif
+%if %{with krb5}
+BuildRequires: krb5-devel >= 1.6
+BuildRequires: libgssglue-devel >= 0.1
+%else
+BuildRequires: heimdal-devel >= 1.0
+%endif
+# lucid context fields mismatch with current version of spkm3.h
+BuildConflicts:        gss_mech_spkm3-devel
 Requires(post):        fileutils
 Requires(post):        sed >= 4.0
 Requires(post,preun):  /sbin/chkconfig
 Requires:      %{name}-common = %{version}-%{release}
-Requires:      portmap >= 4.0
-Requires:      rc-scripts >= 0.4.0
+Requires:      rc-scripts >= 0.4.1.5
+Requires:      rpcbind >= 0.1.7
 Requires:      setup >= 2.4.6-7
 Provides:      nfsdaemon
 Obsoletes:     knfsd
 Obsoletes:     nfs-server
 Obsoletes:     nfsdaemon
 Conflicts:     kernel < 2.2.5
+Conflicts:     krb5-common < 1.7
 ExcludeArch:   armv4l
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
@@ -110,6 +116,7 @@ Provides:   nfsclient
 Obsoletes:     knfsd-clients
 Obsoletes:     nfs-server-clients
 Obsoletes:     nfsclient
+Conflicts:     krb5-common < 1.7
 
 %description clients
 The nfs-server-clients package contains the showmount program.
@@ -130,12 +137,11 @@ 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
+Requires:      rpcbind >= 0.1.7
 Provides:      group(rpcstatd)
-Provides:      user(rpcstatd)
 Provides:      nfslockd
+Provides:      user(rpcstatd)
 Obsoletes:     knfsd-lock
 Obsoletes:     nfslockd
 
@@ -151,6 +157,8 @@ plików (file locking) poprzez NFS.
 Summary:       Common programs for NFS
 Summary(pl.UTF-8):     Wspólne programy do obsługi NFS
 Group:         Networking
+Requires:      libnfsidmap >= 0.21-3
+Conflicts:     mount < 2.13-0.pre7.1
 
 %description common
 Common programs for NFS.
@@ -164,58 +172,53 @@ Wspólne programy do obsługi NFS.
 %patch1 -p1
 %patch2 -p1
 %patch3 -p1
-# temporary hack
-rm -f utils/mountd/fsloc.[ch]
 %patch4 -p1
+%if %{without krb5}
 %patch5 -p1
 %patch6 -p1
-%patch7 -p1
-%patch8 -p1
-%patch9 -p1
-%patch10 -p1
-%patch11 -p1
+%patch7 -p0
+%endif
 
 %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
+%{__libtoolize}
 %{__aclocal} -I aclocal
 %{__autoconf}
+%{__autoheader}
 %{__automake}
 %configure \
-%if %{with nfs4}
-       --enable-gss \
-       --with-krb5=%{_prefix} \
-       --enable-nfsv4 \
-%else
-       --disable-gss \
-       --disable-nfsv4 \
-%endif
-       %{?with_mount:--enable-mount} \
-       --disable-rquotad \
        --enable-nfsv3 \
-       --enable-secure-statd \
+       --enable-nfsv4 \
+       --enable-gss \
+       --enable-mount \
+       --%{?with_tirpc:en}%{!?with_tirpc:dis}able-tirpc \
+       --enable-ipv6 \
        --with-statedir=/var/lib/nfs \
-       --with-tcp-wrappers
+       --with-statduser=rpcstatd \
+       --with-start-statd=%{_sbindir}/start-statd \
+       --with-tcp-wrappers \
+       --with-krb5-config=%{_bindir}/krb5-config
 
 %{__make} all
 
 %install
 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,statd}
+install -d $RPM_BUILD_ROOT%{_sysconfdir}/{rc.d/init.d,sysconfig} \
+       $RPM_BUILD_ROOT%{_var}/lib/nfs/{rpc_pipefs,v4recovery}
 
 %{__make} install \
        DESTDIR=$RPM_BUILD_ROOT
 
-%if %{with mount}
-mv $RPM_BUILD_ROOT%{_sbindir}/{mount,umount}.* $RPM_BUILD_ROOT/sbin
-%endif
+cat >$RPM_BUILD_ROOT%{_sbindir}/start-statd <<EOF
+#!/bin/sh
+# mount.nfs calls this script when mounting a filesystem with locking
+# enabled, but when statd does not seem to be running (based on
+# /var/run/rpc.statd.pid).
+exec /sbin/service nfslock start
+EOF
+
+sed -e "s|#!/bin/bash|#!/bin/sh|" utils/gssd/gss_destroy_creds > $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
@@ -230,24 +233,20 @@ 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,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,sm-notify}.8
+rm $RPM_BUILD_ROOT%{_mandir}/man8/rpc.{svcgssd,gssd,idmapd}.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 statd.8"   > $RPM_BUILD_ROOT%{_mandir}/man8/rpc.statd.8
-%if %{with nfs4}
+echo ".so sm-notify.8" > $RPM_BUILD_ROOT%{_mandir}/man8/rpc.sm-notify.8
 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
@@ -256,37 +255,29 @@ 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 daemon"
-%endif
+%service svcgssd restart "RPC svcgssd"
 
 %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 daemon"
-%endif
+%service gssd restart "RPC gssd"
 
 %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
@@ -295,7 +286,7 @@ fi
 
 %post lock
 /sbin/chkconfig --add nfslock
-%service nfslock restart "nfslock daemon"
+%service nfslock restart "RPC statd"
 
 %preun lock
 if [ "$1" = "0" ]; then
@@ -309,30 +300,33 @@ if [ "$1" = "0" ]; then
        %groupremove rpcstatd
 fi
 
-%if %{with nfs4}
 %post common
 /sbin/chkconfig --add idmapd
-%service idmapd restart "RPC idmapd daemon"
+%service idmapd restart "RPC idmapd"
 
 %preun common
 if [ "$1" = "0" ]; then
        %service idmapd stop
        /sbin/chkconfig --del idmapd
 fi
-%endif
 
-%triggerpostun -- %{name} <= 1.0.12-5
+%triggerpostun -- %{name} < 1.1.0-0.rc1.1
 /sbin/chkconfig nfs reset
+/sbin/chkconfig svcgssd reset
 
-%triggerpostun lock -- %{name}-lock <= 1.0.12-5
+%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
+/sbin/chkconfig gssd reset
+
+%triggerpostun common -- %{name}-common < 1.1.0-0.rc1.1
+/sbin/chkconfig idmapd reset
 
 %files
 %defattr(644,root,root,755)
@@ -342,9 +336,11 @@ fi
 %attr(755,root,root) %{_sbindir}/exportfs
 %attr(755,root,root) %{_sbindir}/rpc.mountd
 %attr(755,root,root) %{_sbindir}/rpc.nfsd
+%attr(755,root,root) %{_sbindir}/rpc.svcgssd
 %attr(755,root,root) %{_sbindir}/nfsstat
 
 %attr(754,root,root) /etc/rc.d/init.d/nfs
+%attr(754,root,root) /etc/rc.d/init.d/svcgssd
 
 %attr(664,root,fileshare) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/exports
 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/nfsd
@@ -360,56 +356,56 @@ fi
 %{_mandir}/man8/nfsstat.8*
 %{_mandir}/man8/rpc.mountd.8*
 %{_mandir}/man8/rpc.nfsd.8*
+%{_mandir}/man8/rpc.svcgssd.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
+%{_mandir}/man8/svcgssd.8*
 
 %files lock
 %defattr(644,root,root,755)
 %attr(700,rpcstatd,rpcstatd) %dir %{_var}/lib/nfs/statd
-%attr(755,root,root) %{_sbindir}/rpc.lockd
+%attr(700,rpcstatd,rpcstatd) %dir %{_var}/lib/nfs/statd/sm
+%attr(700,rpcstatd,rpcstatd) %dir %{_var}/lib/nfs/statd/sm.bak
+%attr(600,rpcstatd,rpcstatd) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/nfs/statd/state
 %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.sm-notify.8*
 %{_mandir}/man8/rpc.statd.8*
+%{_mandir}/man8/sm-notify.8*
 %{_mandir}/man8/statd.8*
-%config(noreplace) %verify(not md5 mtime size) %{_var}/lib/nfs/state
 
 %files clients
 %defattr(644,root,root,755)
 %attr(754,root,root) /etc/rc.d/init.d/nfsfs
 %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/mount.nfs4
 %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}/mountstats
+%attr(755,root,root) %{_sbindir}/nfsiostat
+%attr(755,root,root) %{_sbindir}/showmount
 %attr(755,root,root) %{_sbindir}/rpc.gssd
-%{_mandir}/man8/rpc.gssd*
-%{_mandir}/man8/gssd*
-%endif
+%attr(754,root,root) /etc/rc.d/init.d/gssd
+%{_mandir}/man8/gssd.8*
+%{_mandir}/man8/mount.nfs.8*
+%{_mandir}/man8/mountstats.8*
+%{_mandir}/man8/nfsiostat.8*
+%{_mandir}/man8/rpc.gssd.8*
+%{_mandir}/man8/showmount.8*
+%{_mandir}/man8/umount.nfs.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}/gss_clnt_send_err
+%attr(755,root,root) %{_sbindir}/gss_destroy_creds
 %attr(755,root,root) %{_sbindir}/rpc.idmapd
-%attr(660,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/idmapd.conf
-%{_mandir}/man[58]/*idmap*
-%endif
+%attr(754,root,root) /etc/rc.d/init.d/idmapd
+%dir %{_var}/lib/nfs
+%dir %{_var}/lib/nfs/rpc_pipefs
+%dir %{_var}/lib/nfs/v4recovery
+%{_mandir}/man5/nfs.5*
+%{_mandir}/man8/idmapd.8*
+%{_mandir}/man8/rpc.idmapd.8*
This page took 0.051059 seconds and 4 git commands to generate.