nfs-ganesha/nfs-ganesha.spec

127 lines
4.0 KiB
RPMSpec
Raw Normal View History

# %%global prereltag rcfinal
2013-11-25 17:58:01 +00:00
%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
2013-11-25 17:58:01 +00:00
* Mon Nov 25 2013 Kaleb S. KEITHLEY <kkeithle at redhat.com> 2.0.0-0.2.rcfinal
- update to RC-final
2013-11-25 18:01:01 +00:00
* Fri Nov 22 2013 Kaleb S. KEITHLEY <kkeithle at redhat.com> 2.0.0-0.1.rc5
- Initial commit