diff --git a/.gitignore b/.gitignore index 24ae674..0c76549 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1 @@ -SOURCES/pid-2.1.1.tar.gz -/pid-2.1.1.tar.gz +pid-2.2.3.tar.gz diff --git a/python-pid.spec b/python-pid.spec index 2680f9d..92f3a05 100644 --- a/python-pid.spec +++ b/python-pid.spec @@ -1,65 +1,200 @@ %global srcname pid +%global common_description %{expand: +pid provides a PidFile class that manages PID files. PidFile features: + - stale detection + - locking using fcntl + - chmod (default is 0o644) + - chown + - custom exceptions + +PidFile can also be used as a context manager or a decorator.} + +%if %{defined el6} +%bcond_without python2 +# nose is too old +%bcond_with python2_tests +%endif + +%if %{defined el7} +%bcond_without python2 +%bcond_without python2_tests +%endif + +%bcond_without python3 +%bcond_without python3_tests + Name: python-%{srcname} -Version: 2.1.1 -Release: 7%{?dist} +Version: 2.2.3 +Release: 22%{?dist} Summary: PID file management library -License: ASL 2.0 -URL: https://pypi.python.org/pypi/%{srcname} -Source0: https://pypi.python.org/packages/source/p/%{srcname}/%{srcname}-%{version}.tar.gz +License: Apache-2.0 +URL: https://github.com/trbs/pid +Source0: %pypi_source + +# https://github.com/trbs/pid/pull/23 +Patch0: use-standard-library-mock-when-available.patch BuildArch: noarch -%description -pid provides a PidFile class that manages PID files. PidFile features: - - stale detection - - locking using fcntl - - chmod (default is 0o644) - - chown - - custom exceptions +%description %{common_description} -PidFile can also be used as a context manager or a decorator. +%if %{with python2} +%package -n python2-%{srcname} +Summary: %{summary} -%package -n python3-%{srcname} -Summary: PID file management library +BuildRequires: python2-devel +BuildRequires: python2-setuptools +%if %{with python2_tests} +BuildRequires: python2-nose >= 1.0 +BuildRequires: python2-mock +%endif -BuildRequires: python3-devel -BuildRequires: python3-setuptools -BuildRequires: python3-nose +%{?python_provide:%python_provide python2-%{srcname}} -%{?python_provide:%python_provide python3-%{srcname}} +%description -n python2-%{srcname} %{common_description} +%endif -%description -n python3-%{srcname} -pid provides a PidFile class that manages PID files. PidFile features: - - stale detection - - locking using fcntl - - chmod (default is 0o644) - - chown - - custom exceptions +%if %{with python3} +%package -n python%{python3_pkgversion}-%{srcname} +Summary: %{summary} -PidFile can also be used as a context manager or a decorator. +BuildRequires: python%{python3_pkgversion}-devel +BuildRequires: python%{python3_pkgversion}-setuptools +%if %{with python3_tests} +BuildRequires: python%{python3_pkgversion}-pytest +%endif + +%{?python_provide:%python_provide python%{python3_pkgversion}-%{srcname}} + +%description -n python%{python3_pkgversion}-%{srcname} %{common_description} +%endif %prep -%autosetup -n %{srcname}-%{version} -rm -rf *.egg-info +# This needs to have a blank line after because of a bug in the EL6 macros +%autosetup -p1 -n %{srcname}-%{version} + +rm -rf %{srcname}.egg-info %build +%if %{with python2} +%py2_build +%endif +%if %{with python3} %py3_build +%endif %install +%if %{with python2} +%py2_install +%endif +%if %{with python3} %py3_install +%endif %check -%{__python3} setup.py test +%if %{with python2_tests} +PYTHONPATH=%{buildroot}%{python2_sitelib} nosetests-%{python2_version} --verbose +%endif +%if %{with python3_tests} +%pytest +%endif -%files -n python3-%{srcname} +%if %{with python2} +%files -n python2-%{srcname} %license LICENSE %doc AUTHORS CHANGELOG README.rst -%{python3_sitelib}/pid -%{python3_sitelib}/pid-*.egg-info +%{python2_sitelib}/%{srcname} +%{python2_sitelib}/%{srcname}-%{version}-py%{python2_version}.egg-info +%endif + +%if %{with python3} +%files -n python%{python3_pkgversion}-%{srcname} +%license LICENSE +%doc AUTHORS CHANGELOG README.rst +%{python3_sitelib}/%{srcname} +%{python3_sitelib}/%{srcname}-%{version}-py%{python3_version}.egg-info +%endif %changelog +* Mon Jun 24 2024 Troy Dawson - 2.2.3-22 +- Bump release for June 2024 mass rebuild + +* Mon Jan 29 2024 David Shea - 2.2.3-21 +- Migrate to SPDX license identifier + +* Fri Jan 26 2024 Fedora Release Engineering - 2.2.3-20 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Mon Jan 22 2024 Fedora Release Engineering - 2.2.3-19 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Fri Jul 21 2023 Fedora Release Engineering - 2.2.3-18 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Tue Jun 13 2023 Python Maint - 2.2.3-17 +- Rebuilt for Python 3.12 + +* Fri Jan 20 2023 Fedora Release Engineering - 2.2.3-16 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Fri Jul 22 2022 Fedora Release Engineering - 2.2.3-15 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Mon Jun 13 2022 Python Maint - 2.2.3-14 +- Rebuilt for Python 3.11 + +* Fri Jan 21 2022 Fedora Release Engineering - 2.2.3-13 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Fri Jul 23 2021 Fedora Release Engineering - 2.2.3-12 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Thu Jun 03 2021 Python Maint - 2.2.3-11 +- Rebuilt for Python 3.10 + +* Mon Feb 08 2021 Charalampos Stratakis - 2.2.3-10 +- Switch the test run from nose to pytest + +* Wed Jan 27 2021 Fedora Release Engineering - 2.2.3-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Wed Jul 29 2020 Fedora Release Engineering - 2.2.3-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Sat May 23 2020 Miro Hrončok - 2.2.3-7 +- Rebuilt for Python 3.9 + +* Thu Jan 30 2020 Fedora Release Engineering - 2.2.3-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Thu Oct 03 2019 Miro Hrončok - 2.2.3-5 +- Rebuilt for Python 3.8.0rc1 (#1748018) + +* Fri Aug 16 2019 Miro Hrončok - 2.2.3-4 +- Rebuilt for Python 3.8 + +* Fri Jul 26 2019 Fedora Release Engineering - 2.2.3-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Fri Mar 08 2019 Troy Dawson - 2.2.3-2 +- Rebuilt to change main python from 3.4 to 3.6 + +* Tue Mar 05 2019 Carl George - 2.2.3-1 +- Latest upstream +- Build python3 subpackage on el6 +- Run tests correctly + +* Sat Feb 02 2019 Fedora Release Engineering - 2.1.1-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Sat Jul 14 2018 Fedora Release Engineering - 2.1.1-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Fri Jun 15 2018 Miro Hrončok - 2.1.1-8 +- Rebuilt for Python 3.7 + * Thu Mar 22 2018 David Shea - 2.1.1-7 - Remove the python2 package diff --git a/sources b/sources index c3e0ab8..f50e72b 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (pid-2.1.1.tar.gz) = 5f20338ca902d68a0c4a614b0b8229cd498712bf1750b68fa49037e9e6915c66ad562564d70d7c9308538f4302e90473a5d253dd6366bfa561f6a2248b21a45e +SHA512 (pid-2.2.3.tar.gz) = c9630e8e2138ed04deb54b607629024359c94cf3009641a3e6b002511c76f27b111ac4216940398fb3ea10c5a6c4afd0f4e893cd34a67915c10107ec8cdc225c diff --git a/use-standard-library-mock-when-available.patch b/use-standard-library-mock-when-available.patch new file mode 100644 index 0000000..d057989 --- /dev/null +++ b/use-standard-library-mock-when-available.patch @@ -0,0 +1,16 @@ +diff --git a/tests/test_pid.py b/tests/test_pid.py +index 7c57c46..e36c29e 100644 +--- a/tests/test_pid.py ++++ b/tests/test_pid.py +@@ -2,7 +2,10 @@ + import os.path + import signal + from contextlib import contextmanager +-from mock import patch ++try: ++ from unittest.mock import patch ++except ImportError: ++ from mock import patch + + import pid +