]> git.pld-linux.org Git - packages/nfs-utils.git/blobdiff - nfs-utils.spec
- rel 4
[packages/nfs-utils.git] / nfs-utils.spec
index 9f82276f222bcfde2b9481c079a8b956ae63b154..383a5b1dc851d754054468846a876cb5efafb4da 100644 (file)
@@ -1,6 +1,3 @@
-# TODO
-# - should unmount /proc/fs/nfsd and /var/lib/nfs/rpc_pipefs at package
-#      uninstall (or in service nfs stop)
 #
 # Conditional build:
 %bcond_with    krb5            # build with MIT Kerberos (+libgssglue) instead of Heimdal
@@ -13,11 +10,11 @@ Summary(ru.UTF-8):  Утилиты для NFS и демоны поддержки
 Summary(uk.UTF-8):     Утиліти для NFS та демони підтримки для NFS-сервера ядра
 Name:          nfs-utils
 Version:       1.2.5
-Release:       3
+Release:       4
 License:       GPL v2
 Group:         Networking/Daemons
 #Source0:      http://www.kernel.org/pub/linux/utils/nfs/%{name}-%{version}.tar.bz2
-Source0:       http://downloads.sourceforge.net/project/nfs/nfs-utils/%{version}/%{name}-%{version}.tar.bz2
+Source0:       http://downloads.sourceforge.net/nfs/%{name}-%{version}.tar.bz2
 # Source0-md5: 8395ac770720b83c5c469f88306d7765
 #Source1:      ftp://ftp.linuxnfs.sourceforge.org/pub/nfs/nfs.doc.tar.gz
 Source1:       nfs.doc.tar.gz
@@ -32,6 +29,19 @@ Source8:     nfs.sysconfig
 Source9:       nfslock.sysconfig
 Source10:      nfsfs.sysconfig
 Source11:      blkmapd.init
+Source100:     proc-fs-nfsd.mount
+Source101:     var-lib-nfs-rpc_pipefs.mount
+Source102:     nfsd.service
+Source103:     nfs-blkmapd.service
+Source104:     nfs-exportfs.service
+Source105:     nfs-gssd.service
+Source106:     nfs-idmapd.service
+Source107:     nfs-lock.service
+Source108:     nfs-mountd.service
+Source109:     nfs-svcgssd.service
+Source110:     nfsd.postconfig
+Source111:     nfsd.preconfig
+Source112:     nfs-lock.preconfig
 Patch0:                %{name}-install.patch
 Patch1:                %{name}-statdpath.patch
 Patch2:                %{name}-subsys.patch
@@ -64,12 +74,14 @@ BuildRequires:      libgssglue-devel >= 0.3
 %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
 Requires(post):        sed >= 4.0
 Requires(post,preun):  /sbin/chkconfig
 Requires:      %{name}-common = %{version}-%{release}
+Requires:      libevent >= 2.0.14-2
 Requires:      rc-scripts >= 0.4.1.5
 Requires:      rpcbind >= 0.1.7
 Requires:      setup >= 2.4.6-7
@@ -107,6 +119,20 @@ do Linux.
 супутні утиліти, які забезпечують набагато більшу продуктивність, ніж
 традиційні Linux NFS-сервери, які використовує більшість користувачів.
 
+%package systemd
+Summary:       systemd units for NFS server services
+Summary(pl.UTF-8):     Jednostki systemd dla serwisów serwera NFS
+Group:         Daemons
+Requires:      %{name} = %{version}-%{release}
+Requires:      systemd
+Requires:      systemd-units
+
+%description systemd
+Systemd units for NFS server services.
+
+%description systemd -l pl.UTF-8
+Jednostki systemd dla serwisów serwera NFS.
+
 %package clients
 Summary:       Clients for connecting to a remote NFS server
 Summary(pl.UTF-8):     Klienci do łączenia się ze zdalnym serwerem NFS
@@ -136,6 +162,20 @@ hoście. Na przykład, showmount potrafi pokazać klientów, którzy są
 zamountowani na tym serwerze. Ten pakiet nie jest konieczny do
 zamountowania zasobów NFS.
 
+%package clients-systemd
+Summary:       systemd units for NFS clients
+Summary(pl.UTF-8):     Jednostki systemd dla klientów NFS
+Group:         Daemons
+Requires:      %{name}-clients = %{version}-%{release}
+Requires:      systemd
+Requires:      systemd-units
+
+%description clients-systemd
+Systemd units for NFS clients.
+
+%description clients-systemd -l pl.UTF-8
+Jednostki systemd dla klientów NFS.
+
 %package common
 Summary:       Common programs for NFS
 Summary(pl.UTF-8):     Wspólne programy do obsługi NFS
