aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authornivit <nivit@FreeBSD.org>2009-09-15 16:23:25 +0800
committernivit <nivit@FreeBSD.org>2009-09-15 16:23:25 +0800
commitd930ff6d68a371492fbdcb8224596f136e33d70b (patch)
treefbc399e5942d628bc3957bed349d72c578696420
parent9a81ad28955c408c3c6733888ce028c21231140a (diff)
downloadfreebsd-ports-gnome-d930ff6d68a371492fbdcb8224596f136e33d70b.tar.gz
freebsd-ports-gnome-d930ff6d68a371492fbdcb8224596f136e33d70b.tar.zst
freebsd-ports-gnome-d930ff6d68a371492fbdcb8224596f136e33d70b.zip
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>
-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