eobuilder-ctl: debug smart cleanning

This commit is contained in:
Jérôme Schneider 2014-02-26 22:01:47 +01:00
parent fb7e28533e
commit fbe943ab17
4 changed files with 16 additions and 9 deletions

View File

@ -27,7 +27,7 @@ def smart_cleaning(files_path):
key=lambda x: os.stat(x).st_mtime)
for filename in project_files[project]:
if nb_versions > settings.MIN_PACKAGE_VERSIONS and \
os.stat(project).st_mime < now - settings.MIN_AGE * 86400:
os.stat(filename).st_mtime < now - settings.MIN_AGE * 86400:
os.remove(filename)
nb_versions -= 1
@ -47,17 +47,24 @@ def clean(method):
shutil.rmtree(settings.ORIGIN_PATH)
elif method == "locks":
shutil.rmtree(settings.LOCK_PATH)
elif method == "old":
# TODO: remove this return
return
elif method == "smart":
results_files = []
origin_files = [os.path.join(settings.ORIGIN_PATH, f) \
for f in os.listdir(settings.ORIGIN_PATH)]
for root, dirs, files in os.walk(settings.PBUILDER_RESULT):
results_files.extend(files)
for fname in files:
results_files.append(os.path.join(root, fname))
smart_cleaning(results_files)
smart_cleaning(origin_files)
now = time.time()
for root, dirs, files in os.walk(settings.PBUILDER_RESULT):
for fname in files:
fname = os.path.join(root, fname)
if os.stat(fname).st_mtime < now - 365 * 86400:
os.remove(fname)
else:
error("Cleanning: unknow '%s' option" % method)
def init():
print "+ Init EO Builder"

View File

@ -1,3 +1,3 @@
#!/bin/sh
su eobuilder -p -c "/usr/local/bin/eobuilder -c old" > /dev/null
su eobuilder -p -c "/usr/local/bin/eobuilder -c smart" > /dev/null

View File

@ -44,7 +44,7 @@ def parse_cmdline():
action="extend", type="string",
dest="cleanning", metavar='CLEANNING_METHODS',
default=[],
help="CLEANNING_METHODS: git, deb, archives, old and / or all")
help="CLEANNING_METHODS: git, deb, archives, smart and / or all")
(options, args) = parser.parse_args()

View File

@ -11,7 +11,7 @@ DEBIAN_VERSIONS = {
"lenny": "50"
}
# Cleaning
# Smart Cleaning
# Keep at least X package versions by project
MIN_PACKAGE_VERSIONS = 5
# Keep a package version during minum X days