diff --git a/nfs-utils.spec b/nfs-utils.spec index 521e6f3dd06b210f0c93fd454de35c75aa16d4b0..d2e32d025655061e677a7eb1f975f25de49b55e4 100644 --- a/nfs-utils.spec +++ b/nfs-utils.spec @@ -1,9 +1,10 @@ -%define anolis_release .0.2 +%define anolis_release .0.3 + Summary: NFS utilities and supporting clients and daemons for the kernel NFS server Name: nfs-utils URL: http://linux-nfs.org/ Version: 2.3.3 -Release: 59%{anolis_release}%{?dist} +Release: 59%{anolis_release}%{?dist}%{?lifsea_dist} Epoch: 1 # group all 32bit related archs @@ -13,9 +14,11 @@ Source0: https://www.kernel.org/pub/linux/utils/nfs-utils/%{version}/%{name}-%{v Source1: id_resolver.conf Source2: lockd.conf Source3: 24-nfs-server.conf +%if ! %{defined lifsea_dist} Source4: nfsconvert.py Source5: nfsconvert.sh Source6: nfs-convert.service +%endif # # RHEL 8.0 @@ -145,7 +148,8 @@ Provides: start-statd = %{epoch}:%{version}-%{release} License: MIT and GPLv2 and GPLv2+ and BSD Requires: rpcbind, sed, gawk, grep -Requires: kmod, keyutils, quota, python3-pyyaml +Requires: kmod, keyutils, quota +%{!?lifsea_dist:Requires: python3-pyyaml} BuildRequires: libevent-devel libcap-devel BuildRequires: libtirpc-devel libblkid-devel BuildRequires: krb5-libs >= 1.4 autoconf >= 2.57 openldap-devel >= 2.2 @@ -163,7 +167,7 @@ Requires(preun): coreutils Requires: libnfsidmap libevent Requires: libtirpc >= 0.2.3-1 libblkid libcap libmount %{?systemd_requires} -Requires: gssproxy => 0.7.0-3 +%{!?lifsea_dist:Requires: gssproxy => 0.7.0-3} %package -n libnfsidmap Summary: NFSv4 User and Group ID Mapping Library @@ -192,6 +196,13 @@ developing programs which use the libnfsidmap library. The nfs-utils package provides various utilities for use with NFS clients and servers. +# To avoid users installing the LifseaOS package in other os +%define common_pre_scripts() \ +if ! grep -q 'ID="lifsea"' /etc/os-release; then \ + echo "This package is only for LifseaOS!" \ + exit 1 \ +fi + %prep %autosetup -p1 @@ -244,9 +255,11 @@ install -m 644 %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/request-key.d mkdir -p $RPM_BUILD_ROOT/usr/lib/systemd/scripts install -m 644 %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/modprobe.d/lockd.conf install -m 644 %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/gssproxy +%if ! %{defined lifsea_dist} install -m 755 %{SOURCE4} $RPM_BUILD_ROOT%{_sbindir}/nfsconvert -install -m 755 %{SOURCE5} $RPM_BUILD_ROOT/%{_libexecdir}/nfs-utils/nfsconvert.sh +install -m 755 %{SOURCE5} $RPM_BUILD_ROOT/%{_libexecdir}/nfs-utils/nfsconvert.sh install -m 644 %{SOURCE6} $RPM_BUILD_ROOT%{_pkgdir}/system +%endif rm -rf $RPM_BUILD_ROOT%{_libdir}/*.{a,la} @@ -264,6 +277,9 @@ mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/exports.d %pre +%if %{defined lifsea_dist} +%{common_pre_scripts} +%endif # move files so the running service will have this applied as well for x in gssd idmapd ; do if [ -f /var/lock/subsys/rpc.$x ]; then @@ -271,6 +287,14 @@ for x in gssd idmapd ; do fi done +%if %{defined lifsea_dist} +%pre -n libnfsidmap +%{common_pre_scripts} + +%pre -n libnfsidmap-devel +%{common_pre_scripts} +%endif + %define rpcuser_uid 29 # Create rpcuser gid as long as it does not already exist cat /etc/group | cut -d':' -f 1 | grep --quiet rpcuser 2>/dev/null @@ -329,8 +353,10 @@ if [ $1 -eq 0 ] ; then rm -rf /var/lib/nfs/v4recovery fi +%if ! %{defined lifsea_dist} %triggerin -- nfs-utils > 1:2.1.1-3 /bin/systemctl try-restart gssproxy || : +%endif %files %config(noreplace) /etc/nfsmount.conf @@ -363,24 +389,29 @@ fi %{_sbindir}/rpc.gssd %{_sbindir}/sm-notify %{_sbindir}/start-statd -%{_sbindir}/mountstats -%{_sbindir}/nfsiostat +%{!?lifsea_dist:%{_sbindir}/mountstats} +%{?lifsea_dist:%exclude %{_sbindir}/mountstats} +%{!?lifsea_dist:%{_sbindir}/nfsiostat} +%{?lifsea_dist:%exclude %{_sbindir}/nfsiostat} %{_sbindir}/nfsidmap %{_sbindir}/blkmapd %{_sbindir}/nfsconf %{_sbindir}/nfsref -%{_sbindir}/nfsconvert -%{_sbindir}/nfsdclddb +%{!?lifsea_dist:%{_sbindir}/nfsconvert} +%{!?lifsea_dist:%{_sbindir}/nfsdclddb} +%{?lifsea_dist:%exclude %{_sbindir}/nfsdclddb} %{_sbindir}/nfsdcld -%{_sbindir}/nfsdclnts -%{_sbindir}/rpcctl +%{!?lifsea_dist:%{_sbindir}/nfsdclnts} +%{?lifsea_dist:%exclude %{_sbindir}/nfsdclnts} +%{!?lifsea_dist:%{_sbindir}/rpcctl} +%{?lifsea_dist:%exclude %{_sbindir}/rpcctl} %{_libexecdir}/nfsrahead %{_udevrulesdir}/99-nfs.rules %{_mandir}/*/* %{_pkgdir}/*/* %attr(4755,root,root) /sbin/mount.nfs -%attr(755,root,root) %{_libexecdir}/nfs-utils/nfsconvert.sh +%{!?lifsea_dist:%attr(755,root,root) %{_libexecdir}/nfs-utils/nfsconvert.sh} /sbin/mount.nfs4 /sbin/umount.nfs @@ -399,6 +430,9 @@ fi %{_libdir}/libnfsidmap.so %changelog +* Mon Jan 22 2024 yuanhui 2.3.3-59.0.3 +- LifseaOS: Remove Python dependencies and gssproxy package + * Thu Jun 29 2023 Ferry Meng 2.3.3-59.0.2 - Fix NFSv4 export of tmpfs filesystems - move estab/rmtab into libraries for compiling