From 5ea05738ca6f7b04b6ed0c7dd2ec2e5a21d7e415 Mon Sep 17 00:00:00 2001 From: Wolfgang Klenk Date: Thu, 19 Dec 2024 10:55:20 +0100 Subject: [PATCH] fix(reporter): Add ScanCode license texts to reporter docker image Dump the ScanCode license texts to directory /opt/scancode-license-data when creating the reporter docker container. This directory is used by ORT as fallback option if the ScanCode license texts cannot be located by the existing heuristic look-up algorithm. See oss-review-toolkit/ort#9622. Signed-off-by: Wolfgang Klenk --- workers/reporter/docker/Reporter.Dockerfile | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/workers/reporter/docker/Reporter.Dockerfile b/workers/reporter/docker/Reporter.Dockerfile index 56a0d2dec..c24b0da3c 100644 --- a/workers/reporter/docker/Reporter.Dockerfile +++ b/workers/reporter/docker/Reporter.Dockerfile @@ -51,4 +51,23 @@ RUN chgrp -R 0 /home/ort && chmod -R g+rwX /home/ort USER $USERNAME WORKDIR $HOMEDIR +# Copy only ScanCode license data. +COPY --from=scancode-license-data-build --chown=$USER:$USER /opt/scancode-license-data /opt/scancode-license-data + ENTRYPOINT ["/bin/bash"] + +# Build-Stage for Python executing scancode-license-data to get the license texts in a directory +FROM python:3.11-slim AS scancode-license-data-build + +# Keep in sync with Scanner.Dockerfile +ARG SCANCODE_VERSION=32.2.1 + +RUN apt-get update && apt-get install -y curl libgomp1 && rm -rf /var/lib/apt/lists/* + +# Use pip to install ScanCode +RUN curl -Os https://raw.githubusercontent.com/nexB/scancode-toolkit/v$SCANCODE_VERSION/requirements.txt && \ + pip install -U --constraint requirements.txt scancode-toolkit==$SCANCODE_VERSION && \ + rm requirements.txt + +# Extract ScanCode license data to directory +RUN scancode-license-data --path /opt/scancode-license-data