shell: Handle --keep-config-unchanged with existing skip mechanism
This makes the body of the Shell.run function closely match Build.run so that we can factor out common code. Signed-off-by: Paul Barker <pbarker@konsulko.com> Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
This commit is contained in:
parent
c408e89ef1
commit
451a51f94a
@ -82,11 +82,20 @@ class Shell:
|
|||||||
ctx = create_global_context(args)
|
ctx = create_global_context(args)
|
||||||
ctx.config = Config(args.config)
|
ctx.config = Config(args.config)
|
||||||
|
|
||||||
|
if args.keep_config_unchanged:
|
||||||
|
# Skip the tasks which would change the config of the build
|
||||||
|
# environment
|
||||||
|
args.skip += [
|
||||||
|
'setup_dir',
|
||||||
|
'finish_setup_repos',
|
||||||
|
'repos_apply_patches',
|
||||||
|
'write_bbconfig',
|
||||||
|
]
|
||||||
|
|
||||||
macro = Macro()
|
macro = Macro()
|
||||||
|
|
||||||
# Prepare
|
# Prepare
|
||||||
if not args.keep_config_unchanged:
|
macro.add(SetupDir())
|
||||||
macro.add(SetupDir())
|
|
||||||
|
|
||||||
if 'SSH_PRIVATE_KEY' in os.environ:
|
if 'SSH_PRIVATE_KEY' in os.environ:
|
||||||
macro.add(SetupSSHAgent())
|
macro.add(SetupSSHAgent())
|
||||||
@ -97,15 +106,13 @@ class Shell:
|
|||||||
repo_loop.add(SetupReposStep())
|
repo_loop.add(SetupReposStep())
|
||||||
|
|
||||||
macro.add(repo_loop)
|
macro.add(repo_loop)
|
||||||
if not args.keep_config_unchanged:
|
macro.add(FinishSetupRepos())
|
||||||
macro.add(FinishSetupRepos())
|
|
||||||
|
|
||||||
macro.add(SetupEnviron())
|
macro.add(SetupEnviron())
|
||||||
macro.add(SetupHome())
|
macro.add(SetupHome())
|
||||||
|
macro.add(ReposApplyPatches())
|
||||||
|
|
||||||
if not args.keep_config_unchanged:
|
macro.add(WriteBBConfig())
|
||||||
macro.add(ReposApplyPatches())
|
|
||||||
macro.add(WriteBBConfig())
|
|
||||||
|
|
||||||
# Shell
|
# Shell
|
||||||
macro.add(ShellCommand(args.command))
|
macro.add(ShellCommand(args.command))
|
||||||
|
Loading…
Reference in New Issue
Block a user