%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 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 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 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 - 0.13.0-1 - Package Spec generated