aboutsummaryrefslogtreecommitdiff
path: root/devel
diff options
context:
space:
mode:
authorNicola Vitale <nivit@FreeBSD.org>2009-09-15 08:23:25 +0000
committerNicola Vitale <nivit@FreeBSD.org>2009-09-15 08:23:25 +0000
commitc6a66aa0443d53f39b4f1db70c70c9efed4bee5b (patch)
treeb0b7522493832ee116749aa14e34d5749a566c2e /devel
parente91dad25f9ce72d759e12b201b5ba2e240785b3e (diff)
Manage git repositories, provide access to them over SSH, with tight
access control and not needing shell accounts. Gitosis aims to make hosting git repos easier and safer. It manages multiple repositories under one user account, using SSH keys to identify users. End users do not need shell accounts on the server, they will talk to one shared account that will not let them run arbitrary commands. WWW: http://eagain.net/gitweb/?p=gitosis.git PR: ports/136083 Submitted by: Douglas Thrift <douglas at douglasthrift.net>
Notes
Notes: svn path=/head/; revision=241440
Diffstat (limited to 'devel')
-rw-r--r--devel/Makefile1
-rw-r--r--devel/py-gitosis/Makefile36
-rw-r--r--devel/py-gitosis/distinfo3
-rw-r--r--devel/py-gitosis/pkg-descr10
-rw-r--r--devel/py-gitosis/pkg-install43
-rw-r--r--devel/py-gitosis/pkg-message5
-rw-r--r--devel/py-gitosis/pkg-plist92
7 files changed, 190 insertions, 0 deletions
diff --git a/devel/Makefile b/devel/Makefile
index 5296c3073198..966cea180d35 100644
--- a/devel/Makefile
+++ b/devel/Makefile
@@ -2411,6 +2411,7 @@
SUBDIR += py-generate
SUBDIR += py-geojson
SUBDIR += py-geotypes
+ SUBDIR += py-gitosis
SUBDIR += py-gitpython
SUBDIR += py-gobject
SUBDIR += py-grouch
diff --git a/devel/py-gitosis/Makefile b/devel/py-gitosis/Makefile
new file mode 100644
index 000000000000..cb23f267e892
--- /dev/null
+++ b/devel/py-gitosis/Makefile
@@ -0,0 +1,36 @@
+# New ports collection makefile for: gitosis
+# Date created: 25 June 2009
+# Whom: Douglas Thrift <douglas@douglasthrift.net>
+#
+# $FreeBSD$
+#
+
+PORTNAME= gitosis
+PORTVERSION= 0.2.20080825
+CATEGORIES= devel
+MASTER_SITES= http://cloud.github.com/downloads/douglaswth/gitosis/ \
+ http://code.douglasthrift.net/files/gitosis/
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
+
+MAINTAINER= douglas@douglasthrift.net
+COMMENT= Software for hosting git repositories
+
+RUN_DEPENDS= git:${PORTSDIR}/devel/git
+
+USE_BZIP2= yes
+USE_PYTHON= yes
+USE_PYDISTUTILS= easy_install
+
+WRKSRC= ${WRKDIR}/${PORTNAME}
+PYDISTUTILS_PKGVERSION= ${PORTVERSION:R}
+
+pre-su-install:
+ @${SETENV} PKG_PREFIX=${PREFIX} GITUSER=${GITUSER} \
+ GITGROUP=${GITGROUP} GITHOME=${GITHOME} \
+ ${SH} ${PKGINSTALL} ${PKGNAME} PRE-INSTALL
+
+post-install:
+ ${CHMOD} +x ${PYTHON_SITELIBDIR}/${PYEASYINSTALL_EGG}/gitosis/templates/admin/hooks/post-update
+ @${CAT} ${PKGMESSAGE}
+
+.include <bsd.port.mk>
diff --git a/devel/py-gitosis/distinfo b/devel/py-gitosis/distinfo
new file mode 100644
index 000000000000..5d192814e450
--- /dev/null
+++ b/devel/py-gitosis/distinfo
@@ -0,0 +1,3 @@
+MD5 (gitosis-0.2.20080825.tar.bz2) = 64bc4d335fc47153c2a8a1a4eb635afa
+SHA256 (gitosis-0.2.20080825.tar.bz2) = 3414f8f233793a780a4b121d323ef088e6ba0029c377e9c3fb04194c66d21d0e
+SIZE (gitosis-0.2.20080825.tar.bz2) = 148973
diff --git a/devel/py-gitosis/pkg-descr b/devel/py-gitosis/pkg-descr
new file mode 100644
index 000000000000..6e0a77c76f0e
--- /dev/null
+++ b/devel/py-gitosis/pkg-descr
@@ -0,0 +1,10 @@
+Manage git repositories, provide access to them over SSH, with tight
+access control and not needing shell accounts.
+
+Gitosis aims to make hosting git repos easier and safer. It manages
+multiple repositories under one user account, using SSH keys to
+identify users. End users do not need shell accounts on the server,
+they will talk to one shared account that will not let them run
+arbitrary commands.
+
+WWW: http://eagain.net/gitweb/?p=gitosis.git
diff --git a/devel/py-gitosis/pkg-install b/devel/py-gitosis/pkg-install
new file mode 100644
index 000000000000..222275b7815e
--- /dev/null
+++ b/devel/py-gitosis/pkg-install
@@ -0,0 +1,43 @@
+#!/bin/sh
+
+# $FreeBSD$
+
+PATH=/bin:/usr/bin:/usr/sbin
+
+case $2 in
+PRE-INSTALL)
+ GITUSER=${GITUSER:-git}
+ GITGROUP=${GITGROUP:-git}
+ GITHOME=${GITHOME:-${PKG_PREFIX}/${GITUSER}}
+ UID=211
+ GID=211
+
+ if pw group show "${GITGROUP}" 2>/dev/null; then
+ echo "You already have a group \"${GITGROUP}\", so I will use it."
+ else
+ if pw groupadd ${GITGROUP} -g ${GID}; then
+ echo "Added group \"${GITGROUP}\"."
+ else
+ echo "Adding group \"${GITGROUP}\" failed..."
+ exit 1
+ fi
+ fi
+
+ if pw user show "${GITUSER}" 2>/dev/null; then
+ echo "You already have a user \"${GITUSER}\", so I will use it."
+ else
+ if pw useradd ${GITUSER} -u ${UID} -g ${GITGROUP} -h - -d ${GITHOME} \
+ -c "gitosis user"
+ then
+ echo "Added user \"${GITUSER}\"."
+ else
+ echo "Adding user \"${GITUSER}\" failed..."
+ exit 1
+ fi
+ fi
+
+ if ! [ -x ~${GITUSER} ] ; then
+ install -m 755 -o ${GITUSER} -g ${GITGROUP} -d ${GITHOME}
+ fi
+ ;;
+esac
diff --git a/devel/py-gitosis/pkg-message b/devel/py-gitosis/pkg-message
new file mode 100644
index 000000000000..e7e50b13c7a1
--- /dev/null
+++ b/devel/py-gitosis/pkg-message
@@ -0,0 +1,5 @@
+================================================================================
+
+For more information, see http://eagain.net/gitweb/?p=gitosis.git.
+
+================================================================================
diff --git a/devel/py-gitosis/pkg-plist b/devel/py-gitosis/pkg-plist
new file mode 100644
index 000000000000..cc4cbd8d64ed
--- /dev/null
+++ b/devel/py-gitosis/pkg-plist
@@ -0,0 +1,92 @@
+@comment $FreeBSD$
+bin/gitosis-init
+bin/gitosis-run-hook
+bin/gitosis-serve
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/EGG-INFO/PKG-INFO
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/EGG-INFO/SOURCES.txt
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/EGG-INFO/dependency_links.txt
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/EGG-INFO/entry_points.txt
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/EGG-INFO/not-zip-safe
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/EGG-INFO/requires.txt
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/EGG-INFO/top_level.txt
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/__init__.py
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/__init__.pyc
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/__init__.pyo
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/access.py
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/access.pyc
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/access.pyo
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/app.py
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/app.pyc
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/app.pyo
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/gitdaemon.py
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/gitdaemon.pyc
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/gitdaemon.pyo
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/gitweb.py
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/gitweb.pyc
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/gitweb.pyo
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/group.py
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/group.pyc
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/group.pyo
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/init.py
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/init.pyc
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/init.pyo
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/repository.py
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/repository.pyc
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/repository.pyo
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/run_hook.py
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/run_hook.pyc
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/run_hook.pyo
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/serve.py
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/serve.pyc
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/serve.pyo
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/ssh.py
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/ssh.pyc
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/ssh.pyo
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/templates/__init__.py
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/templates/__init__.pyc
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/templates/__init__.pyo
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/templates/admin/hooks/post-update
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/test/__init__.py
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/test/__init__.pyc
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/test/__init__.pyo
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/test/test_access.py
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/test/test_access.pyc
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/test/test_access.pyo
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/test/test_gitdaemon.py
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/test/test_gitdaemon.pyc
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/test/test_gitdaemon.pyo
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/test/test_gitweb.py
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/test/test_gitweb.pyc
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/test/test_gitweb.pyo
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/test/test_group.py
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/test/test_group.pyc
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/test/test_group.pyo
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/test/test_init.py
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/test/test_init.pyc
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/test/test_init.pyo
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/test/test_repository.py
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/test/test_repository.pyc
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/test/test_repository.pyo
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/test/test_run_hook.py
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/test/test_run_hook.pyc
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/test/test_run_hook.pyo
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/test/test_serve.py
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/test/test_serve.pyc
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/test/test_serve.pyo
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/test/test_ssh.py
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/test/test_ssh.pyc
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/test/test_ssh.pyo
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/test/util.py
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/test/util.pyc
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/test/util.pyo
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/util.py
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/util.pyc
+%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/util.pyo
+@dirrm %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/EGG-INFO
+@dirrm %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/test
+@dirrm %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/templates/admin/hooks
+@dirrm %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/templates/admin
+@dirrm %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/templates
+@dirrm %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis
+@dirrm %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%
+@dirrmtry git