|
|
|
@ -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:
|
|
|
|
|