So I tried to build it by myself and failed numerous times. Finally I just went the debian
way and to have it clean and reproducible I did it then again within a docker container.
Here is the Dockerfile to build the latest nfs-ganesha on top of Debian with the Ceph
version provided by Proxmox.
----
rstumbaum@controlnode01.dc1:~/docker-nfs-ganesha-build$ cat Dockerfile
ARG DEBIAN_RELEASE="buster"
ARG CEPH_RELEASE_PVE="nautilus"
FROM debian:${DEBIAN_RELEASE} AS build-env
ARG DEBIAN_RELEASE
ARG CEPH_RELEASE_PVE
ADD
http://download.proxmox.com/debian/proxmox-ve-release-6.x.gpg
/etc/apt/trusted.gpg.d/proxmox-ve-release-6.x.gpg
RUN chmod 644 /etc/apt/trusted.gpg.d/proxmox-ve-release-6.x.gpg &&\
echo "deb
http://download.proxmox.com/debian/ceph-${CEPH_RELEASE_PVE}
${DEBIAN_RELEASE} main" >/etc/apt/sources.list.d/ceph.list &&\
echo "deb
http://deb.debian.org/debian ${DEBIAN_RELEASE}-backports main"
>/etc/apt/sources.list.d/backports.list &&\
echo "deb-src
http://ftp.de.debian.org/debian/ sid main contrib non-free"
>//etc/apt/sources.list.d/sid-src.list
RUN apt-get update
RUN apt-get install -y build-essential git-buildpackage cmake bison flex doxygen
lsb-release pkgconf \
nfs-common ceph-common
RUN apt-get install -y -t ${DEBIAN_RELEASE}-backports libglusterfs-dev
WORKDIR /build
RUN apt-get build-dep -y libntirpc-dev &&\
apt-get source -y --compile libntirpc-dev &&\
dpkg -i *.deb
RUN apt-get build-dep -y nfs-ganesha &&\
apt-get source -y --compile nfs-ganesha
VOLUME /export
rstumbaum@controlnode01.dc1:~/docker-nfs-ganesha-build$
----
To build I just run
docker build . -t nfs-ganesha-debs
Then to get the build result I just run
docker run -v $HOME/docker-nfs-ganesha-build/export:/export -it nfs-ganesha-debs bash
and the within the container
cp -a *.deb /export/
exit
The Dockerfile uses the Debian sid build rules to currently build version 3.4 . The
backports is used to provide only the libglusterfs-dev package.
After building I just
docker image rm
the 1.6GByte build container and keep only the 16 Mbyte of .deb files...
It would be easier for newbies like me to get started if the project could provide a
Dockerfile to build and run nfs-ganesha as a multilevel container with a default config
inside.
Best regards
Rainer