Git-Url: 
http://git.frugalware.org/gitweb/gitweb.cgi?p=pacman-tools.git;a=commitdiff;h=13a0d2eca383f06b5c019b71d3027a848b0d88ef

commit 13a0d2eca383f06b5c019b71d3027a848b0d88ef
Author: crazy <cr...@frugalware.org>
Date:   Tue Feb 16 20:05:29 2010 +0100

repoman
* replace ssh , scp with repoman_{ssh,scp}
* scp part for tunnels is now a bit hacky and
* only works over localhost see comments in code

diff --git a/repoman b/repoman
index 14a0cbc..f382929 100755
--- a/repoman
+++ b/repoman
@@ -305,7 +305,7 @@ delete()
verbose=""
fi
msg "Deleting file(s): $*"
-       ssh $host "$sudo_cmd repoman server delete '$verbose' '$path' $*"
+       $repoman_ssh $host "$sudo_cmd repoman server delete '$verbose' '$path' 
$*"
}

upload()
@@ -348,12 +348,24 @@ upload()
fi
name=`basename $src`
msg "Requesting a temporary file"
-               tmp=`ssh $host "$sudo_cmd repoman server mktemp"`
+               tmp=`$repoman_ssh $host "$sudo_cmd repoman server mktemp"`
[ -z "$tmp" ] && exit 1
-               msg "Uploading file: $src (to $tmp)"
-               scp $src $host:$tmp
+               if [  "$REPOMAN_USE_TUNNEL" == "yes" ]; then
+                       ## Fix me ? well since we use something like:
+                       ## local -> genesis ( genesis acts like tunnel for 
itself )
+                       ## or remote_box -> genesis , local -> remote_box we 
are always
+                       ## using 127.0.0.1 .. scp -S really sucks and I get a 
lot problems
+                       ## with rsync -e with all this tunneling =)
+                       ## the other solution may be to force host when tunnel 
is used to be u...@127.0.0.1
+                       ## since -p <port> u...@local gives out u...@genesis ..
+                       msg "Uploading file: $src (to $tmp) over local tunnel."
+                        $repoman_scp $src 127.0.0.1:$tmp
+                else
+                       msg "Uploading file: $src (to $tmp)"
+                        $repoman_scp $src $host:$tmp
+                fi
sha=`sha1sum $src|sed 's/\(.*\)  .*/\1/'`
-               ssh $host "$sudo_cmd repoman server upload '$path' '$tmp' 
'$sha' '$dest/$src'"
+               $repoman_ssh $host "$sudo_cmd repoman server upload '$path' 
'$tmp' '$sha' '$dest/$src'"
done
}

@@ -376,7 +388,7 @@ fpmmerge()
mergearchs="`rsync -vP $srcurl/|grep ^d.*frugalware-|sed 's/.* //'`"
for i in $mergearchs
do
-               ssh $host "$sudo_cmd repoman server rsync '$path' 
'${srcurl#*:}' '${i//frugalware-}'"
+               $repoman_ssh $host "$sudo_cmd repoman server rsync '$path' 
'${srcurl#*:}' '${i//frugalware-}'"
done

# now push
@@ -398,7 +410,7 @@ list()
check_servers
check_sudo
msg "Fetching contents of: $*"
-       ssh $host "$sudo_cmd repoman server list '$path' $*"
+       $repoman_ssh $host "$sudo_cmd repoman server list '$path' $*"
}

split_group_pkg()
@@ -422,7 +434,7 @@ clean()
do
msg "Cleaning up $i"
split_group_pkg $i
-               ssh $host "$sudo_cmd repoman server clean '$path' '$fdb' 
'$group' '$pkg'"
+               $repoman_ssh $host "$sudo_cmd repoman server clean '$path' 
'$fdb' '$group' '$pkg'"
done
}

@@ -437,7 +449,7 @@ changelog()
check_sudo
fdb=$(eval "echo \$${reponame}_fdb")
[ -z "$fdb" ] && fdb="$reponame.fdb"
-       ssh $host "$sudo_cmd repoman server changelog '$path' '$fdb' '$group' 
'$pkg' '$arch'"
+       $repoman_ssh $host "$sudo_cmd repoman server changelog '$path' '$fdb' 
'$group' '$pkg' '$arch'"
}

_keypress()
@@ -568,7 +580,7 @@ srcdel()
srclocal=(${srcloc...@]} ${signatur...@]})
if [ "$F_makepkg_scm" = "git" ]; then
check_servers
-               for i in $(ssh $host "[ -d $path/$mydir ] && cd $path/$mydir && 
git ls-files --others --directory")
+               for i in $($repoman_ssh $host "[ -d $path/$mydir ] && cd 
$path/$mydir && git ls-files --others --directory")
do
if ! echo ${srcloc...@]} |grep -q $i && ! _is_log $i && [ "$i" != "Changelog" 
]; then
dry_run delete $mydir/$i
_______________________________________________
Frugalware-git mailing list
Frugalware-git@frugalware.org
http://frugalware.org/mailman/listinfo/frugalware-git

Reply via email to