summaryrefslogtreecommitdiff
path: root/python-debutizer.spec
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2023-05-15 08:24:42 +0000
committerCoprDistGit <infra@openeuler.org>2023-05-15 08:24:42 +0000
commit4273ea2afda5b4cde7ca631c1bfe4d0c62b71c81 (patch)
treea2a54a2a50edd7b298f0d6118568f2f180bfa6f7 /python-debutizer.spec
parentd8cdb44c7613c8f05aa3a5835e1a85c6db15bbe8 (diff)
automatic import of python-debutizer
Diffstat (limited to 'python-debutizer.spec')
-rw-r--r--python-debutizer.spec444
1 files changed, 444 insertions, 0 deletions
diff --git a/python-debutizer.spec b/python-debutizer.spec
new file mode 100644
index 0000000..d38e910
--- /dev/null
+++ b/python-debutizer.spec
@@ -0,0 +1,444 @@
+%global _empty_manifest_terminate_build 0
+Name: python-debutizer
+Version: 0.13.0
+Release: 1
+Summary: A tool for managing APT packages
+License: BSD License
+URL: https://github.com/velovix/debutizer
+Source0: https://mirrors.nju.edu.cn/pypi/web/packages/b2/07/e11fe077e73026432ccd2e3f873528947a1ddb58f99a7fe1710ad45b6bd3/debutizer-0.13.0.tar.gz
+BuildArch: noarch
+
+Requires: python3-debian
+Requires: python3-pyxdg
+Requires: python3-requests
+Requires: python3-flask
+Requires: python3-PyYAML
+Requires: python3-pre-commit
+Requires: python3-pytest
+Requires: python3-black
+Requires: python3-isort
+Requires: python3-mypy
+Requires: python3-types-requests
+Requires: python3-build
+Requires: python3-types-setuptools
+Requires: python3-sphinx
+Requires: python3-furo
+
+%description
+# Debutizer
+
+Debutizer is a tool for managing APT packages, targeted at users who need to
+manage a suite of potentially interdependent packages and want to do so with
+minimal boilerplate and modern continuous integration tooling.
+
+_________________
+
+[![Lint Status](https://github.com/velovix/debutizer/workflows/Lint/badge.svg?branch=main)](https://github.com/velovix/debutizer/actions?query=workflow%3ALint)
+[![Test Status](https://github.com/velovix/debutizer/workflows/Test/badge.svg?branch=main)](https://github.com/velovix/debutizer/actions?query=workflow%3ATest)
+[![Docs Status](https://readthedocs.org/projects/debutizer/badge/?version=latest)](https://debutizer.readthedocs.io/en/latest/)
+[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
+[![Imports: isort](https://img.shields.io/badge/%20imports-isort-%231674b1?style=flat&labelColor=ef8336)](https://timothycrosley.github.io/isort/)
+
+_________________
+
+## Installation
+
+### APT Repository (Recommended)
+
+Naturally, Debutizer is available for installation as an APT repository, through
+a PPA. If you're running on a Debian-based distribution, Debutizer can be
+installed with the following commands:
+
+```bash
+sudo add-apt-repository ppa:velovix/debutizer
+sudo apt update
+sudo apt install debutizer
+```
+
+### PyPI
+
+Debutizer is also available on PyPI and can be installed like any other Python
+package. This is a good option for non-Debian Linux environments, but you will
+need to install Debutizer's system dependencies yourself.
+
+Pipx is the recommended way to install through PyPI, as it gives Debutizer its
+own virtual environment to run in.
+
+```
+pipx install debutizer
+```
+
+You can check if Debutizer's system dependencies are available by running
+`debutizer check`.
+
+### From Source
+
+Start by cloning the repository:
+
+```bash
+git clone https://github.com/velovix/debutizer
+```
+
+Then, assuming you have Python 3.6+ and Pip installed, run the following
+command in the directory you cloned into:
+
+```bash
+pip3 install --constraint constraints.txt .
+```
+
+This will take care of installing Python dependencies through Pip, but system
+dependencies will have to be installed manually. Use `debutizer check` to see
+which, if any, system dependencies are missing.
+
+## Development
+
+If you find a bug or need a new feature from Debutizer, please feel free to
+create an issue! If you're feeling especially generous and would like to send
+a pull request, take a look at this section for how to get started.
+
+### Dev Dependencies
+
+Development dependencies can be installed using Pip with the `dev` extra
+included. This should be done in a virtualenv.
+
+```bash
+pip3 install --constraint constraints.txt ".[dev]"
+```
+
+This project uses a `constraints.txt` file to pin dependencies. Since Debutizer
+is often run as an APT package that uses distribution-supplied versions of our
+Python dependencies, this pinning is mostly done for the benefit of keeping
+development environments consistent.
+
+If you need to update the pinned version for a given dependency, you can run
+the following commands within your virtualenv.
+
+```bash
+pip3 update <dependency>
+pip3 freeze --exclude debutizer --exclude python-debian > constraints.txt
+```
+
+### Linting
+
+Debutizer makes use of a few linting tools to keep code style consistent and to
+reduce bugs. The CI will run these for you and fail if there are issues, but
+you may find it convenient to set up the pre-commit hooks as well.
+
+```bash
+pre-commit install
+```
+
+### Testing
+
+Debutizer uses PyTest for automated testing. Unit tests can be run with the
+following command:
+
+```bash
+pytest tests/unit
+```
+
+Unfortunately, because integration tests build packages with `pbuilder`,
+running integration tests requires `sudo`. Using `sudo` with a virtualenv is
+a bit tricky, but this unintuitive command will do it:
+
+```bash
+sudo $(which python) -m pytest tests
+```
+
+
+%package -n python3-debutizer
+Summary: A tool for managing APT packages
+Provides: python-debutizer
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-debutizer
+# Debutizer
+
+Debutizer is a tool for managing APT packages, targeted at users who need to
+manage a suite of potentially interdependent packages and want to do so with
+minimal boilerplate and modern continuous integration tooling.
+
+_________________
+
+[![Lint Status](https://github.com/velovix/debutizer/workflows/Lint/badge.svg?branch=main)](https://github.com/velovix/debutizer/actions?query=workflow%3ALint)
+[![Test Status](https://github.com/velovix/debutizer/workflows/Test/badge.svg?branch=main)](https://github.com/velovix/debutizer/actions?query=workflow%3ATest)
+[![Docs Status](https://readthedocs.org/projects/debutizer/badge/?version=latest)](https://debutizer.readthedocs.io/en/latest/)
+[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
+[![Imports: isort](https://img.shields.io/badge/%20imports-isort-%231674b1?style=flat&labelColor=ef8336)](https://timothycrosley.github.io/isort/)
+
+_________________
+
+## Installation
+
+### APT Repository (Recommended)
+
+Naturally, Debutizer is available for installation as an APT repository, through
+a PPA. If you're running on a Debian-based distribution, Debutizer can be
+installed with the following commands:
+
+```bash
+sudo add-apt-repository ppa:velovix/debutizer
+sudo apt update
+sudo apt install debutizer
+```
+
+### PyPI
+
+Debutizer is also available on PyPI and can be installed like any other Python
+package. This is a good option for non-Debian Linux environments, but you will
+need to install Debutizer's system dependencies yourself.
+
+Pipx is the recommended way to install through PyPI, as it gives Debutizer its
+own virtual environment to run in.
+
+```
+pipx install debutizer
+```
+
+You can check if Debutizer's system dependencies are available by running
+`debutizer check`.
+
+### From Source
+
+Start by cloning the repository:
+
+```bash
+git clone https://github.com/velovix/debutizer
+```
+
+Then, assuming you have Python 3.6+ and Pip installed, run the following
+command in the directory you cloned into:
+
+```bash
+pip3 install --constraint constraints.txt .
+```
+
+This will take care of installing Python dependencies through Pip, but system
+dependencies will have to be installed manually. Use `debutizer check` to see
+which, if any, system dependencies are missing.
+
+## Development
+
+If you find a bug or need a new feature from Debutizer, please feel free to
+create an issue! If you're feeling especially generous and would like to send
+a pull request, take a look at this section for how to get started.
+
+### Dev Dependencies
+
+Development dependencies can be installed using Pip with the `dev` extra
+included. This should be done in a virtualenv.
+
+```bash
+pip3 install --constraint constraints.txt ".[dev]"
+```
+
+This project uses a `constraints.txt` file to pin dependencies. Since Debutizer
+is often run as an APT package that uses distribution-supplied versions of our
+Python dependencies, this pinning is mostly done for the benefit of keeping
+development environments consistent.
+
+If you need to update the pinned version for a given dependency, you can run
+the following commands within your virtualenv.
+
+```bash
+pip3 update <dependency>
+pip3 freeze --exclude debutizer --exclude python-debian > constraints.txt
+```
+
+### Linting
+
+Debutizer makes use of a few linting tools to keep code style consistent and to
+reduce bugs. The CI will run these for you and fail if there are issues, but
+you may find it convenient to set up the pre-commit hooks as well.
+
+```bash
+pre-commit install
+```
+
+### Testing
+
+Debutizer uses PyTest for automated testing. Unit tests can be run with the
+following command:
+
+```bash
+pytest tests/unit
+```
+
+Unfortunately, because integration tests build packages with `pbuilder`,
+running integration tests requires `sudo`. Using `sudo` with a virtualenv is
+a bit tricky, but this unintuitive command will do it:
+
+```bash
+sudo $(which python) -m pytest tests
+```
+
+
+%package help
+Summary: Development documents and examples for debutizer
+Provides: python3-debutizer-doc
+%description help
+# Debutizer
+
+Debutizer is a tool for managing APT packages, targeted at users who need to
+manage a suite of potentially interdependent packages and want to do so with
+minimal boilerplate and modern continuous integration tooling.
+
+_________________
+
+[![Lint Status](https://github.com/velovix/debutizer/workflows/Lint/badge.svg?branch=main)](https://github.com/velovix/debutizer/actions?query=workflow%3ALint)
+[![Test Status](https://github.com/velovix/debutizer/workflows/Test/badge.svg?branch=main)](https://github.com/velovix/debutizer/actions?query=workflow%3ATest)
+[![Docs Status](https://readthedocs.org/projects/debutizer/badge/?version=latest)](https://debutizer.readthedocs.io/en/latest/)
+[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
+[![Imports: isort](https://img.shields.io/badge/%20imports-isort-%231674b1?style=flat&labelColor=ef8336)](https://timothycrosley.github.io/isort/)
+
+_________________
+
+## Installation
+
+### APT Repository (Recommended)
+
+Naturally, Debutizer is available for installation as an APT repository, through
+a PPA. If you're running on a Debian-based distribution, Debutizer can be
+installed with the following commands:
+
+```bash
+sudo add-apt-repository ppa:velovix/debutizer
+sudo apt update
+sudo apt install debutizer
+```
+
+### PyPI
+
+Debutizer is also available on PyPI and can be installed like any other Python
+package. This is a good option for non-Debian Linux environments, but you will
+need to install Debutizer's system dependencies yourself.
+
+Pipx is the recommended way to install through PyPI, as it gives Debutizer its
+own virtual environment to run in.
+
+```
+pipx install debutizer
+```
+
+You can check if Debutizer's system dependencies are available by running
+`debutizer check`.
+
+### From Source
+
+Start by cloning the repository:
+
+```bash
+git clone https://github.com/velovix/debutizer
+```
+
+Then, assuming you have Python 3.6+ and Pip installed, run the following
+command in the directory you cloned into:
+
+```bash
+pip3 install --constraint constraints.txt .
+```
+
+This will take care of installing Python dependencies through Pip, but system
+dependencies will have to be installed manually. Use `debutizer check` to see
+which, if any, system dependencies are missing.
+
+## Development
+
+If you find a bug or need a new feature from Debutizer, please feel free to
+create an issue! If you're feeling especially generous and would like to send
+a pull request, take a look at this section for how to get started.
+
+### Dev Dependencies
+
+Development dependencies can be installed using Pip with the `dev` extra
+included. This should be done in a virtualenv.
+
+```bash
+pip3 install --constraint constraints.txt ".[dev]"
+```
+
+This project uses a `constraints.txt` file to pin dependencies. Since Debutizer
+is often run as an APT package that uses distribution-supplied versions of our
+Python dependencies, this pinning is mostly done for the benefit of keeping
+development environments consistent.
+
+If you need to update the pinned version for a given dependency, you can run
+the following commands within your virtualenv.
+
+```bash
+pip3 update <dependency>
+pip3 freeze --exclude debutizer --exclude python-debian > constraints.txt
+```
+
+### Linting
+
+Debutizer makes use of a few linting tools to keep code style consistent and to
+reduce bugs. The CI will run these for you and fail if there are issues, but
+you may find it convenient to set up the pre-commit hooks as well.
+
+```bash
+pre-commit install
+```
+
+### Testing
+
+Debutizer uses PyTest for automated testing. Unit tests can be run with the
+following command:
+
+```bash
+pytest tests/unit
+```
+
+Unfortunately, because integration tests build packages with `pbuilder`,
+running integration tests requires `sudo`. Using `sudo` with a virtualenv is
+a bit tricky, but this unintuitive command will do it:
+
+```bash
+sudo $(which python) -m pytest tests
+```
+
+
+%prep
+%autosetup -n debutizer-0.13.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-debutizer -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Mon May 15 2023 Python_Bot <Python_Bot@openeuler.org> - 0.13.0-1
+- Package Spec generated