# %%global prereltag rcfinal %global reltag pre-2.0-RC-final %global ntirpcname ntirpc %global ntirpcvers 1.0.0 Name: nfs-ganesha Version: 2.0.0 Release: 1%{?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 Source0: https://github.com/%{name}/%{name}/archive/%{reltag}.tar.gz Source1: https://github.com/%{name}/%{ntirpcname}/archive/v%{ntirpcvers}.tar.gz Source2: nfs-ganesha.service Patch1: nfs-ganesha-2.0.0rc5.patch # Bundling exception through Fedora 23 # https://fedorahosted.org/fpc/ticket/363 Provides: bundled(libntirpc) BuildRequires: systemd BuildRequires: cmake >= 2.6.3 BuildRequires: bison BuildRequires: flex BuildRequires: pkgconfig BuildRequires: doxygen BuildRequires: krb5-devel BuildRequires: xfsprogs-devel BuildRequires: dbus-devel BuildRequires: jemalloc-devel BuildRequires: libnfsidmap-devel BuildRequires: libwbclient-devel BuildRequires: libcap-devel # BuildRequires: glusterfs-api-devel Requires(post): systemd Requires(preun): systemd Requires(postun): systemd Requires: dbus Requires: jemalloc # Requires: glusterfs-api %global _docdir_fmt %{name} %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. %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. %prep %setup -q -n %{name}-%{reltag} -a 1 rm -rf contrib/libzfswrapper mv %{ntirpcname}-%{ntirpcvers}/* src/libntirpc/ %patch1 -p1 %build %cmake -DCMAKE_BUILD_TYPE=Maintainer -DBUILD_CONFIG=everything -DCMAKE_INSTALL_PREFIX=%{buildroot}/usr ./src # _smp_mflags elided due to random build errors (cmake related?) make VERBOSE=1 %install make install rm %{buildroot}%{_bindir}/libntirpc.* chmod ugo+x %{buildroot}%{_bindir}/ganestat.pl rm %{buildroot}%{_libdir}/ganesha/*.so install -D -p -m 0644 %{SOURCE2} %{buildroot}%{_unitdir}/nfs-ganesha.service mkdir -p %{buildroot}%{_defaultdocdir}/%{name} cp -p src/Docs/*.pdf %{buildroot}%{_defaultdocdir}/%{name}/ %post /sbin/ldconfig %systemd_post nfs-ganesha.service %preun %systemd_preun nfs-ganesha.service %postun /sbin/ldconfig %systemd_postun_with_restart nfs-ganesha.service %files %doc src/ChangeLog src/LICENSE.txt src/TODO %exclude %{_defaultdocdir}/%{name}/*.pdf %{_libdir}/* %{_bindir}/* %{_unitdir}/* %files docs %{_defaultdocdir}/%{name}/LICENSE.txt %{_defaultdocdir}/%{name}/*.pdf %dir %{_defaultdocdir}/%{name} %changelog * Mon Nov 25 2013 Kaleb S. KEITHLEY 2.0.0-0.2.rcfinal - update to RC-final * Fri Nov 22 2013 Kaleb S. KEITHLEY 2.0.0-0.1.rc5 - Initial commit