[PATCH] wscript: Update install directory to include RTEMS Version

Chris Johns chrisj at rtems.org
Wed Feb 21 02:09:59 UTC 2024


Hi,

Looks good with the addition of a loop shown befow.

Did you install into a clean path and test the BSP list can be reported in
rtems-test?

Chris

On 20/2/2024 2:27 pm, aaron.nyholm at unfoldedeffective.com wrote:
> From: Aaron N <aaron at contemporary.software>
> 
> Closes #4929
> ---
>  config/wscript         | 2 +-
>  linkers/wscript        | 2 +-
>  misc/tools/boot.py     | 2 +-
>  misc/wscript           | 4 ++--
>  rtemstoolkit/macros.py | 3 +++
>  rtemstoolkit/wscript   | 4 ++--
>  tester/covoar/wscript  | 4 ++--
>  tester/rt/options.py   | 2 +-
>  tester/wscript         | 8 ++++----
>  wscript                | 3 ++-
>  10 files changed, 19 insertions(+), 15 deletions(-)
> 
> diff --git a/config/wscript b/config/wscript
> index 6ae6226..d3d77aa 100644
> --- a/config/wscript
> +++ b/config/wscript
> @@ -39,6 +39,6 @@ def build(bld):
>      # Install the configuration files.
>      #
>      config = bld.path.find_dir('.')
> -    bld.install_files('${PREFIX}/share/rtems/config',
> +    bld.install_files('${PREFIX_SHARE_RTEMS}/config',
>                        config.ant_glob('**/*.ini'), cwd = config,
>                        relative_trick = True)
> diff --git a/linkers/wscript b/linkers/wscript
> index 2d2d7f0..5d9c5cf 100644
> --- a/linkers/wscript
> +++ b/linkers/wscript
> @@ -114,7 +114,7 @@ def build(bld):
>                  cxxflags = conf['cxxflags'] + conf['warningflags'],
>                  linkflags = conf['linkflags'],
>                  use = modules)
> -    bld.install_files('${PREFIX}/share/rtems/trace-linker',
> +    bld.install_files('${PREFIX_SHARE_RTEMS}/trace-linker',
>                        ['libc.ini',
>                         'libc-heap.ini',
>                         'rtems.ini',
> diff --git a/misc/tools/boot.py b/misc/tools/boot.py
> index 6e8065a..c6e40f8 100644
> --- a/misc/tools/boot.py
> +++ b/misc/tools/boot.py
> @@ -138,7 +138,7 @@ class bootloader(object):
>          if path.exists(path.join(command_path, boot_ini)):
>              rtdir = command_path
>          else:
> -            rtdir = '%{_prefix}/share/rtems'
> +            rtdir = '%{PREFIX_SHARE_RTEMS}'
>          boot_ini = '%s/%s' % (rtdir, boot_ini)
>          self.build = None
>          self.macros = macros.macros(rtdir = rtdir, show_minimal = True)
> diff --git a/misc/wscript b/misc/wscript
> index 5775dcf..0e4dd1d 100644
> --- a/misc/wscript
> +++ b/misc/wscript
> @@ -82,13 +82,13 @@ def build(bld):
>                    'tools/getmac/__init__.py',
>                    'tools/getmac/getmac.py'],
>          install_from = '.',
> -        install_path = '${PREFIX}/share/rtems/misc')
> +        install_path = '${PREFIX_SHARE_RTEMS}/misc')
>      bld.install_files('${PREFIX}/bin',
>                        ['rtems-boot-image',
>                         'rtems-tftp-proxy',
>                         'tools/mkimage.py'],
>                        chmod = 0o755)
> -    bld.install_files('${PREFIX}/share/rtems/tools/config',
> +    bld.install_files('${PREFIX_SHARE_RTEMS}/tools/config',
>                        'tools/config/rtems-boot.ini')
>  
>  def tags(ctx):
> diff --git a/rtemstoolkit/macros.py b/rtemstoolkit/macros.py
> index 136f52d..fb235d9 100644
> --- a/rtemstoolkit/macros.py
> +++ b/rtemstoolkit/macros.py
> @@ -43,6 +43,7 @@ import string
>  from rtemstoolkit import error
>  from rtemstoolkit import log
>  from rtemstoolkit import path
> +from rtemstoolkit import version
>  
>  #
>  # Macro tables
> @@ -92,6 +93,8 @@ class macros:
>              self.rtpath = path.abspath(path.dirname(inspect.getfile(macros)))
>              if path.dirname(self.rtpath).endswith('/share/rtems'):
>                  self.prefix = path.dirname(self.rtpath)[:-len('/share/rtems')]
> +            elif path.dirname(self.rtpath).endswith('/share/rtems' + version()):
> +                self.prefix = path.dirname(self.rtpath)[:-len('/share/rtems' + version())]

Could this be a loop on a list of paths? eg

 for p in ['/share/rtems', '/share/rtems' + version()]:
     ....

>              else:
>                  self.prefix = '.'
>              self.macros['global'] = {}
> diff --git a/rtemstoolkit/wscript b/rtemstoolkit/wscript
> index d1d5127..ac3521c 100644
> --- a/rtemstoolkit/wscript
> +++ b/rtemstoolkit/wscript
> @@ -158,8 +158,8 @@ def build(bld):
>                    'version.py',
>                    'windows.py'],
>          install_from = '.',
> -        install_path = '${PREFIX}/share/rtems/rtemstoolkit')
> -    bld.install_files('${PREFIX}/share/rtems/rtemstoolkit',
> +        install_path = '${PREFIX_SHARE_RTEMS}/rtemstoolkit')
> +    bld.install_files('${PREFIX_SHARE_RTEMS}/rtemstoolkit',
>                        'python-wrapper.sh',
>                        relative_trick = True)
>  
> diff --git a/tester/covoar/wscript b/tester/covoar/wscript
> index 8dab4d8..f5ff071 100644
> --- a/tester/covoar/wscript
> +++ b/tester/covoar/wscript
> @@ -135,8 +135,8 @@ def build(bld):
>      bld.program(target = 'covoar',
>                  source = ['covoar.cc'],
>                  use = ['ccovoar'] + modules,
> -                install_path = '${PREFIX}/share/rtems/tester/bin',
> +                install_path = '${PREFIX_SHARE_RTEMS}/tester/bin',
>                  cflags = ['-O2', '-g'],
>                  cxxflags = ['-std=c++11', '-O2', '-g'],
>                  includes = ['.'] + rtl_includes)
> -    bld.install_files('${PREFIX}/share/rtems/tester/covoar', ['covoar.css', 'table.js'])
> +    bld.install_files('${PREFIX_SHARE_RTEMS}/tester/covoar', ['covoar.css', 'table.js'])
> diff --git a/tester/rt/options.py b/tester/rt/options.py
> index da743c1..ab920d1 100644
> --- a/tester/rt/options.py
> +++ b/tester/rt/options.py
> @@ -93,7 +93,7 @@ def load(args, optargs = None,
>      if path.exists(path.join(command_path, defaults_mc)):
>          rtdir = command_path
>      else:
> -        rtdir = '%{_prefix}/share/rtems/tester'
> +        rtdir = '%{PREFIX_SHARE_RTEMS}/tester'
>      defaults = '%s/%s' % (rtdir, defaults_mc)
>      #
>      # The command line contains the base defaults object all build objects copy
> diff --git a/tester/wscript b/tester/wscript
> index 06eaccf..00107b1 100644
> --- a/tester/wscript
> +++ b/tester/wscript
> @@ -70,13 +70,13 @@ def build(bld):
>                    'rt/tftpserver.py',
>                    'rt/wait.py'],
>          install_from = '.',
> -        install_path = '${PREFIX}/share/rtems/tester')
> +        install_path = '${PREFIX_SHARE_RTEMS}/tester')
>      bld(features = 'py',
>          source = ['rt/pygdb/__init__.py',
>                    'rt/pygdb/mi_parser.py',
>                    'rt/pygdb/spark.py'],
>          install_from = '.',
> -        install_path = '${PREFIX}/share/rtems/tester')
> +        install_path = '${PREFIX_SHARE_RTEMS}/tester')
>      bld.install_files('${PREFIX}/bin',
>                        ['rtems-run',
>                         'rtems-test',
> @@ -88,11 +88,11 @@ def build(bld):
>      # Install the tester configuration files.
>      #
>      config = bld.path.find_dir('config')
> -    bld.install_files('${PREFIX}/share/rtems/tester/config',
> +    bld.install_files('${PREFIX_SHARE_RTEMS}/tester/config',
>                        config.ant_glob('**/*'), cwd = config,
>                        relative_trick = True)
>      rtems = bld.path.find_dir('rtems')
> -    bld.install_files('${PREFIX}/share/rtems/tester/rtems',
> +    bld.install_files('${PREFIX_SHARE_RTEMS}/tester/rtems',
>                        rtems.ant_glob('**/*'), cwd = rtems,
>                        relative_trick = True)
>  
> diff --git a/wscript b/wscript
> index 293409a..111ed30 100644
> --- a/wscript
> +++ b/wscript
> @@ -89,6 +89,7 @@ def configure(ctx):
>      except:
>          pass
>      ctx.env.RTEMS_VERSION, ctx.env.RTEMS_RELEASE = get_version(ctx)
> +    ctx.env.PREFIX_SHARE_RTEMS = '%s/share/rtems%s' % (ctx.env.PREFIX, ctx.env.RTEMS_VERSION)
>      ctx.start_msg('Version')
>      ctx.end_msg('%s (%s)' % (ctx.env.RTEMS_RELEASE, ctx.env.RTEMS_VERSION))
>      ctx.env.C_OPTS = ctx.options.c_opts.split(',')
> @@ -113,7 +114,7 @@ def configure(ctx):
>  
>  def build(ctx):
>      if os.path.exists('VERSION'):
> -        ctx.install_files('${PREFIX}/share/rtems/rtemstoolkit', ['VERSION'])
> +        ctx.install_files('${PREFIX_SHARE_RTEMS}/rtemstoolkit', ['VERSION'])
>      recurse(ctx)
>      if ctx.cmd == 'test':
>          rtemstoolkit_tests(ctx)


More information about the devel mailing list