Date: Thu, 3 Mar 2005 22:19:09 +0100 (CET) From: Roman Neuhauser <neuhauser@chello.cz> To: FreeBSD-gnats-submit@FreeBSD.org Cc: lev@FreeBSD.org Subject: ports/78379: [PATCH] repository target, fsfs support in devel/subversion Message-ID: <20050303211909.D37E21F87BEE@smradoch.ath.cx> Resent-Message-ID: <200503032120.j23LKKcS060924@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 78379 >Category: ports >Synopsis: [PATCH] repository target, fsfs support in devel/subversion >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: Thu Mar 03 21:20:20 GMT 2005 >Closed-Date: >Last-Modified: >Originator: Roman Neuhauser >Release: FreeBSD 4.10-STABLE i386 >Organization: >Environment: System: FreeBSD isis.wad.cz 4.10-STABLE FreeBSD 4.10-STABLE #3: Sat Aug 7 16:06:48 CEST 2004 roman@isis.wad.cz:/usr/obj/usr/src/sys/FREEPUPPY2_6 i386 >Description: (Maintainer cc'd.) The attached patch for devel/subversion/Makefile adds a "repository" target (allowing for repository creation independently of installing the port) as well as support for creating fsfs repositories. The default type of created repositories is changed to fsfs. I sent a slightly different version of the patch to lev@ (maintainer) and ports@ two weeks ago with request for comments but got zero replies, so here it is. I've only tested it on 4.x i386 machines but the change has no platform- or branch-dependent consequences I'm aware of. http://marc.theaimsgroup.com/?l=freebsd-ports&m=110874699621097&w=2 http://codex.sigpipe.cz/FreeBSD/ports/devel::subversion.repository,2.patch >How-To-Repeat: cd $PORTSDIR patch < .../devel::subversion.repository,2.patch cd devel/subversion make repository [SVNFSTYPE={bdb|fsfs}] [SVNREPOS=/some/path] [-DWITH_SVNSERVE_WRAPPER [SVNGROUP=agroup]] as well as (on a machine without subversion installed): make install -DWITH_REPOSITORY_CREATION [...] >Fix: --- devel::subversion.repository,2.patch begins here --- Index: devel/subversion/Makefile =================================================================== RCS file: /home/ncvs/ports/devel/subversion/Makefile,v retrieving revision 1.74 diff -u -u -r1.74 Makefile --- devel/subversion/Makefile 3 Feb 2005 20:21:53 -0000 1.74 +++ devel/subversion/Makefile 3 Mar 2005 20:51:51 -0000 @@ -43,6 +43,15 @@ .include <bsd.port.pre.mk> SVNREPOS?= /home/svn/repos +SVNFSTYPE?= fsfs + +.if make(repository) +WITH_REPOSITORY_CREATION= yes +.endif + +.if defined(WITH_REPOSITORY_CREATION) +MKREPOS_TARGET= _mkrepos +.endif .if defined(WITH_MAINTAINER_DEBUG) CONFIGURE_ARGS+=--enable-maintainer-mode \ @@ -318,7 +327,7 @@ ${APXS} -e -S LIBEXECDIR=${PREFIX}/libexec/apache2 -a -n dav libexec/apache2/mod_dav.so .endif -post-install: +post-install: ${MKREPOS_TARGET} @${MKDIR} ${PREFIX}/share/subversion cd ${WRKSRC}/tools ; \ tar --exclude '*.in' -cf - * | tar -C ${PREFIX}/share/subversion -xf - @@ -350,7 +359,14 @@ .if defined(WITH_SVNSERVE_WRAPPER) @${INSTALL_SCRIPT} ${FILESDIR}/svnserve.wrapper ${PREFIX}/bin/svnserve .endif -.if defined(WITH_REPOSITORY_CREATION) && !exists(${SVNREPOS}) + +repository: _mkrepos + +_SVNGRPFILES= dav db locks locks/db.lock locks/db-logs.lock +SVNGRPFILES= ${_SVNGRPFILES:S,^,${SVNREPOS}/,} + +_mkrepos: .USE +.if !exists(${SVNREPOS}) . if defined(WITH_SVNSERVE_WRAPPER) @if /usr/sbin/pw groupshow "${SVNGROUP}" >/dev/null 2>&1; then \ ${ECHO_MSG} "You already have a group \"${SVNGROUP}\", so I will use it."; \ @@ -366,18 +382,20 @@ fi . endif @${MKDIR} ${SVNREPOS} - @${PREFIX}/bin/svnadmin create ${SVNREPOS} - @${CHGRP} ${SVNGROUP} ${SVNREPOS}/db ${SVNREPOS}/locks/db.lock ${SVNREPOS}/dav - @${CHMOD} g+w ${SVNREPOS}/db ${SVNREPOS}/locks/db.lock ${SVNREPOS}/dav + @${PREFIX}/bin/svnadmin create --fs-type ${SVNFSTYPE} ${SVNREPOS} +. if defined(WITH_SVNSERVE_WRAPPER) + @${CHGRP} ${SVNGROUP} ${SVNGRPFILES} + @${CHMOD} g+w ${SVNGRPFILES} @for i in ${SVNREPOS}/db/* ; do \ i=$${i##*/}; \ case $$i in \ - DB_CONFIG) ;; \ - *) ${CHGRP} ${SVNGROUP} ${SVNREPOS}/db/$$i; \ - ${CHMOD} g+w ${SVNREPOS}/db/$$i; \ + DB_CONFIG|fs-type|uuid) ;; \ + *) ${CHGRP} -R ${SVNGROUP} ${SVNREPOS}/db/$$i; \ + ${CHMOD} -R g+w ${SVNREPOS}/db/$$i; \ ;; \ esac; \ done +. endif .endif post-deinstall: --- devel::subversion.repository,2.patch ends here --- >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20050303211909.D37E21F87BEE>