Добавлена проверка запущенного chroot внутри сборки

Mike Khiretskiy 9 years ago
parent 6714e6af98
commit 3a1f640e47

@ -26,7 +26,7 @@ from calculate.lib.utils.files import (
pathJoin, PercentProgress, getProgPath, process, STDOUT, removeDir,
makeDirectory, writeFile, readLinesFile, chmod, chown, FilePermission,
find, FindFileType, removeFileWithEmptyDirectory,
copyWithPath, countFiles, listDirectory)
copyWithPath, countFiles, listDirectory, getRunCommands)
from calculate.lib.utils.git import Git
from calculate.lib.utils.portage import Layman, EmergeLog, EmergeLogNamedTask, \
InstalledPackageInfo, EbuildInfoError, EbuildInfo, ChrootEix, \
@ -984,6 +984,22 @@ class Builder(Update):
"Try to run later.")%build_id)
return True
def check_chroot_run(self):
"""
Проверить наличие chroot процессов
:return:
"""
builder_path = self.clVars.Get('cl_builder_path')
programs = getRunCommands(chroot=builder_path)
if programs:
raise BuilderError(
_("Chrooted {cmd} has already run into {id}").format(
cmd=programs[0].split('\x00')[0],
id=self.clVars.Get('cl_builder_id')
))
return True
def update_menu(self, dn):
with IsoDistributive(dn) as iso:
d = iso.getDirectory()

@ -44,6 +44,8 @@ class ClBuilderBreakAction(Action):
tasks = [
{'name': 'check_build_run',
'method': 'Builder.check_build_run()'},
{'name': 'check_chroot_run',
'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)',

@ -47,6 +47,8 @@ class ClBuilderImageAction(Action):
tasks = [
{'name': 'check_build_run',
'method': 'Builder.check_build_run()'},
{'name': 'check_chroot_run',
'method': 'Builder.check_chroot_run()'},
{'name': 'clear_log',
'method': 'Builder.clear_log(cl_builder_id_path)',
},

@ -45,6 +45,8 @@ class ClBuilderProfileAction(Action):
tasks = [
{'name': 'check_build_run',
'method': 'Builder.check_build_run()'},
{'name': 'check_chroot_run',
'method': 'Builder.check_chroot_run()'},
{'name': 'migrate_repository',
'method': 'Builder.migrateCacheRepository('
'cl_builder_profile_url,cl_builder_profile_branch,'

@ -44,6 +44,8 @@ class ClBuilderRestoreAction(Action):
tasks = [
{'name': 'check_build_run',
'method': 'Builder.check_build_run()'},
{'name': 'check_chroot_run',
'method': 'Builder.check_chroot_run()'},
{'name': 'restore_build',
'message': __("Restoring {cl_builder_id} build"),
'method': 'Builder.restore_build(cl_builder_build)',

@ -65,6 +65,8 @@ class ClBuilderUpdateAction(Action):
tasks = [
{'name': 'check_build_run',
'method': 'Builder.check_build_run()'},
{'name': 'check_chroot_run',
'method': 'Builder.check_chroot_run()'},
{'name': 'clear_log',
'method': 'Builder.clear_log(cl_builder_id_path)',
},

Loading…
Cancel
Save