diff --git a/nfs-ganesha.spec b/nfs-ganesha.spec index b29e25f..cc1ff7f 100644 --- a/nfs-ganesha.spec +++ b/nfs-ganesha.spec @@ -99,6 +99,9 @@ Requires: openSUSE-release %bcond_without mspac_support %global use_mspac_support %{on_off_switch mspac_support} +%bcond_with sanitize_address +%global use_sanitize_address %{on_off_switch sanitize_address} + %if ( 0%{?rhel} && 0%{?rhel} < 7 ) %global _rundir %{_localstatedir}/run %endif @@ -108,10 +111,9 @@ Requires: openSUSE-release #%%global dash_dev_version 2.6-rc5 Name: nfs-ganesha -Version: 2.7.0 -Release: 3%{?dev:%{dev}}%{?dist} +Version: 2.7.1 +Release: 1%{?dev:%{dev}}%{?dist} Summary: NFS-Ganesha is a NFS Server running in user space -Group: Applications/System License: LGPLv3+ Url: https://github.com/nfs-ganesha/nfs-ganesha/wiki @@ -140,11 +142,11 @@ Requires: dbus BuildRequires: libcap-devel BuildRequires: libblkid-devel BuildRequires: libuuid-devel -%if %{with mspac_support} +%if ( 0%{?with_mspac_support} ) BuildRequires: libwbclient-devel %endif BuildRequires: gcc-c++ -%if %{with system_ntirpc} +%if ( %{with_system_ntirpc} ) BuildRequires: libntirpc-devel = 1.7.0 %else Requires: libntirpc = @NTIRPC_VERSION_EMBED@ @@ -159,6 +161,9 @@ Requires: policycoreutils-python # with selinux. Requires: policycoreutils-python-utils %endif +%if %{with sanitize_address} +BuildRequires: libasan +%endif Requires: nfs-utils %if ( 0%{?with_rpcbind} ) %if ( 0%{?fedora} ) || ( 0%{?rhel} && 0%{?rhel} >= 6 ) || ( 0%{?suse_version} ) @@ -207,15 +212,13 @@ shared objects to support different file systems and name-spaces. %package mount-9P Summary: a 9p mount helper -Group: Applications/System %description mount-9P This package contains the mount.9P script that clients can use to simplify mounting to NFS-GANESHA. This is a 9p mount helper. %package vfs -Summary: The NFS-GANESHA's VFS FSAL -Group: Applications/System +Summary: The NFS-GANESHA VFS FSAL BuildRequires: libattr-devel Obsoletes: %{name}-xfs <= %{version} Requires: nfs-ganesha = %{version}-%{release} @@ -225,8 +228,7 @@ This package contains a FSAL shared object to be used with NFS-Ganesha to support VFS based filesystems %package proxy -Summary: The NFS-GANESHA's PROXY FSAL -Group: Applications/System +Summary: The NFS-GANESHA PROXY FSAL BuildRequires: libattr-devel Requires: nfs-ganesha = %{version}-%{release} @@ -236,8 +238,7 @@ be used with NFS-Ganesha to support PROXY based filesystems %if %{with utils} %package utils -Summary: The NFS-GANESHA's util scripts -Group: Applications/System +Summary: The NFS-GANESHA util scripts %if ( 0%{?suse_version} ) Requires: dbus-1-python, python-gobject2 python-pyparsing %else @@ -266,8 +267,7 @@ This package contains utility scripts for managing the NFS-GANESHA server %if %{with lttng} %package lttng -Summary: The NFS-GANESHA's library for use with LTTng -Group: Applications/System +Summary: The NFS-GANESHA library for use with LTTng BuildRequires: lttng-ust-devel >= 2.3 BuildRequires: lttng-tools-devel >= 2.3 Requires: nfs-ganesha = %{version}-%{release} @@ -279,8 +279,7 @@ to the ganesha.nfsd server, it makes it possible to trace using LTTng. %if %{with rados_recov} %package rados-grace -Summary: The NFS-GANESHA's command for managing the RADOS grace database -Group: Applications/System +Summary: The NFS-GANESHA command for managing the RADOS grace database BuildRequires: librados-devel >= 0.61 Requires: nfs-ganesha = %{version}-%{release} @@ -295,8 +294,7 @@ database used by the rados_cluster recovery backend. # NULL %if %{with nullfs} %package nullfs -Summary: The NFS-GANESHA's NULLFS Stackable FSAL -Group: Applications/System +Summary: The NFS-GANESHA NULLFS Stackable FSAL Requires: nfs-ganesha = %{version}-%{release} %description nullfs @@ -307,8 +305,7 @@ be used with NFS-Ganesha. This is mostly a template for future (more sophisticat # MEM %if %{with mem} %package mem -Summary: The NFS-GANESHA's Memory backed testing FSAL -Group: Applications/System +Summary: The NFS-GANESHA Memory backed testing FSAL Requires: nfs-ganesha = %{version}-%{release} %description mem @@ -319,8 +316,7 @@ is used for speed and latency testing. # GPFS %if %{with gpfs} %package gpfs -Summary: The NFS-GANESHA's GPFS FSAL -Group: Applications/System +Summary: The NFS-GANESHA GPFS FSAL Requires: nfs-ganesha = %{version}-%{release} %description gpfs @@ -331,8 +327,7 @@ be used with NFS-Ganesha to support GPFS backend # CEPH %if %{with ceph} %package ceph -Summary: The NFS-GANESHA's CephFS FSAL -Group: Applications/System +Summary: The NFS-GANESHA CephFS FSAL Requires: nfs-ganesha = %{version}-%{release} BuildRequires: libcephfs2-devel >= 12.2.0 @@ -344,8 +339,7 @@ be used with NFS-Ganesha to support CephFS # RGW %if %{with rgw} %package rgw -Summary: The NFS-GANESHA's Ceph RGW FSAL -Group: Applications/System +Summary: The NFS-GANESHA Ceph RGW FSAL Requires: nfs-ganesha = %{version}-%{release} BuildRequires: librgw2-devel >= 12.2.0 @@ -357,8 +351,7 @@ be used with NFS-Ganesha to support Ceph RGW # XFS %if %{with xfs} %package xfs -Summary: The NFS-GANESHA's XFS FSAL -Group: Applications/System +Summary: The NFS-GANESHA XFS FSAL Requires: nfs-ganesha = %{version}-%{release} BuildRequires: libattr-devel xfsprogs-devel @@ -370,8 +363,7 @@ to support XFS correctly #LUSTRE %if %{with lustre} %package lustre -Summary: The NFS-GANESHA's LUSTRE FSAL -Group: Applications/System +Summary: The NFS-GANESHA LUSTRE FSAL BuildRequires: libattr-devel BuildRequires: lustre-client Requires: nfs-ganesha = %{version}-%{release} @@ -385,8 +377,7 @@ be used with NFS-Ganesha to support LUSTRE based filesystems # PANFS %if %{with panfs} %package panfs -Summary: The NFS-GANESHA's PANFS FSAL -Group: Applications/System +Summary: The NFS-GANESHA PANFS FSAL Requires: nfs-ganesha = %{version}-%{release} %description panfs @@ -397,8 +388,7 @@ be used with NFS-Ganesha to support PANFS # GLUSTER %if %{with gluster} %package gluster -Summary: The NFS-GANESHA's GLUSTER FSAL -Group: Applications/System +Summary: The NFS-GANESHA GLUSTER FSAL Requires: nfs-ganesha = %{version}-%{release} BuildRequires: glusterfs-api-devel >= 3.12.3 BuildRequires: libattr-devel, libacl-devel @@ -408,11 +398,41 @@ This package contains a FSAL shared object to be used with NFS-Ganesha to support Gluster %endif +# SELINUX +%if ( 0%{?fedora} >= 30 || 0%{?rhel} >= 8 ) +%package selinux +Summary: The NFS-GANESHA SELINUX targeted policy +Group: Applications/System +BuildArch: noarch +Requires: nfs-ganesha = %{version}-%{release} +BuildRequires: selinux-policy-devel +Requires(post): selinux-policy-base >= 3.14.1 +Requires(post): libselinux-utils +Requires(post): policycoreutils + +%description selinux +This package contains an selinux policy for running ganesha.nfsd + +%post selinux +%selinux_modules_install -s %{selinuxtype} %{_datadir}/selinux/packages/ganesha.pp.bz2 + +%pre selinux +%selinux_relabel_pre -s %{selinuxtype} + +%postun selinux +if [ $1 -eq 0 ]; then + %selinux_modules_uninstall -s contrib ganesha +fi + +%posttrans +%selinux_relabel_post -s contrib +%endif + + # NTIRPC (if built-in) %if ! %{with system_ntirpc} %package -n libntirpc Summary: New Transport Independent RPC Library -Group: System Environment/Libraries License: BSD Version: @NTIRPC_VERSION_EMBED@ Url: https://github.com/nfs-ganesha/ntirpc @@ -437,7 +457,6 @@ the following features not found in libtirpc: %package -n libntirpc-devel Summary: Development headers for libntirpc Requires: libntirpc = @NTIRPC_VERSION_EMBED@ -Group: System Environment/Libraries License: BSD Version: @NTIRPC_VERSION_EMBED@ Url: https://github.com/nfs-ganesha/ntirpc @@ -475,12 +494,21 @@ cd src && %cmake . -DCMAKE_BUILD_TYPE=RelWithDebInfo \ -DUSE_9P=ON \ -DDISTNAME_HAS_GIT_DATA=OFF \ -DUSE_MAN_PAGE=%{use_man_page} \ + -DRPCBIND=%{use_rpcbind} \ + -D_MSPAC_SUPPORT=%{use_mspac_support} \ + -DSANITIZE_ADDRESS=%{use_sanitize_address} \ %if %{with jemalloc} -DALLOCATOR=jemalloc %endif make %{?_smp_mflags} || make %{?_smp_mflags} || make +%if ( 0%{?fedora} >= 30 || 0%{?rhel} >= 8 ) +make -C selinux -f /usr/share/selinux/devel/Makefile ganesha.pp +ls selinux +pushd selinux && bzip2 -9 ganesha.pp && popd +%endif + %install mkdir -p %{buildroot}%{_sysconfdir}/ganesha/ mkdir -p %{buildroot}%{_sysconfdir}/dbus-1/system.d @@ -558,6 +586,12 @@ install -m 755 scripts/init.d/nfs-ganesha.gpfs %{buildroot}%{_sysconfdir}/init. make DESTDIR=%{buildroot} install +%if ( 0%{?fedora} >= 30 || 0%{?rhel} >= 8 ) +install -d %{buildroot}%{_datadir}/selinux/packages +install -d -p %{buildroot}%{_datadir}/selinux/devel/include/contrib +install -p -m 644 selinux/ganesha.if %{buildroot}%{_datadir}/selinux/devel/include/contrib +install -m 0644 selinux/ganesha.pp.bz2 %{buildroot}%{_datadir}/selinux/packages +%endif %post %if ( 0%{?suse_version} ) @@ -740,6 +774,12 @@ exit 0 %endif %endif +%if ( 0%{?fedora} >= 30 || 0%{?rhel} >= 8 ) +%files selinux +%attr(0644,root,root) %{_datadir}/selinux/packages/ganesha.pp.bz2 +%attr(0644,root,root) %{_datadir}/selinux/devel/include/contrib/ganesha.if +%endif + %if ! %{with system_ntirpc} %files -n libntirpc %{_libdir}/libntirpc.so.@NTIRPC_VERSION_EMBED@ @@ -793,6 +833,9 @@ exit 0 %endif %changelog +* Fri Oct 12 2018 Kaleb S. KEITHLEY - 2.7.1-1 +- nfs-ganesha 2.7.1 GA + * Thu Sep 20 2018 Kaleb S. KEITHLEY - 2.7.0-3 - nfs-ganesha 2.7.0, obsolete xfs, enable lttng diff --git a/sources b/sources index 6f5ab4e..bc36e38 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (nfs-ganesha-2.7.0.tar.gz) = 8bde85f51784926a846e120212ca6eff5119f1e9af1b23b3c15c3fa7a29ac41227095ee0846d67cd9fb1965da9d89ebc39d9ef092d894d9ceb1fb54acdac491c +SHA512 (nfs-ganesha-2.7.1.tar.gz) = b53055c174b565cbf7bbc28af2e6594b960dfaea517a23abc546a1d587d87d71154656dc6cec09bc4ed3643a7a8adb8fbbb13f6bf3df30c84fd0c1d82ad9a684