Рефакторинг

parent b417c51a20
commit 91f46a0a5b

@ -638,9 +638,15 @@ class Builder(Update):
return decor
def rebuild_changed_packages(self, builder_path, repository_data):
def get_rebuild_changed_packages(self, builder_path, repository_data):
"""
Пересобрать изменённые пакеты
Получить пакеты ebuild которых изменились
Перебираем все пакеты из var/db/pkg (а именно получаем поля из
environment.bz2)
и сравниваем эти поля с полями из metadata/md5-cache для пакетов.
Таким образом в список не попадут те пакеты, у которых RDEPEND и DEPEND
были изменены динамически например при исправлении "автомагии"
"""
var_db_path = path.join(builder_path, 'var/db/pkg')
map_rep = {k: pathJoin(builder_path, v)
@ -657,7 +663,13 @@ class Builder(Update):
except EbuildInfoError:
pass
rebuild_list = map(lambda x: "=%s" % x, rebuild_generator())
return ["=%s" % x for x in rebuild_generator()]
def rebuild_changed_packages(self, builder_path, repository_data):
"""
Пересобрать изменённые пакеты
"""
rebuild_list = self.get_rebuild_changed_packages(builder_path, repository_data)
if rebuild_list:
return self.emerge_ask(False, "-1", *rebuild_list)
return True

Loading…
Cancel
Save