[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