[GSoC 2020]: Need help in writing sed alternative in Python for RSB recipes

Heinz Junkes junkes at fhi-berlin.mpg.de
Mon Aug 24 14:34:40 UTC 2020


Thanks Chris for the explanation. It all makes sense.

I stumbled over the following point:

I tested the rc-2 and followed the Quick Guide to Building.
“
To build the tools for the ARM architecture:

../source-builder/sb-set-builder \
  --prefix=$HOME/development/rtems/5.1-rc2 \
  5/rtems-arm

To build the tools, kernel and all packages for the Beagleboneblack:

../source-builder/sb-set-builder \
  --prefix=$HOME/development/rtems/5.1-rc2 \
  5/bsps/beagleboneblack
“

After that I tried to build EPICS and ran into the error of a missing header file.
“librtemsNFS.h could not be found”
This header file is in rtems-libbsd which I then had to reinstall and build for the target.

Then I thought about whether a recipe could/should consider this dependency.

Viele Grüße
Heinz Junkes
--
Experience directly varies with equipment ruined.



> On 24. Aug 2020, at 01:59, Chris Johns <chrisj at rtems.org> wrote:
> 
> On 24/8/20 12:38 am, Heinz Junkes wrote:
>> But shouldn't the dependencies for the RTEMS basic installation
>> be taken into account. 
> 
> Dependences are normally checked by the application, package or tool being
> built. In the case of EPICS it should check for a suitable RTEMS, libbsd etc and
> configure itself. Given the high quality of the EPICS software I have assumed it
> does this. The RSB can perform some checks but these are limited and specific.
> If we need to we can add something.
> 
> The RSB builds something based on a recipe someone creates. You can collect one
> or more of these recipes as a set of things to build. You can collect sets of
> things to build as a further set creating a vertical stack of software. A
> vertical stack is one of those classic software stack pictures with the hardware
> at the bottom, then the drivers and OS, networking, protocols, middle-ware and
> an application at the top.
> 
> The RSB is a tool in the RTEMS eco-system that can build a vertical stack for a
> BSP, for example a beagleboneblack or zedboard or you can break down a vertical
> stack to manage and customise any of the steps for your specific needs.
> 
> Customising the steps lets a project, company, who ever create a build set that
> targets a specific configuration for a selected board or sets of boards. A
> company, a large organisation or EPICS can also do this. We call it deployment.
> 
> As an open source project we learnt a hard lesson that supporting deployment is
> a whole project in itself. Deploy is really important but it became a
> distraction from our core focus, the OS and the kernel, consuming more and more
> of our resources. As a result we have focused on tools that help users do this.
> We also welcome commercial support services to do this for users.
> 
>> Maybe I don't understand the purpose of the source-builder.
> 
> This could be due to it's role not being explained clearly. I hope this post helps.
> 
>> But I thought that the necessary rtems-modules (compiler for architecture, libbsd, etc.) are checked and if something is missing, they are installed?
> 
> The depends on the how the vertical stack is put together. The EPICS build set
> should concentrate on EPICS. Now Mritunjay has included the RSB's
> `rtems-bsp.cfg` BSP configuration file some checks will be made. Once we have
> EPICS building as a package we can move to discuss if it becomes part of the
> default package set the BSPs build set's build:
> 
> https://git.rtems.org/rtems-source-builder/tree/rtems/config/6/rtems-packages.bset
> 
> The packages are pull in on the last line of of a BSP build set:
> 
> https://git.rtems.org/rtems-source-builder/tree/rtems/config/bsps/xilinx_zynq_zedboard.bset
> 
> Integration like this has and still is a long term goal Joel and I have. We
> would like EPICS to sit here with NASA's core flight executive so the bar is as
> low as possible to have these important software packages build ready to run.
> 
>> And when do the tests (epics: make runtests and qemu) come into play? 
> 
> This is something we will need to address. The RSB cleans a build environment
> once it completes a build. The model is unpack source, patch, configure, build,
> install, and then clean. In the case of the RTEMS kernel the test executables
> are optionally installed so a user can run them:
> 
> https://git.rtems.org/rtems-source-builder/tree/rtems/config/tools/rtems-kernel-common.cfg#n255
> 
> How is EPICS used in real systems? Is the production executable built by EPICS
> from the EPICS source tree? Is it a set of libraries that get installed and an
> application links in these libraries?
> 
> Chris

-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 5300 bytes
Desc: not available
URL: <http://lists.rtems.org/pipermail/devel/attachments/20200824/7936ffcd/attachment.bin>


More information about the devel mailing list