Compliance and Yocto - Introducing yocr
The overall and long term goal is (same as in the last blog post) to have an automated compliance tooling for Yocto based distributions. I’ve previously looked at how to generate dependencies etc. This time I will show a “new” piece of tool that gets us a bit on our way towards automation.
Creating a report from Yoga
This time, as opposed to previous post, we run Yoga again and have the compliance checks enabled. This means we need access to flict (the Python rewrite of the existing Java program). This will not work for you - but please be patient for some more days.
$ yocr -ilt -c -f markdown JSON
… and so on. Some words on the options:
-il- include license text if such is present in the Yoda output
-c- use colors to visualise compatibility status
-f markdown JSON- generate reports in both markdown and JSON format
$ pandoc compliance-results/compliance-result.markdown -o compliance-results/compliance-result.html
Here’s the HTML report. You will see a lof of (red marked) failures. Looking at Cairo’s dependencis we can that it the BSD-4-Clause in util-linux that is problematic. Util-linux is a bit tricky since it comes with many installed files and many different licenses. It would be nice if we could get a more detailed view of the dependencies and how they link. … stay tuned for more informaiton about that.
But we have, although a rather ugly looking, a compliance report with the following per package:
outbound license (if any)
… at least something.
About the cover image
It’s not a beatiful construction or report, but it is a good start and something useful.