When the WITH_ASVN flag is specified we must install findutils because asvn uses gfind. The instruction EDITOR?=vi generated a syntax error. I deleted the EDITOR setting at all so that everyone can use his own preferred editor
Class Changed From-To: maintainer-update->change-request Fix category (submitter is not maintainer)
Responsible Changed From-To: freebsd-ports-bugs->lev Over to maintainer
Maintainer ping
This patch overwrites the previous patch submitted with the pr. I further improved the asvn script to avoid problems with filenames containing spaces or special characters such as ~ or ! diff -ruN /usr/ports/devel/subversion/Makefile subversion/Makefile --- /usr/ports/devel/subversion/Makefile Fri Aug 4 14:34:42 2006 +++ subversion/Makefile Mon Sep 11 16:42:41 2006 @@ -38,6 +38,10 @@ PORTDOCS= ${TXT_DOCS} .endif +.if defined(WITH_ASVN) +RUN_DEPENDS= ${LOCALBASE}/bin/gfind:${PORTSDIR}/misc/findutils:install +.endif + .if !defined(WITHOUT_NLS) USE_GETTEXT= yes PLIST_SUB+= WITHOUT_GETTEXT="" diff -ruN /usr/ports/devel/subversion/files/patch-contrib--client-side--asvn subversion/files/patch-contrib--client-side--asvn --- /usr/ports/devel/subversion/files/patch-contrib--client-side--asvn Thu May 25 13:17:17 2006 +++ subversion/files/patch-contrib--client-side--asvn Mon Sep 11 17:07:20 2006 @@ -1,14 +1,12 @@ --- contrib/client-side/asvn.orig Tue Jun 15 06:02:44 2004 -+++ contrib/client-side/asvn Thu May 18 16:05:43 2006 -@@ -36,6 +36,7 @@ - # - # ++++ contrib/client-side/asvn Mon Sep 11 17:07:04 2006 +@@ -1,4 +1,4 @@ +-#!/bin/bash ++#!/usr/local/bin/bash #------------------------------------------------------------------------- -+EDITOR?=vi - SVN=/usr/local/bin/svn - ACTION="" - DEV_PROP="dir:devices" -@@ -46,7 +47,7 @@ + # Author: Ross Mark (rossm@controllingedge.com.au) + # Date: Tue Mar 11 10:02:57 EST 2003 +@@ -46,7 +46,7 @@ TMPFILE2=/tmp/asvn.tmp2.$$ PCWD=`/bin/pwd` SKIPSVN='\( -name .svn -prune -false \)' @@ -17,27 +15,91 @@ trap cleanup 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 -@@ -105,7 +106,7 @@ +@@ -58,7 +58,8 @@ + function basedirname() + { + refname="$1" +- dir="`dirname $2`" ++ shift ++ dir="`dirname \"$*\"`" + ref=`expr "$dir" : "$refname/\(.*\)"` + if [ -z "$ref" ] + then +@@ -105,10 +106,10 @@ function recorddirinfo { - eval "find $PCWD $SKIPSVN -o \( -type d ! -name .svn -print \)" |while read dirlist -+ eval "gfind $PCWD $SKIPSVN -o \( -type d ! -name .svn -print \)" |while read dirlist ++ eval "gfind \"$PCWD\" $SKIPSVN -o \( -type d ! -name .svn -print \)" |while read dirlist do - updatedirsymlinks $1 $dirlist - updatedirdevices $1 $dirlist -@@ -126,9 +127,9 @@ +- updatedirsymlinks $1 $dirlist +- updatedirdevices $1 $dirlist ++ updatedirsymlinks $1 "$dirlist" ++ updatedirdevices $1 "$dirlist" + done + } + +@@ -126,15 +127,15 @@ # # Obtain the list of devices in this directory # - find "$dir" \( \( -type b -o -type c -o -type p \) -print \) -o -type d ! -name "`basename $dir`" -prune | while read file -+ gfind "$dir" \( \( -type b -o -type c -o -type p \) -print \) -o -type d ! -name "`basename $dir`" -prune | while read file ++ gfind "$dir" \( \( -type b -o -type c -o -type p \) -print \) -o -type d ! -name "`basename \"$dir\"`" -prune | while read file do - echo -n `find $file -printf "file='%f' mode=%m user=%u(%U) group=%g(%G)"` -+ echo -n `gfind $file -printf "file='%f' mode=%m user=%u(%U) group=%g(%G)"` - [ -b $file ] && echo -n ' type=b' - [ -c $file ] && echo -n ' type=c' - [ -p $file ] && echo ' type=p' +- [ -b $file ] && echo -n ' type=b' +- [ -c $file ] && echo -n ' type=c' +- [ -p $file ] && echo ' type=p' +- if [ -b $file -o -c $file ] ++ echo -n `gfind "$file" -printf "file='%f' mode=%m user=%u(%U) group=%g(%G)"` ++ [ -b "$file" ] && echo -n ' type=b' ++ [ -c "$file" ] && echo -n ' type=c' ++ [ -p "$file" ] && echo ' type=p' ++ if [ -b "$file" -o -c "$file" ] + then +- ls -l $file | ++ ls -l "$file" | + sed -e 's/^[-lcpbrdwxXstugoTS]* *[0-9] [^ ]* *[^ ]* *\([0-9]*\), *\([0-9]*\) .*/ major=\1 minor=\2/' + fi + # In this case file is the full path. +@@ -145,7 +146,7 @@ + # + # Obtain the currently defined devices + # +- $SVN propget $DEV_PROP $dir >$TMPFILE1 ++ $SVN propget $DEV_PROP "$dir" >$TMPFILE1 + + # + # If the two list are the same then there is nothing to do. +@@ -161,7 +162,7 @@ + if [ "$CHECKIN" = "true" ] + then + # Add the current devices to the property +- $SVN propset $DEV_PROP $dir -F $TMPFILE ++ $SVN propset $DEV_PROP "$dir" -F $TMPFILE + else + # Delete all the unwanted devices ie not in TMPFILE1 + cat $TMPFILE |while read line +@@ -169,8 +170,8 @@ + file=`expr "$line" : "file='\(.*\)' mode"` + if ! grep -q "file='$file'" $TMPFILE1 + then +- rm $file +- deleteignorefile $file ++ rm "$file" ++ deleteignorefile "$file" + fi + done + fi +@@ -178,7 +179,7 @@ + # There are no devices in this directory + if [ "$CHECKIN" = "true" ] + then +- $SVN propdel $DEV_PROP $dir ++ $SVN propdel $DEV_PROP "$dir" + fi + fi + @@ -194,10 +195,10 @@ grep -q "$info" $TMPFILE && continue # This line still matches file=`expr "$info" : "file='\(.*\)' "` @@ -53,51 +115,101 @@ type=`expr "$info" : ".* type=\(.\)"` major=`expr "$info" : ".* major=\([0-9]*\)"` minor=`expr "$info" : ".* minor=\([0-9]*\)"` -@@ -207,7 +208,8 @@ +@@ -205,10 +206,11 @@ + # This file is either missing or wrong + # Delete the old and create it anew. # - rm -f $dir/$file - mknod --mode=$mode $dir/$file $type $major $minor +- rm -f $dir/$file +- mknod --mode=$mode $dir/$file $type $major $minor - chown $user:$group $dir/$file +- addignorefile $dir/$file ++ rm -f "$dir/$file" ++ mknod --mode=$mode "$dir/$file" $type $major $minor +# chown $user:$group $dir/$file -+ chown $uid:$gid $dir/$file - addignorefile $dir/$file ++ chown $uid:$gid "$dir/$file" ++ addignorefile "$dir/$file" done fi + } @@ -228,7 +230,7 @@ # # Obtain the list of symlinks in this directory # - find "$dir" \( -type l -printf "file='%f' dest='%l'\n" \) -o -type d ! -name "`basename $dir`" -prune | -+ gfind "$dir" \( -type l -printf "file='%f' dest='%l'\n" \) -o -type d ! -name "`basename $dir`" -prune | ++ gfind "$dir" \( -type l -printf "file='%f' dest='%l'\n" \) -o -type d ! -name "`basename \"$dir\"`" -prune | sort >$TMPFILE # -@@ -294,7 +296,7 @@ +@@ -243,7 +245,7 @@ + # + # Obtain the currently defined symlinks + # +- $SVN propget $SYM_PROP $dir >$TMPFILE1 ++ $SVN propget $SYM_PROP "$dir" >$TMPFILE1 + + # + # If the two list are the same then there is nothing to do. +@@ -259,7 +261,7 @@ + if [ "$CHECKIN" = "true" ] + then + # Add the current symlinks to the property +- $SVN propset $SYM_PROP $dir -F $TMPFILE ++ $SVN propset $SYM_PROP "$dir" -F $TMPFILE + else + # Delete all the unwanted symlinks + cat $TMPFILE |while read line +@@ -268,8 +270,8 @@ + efile="`echo $file |sed -e 's!\([\[\(\$]\)!\\\\\1!g'`" + if ! grep -q "file='$efile'" $TMPFILE1 + then +- rm $dir/$file +- deleteignorefile $dir/$file ++ rm "$dir/$file" ++ deleteignorefile "$dir/$file" + fi + done + fi +@@ -277,7 +279,7 @@ + # There are no symlinks in this directory + if [ "$CHECKIN" = "true" ] + then +- $SVN propdel $SYM_PROP $dir ++ $SVN propdel $SYM_PROP "$dir" + fi + fi + +@@ -294,10 +296,10 @@ if [ -L $dir/$file ] then - [ "`find $dir/$file -printf '%l'`" = "$dest" ] && continue -+ [ "`gfind $dir/$file -printf '%l'`" = "$dest" ] && continue ++ [ "`gfind \"$dir/$file\" -printf '%l'`" = "$dest" ] && continue fi - rm -f $dir/$file - ln -s $dest $dir/$file +- rm -f $dir/$file +- ln -s $dest $dir/$file ++ rm -f "$dir/$file" ++ ln -s $dest "$dir/$file" + done + fi + } @@ -313,37 +315,39 @@ # Find all the directories and files cp /dev/null $TMPFILE - eval "find $PCWD $SKIPSVN -o \( \( -type d ! -name .svn \) -o -type f \) $PRINTDETAILS" | while read info -+ eval "gfind $PCWD $SKIPSVN -o \( \( -type d ! -name .svn \) -o -type f \) $PRINTDETAILS" | while read info ++ eval "gfind \"$PCWD\" $SKIPSVN -o \( \( -type d ! -name .svn \) -o -type f \) $PRINTDETAILS" | while read info do device=`expr "$info" : "file='\(.*\)' mode"` info=`expr "$info" : "file='.*' \(mode.*\)"` -+ #echo DEBUG: device vale $device ++# echo DEBUG: device vale $device if [ "$PCWD" = "$device" ] then dir="." file="" else - dir="`basedirname $PCWD $device`" +- dir="`basedirname $PCWD $device`" - file="`basename $device`" ++ dir="`basedirname \"$PCWD\" $device`" + file=`basename "$device"` fi # see if the properties have changed. @@ -144,3 +256,12 @@ fi recorddirinfo recordpermissions +@@ -382,7 +387,7 @@ + + [ "$ACTION" = "pre" ] && pre_checkin $@ + +-$SVN $@ ++$SVN "$@" + + [ $? = 0 -a "$ACTION" = "post" ] && post_checkout $@ +
lev 2006-09-12 12:46:30 UTC FreeBSD ports repository Modified files: devel/subversion Makefile distinfo pkg-plist devel/subversion/files patch-configure patch-contrib--client-side--asvn Added files: devel/subversion/files patch-build--ltmain.sh patch-build-outputs.mk Removed files: devel/subversion/files patch-ac-helpers::ltmain.sh Log: (1) Update to 1.4.0 release (2) Migrate book to stable version 1.2 (3) Add images to HTML book (4) Add dependency to gfind (findutils) for asvn (5) Improve asvn script PR: ports/99177 [4],[5] Submitted by: David Robillard <david.robillard@gmail.com> [3] Revision Changes Path 1.105 +28 -12 ports/devel/subversion/Makefile 1.47 +48 -9 ports/devel/subversion/distinfo 1.5 +0 -11 ports/devel/subversion/files/patch-ac-helpers::ltmain.sh (dead) 1.1 +11 -0 ports/devel/subversion/files/patch-build--ltmain.sh (new) 1.1 +11 -0 ports/devel/subversion/files/patch-build-outputs.mk (new) 1.12 +6 -6 ports/devel/subversion/files/patch-configure 1.2 +153 -32 ports/devel/subversion/files/patch-contrib--client-side--asvn 1.36 +30 -3 ports/devel/subversion/pkg-plist _______________________________________________ cvs-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/cvs-all To unsubscribe, send any mail to "cvs-all-unsubscribe@freebsd.org"
State Changed From-To: open->closed Committed, thanks!