Compare commits

..

No commits in common. "c9" and "c8s-stream-DL1" have entirely different histories.

3 changed files with 147 additions and 100 deletions

2
.gitignore vendored
View File

@ -1 +1 @@
SOURCES/qrcode-6.1.tar.gz SOURCES/qrcode-5.1.tar.gz

View File

@ -1 +1 @@
1d21c20127c435c43e6365f4166857546fcac074 SOURCES/qrcode-6.1.tar.gz 686d017fb655fa2f1d600b1a8672f5ee538ec2d6 SOURCES/qrcode-5.1.tar.gz

View File

@ -1,47 +1,77 @@
%global pkgname qrcode %global pkgname qrcode
%if 0%{?rhel} %if 0%{?rhel} > 7
# RHEL only ships qrcode-core and does not have pillow # Disable python2 build by default
%bcond_without coreonly %bcond_with python2
%else %else
%bcond_with coreonly %bcond_without python2
%endif %endif
Name: python-%{pkgname} Name: python-%{pkgname}
Version: 6.1 Version: 5.1
Release: 12%{?dist} Release: 12%{?dist}
Summary: Python QR Code image generator Summary: Python QR Code image generator
License: BSD License: BSD
URL: https://github.com/lincolnloop/python-qrcode URL: https://github.com/lincolnloop/python-qrcode
Source0: https://pypi.python.org/packages/source/q/qrcode/qrcode-%{version}.tar.gz Source0: http://pypi.python.org/packages/source/q/qrcode/qrcode-%{version}.tar.gz
BuildArch: noarch BuildArch: noarch
%if %{with python2}
BuildRequires: python2-devel
BuildRequires: python2-setuptools
BuildRequires: python2-imaging
BuildRequires: python2-six
%endif # with python2
BuildRequires: python3-devel BuildRequires: python3-devel
BuildRequires: python3-setuptools BuildRequires: python3-setuptools
BuildRequires: python3-six
%if %{without coreonly}
BuildRequires: python3-imaging BuildRequires: python3-imaging
%endif BuildRequires: python3-six
%global _description\ %global _description\
This module uses the Python Imaging Library (PIL) to allow for the\ This module uses the Python Imaging Library (PIL) to allow for the\
generation of QR Codes. generation of QR Codes.\
%description %_description %description %_description
%if %{without coreonly} %if %{with python2}
%package -n python2-%{pkgname}
Summary: %summary
Requires: python2-imaging
Requires: python2-%{pkgname}-core = %{version}-%{release}
%{?python_provide:%python_provide python2-%{pkgname}}
%description -n python2-%{pkgname} %_description
%package -n python2-%{pkgname}-core
Requires: python-six
Conflicts: python-qrcode < 5.0
Summary: Python 2 QR Code image generator (core library)
%{?python_provide:%python_provide python2-%{pkgname}-core}
%description -n python2-%{pkgname}-core
Core Python 2 module for QR code generation. Does not contain image rendering.
%endif # with python2
%package -n python3-%{pkgname} %package -n python3-%{pkgname}
Summary: Python QR Code image generator Summary: Python QR Code image generator
Requires: python3-imaging Requires: python3-imaging
# For entry point: # For entry point:
%if 0%{?rhel} && 0%{?rhel} >= 8
Requires: platform-python-setuptools
%else
Requires: python3-setuptools Requires: python3-setuptools
%endif
Requires: python3-%{pkgname}-core = %{version}-%{release} Requires: python3-%{pkgname}-core = %{version}-%{release}
%description -n python3-%{pkgname} %description -n python3-%{pkgname}
This module uses the Python Imaging Library (PIL) to allow for the This module uses the Python Imaging Library (PIL) to allow for the
generation of QR Codes. Python 3 version. generation of QR Codes. Python 3 version.
%endif
%package -n python3-%{pkgname}-core %package -n python3-%{pkgname}-core
Requires: python3-six Requires: python3-six
@ -50,23 +80,59 @@ Summary: Python 3 QR Code image generator (core library)
%description -n python3-%{pkgname}-core %description -n python3-%{pkgname}-core
Core Python 3 module for QR code generation. Does not contain image rendering. Core Python 3 module for QR code generation. Does not contain image rendering.
%prep %prep
%autosetup -n qrcode-%{version} %setup -qc
%if %{with python2}
cp -a %{pkgname}-%{version} python2
# The pure plugin requires pymaging which is not packaged in Fedora. # The pure plugin requires pymaging which is not packaged in Fedora.
rm qrcode/image/pure.py* rm python2/qrcode/image/pure.py*
# Remove shebang # Remove shebang
sed -i '1d' qrcode/console_scripts.py sed -i '1d' python2/qrcode/console_scripts.py
%endif # with python2
cp -a %{pkgname}-%{version} python3
# The pure plugin requires pymaging which is not packaged in Fedora.
rm python3/qrcode/image/pure.py*
# Remove shebang
sed -i '1d' python3/qrcode/console_scripts.py
%build %build
%if %{with python2}
pushd python2
%py2_build
popd
%endif # with python2
pushd python3
%py3_build %py3_build
popd
%install %install
%if %{with python2}
pushd python2
%py2_install
# Be sure binscripts are Python 3
rm %{buildroot}%{_bindir}/*
# Do not install tests
rm -r %{buildroot}%{python2_sitelib}/%{pkgname}/tests
popd
%endif # with python2
pushd python3
%py3_install %py3_install
# Do not install tests # Do not install tests
rm -r %{buildroot}%{python3_sitelib}/%{pkgname}/tests rm -r %{buildroot}%{python3_sitelib}/%{pkgname}/tests
popd
# #
# In previous iterations of the package, the qr script had been # In previous iterations of the package, the qr script had been
@ -76,101 +142,82 @@ rm -r %{buildroot}%{python3_sitelib}/%{pkgname}/tests
# #
ln -s qr %{buildroot}%{_bindir}/qrcode ln -s qr %{buildroot}%{_bindir}/qrcode
%if %{with coreonly}
# remove files that were part of python3-qrcode package and not shipped in
# python3-qrcode-core
rm %{buildroot}%{_bindir}/qr
rm %{buildroot}%{_bindir}/qrcode
rm %{buildroot}%{_mandir}/man1/qr.1*
%pycached rm %{buildroot}%{python3_sitelib}/%{pkgname}/image/svg.py
%pycached rm %{buildroot}%{python3_sitelib}/%{pkgname}/image/pil.py
%endif
%check %check
%if %{with coreonly} # in lieue of a real test suite
# test method requires PIL modules=$(find qrcode -name '*.py' \
sed -i s/test_render_pil/disabled_render_pil/g qrcode/tests/test_qrcode.py | grep -v __init__ \
%endif | sort \
PYTHONPATH=%{buildroot}%{python3_sitelib} \ | sed -e 's|/|.|g' \
%{__python3} -m unittest -v qrcode.tests.test_qrcode.QRCodeTests | sed -e 's|.py$||g');
%if %{with python2}
pushd python2
for m in $modules;
do
%{__python2} -c "import $m"
done
popd
%endif # with python2
pushd python3
for m in $modules;
do
%{__python3} -c "import $m"
done
popd
%if %{with python2}
%files -n python2-%{pkgname}
%{python2_sitelib}/%{pkgname}/image/svg.py*
%{python2_sitelib}/%{pkgname}/image/pil.py*
%files -n python2-%{pkgname}-core
%doc python2/README.rst python2/CHANGES.rst
%license python2/LICENSE
%dir %{python2_sitelib}/%{pkgname}/
%dir %{python2_sitelib}/%{pkgname}/image
%{python2_sitelib}/%{pkgname}*.egg-info
%{python2_sitelib}/%{pkgname}/*.py*
%{python2_sitelib}/%{pkgname}/image/__init__.py*
%{python2_sitelib}/%{pkgname}/image/base.py*
%endif # with python2
%if %{without coreonly}
%files -n python3-%{pkgname} %files -n python3-%{pkgname}
%{_bindir}/qr %{_bindir}/qr
%{_bindir}/qrcode %{_bindir}/qrcode
%{_mandir}/man1/qr.1* %{_mandir}/man1/qr.1*
%pycached %{python3_sitelib}/%{pkgname}/image/svg.py %{python3_sitelib}/%{pkgname}/image/svg.py*
%pycached %{python3_sitelib}/%{pkgname}/image/pil.py %{python3_sitelib}/%{pkgname}/image/pil.py*
%endif %{python3_sitelib}/%{pkgname}/image/__pycache__/svg.*
%{python3_sitelib}/%{pkgname}/image/__pycache__/pil.*
%files -n python3-%{pkgname}-core
%doc README.rst CHANGES.rst %files -n python3-%{pkgname}-core
%license LICENSE %doc python3/README.rst python3/CHANGES.rst
%{python3_sitelib}/%{pkgname} %license python3/LICENSE
%dir %{python3_sitelib}/%{pkgname}/
%dir %{python3_sitelib}/%{pkgname}/image
%dir %{python3_sitelib}/%{pkgname}/image/__pycache__
%{python3_sitelib}/%{pkgname}*.egg-info %{python3_sitelib}/%{pkgname}*.egg-info
%{python3_sitelib}/%{pkgname}/*.py*
%if %{without coreonly} %{python3_sitelib}/%{pkgname}/__pycache__
%pycached %exclude %{python3_sitelib}/%{pkgname}/image/svg.py %{python3_sitelib}/%{pkgname}/image/__init__.py*
%pycached %exclude %{python3_sitelib}/%{pkgname}/image/pil.py %{python3_sitelib}/%{pkgname}/image/base.py*
%endif %{python3_sitelib}/%{pkgname}/image/__pycache__/__init__.*
%{python3_sitelib}/%{pkgname}/image/__pycache__/base.*
%changelog %changelog
* Tue Aug 10 2021 Mohan Boddu <mboddu@redhat.com> - 6.1-12 * Wed Nov 28 2018 Tomas Orsava <torsava@redhat.com> - 5.1-12
- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags - Require platform-python-setuptools instead of python3-setuptools
Related: rhbz#1991688 - Resolves: rhbz#1654457, rhbz#1654458
* Thu Apr 22 2021 Christian Heimes <cheimes@redhat.com> - 6.1-11 * Fri Jun 22 2018 Charalampos Stratakis <cstratak@redhat.com> - 5.1-11
- Build only python3-qrcode-core on RHEL - Conditionalize the python2 subpackage
- Related: #1935839
* Thu Apr 22 2021 Christian Heimes <cheimes@redhat.com> - 6.1-10
- Resolves: #1935839 Remove python-imaging build requirements for RHEL
- Run unit tests during build
* Fri Apr 16 2021 Mohan Boddu <mboddu@redhat.com> - 6.1-9
- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 6.1-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 6.1-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Tue May 26 2020 Miro Hrončok <mhroncok@redhat.com> - 6.1-6
- Rebuilt for Python 3.9
* Thu Jan 30 2020 Fedora Release Engineering <releng@fedoraproject.org> - 6.1-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Thu Oct 03 2019 Miro Hrončok <mhroncok@redhat.com> - 6.1-4
- Rebuilt for Python 3.8.0rc1 (#1748018)
* Mon Aug 19 2019 Miro Hrončok <mhroncok@redhat.com> - 6.1-3
- Rebuilt for Python 3.8
* Fri Jul 26 2019 Fedora Release Engineering <releng@fedoraproject.org> - 6.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Sun May 26 2019 Fabian Affolter <mail@fabian-affolter.ch> - 6.1-1
- Update to latest upstream release 6.1
* Sat Feb 02 2019 Fedora Release Engineering <releng@fedoraproject.org> - 5.1-15
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Thu Oct 11 2018 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 5.1-14
- Python2 binary package has been removed
See https://fedoraproject.org/wiki/Changes/Mass_Python_2_Package_Removal
* Sat Jul 14 2018 Fedora Release Engineering <releng@fedoraproject.org> - 5.1-13
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Tue Jun 19 2018 Miro Hrončok <mhroncok@redhat.com> - 5.1-12
- Rebuilt for Python 3.7
* Fri Mar 23 2018 Iryna Shcherbina <ishcherb@redhat.com> - 5.1-11
- Update Python 2 dependency declarations to new packaging standards
(See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3)
* Tue Mar 20 2018 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 5.1-10 * Tue Mar 20 2018 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 5.1-10
- Also rename python-qrcode-core to python2-qrcode-core - Also rename python-qrcode-core to python2-qrcode-core