From cc436fe4b4a31c81750acbe66beae4a5f728fa6f Mon Sep 17 00:00:00 2001 From: Mike Khiretskiy Date: Thu, 3 Sep 2015 11:36:32 +0300 Subject: [PATCH] =?UTF-8?q?=D0=98=D0=B7=D0=BC=D0=B5=D0=BD=D0=B5=D0=BD=20?= =?UTF-8?q?=D1=81=D0=BF=D0=B8=D1=81=D0=BE=D0=BA=20=D0=B4=D0=BE=D1=81=D1=82?= =?UTF-8?q?=D1=83=D0=BF=D0=BD=D1=8B=D1=85=20=D1=83=D1=81=D1=82=D1=80=D0=BE?= =?UTF-8?q?=D0=B9=D1=81=D1=82=D0=B2=20=D0=BF=D1=80=D0=B8=20=D1=81=D0=B1?= =?UTF-8?q?=D0=BE=D1=80=D0=BA=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pym/builder/variables/builder.py | 25 +++++++++++++++++++++++-- pym/builder/wsdl_builder.py | 11 ++++++----- 2 files changed, 29 insertions(+), 7 deletions(-) diff --git a/pym/builder/variables/builder.py b/pym/builder/variables/builder.py index 226b33b..0abb4af 100644 --- a/pym/builder/variables/builder.py +++ b/pym/builder/variables/builder.py @@ -200,6 +200,11 @@ class VariableClBuilderSource(ReadonlyVariable): return filename.getType() return filename +class VariableClBuilderPreparePath(Variable): + """ + Путь по умолчанию для собираемой системы + """ + value = "/var/calculate/builder" class VariableClBuilderDiskDev(Variable): """ @@ -214,16 +219,32 @@ class VariableClBuilderDiskDev(Variable): self.label = _("Build location") self.help = _("partition or directory intended for build") + def get_builder_image_dn(self): + if self.Get('os_root_type') != "livecd": + default_path = self.Get('cl_builder_prepare_path') + for i in range(1,9999): + dn = "image%d"%i + full_dn = path.join(default_path, dn) + if not path.exists(full_dn) or not isMount(full_dn): + return full_dn + else: + return "" + return "" + def get(self): ds = self.Get('cl_builder_device_spool') - return ds.get() or "" + return ds.get() or self.get_builder_image_dn() def choice(self): devices = self.Select( 'install.os_disk_dev', where='install.os_disk_mount', eq='') devices = [x for x in devices if not isMount(x)] - return devices + default_dn = self.get_builder_image_dn() + if default_dn: + return [default_dn] + devices + else: + return devices def check(self, value): if not value: diff --git a/pym/builder/wsdl_builder.py b/pym/builder/wsdl_builder.py index fb2749a..a347250 100644 --- a/pym/builder/wsdl_builder.py +++ b/pym/builder/wsdl_builder.py @@ -74,12 +74,12 @@ class Wsdl(WsdlBase): # Подготовить новую сборку lambda group: group(_("Prepare the New Build"), # Исходный образ (Source image) - normal=('cl_builder_source_filename', - # Место сборки - # (Build location) - 'cl_builder_disk_dev',), + normal=('cl_builder_source_filename',), # Идентификатор сборки (Build ID) - expert=(# Использовать слои для сборки + expert=(# Место сборки + # (Build location) + 'cl_builder_disk_dev', + # Использовать слои для сборки # Use layers for build 'cl_builder_layered_set', 'cl_builder_new_id', @@ -88,6 +88,7 @@ class Wsdl(WsdlBase): 'cl_dispatch_conf'), hide=('cl_templates_locate', 'cl_verbose_set', + 'cl_builder_disk_dev', 'cl_builder_new_id', 'cl_dispatch_conf'), brief=('cl_builder_source_filename',