@@ -145,7 +185,7 @@ Provides:   user(rpcstatd)
 Provides:      group(rpcstatd)
 Provides:      nfslockd
 Provides:      nfs-utils-lock
-Requires:      libnfsidmap >= 0.21-3
+Requires:      libnfsidmap >= 0.25-3
 Requires:      rc-scripts
 Requires:      rpcbind >= 0.1.7
 Obsoletes:     nfs-utils-lock
@@ -159,6 +199,20 @@ Common programs for NFS.
 %description common -l pl.UTF-8
 Wspólne programy do obsługi NFS.
 
+%package common-systemd
+Summary:       systemd units for common NFS services
+Summary(pl.UTF-8):     Jednostki systemd dla wspólnych serwisów NFS
+Group:         Daemons
+Requires:      %{name}-common = %{version}-%{release}
+Requires:      systemd
+Requires:      systemd-units
+
+%description common-systemd
+Systemd units for common NFS services.
+
+%description common-systemd -l pl.UTF-8
+Jednostki systemd dla wspólnych serwisów NFS.
+
 %prep
 %setup -q -a1
 %patch0 -p1
@@ -192,7 +246,7 @@ Wspólne programy do obsługi NFS.
        --with-statdpath=/var/lib/nfs/statd \
        --with-statedir=/var/lib/nfs \
        --with-statduser=rpcstatd \
-       --with-start-statd=%{_sbindir}/start-statd \
+       --with-start-statd=/sbin/start-statd \
        --with-tcp-wrappers \
        --with-krb5
 
@@ -201,24 +255,28 @@ Wspólne programy do obsługi NFS.
 %install
 rm -rf $RPM_BUILD_ROOT
 install -d $RPM_BUILD_ROOT%{_sysconfdir}/{rc.d/init.d,sysconfig,exports.d} \
-       $RPM_BUILD_ROOT%{_var}/lib/nfs/{rpc_pipefs,v4recovery}
+       $RPM_BUILD_ROOT%{_var}/lib/nfs/{rpc_pipefs,v4recovery} \
+       $RPM_BUILD_ROOT{%{systemdunitdir},%{_datadir}/nfs-utils}
 
 %{__make} install \
        DESTDIR=$RPM_BUILD_ROOT
 
 install -p utils/mount/nfsmount.conf $RPM_BUILD_ROOT/etc
 
-cat >$RPM_BUILD_ROOT%{_sbindir}/start-statd <<EOF
+cat >$RPM_BUILD_ROOT/sbin/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
+exec /sbin/rpc.statd --no-notify
 EOF
 
-sed -e "s|#!/bin/bash|#!/bin/sh|" utils/gssd/gss_destroy_creds > $RPM_BUILD_ROOT%{_sbindir}/gss_destroy_creds
+%{__sed} -i -e "s|#!/bin/bash|#!/bin/sh|" $RPM_BUILD_ROOT%{_sbindir}/gss_destroy_creds
+%{__sed} -i -e 's|%{_sbindir}nfsidmap|/sbin/nfsidmap|g' $RPM_BUILD_ROOT%{_mandir}/man8/nfsidmap.8
 
-mv $RPM_BUILD_ROOT%{_sbindir}/rpcdebug $RPM_BUILD_ROOT/sbin
+for f in rpcdebug blkmapd nfsidmap rpc.gssd rpc.idmapd rpc.statd ; do
+       mv $RPM_BUILD_ROOT%{_sbindir}/$f $RPM_BUILD_ROOT/sbin
+done
 
 install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/nfs
 install %{SOURCE3} $RPM_BUILD_ROOT/etc/rc.d/init.d/nfslock
@@ -231,6 +289,20 @@ install %{SOURCE8} $RPM_BUILD_ROOT/etc/sysconfig/nfsd
 install %{SOURCE9} $RPM_BUILD_ROOT/etc/sysconfig/nfslock
 install %{SOURCE10} $RPM_BUILD_ROOT/etc/sysconfig/nfsfs
 
