[PATCH 2/5] build: Use CSafeLoader if available

Chris Johns chrisj at rtems.org
Tue May 23 00:42:27 UTC 2023


On 22/5/2023 6:29 pm, Sebastian Huber wrote:
> On 22.05.23 01:48, Chris Johns wrote:
>>> The support for the CSafeLoader is just about 60 lines of additional code.
>>> It would be a nice improvement for systems supporting this feature. I don't have
>>> time to work on adding PyYAML with libyaml to the RTEMS Tools right now and I
>>> think this would open another maintenance issues. If someone would be unable to
>>> get a yaml module with a CSafeLoader, then he would be no longer able to build
>>> RTEMS.
>> It is not about the size of the implementation, it is about making 2 classes of
>> performance, those with and those without csafe. I am a firm believer all
>> developers and especially core developers need to be using the exact same tools
>> and code our community users are using. We did not always do this and it
>> resulted in the developers being disconnected from the user experience and I
>> decided I would do what I could to avoid this happening again.
> 
> I really don't see the issue here. It is just the way to load the items from the
> file system. This is a very isolated task in the build and having two ways to do
> this is not a big deal from my point of view.

Great, lets not go down this path and we all use the same process.

>> In regards to PyYAML there are a few basic issues with it that I am not sure
>> about. The package can be built without support for the C library even if it is
>> installed. I cannot tell if a pip installed version is using the C YAML package
>> or not. I would like more certainty across our supported hosts before agreeing
>> to us using it.
> 
> I think it is just too complicated to make sure that the user has a PyYAML with
> the CSafeLoader available when RTEMS is built. A more robust approach is a fall
> back to the current implementation if needed.

Maybe we move away from YAML for the build system data? Amar and I originally
had python and INI files.

Chris


More information about the devel mailing list