diff options
| author | CoprDistGit <infra@openeuler.org> | 2023-04-12 04:16:43 +0000 |
|---|---|---|
| committer | CoprDistGit <infra@openeuler.org> | 2023-04-12 04:16:43 +0000 |
| commit | 430da334ccb6abbb2d9076f841e785d75b7acb27 (patch) | |
| tree | f44a8596a1af016505c1af08d73ed9cd50b62098 /python-cyclonedx-bom.spec | |
| parent | 4d7d14395b735f8e8f4c6be892280732802a60cc (diff) | |
automatic import of python-cyclonedx-bom
Diffstat (limited to 'python-cyclonedx-bom.spec')
| -rw-r--r-- | python-cyclonedx-bom.spec | 381 |
1 files changed, 381 insertions, 0 deletions
diff --git a/python-cyclonedx-bom.spec b/python-cyclonedx-bom.spec new file mode 100644 index 0000000..e1ec535 --- /dev/null +++ b/python-cyclonedx-bom.spec @@ -0,0 +1,381 @@ +%global _empty_manifest_terminate_build 0 +Name: python-cyclonedx-bom +Version: 3.11.0 +Release: 1 +Summary: CycloneDX Software Bill of Materials (SBOM) generation utility +License: Apache-2.0 +URL: https://github.com/CycloneDX/cyclonedx-python/#readme +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/bf/1d/89e76b963e79890f5027d8f314b9810fda19731f6529fc41dda44291909f/cyclonedx_bom-3.11.0.tar.gz +BuildArch: noarch + +Requires: python3-cyclonedx-python-lib +Requires: python3-importlib-metadata +Requires: python3-packageurl-python +Requires: python3-pip-requirements-parser +Requires: python3-setuptools +Requires: python3-toml + +%description +This project provides a runnable Python-based application for generating CycloneDX bill-of-material documents from either: +* Your current Python Environment +* Your project's manifest (e.g. `Pipfile.lock`, `poetry.lock` or `requirements.txt`) +* Conda as a Package Manager +The BOM will contain an aggregate of all your current project's dependencies, or those defined by the manifest you supply. +[CycloneDX](https://cyclonedx.org/) is a lightweight BOM specification that is easily created, human-readable, and simple to parse. +Read the full [documentation][link_rtfd] for more details. +## Installation +Install this from [PyPi.org][link_pypi] using your preferred Python package manager. +Example using `pip`: +```shell +pip install cyclonedx-bom +``` +Example using `poetry`: +```shell +poetry add cyclonedx-bom +``` +## Usage +Call via one of commands: +```shell +cyclonedx-py +python3 -m cyclonedx_py +``` +## Basic usage +```text +$ cyclonedx-py --help +usage: cyclonedx-py [-h] (-c | -cj | -e | -p | -pip | -r) [-i FILE_PATH] + [--format {json,xml}] [--schema-version {1.4,1.3,1.2,1.1,1.0}] + [-o FILE_PATH] [-F] [-X] +CycloneDX SBOM Generator +optional arguments: + -h, --help show this help message and exit + -c, --conda Build a SBOM based on the output from `conda list + --explicit` or `conda list --explicit --md5` + -cj, --conda-json Build a SBOM based on the output from `conda list + --json` + -e, --e, --environment + Build a SBOM based on the packages installed in your + current Python environment (default) + -p, --p, --poetry Build a SBOM based on a Poetry poetry.lock's contents. + Use with -i to specify absolute path to a `poetry.lock` + you wish to use, else we'll look for one in the + current working directory. + -pip, --pip Build a SBOM based on a PipEnv Pipfile.lock's + contents. Use with -i to specify absolute path to a + `Pipfile.lock` you wish to use, else we'll look for + one in the current working directory. + -r, --r, --requirements + Build a SBOM based on a requirements.txt's contents. + Use with -i to specify absolute path to a + `requirements.txt` you wish to use, else we'll look + for one in the current working directory. + -X Enable debug output +Input Method: + Flags to determine how this tool obtains it's input + -i FILE_PATH, --in-file FILE_PATH + File to read input from. Use "-" to read from STDIN. +SBOM Output Configuration: + Choose the output format and schema version + --format {json,xml} The output format for your SBOM (default: xml) + --schema-version {1.4,1.3,1.2,1.1,1.0} + The CycloneDX schema version for your SBOM (default: + 1.4) + -o FILE_PATH, --o FILE_PATH, --output FILE_PATH + Output file path for your SBOM (set to '-' to output + to STDOUT) + -F, --force If outputting to a file and the stated file already + exists, it will be overwritten. + -pb, --purl-bom-ref Use a component's PURL for the bom-ref value, instead + of a random UUID +``` +### Advanced usage and details +See the full [documentation][link_rtfd] for advanced usage and details on input formats, switches and options. +## Python Support +We endeavour to support all functionality for all [current actively supported Python versions](https://www.python.org/downloads/). +However, some features may not be possible/present in older Python versions due to their lack of support. +## Contributing +Feel free to open issues, bugreports or pull requests. +See the [CONTRIBUTING][contributing_file] file for details. +## Copyright & License +CycloneDX BOM is Copyright (c) OWASP Foundation. All Rights Reserved. +Permission to modify and redistribute is granted under the terms of the Apache 2.0 license. +See the [LICENSE][license_file] file for the full license. +[license_file]: https://github.com/CycloneDX/cyclonedx-python/blob/master/LICENSE +[contributing_file]: https://github.com/CycloneDX/cyclonedx-python/blob/master/CONTRIBUTING.md +[link_rtfd]: https://cyclonedx-bom-tool.readthedocs.io/ +[shield_gh-workflow-test]: https://img.shields.io/github/actions/workflow/status/CycloneDX/cyclonedx-python/python.yml?branch=master&logo=GitHub&logoColor=white "build" +[shield_rtfd]: https://img.shields.io/readthedocs/cyclonedx-bom-tool?logo=readthedocs&logoColor=white +[shield_pypi-version]: https://img.shields.io/pypi/v/cyclonedx-bom?logo=Python&logoColor=white&label=PyPI "PyPI" +[shield_docker-version]: https://img.shields.io/docker/v/cyclonedx/cyclonedx-python?logo=docker&logoColor=white&label=docker "docker" +[shield_license]: https://img.shields.io/github/license/CycloneDX/cyclonedx-python?logo=open%20source%20initiative&logoColor=white "license" +[shield_website]: https://img.shields.io/badge/https://-cyclonedx.org-blue.svg "homepage" +[shield_slack]: https://img.shields.io/badge/slack-join-blue?logo=Slack&logoColor=white "slack join" +[shield_groups]: https://img.shields.io/badge/discussion-groups.io-blue.svg "groups discussion" +[shield_twitter-follow]: https://img.shields.io/badge/Twitter-follow-blue?logo=Twitter&logoColor=white "twitter follow" +[link_gh-workflow-test]: https://github.com/CycloneDX/cyclonedx-python/actions/workflows/python.yml?query=branch%3Amaster +[link_pypi]: https://pypi.org/project/cyclonedx-bom/ +[link_docker]: https://hub.docker.com/r/cyclonedx/cyclonedx-python +[link_website]: https://cyclonedx.org/ +[link_slack]: https://cyclonedx.org/slack/invite +[link_discussion]: https://groups.io/g/CycloneDX +[link_twitter]: https://twitter.com/CycloneDX_Spec + +%package -n python3-cyclonedx-bom +Summary: CycloneDX Software Bill of Materials (SBOM) generation utility +Provides: python-cyclonedx-bom +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-cyclonedx-bom +This project provides a runnable Python-based application for generating CycloneDX bill-of-material documents from either: +* Your current Python Environment +* Your project's manifest (e.g. `Pipfile.lock`, `poetry.lock` or `requirements.txt`) +* Conda as a Package Manager +The BOM will contain an aggregate of all your current project's dependencies, or those defined by the manifest you supply. +[CycloneDX](https://cyclonedx.org/) is a lightweight BOM specification that is easily created, human-readable, and simple to parse. +Read the full [documentation][link_rtfd] for more details. +## Installation +Install this from [PyPi.org][link_pypi] using your preferred Python package manager. +Example using `pip`: +```shell +pip install cyclonedx-bom +``` +Example using `poetry`: +```shell +poetry add cyclonedx-bom +``` +## Usage +Call via one of commands: +```shell +cyclonedx-py +python3 -m cyclonedx_py +``` +## Basic usage +```text +$ cyclonedx-py --help +usage: cyclonedx-py [-h] (-c | -cj | -e | -p | -pip | -r) [-i FILE_PATH] + [--format {json,xml}] [--schema-version {1.4,1.3,1.2,1.1,1.0}] + [-o FILE_PATH] [-F] [-X] +CycloneDX SBOM Generator +optional arguments: + -h, --help show this help message and exit + -c, --conda Build a SBOM based on the output from `conda list + --explicit` or `conda list --explicit --md5` + -cj, --conda-json Build a SBOM based on the output from `conda list + --json` + -e, --e, --environment + Build a SBOM based on the packages installed in your + current Python environment (default) + -p, --p, --poetry Build a SBOM based on a Poetry poetry.lock's contents. + Use with -i to specify absolute path to a `poetry.lock` + you wish to use, else we'll look for one in the + current working directory. + -pip, --pip Build a SBOM based on a PipEnv Pipfile.lock's + contents. Use with -i to specify absolute path to a + `Pipfile.lock` you wish to use, else we'll look for + one in the current working directory. + -r, --r, --requirements + Build a SBOM based on a requirements.txt's contents. + Use with -i to specify absolute path to a + `requirements.txt` you wish to use, else we'll look + for one in the current working directory. + -X Enable debug output +Input Method: + Flags to determine how this tool obtains it's input + -i FILE_PATH, --in-file FILE_PATH + File to read input from. Use "-" to read from STDIN. +SBOM Output Configuration: + Choose the output format and schema version + --format {json,xml} The output format for your SBOM (default: xml) + --schema-version {1.4,1.3,1.2,1.1,1.0} + The CycloneDX schema version for your SBOM (default: + 1.4) + -o FILE_PATH, --o FILE_PATH, --output FILE_PATH + Output file path for your SBOM (set to '-' to output + to STDOUT) + -F, --force If outputting to a file and the stated file already + exists, it will be overwritten. + -pb, --purl-bom-ref Use a component's PURL for the bom-ref value, instead + of a random UUID +``` +### Advanced usage and details +See the full [documentation][link_rtfd] for advanced usage and details on input formats, switches and options. +## Python Support +We endeavour to support all functionality for all [current actively supported Python versions](https://www.python.org/downloads/). +However, some features may not be possible/present in older Python versions due to their lack of support. +## Contributing +Feel free to open issues, bugreports or pull requests. +See the [CONTRIBUTING][contributing_file] file for details. +## Copyright & License +CycloneDX BOM is Copyright (c) OWASP Foundation. All Rights Reserved. +Permission to modify and redistribute is granted under the terms of the Apache 2.0 license. +See the [LICENSE][license_file] file for the full license. +[license_file]: https://github.com/CycloneDX/cyclonedx-python/blob/master/LICENSE +[contributing_file]: https://github.com/CycloneDX/cyclonedx-python/blob/master/CONTRIBUTING.md +[link_rtfd]: https://cyclonedx-bom-tool.readthedocs.io/ +[shield_gh-workflow-test]: https://img.shields.io/github/actions/workflow/status/CycloneDX/cyclonedx-python/python.yml?branch=master&logo=GitHub&logoColor=white "build" +[shield_rtfd]: https://img.shields.io/readthedocs/cyclonedx-bom-tool?logo=readthedocs&logoColor=white +[shield_pypi-version]: https://img.shields.io/pypi/v/cyclonedx-bom?logo=Python&logoColor=white&label=PyPI "PyPI" +[shield_docker-version]: https://img.shields.io/docker/v/cyclonedx/cyclonedx-python?logo=docker&logoColor=white&label=docker "docker" +[shield_license]: https://img.shields.io/github/license/CycloneDX/cyclonedx-python?logo=open%20source%20initiative&logoColor=white "license" +[shield_website]: https://img.shields.io/badge/https://-cyclonedx.org-blue.svg "homepage" +[shield_slack]: https://img.shields.io/badge/slack-join-blue?logo=Slack&logoColor=white "slack join" +[shield_groups]: https://img.shields.io/badge/discussion-groups.io-blue.svg "groups discussion" +[shield_twitter-follow]: https://img.shields.io/badge/Twitter-follow-blue?logo=Twitter&logoColor=white "twitter follow" +[link_gh-workflow-test]: https://github.com/CycloneDX/cyclonedx-python/actions/workflows/python.yml?query=branch%3Amaster +[link_pypi]: https://pypi.org/project/cyclonedx-bom/ +[link_docker]: https://hub.docker.com/r/cyclonedx/cyclonedx-python +[link_website]: https://cyclonedx.org/ +[link_slack]: https://cyclonedx.org/slack/invite +[link_discussion]: https://groups.io/g/CycloneDX +[link_twitter]: https://twitter.com/CycloneDX_Spec + +%package help +Summary: Development documents and examples for cyclonedx-bom +Provides: python3-cyclonedx-bom-doc +%description help +This project provides a runnable Python-based application for generating CycloneDX bill-of-material documents from either: +* Your current Python Environment +* Your project's manifest (e.g. `Pipfile.lock`, `poetry.lock` or `requirements.txt`) +* Conda as a Package Manager +The BOM will contain an aggregate of all your current project's dependencies, or those defined by the manifest you supply. +[CycloneDX](https://cyclonedx.org/) is a lightweight BOM specification that is easily created, human-readable, and simple to parse. +Read the full [documentation][link_rtfd] for more details. +## Installation +Install this from [PyPi.org][link_pypi] using your preferred Python package manager. +Example using `pip`: +```shell +pip install cyclonedx-bom +``` +Example using `poetry`: +```shell +poetry add cyclonedx-bom +``` +## Usage +Call via one of commands: +```shell +cyclonedx-py +python3 -m cyclonedx_py +``` +## Basic usage +```text +$ cyclonedx-py --help +usage: cyclonedx-py [-h] (-c | -cj | -e | -p | -pip | -r) [-i FILE_PATH] + [--format {json,xml}] [--schema-version {1.4,1.3,1.2,1.1,1.0}] + [-o FILE_PATH] [-F] [-X] +CycloneDX SBOM Generator +optional arguments: + -h, --help show this help message and exit + -c, --conda Build a SBOM based on the output from `conda list + --explicit` or `conda list --explicit --md5` + -cj, --conda-json Build a SBOM based on the output from `conda list + --json` + -e, --e, --environment + Build a SBOM based on the packages installed in your + current Python environment (default) + -p, --p, --poetry Build a SBOM based on a Poetry poetry.lock's contents. + Use with -i to specify absolute path to a `poetry.lock` + you wish to use, else we'll look for one in the + current working directory. + -pip, --pip Build a SBOM based on a PipEnv Pipfile.lock's + contents. Use with -i to specify absolute path to a + `Pipfile.lock` you wish to use, else we'll look for + one in the current working directory. + -r, --r, --requirements + Build a SBOM based on a requirements.txt's contents. + Use with -i to specify absolute path to a + `requirements.txt` you wish to use, else we'll look + for one in the current working directory. + -X Enable debug output +Input Method: + Flags to determine how this tool obtains it's input + -i FILE_PATH, --in-file FILE_PATH + File to read input from. Use "-" to read from STDIN. +SBOM Output Configuration: + Choose the output format and schema version + --format {json,xml} The output format for your SBOM (default: xml) + --schema-version {1.4,1.3,1.2,1.1,1.0} + The CycloneDX schema version for your SBOM (default: + 1.4) + -o FILE_PATH, --o FILE_PATH, --output FILE_PATH + Output file path for your SBOM (set to '-' to output + to STDOUT) + -F, --force If outputting to a file and the stated file already + exists, it will be overwritten. + -pb, --purl-bom-ref Use a component's PURL for the bom-ref value, instead + of a random UUID +``` +### Advanced usage and details +See the full [documentation][link_rtfd] for advanced usage and details on input formats, switches and options. +## Python Support +We endeavour to support all functionality for all [current actively supported Python versions](https://www.python.org/downloads/). +However, some features may not be possible/present in older Python versions due to their lack of support. +## Contributing +Feel free to open issues, bugreports or pull requests. +See the [CONTRIBUTING][contributing_file] file for details. +## Copyright & License +CycloneDX BOM is Copyright (c) OWASP Foundation. All Rights Reserved. +Permission to modify and redistribute is granted under the terms of the Apache 2.0 license. +See the [LICENSE][license_file] file for the full license. +[license_file]: https://github.com/CycloneDX/cyclonedx-python/blob/master/LICENSE +[contributing_file]: https://github.com/CycloneDX/cyclonedx-python/blob/master/CONTRIBUTING.md +[link_rtfd]: https://cyclonedx-bom-tool.readthedocs.io/ +[shield_gh-workflow-test]: https://img.shields.io/github/actions/workflow/status/CycloneDX/cyclonedx-python/python.yml?branch=master&logo=GitHub&logoColor=white "build" +[shield_rtfd]: https://img.shields.io/readthedocs/cyclonedx-bom-tool?logo=readthedocs&logoColor=white +[shield_pypi-version]: https://img.shields.io/pypi/v/cyclonedx-bom?logo=Python&logoColor=white&label=PyPI "PyPI" +[shield_docker-version]: https://img.shields.io/docker/v/cyclonedx/cyclonedx-python?logo=docker&logoColor=white&label=docker "docker" +[shield_license]: https://img.shields.io/github/license/CycloneDX/cyclonedx-python?logo=open%20source%20initiative&logoColor=white "license" +[shield_website]: https://img.shields.io/badge/https://-cyclonedx.org-blue.svg "homepage" +[shield_slack]: https://img.shields.io/badge/slack-join-blue?logo=Slack&logoColor=white "slack join" +[shield_groups]: https://img.shields.io/badge/discussion-groups.io-blue.svg "groups discussion" +[shield_twitter-follow]: https://img.shields.io/badge/Twitter-follow-blue?logo=Twitter&logoColor=white "twitter follow" +[link_gh-workflow-test]: https://github.com/CycloneDX/cyclonedx-python/actions/workflows/python.yml?query=branch%3Amaster +[link_pypi]: https://pypi.org/project/cyclonedx-bom/ +[link_docker]: https://hub.docker.com/r/cyclonedx/cyclonedx-python +[link_website]: https://cyclonedx.org/ +[link_slack]: https://cyclonedx.org/slack/invite +[link_discussion]: https://groups.io/g/CycloneDX +[link_twitter]: https://twitter.com/CycloneDX_Spec + +%prep +%autosetup -n cyclonedx-bom-3.11.0 + +%build +%py3_build + +%install +%py3_install +install -d -m755 %{buildroot}/%{_pkgdocdir} +if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi +if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi +if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi +if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi +pushd %{buildroot} +if [ -d usr/lib ]; then + find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/lib64 ]; then + find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/bin ]; then + find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/sbin ]; then + find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst +fi +touch doclist.lst +if [ -d usr/share/man ]; then + find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst +fi +popd +mv %{buildroot}/filelist.lst . +mv %{buildroot}/doclist.lst . + +%files -n python3-cyclonedx-bom -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Wed Apr 12 2023 Python_Bot <Python_Bot@openeuler.org> - 3.11.0-1 +- Package Spec generated |
