diff --git a/nfs-ganesha.spec b/nfs-ganesha.spec index 89c10b3..fe94665 100644 --- a/nfs-ganesha.spec +++ b/nfs-ganesha.spec @@ -1,183 +1,317 @@ -# %%global prereltag rcfinal -%global ntirpcname ntirpc -%global ntirpcvers 1.1.0 - %global _hardened_build 1 -%if ( 0%{?fedora} && 0%{?fedora} > 16 ) || ( 0%{?rhel} && 0%{?rhel} > 6 ) -%global _with_systemd true +%if 0%{?fedora} >= 15 || 0%{?rhel} >= 7 +%global with_nfsidmap 1 +%else +%global with_nfsidmap 0 %endif -# GlusterFS is not available in EPEL -# RHEL finally has 3.6.x, but lacks glusterfs-api-devel -%if ( ! 0%{?rhel} ) -%global with_glusterfs true +%if ( 0%{?fedora} >= 18 || 0%{?rhel} >= 7 ) +%global with_systemd 1 +%else +%global with_systemd 0 %endif -%global with_cephfs true +# Conditionally enable some FSALs, disable others. +# +# 1. rpmbuild accepts these options (gpfs as example): +# --with gpfs +# --without gpfs -%global with_admintools true +%define on_off_switch() %%{?with_%1:ON}%%{!?with_%1:OFF} -# From https://fedoraproject.org/wiki/Packaging:Python#Macros -%if ( 0%{?rhel} && 0%{?rhel} <= 5 ) -%{!?python_sitelib: %global python_sitelib %(python -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")} -%{!?python_sitearch: %global python_sitearch %(python -c "from distutils.sysconfig import get_python_lib; print(get_python_lib(1))")} -%endif +# A few explanation about %%bcond_with and %%bcond_without +# /!\ be careful: this syntax can be quite messy +# %%bcond_with means you add a "--with" option, default = without this feature +# %%bcond_without adds a"--without" so the feature is enabled by default -Name: nfs-ganesha -Version: 2.1.0 -Release: 14%{?prereltag:.%{prereltag}}%{?dist} -Summary: Ganesha NFS Server -Group: System Environment/Libraries -License: LGPLv3+ -URL: https://github.com/nfs-ganesha/nfs-ganesha/wiki -ExclusiveArch: x86_64 -ExclusiveArch: aarch64 +#%%bcond_without gpfs +%global use_fsal_gpfs OFF -Source0: https://github.com/%{name}/%{name}/archive/V%{version}/%{name}-%{version}.tar.gz -Source1: https://github.com/%{name}/%{ntirpcname}/archive/v%{ntirpcvers}/%{ntirpcname}-%{ntirpcvers}.tar.gz -Source2: nfs-ganesha.service -Patch3: nfs-ganesha-2.0.0-no-strict-aliasing.patch -Patch6: nfs-ganesha-2.1.0-config_parsing.patch -Patch7: nfs-ganesha-2.1.0-cache_inode_getattr.patch -Patch8: nfs-ganesha-2.1.0-nfs4_pseudo.patch -Patch9: nfs-ganesha-2.1.0-config-h.in.cmake.patch -Patch10: nfs-ganesha-2.1.0-commonlib.patch -Patch11: nfs-ganesha-2.1.0-nfs4_op_secinfo.patch -Patch12: nfs-ganesha-2.1.0-support-CMakeLists.txt.patch -Patch13: nfs-ganesha-2.1.0-cache_inode.patch -Patch14: nfs-ganesha-2.1.0-state_lock.patch +%bcond_without xfs +%global use_fsal_xfs %{on_off_switch xfs} -%{!?_pkgdocdir: %global _pkgdocdir %{_docdir}/%{name}-%{version}} +%bcond_without ceph +%global use_fsal_ceph %{on_off_switch ceph} + +#%%bcond_with lustre +%global use_fsal_lustre OFF + +#%%bcond_with shook +%global use_fsal_shook OFF + +%bcond_without gluster +%global use_fsal_gluster %{on_off_switch gluster} + +#%%bcond_with hpss +%global use_fsal_hpss OFF + +#%%bcond_without panfs +%global use_fsal_panfs OFF + +#%%bcond_with pt +%global use_fsal_pt OFF + +%bcond_with rdma +%global use_rdma %{on_off_switch rdma} + +%bcond_without jemalloc + +#%%bcond_with lustre_up +%global use_lustre_up OFF + +#%%bcond_with lttng +%global use_lttng OFF + +%bcond_without utils +%global use_utils %{on_off_switch utils} + +%global dev_version %{lua: extraver = string.gsub('-rc1', '%-', ''); print(extraver) } + +%global ntirpcname ntirpc +%global ntirpcvers 1.2.0 +%global versiontag 2.2-rc1 + +Name: nfs-ganesha +Version: 2.2.0 +Release: 0.1%{?dev_version:%{dev_version}}%{?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 + +Source0: https://github.com/%{name}/%{name}/archive/V%{versiontag}/%{name}-%{version}%{dev_version}.tar.gz +Source1: https://github.com/%{name}/%{ntirpcname}/archive/v%{ntirpcvers}/%{ntirpcname}-%{ntirpcvers}.tar.gz +Patch13: nfs-ganesha-2.1.0-cache_inode.patch +Patch14: nfs-ganesha-2.1.0-state_lock.patch -# Bundling exception through Fedora 23 -# https://fedorahosted.org/fpc/ticket/363 -Provides: bundled(libntirpc) -%if ( 0%{?_with_systemd:1} ) -BuildRequires: systemd -%endif %if ( 0%{?rhel} && 0%{?rhel} < 7 ) BuildRequires: cmake28 %else -BuildRequires: cmake >= 2.6.3 -%endif -BuildRequires: bison -BuildRequires: flex -BuildRequires: pkgconfig -BuildRequires: doxygen -BuildRequires: krb5-devel -BuildRequires: dbus-devel -BuildRequires: jemalloc-devel -%if ( 0%{?fedora} && 0%{?fedora} > 16 ) || ( 0%{?rhel} && 0%{?rhel} > 6 ) -BuildRequires: xfsprogs-devel -BuildRequires: libnfsidmap-devel -BuildRequires: libwbclient-devel -%endif -BuildRequires: libcap-devel -%if ( 0%{?with_admintools:1} ) -BuildRequires: PyQt4-devel -%endif - -%if ( 0%{?_with_systemd:1} ) -Requires(post): systemd -Requires(preun): systemd -Requires(postun): systemd +BuildRequires: cmake +%endif +BuildRequires: bison flex +BuildRequires: flex +BuildRequires: pkgconfig +BuildRequires: krb5-devel +BuildRequires: dbus-devel +BuildRequires: libcap-devel +BuildRequires: libblkid-devel +BuildRequires: libuuid-devel +Requires: dbus +%if %{with_nfsidmap} +BuildRequires: libnfsidmap-devel %else -Requires(post): /sbin/chkconfig -Requires(preun): /sbin/service -Requires(preun): /sbin/chkconfig -Requires(postun): /sbin/service +BuildRequires: nfs-utils-lib-devel +%endif +%if %{with rdma} +BuildRequires: libmooshika-devel >= 0.6-0 +%endif +%if %{with jemalloc} +BuildRequires: jemalloc-devel +%endif +%if %{with lustre_up} +BuildRequires: lcap-devel >= 0.1-0 %endif -Requires: dbus -Requires: jemalloc -%if ( 0%{?with_admintools:1} ) -Requires: PyQt4 +%if %{with_systemd} +BuildRequires: systemd +Requires(post): systemd +Requires(preun): systemd +Requires(postun): systemd +%else +BuildRequires: initscripts %endif +# Use CMake variables + %description -NFS-Ganesha is a user mode file server with support for both the -NFS suite and 9P, the Plan 9 remote file access protocol. It uses -an internal meta data cache and state manager for performance. It -also provides support for pNFS for multiple clustered file systems -both open source and proprietary. Multiple file systems are supported -via loadable back-end drivers. The VFS back-end supports file systems -via the kernel. Other back-ends can support user mode library based -clusters such as CEPH and GLUSTERFS. There is also a PROXY back-end -which operates as an NFSv4 client. - -%if ( 0%{?with_glusterfs:1} ) -%package fsal-gluster -Summary: Ganesha NFS Server GlusterFS FSAL -Requires: glusterfs-api >= 3.5.1 -BuildRequires: glusterfs-api-devel >= 3.5.1 - -%description fsal-gluster -GlusterFS FSAL for nfs-ganesha - -NFS-Ganesha is a user mode file server with support for both the -NFS suite and 9P, the Plan 9 remote file access protocol. It uses -an internal meta data cache and state manager for performance. It -also provides support for pNFS for multiple clustered file systems -both open source and proprietary. Multiple file systems are supported -via loadable back-end drivers. The VFS back-end supports file systems -via the kernel. Other back-ends can support user mode library based -clusters such as CEPH and GLUSTERFS. There is also a PROXY back-end -which operates as an NFSv4 client. -%endif - -%if ( 0%{?with_cephfs:1} ) -%package fsal-ceph -Summary: Ganesha NFS Server Ceph FSAL -Requires: ceph >= 0.78 -BuildRequires: ceph-devel >= 0.78 - -%description fsal-ceph -Ceph FSAL for nfs-ganesha - -NFS-Ganesha is a user mode file server with support for both the -NFS suite and 9P, the Plan 9 remote file access protocol. It uses -an internal meta data cache and state manager for performance. It -also provides support for pNFS for multiple clustered file systems -both open source and proprietary. Multiple file systems are supported -via loadable back-end drivers. The VFS back-end supports file systems -via the kernel. Other back-ends can support user mode library based -clusters such as CEPH and GLUSTERFS. There is also a PROXY back-end -which operates as an NFSv4 client. -%endif - -%package docs -Summary: Ganesha NFS Server Documentation -BuildArch: noarch - -%description docs -Documentation for nfs-ganesha - -NFS-Ganesha is a user mode file server with support for both the -NFS suite and 9P, the Plan 9 remote file access protocol. It uses -an internal meta data cache and state manager for performance. It -also provides support for pNFS for multiple clustered file systems -both open source and proprietary. Multiple file systems are supported -via loadable back-end drivers. The VFS back-end supports file systems -via the kernel. Other back-ends can support user mode library based -clusters such as CEPH and GLUSTERFS. There is also a PROXY back-end -which operates as an NFSv4 client. +nfs-ganesha : NFS-GANESHA is a NFS Server running in user space. +It comes with various back-end modules (called FSALs) provided as + 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 +BuildRequires: libattr-devel +Requires: nfs-ganesha + +%description vfs +This package contains a FSAL shared object to +be used with NFS-Ganesha to support VFS based filesystems + +%package nullfs +Summary: The NFS-GANESHA's NULLFS Stackable FSAL +Group: Applications/System + +%description nullfs +This package contains a Stackable FSAL shared object to +be used with NFS-Ganesha. This is mostly a template for future (more sophisticated) stackable FSALs + +%package proxy +Summary: The NFS-GANESHA's PROXY FSAL +Group: Applications/System +BuildRequires: libattr-devel +Requires: nfs-ganesha + +%description proxy +This package contains a FSAL shared object to +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 +BuildRequires: PyQt4-devel +Requires: PyQt4 +Requires: nfs-ganesha python + +%description utils +This package contains utility scripts for managing the NFS-GANESHA server +%endif + +%if %{with lttng} +%package lttng +Summary: The NFS-GANESHA's library for use with LTTng +Group: Applications/System +BuildRequires: lttng-ust-devel >= 2.3 +Requires: nfs-ganesha, lttng-tools >= 2.3, lttng-ust >= 2.3 + +%description lttng +This package contains the libganesha_trace.so library. When preloaded +to the ganesha.nfsd server, it makes it possible to trace using LTTng. +%endif + +# Option packages start here. use "rpmbuild --with lustre" (or equivalent) +# for activating this part of the spec file + +# GPFS +%if %{with gpfs} +%package gpfs +Summary: The NFS-GANESHA's GPFS FSAL +Group: Applications/System + +%description gpfs +This package contains a FSAL shared object to +be used with NFS-Ganesha to support GPFS backend +%endif + +# CEPH +%if %{with ceph} +%package ceph +Summary: The NFS-GANESHA's CEPH FSAL +Group: Applications/System +Requires: ceph >= 0.78 +BuildRequires: ceph-devel >= 0.78 + +%description ceph +This package contains a FSAL shared object to +be used with NFS-Ganesha to support CEPH +%endif + +# LUSTRE +%if %{with lustre} +%package lustre +Summary: The NFS-GANESHA's LUSTRE FSAL +Group: Applications/System +Requires: lustre nfs-ganesha +BuildRequires: libattr-devel lustre + +%description lustre +This package contains a FSAL shared object to +be used with NFS-Ganesha to support LUSTRE +%endif + +# SHOOK +%if %{with shook} +%package shook +Summary: The NFS-GANESHA's LUSTRE/SHOOK FSAL +Group: Applications/System +Requires: lustre shook-client nfs-ganesha +BuildRequires: libattr-devel lustre shook-devel + +%description shook +This package contains a FSAL shared object to +be used with NFS-Ganesha to support LUSTRE via SHOOK +%endif + +# XFS +%if %{with xfs} +%package xfs +Summary: The NFS-GANESHA's XFS FSAL +Group: Applications/System +Requires: nfs-ganesha +BuildRequires: libattr-devel xfsprogs-devel + +%description xfs +This package contains a shared object to be used with FSAL_VFS +to support XFS correctly +%endif + +# HPSS +%if %{with hpss} +%package hpss +Summary: The NFS-GANESHA's HPSS FSAL +Group: Applications/System +Requires: nfs-ganesha +#BuildRequires: hpssfs + +%description hpss +This package contains a FSAL shared object to +be used with NFS-Ganesha to support HPSS +%endif + +# PANFS +%if %{with panfs} +%package panfs +Summary: The NFS-GANESHA's PANFS FSAL +Group: Applications/System +Requires: nfs-ganesha + +%description panfs +This package contains a FSAL shared object to +be used with NFS-Ganesha to support PANFS +%endif + +# PT +%if %{with pt} +%package pt +Summary: The NFS-GANESHA's PT FSAL +Group: Applications/System +Requires: nfs-ganesha + +%description pt +This package contains a FSAL shared object to +be used with NFS-Ganesha to support PT +%endif + +# GLUSTER +%if %{with gluster} +%package gluster +Summary: The NFS-GANESHA's GLUSTER FSAL +Group: Applications/System +Requires: nfs-ganesha +BuildRequires: glusterfs-api-devel >= 3.5.1 +BuildRequires: libattr-devel + +%description gluster +This package contains a FSAL shared object to +be used with NFS-Ganesha to support Gluster +%endif %prep -%setup -q -n %{name}-%{version} -a 1 +%setup -q -n %{name}-%{versiontag} -a 1 rm -rf contrib/libzfswrapper mv %{ntirpcname}-%{ntirpcvers}/* src/libntirpc/ -%if ( 0%{?rhel} && 0%{?rhel} < 7 ) -%patch3 -p1 -%endif -%patch6 -p1 -%patch7 -p1 -%patch8 -p1 -%patch9 -p1 -%patch10 -p1 -%patch11 -p1 -%patch12 -p1 %patch13 -p1 %patch14 -p1 @@ -185,87 +319,254 @@ mv %{ntirpcname}-%{ntirpcvers}/* src/libntirpc/ %if ( 0%{?rhel} && 0%{?rhel} < 7 ) %global cmake %cmake28 %endif -%if ( 0%{?with_admintools:1} ) -%global config_admin -DUSE_ADMIN_TOOLS=ON +%cmake ./src -DCMAKE_BUILD_TYPE=Debug \ + -DBUILD_CONFIG=rpmbuild \ + -DUSE_FSAL_ZFS=NO \ + -DUSE_FSAL_XFS=%{use_fsal_xfs} \ + -DUSE_FSAL_CEPH=%{use_fsal_ceph} \ + -DUSE_FSAL_LUSTRE=%{use_fsal_lustre} \ + -DUSE_FSAL_SHOOK=%{use_fsal_shook} \ + -DUSE_FSAL_GPFS=%{use_fsal_gpfs} \ + -DUSE_FSAL_HPSS=%{use_fsal_hpss} \ + -DUSE_FSAL_PANFS=%{use_fsal_panfs} \ + -DUSE_FSAL_PT=%{use_fsal_pt} \ + -DUSE_FSAL_GLUSTER=%{use_fsal_gluster} \ + -DUSE_9P_RDMA=%{use_rdma} \ + -DUSE_FSAL_LUSTRE_UP=%{use_lustre_up} \ + -DUSE_LTTNG=%{use_lttng} \ + -DUSE_ADMIN_TOOLS=%{use_utils} \ + -DUSE_FSAL_VFS=ON \ + -DUSE_FSAL_PROXY=ON \ + -DUSE_DBUS=ON \ + -DUSE_9P=ON \ + -DDISTNAME_HAS_GIT_DATA=OFF \ + -DCMAKE_INSTALL_PREFIX= \ +%if %{with jemalloc} + -DALLOCATOR=jemalloc %endif -%cmake -DCMAKE_BUILD_TYPE=Maintainer -DBUILD_CONFIG=everything -DCMAKE_INSTALL_PREFIX=%{buildroot}/usr %{config_admin} ./src -# _smp_mflags elided due to random build errors (cmake related?) -make VERBOSE=1 + +make %{?_smp_mflags} || make %{?_smp_mflags} || make %install -make install -rm %{buildroot}%{_bindir}/libntirpc.* -mkdir -p %{buildroot}%{_pkgdocdir} -cp -p src/Docs/*.pdf %{buildroot}%{_pkgdocdir}/ -%if ( 0%{?_with_systemd:1} ) -install -D -p -m 0644 src/scripts/systemd/nfs-ganesha.service %{buildroot}%{_unitdir}/nfs-ganesha.service +mkdir -p %{buildroot}%{_sysconfdir}/ganesha/ +mkdir -p %{buildroot}%{_sysconfdir}/dbus-1/system.d +mkdir -p %{buildroot}%{_sysconfdir}/sysconfig +mkdir -p %{buildroot}%{_sysconfdir}/logrotate.d +mkdir -p %{buildroot}%{_bindir} +mkdir -p %{buildroot}%{_sbindir} +mkdir -p %{buildroot}%{_libdir}/ganesha +mkdir -p %{buildroot}%{_localstatedir}/run/ganesha +install -m 644 src/config_samples/logrotate_ganesha %{buildroot}%{_sysconfdir}/logrotate.d/ganesha +install -m 644 src/scripts/ganeshactl/org.ganesha.nfsd.conf %{buildroot}%{_sysconfdir}/dbus-1/system.d +install -m 755 src/tools/mount.9P %{buildroot}%{_sbindir}/mount.9P + +install -m 644 src/config_samples/vfs.conf %{buildroot}%{_sysconfdir}/ganesha + +%if %{with_systemd} +mkdir -p %{buildroot}%{_unitdir} +install -m 644 src/scripts/systemd/nfs-ganesha.service %{buildroot}%{_unitdir}/nfs-ganesha.service +install -m 644 src/scripts/systemd/nfs-ganesha-lock.service %{buildroot}%{_unitdir}/nfs-ganesha-lock.service +install -m 644 src/scripts/systemd/sysconfig/nfs-ganesha %{buildroot}%{_sysconfdir}/sysconfig/ganesha %else -install -D -p -m 0744 src/ganesha.init %{buildroot}%{_sysconfdir}/init.d/nfs-ganesha +mkdir -p %{buildroot}%{_sysconfdir}/init.d +install -m 755 src/ganesha.init %{buildroot}%{_sysconfdir}/init.d/nfs-ganesha +install -m 644 src/ganesha.sysconfig %{buildroot}%{_sysconfdir}/sysconfig/ganesha +%endif + +%if %{with utils} && 0%{?rhel} && 0%{?rhel} <= 6 +%{!?__python2: %global __python2 /usr/bin/python2} +%{!?python2_sitelib: %global python2_sitelib %(%{__python2} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")} +%{!?python2_sitearch: %global python2_sitearch %(%{__python2} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib(1))")} +%endif + +%if %{with pt} +install -m 755 src/ganesha.pt.init %{buildroot}%{_sysconfdir}/init.d/nfs-ganesha-pt +install -m 644 src/config_samples/pt.conf %{buildroot}%{_sysconfdir}/ganesha +%endif + +%if %{with xfs} +install -m 644 src/config_samples/xfs.conf %{buildroot}%{_sysconfdir}/ganesha %endif -install -D -p -m 0644 src/scripts/systemd/sysconfig/nfs-ganesha %{buildroot}%{_sysconfdir}/sysconfig/nfs-ganesha -install -D -p -m 0644 src/scripts/ganeshactl/org.ganesha.nfsd.conf %{buildroot}%{_sysconfdir}/dbus-1/system.d/org.ganesha.nfsd.conf + +%if %{with ceph} +install -m 644 src/config_samples/ceph.conf %{buildroot}%{_sysconfdir}/ganesha +%endif + +%if %{with lustre} +install -m 755 src/config_samples/lustre.conf %{buildroot}%{_sysconfdir}/ganesha +%endif + +%if %{with gpfs} +install -m 644 src/config_samples/gpfs.conf %{buildroot}%{_sysconfdir}/ganesha +install -m 644 src/config_samples/gpfs.ganesha.nfsd.conf %{buildroot}%{_sysconfdir}/ganesha +install -m 644 src/config_samples/gpfs.ganesha.main.conf %{buildroot}%{_sysconfdir}/ganesha +install -m 644 src/config_samples/gpfs.ganesha.log.conf %{buildroot}%{_sysconfdir}/ganesha +install -m 644 src/config_samples/gpfs.ganesha.exports.conf %{buildroot}%{_sysconfdir}/ganesha +%endif + +%if %{with utils} +pushd . +cd scripts/ganeshactl/ +python setup.py --quiet install --root=%{buildroot} +popd +install -m 755 Protocols/NLM/sm_notify.ganesha %{buildroot}%{_bindir}/sm_notify.ganesha +%endif + +make DESTDIR=%{buildroot}/usr install +rm -f %{buildroot}/usr/bin/libntirpc.a +mv %{buildroot}/usr%{_sysconfdir}/ganesha/ganesha.conf %{buildroot}%{_sysconfdir}/ganesha/ %post -/sbin/ldconfig -%if ( 0%{?_with_systemd:1} ) +%if %{with_systemd} %systemd_post nfs-ganesha.service -%else -/sbin/chkconfig --add nfs-ganesha +%systemd_post nfs-ganesha-lock.service %endif %preun -%if ( 0%{?_with_systemd:1} ) -%systemd_preun nfs-ganesha.service -%else -/sbin/service nfs-ganesha stop &>/dev/null -/sbin/chkconfig --del nfs-ganesha -/sbin/service nfs-ganesha condrestart &>/dev/null +%if %{with_systemd} +%systemd_preun nfs-ganesha-lock.service %endif %postun -/sbin/ldconfig -%if ( 0%{?_with_systemd:1} ) -%systemd_postun_with_restart nfs-ganesha.service +%if %{with_systemd} +%systemd_postun_with_restart nfs-ganesha-lock.service %endif %files -%doc src/ChangeLog src/LICENSE.txt src/Docs/*.pdf -%exclude %{_pkgdocdir}/*.pdf -%if ( 0%{?with_glusterfs:1} ) -%exclude %{_libdir}/ganesha/libfsalgluster.* -%endif -%if ( 0%{?with_cephfs:1} ) -%exclude %{_libdir}/ganesha/libfsalceph.* -%endif -%{_libdir}/* -%{_bindir}/* -%if ( 0%{?_with_systemd:1} ) -%{_unitdir}/* +%defattr(-,root,root,-) +%{_bindir}/ganesha.nfsd +#%%{_bindir}/libntirpc.a +%config %{_sysconfdir}/dbus-1/system.d/org.ganesha.nfsd.conf +%config(noreplace) %{_sysconfdir}/sysconfig/ganesha +%config(noreplace) %{_sysconfdir}/logrotate.d/ganesha +%dir %{_sysconfdir}/ganesha/ +%config(noreplace) %{_sysconfdir}/ganesha/ganesha.conf +%dir %{_defaultdocdir}/ganesha/ +%{_defaultdocdir}/ganesha/* +%dir %{_localstatedir}/run/ganesha + +%if %{with_systemd} +%{_unitdir}/nfs-ganesha.service +%{_unitdir}/nfs-ganesha-lock.service %else -%{_sysconfdir}/init.d/* +%{_sysconfdir}/init.d/nfs-ganesha %endif -%{_sysconfdir}/sysconfig/* -%{_sysconfdir}/dbus-1/system.d/* -%if ( 0%{?with_admintools:1} ) -%{python_sitelib}/* + +%files mount-9P +%defattr(-,root,root,-) +%{_sbindir}/mount.9P + + +%files vfs +%defattr(-,root,root,-) +%{_libdir}/ganesha/libfsalvfs* +%config(noreplace) %{_sysconfdir}/ganesha/vfs.conf + + +%files nullfs +%defattr(-,root,root,-) +%{_libdir}/ganesha/libfsalnull* + + +%files proxy +%defattr(-,root,root,-) +%{_libdir}/ganesha/libfsalproxy* + +# Optional packages +%if %{with gpfs} +%files gpfs +%defattr(-,root,root,-) +%{_libdir}/ganesha/libfsalgpfs* +%config(noreplace) %{_sysconfdir}/ganesha/gpfs.conf +%config(noreplace) %{_sysconfdir}/ganesha/gpfs.ganesha.nfsd.conf +%config(noreplace) %{_sysconfdir}/ganesha/gpfs.ganesha.main.conf +%config(noreplace) %{_sysconfdir}/ganesha/gpfs.ganesha.log.conf +%config(noreplace) %{_sysconfdir}/ganesha/gpfs.ganesha.exports.conf +%endif + +%if %{with xfs} +%files xfs +%defattr(-,root,root,-) +%{_libdir}/ganesha/libfsalxfs* +%config(noreplace) %{_sysconfdir}/ganesha/xfs.conf %endif -%if ( 0%{?with_glusterfs:1} ) -%files fsal-gluster -%{_libdir}/ganesha/libfsalgluster.* +%if %{with ceph} +%files ceph +%defattr(-,root,root,-) +%{_libdir}/ganesha/libfsalceph* +%config(noreplace) %{_sysconfdir}/ganesha/ceph.conf %endif -%if ( 0%{?with_cephfs:1} ) -%files fsal-ceph -%{_libdir}/ganesha/libfsalceph.* +%if %{with lustre} +%files lustre +%defattr(-,root,root,-) +%config(noreplace) %{_sysconfdir}/ganesha/lustre.conf +%{_libdir}/ganesha/libfsallustre* %endif -%files docs -%{_pkgdocdir}/LICENSE.txt -%{_pkgdocdir}/* -%dir %{_pkgdocdir} +%if %{with shook} +%files shook +%defattr(-,root,root,-) +%{_libdir}/ganesha/libfsalshook* +%endif + +%if %{with gluster} +%files gluster +%defattr(-,root,root,-) +%{_libdir}/ganesha/libfsalgluster* +%endif + +%if %{with hpss} +%files hpss +%defattr(-,root,root,-) +%{_libdir}/ganesha/libfsalhpss* +%endif + +%if %{with panfs} +%files panfs +%defattr(-,root,root,-) +%{_libdir}/ganesha/libfsalpanfs* +%endif + +%if %{with pt} +%files pt +%defattr(-,root,root,-) +%{_libdir}/ganesha/libfsalpt* +%config(noreplace) %{_sysconfdir}/init.d/nfs-ganesha-pt +%config(noreplace) %{_sysconfdir}/ganesha/pt.conf +%endif + +%if %{with lttng} +%files lttng +%defattr(-,root,root,-) +%{_libdir}/ganesha/libganesha_trace* +%endif + +%if %{with utils} +%files utils +%defattr(-,root,root,-) +%{python2_sitelib}/Ganesha/* +%{python2_sitelib}/ganeshactl-*-info +%{_bindir}/ganesha-admin +%{_bindir}/manage_clients +%{_bindir}/manage_exports +%{_bindir}/manage_logger +%{_bindir}/ganeshactl +%{_bindir}/fake_recall +%{_bindir}/get_clientids +%{_bindir}/grace_period +%{_bindir}/purge_gids +%{_bindir}/ganesha_stats +%{_bindir}/sm_notify.ganesha +%{_bindir}/ganesha_mgr +%endif %changelog +* Fri Feb 13 2015 Kaleb S. KEITHLEY 2.2.0-0.1rc1 +- 2.2.0-0.1rc1 +- nfs-ganesha.spec based on upstream + * Thu Feb 12 2015 Kaleb S. KEITHLEY 2.1.0-14 - Fedora 23/rawhide build fixes - Ceph restored in EPEL diff --git a/sources b/sources index 618b1b9..b2a00dd 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -e0b398e92def24f5c354c17db1ee1119 nfs-ganesha-2.1.0.tar.gz -18313c48592396061fae3be6428afde8 ntirpc-1.1.0.tar.gz +58a05c7c8839b808d4d79e23097e5a2e nfs-ganesha-2.2.0rc1.tar.gz +4319747da35d6e2e713f859272201978 ntirpc-1.2.0.tar.gz