summaryrefslogtreecommitdiff
path: root/morphlib/app.py
diff options
context:
space:
mode:
authorSam Thursfield <sam.thursfield@codethink.co.uk>2013-01-28 14:57:39 +0000
committerSam Thursfield <sam.thursfield@codethink.co.uk>2013-03-13 15:20:02 +0000
commitb7f69986034afef8a792839fac601caa0f20d55a (patch)
tree1ff1f9b9b02ee0e68f54ab91dbf6203cc31ebd8c /morphlib/app.py
parent79a6f05bbf70a4fa10b1b426ef9f223d5cbaf3ee (diff)
downloadmorph-b7f69986034afef8a792839fac601caa0f20d55a.tar.gz
Remove features used by old bootstrap method
That means that bootstrapping Baserock is currently not possible with this branch of Morph, but there's no reason it cannot be bootstrapped using an older version of Morph instead.
Diffstat (limited to 'morphlib/app.py')
-rwxr-xr-xmorphlib/app.py56
1 files changed, 32 insertions, 24 deletions
diff --git a/morphlib/app.py b/morphlib/app.py
index 87710ee5..c8b9b911 100755
--- a/morphlib/app.py
+++ b/morphlib/app.py
@@ -105,16 +105,7 @@ class Morph(cliapp.Application):
default=None,
group=group_advanced)
- # Build Options
group_build = 'Build Options'
- self.settings.boolean(['bootstrap'],
- 'build stuff in bootstrap mode; this is '
- 'DANGEROUS and will install stuff on your '
- 'system',
- group=group_build)
- self.settings.boolean(['keep-path'],
- 'do not touch the PATH environment variable',
- group=group_build)
self.settings.integer(['max-jobs'],
'run at most N parallel jobs with make (default '
'is to a value based on the number of CPUs '
@@ -135,20 +126,6 @@ class Morph(cliapp.Application):
'always push temporary build branches to the '
'remote repository',
group=group_build)
- self.settings.boolean(['staging-chroot'],
- 'build things in an isolated chroot '
- '(default: true)',
- group=group_build)
- self.settings.string_list(['staging-filler'],
- 'use FILE as contents of build chroot',
- metavar='FILE',
- group=group_build)
- self.settings.string(['target-cflags'],
- 'inject additional CFLAGS into the environment '
- 'that is used to build chunks',
- metavar='CFLAGS',
- default='',
- group=group_build)
self.settings.string(['tempdir'],
'temporary directory to use for builds '
'(this is separate from just setting $TMPDIR '
@@ -159,13 +136,36 @@ class Morph(cliapp.Application):
metavar='DIR',
default=os.environ.get('TMPDIR'),
group=group_build)
+
+ # Would be better to have a separate tool to cross-bootstrap
+ # because it's completely outside normal Morph usage
+ group_bootstrap = 'Bootstrap Options'
+ self.settings.string(['target-cflags'],
+ 'inject additional CFLAGS into the environment '
+ 'that is used to build chunks',
+ metavar='CFLAGS',
+ default='',
+ group=group_bootstrap)
self.settings.string(['toolchain-target'],
'set the TOOLCHAIN_TARGET variable which is used '
'in some chunks to determine which architecture '
'to build tools for',
metavar='TOOLCHAIN_TARGET',
default=defaults['toolchain-target'],
- group=group_build)
+ group=group_bootstrap)
+
+ # These cannot be removed just yet because existing morph.conf files
+ # would fail to parse.
+ group_obsolete = 'Obsolete Options'
+ self.settings.boolean(['staging-chroot'],
+ 'build things in an isolated chroot '
+ '(default: true)',
+ default=True,
+ group=group_obsolete)
+ self.settings.string_list(['staging-filler'],
+ 'use FILE as contents of build chroot',
+ metavar='FILE',
+ group=group_obsolete)
def check_time(self):
# Check that the current time is not far in the past.
@@ -179,6 +179,14 @@ class Morph(cliapp.Application):
def process_args(self, args):
self.check_time()
+ # Handle obsolete options
+ if self.settings['staging-chroot'] is not True:
+ raise cliapp.AppException(
+ 'The "staging-chroot" option has been set to False. This '
+ 'option is obsolete and should be left as the default (True).')
+ if self.settings['staging-filler'] is not None:
+ logging.warning('Use of a staging filler is deprecated.')
+
# Combine the aliases into repo-alias before passing on to normal
# command processing. This means everything from here on down can
# treat settings['repo-alias'] as the sole source of prefixes for git