svn commit: r424794 - in head/sysutils: . fusefs-gitfs fusefs-gitfs/files

Jan Beich jbeich at FreeBSD.org
Thu Oct 27 21:21:14 UTC 2016


Author: jbeich
Date: Thu Oct 27 21:21:12 2016
New Revision: 424794
URL: https://svnweb.freebsd.org/changeset/ports/424794

Log:
  sysutils/fusefs-gitfs: add new port
  
  Based on:	ports-mgmt/py-pytoport output
  
  gitfs is a FUSE file system that fully integrates with git. You can
  mount a remote repository's branch locally, and any subsequent changes
  made to the files will be automatically committed to the remote.
  
  http://www.presslabs.com/gitfs/

Added:
  head/sysutils/fusefs-gitfs/
  head/sysutils/fusefs-gitfs/Makefile   (contents, props changed)
  head/sysutils/fusefs-gitfs/distinfo   (contents, props changed)
  head/sysutils/fusefs-gitfs/files/
  head/sysutils/fusefs-gitfs/files/patch-gitfs_utils_args.py   (contents, props changed)
  head/sysutils/fusefs-gitfs/pkg-descr   (contents, props changed)
Modified:
  head/sysutils/Makefile   (contents, props changed)

Modified: head/sysutils/Makefile
==============================================================================
--- head/sysutils/Makefile	Thu Oct 27 21:18:50 2016	(r424793)
+++ head/sysutils/Makefile	Thu Oct 27 21:21:12 2016	(r424794)
@@ -330,6 +330,7 @@
     SUBDIR += fusefs-funionfs
     SUBDIR += fusefs-fusepak
     SUBDIR += fusefs-fusexmp_fh
+    SUBDIR += fusefs-gitfs
     SUBDIR += fusefs-gnome-vfs
     SUBDIR += fusefs-gstfs
     SUBDIR += fusefs-gunzip

Added: head/sysutils/fusefs-gitfs/Makefile
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/sysutils/fusefs-gitfs/Makefile	Thu Oct 27 21:21:12 2016	(r424794)
@@ -0,0 +1,46 @@
+# $FreeBSD$
+
+PORTNAME=	gitfs
+DISTVERSION=	0.4.4-2
+DISTVERSIONSUFFIX=	-g2f37201
+CATEGORIES=	sysutils
+PKGNAMEPREFIX=	fusefs-
+
+MAINTAINER=	jbeich at FreeBSD.org
+COMMENT=	Version controlled file system
+
+LICENSE=	APACHE20
+
+RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}atomiclong>0:devel/py-atomiclong \
+		${PYTHON_PKGNAMEPREFIX}fusepy>=2.0.2:devel/py-fusepy \
+		${PYTHON_PKGNAMEPREFIX}pygit2>=0.24.1:devel/py-pygit2 \
+		${PYTHON_PKGNAMEPREFIX}raven>=5.27.0:devel/py-raven \
+		${PYTHON_PKGNAMEPREFIX}six>=1.10.0:devel/py-six
+TEST_DEPENDS=	${PYTHON_PKGNAMEPREFIX}pytest>=2.6.1:devel/py-pytest
+
+USE_GITHUB=	yes
+GH_ACCOUNT=	PressLabs
+
+NO_ARCH=	yes
+USES=		python
+USE_PYTHON=	autoplist distutils
+
+post-patch:
+	@${REINPLACE_CMD} -e 's/==/>=/' ${WRKSRC}/*requirements.txt
+
+# XXX Integrations tests want MOUNT_PATH, REPO_* passed via TEST_ENV
+do-test:
+	@(cd ${TEST_WRKSRC} && ${SETENV} ${TEST_ENV} ${PYTHON_CMD} -m pytest)
+
+.include <bsd.port.pre.mk>
+
+.if ${PYTHON_REL} < 3300
+TEST_DEPENDS+=	${PYTHON_PKGNAMEPREFIX}mock>=1.0.1:devel/py-mock
+.else
+post-patch:	patch-py3k-mock
+patch-py3k-mock:
+	@${GREP} -Flr 'mock import' ${WRKSRC} | ${XARGS} ${REINPLACE_CMD} \
+		-i .bak.mock -e 's/mock import/unittest.&/'
+.endif
+
+.include <bsd.port.post.mk>

Added: head/sysutils/fusefs-gitfs/distinfo
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/sysutils/fusefs-gitfs/distinfo	Thu Oct 27 21:21:12 2016	(r424794)
@@ -0,0 +1,3 @@
+TIMESTAMP = 1477478547
+SHA256 (PressLabs-gitfs-0.4.4-2-g2f37201_GH0.tar.gz) = 88c2d9f671fdcfc1ccb2ecdc342f4d20a3c0c66d5d43735327ee18a4f96de5ce
+SIZE (PressLabs-gitfs-0.4.4-2-g2f37201_GH0.tar.gz) = 57553

Added: head/sysutils/fusefs-gitfs/files/patch-gitfs_utils_args.py
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/sysutils/fusefs-gitfs/files/patch-gitfs_utils_args.py	Thu Oct 27 21:21:12 2016	(r424794)
@@ -0,0 +1,36 @@
+https://github.com/PressLabs/gitfs/issues/258
+https://github.com/PressLabs/gitfs/issues/257
+
+--- gitfs/utils/args.py.orig	2016-10-19 15:12:59 UTC
++++ gitfs/utils/args.py
+@@ -43,7 +43,7 @@ class Args(object):
+             ("foreground", (False, "bool")),
+             ("branch", ("master", "string")),
+             ("allow_other", (False, "bool")),
+-            ("allow_root", (True, "bool")),
++            ("allow_root", (False, "bool")),
+             ("commiter_name", (self.get_commiter_user, "string")),
+             ("commiter_email", (self.get_commiter_email, "string")),
+             ("max_size", (10, "float")),
+@@ -71,12 +71,6 @@ class Args(object):
+         return self.check_args(self.set_defaults(args))
+ 
+     def check_args(self, args):
+-        # check allow_other and allow_root
+-        if args.allow_other:
+-            args.allow_root = False
+-        else:
+-            args.allow_root = True
+-
+         # check log_level
+         if args.debug:
+             args.log_level = 'debug'
+@@ -169,7 +163,7 @@ class Args(object):
+         return "{}@{}".format(args.user, socket.gethostname())
+ 
+     def get_repo_path(self, args):
+-        return tempfile.mkdtemp(dir="/var/lib/gitfs")
++        return tempfile.mkdtemp(prefix="gitfs")
+ 
+     def get_ssh_key(self, args):
+         return os.environ["HOME"] + "/.ssh/id_rsa"

Added: head/sysutils/fusefs-gitfs/pkg-descr
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/sysutils/fusefs-gitfs/pkg-descr	Thu Oct 27 21:21:12 2016	(r424794)
@@ -0,0 +1,5 @@
+gitfs is a FUSE file system that fully integrates with git. You can
+mount a remote repository's branch locally, and any subsequent changes
+made to the files will be automatically committed to the remote.
+
+WWW: http://www.presslabs.com/gitfs/


More information about the svn-ports-head mailing list