ports/97457: Problem Report ports/96763 : [PATCH] fixed asvn, a contrib of svn, to work on FreeBSD

ivan.lago at ifom-ieo-campus.it ivan.lago at ifom-ieo-campus.it
Thu May 18 14:20:27 UTC 2006


>Number:         97457
>Category:       ports
>Synopsis:       Problem Report ports/96763 : [PATCH] fixed asvn, a contrib of svn, to work on FreeBSD
>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:   Thu May 18 14:20:18 GMT 2006
>Closed-Date:
>Last-Modified:
>Originator:     Ivan Lago
>Release:        FreeBSD 6.1-RELEASE amd64
>Organization:
European Insitute of Oncology
>Environment:
System: FreeBSD svn1.ifom-ieo-campus.it 6.1-RELEASE FreeBSD 6.1-RELEASE #1: Tue May 9 13:39:04 CEST 2006 root at aaa1.ifom-ieo-campus.it:/usr/obj/usr/src/sys/AAA1 amd64

>Description:
        This patch obsoletes my previous one, that need not to be applied before this. I removed the import part from asvn because the
        correct way of importing if you use  this script is in-place import,as detailed in http://subversion.tigris.org/faq.html#in-place-import

>How-To-Repeat:

>Fix:

--- svn.patch begins here ---
diff -ruN /tmp/subversion/Makefile /usr/ports/devel/subversion/Makefile
--- /tmp/subversion/Makefile	Thu May 18 16:00:26 2006
+++ /usr/ports/devel/subversion/Makefile	Fri May 12 11:02:42 2006
@@ -6,7 +6,7 @@
 
 PORTNAME=	subversion
 PORTVERSION=	1.3.1
-PORTREVISION?=	1
+PORTREVISION?=	0
 CATEGORIES=	devel
 MASTER_SITES=	http://subversion.tigris.org/downloads/:main \
 		http://svnbook.red-bean.com/en/1.1/:bookhtml \
@@ -36,10 +36,6 @@
 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=""
@@ -302,12 +298,6 @@
 	@${ECHO_MSG} "You can install the Subversion Book by defining WITH_BOOK."
 .endif
 	@${ECHO_MSG} ""
-.if defined(WITH_ASVN)
-	@${ECHO_MSG} "asvn will be installed"
-.else
-	@${ECHO_MSG} "You can install asvn from contrib by defining WITH_ASVN"
-.endif
-	@${ECHO_MSG} ""
 	@${ECHO_MSG} "Many useful scripts will be installed into ${PREFIX}/share/subversion"
 
 post-extract:
@@ -384,9 +374,6 @@
 	${INSTALL_DATA} ${DISTDIR}/svn-book.html ${DOCSDIR}/book
 	${INSTALL_DATA} ${DISTDIR}/svn-book.pdf ${DOCSDIR}/book
 .endif
-.endif
-.if defined(WITH_ASVN)
-	${INSTALL_SCRIPT} ${WRKSRC}/contrib/client-side/asvn ${PREFIX}/bin
 .endif
 .if defined(WITH_PERL)
 	cd ${WRKSRC} ; \
