diff --git a/pym/builder/builder.py b/pym/builder/builder.py index 057186c..6ebf1c6 100644 --- a/pym/builder/builder.py +++ b/pym/builder/builder.py @@ -89,7 +89,7 @@ class Builder(Update): target.reserve() return True - def close_build(self, build, clear=False): + def close_build(self, build, clear=False, clear_pkg=False): """ @type build:Build """ @@ -99,6 +99,7 @@ class Builder(Update): if clear: build.distributive.post_clear() pkgdir = self.clVars.Get('cl_builder_pkgdir') + if clear_pkg: if '/remote/' in pkgdir: if path.exists(pkgdir): removeDir(pkgdir) diff --git a/pym/builder/utils/cl_builder_break.py b/pym/builder/utils/cl_builder_break.py index 9fadab1..72c6096 100644 --- a/pym/builder/utils/cl_builder_break.py +++ b/pym/builder/utils/cl_builder_break.py @@ -48,7 +48,8 @@ class ClBuilderBreakAction(Action): 'method': 'Builder.check_chroot_run()'}, {'name': 'close_build', 'message': __("Breaking {cl_builder_id} build"), - 'method': 'Builder.close_build(cl_builder_build,cl_builder_clear_set)', + 'method': 'Builder.close_build(cl_builder_build,cl_builder_clear_set,' + 'cl_builder_clear_pkg_set)', 'condition': lambda Get: Get('cl_builder_build') }, {'name': 'failed', diff --git a/pym/builder/variables/builder.py b/pym/builder/variables/builder.py index 3e503c4..d6928ee 100644 --- a/pym/builder/variables/builder.py +++ b/pym/builder/variables/builder.py @@ -461,6 +461,18 @@ class VariableClBuilderClearSet(Variable): self.label = _("Clear after unmount") self.help = _("clear data after unmount") +class VariableClBuilderClearPkgSet(Variable): + """ + Удалять бинарные пакеты при отключении сборки + """ + type = "bool" + value = "on" + opt = ["--clear-pkg"] + + def init(self): + self.label = _("Clear binary packages after unmount") + self.help = _("clear binary packages after unmount") + class VariableClBuilderBuild(Variable): """ diff --git a/pym/builder/wsdl_builder.py b/pym/builder/wsdl_builder.py index 6e6ffc1..cd2c4ec 100644 --- a/pym/builder/wsdl_builder.py +++ b/pym/builder/wsdl_builder.py @@ -133,7 +133,8 @@ class Wsdl(WsdlBase): 'groups': [ lambda group: group(_("Break the Build"), normal=('cl_builder_prepared_id', - 'cl_builder_clear_set'), + 'cl_builder_clear_set', + 'cl_builder_clear_pkg_set'), brief=('os_builder_linux_fullname',), next_label=_("Perform"))], 'brief': {'next': __("Perform"),