Re: [V4, 01/11] Documentation: Add license-rules.rst to describe how to properly identify file licenses
From: Frank Rowand
Date: Fri Jan 05 2018 - 17:48:40 EST
On 01/05/18 05:05, Alexandre Belloni wrote:
> Hi,
>
> I'm definitively late to the party but...
>
> On 17/11/2017 at 11:00:33 +0100, Thomas Gleixner wrote:
>> +2. Style:
>> +
>> + The SPDX license identifier is added in form of a comment. The comment
>> + style depends on the file type::
>> +
>> + C source: // SPDX-License-Identifier: <SPDX License Expression>
>> + C header: /* SPDX-License-Identifier: <SPDX License Expression> */
>> + ASM: /* SPDX-License-Identifier: <SPDX License Expression> */
>> + scripts: # SPDX-License-Identifier: <SPDX License Expression>
>> + .rst: .. SPDX-License-Identifier: <SPDX License Expression>
>> + .dts{i}: // SPDX-License-Identifier: <SPDX License Expression>
>
> dtc doesn't handle // comments. This works in the kernel tree because
dtc does handle // comments.
$ cat test_comment.dts
/dts-v1/;
// this is comment 1
/* this is comment 2 */
/ {
#address-cells = < 1 >;
#size-cells = < 1 >;
// this is comment 3
tree_1: soc@0 {
reg = <0x0 0x0>;
};
};
Using the dtc version in linux v4.14:
$ dtc -v
Version: DTC 1.4.4-g756ffc4f
$ dtc -O dts test_comment.dts
/dts-v1/;
/ {
#address-cells = <0x1>;
#size-cells = <0x1>;
tree_1: soc@0 {
reg = <0x0 0x0>;
};
};
Using the latest dtc version in the git_dtc repo:
$ dtc -v
Version: DTC 1.4.6-ge5438801
$ dtc -O dts test_comment.dts
/dts-v1/;
/ {
#address-cells = <0x1>;
#size-cells = <0x1>;
tree_1: soc@0 {
reg = <0x0 0x0>;
};
};
-Frank
> dts files are preprocessed by CPP. But this doesn't work when using dtc
> directly (most likely when compiling DT overlays). So, the choice is
> between making dtc handle // comments or changing the documentation.
>
> I don't have an opinion and Rob doesn't seem to care but I think we need
> to do something now instead of letting each maintainer have to handle
> this issue.
>
>> + If a specific tool cannot handle the standard comment style, then the
>> + appropriate comment mechanism which the tool accepts shall be used. This
>> + is the reason for having the "/\* \*/" style comment in C header
>> + files. There was build breakage observed with generated .lds files where
>> + 'ld' failed to parse the C++ comment. This has been fixed by now, but
>> + there are still older assembler tools which cannot handle C++ style
>> + comments.
>> +