From owner-freebsd-ports-bugs@FreeBSD.ORG Sat Jun 27 07:00:06 2009 Return-Path: Delivered-To: freebsd-ports-bugs@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C3A4D106566C for ; Sat, 27 Jun 2009 07:00:06 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id 910C98FC19 for ; Sat, 27 Jun 2009 07:00:06 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.14.3/8.14.3) with ESMTP id n5R706Oc045017 for ; Sat, 27 Jun 2009 07:00:06 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.3/8.14.3/Submit) id n5R706QW045016; Sat, 27 Jun 2009 07:00:06 GMT (envelope-from gnats) Resent-Date: Sat, 27 Jun 2009 07:00:06 GMT Resent-Message-Id: <200906270700.n5R706QW045016@freefall.freebsd.org> Resent-From: FreeBSD-gnats-submit@FreeBSD.org (GNATS Filer) Resent-To: freebsd-ports-bugs@FreeBSD.org Resent-Reply-To: FreeBSD-gnats-submit@FreeBSD.org, Douglas William Thrift Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 72DF31065672 for ; Sat, 27 Jun 2009 06:55:25 +0000 (UTC) (envelope-from douglas@slowhand.douglasthrift.net) Received: from slowhand.douglasthrift.net (slowhand.douglasthrift.net [69.55.236.40]) by mx1.freebsd.org (Postfix) with ESMTP id 500C98FC15 for ; Sat, 27 Jun 2009 06:55:25 +0000 (UTC) (envelope-from douglas@slowhand.douglasthrift.net) Received: from slowhand.douglasthrift.net (slowhand.douglasthrift.net [69.55.236.40]) by slowhand.douglasthrift.net (8.14.3/8.14.3) with ESMTP id n5R6UopV070818 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT) for ; Fri, 26 Jun 2009 23:30:51 -0700 (PDT) (envelope-from douglas@slowhand.douglasthrift.net) Received: (from douglas@localhost) by slowhand.douglasthrift.net (8.14.3/8.14.3/Submit) id n5R6Uo2k070815; Fri, 26 Jun 2009 23:30:50 -0700 (PDT) (envelope-from douglas) Message-Id: <200906270630.n5R6Uo2k070815@slowhand.douglasthrift.net> Date: Fri, 26 Jun 2009 23:30:50 -0700 (PDT) From: Douglas William Thrift To: FreeBSD-gnats-submit@FreeBSD.org X-Send-Pr-Version: 3.113 Cc: Subject: ports/136083: New port: devel/py-gitosis Software for hosting git repositories X-BeenThere: freebsd-ports-bugs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: Douglas William Thrift List-Id: Ports bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 27 Jun 2009 07:00:07 -0000 >Number: 136083 >Category: ports >Synopsis: New port: devel/py-gitosis Software for hosting git repositories >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: change-request >Submitter-Id: current-users >Arrival-Date: Sat Jun 27 07:00:06 UTC 2009 >Closed-Date: >Last-Modified: >Originator: Douglas William Thrift >Release: FreeBSD 7.1-RELEASE-p3-jc1 amd64 >Organization: >Environment: System: FreeBSD slowhand.douglasthrift.net 7.1-RELEASE-p3-jc1 FreeBSD 7.1-RELEASE-p3-jc1 #0: Fri Feb 20 15:10:57 PST 2009 user@jail2.johncompanies.com:/usr/obj/usr/src/sys/jail2 amd64 >Description: 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. >How-To-Repeat: >Fix: --- py-gitosis.shar begins here --- #!/bin/sh # This is a shell archive echo x py-gitosis mkdir -p py-gitosis > /dev/null 2>&1 echo x py-gitosis/files mkdir -p py-gitosis/files > /dev/null 2>&1 echo x py-gitosis/Makefile sed 's/^X//' > py-gitosis/Makefile << 'SHAR_END' X# New ports collection makefile for: gitosis X# Date created: 25 June 2009 X# Whom: Douglas Thrift X# X# $FreeBSD$ X# X XPORTNAME= gitosis XPORTVERSION= 0.2.20080825 XCATEGORIES= devel XMASTER_SITES= http://cloud.github.com/downloads/douglaswth/gitosis/ \ X http://code.douglasthrift.net/files/gitosis/ XPKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} X XMAINTAINER= douglas@douglasthrift.net XCOMMENT= Software for hosting git repositories X XRUN_DEPENDS= git:${PORTSDIR}/devel/git X XUSE_BZIP2= yes XUSE_PYTHON= yes XUSE_PYDISTUTILS= easy_install X XSUB_FILES= pkg-message X XWRKSRC= ${WRKDIR}/${PORTNAME} XPYDISTUTILS_PKGVERSION= ${PORTVERSION:R} X Xpre-su-install: X @${SETENV} PKG_PREFIX=${PREFIX} GITUSER=${GITUSER} \ X GITGROUP=${GITGROUP} GITHOME=${GITHOME} \ X ${SH} ${PKGINSTALL} ${PKGNAME} PRE-INSTALL X Xpost-install: X ${CHMOD} +x ${PYTHON_SITELIBDIR}/${PYEASYINSTALL_EGG}/gitosis/templates/admin/hooks/post-update X @${CAT} ${PKGMESSAGE} X X.include SHAR_END echo x py-gitosis/distinfo sed 's/^X//' > py-gitosis/distinfo << 'SHAR_END' XMD5 (gitosis-0.2.20080825.tar.bz2) = 64bc4d335fc47153c2a8a1a4eb635afa XSHA256 (gitosis-0.2.20080825.tar.bz2) = 3414f8f233793a780a4b121d323ef088e6ba0029c377e9c3fb04194c66d21d0e XSIZE (gitosis-0.2.20080825.tar.bz2) = 148973 SHAR_END echo x py-gitosis/pkg-descr sed 's/^X//' > py-gitosis/pkg-descr << 'SHAR_END' XManage git repositories, provide access to them over SSH, with tight Xaccess control and not needing shell accounts. X XGitosis aims to make hosting git repos easier and safer. It manages Xmultiple repositories under one user account, using SSH keys to Xidentify users. End users do not need shell accounts on the server, Xthey will talk to one shared account that will not let them run Xarbitrary commands. X XWWW: http://eagain.net/gitweb/?p=gitosis.git SHAR_END echo x py-gitosis/pkg-plist sed 's/^X//' > py-gitosis/pkg-plist << 'SHAR_END' X@comment $FreeBSD$ Xbin/gitosis-init Xbin/gitosis-run-hook Xbin/gitosis-serve X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/EGG-INFO/PKG-INFO X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/EGG-INFO/SOURCES.txt X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/EGG-INFO/dependency_links.txt X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/EGG-INFO/entry_points.txt X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/EGG-INFO/not-zip-safe X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/EGG-INFO/requires.txt X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/EGG-INFO/top_level.txt X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/__init__.py X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/__init__.pyc X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/__init__.pyo X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/access.py X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/access.pyc X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/access.pyo X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/app.py X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/app.pyc X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/app.pyo X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/gitdaemon.py X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/gitdaemon.pyc X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/gitdaemon.pyo X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/gitweb.py X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/gitweb.pyc X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/gitweb.pyo X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/group.py X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/group.pyc X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/group.pyo X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/init.py X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/init.pyc X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/init.pyo X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/repository.py X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/repository.pyc X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/repository.pyo X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/run_hook.py X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/run_hook.pyc X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/run_hook.pyo X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/serve.py X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/serve.pyc X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/serve.pyo X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/ssh.py X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/ssh.pyc X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/ssh.pyo X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/templates/__init__.py X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/templates/__init__.pyc X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/templates/__init__.pyo X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/templates/admin/hooks/post-update X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/test/__init__.py X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/test/__init__.pyc X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/test/__init__.pyo X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/test/test_access.py X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/test/test_access.pyc X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/test/test_access.pyo X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/test/test_gitdaemon.py X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/test/test_gitdaemon.pyc X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/test/test_gitdaemon.pyo X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/test/test_gitweb.py X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/test/test_gitweb.pyc X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/test/test_gitweb.pyo X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/test/test_group.py X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/test/test_group.pyc X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/test/test_group.pyo X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/test/test_init.py X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/test/test_init.pyc X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/test/test_init.pyo X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/test/test_repository.py X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/test/test_repository.pyc X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/test/test_repository.pyo X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/test/test_run_hook.py X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/test/test_run_hook.pyc X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/test/test_run_hook.pyo X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/test/test_serve.py X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/test/test_serve.pyc X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/test/test_serve.pyo X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/test/test_ssh.py X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/test/test_ssh.pyc X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/test/test_ssh.pyo X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/test/util.py X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/test/util.pyc X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/test/util.pyo X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/util.py X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/util.pyc X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/util.pyo X@dirrm %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/EGG-INFO X@dirrm %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/test X@dirrm %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/templates/admin/hooks X@dirrm %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/templates/admin X@dirrm %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis/templates X@dirrm %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/gitosis X@dirrm %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%% SHAR_END echo x py-gitosis/pkg-install sed 's/^X//' > py-gitosis/pkg-install << 'SHAR_END' X#!/bin/sh X X# $FreeBSD$ X XPATH=/bin:/usr/bin:/usr/sbin X Xcase $2 in XPRE-INSTALL) X GITUSER=${GITUSER:-git} X GITGROUP=${GITGROUP:-git} X GITHOME=${GITHOME:-${PKG_PREFIX}/${GITUSER}} X UID=211 X GID=211 X X if pw group show "${GITGROUP}" 2>/dev/null; then X echo "You already have a group \"${GITGROUP}\", so I will use it." X else X if pw groupadd ${GITGROUP} -g ${GID}; then X echo "Added group \"${GITGROUP}\"." X else X echo "Adding group \"${GITGROUP}\" failed..." X exit 1 X fi X fi X X if pw user show "${GITUSER}" 2>/dev/null; then X echo "You already have a user \"${GITUSER}\", so I will use it." X else X if pw useradd ${GITUSER} -u ${UID} -g ${GITGROUP} -h - -d ${GITHOME} \ X -c "gitosis user" X then X echo "Added user \"${GITUSER}\"." X else X echo "Adding user \"${GITUSER}\" failed..." X exit 1 X fi X fi X X if ! [ -x ~${GITUSER} ] ; then X install -m 755 -o ${GITUSER} -g ${GITGROUP} -d ${GITHOME} X fi X ;; Xesac SHAR_END echo x py-gitosis/files/pkg-message.in sed 's/^X//' > py-gitosis/files/pkg-message.in << 'SHAR_END' X================================================================================ X XFor more information, see http://eagain.net/gitweb/?p=gitosis.git. X X================================================================================ SHAR_END exit --- py-gitosis.shar ends here --- --- ids.patch begins here --- diff -ruN /usr/ports/GIDs ports/GIDs --- /usr/ports/GIDs 2009-06-19 10:16:01.000000000 -0700 +++ ports/GIDs 2009-06-26 23:05:07.000000000 -0700 @@ -80,6 +80,7 @@ cups:*:193: sympa:*:200: dspam:*:202: +git:*:211: bs:*:220: postgrey:*:225: aprsd:*:240: diff -ruN /usr/ports/UIDs ports/UIDs --- /usr/ports/UIDs 2009-06-19 10:16:01.000000000 -0700 +++ ports/UIDs 2009-06-26 23:06:32.000000000 -0700 @@ -90,6 +90,7 @@ privoxy:*:201:201::0:0:Privoxy proxy user:/nonexistent:/usr/sbin/nologin dspam:*:202:202::0:0:Dspam:/nonexistent:/usr/sbin/nologin shoutcast:*:210:210::0:0:Shoutcast sandbox:/nonexistent:/bin/sh +git:*:211:211:gitosis user:/usr/local/git:/bin/sh bs:*:220:220::0:0:Big Sister:/usr/local/bigsister:/bin/sh postgrey:*:225:225::0:0:Postgrey Owner:/nonexistent:/usr/sbin/nologin aprsd:*:240:240::0:0:aprsd:/nonexistent:/bin/sh --- ids.patch ends here --- >Release-Note: >Audit-Trail: >Unformatted: