X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=nfs-utils.spec;h=383a5b1dc851d754054468846a876cb5efafb4da;hb=f75dd6cb23c079f324accba58d6cfe5d95509ef2;hp=9f82276f222bcfde2b9481c079a8b956ae63b154;hpb=8fca1bdf40225eadbf03a0fa607eec3903afc3d4;p=packages%2Fnfs-utils.git diff --git a/nfs-utils.spec b/nfs-utils.spec index 9f82276..383a5b1 100644 --- a/nfs-utils.spec +++ b/nfs-utils.spec @@ -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 <$RPM_BUILD_ROOT/sbin/start-statd < $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