Background

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.

Last post we analysed a Yocto build with yoga. This time we will use yocr:

$ 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

Now, we have a report in JSON and markdown. Let’s create html version from the markdown file.

$ 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:

  • license texts

  • compatibility status

  • outbound license (if any)

  • policy report

… at least something.

About the cover image

Ancona harbour, Italy from flickr, (c) 2016 Henrik Sandklef released under Attribution-ShareAlike 2.0 Generic (CC BY-SA 2.0)

It’s not a beatiful construction or report, but it is a good start and something useful.