freebsd-ports/devel/gitolite/Makefile
Tim Bishop 310b911d00 - Add new port gitolite:
Gitolite is an access control layer on top of git, which allows access control
down to the branch level, including specifying who can and cannot rewind a
given branch.

Gitolite lets you use a single user on a server to host many git repositories
and provide access to many developers, without having to give them real
userids on or shell access to the server. Authentication is most commonly done
using sshd, but you can also use httpd if you prefer.

Gitolite can restrict who can read from (clone/fetch) or write to (push) a
repository. It can also restrict who can push to what branch or tag, which is
very important in a corporate environment.

WWW: https://github.com/sitaramc/gitolite

PR:		ports/159260
Submitted by:	milki <milki at rescomp.berkeley.edu>
2011-07-29 22:16:45 +00:00

87 lines
2.3 KiB
Makefile

# New ports collection makefile for: gitolite
# Date created: 07-28-2011
# Whom: milki <milki@rescomp.berkeley.edu>
#
# $FreeBSD$
#
PORTNAME= gitolite
PORTVERSION= 2.0.2
CATEGORIES= devel
MASTER_SITES= http://milki.github.com/${PORTNAME}/ \
LOCAL/tdb
MAINTAINER= milki@rescomp.berkeley.edu
COMMENT= An access control layer on top of git
LICENSE= GPLv2
RUN_DEPENDS= git>=0:${PORTSDIR}/devel/git
USE_PERL5= yes
SUB_FILES= pkg-message
OPTIONS= GITUSER "Create git user as gitolite provider" On
.include <bsd.port.pre.mk>
.if !defined(WITHOUT_GITUSER)
USERS= git
GROUPS= ${USERS}
PLIST_SUB+= GITUSER=""
.else
PLIST_SUB+= GITUSER="@comment "
.endif
GLAUTHCOMMAND= \
\#!/bin/sh\n \
exec ${PREFIX}/libexec/gitolite/gl-auth-command \"\$$@\"\n
GLSETUP= \
\#!/bin/sh\n \
exec ${PREFIX}/libexec/gitolite/gl-setup \"\$$@\"\n
post-patch:
@${ECHO} -e "${GLAUTHCOMMAND}" > ${WRKDIR}/auth-command
@${ECHO} -e "${GLSETUP}" > ${WRKDIR}/setup
.for FILE in gl-auth-command gl-compile-conf gl-conf-convert gl-dont-panic gl-mirror-shell gl-mirror-sync gl-query-rc gl-setup gl-setup-authkeys gl-time gl-tool sshkeys-lint
@${REINPLACE_CMD} \
-Ee '1s|#!/usr/bin/perl|#!${PERL}|' \
${WRKSRC}/src/${FILE}
.endfor
@${REINPLACE_CMD} \
-Ee '1s|#!/usr/bin/perl|#!${PERL}|' \
${WRKSRC}/hooks/common/update
do-build:
-@${RM} ${WRKSRC}/src/gl-easy-install
-@${RM} ${WRKSRC}/src/gl-system-install
@${REINPLACE_CMD} \
-E 's%^GL_PACKAGE_CONF=.*%GL_PACKAGE_CONF=${DATADIR}/conf;%' \
${WRKSRC}/src/gl-setup
@${REINPLACE_CMD} \
-E "s%^#[[:blank:]]*\\\$$GL_PACKAGE_CONF[[:blank:]]*=.*%\$$GL_PACKAGE_CONF = '${DATADIR}/conf';%" \
${WRKSRC}/conf/example.gitolite.rc
@${REINPLACE_CMD} \
-E "s%^#[[:blank:]]*\\\$$GL_PACKAGE_HOOKS[[:blank:]]*=.*%\$$GL_PACKAGE_HOOKS = '${DATADIR}/hooks';%" \
${WRKSRC}/conf/example.gitolite.rc
post-build:
@${FIND} ${WRKSRC} -name "*.bak" -delete
@${FIND} ${WRKSRC} -name "*.orig" -delete
do-install:
${MKDIR} ${PREFIX}/libexec/gitolite
${INSTALL_SCRIPT} ${WRKSRC}/src/* ${PREFIX}/libexec/gitolite/
${MKDIR} ${DATADIR}/conf
${INSTALL_DATA} ${WRKSRC}/conf/* ${DATADIR}/conf
${MKDIR} ${DATADIR}/hooks
(cd ${WRKSRC}/hooks && ${COPYTREE_BIN} \* ${DATADIR}/hooks)
${INSTALL_SCRIPT} ${WRKDIR}/auth-command ${PREFIX}/bin/gl-auth-command
${INSTALL_SCRIPT} ${WRKDIR}/setup ${PREFIX}/bin/gl-setup
post-install:
@${CAT} ${PKGMESSAGE}
.include <bsd.port.post.mk>