mirror of
https://git.rtems.org/rtems-source-builder
synced 2024-10-09 07:15:10 +08:00
sb/set-bulder: Fix installing builds when a single buildset
- Always stage a build - Install if installable and outter most buildset instance Closes #4730
This commit is contained in:
@@ -227,7 +227,7 @@ class buildset:
|
|||||||
return self.install_mode() == 'installing'
|
return self.install_mode() == 'installing'
|
||||||
|
|
||||||
def installable(self):
|
def installable(self):
|
||||||
return not self.opts.no_install() or self.staging()
|
return not self.opts.no_install() and self.installing()
|
||||||
|
|
||||||
def staging(self):
|
def staging(self):
|
||||||
return not self.installing()
|
return not self.installing()
|
||||||
@@ -436,7 +436,7 @@ class buildset:
|
|||||||
# If installing switch to staging. Not sure if this is still
|
# If installing switch to staging. Not sure if this is still
|
||||||
# needed.
|
# needed.
|
||||||
#
|
#
|
||||||
if self.installing():
|
if nesting_count > 1 and self.installing():
|
||||||
self.macros['install_mode'] = 'staging'
|
self.macros['install_mode'] = 'staging'
|
||||||
|
|
||||||
try:
|
try:
|
||||||
@@ -538,10 +538,10 @@ class buildset:
|
|||||||
#
|
#
|
||||||
# Installing or staging ...
|
# Installing or staging ...
|
||||||
#
|
#
|
||||||
log.trace('_bset: %2d: %s: deps:%r no-install:%r' % \
|
log.trace('_bset: %2d: mode: %s: deps:%r no-install:%r' % \
|
||||||
(nesting_count, self.install_mode(),
|
(nesting_count, self.install_mode(),
|
||||||
deps is None, self.opts.no_install()))
|
deps is None, self.opts.no_install()))
|
||||||
log.trace('_bset: %2d: %s: builds: %s' % \
|
log.trace('_bset: %2d: mode: %s: builds: %s' % \
|
||||||
(nesting_count, self.install_mode(),
|
(nesting_count, self.install_mode(),
|
||||||
', '.join([b.name() for b in builds])))
|
', '.join([b.name() for b in builds])))
|
||||||
if deps is None and not have_errors:
|
if deps is None and not have_errors:
|
||||||
@@ -551,10 +551,9 @@ class buildset:
|
|||||||
if b.installable():
|
if b.installable():
|
||||||
prefix = b.config.expand('%{_prefix}')
|
prefix = b.config.expand('%{_prefix}')
|
||||||
buildroot = path.join(b.config.expand('%{buildroot}'), prefix)
|
buildroot = path.join(b.config.expand('%{buildroot}'), prefix)
|
||||||
if self.staging():
|
self.install('staging', b.name(), buildroot, b.config.expand('%{stagingroot}'))
|
||||||
prefix = b.config.expand('%{stagingroot}')
|
|
||||||
if self.installable():
|
if self.installable():
|
||||||
self.install(self.install_mode(), b.name(), buildroot, prefix)
|
self.install('installing', b.name(), buildroot, prefix)
|
||||||
#
|
#
|
||||||
# Sizes ...
|
# Sizes ...
|
||||||
#
|
#
|
||||||
@@ -610,7 +609,7 @@ class buildset:
|
|||||||
#
|
#
|
||||||
# If builds have been staged install into the final prefix.
|
# If builds have been staged install into the final prefix.
|
||||||
#
|
#
|
||||||
if not have_errors:
|
if self.installing() and not have_errors:
|
||||||
stagingroot = macro_expand(self.macros, '%{stagingroot}')
|
stagingroot = macro_expand(self.macros, '%{stagingroot}')
|
||||||
have_stagingroot = path.exists(stagingroot)
|
have_stagingroot = path.exists(stagingroot)
|
||||||
do_install = not self.opts.no_install()
|
do_install = not self.opts.no_install()
|
||||||
|
Reference in New Issue
Block a user