Detect a Cxc build from the options and automatically disabled installing.

This is similar to always providing --no-install on the command when building
a Cxc package.
This commit is contained in:
Chris Johns 2015-01-18 11:24:11 +11:00
parent 0392c5fe6c
commit 3963ac4aae
2 changed files with 17 additions and 2 deletions

View File

@ -297,6 +297,10 @@ class command_line:
rsb_macros = path.join(os.environ['HOME'], '.rsb_macros')
if path.exists(rsb_macros):
self.defaults.load(rsb_macros)
# If a Cxc build disable installing.
if self.canadian_cross():
self.opts['no-install'] = '1'
self.defaults['_no_install'] = '1'
def sb_git(self):
repo = git.repo(self.defaults.expand('%{_sbdir}'), self)
@ -360,6 +364,15 @@ class command_line:
def no_install(self):
return self.opts['no-install'] != '0'
def canadian_cross(self):
_host = self.defaults.expand('%{_host}')
_build = self.defaults.expand('%{_build}')
_target = self.defaults.expand('%{_target}')
if len(_target):
return len(_host) and len(_build) and (_target) and \
_host != _build and _host != _target
return len(_host) and len(_build) and _host != _build
def user_macros(self):
#
# Return something even if it does not exist.

View File

@ -458,8 +458,10 @@ def run():
deps = None
if not list_bset_cfg_files(opts, configs):
prefix = opts.defaults.expand('%{_prefix}')
if not opts.dry_run() and not opts.no_install() and \
not path.ispathwritable(prefix):
if not opts.dry_run() and \
not not opts.canadian_cross() and \
not opts.no_install() and \
not path.ispathwritable(prefix):
raise error.general('prefix is not writable: %s' % (path.host(prefix)))
for bset in opts.params():
setbuilder_error = True