Git-Url:
http://git.frugalware.org/gitweb/gitweb.cgi?p=pacman-tools.git;a=commitdiff;h=2d562ccc25133267292305ff268c5dfe65015e81
commit 2d562ccc25133267292305ff268c5dfe65015e81
Author: Miklos Vajna <[EMAIL PROTECTED]>
Date: Thu May 15 01:43:44 2008 +0200
repoman: implement server delete
- the idea behind this is to always call "repoman server <params>" after
ssh and don't try to do everything from client side. this makes the code
more secure and less ugly.
- this commit implements repoman server delete and converts repoman del
to use it.
diff --git a/repoman b/repoman
index 06a734e..b910086 100755
--- a/repoman
+++ b/repoman
@@ -75,30 +75,52 @@ _set_lockname()
fi
}
+server()
+{
+ case "$1" in
+ delete)
+ shift
+ if [ $# -lt 4 ]; then
+ echo "Too few parameters!"
+ echo "usage: repoman server delete user opts path file1
[file2..]"
+ echo "example: repoman server delete "" -v /home/ftp
foo bar"
+ return
+ fi
+ local sudouser="$1" rmopts="$2" path="$3"
+ shift 3
+ if [ -n "$sudouser" ]; then
+ sudo_cmd="$sudo_env -u $sudouser"
+ else
+ sudo_cmd=""
+ fi
+ if [ "${path:0:1}" != "/" ]; then
+ echo "Please use absolute paths in repoman.conf!"
+ return
+ fi
+ cd $path
+ if [ -e .git/lock ]; then
+ echo "Couldn't get lock."
+ return
+ fi
+ for i in "$@"
+ do
+ # strip leading / and any ..
+ $sudo_cmd rm $rmopts "`echo $i|sed 's|^/||;s|\.\./||g'`"
+ done
+ ;;
+ esac
+}
+
delete()
{
- local i files rmopts host
+ local files rmopts host
check_servers
sudouser=$(eval "echo \$${reponame}_sudo")
- if [ -n "$sudouser" ]; then
- sudo_cmd="$sudo_env -u $sudouser"
- else
- sudo_cmd=""
- fi
- # Strip leading / and any ..
- for i in $*
- do
- files="$files `echo $i|sed 's|^/||;s|\.\./||g'`"
- done
if [ "$verbose" != 0 ]; then
rmopts="-v"
fi
- for i in $files
- do
- msg "Deleting file(s): $i"
- _set_lockname
- ssh $host "cd $path; if [ ! -e $lock ]; then $sudo_cmd rm
$rmopts $path/$i; else echo \"Couldn't get lock.\"; fi"
- done
+ msg "Deleting file(s): $*"
+ ssh $host "repoman server delete '$sudouser' '$rmopts' '$path' $*"
}
upload()
@@ -665,6 +687,10 @@ while [ "$1" != "" ]; do
shift 1
delete $*
;;
+ server)
+ shift 1
+ server "$@"
+ ;;
ls|list)
shift 1
list $*
_______________________________________________
Frugalware-git mailing list
[email protected]
http://frugalware.org/mailman/listinfo/frugalware-git