From ff653f31d8e8c210f15585c6d152457d535c4b85 Mon Sep 17 00:00:00 2001 From: Kaleb S. KEITHLEY Date: Nov 22 2013 13:26:40 +0000 Subject: Initial check-in, nfs-ganesah-2.0.0-0.1.rc5 --- diff --git a/.gitignore b/.gitignore index e69de29..12347d2 100644 --- a/.gitignore +++ b/.gitignore @@ -0,0 +1,2 @@ +/pre-2.0-RC5.tar.gz +/v1.0.0.tar.gz diff --git a/nfs-ganesha-2.0.0rc5.patch b/nfs-ganesha-2.0.0rc5.patch new file mode 100644 index 0000000..9fdf828 --- /dev/null +++ b/nfs-ganesha-2.0.0rc5.patch @@ -0,0 +1,26 @@ +--- nfs-ganesha-pre-2.0-RC3/src/os/linux/subr.c.orig 2013-11-04 13:17:41.284000000 -0500 ++++ nfs-ganesha-pre-2.0-RC3/src/os/linux/subr.c 2013-11-04 13:31:05.496000000 -0500 +@@ -127,7 +127,6 @@ + { + uid_t orig_uid = setfsuid(uid); + if (uid != setfsuid(uid)) { +- setfsuid(orig_uid); + LogCrit(COMPONENT_FSAL, "Could not set user identity"); + } + return orig_uid; +@@ -137,7 +136,6 @@ + { + gid_t orig_gid = setfsgid(gid); + if (gid != setfsgid(gid)) { +- setfsgid(orig_gid); + LogCrit(COMPONENT_FSAL, "Could not set group identity"); + } + return orig_gid; +--- nfs-ganesha-pre-2.0-RC3/src/tools/ganestat.pl.orig 2013-11-04 16:46:40.414916999 -0500 ++++ nfs-ganesha-pre-2.0-RC3/src/tools/ganestat.pl 2013-11-04 16:47:09.108916999 -0500 +@@ -1,4 +1,4 @@ +-#!/bin/env perl ++#!/usr/bin/perl + # + ################## Doxygen header ################## + #* diff --git a/nfs-ganesha.service b/nfs-ganesha.service new file mode 100644 index 0000000..5e8a6f3 --- /dev/null +++ b/nfs-ganesha.service @@ -0,0 +1,12 @@ +[Unit] +Description=User-mode file server for NFS +Documentation=https://github.com/nfs-ganesha/nfs-ganesha/wiki + +[Service] +ExecStart=/usr/bin/ganesha.nfsd +Type=forking +PIDFile=/var/run/ganesha.pid + +[Install] +WantedBy=multi-user.target + diff --git a/nfs-ganesha.spec b/nfs-ganesha.spec new file mode 100644 index 0000000..59922f9 --- /dev/null +++ b/nfs-ganesha.spec @@ -0,0 +1,123 @@ + +%global prereltag rc5 +%global reltag pre-2.0-RC5 +%global ntirpcname ntirpc +%global ntirpcvers 1.0.0 + +Name: nfs-ganesha +Version: 2.0.0 +Release: 0.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 +* Fri Nov 22 2013 Kaleb S. KEITHLEY 2.0.0-0.1.rc5 +- Initial commit diff --git a/sources b/sources index e69de29..6bc63e6 100644 --- a/sources +++ b/sources @@ -0,0 +1,2 @@ +cec7c0ff5ef8dd4929f55ec4e4709030 pre-2.0-RC5.tar.gz +5a7c90879d6ce3d3a927defe3fbd0939 v1.0.0.tar.gz