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