[net-fs/nfs-ganesha] add. i don't use nfs anymore but i'll eventually clean it up

This commit is contained in:
Robert Förster 2020-09-16 01:02:12 +02:00
parent 0ffb6b924c
commit b0c188cea5
5 changed files with 180 additions and 0 deletions

View File

@ -0,0 +1 @@
DIST nfs-ganesha-4.0_beta29.tar.gz 1845084 BLAKE2B 5cef2e879ddc799a245679be433c4091fddbb1e585830b1eb8ee3a4bc7d6a814a48355d14088cce5b59efaa74379db7453c497f889850f182f38df04d63411dc SHA512 46fde21768f387c993104d0da9dd0687e2b414b3adeb108f0475263b99909f32fe52340229575fedf270ccb26be3615796021bd93932eeb466b22863e3aaee7c

View File

@ -0,0 +1,9 @@
# Log file
# LOG_FILE=/var/log/ganesha.log
# Config file
# CONFIG_FILE=/etc/ganesha/ganesha.conf
# Log level
# Defaults to event
# LOG_LEVEL=NIV_EVENT

View File

@ -0,0 +1,18 @@
#!/sbin/openrc-run
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
: ${LOG_FILE:=/var/log/ganesha.log}
: ${CONFIG_FILE:=/etc/ganesha/ganesha.conf}
: ${LOG_LEVEL:=NIV_EVENT}
command=/usr/bin/ganesha.nfsd
command_args="-L ${LOG_FILE} -f ${CONFIG_FILE} -N ${LOG_LEVEL} -p /run/ganesha.pid"
pidfile="/run/ganesha.pid"
name="Ganesha NFS server"
description="NFS-Ganesha is an NFSv3,v4,v4.1 fileserver that runs in user mode on most UNIX/Linux systems"
start_pre(){
checkpath --directory /run/ganesha
}

View File

@ -0,0 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer-needed -->
<use>
<flag name="ganesha_fs_ceph">Enables CEPH support</flag>
<flag name="ganesha_fs_glusterfs">Enables GlusterFS support</flag>
<flag name="ganesha_fs_gpfs">Enables support for GPFS</flag>
<flag name="ganesha_fs_lustre">Enables support for LustreFS</flag>
<flag name="ganesha_fs_null">Enables support for NULL</flag>
<flag name="ganesha_fs_panfs">Enables support for PanFS</flag>
<flag name="ganesha_fs_proxy">Enables support for PROXY</flag>
<flag name="ganesha_fs_rgw">Enables support for RGW</flag>
<flag name="ganesha_fs_vfs">Enables support for VFS</flag>
<flag name="ganesha_fs_xfs">Enables support for XFS</flag>
<flag name="ganesha_fs_zfs">Enables support for ZFS</flag>
<flag name="gssapi">Enable GSSAPI support</flag>
<flag name="tools">Install Admin scripts</flag>
<flag name="gui">Install GUI Admin scripts</flag>
<flag name="nfs3">Enable NLM/NFSv3 support</flag>
<flag name="nfsidmap">Use of libnfsidmap for name resolution</flag>
<flag name="rdma">Enable rdma storage backend support</flag>
<flag name="vsock">Enable AF_VSOCK listener</flag>
</use>
<upstream>
<remote-id type="github">nfs-ganesha/nfs-ganesha</remote-id>
</upstream>
</pkgmetadata>

View File

