On Thu, Mar 3, 2011 at 7:54 AM, Richard Purdie <[email protected]> wrote: > On Tue, 2011-03-01 at 12:47 +0100, Esben Haabendal wrote: >> On Mon, 2011-02-28 at 18:53 -0800, Khem Raj wrote: >> > On (23/02/11 16:51), Richard Purdie wrote: >> > > The behaviour of "#" in multiline variables is established but very >> > > confusing for people and can cause data to disappear unexpectedly. >> > > >> > > Currently this construct would drop one of the patches: >> > > >> > > SRC_URI = "http://z/ \ >> > > # file://xxx.patch \ >> > > file://yyy.patch" >> > > >> > > which in that context makes sense and people do use this. On the other >> > > hand people have done things like: >> > > >> > > VARIABLE = "Some text which references the C code: \ >> > > #include "config.h" \ >> > > where we wanted to make some comment" >> > > >> > > and then wondered why the line went missing. Since this is done >> > > silently, it can be hard to even realise there was a problem. >> > > >> > > I've applied a patch in Poky which triggers big warnings about doing >> > > that and also changed the behaviour to include the line instead of >> > > dropping it. I'm not sure whether this change is desirable or not. It >> > > would certainly improve user experience if we didn't special case >> > > commends in multi line strings as its not what people would expect >> > > having used any other language. >> > > >> > > Feedback welcome... >> > >> > would it make sense to treat file:// http:// patch:// etc (SRC_URIs) >> > specially ? and treat # before it >> > as comment but not otherwise and we may ask to escape special >> > characters like # inside strings if they are not supposed to be >> > interpreted by bitbake. If # appears in string and is not above case >> > then we warn about it ? >> >> I think it might be worth the effort to try and apply a bit of >> "Principle of Least Astonishment" [1]. Having different handling of >> characters in strings depending on which variables they are used in >> certainly would seem surprising to some. >> >> [1] http://en.wikipedia.org/wiki/Principle_of_least_astonishment >> >> Going down that path, how would you handle use-cases where a variable is >> appended to SRC_URI. Which '#' handling should be applied to it then? >> If the special SRC_URI handling should be applied, should the same >> variable then result in a different value when applied to other (than >> SRC_URI) variables? >> >> Let's just stick to one way. > > I agree, either we accept comments in multiline variables or we don't > but making it conditional upon some context is just going to make things > worse.
In that case I would say we should avoid comments in multiline vars or may be use a different token than # for bb comments so it does not conflict with shell or python > > Cheers, > > Richard > > _______________________________________________ Bitbake-dev mailing list [email protected] https://lists.berlios.de/mailman/listinfo/bitbake-dev
