]> git.pld-linux.org Git - packages/nfs-utils.git/blobdiff - nfs-utils.spec
- updated to 2.6.4
[packages/nfs-utils.git] / nfs-utils.spec
index d05fa0f72729072f4001be048cbce20793d79e3d..29312bed2e6161602a5397e6473c3430cf66439d 100644 (file)
@@ -1,21 +1,21 @@
+# TODO: systemd support needs cleanup (see TODOs below)
 #
 # Conditional build:
 %bcond_with    krb5            # build with MIT Kerberos 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
 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.3.0
+Version:       2.6.4
 Release:       1
 License:       GPL v2
 Group:         Networking/Daemons
-#Source0:      https://www.kernel.org/pub/linux/utils/nfs/%{name}-%{version}.tar.bz2
-Source0:       http://downloads.sourceforge.net/nfs/%{name}-%{version}.tar.bz2
-# Source0-md5: 3ac3726eda563946d1f44ac3e5b61d56
+Source0:       https://www.kernel.org/pub/linux/utils/nfs-utils/%{version}/%{name}-%{version}.tar.xz
+# Source0-md5: 907f95977ccf7a522ee32af1534f0e4c
 #Source1:      ftp://ftp.linuxnfs.sourceforge.org/pub/nfs/nfs.doc.tar.gz
 Source1:       nfs.doc.tar.gz
 # Source1-md5: ae7db9c61c5ad04f83bb99e5caed73da
@@ -30,8 +30,7 @@ Source9:      nfslock.sysconfig
 Source10:      nfsfs.sysconfig
 Source11:      blkmapd.init
 Source12:      sunrpc.conf
-Source100:     proc-fs-nfsd.mount
-Source101:     var-lib-nfs-rpc_pipefs.mount
+Source13:      %{name}_env.sh
 Source102:     nfsd.service
 Source103:     nfs-blkmapd.service
 Source104:     nfs-exportfs.service
@@ -48,7 +47,10 @@ Patch1:              %{name}-statdpath.patch
 Patch2:                %{name}-subsys.patch
 Patch3:                %{name}-union-mount.patch
 Patch4:                %{name}-heimdal.patch
-URL:           http://nfs.sourceforge.net/
+Patch5:                %{name}-x32.patch
+Patch6:                libnfsidmap-pluginpath.patch
+Patch7:                %{name}-sh.patch
+URL:           http://linux-nfs.org/
 BuildRequires: autoconf >= 2.59
 BuildRequires: automake
 BuildRequires: cpp
@@ -58,14 +60,19 @@ BuildRequires:      libblkid-devel >= 1.40
 BuildRequires: libcap-devel
 BuildRequires: libevent-devel >= 1.2
 BuildRequires: libmount-devel
-BuildRequires: libnfsidmap-devel >= 0.24
 BuildRequires: libtool
+BuildRequires: libuuid-devel
 BuildRequires: libwrap-devel
+BuildRequires: openldap-devel
 BuildRequires: pkgconfig
+BuildRequires: rpcsvc-proto
 BuildRequires: rpm-pythonprov
+BuildRequires: rpmbuild(macros) >= 1.623
 BuildRequires: sqlite3-devel >= 3.3
+BuildRequires: tar >= 1:1.22
+BuildRequires: xz
 %if %{with tirpc}
-BuildRequires: libtirpc-devel >= 1:0.1.10-4
+BuildRequires: libtirpc-devel >= 1:1.3.4
 %else
 BuildRequires: librpcsecgss-devel >= 0.16
 %endif
@@ -74,7 +81,6 @@ BuildRequires:        krb5-devel >= 1.6
 %else
 BuildRequires: heimdal-devel >= 1.0
 %endif
-BuildRequires: rpmbuild(macros) >= 1.623
 # lucid context fields mismatch with current version of spkm3.h
 BuildConflicts:        gss_mech_spkm3-devel
 Requires(post):        fileutils
@@ -90,7 +96,7 @@ Requires:     systemd-units >= 0.38
 Provides:      nfsdaemon
 Obsoletes:     knfsd
 Obsoletes:     nfs-server
-Obsoletes:     nfs-utils-systemd
+Obsoletes:     nfs-utils-systemd < 1.2.5-5
 Obsoletes:     nfsdaemon
 Conflicts:     kernel < 2.2.5
 Conflicts:     krb5-common < 1.7
@@ -129,6 +135,11 @@ Group:             Networking
 Requires(post,preun):  /sbin/chkconfig
 Requires(post,preun,postun):   systemd-units >= 38
 Requires:      %{name}-common = %{version}-%{release}