@ -0,0 +1,124 @@
# Copyright 1999-2020 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=7
#PYTHON_COMPAT=( python3_8 )
#inherit cmake flag-o-matic python-single-r1
inherit cmake flag-o-matic
DESCRIPTION="A NFSv3,v4,v4.1 fileserver that runs in user mode on most UNIX/Linux systems"
HOMEPAGE="https://github.com/nfs-ganesha/nfs-ganesha"
if [[ ${PV} == *beta* ]] ; then
MY_PV="$(ver_cut 1)-dev.$(ver_cut 4)"
SRC_URI="https://github.com/nfs-ganesha/${PN}/archive/V${MY_PV}.tar.gz -> ${P}.tar.gz"
else
SRC_URI="https://github.com/nfs-ganesha/${PN}/archive/V${PV}.tar.gz -> ${P}.tar.gz"
fi
LICENSE="LGPL-3"
SLOT="0"
KEYWORDS="~amd64"
IUSE="dbus debug gssapi gui nfs3 nfsidmap rdma tools vsock"
FS_SUPPORT=" ceph glusterfs gpfs lustre mem null panfs proxy rgw vfs xfs"
IUSE+=" ${FS_SUPPORT// / ganesha_fs_}"
REQUIRED_USE="gui? ( tools )"
RDEPEND="
dev-libs/jemalloc
net-libs/libnfsidmap
>=net-libs/ntirpc-3.3:=[rdma?,gssapi]
gssapi? ( virtual/krb5 )
dbus? ( sys-apps/dbus )
ganesha_fs_ceph? ( sys-cluster/ceph )
ganesha_fs_glusterfs? ( sys-cluster/glusterfs )
ganesha_fs_lustre? ( sys-cluster/lustre )
ganesha_fs_xfs? ( sys-fs/xfsprogs )
"
DEPEND="${RDEPEND}
sys-devel/bison
sys-devel/flex
virtual/pkgconfig
"
#S="${WORKDIR}/${P}/src"
S="${WORKDIR}/${PN}-${MY_PV}/src"
CMAKE_BUILD_TYPE="Release"
src_prepare() {
sed \
-e "/config_samples/s:doc\/ganesha:doc\/${PF}:g" \
-e '/run\/ganesha/d' \
-i CMakeLists.txt || die
cmake_src_prepare
}
src_configure() {
local mycmakeargs=(
-DALLOCATOR=jemalloc
-DUSE_SYSTEM_NTIRPC=ON
-DTIRPC_EPOLL=ON
-DKRB5_FIND_COMPONENTS="gssrpc"
-DUSE_GSS=$(usex gssapi)
-DUSE_DBUS=$(usex dbus)
-DUSE_NFSIDMAP=$(usex nfsidmap)
-DENABLE_VFS_DEBUG_ACL=$(usex debug)
-DENABLE_RFC_ACL=$(usex debug)
-DUSE_EFENCE=$(usex debug)
-DDEBUG_SAL=$(usex debug)
-DENABLE_LOCKTRACE=$(usex debug)
-DUSE_NFS_RDMA=$(usex rdma)
-DUSE_NFS3=$(usex nfs3)
-DUSE_NFSACL3=$(usex nfs3)
-DUSE_NLM=$(usex nfs3)
-DUSE_VSOCK=$(usex vsock)
-DUSE_ADMIN_TOOLS=$(usex tools)
-DUSE_GUI_ADMIN_TOOLS=$(usex gui)
-DUSE_FSAL_CEPH=$(usex ganesha_fs_ceph)
-DUSE_RADOS_RECOV=$(usex ganesha_fs_ceph)
-DRADOS_URLS=$(usex ganesha_fs_ceph)
-DCEPHFS_POSIX_ACL=$(usex ganesha_fs_ceph)
-DUSE_FSAL_GLUSTER=$(usex ganesha_fs_glusterfs)
-DUSE_FSAL_GPFS=$(usex ganesha_fs_gpfs)
-DUSE_FSAL_LUSTRE=$(usex ganesha_fs_lustre)
-DUSE_FSAL_MEM=$(usex ganesha_fs_mem)
-DUSE_FSAL_NULL=$(usex ganesha_fs_null)
-DUSE_FSAL_PANFS=$(usex ganesha_fs_panfs)
-DUSE_FSAL_PROXY=$(usex ganesha_fs_proxy)
-DUSE_FSAL_RGW=$(usex ganesha_fs_rgw)
-DUSE_FSAL_VFS=$(usex ganesha_fs_vfs)
-DUSE_FSAL_XFS=$(usex ganesha_fs_xfs)
)
cmake_src_configure
}
#testing
#/var/tmp/portage/net-fs/nfs-ganesha-2.4.3/work/nfs-ganesha-2.4.3/src/CMakeLists.txt:option(USE_TOOL_MULTILOCK "build multilock tool" OFF)
#/var/tmp/portage/net-fs/nfs-ganesha-2.4.3/work/nfs-ganesha-2.4.3/src/CMakeLists.txt:option(USE_CB_SIMULATOR "enable callback simulator thread" OFF)
#/var/tmp/portage/net-fs/nfs-ganesha-2.4.3/work/nfs-ganesha-2.4.3/src/CMakeLists.txt:option(ENABLE_ERROR_INJECTION "enable error injection" OFF)
#/var/tmp/portage/net-fs/nfs-ganesha-2.4.3/work/nfs-ganesha-2.4.3/src/CMakeLists.txt:# These are -D_FOO options, why ??? should be flags??
#/var/tmp/portage/net-fs/nfs-ganesha-2.4.3/work/nfs-ganesha-2.4.3/src/CMakeLists.txt:option(_NO_TCP_REGISTER "disable registration of tcp services on portmapper" OFF)
#/var/tmp/portage/net-fs/nfs-ganesha-2.4.3/work/nfs-ganesha-2.4.3/src/CMakeLists.txt:option(_NO_PORTMAPPER "disable registration on portmapper" OFF)
#/var/tmp/portage/net-fs/nfs-ganesha-2.4.3/work/nfs-ganesha-2.4.3/src/CMakeLists.txt:option(_NO_XATTRD "disable ghost xattr directory and files support" ON)
#/var/tmp/portage/net-fs/nfs-ganesha-2.4.3/work/nfs-ganesha-2.4.3/src/CMakeLists.txt:option(_VALGRIND_MEMCHECK "Initialize buffers passed to GPFS ioctl that valgrind doesn't understand" OFF)
#/var/tmp/portage/net-fs/nfs-ganesha-2.4.3/work/nfs-ganesha-2.4.3/src/CMakeLists.txt:option(USE_CUNIT "Use Cunit test framework" OFF)
#/var/tmp/portage/net-fs/nfs-ganesha-2.4.3/work/nfs-ganesha-2.4.3/src/CMakeLists.txt:option(USE_BLKIN "Use Blkin/Zipkin trace framework" OFF)
#/var/tmp/portage/net-fs/nfs-ganesha-2.4.3/work/nfs-ganesha-2.4.3/src/CMakeLists.txt:option(BLKIN_PREFIX "Blkin installation prefix" "/opt/blkin")
#/var/tmp/portage/net-fs/nfs-ganesha-2.4.3/work/nfs-ganesha-2.4.3/src/CMakeLists.txt:option(USE_GTEST "Use Google Test test framework" OFF)
#/var/tmp/portage/net-fs/nfs-ganesha-2.4.3/work/nfs-ganesha-2.4.3/src/CMakeLists.txt:option(GTEST_PREFIX "Google Test installation prefix"
src_install() {
cmake_src_install
newinitd "${FILESDIR}"/${PN}.init ${PN}
newconfd "${FILESDIR}"/${PN}.confd ${PN}
if use dbus; then
insinto /etc/dbus-1/system.d
doins scripts/ganeshactl/org.ganesha.nfsd.conf
fi
}