+install %{SOURCE100} $RPM_BUILD_ROOT%{systemdunitdir}/proc-fs-nfsd.mount
+install %{SOURCE101} $RPM_BUILD_ROOT%{systemdunitdir}/var-lib-nfs-rpc_pipefs.mount
+install %{SOURCE102} $RPM_BUILD_ROOT%{systemdunitdir}/nfsd.service
+install %{SOURCE103} $RPM_BUILD_ROOT%{systemdunitdir}/nfs-blkmapd.service
+install %{SOURCE104} $RPM_BUILD_ROOT%{systemdunitdir}/nfs-exportfs.service
+install %{SOURCE105} $RPM_BUILD_ROOT%{systemdunitdir}/nfs-gssd.service
+install %{SOURCE106} $RPM_BUILD_ROOT%{systemdunitdir}/nfs-idmapd.service
+install %{SOURCE107} $RPM_BUILD_ROOT%{systemdunitdir}/nfs-lock.service
+install %{SOURCE108} $RPM_BUILD_ROOT%{systemdunitdir}/nfs-mountd.service
+install %{SOURCE109} $RPM_BUILD_ROOT%{systemdunitdir}/nfs-svcgssd.service
+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/nfs-lock.preconfig
+
 > $RPM_BUILD_ROOT%{_var}/lib/nfs/rmtab
 > $RPM_BUILD_ROOT%{_sysconfdir}/exports
 
@@ -266,6 +338,21 @@ if [ "$1" = "0" ]; then
        /sbin/chkconfig --del svcgssd
 fi
 
+%post systemd
+%systemd_post nfsd.service
+%systemd_post nfs-exportfs.service
+%systemd_post nfs-mountd.service
+%systemd_post nfs-svcgssd.service
+
+%preun systemd
+%systemd_preun nfsd.service
+%systemd_preun nfs-exportfs.service
+%systemd_preun nfs-mountd.service
+%systemd_preun nfs-svcgssd.service
+
+%postun systemd
+%systemd_reload
+
 %post clients
 /sbin/chkconfig --add nfsfs
 %service nfsfs restart
@@ -284,6 +371,17 @@ if [ "$1" = "0" ]; then
        /sbin/chkconfig --del blkmapd
 fi
 
+%post clients-systemd
+%systemd_post nfs-blkmapd.service
+%systemd_post nfs-gssd.service
+
+%preun clients-systemd
+%systemd_preun nfs-blkmapd.service
+%systemd_preun nfs-gssd.service
+
+%postun clients-systemd
+%systemd_reload
+
 %pre common
 %groupadd -g 191 rpcstatd
 %useradd -u 191 -d /var/lib/nfs/statd -s /bin/false -c "RPC statd user" -g rpcstatd rpcstatd
@@ -308,12 +406,52 @@ if [ "$1" = "0" ]; then
        %groupremove rpcstatd
 fi
 
+%post common-systemd
+%systemd_post nfs-idmapd.service
+%systemd_post nfs-lock.service
+
+%preun common-systemd
+%systemd_preun nfs-idmapd.service
+%systemd_preun nfs-lock.service
+
+%postun common-systemd
+%systemd_reload
+
+%triggerpostun -- %{name} < 1.2.5-4
+if [ -f /etc/sysconfig/nfsd ]; then
+       . /etc/sysconfig/nfsd
+       __RPCMOUNTDOPTIONS=
+       [ -n "$MOUNTD_PORT" ] && __RPCMOUNTDOPTIONS="-p $MOUNTD_PORT"
+       for vers in 2 3 4 ; do
+               __var=$(eval echo \$NFSv$vers)
+               [ -n "$__var" -a "$__var" != "yes" ] && \
+                       __RPCMOUNTDOPTIONS="$__RPCMOUNTDOPTIONS --no-nfs-version $vers"
+       done
+       [ -z "$__RPCMOUNTDOPTIONS" ] && exit 0
+       cp -f /etc/sysconfig/nfsd{,.rpmsave}
+       echo >>/etc/sysconfig/nfsd
+       echo "# Added by rpm trigger" >>/etc/sysconfig/nfsd
+       echo "RPCMOUNTDOPTIONS=\"$RPCMOUNTOPTIONS $__RPCMOUNTDOPTIONS\"" >>/etc/sysconfig/nfsd
+fi
+
 %triggerpostun common -- %{name}-lock < 1.2.5-3
 if [ -f /etc/sysconfig/nfslock.rpmsave ]; then
        mv -f /etc/sysconfig/nfslock{,.rpmnew}
        mv -f /etc/sysconfig/nfslock.rpmsave /etc/sysconfig/nfslock
 fi
 
