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

commit 03ac68842b4b08a1492e060fa4effb5bb6009fa5
Author: Miklos Vajna <[EMAIL PROTECTED]>
Date:   Thu May 15 03:08:56 2008 +0200

implement repoman server clean

diff --git a/repoman b/repoman
index 086c732..eaa5c7b 100755
--- a/repoman
+++ b/repoman
@@ -222,6 +222,59 @@ server()
arch=$arch $sudo_cmd genchangelog
;;

+               clean)
+               shift
+               if [ $# -lt 4 ]; then
+                       echo "Too few parameters!"
+                       echo "usage: repoman server clean user path fdb group 
pkg arch"
+                       return
+               fi
+               local sudouser="$1" path="$2" fdb="$3" group="$4" pkg="$5" 
arch="$6"
+               shift 6
+               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
+               else
+                       touch .git/lock
+               fi
+               if ! cd source/$group/$pkg; then
+                       echo "There is no package with this group!"
+                       return
+               fi
+               if ! source FrugalBuild; then
+                       echo "Failed to parse the FrugalBuid!"
+                       return
+               fi
+               cd - >/dev/null
+               cd frugalware-$arch
+               if ! _check_nobuild; then
+                       if [ ! -e $fdb ]; then
+                               echo "No package database to clean from!"
+                               return
+                       else
+                               if ! arch=$arch $sudo_cmd updatesync del $fdb 
$pkg; then
+                                       echo "updatesync failed!"
+                                       return
+                               fi
+                       fi
+               fi
+               rm ../.git/lock
+               arch=$arch genchangelog --clean $pkg
+               if [ -d ../source/$group/$pkg ]; then
+                       rm -rfv ../source/$group/$pkg
+               fi
+               ;;
+
*)
echo "Unknown server command!"
;;
_______________________________________________
Frugalware-git mailing list
[email protected]
http://frugalware.org/mailman/listinfo/frugalware-git

Reply via email to