summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore1
-rw-r--r--python-cyclonedx-bom.spec381
-rw-r--r--sources1
3 files changed, 383 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..9a66f69 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/cyclonedx_bom-3.11.0.tar.gz
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
diff --git a/sources b/sources
new file mode 100644
index 0000000..8925cec
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+e33090621ea71bd68d2399953724795b cyclonedx_bom-3.11.0.tar.gz