diff options
Diffstat (limited to 'python-fosslight-util.spec')
| -rw-r--r-- | python-fosslight-util.spec | 521 |
1 files changed, 521 insertions, 0 deletions
diff --git a/python-fosslight-util.spec b/python-fosslight-util.spec new file mode 100644 index 0000000..6f8fb8b --- /dev/null +++ b/python-fosslight-util.spec @@ -0,0 +1,521 @@ +%global _empty_manifest_terminate_build 0 +Name: python-fosslight-util +Version: 1.4.25 +Release: 1 +Summary: FOSSLight Util +License: Apache-2.0 +URL: https://github.com/fosslight/fosslight_util +Source0: https://mirrors.aliyun.com/pypi/web/packages/33/6b/d92f9ecdbe8610a9a18a1990cc1400f3335c37fefb419ed01b7b2a238841/fosslight_util-1.4.25.tar.gz +BuildArch: noarch + +Requires: python3-XlsxWriter +Requires: python3-pandas +Requires: python3-xlrd +Requires: python3-openpyxl +Requires: python3-progress +Requires: python3-PyYAML +Requires: python3-lastversion +Requires: python3-coloredlogs +Requires: python3-python3-wget +Requires: python3-beautifulsoup4 +Requires: python3-jsonmerge +Requires: python3-spdx-tools +Requires: python3-pygit2 +Requires: python3-pygit2 + +%description +<!-- +Copyright (c) 2021 LG Electronics +SPDX-License-Identifier: Apache-2.0 + --> + # FOSSLight Util + +<img src="https://img.shields.io/pypi/l/fosslight_util" alt="FOSSLight Util is released under the Apache-2.0." /> <img src="https://img.shields.io/pypi/v/fosslight_util" alt="Current python package version." /> <img src="https://img.shields.io/pypi/pyversions/fosslight_util" /> [](https://api.reuse.software/info/github.com/fosslight/fosslight_util) + +It is a package that supports common utils used by FOSSLight Scanner. + +## Features +1. It simplifies the logger setup. +2. It provides a simple function to create a output file. +3. It provides a spdx license list with json format. +4. It defines common constant variables. +5. It provides a thread that prints the spinner. +6. Download source code. + +[or]: http://collab.lge.com/main/x/xDHlFg + +## Contents + +- [Prerequisite](#-prerequisite) +- [How to install](#-how-to-install) +- [How to run](#-how-to-run) +- [How to report issue](#-how-to-report-issue) +- [License](#-license) + + +## 📋 Prerequisite + +FOSSLight Util needs a Python 3.6+. + +## 🎉 How to install + +It can be installed using pip3. + +``` +$ pip3 install fosslight_util +``` + +## 🚀 How to use + +Three modules can be called. Please refer to each file for detailed calling method. + + +### 1. Setup logger (tests/test_log.py) +``` +from fosslight_util.set_log import init_log + +# 1st param : log file path +# 2nd param : create file (True/False) +# 3rd param : stream log level +# 4th param : file log level +# =>log level(CRITICAL:50, ERROR:40, WARNING:30, INFO:20, DEBUG:10, NOTSET:0) +# 5th param : package name of fosslight scanners (fosslight_source / fosslight_dependency / fosslight_reuse) +# 6th param : path to analyze +# +# 1st return value : a logger +# 2nd return value : log items to print + +def test(): + logger, log_item = init_log("test_result/log_file1.txt", True, 30, 20) + logger.warning("TESTING - Print log") +``` + + +### 2. Write result files (tests/test_output_format.py) +``` +from fosslight_util.output_format import write_output_file + +# 2nd param : output file format +# => file format(excel: .xlsx, csv: .csv, opossum: .json) +def test(): + sheet_contents = {'SRC':[['run_scancode.py', 'fosslight_source', + '3.0.6', 'Apache-2.0', 'https://github.com/LGE-OSS/fosslight_source', 'https://github.com/LGE-OSS/fosslight_source', 'Copyright (c) 2021 LG Electronics, Inc.', 'Exclude', 'Comment message'], + ['dependency_unified.py', 'fosslight_dependency', + '3.0.6', 'Apache-2.0', 'https://github.com/LGE-OSS/fosslight_dependency', 'https://github.com/LGE-OSS/fosslight_dependency', 'Copyright (c) 2020 LG Electronics, Inc.', '', '']], + 'BIN':[['askalono.exe', 'askalono', + '0.4.3', 'Apache-2.0', 'https://github.com/jpeddicord/askalono', '', 'Copyright (c) 2018 Amazon.com, Inc. or its affiliates.', '', '']]} + success, msg = write_output_file('test_result/excel/FOSSLight-Report', '.xlsx', sheet_contents) +``` + +### 3. Get spdx licenses (tests/test_spdx_licenses.py) +``` +from fosslight_util.spdx_licenses import get_spdx_licenses_json + + +def test(): + success, error_msg, licenses = get_spdx_licenses_json() +``` + +### 4. Load common constant (tests/_print_log_with_another_logger.py) +``` +import fosslight_util.constant as constant + + +logger = logging.getLogger(constant.LOGGER_NAME) +logger.warning("Get a logger after init_log is called once.") +``` + +### 5. Call a spinner (tests/test_timer.py) +``` +from fosslight_util.timer_thread import TimerThread + + +timer = TimerThread() +timer.setDaemon(True) +timer.start() +``` + +### 6. Download the source code (tests/test_download.py) +If you give a link, the source is downloaded to the target directory through git clone or wget. + +#### How it works +1. Try git clone. +2. If git clone fails, download it with wget and extract the compressed file. +3. After extracting the compressed file, delete the compressed file. + +#### Parameters +| Parameter | Argument | Description | +| ------------- | ------------- | ------------- | +| h | None | Print help message. | +| s | String | Link to download. | +| t | String | Path to download and extract. | +| d | String | Path to save a log file. | + +#### How to run +``` +$ fosslight_download -s "https://github.com/LGE-OSS/example" -t target_dir/ +``` + +## 👏 How to report issue + +Please report any ideas or bugs to improve by creating an issue in [fosslight_util repository][cl]. Then there will be quick bug fixes and upgrades. Ideas to improve are always welcome. + +[cl]: https://github.com/fosslight/fosslight_util/issues + +## 📄 License + +FOSSLight Util is released under [Apache-2.0][l]. + +[l]: https://github.com/fosslight/fosslight_util/blob/main/LICENSE + + + + +%package -n python3-fosslight-util +Summary: FOSSLight Util +Provides: python-fosslight-util +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-fosslight-util +<!-- +Copyright (c) 2021 LG Electronics +SPDX-License-Identifier: Apache-2.0 + --> + # FOSSLight Util + +<img src="https://img.shields.io/pypi/l/fosslight_util" alt="FOSSLight Util is released under the Apache-2.0." /> <img src="https://img.shields.io/pypi/v/fosslight_util" alt="Current python package version." /> <img src="https://img.shields.io/pypi/pyversions/fosslight_util" /> [](https://api.reuse.software/info/github.com/fosslight/fosslight_util) + +It is a package that supports common utils used by FOSSLight Scanner. + +## Features +1. It simplifies the logger setup. +2. It provides a simple function to create a output file. +3. It provides a spdx license list with json format. +4. It defines common constant variables. +5. It provides a thread that prints the spinner. +6. Download source code. + +[or]: http://collab.lge.com/main/x/xDHlFg + +## Contents + +- [Prerequisite](#-prerequisite) +- [How to install](#-how-to-install) +- [How to run](#-how-to-run) +- [How to report issue](#-how-to-report-issue) +- [License](#-license) + + +## 📋 Prerequisite + +FOSSLight Util needs a Python 3.6+. + +## 🎉 How to install + +It can be installed using pip3. + +``` +$ pip3 install fosslight_util +``` + +## 🚀 How to use + +Three modules can be called. Please refer to each file for detailed calling method. + + +### 1. Setup logger (tests/test_log.py) +``` +from fosslight_util.set_log import init_log + +# 1st param : log file path +# 2nd param : create file (True/False) +# 3rd param : stream log level +# 4th param : file log level +# =>log level(CRITICAL:50, ERROR:40, WARNING:30, INFO:20, DEBUG:10, NOTSET:0) +# 5th param : package name of fosslight scanners (fosslight_source / fosslight_dependency / fosslight_reuse) +# 6th param : path to analyze +# +# 1st return value : a logger +# 2nd return value : log items to print + +def test(): + logger, log_item = init_log("test_result/log_file1.txt", True, 30, 20) + logger.warning("TESTING - Print log") +``` + + +### 2. Write result files (tests/test_output_format.py) +``` +from fosslight_util.output_format import write_output_file + +# 2nd param : output file format +# => file format(excel: .xlsx, csv: .csv, opossum: .json) +def test(): + sheet_contents = {'SRC':[['run_scancode.py', 'fosslight_source', + '3.0.6', 'Apache-2.0', 'https://github.com/LGE-OSS/fosslight_source', 'https://github.com/LGE-OSS/fosslight_source', 'Copyright (c) 2021 LG Electronics, Inc.', 'Exclude', 'Comment message'], + ['dependency_unified.py', 'fosslight_dependency', + '3.0.6', 'Apache-2.0', 'https://github.com/LGE-OSS/fosslight_dependency', 'https://github.com/LGE-OSS/fosslight_dependency', 'Copyright (c) 2020 LG Electronics, Inc.', '', '']], + 'BIN':[['askalono.exe', 'askalono', + '0.4.3', 'Apache-2.0', 'https://github.com/jpeddicord/askalono', '', 'Copyright (c) 2018 Amazon.com, Inc. or its affiliates.', '', '']]} + success, msg = write_output_file('test_result/excel/FOSSLight-Report', '.xlsx', sheet_contents) +``` + +### 3. Get spdx licenses (tests/test_spdx_licenses.py) +``` +from fosslight_util.spdx_licenses import get_spdx_licenses_json + + +def test(): + success, error_msg, licenses = get_spdx_licenses_json() +``` + +### 4. Load common constant (tests/_print_log_with_another_logger.py) +``` +import fosslight_util.constant as constant + + +logger = logging.getLogger(constant.LOGGER_NAME) +logger.warning("Get a logger after init_log is called once.") +``` + +### 5. Call a spinner (tests/test_timer.py) +``` +from fosslight_util.timer_thread import TimerThread + + +timer = TimerThread() +timer.setDaemon(True) +timer.start() +``` + +### 6. Download the source code (tests/test_download.py) +If you give a link, the source is downloaded to the target directory through git clone or wget. + +#### How it works +1. Try git clone. +2. If git clone fails, download it with wget and extract the compressed file. +3. After extracting the compressed file, delete the compressed file. + +#### Parameters +| Parameter | Argument | Description | +| ------------- | ------------- | ------------- | +| h | None | Print help message. | +| s | String | Link to download. | +| t | String | Path to download and extract. | +| d | String | Path to save a log file. | + +#### How to run +``` +$ fosslight_download -s "https://github.com/LGE-OSS/example" -t target_dir/ +``` + +## 👏 How to report issue + +Please report any ideas or bugs to improve by creating an issue in [fosslight_util repository][cl]. Then there will be quick bug fixes and upgrades. Ideas to improve are always welcome. + +[cl]: https://github.com/fosslight/fosslight_util/issues + +## 📄 License + +FOSSLight Util is released under [Apache-2.0][l]. + +[l]: https://github.com/fosslight/fosslight_util/blob/main/LICENSE + + + + +%package help +Summary: Development documents and examples for fosslight-util +Provides: python3-fosslight-util-doc +%description help +<!-- +Copyright (c) 2021 LG Electronics +SPDX-License-Identifier: Apache-2.0 + --> + # FOSSLight Util + +<img src="https://img.shields.io/pypi/l/fosslight_util" alt="FOSSLight Util is released under the Apache-2.0." /> <img src="https://img.shields.io/pypi/v/fosslight_util" alt="Current python package version." /> <img src="https://img.shields.io/pypi/pyversions/fosslight_util" /> [](https://api.reuse.software/info/github.com/fosslight/fosslight_util) + +It is a package that supports common utils used by FOSSLight Scanner. + +## Features +1. It simplifies the logger setup. +2. It provides a simple function to create a output file. +3. It provides a spdx license list with json format. +4. It defines common constant variables. +5. It provides a thread that prints the spinner. +6. Download source code. + +[or]: http://collab.lge.com/main/x/xDHlFg + +## Contents + +- [Prerequisite](#-prerequisite) +- [How to install](#-how-to-install) +- [How to run](#-how-to-run) +- [How to report issue](#-how-to-report-issue) +- [License](#-license) + + +## 📋 Prerequisite + +FOSSLight Util needs a Python 3.6+. + +## 🎉 How to install + +It can be installed using pip3. + +``` +$ pip3 install fosslight_util +``` + +## 🚀 How to use + +Three modules can be called. Please refer to each file for detailed calling method. + + +### 1. Setup logger (tests/test_log.py) +``` +from fosslight_util.set_log import init_log + +# 1st param : log file path +# 2nd param : create file (True/False) +# 3rd param : stream log level +# 4th param : file log level +# =>log level(CRITICAL:50, ERROR:40, WARNING:30, INFO:20, DEBUG:10, NOTSET:0) +# 5th param : package name of fosslight scanners (fosslight_source / fosslight_dependency / fosslight_reuse) +# 6th param : path to analyze +# +# 1st return value : a logger +# 2nd return value : log items to print + +def test(): + logger, log_item = init_log("test_result/log_file1.txt", True, 30, 20) + logger.warning("TESTING - Print log") +``` + + +### 2. Write result files (tests/test_output_format.py) +``` +from fosslight_util.output_format import write_output_file + +# 2nd param : output file format +# => file format(excel: .xlsx, csv: .csv, opossum: .json) +def test(): + sheet_contents = {'SRC':[['run_scancode.py', 'fosslight_source', + '3.0.6', 'Apache-2.0', 'https://github.com/LGE-OSS/fosslight_source', 'https://github.com/LGE-OSS/fosslight_source', 'Copyright (c) 2021 LG Electronics, Inc.', 'Exclude', 'Comment message'], + ['dependency_unified.py', 'fosslight_dependency', + '3.0.6', 'Apache-2.0', 'https://github.com/LGE-OSS/fosslight_dependency', 'https://github.com/LGE-OSS/fosslight_dependency', 'Copyright (c) 2020 LG Electronics, Inc.', '', '']], + 'BIN':[['askalono.exe', 'askalono', + '0.4.3', 'Apache-2.0', 'https://github.com/jpeddicord/askalono', '', 'Copyright (c) 2018 Amazon.com, Inc. or its affiliates.', '', '']]} + success, msg = write_output_file('test_result/excel/FOSSLight-Report', '.xlsx', sheet_contents) +``` + +### 3. Get spdx licenses (tests/test_spdx_licenses.py) +``` +from fosslight_util.spdx_licenses import get_spdx_licenses_json + + +def test(): + success, error_msg, licenses = get_spdx_licenses_json() +``` + +### 4. Load common constant (tests/_print_log_with_another_logger.py) +``` +import fosslight_util.constant as constant + + +logger = logging.getLogger(constant.LOGGER_NAME) +logger.warning("Get a logger after init_log is called once.") +``` + +### 5. Call a spinner (tests/test_timer.py) +``` +from fosslight_util.timer_thread import TimerThread + + +timer = TimerThread() +timer.setDaemon(True) +timer.start() +``` + +### 6. Download the source code (tests/test_download.py) +If you give a link, the source is downloaded to the target directory through git clone or wget. + +#### How it works +1. Try git clone. +2. If git clone fails, download it with wget and extract the compressed file. +3. After extracting the compressed file, delete the compressed file. + +#### Parameters +| Parameter | Argument | Description | +| ------------- | ------------- | ------------- | +| h | None | Print help message. | +| s | String | Link to download. | +| t | String | Path to download and extract. | +| d | String | Path to save a log file. | + +#### How to run +``` +$ fosslight_download -s "https://github.com/LGE-OSS/example" -t target_dir/ +``` + +## 👏 How to report issue + +Please report any ideas or bugs to improve by creating an issue in [fosslight_util repository][cl]. Then there will be quick bug fixes and upgrades. Ideas to improve are always welcome. + +[cl]: https://github.com/fosslight/fosslight_util/issues + +## 📄 License + +FOSSLight Util is released under [Apache-2.0][l]. + +[l]: https://github.com/fosslight/fosslight_util/blob/main/LICENSE + + + + +%prep +%autosetup -n fosslight_util-1.4.25 + +%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-fosslight-util -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Thu Jun 08 2023 Python_Bot <Python_Bot@openeuler.org> - 1.4.25-1 +- Package Spec generated |
