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

Gedare Bloom gedare at rtems.org
Mon Aug 24 16:17:46 UTC 2020


On Mon, Aug 24, 2020 at 8:34 AM Heinz Junkes <junkes at fhi-berlin.mpg.de> wrote:
>
> 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.
>
I believe 5/bsps/beagleboneblack should build and install the libbsd
with it. Something may have gone wrong?

> 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.
> >
This is excellent and should be refactored to add in
https://docs.rtems.org/branches/master/user/rsb/index.html#source-builder

> >> 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
>


More information about the devel mailing list