コード解析→SPDXファイルの出力が可能です。コードを送信、解析、SPDXファイルを出力する環境の構築方法をまとめてみました。今回、構築する環境は、以下のような感じです。Linux)など、dockerが使えれば何でもよいです。青枠がdockerコンテナです。FOSSologyやYoctoビルド環境をdockerコンテナで構築し、Yoctoビルド環境のdocker上にFOSSologyとアクセスするためのfossdriverをインストールします。※FOSSologyやYoctoビルド環境についての説明は割愛します。dockerイメージを取得します。最新版は3.6.0版ですが、fossdriver経由で動作しないので、3.5.0版を取得します。追記:fossdriverが、FOSSology-3.6.0に対応したようです。dockerを起動します。8081:80は、外部アクセスされるポート番号:dockerコンテナ側のポート番号を指定します。-dは、バックグラウンド実行です。logsで起動状況(--tail=20で、最新ログ20行だけ)を表示します。FOREGROUNDのログが出ていれば、起動できています。fossdriverのインストールYoctoビルド環境のdockerコンテナ上にインストールします。16.04のdockerイメージより作成しており、そのdockerイメージにはPython3.5をインストールしましたが、Python3.6でも動作可能なことは確認済です。ディレクトリ上で作業します。/home/yocto/fossdriverインストールされたか確認します。★インストールできている:fossdriverの設定ファイルを作成します。冒頭で説明した環境の通り、dockerホストのポート8081経由でFOSSologyにアクセスできるので、そのように設定します。コードを置いたので、動作確認用にご利用ください。<SPDXファイル出力パス>meta-spdxscannerレイヤ追加と設定ファイル更新Yoctoビルド環境に、meta-spdxscannerレイヤを追加します。以降、pokyディレクトリ以下での作業を想定しています。https://github.com/dl9pf/meta-spdxscannerYoctoのリリース版数にマッチするブランチがありますが、Sumo以降であれば、masterブランチで動作することを確認済です。ディレクトリ配下のレイヤ設定ファイル(conf/bblayers.conf)に、meta-spdxscannerを追加します。コードのスキャン&SPDXファイル出力できるよう、記述を追加します。コードがFOSSologyへ送信され、スキャン&SPDXファイル出力まで自動で行われます。出力ディレクトリを確認すると、以下のようにSPDXファイルが出力されます。一例ですが、出力されるSPDXファイル(zlib-1.2.11)は以下の通りです。コードを送信することが可能です。API利用編で記述します。Declaredフィールドが"NOASSERTION"になる、etc...)に関する回避策なども、別記事で記述します。upLoginユーザーは見つかりませんでした。