Bug 99177 - [ports/subversion] Added findutils as a dependency if WITH_ASVN is specified. Deleted in the asvn script an instruction that generates a syntax error
Summary: [ports/subversion] Added findutils as a dependency if WITH_ASVN is specified....
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: Normal Affects Only Me
Assignee: Lev A. Serebryakov
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-06-19 11:50 UTC by ivan.lago
Modified: 2006-09-12 13:50 UTC (History)
0 users

See Also:


Attachments
svn.patch (1.33 KB, patch)
2006-06-19 11:50 UTC, ivan.lago
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description ivan.lago 2006-06-19 11:50:24 UTC
	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
Comment 1 Edwin Groothuis freebsd_committer freebsd_triage 2006-06-19 12:24:26 UTC
Class Changed
From-To: maintainer-update->change-request

Fix category (submitter is not maintainer)
Comment 2 Edwin Groothuis freebsd_committer freebsd_triage 2006-06-19 12:24:41 UTC
Responsible Changed
From-To: freebsd-ports-bugs->lev

Over to maintainer
Comment 3 ivan.lago 2006-07-10 10:55:34 UTC
Maintainer ping
Comment 4 netcore 2006-09-11 16:16:13 UTC
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 $@
+
Comment 5 dfilter service freebsd_committer freebsd_triage 2006-09-12 13:46:40 UTC
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"
Comment 6 Lev A. Serebryakov freebsd_committer freebsd_triage 2006-09-12 13:48:10 UTC
State Changed
From-To: open->closed

Committed, thanks!