svn commit: r464060 - in head/sysutils: . fusefs-webdavfs fusefs-webdavfs/files

Eugene Grosbein eugen at FreeBSD.org
Sat Mar 10 10:14:19 UTC 2018


Author: eugen
Date: Sat Mar 10 10:14:17 2018
New Revision: 464060
URL: https://svnweb.freebsd.org/changeset/ports/464060

Log:
  New port: sysutils/fusefs-webdavfs. It presents FUSE webdav filesystem.
  
  This filesystem behaves like a real network filesystem - no unnecessary
  copying of entire files. Currently, it claims read-write support for
  Apache's mod_dav and PHP's SabreDav (used by e.g. NextCloud) only.
  It forces read-only mode for other DAV servers.

Added:
  head/sysutils/fusefs-webdavfs/
  head/sysutils/fusefs-webdavfs/Makefile   (contents, props changed)
  head/sysutils/fusefs-webdavfs/distinfo   (contents, props changed)
  head/sysutils/fusefs-webdavfs/files/
  head/sysutils/fusefs-webdavfs/files/mount_webdavfs.in   (contents, props changed)
  head/sysutils/fusefs-webdavfs/files/pkg-message.in   (contents, props changed)
  head/sysutils/fusefs-webdavfs/pkg-descr   (contents, props changed)
Modified:
  head/sysutils/Makefile

Modified: head/sysutils/Makefile
==============================================================================
--- head/sysutils/Makefile	Sat Mar 10 10:07:45 2018	(r464059)
+++ head/sysutils/Makefile	Sat Mar 10 10:14:17 2018	(r464060)
@@ -384,6 +384,7 @@
     SUBDIR += fusefs-sshfs
     SUBDIR += fusefs-unionfs
     SUBDIR += fusefs-wdfs
+    SUBDIR += fusefs-webdavfs
     SUBDIR += fusefs-wikipediafs
     SUBDIR += fusefs-zip
     SUBDIR += fvcool

Added: head/sysutils/fusefs-webdavfs/Makefile
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/sysutils/fusefs-webdavfs/Makefile	Sat Mar 10 10:14:17 2018	(r464060)
@@ -0,0 +1,51 @@
+# Created by: Eugene Grosbein <eugen at FreeBSD.org>
+# $FreeBSD$
+
+PORTNAME=	fusefs-webdavfs
+DISTVERSION=	g20170810
+CATEGORIES=	sysutils
+
+MAINTAINER=	eugen at FreeBSD.org
+COMMENT=	FUSE filesystem for WEBDAV shares
+
+LICENSE=	BSD3CLAUSE
+LICENSE_FILE=	${WRKDIR}/fuse-${FUSE_GH_TAGNAME}/LICENSE
+
+USE_GITHUB=	yes
+GH_ACCOUNT=	miquels
+GH_PROJECT=	webdavfs
+GH_TAGNAME=	0eec7b6
+
+GETOPT_GH_ACCOUNT=	pborman
+GETOPT_GH_PROJECT=	getopt
+GETOPT_GH_TAGNAME=	7148bc3
+GETOPT_WRKSRCDIR=	${GO_WRKSRC}/../src/github.com/${GETOPT_GH_ACCOUNT}/${GETOPT_GH_PROJECT}
+
+FUSE_GH_ACCOUNT=	bazil
+FUSE_GH_PROJECT=	fuse
+FUSE_GH_TAGNAME=	371fbbd
+FUSE_WRKSRCDIR=		${GO_WRKSRC}/../src/bazil.org
+
+GH_ACCOUNT+=	${GETOPT_GH_ACCOUNT}:getopt ${FUSE_GH_ACCOUNT}:fuse
+GH_PROJECT+=	${GETOPT_GH_PROJECT}:getopt ${FUSE_GH_PROJECT}:fuse
+GH_TAGNAME+=	${GETOPT_GH_TAGNAME}:getopt ${FUSE_GH_TAGNAME}:fuse
+
+PLIST_FILES=	sbin/mount.webdavfs sbin/mount_webdavfs
+
+SUB_FILES=	pkg-message mount_webdavfs
+
+# This needs to be Go 1.7 or newer.
+USES=		go
+
+post-patch:
+	${GREP} -Flr '"golang.org/x/net/context"' ${WRKDIR} |\
+	    ${XARGS} ${REINPLACE_CMD} -i '' 's,golang.org/x/net/context,context,'
+	${MKDIR} ${GETOPT_WRKSRCDIR} ${FUSE_WRKSRCDIR}
+	${LN} -s ${WRKDIR}/getopt-${GETOPT_GH_TAGNAME}/v2 ${GETOPT_WRKSRCDIR}
+	${LN} -s ${WRKDIR}/fuse-${FUSE_GH_TAGNAME} ${FUSE_WRKSRCDIR}/fuse
+
+do-install:
+	${INSTALL_PROGRAM} ${WRKDIR}/bin/${PORTNAME} ${STAGEDIR}${PREFIX}/sbin/mount.webdavfs
+	${INSTALL_SCRIPT} ${WRKDIR}/mount_webdavfs ${STAGEDIR}${PREFIX}/sbin
+
+.include <bsd.port.mk>