+%if %{with tirpc}
+Requires:      libtirpc >= 1:1.3.4
+%else
+BuildRequires: librpcsecgss >= 0.16
+%endif
 Requires:      psmisc
 Requires:      rc-scripts
 Requires:      systemd-units >= 0.38
@@ -136,7 +147,7 @@ Provides:   nfs-server-clients
 Provides:      nfsclient
 Obsoletes:     knfsd-clients
 Obsoletes:     nfs-server-clients
-Obsoletes:     nfs-utils-clients-systemd
+Obsoletes:     nfs-utils-clients-systemd < 1.2.5-5
 Obsoletes:     nfsclient
 Conflicts:     krb5-common < 1.7
 
@@ -160,17 +171,17 @@ Summary(pl.UTF-8):        Wspólne programy do obsługi NFS
 Group:         Networking
 Requires(post,preun):  /sbin/chkconfig
 Requires(post,preun,postun):   systemd-units >= 38
-Provides:      user(rpcstatd)
-Provides:      group(rpcstatd)
-Provides:      nfslockd
-Provides:      nfs-utils-lock
-Requires:      libnfsidmap >= 0.25-3
+Requires:      libnfsidmap = %{version}-%{release}
 Requires:      rc-scripts
 Requires:      rpcbind >= 0.1.7
 Requires:      systemd-units >= 0.38
-Obsoletes:     nfs-utils-common-systemd
-Obsoletes:     nfs-utils-lock
+Provides:      group(rpcstatd)
+Provides:      nfs-utils-lock
+Provides:      nfslockd
+Provides:      user(rpcstatd)
 Obsoletes:     knfsd-lock
+Obsoletes:     nfs-utils-common-systemd < 1.2.5-5
+Obsoletes:     nfs-utils-lock < 1.2.5-3
 Obsoletes:     nfslockd
 Conflicts:     mount < 2.13-0.pre7.1
 
@@ -180,6 +191,45 @@ Common programs for NFS.
 %description common -l pl.UTF-8
 Wspólne programy do obsługi NFS.
 
+%package -n libnfsidmap
+Summary:       Library to help mapping id's, mainly for NFSv4
+Summary(pl.UTF-8):     Biblioteka pomagająca w mapowaniu identyfikatorów, głównie dla NFSv4
+License:       BSD
+Group:         Libraries
+Obsoletes:     nfsidmap < 0.12
+
+%description -n libnfsidmap
+Library to help mapping id's, mainly for NFSv4.
+
+%description -n libnfsidmap -l pl.UTF-8
+Biblioteka pomagająca w mapowaniu identyfikatorów, głównie dla NFSv4.
+
+%package -n libnfsidmap-devel
+Summary:       Header files for libnfsidmap library
+Summary(pl.UTF-8):     Pliki nagłówkowe biblioteki libnfsidmap
+Group:         Development/Libraries
+Requires:      libnfsidmap = %{version}-%{release}
+Obsoletes:     nfsidmap-devel < 0.12
+
+%description -n libnfsidmap-devel
+Header files for libnfsidmap library.
+
+%description -n libnfsidmap-devel -l pl.UTF-8
+Pliki nagłówkowe biblioteki libnfsidmap.
+
+%package -n libnfsidmap-static
+Summary:       Static libnfsidmap library
+Summary(pl.UTF-8):     Statyczna biblioteka libnfsidmap
+Group:         Development/Libraries
+Requires:      libnfsidmap-devel = %{version}-%{release}
+Obsoletes:     nfsidmap-static < 0.12
+
+%description -n libnfsidmap-static
+Static libnfsidmap library.
+
+%description -n libnfsidmap-static -l pl.UTF-8
+Statyczna biblioteka libnfsidmap.
+
 %prep
 %setup -q -a1
 %patch0 -p1
@@ -187,6 +237,12 @@ Wspólne programy do obsługi NFS.
 %patch2 -p1
 %patch3 -p1
 %patch4 -p1
+%patch5 -p1
+%patch6 -p1
+%patch7 -p1
+
+# force regeneration
+%{__rm} tools/nfsrahead/99-nfs.rules
 
 %build
 %{__libtoolize}
@@ -195,39 +251,52 @@ Wspólne programy do obsługi NFS.
 %{__autoheader}
 %{__automake}
 %configure \
-       --enable-nfsv3 \
        --enable-nfsv4 \
        --enable-nfsv41 \
        --enable-gss \
