ports/145809: [patch] port devel/subversion update to 1.6.11

olli hauer ohauer at gmx.de
Sun Apr 18 17:50:02 UTC 2010


>Number:         145809
>Category:       ports
>Synopsis:       [patch] port devel/subversion update to 1.6.11
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          update
>Submitter-Id:   current-users
>Arrival-Date:   Sun Apr 18 17:50:02 UTC 2010
>Closed-Date:
>Last-Modified:
>Originator:     olli hauer <ohauer at gmx.de>
>Release:        
>Organization:
>Environment:
FreeBSD 7.3-RELEASE i386

>Description:
- update subversion to from 1.6.9 to 1.6.11
- move pkg-deinstall to files/pkg-deinstall.in
- move dav_module activation (from apache) into dedicated script (files/pkg-install.in)
  to prevent the anoying double activation (apxs bug: https://issues.apache.org/bugzilla/show_bug.cgi?id=47397)
- change url in pkg-desc from tigris.org to apache.org
- add option to build and install svnauthz-validate, a tool to test authz files.

  if this patch will be commited, please close PR 145114 


Change Log: http://svn.apache.org/repos/asf/subversion/tags/1.6.11/CHANGES
==========================================================================
Version 1.6.11
(19 Apr 2010, from /branches/1.6.x)
http://svn.apache.org/repos/asf/subversion/tags/1.6.11

 User-visible changes:
  * fix for repositories mounted via NFS (issue #3501)
  * enable TCP keep-alives in svnserve (r880552)
  * tighten restrictions on revprops for 'svnadmin verify' (r904594)
  * make ra_serf give better out-of-date information (issue #3561)
  * improve error message upon connection failure with svn+ssh:// (r922516)
  * allow 'svn log' on an uncommitted copy/move destination (r901752)
  * make 'svnadmin hotcopy' copy the fsfs config file (r905303)
  * mergeinfo improvements with non-inheritable mergeinfo (issue #3573)
  * make mergeinfo queries not require access to the repo root (issue #3242)
  * update URLs to refer the the new apache.org repository (r904301, -94)
  * update relative externals during a switch (issue #3390)
  * fix 'merge --reintegrate' with self-referential mergeinfo (r892050, -85)
  * improve wc-ng working copy detection (r929382)
  * improve handling of mergeinfo when using serf (r880461)
  * fixed: 'svnlook plist --revprop' with '-t TXN_NAME' (r917640, -8211)
  * fixed: file external from URL cannot overwrite existing item (issue #3552)
  * fixed: potential memory error in 'svn status' (r923674, -9)
  * fixed: merge records mergeinfo from natural history gaps (issue #3432)
  * fixed: theoretical possibility of DB corruption (r926151, -67)

 Developer-visible changes:
  * disable checks for wc-ng working copies when running the test suite
  * on Windows, don't ignore move operation error codes (r896915)
  * more precise reporting of errors occuring with sqlite init (r927323, -8)
  * ensure rangelist APIs are commutative (r923389, -91)


Version 1.6.10
(Not released, see changes for 1.6.11.)


>How-To-Repeat:
>Fix:
--- patch_subversion-1.6.11.txt begins here ---
Index: distinfo
===================================================================
--- distinfo	(Revision 1)
+++ distinfo	(Arbeitskopie)
@@ -1,6 +1,6 @@
-MD5 (subversion/subversion-1.6.9.tar.bz2) = 9c30a47b1d48664e7afef68bb4834c53
-SHA256 (subversion/subversion-1.6.9.tar.bz2) = 05526f92fcb612bdc3bab0d5e218e25847bf10846e047ce244e33859b205111c
-SIZE (subversion/subversion-1.6.9.tar.bz2) = 5478554
+MD5 (subversion/subversion-1.6.11.tar.bz2) = 75419159b50661092c4137449940b5cc
+SHA256 (subversion/subversion-1.6.11.tar.bz2) = 64bd000ae30470d343c0725758bdd8288143393308eedc511c7826bb6731e59c
+SIZE (subversion/subversion-1.6.11.tar.bz2) = 5486069
 MD5 (subversion/svn-book-html.tar.bz2) = b5c8723bf2951e93bc468441ebc71011
 SHA256 (subversion/svn-book-html.tar.bz2) = 5c4788e1f225b3186db5979b071fcc4c9543bfb5916cd62e003eea4507b8c8cb
 SIZE (subversion/svn-book-html.tar.bz2) = 406484
Index: pkg-descr
===================================================================
--- pkg-descr	(Revision 1)
+++ pkg-descr	(Arbeitskopie)
@@ -1,4 +1,4 @@
 Subversion is a version control system designed to be as similar to cvs(1) 
 as possible, while fixing many outstanding problems with cvs(1).
 
-WWW: http://subversion.tigris.org/
+WWW: http://subversion.apache.org/
Index: files/pkg-deinstall.in
===================================================================
--- files/pkg-deinstall.in	(Revision 0)
+++ files/pkg-deinstall.in	(Revision 2)
@@ -0,0 +1,71 @@
+#!/bin/sh
+#
+# Try to de-activate mod_dav_svn in the installed httpd.conf and warn
+# if this fails.
+#
+# $FreeBSD: ports/devel/subversion/pkg-deinstall,v 1.3 2009/04/06 17:06:34 lev Exp $
+#
+
+if [ "$2" != "POST-DEINSTALL" ]; then
+	exit 0
+fi
+
+TMPDIR=${TMPDIR:=/tmp}
+PKG_TMPDIR=${PKG_TMPDIR:=${TMPDIR}}
+
+apxscmd=${PKG_PREFIX}/sbin/apxs
+tmpdir=${PKG_TMPDIR}/deinstmod_dav_svn.$$
+
+if [ ! -x ${apxscmd} ]; then
+	echo Can\'t find the apxs program: ${apxscmd}.
+	exit 1
+fi
+
+confdir=`${apxscmd} -q SYSCONFDIR`
+
+if [ ! -d "${confdir}" ]; then
+	echo Can\'t find Apache conf dir: ${confdir}
+	exit 1
+fi
+
+if [ -f "${confdir}/httpd.conf" ]; then
+	conffile=httpd.conf
+fi
+if [ -f "${confdir}/httpd.conf.default" ]; then
+	conffile="${conffile} httpd.conf.default"
+fi
+if [ -z "${conffile}" ]; then
+	echo Can\'t find either of ${confdir}/httpd.conf or
+	echo ${confdir}/httpd.conf.default.
+	exit 1
+fi
+
+if ! mkdir ${tmpdir}; then
+	echo Can\'t create temporary directory: ${tmpdir}
+	exit 1
+fi
+
+for i in ${conffile}; do
+	echo -n Removing dav_svn_module, authz_svn_module and dontdothat_module from $i in config dir: ${confdir}...
+	awk '{if (!/^LoadModule dav_svn_module/    && 
+		  !/^AddModule mod_dav_svn.c/      && \
+		  !/^LoadModule authz_svn_module/  && \
+		  !/^AddModule mod_authz_svn.c/    && \
+		  !/^LoadModule dontdothat_module/ && \
+		  !/^AddModule mod_dontdothat.c/    ) \
+	    print $0}' < "${confdir}/$i" > "${tmpdir}/$i"
+	AWKRC=$?
+	diff "${confdir}/$i" "${tmpdir}/$i" | grep "^[<>]" | grep -Evq "^< (Load|Add)Module "
+	GREPRC=$?
+	# last grep should not find anything
+	if [ "x${AWKRC}" = "x0" -a "x${GREPRC}" = "x1"  ] ; then
+		echo " Ok"
+		cat "${tmpdir}/$i" > "${confdir}/$i"
+	else
+		echo " Error! Please, remove these modules manually"
+	fi
+done
+
+rm -rf "${tmpdir}"
+
+exit 0
Index: files/pkg-install.in
===================================================================
--- files/pkg-install.in	(Revision 0)
+++ files/pkg-install.in	(Revision 3)
@@ -0,0 +1,53 @@
+#!/bin/sh
+#
+# Date created:				18 Apr 2010
+# Whom:					ohauer at gmx.de
+#
+# Try to activate mod_dav.so in httpd.conf only if the module is not already active.
+# This script is a workaround for apxs bug: 
+# https://issues.apache.org/bugzilla/show_bug.cgi?id=47397
+#
+# $FreeBSD$
+#
+
+if [ "$2" != "PRE-INSTALL" ]; then
+	exit 0
+fi
+
+APXSCMD=${PKG_PREFIX}/sbin/apxs
+
+if [ ! -x ${APXSCMD} ]; then
+	echo Can\'t find the apxs program: ${APXSCMD}.
+	exit 1
+fi
+
+SYSCONFDIR=`${APXSCMD} -q SYSCONFDIR`
+LIBEXECDIR=`${APXSCMD} -q LIBEXECDIR`
+
+if [ ! -d "${SYSCONFDIR}" ]; then
+	echo Can\'t find Apache conf dir: ${SYSCONFDIR}
+	exit 1
+fi
+
+if [ -f "${SYSCONFDIR}/httpd.conf" ]; then
+	CONFFILE=httpd.conf
+fi
+
+if [ -z "${CONFFILE}" ]; then
+	echo "Can\'t find ${SYSCONFDIR}/${CONFFILE}"
+	exit 1
+fi
+
+# use only 'egrep -e' else the check works not correct
+if [ ! -n "`egrep -e '^(Load|Add)Module.*dav_module' ${SYSCONFDIR}/${CONFFILE}`" ]; then
+	if [ -f ${LIBEXECDIR}/mod_dav.so ]; then
+		${APXSCMD} -e -S LIBEXECDIR=${LIBEXECDIR} -a -n dav ${LIBEXECDIR}/mod_dav.so
+	else
+		echo "cannot find ${LIBEXECDIR}/mod_dav.so"
+		exit 1
+	fi
+else
+	echo  "dav_module already active in ${SYSCONFDIR}/${CONFFILE}"
+fi
+
+exit 0
Index: Makefile.common
===================================================================
--- Makefile.common	(Revision 1)
+++ Makefile.common	(Arbeitskopie)
@@ -5,7 +5,7 @@
 # $FreeBSD: ports/devel/subversion/Makefile.common,v 1.28 2010/02/10 14:55:27 skv Exp $
 
 PORTNAME=	subversion
-PORTVERSION=	1.6.9
+PORTVERSION=	1.6.11
 #PORTREVISION?=	1
 CATEGORIES+=	devel
 MASTER_SITES=	http://subversion.tigris.org/downloads/:main \
@@ -57,7 +57,7 @@
 PLIST_SUB+=		SASL="@comment "
 .endif
 
-# Default us "on"
+# Default is "on"
 .if !defined(WITHOUT_BDB)
 USE_BDB=		42+
 PLIST_SUB+=		BDB=""
@@ -109,6 +109,15 @@
 CONFIGURE_ARGS+=--with-apr=${APR_APU_DIR}/${APR_CONFIG} \
 		--with-apr-util=${APR_APU_DIR}/${APU_CONFIG}
 
+.if defined(WITH_SVNAUTHZ_VALIDATE)
+.if exists(${APR_APU_DIR}/${APR_CONFIG})
+APR_INCLUDE_DIR!=	${APR_APU_DIR}/${APR_CONFIG} --includedir
+.endif
+PLIST_SUB+=     SVNAUTHZ_VALIDATE=""
+.else
+PLIST_SUB+=     SVNAUTHZ_VALIDATE="@comment "
+.endif
+
 .if defined(WITH_SERF)
 LIB_DEPENDS+=	serf-0.0:${PORTSDIR}/www/serf
 CONFIGURE_ARGS+=	--with-serf=${LOCALBASE}
Index: pkg-plist
===================================================================
--- pkg-plist	(Revision 1)
+++ pkg-plist	(Arbeitskopie)
@@ -6,6 +6,7 @@
 bin/svnserve
 bin/svnsync
 %%ASVN%%bin/asvn
+%%SVNAUTHZ_VALIDATE%%bin/svnauthz-validate
 %%SVNSERVE_WRAPPER%%bin/svnserve.bin
 bin/svnversion
 include/subversion-1/mod_authz_svn.h
@@ -289,7 +290,6 @@
 %%DATADIR%%/xslt/svnindex.xsl
 %%MOD_DAV_SVN%%%%APACHEMODDIR%%/mod_dav_svn.so
 %%MOD_DAV_SVN%%%%APACHEMODDIR%%/mod_authz_svn.so
-%%MOD_DAV_SVN%%@exec %D/sbin/apxs -e -S LIBEXECDIR=%D/%%APACHEMODDIR%% -a -n dav libexec/%%APACHEDIR%%/mod_dav.so
 %%MOD_DAV_SVN%%@exec %D/sbin/apxs -e -S LIBEXECDIR=%D/%%APACHEMODDIR%% -a -n dav_svn libexec/%%APACHEDIR%%/mod_dav_svn.so
 %%MOD_DAV_SVN%%@exec %D/sbin/apxs -e -S LIBEXECDIR=%D/%%APACHEMODDIR%% -a -n authz_svn libexec/%%APACHEDIR%%/mod_authz_svn.so
 %%MOD_DONTDOTHAT%%%%APACHEMODDIR%%/mod_dontdothat.so
Index: Makefile
===================================================================
--- Makefile	(Revision 1)
+++ Makefile	(Arbeitskopie)
@@ -27,6 +27,7 @@
 		ASVN		"Build and install Archive SVN (asvn)" off \
 		MAINTAINER_DEBUG	"Build debug version" off \
 		SVNSERVE_WRAPPER	"Enable svnserve wrapper" off \
+		SVNAUTHZ_VALIDATE	"install svnauthz-validate" off \
 		STATIC		"Build static version (no shared libs)" off \
 		BOOK		"Install the Subversion Book" off
 
@@ -35,6 +36,9 @@
 SVNREPOS?=	/home/svn/repos
 SVNFSTYPE?=	fsfs
 
+SUB_FILES=	pkg-install \
+		pkg-deinstall
+
 .if make(repository)
 WITH_REPOSITORY_CREATION=	yes
 .endif
@@ -121,6 +125,16 @@
 	@${ECHO_MSG} "svnserve wrapper enabled."
 	@${ECHO_MSG} ""
 .endif
+.if defined(WITH_SVNAUTHZ_VALIDATE)
+.if defined(WITH_STATIC)
+	@${ECHO_MSG} "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
+	@${ECHO_MSG} "!!! svnauthz-validate and static build are not compatible !!!"
+	@${ECHO_MSG} "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
+	@${FALSE}
+.endif
+	@${ECHO_MSG} "svnauthz-validate enabled."
+	@${ECHO_MSG} ""
+.endif
 .if defined(WITH_REPOSITORY_CREATION)
 	@${ECHO_MSG} "I will create (or use, if it exists) '${SVNUSER}' user and '${SVNGROUP}' group."
 	@${ECHO_MSG} "Make sure that all committers are its members."
@@ -173,16 +187,23 @@
 	fi
 .endif
 
-
+post-build:
 .if defined(WITH_MOD_DAV_SVN) && defined(WITH_MOD_DONTDOTHAT)
-post-build:
 	cd ${WRKSRC}/contrib/server-side/mod_dontdothat && \
 		${APXS} -c -I${WRKSRC}/subversion/include -L${WRKSRC}/subversion/libsvn_subr/.libs -lsvn_subr-1 mod_dontdothat.c
 .endif
+.if defined(WITH_SVNAUTHZ_VALIDATE)
+	# place binary in ${WRKDIR}, else we install it twice
+	cd ${WRKSRC}/tools/server-side && \
+		${CC} svnauthz-validate.c -o ../../svnauthz-validate -I${WRKSRC}/subversion/include -I${APR_INCLUDE_DIR} \
+		-L${WRKSRC}/subversion/libsvn_repos/.libs -L${WRKSRC}/subversion/libsvn_subr/.libs -lsvn_repos-1 -lsvn_subr-1
+.endif
 
+pre-install:
 .if defined(WITH_MOD_DAV_SVN)
-pre-install:
-	${APXS} -e -S LIBEXECDIR=${PREFIX}/${APACHEMODDIR} -a -n dav ${PREFIX}/${APACHEMODDIR}/mod_dav.so
+# activate dav_module now in pkg-install to prevent double activation.
+# workaround for apxs bug: https://issues.apache.org/bugzilla/show_bug.cgi?id=47397
+	@PKG_PREFIX=${PREFIX} ${SH} ${PKGINSTALL} ${PKGNAME} PRE-INSTALL
 .endif
 
 post-install:	${MKREPOS_TARGET}
@@ -194,6 +215,9 @@
 	${APXS} -e -S LIBEXECDIR=${PREFIX}/${APACHEMODDIR} -a -n dontdothat ${PREFIX}/${APACHEMODDIR}/mod_dontdothat.so
 .endif
 .endif
+.if defined(WITH_SVNAUTHZ_VALIDATE)
+	${INSTALL_PROGRAM} ${WRKSRC}/svnauthz-validate ${PREFIX}/bin
+.endif
 	@${MKDIR} ${DATADIR}
 	cd ${WRKSRC}/tools ; \
 	  ${TAR} --exclude '*.in' -cf - * | ${TAR} -C ${DATADIR} -xf -
Index: pkg-deinstall
===================================================================
--- pkg-deinstall	(Revision 1)
+++ pkg-deinstall	(Arbeitskopie)
@@ -1,71 +0,0 @@
-#!/bin/sh
-#
-# Try to de-activate mod_dav_svn in the installed httpd.conf and warn
-# if this fails.
-#
-# $FreeBSD: ports/devel/subversion/pkg-deinstall,v 1.3 2009/04/06 17:06:34 lev Exp $
-#
-
-if [ "$2" != "POST-DEINSTALL" ]; then
-	exit 0
-fi
-
-TMPDIR=${TMPDIR:=/tmp}
-PKG_TMPDIR=${PKG_TMPDIR:=${TMPDIR}}
-
-apxscmd=${PKG_PREFIX}/sbin/apxs
-tmpdir=${PKG_TMPDIR}/deinstmod_dav_svn.$$
-
-if [ ! -x ${apxscmd} ]; then
-	echo Can\'t find the apxs program: ${apxscmd}.
-	exit 1
-fi
-
-confdir=`${apxscmd} -q SYSCONFDIR`
-
-if [ ! -d "${confdir}" ]; then
-	echo Can\'t find Apache conf dir: ${confdir}
-	exit 1
-fi
-
-if [ -f "${confdir}/httpd.conf" ]; then
-	conffile=httpd.conf
-fi
-if [ -f "${confdir}/httpd.conf.default" ]; then
-	conffile="${conffile} httpd.conf.default"
-fi
-if [ -z "${conffile}" ]; then
-	echo Can\'t find either of ${confdir}/httpd.conf or
-	echo ${confdir}/httpd.conf.default.
-	exit 1
-fi
-
-if ! mkdir ${tmpdir}; then
-	echo Can\'t create temporary directory: ${tmpdir}
-	exit 1
-fi
-
-for i in ${conffile}; do
-	echo -n Removing dav_svn_module, authz_svn_module and dontdothat_module from $i in config dir: ${confdir}...
-	awk '{if (!/^LoadModule dav_svn_module/    && 
-		  !/^AddModule mod_dav_svn.c/      && \
-		  !/^LoadModule authz_svn_module/  && \
-		  !/^AddModule mod_authz_svn.c/    && \
-		  !/^LoadModule dontdothat_module/ && \
-		  !/^AddModule mod_dontdothat.c/    ) \
-	    print $0}' < "${confdir}/$i" > "${tmpdir}/$i"
-	AWKRC=$?
-	diff "${confdir}/$i" "${tmpdir}/$i" | grep "^[<>]" | grep -Evq "^< (Load|Add)Module "
-	GREPRC=$?
-	# last grep should not find anything
-	if [ "x${AWKRC}" = "x0" -a "x${GREPRC}" = "x1"  ] ; then
-		echo " Ok"
-		cat "${tmpdir}/$i" > "${confdir}/$i"
-	else
-		echo " Error! Please, remove these modules manually"
-	fi
-done
-
-rm -rf "${tmpdir}"
-
-exit 0
--- patch_subversion-1.6.11.txt ends here ---
>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the freebsd-ports-bugs mailing list