+%triggerpostun common -- %{name}-common < 1.2.5-4
+if [ -f /etc/sysconfig/nfslock ]; then
+       . /etc/sysconfig/nfslock
+       [ -n "$STATD_PORT" ] && STATDOPTS="$STATDOPTS -p $STATD_PORT"
+       [ -n "$STATD_OUTPORT" ] && STATDOPTS="$STATDOPTS -o $STATD_OUTPORT"
+       [ -z "$STATDOPTS" ] && exit 0
+       cp -f /etc/sysconfig/nfslock{,.rpmsave}
+       echo >>/etc/sysconfig/nfslock
+       echo "# Added by rpm trigger" >>/etc/sysconfig/nfslock
+       echo "STATDOPTIONS=\"$STATDOPTS\"" >>/etc/sysconfig/nfslock
+fi
+
 %files
 %defattr(644,root,root,755)
 %doc ChangeLog README html
@@ -348,6 +486,16 @@ fi
 %{_mandir}/man8/rpcdebug.8*
 %{_mandir}/man8/svcgssd.8*
 
+%files systemd
+%defattr(644,root,root,755)
+%{systemdunitdir}/nfsd.service
+%{systemdunitdir}/nfs-exportfs.service
+%{systemdunitdir}/nfs-mountd.service
+%{systemdunitdir}/nfs-svcgssd.service
+%{systemdunitdir}/proc-fs-nfsd.mount
+%attr(755,root,root) %{_datadir}/nfs-utils/nfsd.postconfig
+%attr(755,root,root) %{_datadir}/nfs-utils/nfsd.preconfig
+
 %files clients
 %defattr(644,root,root,755)
 %attr(754,root,root) /etc/rc.d/init.d/blkmapd
@@ -359,10 +507,10 @@ fi
 %attr(4755,root,root) /sbin/umount.nfs
 %attr(4755,root,root) /sbin/mount.nfs4
 %attr(4755,root,root) /sbin/umount.nfs4
-%attr(755,root,root) %{_sbindir}/blkmapd
+%attr(755,root,root) /sbin/blkmapd
+%attr(755,root,root) /sbin/rpc.gssd
 %attr(755,root,root) %{_sbindir}/mountstats
 %attr(755,root,root) %{_sbindir}/nfsiostat
-%attr(755,root,root) %{_sbindir}/rpc.gssd
 %attr(755,root,root) %{_sbindir}/showmount
 %{_mandir}/man5/nfsmount.conf.5*
 %{_mandir}/man8/blkmapd.8*
@@ -374,6 +522,11 @@ fi
 %{_mandir}/man8/showmount.8*
 %{_mandir}/man8/umount.nfs.8*
 
+%files clients-systemd
+%defattr(644,root,root,755)
+%{systemdunitdir}/nfs-blkmapd.service
+%{systemdunitdir}/nfs-gssd.service
+
 %files common
 %defattr(644,root,root,755)
 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/nfslock
@@ -381,11 +534,11 @@ fi
 %attr(754,root,root) /etc/rc.d/init.d/nfslock
 %attr(755,root,root) %{_sbindir}/gss_clnt_send_err
 %attr(755,root,root) %{_sbindir}/gss_destroy_creds
-%attr(755,root,root) %{_sbindir}/nfsidmap
-%attr(755,root,root) %{_sbindir}/rpc.idmapd
-%attr(755,root,root) %{_sbindir}/rpc.statd
 %attr(755,root,root) %{_sbindir}/sm-notify
-%attr(755,root,root) %{_sbindir}/start-statd
+%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
 %dir %{_var}/lib/nfs
 %dir %{_var}/lib/nfs/rpc_pipefs
 %dir %{_var}/lib/nfs/v4recovery
@@ -401,3 +554,11 @@ fi
 %{_mandir}/man8/rpc.statd.8*
 %{_mandir}/man8/sm-notify.8*
 %{_mandir}/man8/statd.8*
+
+%files common-systemd
+%defattr(644,root,root,755)
+%{systemdunitdir}/nfs-idmapd.service
+%{systemdunitdir}/nfs-lock.service
+%{systemdunitdir}/var-lib-nfs-rpc_pipefs.mount
+%dir %{_datadir}/nfs-utils
+%attr(755,root,root) %{_datadir}/nfs-utils/nfs-lock.preconfig
This page took 0.040939 seconds and 4 git commands to generate.