scancode-license-data --path <directory> fails
まだ誰も着手していません。
評価
- 難易度
- 3/5
- 見積もり時間
- 1〜2日
- 初心者へのやさしさ
- 35/100
- issue の種類
- バグ
- 明瞭さ
- おおむね明確
- 活発さ
- 停滞
- 技術スタック
- docker, python
- 領域
- build-system, cli, devops
調査の方向性
Dockerfile の Python セクションを調査し、Docker ビルド中に失敗する scancode-license-data --path コマンドを再現します。インストールされている ScanCode コマンドとバージョンを確認し、その後、ビルドが完了し、/opt/scancode-license-data に意図した .LICENSE ファイルが含まれ、削除されたファイルや static ディレクトリが含まれていないことを確認します。
索引モデルが issue の本文から書いたものです。
説明
While running OSS Review Toolkit (ORT) with: docker build -t ort .
[pythonbuild 4/6] RUN scancode-license-data --path /opt/scancode-license-data:
0.596 /opt/python/versions/3.11.9/lib/python3.11/site-packages/typecode/magic2.py:195: UserWarning: System libmagic found in typical location is used. Install instead a typecode-libmagic plugin for best support.
0.596 warnings.warn(
0.618 Usage: scancode-license-data [OPTIONS]
0.618
0.618 Error: Got unexpected extra argument (/opt/scancode-license-data)
ERROR: failed to build: failed to solve: process "/bin/bash -o pipefail -c scancode-license-data --path /opt/scancode-license-data" did not complete successfully: exit code: 2
I'm on mac using arm64, and I modified the dockerfile slightly, to get past some other errors like : missing libicu-dev, pkg-config and python3-distutils. I also messed around with changing the python version as well as the scancode version...
The method of dumping the licenses does not seem to work? I've tried almost everything and I am out of ideas. Please save me!
Where in code?
In ORT's source code, the Dockerfile contains information on the build, in the Dockerfile (under the Python section):
Scancode extract license ...
#------------------------------------------------------------------------
# PYTHON - Build Python as a separate component with pyenv
FROM base AS pythonbuild
SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \
--mount=type=cache,target=/var/lib/apt,sharing=locked \
sudo apt-get update -qq \
&& DEBIAN_FRONTEND=noninteractive sudo apt-get install -y --no-install-recommends \
libreadline-dev \
libicu-dev \
python3-distutils \
libgdbm-dev \
libsqlite3-dev \
libssl-dev \
libbz2-dev \
liblzma-dev \
tk-dev \
&& sudo rm -rf /var/lib/apt/lists/*
ARG PYTHON_VERSION
ARG PYENV_GIT_TAG
ENV PYENV_ROOT=/opt/python
ENV PATH=$PATH:$PYENV_ROOT/shims:$PYENV_ROOT/bin:$PYENV_ROOT/conan2/bin
RUN curl -kSs https://pyenv.run | bash \
&& pyenv install -v $PYTHON_VERSION \
&& pyenv global $PYTHON_VERSION
ARG CONAN_VERSION
ARG CONAN2_VERSION
ARG PYTHON_INSPECTOR_VERSION
ARG PYTHON_PIPENV_VERSION
ARG PYTHON_POETRY_VERSION
ARG PYTHON_POETRY_PLUGIN_EXPORT_VERSION
ARG PYTHON_SETUPTOOLS_VERSION
ARG PIP_VERSION
ARG SCANCODE_VERSION
RUN ARCH=$(arch | sed s/aarch64/arm64/) \
&& if [ "$ARCH" == "arm64" ]; then \
pip install -U scancode-toolkit-mini==$SCANCODE_VERSION; \
else \
curl -Os https://raw.githubusercontent.com/nexB/scancode-toolkit/v$SCANCODE_VERSION/requirements.txt; \
pip install -U --constraint requirements.txt scancode-toolkit==$SCANCODE_VERSION setuptools==$PYTHON_SETUPTOOLS_VERSION; \
rm requirements.txt; \
fi
**# Extract ScanCode license texts to a directory.
RUN mkdir -p /opt/scancode-license-data \
&& scancode-license-data --path /opt/scancode-license-data \
&& find /opt/scancode-license-data -type f -not -name "*.LICENSE" -exec rm -f {} + \
&& rm -rf /opt/scancode-license-data/static**
RUN pip install --no-cache-dir -U \
pip=="$PIP_VERSION" \
wheel \
&& pip install --no-cache-dir -U \
Mercurial \
conan=="$CONAN_VERSION" \
pipenv=="$PYTHON_PIPENV_VERSION" \
poetry=="$PYTHON_POETRY_VERSION" \
poetry-plugin-export=="$PYTHON_POETRY_PLUGIN_EXPORT_VERSION" \
python-inspector=="$PYTHON_INSPECTOR_VERSION" \
setuptools=="$PYTHON_SETUPTOOLS_VERSION"
RUN mkdir /tmp/conan2 && cd /tmp/conan2 \
&& wget https://github.com/conan-io/conan/releases/download/$CONAN2_VERSION/conan-$CONAN2_VERSION-linux-x86_64.tgz \
&& tar -xvf conan-$CONAN2_VERSION-linux-x86_64.tgz\
# Rename the Conan 2 executable to "conan2" to be able to call both Conan version from the package manager.
&& mkdir $PYENV_ROOT/conan2 && mv /tmp/conan2/bin $PYENV_ROOT/conan2/ \
&& mv $PYENV_ROOT/conan2/bin/conan $PYENV_ROOT/conan2/bin/conan2
FROM scratch AS python
COPY --from=pythonbuild /opt/python /opt/python
FROM scratch AS scancode-license-data
COPY --from=pythonbuild /opt/scancode-license-data /opt/scancode-license-data
#------------------------------------------------------------------------
- 主要言語
- Makefile
- スター
- 70
- フォーク
- 16
- PR マージ指標
- 30日以内にマージされた PR はありません
環境構築
このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
aboutcode-org/scancode-licensedb のほかの issue
-
難易度 1/5 1時間未満 初心者へのやさしさ 78/100
-
How to cite?オープン
難易度 2/5 1時間未満 初心者へのやさしさ 22/100
aboutcode-org/scancode-licensedb#84 · コメント 1 件 ·
-
Wrong format for exceptions?再び着手できるかも @AyanSinhaMahapatra が 435 日前に担当しましたが、オープン中のプルリクエストはありません。 オープン
難易度 4/5 3〜5日 初心者へのやさしさ 25/100
aboutcode-org/scancode-licensedb#71 · コメント 2 件 · 担当者 2 名 ·
-
Table Header Becomes Invisible When Scrolling Down対応中かも @alok1304 が 658 日前に担当しました。 オープン
難易度 3/5 1〜2日 初心者へのやさしさ 35/100
-
CryptoSwift license incorrectly identified as Zlib再び着手できるかも @AyanSinhaMahapatra が 675 日前に担当しましたが、オープン中のプルリクエストはありません。 オープン
難易度 4/5 3〜5日 初心者へのやさしさ 25/100
aboutcode-org/scancode-licensedb#61 · コメント 1 件 · リアクション 1 件 · 担当者 2 名 ·
aboutcode-org/scancode-licensedb の issue をすべて見る
似ている issue
-
Appimage Conventionsオープンenhancement
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
メンテナーはふだん 1 日以内に返信
-
bug
難易度 1/5 1時間未満 初心者へのやさしさ 84/100
AOSSIE-Org/OpenVerifiableLLM#216 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
3.1.1 build failingオープン
難易度 2/5 1〜3時間 初心者へのやさしさ 64/100
flathub/io.github.Cockatrice.cockatrice#159 ·
メンテナーはふだん 2 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 73/100
-
documentation good first issue help wanted
難易度 1/5 1時間未満 初心者へのやさしさ 94/100
TheCodeHeist-Coder/Rexial#187 ·
メンテナーはふだん 1 日以内に返信