|
|
|
@ -648,6 +648,24 @@ class Builder(Update):
|
|
|
|
|
"""
|
|
|
|
|
Вывести информацию об обновлении
|
|
|
|
|
"""
|
|
|
|
|
return self.emerge_list(
|
|
|
|
|
self.ListAction.Ask if not pretend else self.ListAction.OnlyShow,
|
|
|
|
|
*params)
|
|
|
|
|
|
|
|
|
|
class ListAction(object):
|
|
|
|
|
Ask = "ask"
|
|
|
|
|
OnlyShow = "only_show"
|
|
|
|
|
ShowAndRun = "show_and_run"
|
|
|
|
|
|
|
|
|
|
def emerge_list(self, action, *params):
|
|
|
|
|
"""
|
|
|
|
|
Выполнить сборку пакетов с предварительным отображением списка
|
|
|
|
|
:param action: действия ask - спросить перед продолжением
|
|
|
|
|
only_show - только отобразить
|
|
|
|
|
show_and_run - отобразить и запустить
|
|
|
|
|
:param params:
|
|
|
|
|
:return:
|
|
|
|
|
"""
|
|
|
|
|
deo = self.get_default_emerge_opts()
|
|
|
|
|
param = [x for x in params if x.startswith("-")]
|
|
|
|
|
packages = [x for x in params if not x.startswith("-")]
|
|
|
|
@ -667,13 +685,13 @@ class Builder(Update):
|
|
|
|
|
self._display_install_package(emerge, emergelike)
|
|
|
|
|
if emerge.skipped_packages:
|
|
|
|
|
self._display_error(emerge.skipped_packages)
|
|
|
|
|
if not pretend:
|
|
|
|
|
if action is self.ListAction.Ask:
|
|
|
|
|
answer = self.askConfirm(
|
|
|
|
|
_("Would you like to merge these packages?"), "yes")
|
|
|
|
|
if answer == "no":
|
|
|
|
|
emerge.command.send("no\n")
|
|
|
|
|
raise KeyboardInterrupt
|
|
|
|
|
else:
|
|
|
|
|
elif action is self.ListAction.OnlyShow:
|
|
|
|
|
return True
|
|
|
|
|
else:
|
|
|
|
|
self.printSUCCESS(_("Nothing to merge"))
|
|
|
|
@ -784,9 +802,11 @@ class Builder(Update):
|
|
|
|
|
"""
|
|
|
|
|
Пересобрать изменённые пакеты
|
|
|
|
|
"""
|
|
|
|
|
rebuild_list = self.get_rebuild_changed_packages(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 self.emerge_list(self.ListAction.ShowAndRun,
|
|
|
|
|
"-1", *rebuild_list)
|
|
|
|
|
return True
|
|
|
|
|
|
|
|
|
|
class Driver(object):
|
|
|
|
|