Port of Meta-CVS, a more capable version control system than CVS, built on CVS. Note that this doesn't work on GCC 3.2-systems, since CLISP, which it build-depends on, doesn't build right with GCC 3.2. I'll file a separate report on that. I've run portlint, and it complains about the hyphen in PORTNAME. Other than that, everything seems fine. I've run the tests suggested in the porters handbook. --- meta-cvs.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: # # meta-cvs # meta-cvs/Makefile # meta-cvs/distinfo # meta-cvs/pkg-descr # meta-cvs/pkg-plist # meta-cvs/files # meta-cvs/files/build.sh # meta-cvs/files/mcvs.tmpl # meta-cvs/files/Makefile # meta-cvs/files/patch-aa # echo c - meta-cvs mkdir -p meta-cvs > /dev/null 2>&1 echo x - meta-cvs/Makefile sed 's/^X//' >meta-cvs/Makefile << 'END-of-meta-cvs/Makefile' X# New ports collection makefile for: meta-cvs X# Date created: 13 February 2003 X# Whom: johs X# X# $FreeBSD$ X# X XPORTNAME= meta-cvs XPORTVERSION= 1.0.3 XCATEGORIES= devel XMASTER_SITES= http://users.footprints.net/~kaz/ XDISTNAME= mcvs-${PORTVERSION} X XMAINTAINER= johs@copyleft.no XCOMMENT="A more capable version control system than CVS, built around CVS." X XBUILD_DEPENDS= clisp:${PORTSDIR}/lang/clisp X Xpre-build: X ${CP} ${FILESDIR}/Makefile ${WRKSRC}/Makefile X ${CP} ${FILESDIR}/build.sh ${WRKSRC}/code X Xpost-install: X ${CAT} ${FILESDIR}/mcvs.tmpl | ${SED} s:PREFIX:${PREFIX}:g > ${WRKDIR}/mcvs X ${INSTALL_SCRIPT} ${WRKDIR}/mcvs ${PREFIX}/bin X.if !defined(NOPORTDOCS) X ${MKDIR} ${PREFIX}/share/doc/meta-cvs X ${INSTALL_MAN} ${WRKSRC}/docs/Meta-CVS-PAPER ${PREFIX}/share/doc/meta-cvs X ${INSTALL_MAN} ${WRKSRC}/QUICK-GUIDE ${PREFIX}/share/doc/meta-cvs X.endif X X.include <bsd.port.mk> END-of-meta-cvs/Makefile echo x - meta-cvs/distinfo sed 's/^X//' >meta-cvs/distinfo << 'END-of-meta-cvs/distinfo' XMD5 (mcvs-1.0.3.tar.gz) = d2cfb53ff9678b5e1763af64a03aa1ce END-of-meta-cvs/distinfo echo x - meta-cvs/pkg-descr sed 's/^X//' >meta-cvs/pkg-descr << 'END-of-meta-cvs/pkg-descr' XThis is a port of Meta-CVS, a version control system built around CVS. XAlthough it retains most of the features of CVS, including all of the Xnetworking support, it is more capable than CVS, and easier to use. X XIts main features are: X * Directory structure versioning. X * Support for a promotion model. X * User-friendly file type handling. X * Sane corner cases. X * Simple branching and merging. X * Support for symbolic links and metadata. X * Tracking of third party code containing moves and renames. X * Ease of deployment. X XWWW: http://users.footprints.net/~kaz/mcvs.html X X- Johannes Groedem Xjohs@copyleft.no END-of-meta-cvs/pkg-descr echo x - meta-cvs/pkg-plist sed 's/^X//' >meta-cvs/pkg-plist << 'END-of-meta-cvs/pkg-plist' Xbin/mcvs Xlib/clisp/meta-cvs/lispinit.mem Xlib/clisp/meta-cvs/lisp.run X@dirrm lib/clisp/meta-cvs X%%PORTDOCS%%share/doc/meta-cvs/Meta-CVS-PAPER X%%PORTDOCS%%share/doc/meta-cvs/QUICK-GUIDE X%%PORTDOCS%%@dirrm share/doc/meta-cvs END-of-meta-cvs/pkg-plist echo c - meta-cvs/files mkdir -p meta-cvs/files > /dev/null 2>&1 echo x - meta-cvs/files/build.sh sed 's/^X//' >meta-cvs/files/build.sh << 'END-of-meta-cvs/files/build.sh' X#!/bin/sh X XCLISP_LIB=$(clisp -q -norc -x '(progn (princ *lib-directory*) (values))') X XLINKSET=unix-bindings-linking-set X Xif [ ! -e $LINKSET ] ; then X export CLISP_LINKKIT="${CLISP_LIB}linkkit" X sh "${CLISP_LIB}clisp-link" add-module-set unix-bindings \ X "${CLISP_LIB}base" $LINKSET Xfi X XLISPRUN=$LINKSET/lisp.run X Xif ! $LISPRUN -M $LINKSET/lispinit.mem -q -c mcvs-main ; then X echo "There were compilation errors." X exit 1 Xfi X X$LISPRUN -M $LINKSET/lispinit.mem -q -i mcvs-main -x '(ext:saveinitmem "mcvs.mem" :quiet t)' X Xexit 0 END-of-meta-cvs/files/build.sh echo x - meta-cvs/files/mcvs.tmpl sed 's/^X//' >meta-cvs/files/mcvs.tmpl << 'END-of-meta-cvs/files/mcvs.tmpl' X#!PREFIX/lib/clisp/meta-cvs/lisp.run -MPREFIX/lib/clisp/meta-cvs/lispinit.mem X(meta-cvs:main) END-of-meta-cvs/files/mcvs.tmpl echo x - meta-cvs/files/Makefile sed 's/^X//' >meta-cvs/files/Makefile << 'END-of-meta-cvs/files/Makefile' Xall: meta-cvs X Xmeta-cvs: X (cd code; /bin/sh build.sh) X Xinstall: X (cd code; /bin/sh install.sh ${PREFIX}) END-of-meta-cvs/files/Makefile echo x - meta-cvs/files/patch-aa sed 's/^X//' >meta-cvs/files/patch-aa << 'END-of-meta-cvs/files/patch-aa' X--- code/install.sh.orig Thu Feb 13 19:30:54 2003 X+++ code/install.sh Thu Feb 13 19:31:01 2003 X@@ -51,12 +51,6 @@ X exit 1 X fi X X-if [ ! -e $LINKSET ] ; then X- export CLISP_LINKKIT="${CLISP_LIB}linkkit" X- sh "${CLISP_LIB}clisp-link" add-module-set unix-bindings \ X- "${CLISP_LIB}base" $LINKSET X-fi X- X LISPRUN=$LINKSET/lisp X X if [ -f $LISPRUN.run ] ; then X@@ -65,18 +59,8 @@ X elif [ -f $LISPRUN.exe ] ; then X LISPRUN=$LISPRUN.exe X LISPEXE=.exe X-else X- echo "linking set failed to build." X- exit 1 X-fi X- X-if ! $LISPRUN -M $LINKSET/lispinit.mem -q -c mcvs-main ; then X- echo "There were compilation errors." X- exit 1 X fi X X-$LISPRUN -M $LINKSET/lispinit.mem -q -i mcvs-main -x '(ext:saveinitmem "mcvs.mem" :quiet t)' X- X if ! cp mcvs.mem $TARGET_LIB/lispinit.mem; then X echo "Unable to copy to $TARGET_LIB." X exit 1 X@@ -84,87 +68,6 @@ X X if ! cp $LISPRUN $TARGET_LIB; then X echo "Unable to copy to $TARGET_LIB." X- exit 1 X-fi X- X-if ! cat > $TARGET_BIN/mcvs <<END X-#!$TARGET_LIB/lisp$LISPEXE -M$TARGET_LIB/lispinit.mem X-(meta-cvs:main) X-END X-then X- echo "Could not create mcvs script in $TARGET." X- exit 1 X-fi X- X-if ! chmod a+x "$TARGET_BIN/mcvs" ; then X- echo "Could not set permissions of mcvs script in $TARGET." X- exit 1 X-fi X- X-if ! cat > $TARGET_BIN/mcvs-upgrade <<END X-#!/bin/sh X-TARGET_LIB="$TARGET_LIB" X-LISPRUN="\$TARGET_LIB/lisp.run -M \$TARGET_LIB/lispinit.mem" X- X-if [ \$# != 1 ] ; then X- echo X- echo "Syntax:" X- echo X- echo " mcvs-upgrade <path-to-source>" X- echo X- echo "The path specifies the directory which holds unpacked Meta-CVS source," X- echo "the place where the file mcvs-main.lisp is located." X- echo X- echo "This upgrade mechanism is intended to make it possible to use a" X- echo "newer version of Meta-CVS without having to obtain a complete binary" X- echo "distribution that includes the Lisp executable, and without having" X- echo "to install the Lisp development environment to build the sources." X- echo X- echo "Note that it's not possible to upgrade if the newer Meta-CVS sources" X- echo "rely on new C functions being linked into the Lisp system; get a" X- echo "new binary distribution, or set up CLISP and compile Meta-CVS from" X- echo "the sources using its install.sh script" X- echo X- echo "Ignore the copious compiler warnings about objects and functions" X- echo "being redefined; this is what we want." X- echo X- exit 1 X-fi X- X-SOURCE_PATH="\$1" X- X-if ! cd "\$SOURCE_PATH" ; then X- echo "unable to change to \$SOURCE_PATH" X- exit 1 X-fi X- X-if ! \$LISPRUN -c mcvs-main ; then X- echo "unable to compile" X- exit 1 X-fi X- X-if ! \$LISPRUN -q -i mcvs-main -x '(ext:saveinitmem "mcvs.mem" :quiet t)' ; then X- echo "unable to load and generate memory image" X- exit 1 X-fi X- X-if ! cp mcvs.mem \$TARGET_LIB/lispinit.mem ; then X- echo "unable to copy new Meta-CVS image to \$TARGET_LIB directory." X- exit 1 X-fi X- X-echo X-echo "It appears that Meta-CVS has been re-generated from the given sources." X-echo X- X-END X-then X- echo "Could not create mcvs script in $TARGET." X- exit 1 X-fi X- X-if ! chmod a+x "$TARGET_BIN/mcvs-upgrade" ; then X- echo "Could not set permissions of mcvs script in $TARGET." X exit 1 X fi X END-of-meta-cvs/files/patch-aa exit --- meta-cvs.shar ends here ---
Lately Johannes Groedem told: > sed 's/^X//' >meta-cvs/Makefile << 'END-of-meta-cvs/Makefile' [...] > Xpost-install: > X ${CAT} ${FILESDIR}/mcvs.tmpl | ${SED} s:PREFIX:${PREFIX}:g > ${WRKDIR}/mcvs save a process today! ${SED} 's:PREFIX:${PREFIX}:g' ${FILESDIR}/mcvs.tmpl > ${WRKDIR}/mcvs > X ${INSTALL_SCRIPT} ${WRKDIR}/mcvs ${PREFIX}/bin > X.if !defined(NOPORTDOCS) > X ${MKDIR} ${PREFIX}/share/doc/meta-cvs use ${DOCSDIR}? > X ${INSTALL_MAN} ${WRKSRC}/docs/Meta-CVS-PAPER ${PREFIX}/share/doc/meta-cvs > X ${INSTALL_MAN} ${WRKSRC}/QUICK-GUIDE ${PREFIX}/share/doc/meta-cvs use ${INSTALL_DATA}! cheers simon -- /"\ http://corecode.ath.cx/#donate \ / \ ASCII Ribbon Campaign / \ Against HTML Mail and News
> Lately Johannes Groedem told: >> sed 's/^X//' >meta-cvs/Makefile << 'END-of-meta-cvs/Makefile' > [...] Thank you, Mr. Portlint. Here is a new version.
I'll just keep an updated version on http://www.kopkillah.com/pr0n/meta-cvs.shar, so if it gets accepted, just get it there. (I've now updated the port for Meta-CVS 1.0.5.) -- Johannes Grødem <OpenPGP: 5055654C>
Responsible Changed From-To: freebsd-ports-bugs->glewis I've been playing with Meta-CVS courtesy of Johannes packages, so the least I can do in return is look at his port and commit it :).
State Changed From-To: open->closed Committed, thanks!