Change to project/trunk,tags,branches style

This commit is contained in:
Faik Uygur
2009-10-14 12:42:24 +00:00
commit 54e89f07b4
1121 changed files with 136747 additions and 0 deletions
+103
View File
@@ -0,0 +1,103 @@
#!/usr/bin/python
# -*- coding: utf-8 -*-
#
# Copyright (C) 2005, 2006 TUBITAK/UEKAE
#
# This program is free software; you can redistribute it and/or modify it under
# the terms of the GNU General Public License as published by the Free
# Software Foundation; either version 2 of the License, or (at your option)
# any later version.
#
# Please read the COPYING file.
import os
import sys
import glob
import string
import shutil
import pisi.util as util
from pisi.version import Version
def findUnneededFiles(listdir):
dict = {}
for f in listdir:
try:
name, version = util.parse_package_name(f)
if dict.has_key(name):
if Version(dict[name]) < Version(version):
dict[name] = version
else:
if version:
dict[name] = version
except:
pass
for f in dict:
listdir.remove("%s-%s" % (f, dict[f]))
return listdir
def doit(root, listdir, clean, suffix = ""):
for f in listdir:
target = os.path.join(root, "%s%s" % (f, suffix))
if os.path.exists(target):
print "%s%s" % (f, suffix)
if clean == True:
try:
if os.path.isdir(target):
shutil.rmtree(target)
else:
os.remove(target)
except OSError,e :
usage("Permission denied: %s" % e)
def cleanPisis(clean, root = '/var/cache/pisi/packages'):
# pisi packages
list = map(lambda x: os.path.basename(x).split(".pisi")[0], glob.glob("%s/*.pisi" % root))
list.sort()
l = findUnneededFiles(list)
doit(root, l, clean, ".pisi")
def cleanBuilds(clean, root = '/var/pisi'):
# Build remnant
list = []
for f in os.listdir(root):
if os.path.isdir(os.path.join(root, f)):
list.append(f)
l = findUnneededFiles(list)
doit(root, l, clean)
def usage(msg):
print """
Error: %s
Usage:
cleanCache --dry-run (Shows unneeded files)
cleanCache --clean (Removes unneeded files)
""" % msg
sys.exit(1)
if __name__ == "__main__":
try:
sys.argv[1]
except IndexError:
usage("Unsufficient arguments...")
if "--dry-run" in sys.argv:
clean = False
elif "--clean" in sys.argv:
clean = True
else:
usage("No command given...")
sys.exit(0)
if "builds" in sys.argv:
cleanBuilds(clean)
else:
cleanPisis(clean)