diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..862bd5b --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +SOURCES/click-6.7.tar.gz diff --git a/.python-click.metadata b/.python-click.metadata new file mode 100644 index 0000000..6084e9a --- /dev/null +++ b/.python-click.metadata @@ -0,0 +1 @@ +83c030efae049b4dd834b01780126f0493192eee SOURCES/click-6.7.tar.gz diff --git a/SOURCES/0001-Remove-outdated-comment-about-Click-3.0.patch b/SOURCES/0001-Remove-outdated-comment-about-Click-3.0.patch new file mode 100644 index 0000000..bd5bdd9 --- /dev/null +++ b/SOURCES/0001-Remove-outdated-comment-about-Click-3.0.patch @@ -0,0 +1,24 @@ +From 4fa671b4afdde8e103a03b39dcdc66e1a10a16fa Mon Sep 17 00:00:00 2001 +From: Adam Dangoor +Date: Mon, 31 Jul 2017 17:58:41 +0100 +Subject: [PATCH 1/3] Remove outdated comment about Click 3.0 + +--- + click/core.py | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/click/core.py b/click/core.py +index 7456451..18fa9a5 100644 +--- a/click/core.py ++++ b/click/core.py +@@ -68,7 +68,6 @@ def invoke_param_callback(callback, ctx, param, value): + args = getattr(code, 'co_argcount', 3) + + if args < 3: +- # This will become a warning in Click 3.0: + from warnings import warn + warn(Warning('Invoked legacy parameter callback "%s". The new ' + 'signature for such callbacks starting with ' +-- +2.14.2 + diff --git a/SOURCES/0002-Add-pytest-option-to-not-capture-warnings.patch b/SOURCES/0002-Add-pytest-option-to-not-capture-warnings.patch new file mode 100644 index 0000000..ed34f7b --- /dev/null +++ b/SOURCES/0002-Add-pytest-option-to-not-capture-warnings.patch @@ -0,0 +1,21 @@ +From 6e7951c511b8316a73d9a8d9c4cc130becd99e93 Mon Sep 17 00:00:00 2001 +From: Adam Dangoor +Date: Mon, 31 Jul 2017 18:06:20 +0100 +Subject: [PATCH 2/3] Add pytest option to not capture warnings + +--- + pytest.ini | 2 ++ + 1 file changed, 2 insertions(+) + create mode 100644 pytest.ini + +diff --git a/pytest.ini b/pytest.ini +new file mode 100644 +index 0000000..1ceab94 +--- /dev/null ++++ b/pytest.ini +@@ -0,0 +1,2 @@ ++[pytest] ++addopts = -p no:warnings +-- +2.14.2 + diff --git a/SOURCES/0003-Catch-and-test-pytest-warning.patch b/SOURCES/0003-Catch-and-test-pytest-warning.patch new file mode 100644 index 0000000..ab8609b --- /dev/null +++ b/SOURCES/0003-Catch-and-test-pytest-warning.patch @@ -0,0 +1,54 @@ +From e6fb0fe8bc75e7931fe86e95442eec09b49caee7 Mon Sep 17 00:00:00 2001 +From: Adam Dangoor +Date: Mon, 31 Jul 2017 19:45:24 +0100 +Subject: [PATCH 3/3] Catch and test pytest warning + +--- + pytest.ini | 2 -- + tests/test_compat.py | 15 +++++++++++++-- + 2 files changed, 13 insertions(+), 4 deletions(-) + delete mode 100644 pytest.ini + +diff --git a/pytest.ini b/pytest.ini +deleted file mode 100644 +index 1ceab94..0000000 +--- a/pytest.ini ++++ /dev/null +@@ -1,2 +0,0 @@ +-[pytest] +-addopts = -p no:warnings +diff --git a/tests/test_compat.py b/tests/test_compat.py +index e4ecdc8..d86110a 100644 +--- a/tests/test_compat.py ++++ b/tests/test_compat.py +@@ -1,3 +1,5 @@ ++import pytest ++ + import click + + +@@ -11,10 +13,19 @@ if click.__version__ >= '3.0': + def cli(foo): + click.echo(foo) + +- result = runner.invoke(cli, ['--foo', 'wat']) ++ with pytest.warns(Warning) as records: ++ result = runner.invoke(cli, ['--foo', 'wat']) ++ ++ [warning_record] = records ++ warning_message = str(warning_record.message) ++ assert 'Invoked legacy parameter callback' in warning_message + assert result.exit_code == 0 ++ # Depending on the pytest version, the warning message may be ++ # in `result.output`. ++ # ++ # In pytest version 3.1 pytest started capturing warnings by default. ++ # See https://docs.pytest.org/en/latest/warnings.html#warnings-capture. + assert 'WAT' in result.output +- assert 'Invoked legacy parameter callback' in result.output + + + def test_bash_func_name(): +-- +2.14.2 + diff --git a/SPECS/python-click.spec b/SPECS/python-click.spec new file mode 100644 index 0000000..93065e1 --- /dev/null +++ b/SPECS/python-click.spec @@ -0,0 +1,205 @@ +%global pypi_name click + +%if 0%{?rhel} > 7 +# Disable python2 build by default +%bcond_with python2 +%else +%bcond_without python2 +%endif + +Name: python-%{pypi_name} +Version: 6.7 +Release: 8%{?dist} +Summary: Simple wrapper around optparse for powerful command line utilities + +License: BSD +URL: https://github.com/mitsuhiko/click +Source0: %{url}/archive/%{version}/%{pypi_name}-%{version}.tar.gz +# https://bugzilla.redhat.com/show_bug.cgi?id=1500962 +# https://github.com/pallets/click/pull/838 +Patch0: 0001-Remove-outdated-comment-about-Click-3.0.patch +Patch1: 0002-Add-pytest-option-to-not-capture-warnings.patch +Patch2: 0003-Catch-and-test-pytest-warning.patch + +BuildArch: noarch + +%global _description \ +click is a Python package for creating beautiful command line\ +interfaces in a composable way with as little amount of code as necessary.\ +It's the "Command Line Interface Creation Kit". It's highly configurable but\ +comes with good defaults out of the box. + +%description %{_description} + +%if %{with python2} +%package -n python2-%{pypi_name} +Summary: %{summary} +%{?python_provide:%python_provide python2-%{pypi_name}} +BuildRequires: python2-devel +%if ! (0%{?rhel} && 0%{?rhel} <= 7) +BuildRequires: python2-setuptools +# pytest in base RHEL is too old, we'll skip the tests there +BuildRequires: python2-pytest >= 2.8 +%else +BuildRequires: python-setuptools +%endif + +%description -n python2-%{pypi_name} %{_description} + +Python 2 version. +%endif # with python2 + +%package -n python%{python3_pkgversion}-%{pypi_name} +Summary: %{summary} +%{?python_provide:%python_provide python%{python3_pkgversion}-%{pypi_name}} +BuildRequires: python%{python3_pkgversion}-devel +BuildRequires: python%{python3_pkgversion}-setuptools +BuildRequires: python%{python3_pkgversion}-pytest >= 2.8 + +%description -n python%{python3_pkgversion}-%{pypi_name} %{_description} + +Python 3 version. + +%prep +%autosetup -n %{pypi_name}-%{version} -p1 + +%build +%if %{with python2} +%py2_build +%endif # with python2 +%py3_build + +%install +%if %{with python2} +%py2_install +%endif # with python2 +%py3_install + +%check +export PYTHONPATH=$(pwd) +export LC_ALL=en_US.UTF-8 +%if %{with python2} +%if ! (0%{?rhel} && 0%{?rhel} <= 7) +# pytest in base RHEL is too old, we'll skip the tests there +py.test-%{python2_version} tests --tb=long --verbose +%endif +%endif # with python2 +py.test-%{python3_version} tests --tb=long --verbose + +%if %{with python2} +%files -n python2-%{pypi_name} +%license LICENSE +%doc README CHANGES +%{python2_sitelib}/%{pypi_name}-*.egg-info/ +%{python2_sitelib}/%{pypi_name}/ +%endif # with python2 + +%files -n python%{python3_pkgversion}-%{pypi_name} +%license LICENSE +%doc README CHANGES +%{python3_sitelib}/%{pypi_name}-*.egg-info/ +%{python3_sitelib}/%{pypi_name}/ + +%changelog +* Fri Jun 22 2018 Charalampos Stratakis - 6.7-8 +- Conditionalize the python2 subpackage + +* Fri Feb 09 2018 Fedora Release Engineering - 6.7-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Thu Oct 12 2017 Igor Gnatenko - 6.7-6 +- Fixup EPEL packaging + +* Thu Oct 12 2017 Carl George - 6.7-6 +- Add EPEL compatibility + +* Thu Oct 12 2017 Igor Gnatenko - 6.7-5 +- Fix FTBFS + +* Thu Jul 27 2017 Fedora Release Engineering - 6.7-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Sat Feb 11 2017 Fedora Release Engineering - 6.7-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Mon Jan 09 2017 Miro HronĨok - 6.7-2 +- Fixed a copy-paste bug in %%python_provide (rhbz#1411169) + +* Sat Jan 07 2017 Igor Gnatenko - 6.7-1 +- Update to 6.7 +- Adopt to packaging guidelines + +* Tue Dec 13 2016 Charalampos Stratakis - 6.6-4 +- Enable tests + +* Fri Dec 09 2016 Charalampos Stratakis - 6.6-3 +- Rebuild for Python 3.6 +- Disable python3 tests for now + +* Tue Jul 19 2016 Fedora Release Engineering - 6.6-2 +- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages + +* Mon Apr 18 2016 Charalampos Stratakis - 6.6-1 +- Update to 6.6 +- Removed non-applied patch file. + +* Tue Mar 08 2016 Robert Kuska - 6.3-1 +- Update to 6.3 + +* Thu Feb 04 2016 Fedora Release Engineering - 6.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Tue Jan 19 2016 Robert Kuska - 6.2-1 +- Update to 6.2 + +* Wed Oct 14 2015 Robert Kuska - 5.1-2 +- Rebuilt for Python3.5 rebuild + +* Mon Aug 24 2015 Robert Kuska - 5.1-1 +- Update to 5.1 + +* Mon Aug 03 2015 Robert Kuska - 4.1-1 +- Update to 4.1 + +* Thu Jun 18 2015 Fedora Release Engineering - 4.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Sun May 31 2015 Robert Kuska - 4.0-2 +- Rebuilt + +* Wed Apr 01 2015 Robert Kuska - 4.0-1 +- Update to 4.0 + +* Fri Oct 03 2014 Robert Kuska - 3.3-1 +- Update to 3.3 + +* Sun Aug 24 2014 Robert Kuska - 3.2-2 +- Add patch for exception check of TypeError + +* Sun Aug 24 2014 Robert Kuska - 3.2-1 +- Update to 3.2 + +* Mon Aug 18 2014 Robert Kuska - 3.1-1 +- Update to 3.1 + +* Wed Jul 16 2014 Robert Kuska - 2.4-1 +- Update to 2.4 + +* Mon Jun 30 2014 Robert Kuska - 2.2-1 +- Update to 2.2 + +* Thu Jun 12 2014 Robert Kuska - 2.0-1 +- Update to 2.0 + +* Fri Jun 06 2014 Robert Kuska - 1.1-3 +- Make click own its folder +- Use pythonX_version macros from devel package + +* Thu May 29 2014 Robert Kuska - 1.1-2 +- Remove __pycache__ folder from tests + +* Mon May 12 2014 Robert Kuska - 1.1-1 +- Update source + +* Wed May 07 2014 Robert Kuska - 0.6-1 +- Initial package.