diff --git a/.gitignore b/.gitignore index fbef357e5..ea02bdb08 100644 --- a/.gitignore +++ b/.gitignore @@ -58,3 +58,5 @@ out/ # Editor-based Rest Client .idea/httpRequests + +.pybuild/ diff --git a/cherrypy/__init__.py b/cherrypy/__init__.py index 8e27c8121..604c4a09e 100644 --- a/cherrypy/__init__.py +++ b/cherrypy/__init__.py @@ -108,10 +108,7 @@ tree = _cptree.Tree() -try: - __version__ = pkg_resources.require('cherrypy')[0].version -except Exception: - __version__ = 'unknown' +__version__ = '18.8.0' engine.listeners['before_request'] = set() diff --git a/debian/.gitignore b/debian/.gitignore new file mode 100644 index 000000000..807b51c29 --- /dev/null +++ b/debian/.gitignore @@ -0,0 +1,6 @@ +*.substvars +*debhelper* +.debhelper +files +python3-cherrypy3 +tmp diff --git a/debian/changelog b/debian/changelog new file mode 100644 index 000000000..170c9cecd --- /dev/null +++ b/debian/changelog @@ -0,0 +1,5 @@ +python-cherrypy (100:18.8.0-1) UNRELEASED; urgency=medium + + * https://github.com/cherrypy/cherrypy/releases/tag/v18.8.0 + + -- Wong Hoi Sing Edison Mon, 18 Jul 2022 16:34:16 +0800 diff --git a/debian/control b/debian/control new file mode 100644 index 000000000..01201c37b --- /dev/null +++ b/debian/control @@ -0,0 +1,32 @@ +Source: python-cherrypy +Section: python +Priority: optional +Standards-Version: 4.5.0 +Maintainer: Wong Hoi Sing Edison +Homepage: https://github.com/cherrypy/cherrypy/tags +Vcs-Browser: https://github.com/alvistack/cherrypy-cherrypy +Vcs-Git: https://github.com/alvistack/cherrypy-cherrypy.git +Build-Depends: + debhelper, + debhelper-compat (= 10), + dh-python, + fdupes, + python3-dev, + python3-setuptools, + +Package: python3-cherrypy3 +Architecture: all +Description: Object-Oriented HTTP framework + CherryPy allows developers to build web applications in much the same + way they would build any other object-oriented Python program. This + usually results in smaller source code developed in less time. +Depends: + ${misc:Depends}, + ${shlibs:Depends}, + ${python3:Depends}, + python3, + python3-cheroot (>= 8.2.1), + python3-jaraco.collections, + python3-more-itertools, + python3-portend (>= 2.1.1), + python3-zc.lockfile, diff --git a/debian/copyright b/debian/copyright new file mode 100644 index 000000000..8bfbaa6bf --- /dev/null +++ b/debian/copyright @@ -0,0 +1,21 @@ +Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ + +Files: debian/* +Copyright: 2022 Wong Hoi Sing Edison +License: Apache-2.0 + +License: Apache-2.0 + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + . + http://www.apache.org/licenses/LICENSE-2.0 + . + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + . + The complete text of the Apache version 2.0 license + can be found in "/usr/share/common-licenses/Apache-2.0". diff --git a/debian/python3-cherrypy3.install b/debian/python3-cherrypy3.install new file mode 100644 index 000000000..c529f0734 --- /dev/null +++ b/debian/python3-cherrypy3.install @@ -0,0 +1,2 @@ +usr/bin/* +usr/lib/python*/*-packages/* diff --git a/debian/python3-cherrypy3.lintian-overrides b/debian/python3-cherrypy3.lintian-overrides new file mode 100644 index 000000000..90318c3ad --- /dev/null +++ b/debian/python3-cherrypy3.lintian-overrides @@ -0,0 +1,4 @@ +python3-cherrypy3: copyright-without-copyright-notice +python3-cherrypy3: initial-upload-closes-no-bugs +python3-cherrypy3: no-manual-page +python3-cherrypy3: zero-byte-file-in-doc-directory diff --git a/debian/rules b/debian/rules new file mode 100755 index 000000000..fcaa45efe --- /dev/null +++ b/debian/rules @@ -0,0 +1,15 @@ +#!/usr/bin/make -f + +SHELL := /bin/bash + +override_dh_auto_install: + dh_auto_install --destdir=debian/tmp + find debian/tmp/usr/lib/python*/*-packages -type f -name '*.pyc' -exec rm -rf {} \; + fdupes -qnrps debian/tmp/usr/lib/python*/*-packages + +override_dh_auto_test: + +override_dh_auto_clean: + +%: + dh $@ --buildsystem=pybuild --with python3 diff --git a/debian/source/format b/debian/source/format new file mode 100644 index 000000000..163aaf8d8 --- /dev/null +++ b/debian/source/format @@ -0,0 +1 @@ +3.0 (quilt) diff --git a/debian/source/lintian-overrides b/debian/source/lintian-overrides new file mode 100644 index 000000000..73cc4e0dc --- /dev/null +++ b/debian/source/lintian-overrides @@ -0,0 +1,5 @@ +python-cherrypy source: file-without-copyright-information +python-cherrypy source: no-debian-changes +python-cherrypy source: source-contains-prebuilt-windows-binary +python-cherrypy source: source-is-missing +python-cherrypy source: source-package-encodes-python-version diff --git a/python-cherrypy.spec b/python-cherrypy.spec new file mode 100644 index 000000000..1edd2fa80 --- /dev/null +++ b/python-cherrypy.spec @@ -0,0 +1,131 @@ +# Copyright 2022 Wong Hoi Sing Edison +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +%global debug_package %{nil} + +Name: python-cherrypy +Epoch: 100 +Version: 18.8.0 +Release: 1%{?dist} +BuildArch: noarch +Summary: Object-Oriented HTTP framework +License: BSD-3-Clause +URL: https://github.com/cherrypy/cherrypy/tags +Source0: %{name}_%{version}.orig.tar.gz +BuildRequires: fdupes +BuildRequires: python-rpm-macros +BuildRequires: python3-devel +BuildRequires: python3-setuptools + +%description +CherryPy allows developers to build web applications in much the same +way they would build any other object-oriented Python program. This +usually results in smaller source code developed in less time. + +%prep +%autosetup -T -c -n %{name}_%{version}-%{release} +tar -zx -f %{S:0} --strip-components=1 -C . + +%build +%py3_build + +%install +%py3_install +find %{buildroot}%{python3_sitelib} -type f -name '*.pyc' -exec rm -rf {} \; +fdupes -qnrps %{buildroot}%{python3_sitelib} + +%check + +%if 0%{?suse_version} > 1500 +%package -n python%{python3_version_nodots}-CherryPy +Summary: Object-Oriented HTTP framework +Requires: python3 +Requires: python3-cheroot >= 8.2.1 +Requires: python3-jaraco.collections +Requires: python3-more-itertools +Requires: python3-portend >= 2.1.1 +Requires: python3-zc.lockfile +Provides: python3-CherryPy = %{epoch}:%{version}-%{release} +Provides: python3dist(CherryPy) = %{epoch}:%{version}-%{release} +Provides: python%{python3_version}-CherryPy = %{epoch}:%{version}-%{release} +Provides: python%{python3_version}dist(CherryPy) = %{epoch}:%{version}-%{release} +Provides: python%{python3_version_nodots}-CherryPy = %{epoch}:%{version}-%{release} +Provides: python%{python3_version_nodots}dist(CherryPy) = %{epoch}:%{version}-%{release} + +%description -n python%{python3_version_nodots}-CherryPy +CherryPy allows developers to build web applications in much the same +way they would build any other object-oriented Python program. This +usually results in smaller source code developed in less time. + +%files -n python%{python3_version_nodots}-CherryPy +%license LICENSE.md +%{_bindir}/* +%{python3_sitelib}/* +%endif + +%if 0%{?sle_version} > 150000 +%package -n python3-CherryPy +Summary: Object-Oriented HTTP framework +Requires: python3 +Requires: python3-cheroot >= 8.2.1 +Requires: python3-jaraco.collections +Requires: python3-more-itertools +Requires: python3-portend >= 2.1.1 +Requires: python3-zc.lockfile +Provides: python3-CherryPy = %{epoch}:%{version}-%{release} +Provides: python3dist(CherryPy) = %{epoch}:%{version}-%{release} +Provides: python%{python3_version}-CherryPy = %{epoch}:%{version}-%{release} +Provides: python%{python3_version}dist(CherryPy) = %{epoch}:%{version}-%{release} +Provides: python%{python3_version_nodots}-CherryPy = %{epoch}:%{version}-%{release} +Provides: python%{python3_version_nodots}dist(CherryPy) = %{epoch}:%{version}-%{release} + +%description -n python3-CherryPy +CherryPy allows developers to build web applications in much the same +way they would build any other object-oriented Python program. This +usually results in smaller source code developed in less time. + +%files -n python3-CherryPy +%license LICENSE.md +%{_bindir}/* +%{python3_sitelib}/* +%endif + +%if !(0%{?suse_version} > 1500) && !(0%{?sle_version} > 150000) +%package -n python3-cherrypy +Summary: Object-Oriented HTTP framework +Requires: python3 +Requires: python3-cheroot >= 8.2.1 +Requires: python3-jaraco-collections +Requires: python3-more-itertools +Requires: python3-portend >= 2.1.1 +Requires: python3-zc-lockfile +Provides: python3-cherrypy = %{epoch}:%{version}-%{release} +Provides: python3dist(cherrypy) = %{epoch}:%{version}-%{release} +Provides: python%{python3_version}-cherrypy = %{epoch}:%{version}-%{release} +Provides: python%{python3_version}dist(cherrypy) = %{epoch}:%{version}-%{release} +Provides: python%{python3_version_nodots}-cherrypy = %{epoch}:%{version}-%{release} +Provides: python%{python3_version_nodots}dist(cherrypy) = %{epoch}:%{version}-%{release} + +%description -n python3-cherrypy +CherryPy allows developers to build web applications in much the same +way they would build any other object-oriented Python program. This +usually results in smaller source code developed in less time. + +%files -n python3-cherrypy +%license LICENSE.md +%{_bindir}/* +%{python3_sitelib}/* +%endif + +%changelog diff --git a/setup.py b/setup.py index c77b28fcc..04c2aea04 100644 --- a/setup.py +++ b/setup.py @@ -11,7 +11,7 @@ params = dict( name=name, - use_scm_version=True, + version='18.8.0', description='Object-Oriented HTTP framework', author='CherryPy Team', author_email='team@cherrypy.dev', @@ -104,9 +104,6 @@ 'pywin32 >= 227', ], }, - setup_requires=[ - 'setuptools_scm', - ], python_requires='>=3.6', )