[nfs-ganesha] Initial check-in, nfs-ganesah-2.0.0-0.1.rc5

Kaleb S. KEITHLEY kkeithle at fedoraproject.org
Fri Nov 22 13:27:30 UTC 2013


commit ff653f31d8e8c210f15585c6d152457d535c4b85
Author: Kaleb S. KEITHLEY <kkeithle at redhat.com>
Date:   Fri Nov 22 08:26:40 2013 -0500

    Initial check-in, nfs-ganesah-2.0.0-0.1.rc5

 .gitignore                 |    2 +
 nfs-ganesha-2.0.0rc5.patch |   26 +++++++++
 nfs-ganesha.service        |   12 ++++
 nfs-ganesha.spec           |  123 ++++++++++++++++++++++++++++++++++++++++++++
 sources                    |    2 +
 5 files changed, 165 insertions(+), 0 deletions(-)
---
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 <kkeithle at redhat.com> 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


More information about the scm-commits mailing list