%global _empty_manifest_terminate_build 0 Name: python-heptapod Version: 4.2.0 Release: 1 Summary: Heptapod server-side Mercurial hooks, extension, etc. License: GPLv2+ URL: https://foss.heptapod.net/heptapod/py-heptapod Source0: https://mirrors.aliyun.com/pypi/web/packages/de/62/be99ab3f26c785ba0bbd7cd36216c647b9683692773a3b9917812323b060/heptapod-4.2.0.tar.gz BuildArch: noarch %description # Python components of the Heptapod server [![build status](https://foss.heptapod.net/heptapod/py-heptapod/badges/branch/default/build.svg)](https://foss.heptapod.net/heptapod/py-heptapod/commits/branch/default) [![tests coverage](https://foss.heptapod.net/heptapod/py-heptapod/badges/branch/default/coverage.svg)](https://foss.heptapod.net/heptapod/py-heptapod/commits/branch/default) [Heptapod](https://heptapod.net) is the friendly fork of GitLab that brings Mercurial compatibility in. It is a system with multiple components, involving several programmation languages, notably Ruby, Go and Python. The purpose of this package is to centralize all Heptapod Python code that is not (yet) in any other, more generic Python project (Mercurial, its extensions, general-purpose libraries…), and keep them in a high state of quality. ## Scope and versioning policy This Python project is not meant for anything else than being a component of the Heptapod **server**, nor is it the whole of Heptapod, only the parts that happen to be written in Python. The interdependency with other Heptapod components is very tight, to the point that the requirements file of Heptapod releases usually completely pins this project. Starting with version 1.0.0 (for Heptapod 0.17), we are planning to follow [semver](https://semver.org) rules (with PEP 440 for development versions). Python 3 is fully supported since version 0.13.0, tested with 3.7 and 3.8. [Python 2 support is deprecated](https://foss.heptapod.net/heptapod/heptapod/-/issues/353) as of version 1.0.0. Only the `testhelpers` subpackage is fully supported for both Python versions, because it can be used for more general Mercurial related testing. Python 2 support will be dropped entirely when we will have a new home for `testhelpers`. ## Development guide ### Launching the tests We have unit and integration tests with `pytest`, they'd be typically run in a virtualenv: ``` python 3 -m venv venv source venv/bin/activate ./run-all-tests ``` We have a 100% coverage policy, that is enforced by `run-all-tests` and therefore by the continuous integration. This full run takes about 20 seconds in our continuous integration, and usually less than that on developer workstations. ### Workflow rules We follow the Heptapod default workflow. Please make a topic, and submit a Merge Request. Merge Request Pipelines have to pass, and coverage to stay at 100% for the MR to be technically acceptable – we can help achieving these results, it's not mandatory for submitting MRs and gather some feedback. ## Contents ### WSGI serving of repositories Provided by `heptapod.wsgi` (not fully independent yet) ### Mercurial Hooks `heptapod.hooks.check_publish.check_publish`: permission rules about public changesets in pushes. `heptapod.hooks.git_sync.mirror`: synchronisation to inner auxiliary Git repository for exposition to GitLab `heptapod.hooks.dev_util`: useful hooks for debug and development ### Mercurial extension The `heptapod` extension will provide specific commands and generally everything that should be done with full access to Mercurial internals. %package -n python3-heptapod Summary: Heptapod server-side Mercurial hooks, extension, etc. Provides: python-heptapod BuildRequires: python3-devel BuildRequires: python3-setuptools BuildRequires: python3-pip %description -n python3-heptapod # Python components of the Heptapod server [![build status](https://foss.heptapod.net/heptapod/py-heptapod/badges/branch/default/build.svg)](https://foss.heptapod.net/heptapod/py-heptapod/commits/branch/default) [![tests coverage](https://foss.heptapod.net/heptapod/py-heptapod/badges/branch/default/coverage.svg)](https://foss.heptapod.net/heptapod/py-heptapod/commits/branch/default) [Heptapod](https://heptapod.net) is the friendly fork of GitLab that brings Mercurial compatibility in. It is a system with multiple components, involving several programmation languages, notably Ruby, Go and Python. The purpose of this package is to centralize all Heptapod Python code that is not (yet) in any other, more generic Python project (Mercurial, its extensions, general-purpose libraries…), and keep them in a high state of quality. ## Scope and versioning policy This Python project is not meant for anything else than being a component of the Heptapod **server**, nor is it the whole of Heptapod, only the parts that happen to be written in Python. The interdependency with other Heptapod components is very tight, to the point that the requirements file of Heptapod releases usually completely pins this project. Starting with version 1.0.0 (for Heptapod 0.17), we are planning to follow [semver](https://semver.org) rules (with PEP 440 for development versions). Python 3 is fully supported since version 0.13.0, tested with 3.7 and 3.8. [Python 2 support is deprecated](https://foss.heptapod.net/heptapod/heptapod/-/issues/353) as of version 1.0.0. Only the `testhelpers` subpackage is fully supported for both Python versions, because it can be used for more general Mercurial related testing. Python 2 support will be dropped entirely when we will have a new home for `testhelpers`. ## Development guide ### Launching the tests We have unit and integration tests with `pytest`, they'd be typically run in a virtualenv: ``` python 3 -m venv venv source venv/bin/activate ./run-all-tests ``` We have a 100% coverage policy, that is enforced by `run-all-tests` and therefore by the continuous integration. This full run takes about 20 seconds in our continuous integration, and usually less than that on developer workstations. ### Workflow rules We follow the Heptapod default workflow. Please make a topic, and submit a Merge Request. Merge Request Pipelines have to pass, and coverage to stay at 100% for the MR to be technically acceptable – we can help achieving these results, it's not mandatory for submitting MRs and gather some feedback. ## Contents ### WSGI serving of repositories Provided by `heptapod.wsgi` (not fully independent yet) ### Mercurial Hooks `heptapod.hooks.check_publish.check_publish`: permission rules about public changesets in pushes. `heptapod.hooks.git_sync.mirror`: synchronisation to inner auxiliary Git repository for exposition to GitLab `heptapod.hooks.dev_util`: useful hooks for debug and development ### Mercurial extension The `heptapod` extension will provide specific commands and generally everything that should be done with full access to Mercurial internals. %package help Summary: Development documents and examples for heptapod Provides: python3-heptapod-doc %description help # Python components of the Heptapod server [![build status](https://foss.heptapod.net/heptapod/py-heptapod/badges/branch/default/build.svg)](https://foss.heptapod.net/heptapod/py-heptapod/commits/branch/default) [![tests coverage](https://foss.heptapod.net/heptapod/py-heptapod/badges/branch/default/coverage.svg)](https://foss.heptapod.net/heptapod/py-heptapod/commits/branch/default) [Heptapod](https://heptapod.net) is the friendly fork of GitLab that brings Mercurial compatibility in. It is a system with multiple components, involving several programmation languages, notably Ruby, Go and Python. The purpose of this package is to centralize all Heptapod Python code that is not (yet) in any other, more generic Python project (Mercurial, its extensions, general-purpose libraries…), and keep them in a high state of quality. ## Scope and versioning policy This Python project is not meant for anything else than being a component of the Heptapod **server**, nor is it the whole of Heptapod, only the parts that happen to be written in Python. The interdependency with other Heptapod components is very tight, to the point that the requirements file of Heptapod releases usually completely pins this project. Starting with version 1.0.0 (for Heptapod 0.17), we are planning to follow [semver](https://semver.org) rules (with PEP 440 for development versions). Python 3 is fully supported since version 0.13.0, tested with 3.7 and 3.8. [Python 2 support is deprecated](https://foss.heptapod.net/heptapod/heptapod/-/issues/353) as of version 1.0.0. Only the `testhelpers` subpackage is fully supported for both Python versions, because it can be used for more general Mercurial related testing. Python 2 support will be dropped entirely when we will have a new home for `testhelpers`. ## Development guide ### Launching the tests We have unit and integration tests with `pytest`, they'd be typically run in a virtualenv: ``` python 3 -m venv venv source venv/bin/activate ./run-all-tests ``` We have a 100% coverage policy, that is enforced by `run-all-tests` and therefore by the continuous integration. This full run takes about 20 seconds in our continuous integration, and usually less than that on developer workstations. ### Workflow rules We follow the Heptapod default workflow. Please make a topic, and submit a Merge Request. Merge Request Pipelines have to pass, and coverage to stay at 100% for the MR to be technically acceptable – we can help achieving these results, it's not mandatory for submitting MRs and gather some feedback. ## Contents ### WSGI serving of repositories Provided by `heptapod.wsgi` (not fully independent yet) ### Mercurial Hooks `heptapod.hooks.check_publish.check_publish`: permission rules about public changesets in pushes. `heptapod.hooks.git_sync.mirror`: synchronisation to inner auxiliary Git repository for exposition to GitLab `heptapod.hooks.dev_util`: useful hooks for debug and development ### Mercurial extension The `heptapod` extension will provide specific commands and generally everything that should be done with full access to Mercurial internals. %prep %autosetup -n heptapod-4.2.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-heptapod -f filelist.lst %dir %{python3_sitelib}/* %files help -f doclist.lst %{_docdir}/* %changelog * Thu Jun 08 2023 Python_Bot - 4.2.0-1 - Package Spec generated