Verilen depouyu gez fazla olan tarbalları sil, buildfarm ile ftp'yi senkron tutmak için
This commit is contained in:
Executable
+63
@@ -0,0 +1,63 @@
|
|||||||
|
#!/usr/bin/python
|
||||||
|
#
|
||||||
|
# Copyright (C) 2005, 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 pisi.uri
|
||||||
|
import pisi.specfile
|
||||||
|
|
||||||
|
def scanPSPEC(folder):
|
||||||
|
packages = []
|
||||||
|
for root, dirs, files in os.walk(folder):
|
||||||
|
if "pspec.xml" in files:
|
||||||
|
packages.append(root)
|
||||||
|
# dont walk into the versioned stuff
|
||||||
|
if ".svn" in dirs:
|
||||||
|
dirs.remove(".svn")
|
||||||
|
return packages
|
||||||
|
|
||||||
|
def cleanArchives(file):
|
||||||
|
try:
|
||||||
|
os.remove("/var/cache/pisi/archives/%s" % file)
|
||||||
|
except OSError:
|
||||||
|
print("Permission denied...")
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
try:
|
||||||
|
packages = scanPSPEC(sys.argv[1])
|
||||||
|
except:
|
||||||
|
print "Usage: cleanArchives.py path2repo"
|
||||||
|
sys.exit(1)
|
||||||
|
|
||||||
|
if "--dry-run" in sys.argv:
|
||||||
|
clean = False
|
||||||
|
elif "--clean" in sys.argv:
|
||||||
|
clean = True
|
||||||
|
else:
|
||||||
|
sys.exit(0)
|
||||||
|
|
||||||
|
files = []
|
||||||
|
for package in packages:
|
||||||
|
spec = pisi.specfile.SpecFile()
|
||||||
|
spec.read(os.path.join(package, "pspec.xml"))
|
||||||
|
|
||||||
|
URI = pisi.uri.URI(spec.source.archive.uri)
|
||||||
|
files.append(URI.filename())
|
||||||
|
|
||||||
|
archiveFiles = os.listdir("/var/cache/pisi/archives/")
|
||||||
|
unneededFiles = set(archiveFiles) - set(files)
|
||||||
|
|
||||||
|
for i in unneededFiles:
|
||||||
|
if not clean:
|
||||||
|
print("/var/cache/pisi/archives/%s" % i)
|
||||||
|
else:
|
||||||
|
cleanArchives("/var/cache/pisi/archives/%s" % i)
|
||||||
Reference in New Issue
Block a user