From 29d3940b1965ed5a739bd1f59de685b8caadf5e1 Mon Sep 17 00:00:00 2001 From: fuzzyray Date: Sat, 16 Feb 2008 20:35:18 +0000 Subject: [PATCH] Apply patch for revdep-rebuild portable find function. (Bug 194234) svn path=/; revision=460 --- trunk/src/revdep-rebuild/revdep-rebuild | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/trunk/src/revdep-rebuild/revdep-rebuild b/trunk/src/revdep-rebuild/revdep-rebuild index f71562f..70c4931 100755 --- a/trunk/src/revdep-rebuild/revdep-rebuild +++ b/trunk/src/revdep-rebuild/revdep-rebuild @@ -76,17 +76,18 @@ rm() { # of various versions of -perm /+ blah blah and hacks find() { hash find || { die 1 'find not found!'; } - # We can be pretty sure "$0" should be executable. - if [[ $(command find "$0" -executable 2> /dev/null) ]]; then + # We can be pretty sure find itself should be executable. + local testsubject="$(type -P find)" + if [[ $(command find "$testsubject" -executable 2> /dev/null) ]]; then unset -f find # We can just use the command find - elif [[ $(command find "$0" -perm /u+x 2> /dev/null) ]]; then + elif [[ $(command find "$testsubject" -perm /u+x 2> /dev/null) ]]; then find() { a=(${@//-executable/-perm \/u+x}) a=(${a[@]//-writable/-perm \/u+w}) a=(${a[@]//-readable/-perm \/r+w}) command find "${a[@]}" } - elif [[ $(command find "$0" -perm +u+x 2> /dev/null) ]]; then + elif [[ $(command find "$testsubject" -perm +u+x 2> /dev/null) ]]; then find() { a=(${@//-executable/-perm +u+x}) a=(${a[@]//-writable/-perm +u+w}) @@ -368,7 +369,7 @@ get_search_env() { # HACK: This is a rather noisy, but portable way to implement -quit while read LIST; do break # Set LIST - done < <(find $HOME/ /var/tmp/ /tmp/ -writable) + done < <(find $HOME/ /var/tmp/ /tmp/ -writable -print) [[ $LIST ]] || die 1 "Unable to find a satisfactory location for temporary files" -- 2.26.2