From owner-freebsd-ports-bugs@FreeBSD.ORG Sun Apr 18 17:50:02 2010 Return-Path: Delivered-To: freebsd-ports-bugs@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C12701065674 for ; Sun, 18 Apr 2010 17:50:02 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id 9C6918FC0A for ; Sun, 18 Apr 2010 17:50:02 +0000 (UTC) Received: from freefall.freebsd.org (localhost [127.0.0.1]) by freefall.freebsd.org (8.14.4/8.14.4) with ESMTP id o3IHo2vX007623 for ; Sun, 18 Apr 2010 17:50:02 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.4/8.14.4/Submit) id o3IHo2a8007622; Sun, 18 Apr 2010 17:50:02 GMT (envelope-from gnats) Resent-Date: Sun, 18 Apr 2010 17:50:02 GMT Resent-Message-Id: <201004181750.o3IHo2a8007622@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, olli hauer Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2F5A7106566B for ; Sun, 18 Apr 2010 17:44:57 +0000 (UTC) (envelope-from ohauer@gmx.de) Received: from mail.gmx.net (mail.gmx.net [213.165.64.20]) by mx1.freebsd.org (Postfix) with SMTP id 723D58FC15 for ; Sun, 18 Apr 2010 17:44:56 +0000 (UTC) Received: (qmail invoked by alias); 18 Apr 2010 17:44:50 -0000 Received: from u18-124.dsl.vianetworks.de (EHLO u18-124.dsl.vianetworks.de) [194.231.39.124] by mail.gmx.net (mp065) with SMTP; 18 Apr 2010 19:44:50 +0200 Received: by u18-124.dsl.vianetworks.de (Postfix, from userid 1100) id C0F6A261F8; Sun, 18 Apr 2010 19:44:45 +0200 (CEST) Message-Id: <20100418174445.C0F6A261F8@u18-124.dsl.vianetworks.de> Date: Sun, 18 Apr 2010 19:44:45 +0200 (CEST) From: olli hauer To: FreeBSD-gnats-submit@FreeBSD.org X-Send-Pr-Version: 3.113 Cc: ohauer@gmx.de Subject: ports/145809: [patch] port devel/subversion update to 1.6.11 X-BeenThere: freebsd-ports-bugs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: olli hauer List-Id: Ports bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 18 Apr 2010 17:50:02 -0000 >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 >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@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: