eobuilder-ctl: debug smart cleanning
This commit is contained in:
parent
fb7e28533e
commit
fbe943ab17
|
@ -27,7 +27,7 @@ def smart_cleaning(files_path):
|
||||||
key=lambda x: os.stat(x).st_mtime)
|
key=lambda x: os.stat(x).st_mtime)
|
||||||
for filename in project_files[project]:
|
for filename in project_files[project]:
|
||||||
if nb_versions > settings.MIN_PACKAGE_VERSIONS and \
|
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)
|
os.remove(filename)
|
||||||
nb_versions -= 1
|
nb_versions -= 1
|
||||||
|
|
||||||
|
@ -47,17 +47,24 @@ def clean(method):
|
||||||
shutil.rmtree(settings.ORIGIN_PATH)
|
shutil.rmtree(settings.ORIGIN_PATH)
|
||||||
elif method == "locks":
|
elif method == "locks":
|
||||||
shutil.rmtree(settings.LOCK_PATH)
|
shutil.rmtree(settings.LOCK_PATH)
|
||||||
elif method == "old":
|
elif method == "smart":
|
||||||
# TODO: remove this return
|
|
||||||
return
|
|
||||||
results_files = []
|
results_files = []
|
||||||
origin_files = [os.path.join(settings.ORIGIN_PATH, f) \
|
origin_files = [os.path.join(settings.ORIGIN_PATH, f) \
|
||||||
for f in os.listdir(settings.ORIGIN_PATH)]
|
for f in os.listdir(settings.ORIGIN_PATH)]
|
||||||
for root, dirs, files in os.walk(settings.PBUILDER_RESULT):
|
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(results_files)
|
||||||
smart_cleaning(origin_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():
|
def init():
|
||||||
print "+ Init EO Builder"
|
print "+ Init EO Builder"
|
||||||
|
|
|
@ -1,3 +1,3 @@
|
||||||
#!/bin/sh
|
#!/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
|
||||||
|
|
|
@ -44,7 +44,7 @@ def parse_cmdline():
|
||||||
action="extend", type="string",
|
action="extend", type="string",
|
||||||
dest="cleanning", metavar='CLEANNING_METHODS',
|
dest="cleanning", metavar='CLEANNING_METHODS',
|
||||||
default=[],
|
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()
|
(options, args) = parser.parse_args()
|
||||||
|
|
||||||
|
|
|
@ -11,7 +11,7 @@ DEBIAN_VERSIONS = {
|
||||||
"lenny": "50"
|
"lenny": "50"
|
||||||
}
|
}
|
||||||
|
|
||||||
# Cleaning
|
# Smart Cleaning
|
||||||
# Keep at least X package versions by project
|
# Keep at least X package versions by project
|
||||||
MIN_PACKAGE_VERSIONS = 5
|
MIN_PACKAGE_VERSIONS = 5
|
||||||
# Keep a package version during minum X days
|
# Keep a package version during minum X days
|
||||||
|
|
Loading…
Reference in New Issue