Added: head/sysutils/fusefs-webdavfs/distinfo
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/sysutils/fusefs-webdavfs/distinfo	Sat Mar 10 10:14:17 2018	(r464060)
@@ -0,0 +1,7 @@
+TIMESTAMP = 1520664992
+SHA256 (miquels-webdavfs-g20170810-0eec7b6_GH0.tar.gz) = c1bf96f05f4f97fea9a192b3dca43fe67e6989ac2ee024f6ed08e84d037bde04
+SIZE (miquels-webdavfs-g20170810-0eec7b6_GH0.tar.gz) = 19275
+SHA256 (pborman-getopt-7148bc3_GH0.tar.gz) = 5828aab17ad7c149535cb87b5db6ca2b0bb1a9209e051bef00a3ac73809a4528
+SIZE (pborman-getopt-7148bc3_GH0.tar.gz) = 37914
+SHA256 (bazil-fuse-371fbbd_GH0.tar.gz) = 799b6ef7f8458941ea4cfdc210764f3b3e7e90cdd19d7709889397f5fdc04864
+SIZE (bazil-fuse-371fbbd_GH0.tar.gz) = 187723

Added: head/sysutils/fusefs-webdavfs/files/mount_webdavfs.in
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/sysutils/fusefs-webdavfs/files/mount_webdavfs.in	Sat Mar 10 10:14:17 2018	(r464060)
@@ -0,0 +1,33 @@
+#!/bin/sh
+
+mountprog=%%PREFIX%%/sbin/mount.webdavfs
+
+while getopts "fo:DF:T:" opt
+do
+  case "$opt" in
+  o)	case "$OPTARG" in
+	username=*)		username=${OPTARG#username=}	;;
+	password=*)		password=${OPTARG#password=}	;;
+	rw)							;;
+	*)			options="$options,$OPTARG"	;;
+	esac ;;
+  T)	traceopts="$traceopts,$OPTARG"	;;
+  *)	flags="$flags -$opt $OPTARG"	;;
+  esac
+done
+shift $((OPTIND - 1))
+
+[ -n "$username" ] && options="$options,username=$username"
+[ -n "$password" ] && options="$options,password=$password"
+options=${options#,}
+
+traceopts=${traceopts#,}
+[ -n "$traceopts" ] && flags="$flags -T $traceopts"
+
+if [ -z "$options" ]; then
+  exec $mountprog $flags "$@"
+else
+  exec $mountprog $flags -o "$options" "$@"
+fi
+
+

Added: head/sysutils/fusefs-webdavfs/files/pkg-message.in
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/sysutils/fusefs-webdavfs/files/pkg-message.in	Sat Mar 10 10:14:17 2018	(r464060)
@@ -0,0 +1,8 @@
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
+Make sure you have fuse.ko loaded then use mount.webdavfs command
+or add an entry to the /etc/fstab such as:
+
+https://webdav.server.net/path /mnt/path fusefs rw,late,mountprog=%%PREFIX%%/sbin/mount_webdavfs,username=login,password=pass,-F=/var/tmp/trace.log,-T=webdav,-T=httpreq,-T=httphdr 0 0
+
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Added: head/sysutils/fusefs-webdavfs/pkg-descr
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/sysutils/fusefs-webdavfs/pkg-descr	Sat Mar 10 10:14:17 2018	(r464060)
@@ -0,0 +1,8 @@
+FUSE webdav filesystem.
+
+This filesystem behaves like a real network filesystem - no unnecessary
+copying of entire files. Currently, it claims read-write support for
+Apache's mod_dav and PHP's SabreDav (used by e.g. NextCloud) only.
+It forces read-only mode for other DAV servers.
+
+WWW: https://github.com/miquels/webdavfs


More information about the svn-ports-head mailing list