From owner-freebsd-ports-bugs@FreeBSD.ORG Sun Apr 27 02:20:05 2003 Return-Path: Delivered-To: freebsd-ports-bugs@hub.freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 5AC3137B401 for ; Sun, 27 Apr 2003 02:20:05 -0700 (PDT) Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2DC8243FD7 for ; Sun, 27 Apr 2003 02:20:04 -0700 (PDT) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.12.9/8.12.9) with ESMTP id h3R9K4Up065947 for ; Sun, 27 Apr 2003 02:20:04 -0700 (PDT) (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.12.9/8.12.9/Submit) id h3R9K42N065946; Sun, 27 Apr 2003 02:20:04 -0700 (PDT) Resent-Date: Sun, 27 Apr 2003 02:20:04 -0700 (PDT) Resent-Message-Id: <200304270920.h3R9K42N065946@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, Billy Thompson Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 5B06A37B401 for ; Sun, 27 Apr 2003 02:19:42 -0700 (PDT) Received: from idiom.com (idiom.com [216.240.32.1]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8C6E243FB1 for ; Sun, 27 Apr 2003 02:19:41 -0700 (PDT) (envelope-from billy@idiom.com) Received: from idiom.com (billy@localhost [127.0.0.1]) by idiom.com (8.12.6p2/8.12.6) with ESMTP id h3R9Jf9x026417 for ; Sun, 27 Apr 2003 02:19:41 -0700 (PDT) (envelope-from billy@idiom.com) Received: (from billy@localhost) by idiom.com (8.12.6p2/8.12.6/Submit) id h3R9Jf9l026414; Sun, 27 Apr 2003 02:19:41 -0700 (PDT) (envelope-from billy) Message-Id: <200304270919.h3R9Jf9l026414@idiom.com> Date: Sun, 27 Apr 2003 02:19:41 -0700 (PDT) From: Billy Thompson To: FreeBSD-gnats-submit@FreeBSD.org X-Send-Pr-Version: 3.113 Subject: ports/51456: adding new port: opencm X-BeenThere: freebsd-ports-bugs@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list Reply-To: Billy Thompson List-Id: Ports bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 27 Apr 2003 09:20:05 -0000 >Number: 51456 >Category: ports >Synopsis: adding new port: opencm >Confidential: no >Severity: non-critical >Priority: medium >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: change-request >Submitter-Id: current-users >Arrival-Date: Sun Apr 27 02:20:03 PDT 2003 >Closed-Date: >Last-Modified: >Originator: wjt >Release: FreeBSD 4.8-STABLE i386 >Organization: KLOC >Environment: System: FreeBSD strange.wjt.us 4.8-STABLE FreeBSD 4.8-STABLE #11: Sat Apr 12 11:09:23 PDT 2003 root@strange.wjt.us:/usr/obj/usr/src/sys/KERNEL i386 >Description: new port (opencm): a secure, high-integrity replacement for CVS >How-To-Repeat: >Fix: --- opencm.shar begins here --- # This is a shell archive. Save it in a file, remove anything before # this line, and then unpack it by entering "sh file". Note, it may # create directories; files and directories will be owned by you and # have default permissions. # # This archive contains: # # opencm # opencm/Makefile # opencm/distinfo # opencm/pkg-descr # opencm/pkg-install # opencm/pkg-plist # opencm/files # opencm/files/opencm.sh # opencm/files/patch-aa # opencm/scripts # opencm/scripts/create_repository.sh # echo c - opencm mkdir -p opencm > /dev/null 2>&1 echo x - opencm/Makefile sed 's/^X//' >opencm/Makefile << 'END-of-opencm/Makefile' X# New ports collection makefile for: OpenCM, a configuration management tool X# Date created: Sept 23, 2001 X# Whom: billy@idiom.com X# X# $FreeBSD$ X# X XPORTNAME= opencm XPORTVERSION= 0.1.2alpha5pl2 XCATEGORIES= devel XMASTER_SITES= http://www.opencm.org/releases/ XDISTNAME= $(PORTNAME)-$(PORTVERSION)-1-src XEXTRACT_SUFX= .tgz X X# Please prefix Subject: with [opencm] XMAINTAINER= billy@idiom.com XCOMMENT= OpenCM is designed as a secure, high-integrity replacement for CVS X XBUILD_DEPENDS= $(LOCALBASE)/bin/texi2dvi:$(PORTSDIR)/print/teTeX:install \ X $(LOCALBASE)/bin/autoconf:$(PORTSDIR)/devel/autoconf213:install X XUSE_GMAKE= yes XGNU_CONFIGURE= yes XIS_INTERACTIVE= yes X XWRKSRC= $(WRKDIR)/$(PORTNAME)-$(PORTVERSION)/base X XNOTIFY?= opencm@127.0.0.1 XREPOSITORY?= /var/repository XLOGDIR?= /var/log/opencm X Xpre-fetch: X @echo "NOTIFY = email for opencm; currently '$(NOTIFY)'" X @echo "LOGDIR = directory of opencm logs; currently '$(LOGDIR)'" X @echo "REPOSITORY = path to repository; currently '$(REPOSITORY)'" X Xpre-configure: X cd $(WRKSRC) && autoconf X Xpre-install: X PKG_PREFIX=$(PREFIX) $(SH) pkg-install $(PKGNAME) PRE-INSTALL X X# Too lazy to take bother with updating pkg-plist by hand So, I X# install into a FAKEROOT and then figure out the packing list by X# traversing FAKEROOT Xpost-install: X @rm -rf $(PREFIX)/etc/rc.d/init.d X @$(SED) -e "s=%%PREFIX%%=$(PREFIX)=g" $(FILESDIR)/opencm.sh > \ X $(PREFIX)/etc/rc.d/opencm.sh X @$(CHMOD) 755 $(PREFIX)/etc/rc.d/opencm.sh X @$(MKDIR) $(PREFIX)/etc/opencm $(LOGDIR) X @$(RM) -f $(PREFIX)/etc/opencm.conf X @$(ECHO) "OPENCM_NOTIFY=$(NOTIFY)" > $(PREFIX)/etc/opencm/opencm.conf X @$(ECHO) "OPENCM_LOGDIR=$(LOGDIR)" >> $(PREFIX)/etc/opencm/opencm.conf X @$(ECHO) "OPENCM_REPOSITORY=file:$(REPOSITORY)" >> \ X $(PREFIX)/etc/opencm/opencm.conf X @$(ECHO) "export OPENCM_NOTIFY" >> $(PREFIX)/etc/opencm/opencm.conf X @$(ECHO) "export OPENCM_LOGDIR" >> $(PREFIX)/etc/opencm/opencm.conf X @$(ECHO) "export OPENCM_REPOSITORY" >> $(PREFIX)/etc/opencm/opencm.conf X @( pw usershow opencm || pw useradd opencm -u 533 ) > /dev/null 2>&1 X @$(CHOWN) -R opencm $(PREFIX)/etc/opencm $(LOGDIR) X @env PREFIX=$(PREFIX) REPOSITORY=$(REPOSITORY) \ X $(SH) $(SCRIPTDIR)/create_repository.sh X X.include END-of-opencm/Makefile echo x - opencm/distinfo sed 's/^X//' >opencm/distinfo << 'END-of-opencm/distinfo' XMD5 (opencm-0.1.2alpha5pl2-1-src.tgz) = 3e8917d8cdbd78414d1045e9ad65c08b END-of-opencm/distinfo echo x - opencm/pkg-descr sed 's/^X//' >opencm/pkg-descr << 'END-of-opencm/pkg-descr' XWWW: http://opencm.org/ X XOpenCM Feature Set X XHere is a quick list of key features of OpenCM. X - For real configurations! It's just amazing what CVS doesn't know. X - Ability to rename files without losing their history X - Access controls on lines of development (branches). X - Cryptographic authentication. This provides the ability to give X developers accounts on the OpenCM repository without giving them X an account on the underlying machine (OS), and makes X multi-organization collaborations possible. X - End-to-end integrity controls. If a server has a bad file, or a X replicating server actively attempts to replace the proper content, X the end user can detect the error or substitution. X XIn future releases (coming soon), OpenCM will provide: X - Repository replication X - Disconnected commits (ever screwed up a code base on an airplane or X a vacation and wished you could back out? X - Advisory access controls at the file level. END-of-opencm/pkg-descr echo x - opencm/pkg-install sed 's/^X//' >opencm/pkg-install << 'END-of-opencm/pkg-install' X#!/bin/sh X# X Xif [ "$2" != "PRE-INSTALL" ]; then X exit 0 Xfi X XUSER=opencm XGROUP=${USER} XUID=`pw nextuser | cut -f1 -d:` XGID=`pw nextuser | cut -f2 -d:` X Xif ! pw groupshow "${GROUP}" 2>/dev/null 1>&2; then X if pw groupadd ${GROUP} -g ${GID}; then X echo "Added group \"${GROUP}\"." X else X echo "Adding group \"${GROUP}\" failed..." X exit 1 X fi Xfi X Xif ! pw usershow "${USER}" 2>/dev/null 1>&2; then X if pw useradd ${USER} -u ${UID} -g ${GROUP} -h - \ X -s "/sbin/nologin" -d "/nonexistent" \ X -c "OpenCM Administrator"; \ X then X echo "Added user \"${USER}\"." X else X echo "Adding user \"${USER}\" failed..." X exit 1 X fi Xfi Xexit 0 END-of-opencm/pkg-install echo x - opencm/pkg-plist sed 's/^X//' >opencm/pkg-plist << 'END-of-opencm/pkg-plist' X./info/opencm.info.gz X./bin/cm X./etc/rc.d/opencm.sh X./share/opencm/help/add.help X./share/opencm/help/adduser.help X./share/opencm/help/bind.help X./share/opencm/help/checkout.help X./share/opencm/help/commit.help X./share/opencm/help/create-branch.help X./share/opencm/help/create-group.help X./share/opencm/help/create-project.help X./share/opencm/help/create-repository.help X./share/opencm/help/create-user.help X./share/opencm/help/diff.help X./share/opencm/help/gadd.help X./share/opencm/help/gremove.help X./share/opencm/help/import.help X./share/opencm/help/log.help X./share/opencm/help/logmail.help X./share/opencm/help/ls.help X./share/opencm/help/merge.help X./share/opencm/help/mkdir.help X./share/opencm/help/mv.help X./share/opencm/help/note.help X./share/opencm/help/rm.help X./share/opencm/help/notes.help X./share/opencm/help/opt-basic.help X./share/opencm/help/opt-debugging.help X./share/opencm/help/opt-obscure.help X./share/opencm/help/opt-server.help X./share/opencm/help/rebind.help X./share/opencm/help/revert.help X./share/opencm/help/revoke.help X./share/opencm/help/server.help X./share/opencm/help/set-description.help X./share/opencm/help/set-group.help X./share/opencm/help/set-name.help X./share/opencm/help/set-user.help X./share/opencm/help/set-userkey.help X./share/opencm/help/set-ws-repos.help X./share/opencm/help/set-ws-user.help X./share/opencm/help/show-ws-repos.help X./share/opencm/help/show-ws-user.help X./share/opencm/help/status.help X./share/opencm/help/tag.help X./share/opencm/help/unbind.help X./share/opencm/help/update.help X./share/opencm/help/upgrade.help X./share/opencm/help/version.help X./share/opencm/help/whoami.help X./share/opencm/tools/cvsconvert.py X./share/opencm/tools/rcsparse.py X@dirrm ./share/opencm/help X@dirrm ./share/opencm/tools X@dirrm ./share/opencm/ END-of-opencm/pkg-plist echo c - opencm/files mkdir -p opencm/files > /dev/null 2>&1 echo x - opencm/files/opencm.sh sed 's/^X//' >opencm/files/opencm.sh << 'END-of-opencm/files/opencm.sh' X#!/bin/sh X XHOME=/usr/local/etc/opencm; export HOME; XPREFIX=%%PREFIX%% X. ${PREFIX}/etc/opencm/opencm.conf X Xcase "$1" in Xstart) X [ -x ${PREFIX}/bin/cm ] && \ X su -m opencm -c "${PREFIX}/bin/cm --logdir '${OPENCM_LOGDIR}' --notify '${OPENCM_NOTIFY}' server '${OPENCM_REPOSITORY}'" > /dev/null && echo -n ' opencm' X ;; Xstop) X su -m opencm -c "kill -TERM -1" > /dev/null && echo -n ' opencm' X ;; X*) X echo "Usage: `basename $0` {start|stop}" >&2 X ;; Xesac X Xexit 0 END-of-opencm/files/opencm.sh echo x - opencm/files/patch-aa sed 's/^X//' >opencm/files/patch-aa << 'END-of-opencm/files/patch-aa' X--- aclocal.m4 Tue Apr 22 06:59:16 2003 X+++ aclocal.m4 Sat Apr 26 18:17:34 2003 X@@ -119,6 +119,4 @@ X AC_DEFINE(HAVE_KERBEROS, 1, X [Define if you have the Kerberos libraries]) X- else X- AC_MSG_ERROR([You must have Kerberos installed to use OpenCM]) X fi X ])dnl END-of-opencm/files/patch-aa echo c - opencm/scripts mkdir -p opencm/scripts > /dev/null 2>&1 echo x - opencm/scripts/create_repository.sh sed 's/^X//' >opencm/scripts/create_repository.sh << 'END-of-opencm/scripts/create_repository.sh' X#!/bin/sh X XHOME=${PREFIX}/etc/opencm; export HOME; X Xif [ ! -e ${PREFIX}/etc/opencm/.opencm/users/admin.pem ]; then X su -m opencm -c "cd ${PREFIX}/etc/opencm && cm create user admin" Xfi X Xif [ ! -d ${REPOSITORY} ]; then X mkdir ${REPOSITORY} && \ X chown opencm ${REPOSITORY} && \ X su -m opencm -c "cm create repository ${REPOSITORY} gzfs ${PREFIX}/etc/opencm/.opencm/users/admin.pem" Xfi END-of-opencm/scripts/create_repository.sh exit --- opencm.shar ends here --- >Release-Note: >Audit-Trail: >Unformatted: