<div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Nov 2, 2022 at 10:10 AM Gedare Bloom <<a href="mailto:gedare@rtems.org">gedare@rtems.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On Wed, Nov 2, 2022 at 1:10 AM Christian MAUDERER<br>
<<a href="mailto:christian.mauderer@embedded-brains.de" target="_blank">christian.mauderer@embedded-brains.de</a>> wrote:<br>
><br>
> Hello Chris,<br>
><br>
> Am 01.11.22 um 22:08 schrieb Chris Johns:<br>
> > On 2/11/2022 3:25 am, <a href="mailto:oss@c-mauderer.de" target="_blank">oss@c-mauderer.de</a> wrote:> Is it a good idea to make it a<br>
> > mandatory attribute? It makes the yaml files<br>
> >> bigger. It will only mean that we have to look for copy and paste bugs instead<br>
> >> of missing attributes if someone adds a new third party library.<br>
> ><br>
> > Can you avoid having to add the item to all? I am no spec build system expert<br>
> > (having invested time) and seem to remember needing to hit a lot of files when<br>
> > adding something ...<br>
> ><br>
> > <a href="https://git.rtems.org/rtems/commit/?id=6f2aa8ad36e3aaffc9fa2cb8c744b04da7339ee2" rel="noreferrer" target="_blank">https://git.rtems.org/rtems/commit/?id=6f2aa8ad36e3aaffc9fa2cb8c744b04da7339ee2</a><br>
> ><br>
> > Chris<br>
><br>
> The documentation mentions at least some optional attributes in the<br>
> specification files. For example "format" in a build option item or the<br>
> "do-configure" in a build script item:<br>
><br>
> <a href="https://docs.rtems.org/branches/master/eng/req/items.html#build-option-item-type" rel="noreferrer" target="_blank">https://docs.rtems.org/branches/master/eng/req/items.html#build-option-item-type</a><br>
> <a href="https://docs.rtems.org/branches/master/eng/req/items.html#build-script-item-type" rel="noreferrer" target="_blank">https://docs.rtems.org/branches/master/eng/req/items.html#build-script-item-type</a><br>
><br>
> But I think the wscript has to take into account that the value might<br>
> not exist. I'm not sure whether it does that for the existing "optional"<br>
> attributes. For example my first guess would be that the "do-configure"<br>
> could throw a KeyError:<br>
><br>
> <a href="https://git.rtems.org/rtems/tree/wscript#n1127" rel="noreferrer" target="_blank">https://git.rtems.org/rtems/tree/wscript#n1127</a><br>
><br>
>      def do_configure(self, conf, cic):<br>
>          script = self.data["do-configure"]<br>
>          if script:<br>
>              exec(script)<br>
><br>
> Usually I would have expected the following code instead:<br>
><br>
>      def do_configure(self, conf, cic):<br>
>          try:<br>
>              script = self.data["do-configure"]<br>
>          except KeyError:<br>
>              script = None<br>
>          if script:<br>
>              exec(script)<br>
><br>
Thanks for this recommendation and the discussion/example. Indeed, the<br>
plumbing right now in the wscript is not very robust to optional<br>
attributes. For this particular third-party attribute I will take a<br>
stab at making it optional.<br>
<br>
I think the additional metadata we would like to track regarding<br>
third-party sources can be added incrementally or even separately. I<br>
would like to first solve the problem of how to separate third-party<br>
from project-owned sources. Once that is done, then we can discuss<br>
more ways to improve or use this capability.<br></blockquote><div><br></div><div>Are you thinking of a more distinct placement of third party sources</div><div>in the source tree?  like a cpukit/thirdparty/... sub-tree?</div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
> So I can't clearly answer your question. I would have to try it. But<br>
> regardless whether there are currently such options or not: They<br>
> shouldn't be hard to implement. I just hope that this doesn't break some<br>
> use case. I'll try to remember to ask Sebastian about it next week.<br>
><br>
Thanks, I will appreciate that feedback and any tricky things to watch out for.<br>
<br>
> Best regards<br>
><br>
> Christian<br>
> --<br>
> --------------------------------------------<br>
> embedded brains GmbH<br>
> Herr Christian MAUDERER<br>
> Dornierstr. 4<br>
> 82178 Puchheim<br>
> Germany<br>
> email:  <a href="mailto:christian.mauderer@embedded-brains.de" target="_blank">christian.mauderer@embedded-brains.de</a><br>
> phone:  +49-89-18 94 741 - 18<br>
> mobile: +49-176-152 206 08<br>
><br>
> Registergericht: Amtsgericht München<br>
> Registernummer: HRB 157899<br>
> Vertretungsberechtigte Geschäftsführer: Peter Rasmussen, Thomas Dörfler<br>
> Unsere Datenschutzerklärung finden Sie hier:<br>
> <a href="https://embedded-brains.de/datenschutzerklaerung/" rel="noreferrer" target="_blank">https://embedded-brains.de/datenschutzerklaerung/</a><br>
_______________________________________________<br>
devel mailing list<br>
<a href="mailto:devel@rtems.org" target="_blank">devel@rtems.org</a><br>
<a href="http://lists.rtems.org/mailman/listinfo/devel" rel="noreferrer" target="_blank">http://lists.rtems.org/mailman/listinfo/devel</a></blockquote></div></div>