+       --enable-libmount-mount \
        --enable-mount \
        --enable-mountconfig \
-       --enable-libmount-mount \
+       --enable-svcgss \
 %if %{with tirpc}
-       --enable-tirpc \
        --enable-ipv6 \
+       --enable-tirpc \
 %else
-       --disable-tirpc \
        --disable-ipv6 \
+       --disable-tirpc \
 %endif
        --with-statdpath=/var/lib/nfs/statd \
        --with-statedir=/var/lib/nfs \
        --with-statduser=rpcstatd \
        --with-start-statd=/sbin/start-statd \
-       --with-tcp-wrappers \
        --without-gssglue \
-       --with-krb5
+       --with-krb5 \
+       --with-systemd=%{systemdunitdir} \
+       --with-tcp-wrappers
 
-%{__make} all
+%{__make} pkgplugindir=/%{_lib}/libnfsidmap
+# all
 
 %install
 rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT%{_sysconfdir}/{rc.d/init.d,sysconfig,exports.d,modprobe.d} \
+install -d $RPM_BUILD_ROOT/etc/{rc.d/init.d,sysconfig,exports.d,modprobe.d} \
        $RPM_BUILD_ROOT%{_var}/lib/nfs/{rpc_pipefs,v4recovery} \
-       $RPM_BUILD_ROOT{%{systemdunitdir},%{_datadir}/nfs-utils}
+       $RPM_BUILD_ROOT%{_datadir}/nfs-utils
 
 %{__make} install \
