mirror of
https://git.FreeBSD.org/ports.git
synced 2025-01-17 08:01:36 +00:00
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.
This commit is contained in:
parent
9bac3f50d1
commit
389509f2a2
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=464060
@ -384,6 +384,7 @@
|
||||
SUBDIR += fusefs-sshfs
|
||||
SUBDIR += fusefs-unionfs
|
||||
SUBDIR += fusefs-wdfs
|
||||
SUBDIR += fusefs-webdavfs
|
||||
SUBDIR += fusefs-wikipediafs
|
||||
SUBDIR += fusefs-zip
|
||||
SUBDIR += fvcool
|
||||
|
51
sysutils/fusefs-webdavfs/Makefile
Normal file
51
sysutils/fusefs-webdavfs/Makefile
Normal file
@ -0,0 +1,51 @@
|
||||
# Created by: Eugene Grosbein <eugen@FreeBSD.org>
|
||||
# $FreeBSD$
|
||||
|
||||
PORTNAME= fusefs-webdavfs
|
||||
DISTVERSION= g20170810
|
||||
CATEGORIES= sysutils
|
||||
|
||||
MAINTAINER= eugen@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>
|
7
sysutils/fusefs-webdavfs/distinfo
Normal file
7
sysutils/fusefs-webdavfs/distinfo
Normal file
@ -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
|
33
sysutils/fusefs-webdavfs/files/mount_webdavfs.in
Normal file
33
sysutils/fusefs-webdavfs/files/mount_webdavfs.in
Normal file
@ -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
|
||||
|
||||
|
8
sysutils/fusefs-webdavfs/files/pkg-message.in
Normal file
8
sysutils/fusefs-webdavfs/files/pkg-message.in
Normal file
@ -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
|
||||
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
8
sysutils/fusefs-webdavfs/pkg-descr
Normal file
8
sysutils/fusefs-webdavfs/pkg-descr
Normal file
@ -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
|
Loading…
Reference in New Issue
Block a user