ros / meta-ros

OpenEmbedded Layers for ROS 1 and ROS 2
MIT License
388 stars 253 forks source link

[scarthgap] License issues checking by SPDX License. #1216

Open mark-bchoi opened 2 months ago

mark-bchoi commented 2 months ago

Hi,

There are many license issues by filtered by SPDX license policy which would be added by scarthgap branch. I modified them manually but, I am not sure it is correct approach.

License issues by SPDX license , for example, one of them :

NOTE: Executing Tasks
ERROR: apriltag-3.4.2-1-r0 do_create_spdx: Cannot find any text for license BSD
ERROR: Logfile of failure stored in: /home/bchoi/nvidia-yocto-bsp/bchoi-build/tmp/work/armv8a-oe4t-linux/apriltag/3.4.2-1/temp/log.do_create_spdx.1328371
ERROR: Task (/home/bchoi/nvidia-yocto-bsp/layers/meta-ros/meta-ros2-humble/generated-recipes/apriltag/apriltag_3.4.2-1.bb:do_create_spdx) failed with exit code '1'
NOTE: Tasks Summary: Attempted 5984 tasks of which 5959 didn't need to be rerun and 1 failed.

Summary: 1 task failed:
  /home/bchoi/nvidia-yocto-bsp/layers/meta-ros/meta-ros2-humble/generated-recipes/apriltag/apriltag_3.4.2-1.bb:do_create_spdx
Summary: There was 1 ERROR message, returning a non-zero exit code.

This error was from LICENSE = "BSD" which was not problematic for the previous branch, kirkstone.

Can you please let me know whether there is some way to turn checking SPDX license off or not?

My bitbake layer for ros2 and openembedded commit ids are :

meta-ros2-humble     = "HEAD:b96ba3d66488aca5868fa1a94643a7f52b2cfc07"
meta                 = "HEAD:bf3fe8c01c5cc00ada22049f4f0abb485e2a626f"

BR, Mark

mark-bchoi commented 2 months ago

I could change LICENSE = "BSD" to LICENSE = "0BSD" with command in advance.

grep -rn LICENSE\ \=\ \"BSD\" * | cut -d : -f 1 | xargs sed -i s/LICENSE\ \=\ \"BSD\"/LICENSE\ \=\ \"0BSD\"/g

jiaxshi commented 2 months ago

A simple workaround is:

poky/meta$ cp files/common-licenses/BSD-3-Clause files/common-licenses/BSD
yangpeng1995 commented 1 month ago

The community removed the BSD license in Scarthgap, so this broad license cannot be used in the future https://git.yoctoproject.org/poky/commit/?h=scarthgap&id=56fe6d575e184ed44807fe27e069233da36962ad

The correct solution would be to change the license to concrete names such as "BSD-3-Clause".

Not to rename the BSD-3-Clause to BSD...

jiaxshi commented 1 month ago

The community removed the BSD license in Scarthgap, so this broad license cannot be used in the future https://git.yoctoproject.org/poky/commit/?h=scarthgap&id=56fe6d575e184ed44807fe27e069233da36962ad

The correct solution would be to change the license to concrete names such as "BSD-3-Clause".

Not to rename the BSD-3-Clause to BSD...

As i mentioned in #1208, there are multiple BSD variant used by ROS packages. It's good to have a method to parse and use accurate LICENSEN in superflore process.

shr-project commented 1 month ago

Please see https://github.com/ros-infrastructure/catkin_pkg/pull/296 https://github.com/ros/rosdistro/pull/26601 and https://github.com/ros-infrastructure/superflore/pull/279

I don't work on ROS anymore but it indeed needs to be fixed by ROS component owners and QA check in catkin was supposed to incrementally motivate them to update license when updating the version.