-       DESTDIR=$RPM_BUILD_ROOT
+       DESTDIR=$RPM_BUILD_ROOT \
+       pkgplugindir=/%{_lib}/libnfsidmap \
+       generator_dir=/lib/systemd/system-generators \
+       udev_rulesdir=/lib/udev/rules.d
+
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/libnfsidmap.la
+%{__rm} $RPM_BUILD_ROOT/%{_lib}/libnfsidmap/*.{a,la}
 
+%{__mv} $RPM_BUILD_ROOT%{_libdir}/libnfsidmap.so.* $RPM_BUILD_ROOT/%{_lib}
+ln -sf /%{_lib}/$(basename $RPM_BUILD_ROOT/%{_lib}/libnfsidmap.so.*.*.*) \
+       $RPM_BUILD_ROOT%{_libdir}/libnfsidmap.so
+
+install -p support/nfsidmap/idmapd.conf $RPM_BUILD_ROOT%{_sysconfdir}
 install -p utils/mount/nfsmount.conf $RPM_BUILD_ROOT/etc
 
 %{__rm} $RPM_BUILD_ROOT%{_sbindir}/start-statd
@@ -242,7 +311,7 @@ EOF
 %{__sed} -i -e 's|%{_sbindir}nfsidmap|/sbin/nfsidmap|g' $RPM_BUILD_ROOT%{_mandir}/man8/nfsidmap.8
 
 for f in rpcdebug blkmapd nfsidmap rpc.gssd rpc.idmapd rpc.statd ; do
-       mv $RPM_BUILD_ROOT%{_sbindir}/$f $RPM_BUILD_ROOT/sbin
+       %{__mv} $RPM_BUILD_ROOT%{_sbindir}/$f $RPM_BUILD_ROOT/sbin
 done
 
 install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/nfs
@@ -258,16 +327,24 @@ install %{SOURCE10} $RPM_BUILD_ROOT/etc/sysconfig/nfsfs
 
 install %{SOURCE12} $RPM_BUILD_ROOT/etc/modprobe.d/sunrpc.conf
 
-install %{SOURCE100} $RPM_BUILD_ROOT%{systemdunitdir}/proc-fs-nfsd.mount
-install %{SOURCE101} $RPM_BUILD_ROOT%{systemdunitdir}/var-lib-nfs-rpc_pipefs.mount
+#install systemd/proc-fs-nfsd.mount $RPM_BUILD_ROOT%{systemdunitdir}/proc-fs-nfsd.mount
+#install systemd/var-lib-nfs-rpc_pipefs.mount $RPM_BUILD_ROOT%{systemdunitdir}/var-lib-nfs-rpc_pipefs.mount
+# TODO: upstream installs nfs-server.service
 install %{SOURCE102} $RPM_BUILD_ROOT%{systemdunitdir}/nfsd.service
+# TODO: upstream installs nfs-blkmap.service
 install %{SOURCE103} $RPM_BUILD_ROOT%{systemdunitdir}/blkmapd.service
 install %{SOURCE104} $RPM_BUILD_ROOT%{systemdunitdir}/nfsd-exportfs.service
+# TODO: upstream installs rpc-gssd.service
 install %{SOURCE105} $RPM_BUILD_ROOT%{systemdunitdir}/gssd.service
+# TODO: upstream installs nfs-idmapd.service
 install %{SOURCE106} $RPM_BUILD_ROOT%{systemdunitdir}/idmapd.service
+# TODO: upstream installs rpc-statd.service + rpc-statd-notify.service
 install %{SOURCE107} $RPM_BUILD_ROOT%{systemdunitdir}/nfslock.service
+# TODO: upstream installs nfs-mountd.service
 install %{SOURCE108} $RPM_BUILD_ROOT%{systemdunitdir}/nfsd-mountd.service
+# TODO: upstream installs auth-rpcgss-module.service / rpc-svcgssd.service
 install %{SOURCE109} $RPM_BUILD_ROOT%{systemdunitdir}/svcgssd.service
+# TODO: upstream installs also nfs-utils.service and nfs-client.target meta-services
 install %{SOURCE110} $RPM_BUILD_ROOT%{_datadir}/nfs-utils/nfsd.postconfig
 install %{SOURCE111} $RPM_BUILD_ROOT%{_datadir}/nfs-utils/nfsd.preconfig
 install %{SOURCE112} $RPM_BUILD_ROOT%{_datadir}/nfs-utils/nfslock.preconfig
@@ -294,6 +371,9 @@ ln -sf /bin/true $RPM_BUILD_ROOT/sbin/fsck.nfs
 
 cp -a nfs html
 
+# make python dep optional
+chmod a-x $RPM_BUILD_ROOT%{_sbindir}/{mountstats,nfsdclddb,nfsdclnts,nfsiostat}
+
 %clean
 rm -rf $RPM_BUILD_ROOT
 
@@ -411,14 +491,18 @@ fi
 %files
 %defattr(644,root,root,755)
 %doc README html
+%attr(755,root,root) /sbin/nfsdcltrack
 %attr(755,root,root) /sbin/rpcdebug
 %attr(755,root,root) /sbin/fsck.nfs
 %attr(755,root,root) %{_sbindir}/exportfs
+%attr(755,root,root) %{_sbindir}/fsidd
+%attr(755,root,root) %{_sbindir}/nfsdcld
+%attr(755,root,root) %{_sbindir}/nfsdclddb
+%attr(755,root,root) %{_sbindir}/nfsdclnts
 %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(755,root,root) %{_sbindir}/nfsdcltrack
 
 %attr(754,root,root) /etc/rc.d/init.d/nfs
 %attr(754,root,root) /etc/rc.d/init.d/svcgssd
@@ -432,10 +516,15 @@ fi
 %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/nfs/rmtab
 
 %{_mandir}/man5/exports.5*
+%{_mandir}/man5/nfs.conf.5*
 %{_mandir}/man7/nfsd.7*
+%{_mandir}/man7/nfs.systemd.7*
 %{_mandir}/man8/exportfs.8*
 %{_mandir}/man8/mountd.8*
 %{_mandir}/man8/nfsd.8*
+%{_mandir}/man8/nfsdcld.8*
+%{_mandir}/man8/nfsdclddb.8*
+%{_mandir}/man8/nfsdclnts.8*
 %{_mandir}/man8/nfsdcltrack.8*
 %{_mandir}/man8/nfsstat.8*
 %{_mandir}/man8/rpc.mountd.8*
@@ -444,10 +533,12 @@ fi
 %{_mandir}/man8/rpcdebug.8*
 %{_mandir}/man8/svcgssd.8*
 
+%{systemdunitdir}/fsidd.service
 %{systemdunitdir}/nfs.service
 %{systemdunitdir}/nfsd.service
 %{systemdunitdir}/nfsd-exportfs.service
 %{systemdunitdir}/nfsd-mountd.service
+%{systemdunitdir}/nfsdcld.service
 %{systemdunitdir}/svcgssd.service
 %{systemdunitdir}/proc-fs-nfsd.mount
 %attr(755,root,root) %{_datadir}/nfs-utils/nfsd.postconfig
@@ -465,12 +556,15 @@ fi
 %attr(4755,root,root) /sbin/mount.nfs4
 %attr(4755,root,root) /sbin/umount.nfs4
 %attr(755,root,root) /sbin/blkmapd
-%attr(755,root,root) /sbin/osd_login
 %attr(755,root,root) /sbin/rpc.gssd
 %attr(755,root,root) %{_sbindir}/mountstats
 %attr(755,root,root) %{_sbindir}/nfsiostat
 %attr(755,root,root) %{_sbindir}/showmount
+%attr(755,root,root) %{_libexecdir}/nfsrahead
+/lib/udev/rules.d/60-nfs.rules
+/lib/udev/rules.d/99-nfs.rules
 %{_mandir}/man5/nfsmount.conf.5*
+%{_mandir}/man5/nfsrahead.5*
 %{_mandir}/man8/blkmapd.8*
 %{_mandir}/man8/gssd.8*
 %{_mandir}/man8/mount.nfs.8*
@@ -490,11 +584,13 @@ fi
 %attr(754,root,root) /etc/rc.d/init.d/idmapd
 %attr(754,root,root) /etc/rc.d/init.d/nfslock
 %config(noreplace) %verify(not md5 mtime size) /etc/modprobe.d/sunrpc.conf
-%attr(755,root,root) %{_sbindir}/sm-notify
 %attr(755,root,root) /sbin/nfsidmap
 %attr(755,root,root) /sbin/rpc.idmapd
 %attr(755,root,root) /sbin/rpc.statd
 %attr(755,root,root) /sbin/start-statd
+%attr(755,root,root) %{_sbindir}/nfsconf
+%attr(755,root,root) %{_sbindir}/rpcctl
+%attr(755,root,root) %{_sbindir}/sm-notify
 %dir %{_var}/lib/nfs
 %dir %{_var}/lib/nfs/rpc_pipefs
 %dir %{_var}/lib/nfs/v4recovery
@@ -502,17 +598,48 @@ fi
 %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) /lib/systemd/system-generators/nfs-server-generator
+%attr(755,root,root) /lib/systemd/system-generators/rpc-pipefs-generator
+%{systemdunitdir}/idmapd.service
+%{systemdunitdir}/nfslock.service
+%{systemdunitdir}/rpc_pipefs.target
+%{systemdunitdir}/var-lib-nfs-rpc_pipefs.mount
+%dir %{_datadir}/nfs-utils
+%attr(755,root,root) %{_datadir}/nfs-utils/nfslock.preconfig
 %{_mandir}/man5/nfs.5*
 %{_mandir}/man8/idmapd.8*
+%{_mandir}/man8/nfsconf.8*
 %{_mandir}/man8/nfsidmap.8*
 %{_mandir}/man8/rpc.idmapd.8*
 %{_mandir}/man8/rpc.sm-notify.8*
 %{_mandir}/man8/rpc.statd.8*
+%{_mandir}/man8/rpcctl.8*
 %{_mandir}/man8/sm-notify.8*
 %{_mandir}/man8/statd.8*
 
-%{systemdunitdir}/idmapd.service
-%{systemdunitdir}/nfslock.service
-%{systemdunitdir}/var-lib-nfs-rpc_pipefs.mount
-%dir %{_datadir}/nfs-utils
-%attr(755,root,root) %{_datadir}/nfs-utils/nfslock.preconfig
+%files -n libnfsidmap
+%defattr(644,root,root,755)
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/idmapd.conf
+%attr(755,root,root) /%{_lib}/libnfsidmap.so.*.*.*
+%attr(755,root,root) %ghost /%{_lib}/libnfsidmap.so.1
+%dir /%{_lib}/libnfsidmap
+%attr(755,root,root) /%{_lib}/libnfsidmap/nsswitch.so
+%attr(755,root,root) /%{_lib}/libnfsidmap/regex.so
+%attr(755,root,root) /%{_lib}/libnfsidmap/static.so
+# -plugin-ldap subpackage?
+%attr(755,root,root) /%{_lib}/libnfsidmap/umich_ldap.so
+# -plugin-gums subpackage (BR: some datagrid software - VOMS?)
+#%attr(755,root,root) /%{_lib}/libnfsidmap/gums.so
+%{_mandir}/man5/idmapd.conf.5*
+
+%files -n libnfsidmap-devel
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libnfsidmap.so
+%{_includedir}/nfsidmap.h
+%{_includedir}/nfsidmap_plugin.h
+%{_pkgconfigdir}/libnfsidmap.pc
+%{_mandir}/man3/nfs4_uid_to_name.3*
+
+%files -n libnfsidmap-static
+%defattr(644,root,root,755)
+%{_libdir}/libnfsidmap.a
This page took 0.061218 seconds and 4 git commands to generate.