diff -ruN /tmp/subversion/files/patch-contrib::client-side::asvn /usr/ports/devel/subversion/files/patch-contrib::client-side::asvn
--- /tmp/subversion/files/patch-contrib::client-side::asvn	Thu May 18 16:05:58 2006
+++ /usr/ports/devel/subversion/files/patch-contrib::client-side::asvn	Thu Jan  1 01:00:00 1970
@@ -1,146 +0,0 @@
---- /usr/ports/devel/subversion/work/subversion-1.3.1/contrib/client-side/asvn	Tue Jun 15 06:02:44 2004
-+++ /tmp/subversion/work/subversion-1.3.1/contrib/client-side/asvn	Thu May 18 16:05:43 2006
-@@ -36,6 +36,7 @@
- #
- #
- #-------------------------------------------------------------------------
-+EDITOR=vi
- SVN=/usr/local/bin/svn
- ACTION=""
- DEV_PROP="dir:devices"
-@@ -46,7 +47,7 @@
- TMPFILE2=/tmp/asvn.tmp2.$$
- PCWD=`/bin/pwd`
- SKIPSVN='\( -name .svn -prune -false \)'
--PRINTDETAILS="-printf \"file='%p' mode=%m user=%u(%U) group=%g(%G)\n\""
-+PRINTDETAILS="-printf \"file='%p' mode=%m user=(%U) group=(%G)\n\""
- 
- 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 @@
- 
- 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
-     do
- 	updatedirsymlinks $1 $dirlist
- 	updatedirdevices $1 $dirlist
-@@ -126,9 +127,9 @@
-     #
-     # 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
-     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'
-@@ -194,10 +195,10 @@
- 	    grep -q "$info" $TMPFILE && continue # This line still matches
- 	    file=`expr "$info" : "file='\(.*\)' "`
- 	    mode=`expr "$info" : ".*' mode=\([0-9]*\) "`
--	    user=`expr "$info" : ".* user=\([^(]*\)("`
--	    uid=`expr "$info" : ".* user=[^(]*(\([0-9]*\) "`
--	    group=`expr "$info" : ".* group=\([^(]*\)("`
--	    gid=`expr "$info" : ".* group=[^(]*(\([0-9]*\) "`
-+#	    user=`expr "$info" : ".* user=\([^(]*\)("`
-+	    uid=`expr "$info" : ".* user=[^(]*(\([0-9]*\)"`
-+#	    group=`expr "$info" : ".* group=\([^(]*\)("`
-+	    gid=`expr "$info" : ".* group=[^(]*(\([0-9]*\)"`
- 	    type=`expr "$info" : ".* type=\(.\)"`
- 	    major=`expr "$info" : ".* major=\([0-9]*\)"`
- 	    minor=`expr "$info" : ".* minor=\([0-9]*\)"`
-@@ -207,7 +208,8 @@
- 	    #
- 	    rm -f $dir/$file
- 	    mknod --mode=$mode $dir/$file $type $major $minor
--	    chown $user:$group $dir/$file
-+#	    chown $user:$group $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 |
- 	sort >$TMPFILE
-     
-     #
-@@ -294,7 +296,7 @@
- 
- 	    if [ -L $dir/$file  ]
- 	    then
--		[ "`find $dir/$file -printf '%l'`" = "$dest" ] && continue
-+		[ "`gfind $dir/$file -printf '%l'`" = "$dest" ] && continue
- 	    fi 
- 	    rm -f $dir/$file
- 	    ln -s $dest $dir/$file
-@@ -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
-     do
- 	device=`expr "$info" : "file='\(.*\)' mode"`
- 	info=`expr "$info" : "file='.*' \(mode.*\)"`
-+	#echo DEBUG: device vale $device
- 	if [ "$PCWD" = "$device" ]
- 	then
- 	    dir="."
- 	    file=""
- 	else
- 	    dir="`basedirname $PCWD $device`"
--	    file="`basename $device`"
-+	    file=`basename "$device"`
- 	fi
- 	# see if the properties have changed.
--	if [ "`$SVN propget $FILE_PROP $dir/$file`" != "$info" ]
-+	if [ "`$SVN propget $FILE_PROP \"$dir/$file\"`" != "$info" ]
- 	then
- 	    if [ "$CHECKIN" = "true" ]
- 	    then
--		$SVN propset $FILE_PROP  "$info" $dir/$file
-+		$SVN propset $FILE_PROP  "$info" "$dir/$file"
- 	    else
- 		info=`$SVN propget $FILE_PROP "$dir/$file"`
- 		mode=`expr "$info" : "mode=\([0-9]*\) "`
--		user=`expr "$info" : ".* user=\([^(]*\)("`
--		uid=`expr "$info" : ".* user=[^(]*(\([0-9]*\) "`
--		group=`expr "$info" : ".* group=\([^(]*\)("`
--		gid=`expr "$info" : ".* group=[^(]*(\([0-9]*\) "`
--		if  [ "$user" = "" -o "$group" = ""  -o "$mode" = "" ]
-+#		user=`expr "$info" : ".* user=\([^(]*\)("`
-+		uid=`expr "$info" : ".* user=[^(]*(\([0-9]*\)"`
-+#		group=`expr "$info" : ".* group=\([^(]*\)("`
-+		gid=`expr "$info" : ".* group=[^(]*(\([0-9]*\)"`
-+		if  [ "$uid" = "" -o "$gid" = ""  -o "$mode" = "" ]
- 		then
- 		    echo "property $FILE_PROP not set for $dir/$file"
- 		else
--		    chown $user:$group  $dir/$file
--		    chmod $mode $dir/$file
-+#	    		chown $user:$group $dir/$file
-+		    chown $uid:$gid  "$dir/$file"
-+		    chmod $mode "$dir/$file"
- 		fi
- 	    fi
- 	fi
-@@ -364,8 +368,9 @@
-     if [ "$CHDIR" = "true" ]
-     then
- 	shift $(($# -1))
--	cd $1
--    PCWD="$PCWD/$1"
-+        WD=`echo $1 | sed "s/\/$//" | awk -F "/" '{print $(NF)}' `
-+        cd $WD
-+        PCWD="$PCWD/$WD"
-     fi
-     recorddirinfo 
-     recordpermissions 
--- svn.patch ends here ---


>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the freebsd-ports-bugs mailing list