From ef5035ef426e2a974fc3a9ec0a9517eed4eca362 Mon Sep 17 00:00:00 2001 From: Mike Khiretskiy Date: Thu, 10 Sep 2015 13:58:46 +0300 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D1=8F?= =?UTF-8?q?=D0=B5=D1=82=D1=81=D1=8F=20=D0=BE=D0=B1=D0=BD=D0=BE=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=BC=D0=B5=D0=BD=D1=8E=20isolinux?= =?UTF-8?q?=20=D0=BF=D0=BE=D1=81=D0=BB=D0=B5=20rebuild?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pym/builder/utils/cl_builder_image.py | 7 ++++++- pym/builder/variables/action.py | 4 +++- pym/builder/variables/builder.py | 29 +++++++++++++++++++++------ pym/builder/variables/images.py | 3 +++ 4 files changed, 35 insertions(+), 8 deletions(-) diff --git a/pym/builder/utils/cl_builder_image.py b/pym/builder/utils/cl_builder_image.py index 221c7e2..e2dab46 100644 --- a/pym/builder/utils/cl_builder_image.py +++ b/pym/builder/utils/cl_builder_image.py @@ -144,7 +144,12 @@ class ClBuilderImageAction(Action): 'warning': _("Restore build system resources"), 'method': 'Builder.mount_target(cl_builder_target)', 'condition': lambda Get: Get('cl_builder_build') - },] + }, + {'name': 'update_menu', + 'message': "Rescratch", + 'condition': lambda Get: Get('cl_builder_rescratch_set') == 'on' + } + ] }, {'name': 'failed', 'error': __("Creating the image is failed"), diff --git a/pym/builder/variables/action.py b/pym/builder/variables/action.py index 534280b..f15a80a 100644 --- a/pym/builder/variables/action.py +++ b/pym/builder/variables/action.py @@ -36,6 +36,7 @@ class Actions: ImageSquash = "squash" ImageIso = "iso" + ImageMenu = "menu" PrepareAssemble = "prepare" class VariableAcBuilderSquash(ReadonlyVariable): @@ -57,7 +58,8 @@ class VariableAcBuilderIso(ReadonlyVariable): def get(self): action = self.Get("cl_action") image_action = self.Get('cl_builder_action') - if action == Actions.Image and image_action == Actions.ImageIso: + if action == Actions.Image and image_action in (Actions.ImageIso, + Actions.ImageMenu): return "on" return "off" diff --git a/pym/builder/variables/builder.py b/pym/builder/variables/builder.py index 2d6810e..b8513cd 100644 --- a/pym/builder/variables/builder.py +++ b/pym/builder/variables/builder.py @@ -701,8 +701,9 @@ class VariableClBuilderImageFilename(Variable): metavalue = "IMAGE" untrusted = True - live_base_dn = '/run/initramfs/live/iso' - hdd_base_dn = '/var/calculate/linux' + flash_base_dn = '/run/initramfs/live/iso' + flash_iso_base_dn = '/run/initramfs/isoscan/iso' + default_base_dn = '/var/calculate/linux' def init(self): self.label = _("Image path") @@ -721,10 +722,12 @@ class VariableClBuilderImageFilename(Variable): def get(self): build_id = self.Get('cl_builder_id') - if self.Get('os_root_type') != 'livecd': - base_dn = self.hdd_base_dn - else: - base_dn = self.live_base_dn + base_dn = self.default_base_dn + + if self.Get('os_root_type') == 'livecd': + if self.Get('cl_flash_set') == 'on': + base_dn = self.flash_base_dn + # TODO: для iso-scan из flash if build_id: imagename = self._isoname() return path.join(base_dn, imagename) @@ -1205,3 +1208,17 @@ class VariableClBuilderRebuildChangedSet(Variable): self.help = _("rebuild changed packages") self.label = _("Rebuild changed packages") +class VariableClBuilderRescratchSet(ReadonlyVariable): + """ + Сборка iso образа на самой флешке + """ + type = "bool" + + def get(self): + if self.Get('cl_flash_set') == 'on': + isoimage = self.Get('cl_builder_image_filename') + var = VariableClBuilderImageFilename + if (isoimage.startswith(var.flash_base_dn) or + isoimage.startswith(var.flash_iso_base_dn)): + return "on" + return "off" diff --git a/pym/builder/variables/images.py b/pym/builder/variables/images.py index 4755797..eebac8d 100644 --- a/pym/builder/variables/images.py +++ b/pym/builder/variables/images.py @@ -27,6 +27,7 @@ from calculate.install.variables.system import VariableOsInstallX11ServerSet from builder import (VariableClBuilderPath, VariableClBuilderKernel, VariableClBuilderKernelVer, VariableClBuilderInitrdInstall, VariableClBuilderVideoDriverPath, VariableClBuilderVideodrvSet) +from action import Actions _ = lambda x:x @@ -158,6 +159,8 @@ class VariableClBuilderImageData(ReadonlyTableVariable): pass def get(self, hr=False): + if self.Get('cl_builder_action') != Actions.ImageMenu: + return [[]] return list(self.generator())