From 8aa8311d5d372b87c66733bc829663689be2d34f Mon Sep 17 00:00:00 2001 From: CoprDistGit Date: Mon, 15 May 2023 07:27:57 +0000 Subject: automatic import of python-gvm-tools --- python-gvm-tools.spec | 715 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 715 insertions(+) create mode 100644 python-gvm-tools.spec (limited to 'python-gvm-tools.spec') diff --git a/python-gvm-tools.spec b/python-gvm-tools.spec new file mode 100644 index 0000000..6d9a161 --- /dev/null +++ b/python-gvm-tools.spec @@ -0,0 +1,715 @@ +%global _empty_manifest_terminate_build 0 +Name: python-gvm-tools +Version: 23.4.0 +Release: 1 +Summary: Tools to control a GSM/GVM over GMP or OSP +License: GPL-3.0-or-later +URL: https://github.com/greenbone/gvm-tools/ +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/ad/be/c94477dbe66be01d0f06b365392430f159a28574663bf4d1037a76d6e410/gvm_tools-23.4.0.tar.gz +BuildArch: noarch + +Requires: python3-gvm + +%description +![Greenbone Logo](https://www.greenbone.net/wp-content/uploads/gb_new-logo_horizontal_rgb_small.png) + +# Greenbone Vulnerability Management Tools +[![GitHub releases](https://img.shields.io/github/release-pre/greenbone/gvm-tools.svg)](https://github.com/greenbone/gvm-tools/releases) +[![PyPI release](https://img.shields.io/pypi/v/gvm-tools.svg)](https://pypi.org/project/gvm-tools/) +[![code test coverage](https://codecov.io/gh/greenbone/gvm-tools/branch/master/graph/badge.svg)](https://codecov.io/gh/greenbone/gvm-tools) +[![Build and test](https://github.com/greenbone/gvm-tools/actions/workflows/ci-python.yml/badge.svg)](https://github.com/greenbone/gvm-tools/actions/workflows/ci-python.yml) + +The Greenbone Vulnerability Management Tools `gvm-tools` are a collection of +tools that help with remote controlling a Greenbone Enterprise Appliance and +Greenbone Community Edition installations. The tools aid in accessing the +communication protocols GMP (Greenbone Management Protocol) and OSP +(Open Scanner Protocol). + +This module is comprised of interactive and non-interactive clients. +The programming language Python is supported directly for interactive scripting. +But it is also possible to issue remote GMP/OSP commands without programming in +Python. + + +## Table of Contents +- [Documentation](#documentation) +- [Installation](#installation) + - [Version](#version) + - [Requirements](#requirements) + - [Install using pip](#install-using-pip) +- [Usage](#usage) + - [gvm-cli](#gvm-cli) + - [Examples](#examples) + - [gvm-script](#gvm-script) + - [Example script](#example-script) + - [More example scripts](#more-example-scripts) + - [gvm-pyshell](#gvm-pyshell) + - [Example program use](#example-program-use) +- [Support](#support) +- [Maintainer](#maintainer) +- [Contributing](#contributing) +- [License](#license) + +## Documentation + +The documentation for `gvm-tools` can be found at +[https://greenbone.github.io/gvm-tools/](https://greenbone.github.io/gvm-tools/). +Please refer to the documentation for more details as this README just +gives a short overview. + +## Installation + +See the [documentation](https://greenbone.github.io/gvm-tools/install.html) +for all supported installation options. + +### Version + +Please consider to always use the **newest** version of `gvm-tools` and `python-gvm`. +We frequently update this projects to add features and keep them free from bugs. +This is why installing `gvm-tools` using pip is recommended. + +**To use `gvm-tools` with an old GMP version (7, 8, 9) you must use a release version** +**that is `<21.06`, combined with an `python-gvm` version `<21.05`.** +**In the `21.06` release the support of these older versions has been dropped.** + +### Requirements + +Python 3.7 and later is supported. + +### Install using pip + +You can install the latest stable release of gvm-tools from the Python Package +Index using [pip](https://pip.pypa.io/): + +```bash +python3 -m pip install --user gvm-tools +``` + +## Usage + +There are several clients to communicate via GMP/OSP. + +All clients have the ability to build a connection in various ways: + +* Unix Socket +* TLS Connection +* SSH Connection + +### gvm-cli + +This tool sends plain GMP/OSP commands and prints the result to the standard +output. + +#### Examples + +Return the current protocol version used by the server: + +```bash +gvm-cli socket --xml "" +``` + +Return all tasks visible to the GMP user with the provided credentials: + +```bash +gvm-cli --gmp-username foo --gmp-password bar socket --xml "" +``` + +Read a file with GMP commands and return the result: + +```bash +gvm-cli --gmp-username foo --gmp-password bar socket myfile.xml +``` + +Note that `gvm-cli` will by default print an error message and exit with a +non-zero exit code when a command is rejected by the server. If this kind of +error handling is not desired, the unparsed XML response can be requested using +the `--raw` parameter: + +```bash +gvm-cli socket --raw --xml "" + +``` + +### gvm-script + +This tool has a lot more features than the simple `gvm-cli` client. You +have the possibility to create your own custom gmp or osp scripts with commands +from the [python-gvm library](https://github.com/greenbone/python-gvm) and from +Python 3 itself. + +#### Example script + +```python +# Retrieve current GMP version +version = gmp.get_version() + +# Prints the XML in beautiful form +from gvmtools.helper import pretty_print +pretty_print(version) + +# Retrieve all tasks +tasks = gmp.get_tasks() + +# Get names of tasks +task_names = tasks.xpath('task/name/text()') +pretty_print(task_names) +``` + +#### More example scripts + +There is a growing collection of gmp-scripts in the +["scripts/"](scripts/) folder. +Some of them might be exactly what you need and all of them help writing +your own gmp scripts. + +### gvm-pyshell + +This tool is for running gmp or osp scripts interactively. It provides the same +API as [gvm-script](#gvm-script) using the +[python-gvm library](https://github.com/greenbone/python-gvm). + +#### Example program use + +Connect with given credentials via a unix domain socket and open an interactive +shell: + +```bash +gvm-pyshell --gmp-username user --gmp-password pass socket +``` + +Connect through SSH connection and open the interactive shell: + +```bash +gvm-pyshell --hostname 127.0.0.1 ssh +``` + +## Support + +For any question on the usage of `gvm-tools` or gmp scripts please use the +[Greenbone Community Portal](https://community.greenbone.net/c/gmp). If you +found a problem with the software, please +[create an issue](https://github.com/greenbone/gvm-tools/issues) on GitHub. + +## Maintainer + +This project is maintained by [Greenbone AG](https://www.greenbone.net/). + +## Contributing + +Your contributions are highly appreciated. Please +[create a pull request](https://github.com/greenbone/gvm-tools/pulls) on GitHub. +For bigger changes, please discuss it first in the +[issues](https://github.com/greenbone/gvm-tools/issues). + +For development you should use [poetry](https://python-poetry.org/) +to keep you python packages separated in different environments. First install +poetry via pip + + python3 -m pip install --user poetry + +Afterwards run + + poetry install + +in the checkout directory of `gvm-tools` (the directory containing the +`pyproject.toml` file) to install all dependencies including the packages only +required for development. + +Afterwards active the git hooks for auto-formatting and linting via +[autohooks](https://github.com/greenbone/autohooks). + + poetry run autohooks activate --force + +## License + +Copyright (C) 2017-2022 [Greenbone AG](https://www.greenbone.net/) + +Licensed under the [GNU General Public License v3.0 or later](LICENSE). + + +%package -n python3-gvm-tools +Summary: Tools to control a GSM/GVM over GMP or OSP +Provides: python-gvm-tools +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-gvm-tools +![Greenbone Logo](https://www.greenbone.net/wp-content/uploads/gb_new-logo_horizontal_rgb_small.png) + +# Greenbone Vulnerability Management Tools +[![GitHub releases](https://img.shields.io/github/release-pre/greenbone/gvm-tools.svg)](https://github.com/greenbone/gvm-tools/releases) +[![PyPI release](https://img.shields.io/pypi/v/gvm-tools.svg)](https://pypi.org/project/gvm-tools/) +[![code test coverage](https://codecov.io/gh/greenbone/gvm-tools/branch/master/graph/badge.svg)](https://codecov.io/gh/greenbone/gvm-tools) +[![Build and test](https://github.com/greenbone/gvm-tools/actions/workflows/ci-python.yml/badge.svg)](https://github.com/greenbone/gvm-tools/actions/workflows/ci-python.yml) + +The Greenbone Vulnerability Management Tools `gvm-tools` are a collection of +tools that help with remote controlling a Greenbone Enterprise Appliance and +Greenbone Community Edition installations. The tools aid in accessing the +communication protocols GMP (Greenbone Management Protocol) and OSP +(Open Scanner Protocol). + +This module is comprised of interactive and non-interactive clients. +The programming language Python is supported directly for interactive scripting. +But it is also possible to issue remote GMP/OSP commands without programming in +Python. + + +## Table of Contents +- [Documentation](#documentation) +- [Installation](#installation) + - [Version](#version) + - [Requirements](#requirements) + - [Install using pip](#install-using-pip) +- [Usage](#usage) + - [gvm-cli](#gvm-cli) + - [Examples](#examples) + - [gvm-script](#gvm-script) + - [Example script](#example-script) + - [More example scripts](#more-example-scripts) + - [gvm-pyshell](#gvm-pyshell) + - [Example program use](#example-program-use) +- [Support](#support) +- [Maintainer](#maintainer) +- [Contributing](#contributing) +- [License](#license) + +## Documentation + +The documentation for `gvm-tools` can be found at +[https://greenbone.github.io/gvm-tools/](https://greenbone.github.io/gvm-tools/). +Please refer to the documentation for more details as this README just +gives a short overview. + +## Installation + +See the [documentation](https://greenbone.github.io/gvm-tools/install.html) +for all supported installation options. + +### Version + +Please consider to always use the **newest** version of `gvm-tools` and `python-gvm`. +We frequently update this projects to add features and keep them free from bugs. +This is why installing `gvm-tools` using pip is recommended. + +**To use `gvm-tools` with an old GMP version (7, 8, 9) you must use a release version** +**that is `<21.06`, combined with an `python-gvm` version `<21.05`.** +**In the `21.06` release the support of these older versions has been dropped.** + +### Requirements + +Python 3.7 and later is supported. + +### Install using pip + +You can install the latest stable release of gvm-tools from the Python Package +Index using [pip](https://pip.pypa.io/): + +```bash +python3 -m pip install --user gvm-tools +``` + +## Usage + +There are several clients to communicate via GMP/OSP. + +All clients have the ability to build a connection in various ways: + +* Unix Socket +* TLS Connection +* SSH Connection + +### gvm-cli + +This tool sends plain GMP/OSP commands and prints the result to the standard +output. + +#### Examples + +Return the current protocol version used by the server: + +```bash +gvm-cli socket --xml "" +``` + +Return all tasks visible to the GMP user with the provided credentials: + +```bash +gvm-cli --gmp-username foo --gmp-password bar socket --xml "" +``` + +Read a file with GMP commands and return the result: + +```bash +gvm-cli --gmp-username foo --gmp-password bar socket myfile.xml +``` + +Note that `gvm-cli` will by default print an error message and exit with a +non-zero exit code when a command is rejected by the server. If this kind of +error handling is not desired, the unparsed XML response can be requested using +the `--raw` parameter: + +```bash +gvm-cli socket --raw --xml "" + +``` + +### gvm-script + +This tool has a lot more features than the simple `gvm-cli` client. You +have the possibility to create your own custom gmp or osp scripts with commands +from the [python-gvm library](https://github.com/greenbone/python-gvm) and from +Python 3 itself. + +#### Example script + +```python +# Retrieve current GMP version +version = gmp.get_version() + +# Prints the XML in beautiful form +from gvmtools.helper import pretty_print +pretty_print(version) + +# Retrieve all tasks +tasks = gmp.get_tasks() + +# Get names of tasks +task_names = tasks.xpath('task/name/text()') +pretty_print(task_names) +``` + +#### More example scripts + +There is a growing collection of gmp-scripts in the +["scripts/"](scripts/) folder. +Some of them might be exactly what you need and all of them help writing +your own gmp scripts. + +### gvm-pyshell + +This tool is for running gmp or osp scripts interactively. It provides the same +API as [gvm-script](#gvm-script) using the +[python-gvm library](https://github.com/greenbone/python-gvm). + +#### Example program use + +Connect with given credentials via a unix domain socket and open an interactive +shell: + +```bash +gvm-pyshell --gmp-username user --gmp-password pass socket +``` + +Connect through SSH connection and open the interactive shell: + +```bash +gvm-pyshell --hostname 127.0.0.1 ssh +``` + +## Support + +For any question on the usage of `gvm-tools` or gmp scripts please use the +[Greenbone Community Portal](https://community.greenbone.net/c/gmp). If you +found a problem with the software, please +[create an issue](https://github.com/greenbone/gvm-tools/issues) on GitHub. + +## Maintainer + +This project is maintained by [Greenbone AG](https://www.greenbone.net/). + +## Contributing + +Your contributions are highly appreciated. Please +[create a pull request](https://github.com/greenbone/gvm-tools/pulls) on GitHub. +For bigger changes, please discuss it first in the +[issues](https://github.com/greenbone/gvm-tools/issues). + +For development you should use [poetry](https://python-poetry.org/) +to keep you python packages separated in different environments. First install +poetry via pip + + python3 -m pip install --user poetry + +Afterwards run + + poetry install + +in the checkout directory of `gvm-tools` (the directory containing the +`pyproject.toml` file) to install all dependencies including the packages only +required for development. + +Afterwards active the git hooks for auto-formatting and linting via +[autohooks](https://github.com/greenbone/autohooks). + + poetry run autohooks activate --force + +## License + +Copyright (C) 2017-2022 [Greenbone AG](https://www.greenbone.net/) + +Licensed under the [GNU General Public License v3.0 or later](LICENSE). + + +%package help +Summary: Development documents and examples for gvm-tools +Provides: python3-gvm-tools-doc +%description help +![Greenbone Logo](https://www.greenbone.net/wp-content/uploads/gb_new-logo_horizontal_rgb_small.png) + +# Greenbone Vulnerability Management Tools +[![GitHub releases](https://img.shields.io/github/release-pre/greenbone/gvm-tools.svg)](https://github.com/greenbone/gvm-tools/releases) +[![PyPI release](https://img.shields.io/pypi/v/gvm-tools.svg)](https://pypi.org/project/gvm-tools/) +[![code test coverage](https://codecov.io/gh/greenbone/gvm-tools/branch/master/graph/badge.svg)](https://codecov.io/gh/greenbone/gvm-tools) +[![Build and test](https://github.com/greenbone/gvm-tools/actions/workflows/ci-python.yml/badge.svg)](https://github.com/greenbone/gvm-tools/actions/workflows/ci-python.yml) + +The Greenbone Vulnerability Management Tools `gvm-tools` are a collection of +tools that help with remote controlling a Greenbone Enterprise Appliance and +Greenbone Community Edition installations. The tools aid in accessing the +communication protocols GMP (Greenbone Management Protocol) and OSP +(Open Scanner Protocol). + +This module is comprised of interactive and non-interactive clients. +The programming language Python is supported directly for interactive scripting. +But it is also possible to issue remote GMP/OSP commands without programming in +Python. + + +## Table of Contents +- [Documentation](#documentation) +- [Installation](#installation) + - [Version](#version) + - [Requirements](#requirements) + - [Install using pip](#install-using-pip) +- [Usage](#usage) + - [gvm-cli](#gvm-cli) + - [Examples](#examples) + - [gvm-script](#gvm-script) + - [Example script](#example-script) + - [More example scripts](#more-example-scripts) + - [gvm-pyshell](#gvm-pyshell) + - [Example program use](#example-program-use) +- [Support](#support) +- [Maintainer](#maintainer) +- [Contributing](#contributing) +- [License](#license) + +## Documentation + +The documentation for `gvm-tools` can be found at +[https://greenbone.github.io/gvm-tools/](https://greenbone.github.io/gvm-tools/). +Please refer to the documentation for more details as this README just +gives a short overview. + +## Installation + +See the [documentation](https://greenbone.github.io/gvm-tools/install.html) +for all supported installation options. + +### Version + +Please consider to always use the **newest** version of `gvm-tools` and `python-gvm`. +We frequently update this projects to add features and keep them free from bugs. +This is why installing `gvm-tools` using pip is recommended. + +**To use `gvm-tools` with an old GMP version (7, 8, 9) you must use a release version** +**that is `<21.06`, combined with an `python-gvm` version `<21.05`.** +**In the `21.06` release the support of these older versions has been dropped.** + +### Requirements + +Python 3.7 and later is supported. + +### Install using pip + +You can install the latest stable release of gvm-tools from the Python Package +Index using [pip](https://pip.pypa.io/): + +```bash +python3 -m pip install --user gvm-tools +``` + +## Usage + +There are several clients to communicate via GMP/OSP. + +All clients have the ability to build a connection in various ways: + +* Unix Socket +* TLS Connection +* SSH Connection + +### gvm-cli + +This tool sends plain GMP/OSP commands and prints the result to the standard +output. + +#### Examples + +Return the current protocol version used by the server: + +```bash +gvm-cli socket --xml "" +``` + +Return all tasks visible to the GMP user with the provided credentials: + +```bash +gvm-cli --gmp-username foo --gmp-password bar socket --xml "" +``` + +Read a file with GMP commands and return the result: + +```bash +gvm-cli --gmp-username foo --gmp-password bar socket myfile.xml +``` + +Note that `gvm-cli` will by default print an error message and exit with a +non-zero exit code when a command is rejected by the server. If this kind of +error handling is not desired, the unparsed XML response can be requested using +the `--raw` parameter: + +```bash +gvm-cli socket --raw --xml "" + +``` + +### gvm-script + +This tool has a lot more features than the simple `gvm-cli` client. You +have the possibility to create your own custom gmp or osp scripts with commands +from the [python-gvm library](https://github.com/greenbone/python-gvm) and from +Python 3 itself. + +#### Example script + +```python +# Retrieve current GMP version +version = gmp.get_version() + +# Prints the XML in beautiful form +from gvmtools.helper import pretty_print +pretty_print(version) + +# Retrieve all tasks +tasks = gmp.get_tasks() + +# Get names of tasks +task_names = tasks.xpath('task/name/text()') +pretty_print(task_names) +``` + +#### More example scripts + +There is a growing collection of gmp-scripts in the +["scripts/"](scripts/) folder. +Some of them might be exactly what you need and all of them help writing +your own gmp scripts. + +### gvm-pyshell + +This tool is for running gmp or osp scripts interactively. It provides the same +API as [gvm-script](#gvm-script) using the +[python-gvm library](https://github.com/greenbone/python-gvm). + +#### Example program use + +Connect with given credentials via a unix domain socket and open an interactive +shell: + +```bash +gvm-pyshell --gmp-username user --gmp-password pass socket +``` + +Connect through SSH connection and open the interactive shell: + +```bash +gvm-pyshell --hostname 127.0.0.1 ssh +``` + +## Support + +For any question on the usage of `gvm-tools` or gmp scripts please use the +[Greenbone Community Portal](https://community.greenbone.net/c/gmp). If you +found a problem with the software, please +[create an issue](https://github.com/greenbone/gvm-tools/issues) on GitHub. + +## Maintainer + +This project is maintained by [Greenbone AG](https://www.greenbone.net/). + +## Contributing + +Your contributions are highly appreciated. Please +[create a pull request](https://github.com/greenbone/gvm-tools/pulls) on GitHub. +For bigger changes, please discuss it first in the +[issues](https://github.com/greenbone/gvm-tools/issues). + +For development you should use [poetry](https://python-poetry.org/) +to keep you python packages separated in different environments. First install +poetry via pip + + python3 -m pip install --user poetry + +Afterwards run + + poetry install + +in the checkout directory of `gvm-tools` (the directory containing the +`pyproject.toml` file) to install all dependencies including the packages only +required for development. + +Afterwards active the git hooks for auto-formatting and linting via +[autohooks](https://github.com/greenbone/autohooks). + + poetry run autohooks activate --force + +## License + +Copyright (C) 2017-2022 [Greenbone AG](https://www.greenbone.net/) + +Licensed under the [GNU General Public License v3.0 or later](LICENSE). + + +%prep +%autosetup -n gvm-tools-23.4.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-gvm-tools -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Mon May 15 2023 Python_Bot - 23.4.0-1 +- Package Spec generated -- cgit v1.2.3