[PATCH] sb/set-builder: Fix staging and tar file generation with a single config build

Christian MAUDERER christian.mauderer at embedded-brains.de
Thu Sep 29 11:45:51 UTC 2022


Hello Chris,

thanks for the quick patch. With this qemu and microblaze work again 
like expected.

I tested all tools starting with devel/* and from the ones that work 
only devel/autotools-internal didn't generate a tar archive. But that 
one has a comment "Do not use via the command line" in the bset file so 
that is most likely fine.

Some of other devel/* packages didn't build in my test setup, but I have 
never tested or used them before so that is probably a problem of my 
build environment or maybe a known bug.

Best regards

Christian

Am 29.09.22 um 10:52 schrieb chrisj at rtems.org:
> From: Chris Johns <chrisj at rtems.org>
> 
> Closes #4730
> ---
>   source-builder/sb/setbuilder.py | 22 ++++++----------------
>   1 file changed, 6 insertions(+), 16 deletions(-)
> 
> diff --git a/source-builder/sb/setbuilder.py b/source-builder/sb/setbuilder.py
> index 3e16111..5921eed 100644
> --- a/source-builder/sb/setbuilder.py
> +++ b/source-builder/sb/setbuilder.py
> @@ -433,19 +433,11 @@ class buildset:
>           interrupted = False
>   
>           #
> -        # If this is the outter most buildset it's files are installed. Nested
> -        # build sets staged their installed file. The staged files are install
> -        # when the outtter most build finishes.
> +        # If installing switch to staging. Not sure if this is still
> +        # needed.
>           #
> -        if nesting_count != 1:
> -            if self.installing():
> -                self.macros['install_mode'] = 'staging'
> -
> -        #
> -        # Only the outter build set can have staging to install. Get the staging
> -        # root via the config because it could require a valid config.
> -        #
> -        have_staging = False
> +        if self.installing():
> +            self.macros['install_mode'] = 'staging'
>   
>           try:
>               configs = self.load()
> @@ -453,7 +445,7 @@ class buildset:
>               log.trace('_bset: %2d: %s: configs: %s'  % (nesting_count,
>                                                           self.bset, ', '.join(configs)))
>   
> -            if nesting_count == 1 and len(configs) > 1:
> +            if nesting_count == 1:
>                   #
>                   # Prepend staging areas, bin directory to the
>                   # path. Lets the later package depend on the earlier
> @@ -485,8 +477,6 @@ class buildset:
>                                                            '=' * (74 - len(configs[s]))))
>                           bs = buildset(configs[s], self.configs, opts, macros)
>                           bs.build(deps, nesting_count, mail)
> -                        if self.installing():
> -                            have_staging = True
>                           del bs
>                       elif configs[s].endswith('.cfg'):
>                           if mail:
> @@ -620,7 +610,7 @@ class buildset:
>               #
>               # If builds have been staged install into the final prefix.
>               #
> -            if have_staging and not have_errors:
> +            if not have_errors:
>                   stagingroot = macro_expand(self.macros, '%{stagingroot}')
>                   have_stagingroot = path.exists(stagingroot)
>                   do_install = not self.opts.no_install()

-- 
--------------------------------------------
embedded brains GmbH
Herr Christian MAUDERER
Dornierstr. 4
82178 Puchheim
Germany
email:  christian.mauderer at embedded-brains.de
phone:  +49-89-18 94 741 - 18
mobile: +49-176-152 206 08

Registergericht: Amtsgericht München
Registernummer: HRB 157899
Vertretungsberechtigte Geschäftsführer: Peter Rasmussen, Thomas Dörfler
Unsere Datenschutzerklärung finden Sie hier:
https://embedded-brains.de/datenschutzerklaerung/


More information about the devel mailing list