From 6736e7ee3853573e005fdd07ca430b4ec5f1ed71 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= Date: Fri, 17 Jul 2015 11:51:53 +0200 Subject: [PATCH] Update to 5.1, Introduce python3 subpackages (#1237118) --- .gitignore | 1 + python-qrcode.spec | 149 +++++++++++++++++++++++++++++++++++++-------- sources | 2 +- 3 files changed, 124 insertions(+), 28 deletions(-) diff --git a/.gitignore b/.gitignore index 5506f3b..8bdd4d4 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ /qrcode-2.4.1.tar.gz /qrcode-5.0.1.tar.gz +/qrcode-5.1.tar.gz diff --git a/python-qrcode.spec b/python-qrcode.spec index 2548e75..b11ef10 100644 --- a/python-qrcode.spec +++ b/python-qrcode.spec @@ -1,8 +1,8 @@ %global pkgname qrcode Name: python-%{pkgname} -Version: 5.0.1 -Release: 3%{?dist} +Version: 5.1 +Release: 1%{?dist} Summary: Python QR Code image generator License: BSD @@ -10,10 +10,17 @@ URL: https://github.com/lincolnloop/python-qrcode Source0: http://pypi.python.org/packages/source/q/qrcode/qrcode-%{version}.tar.gz BuildArch: noarch -BuildRequires: python-devel + +BuildRequires: python2-devel BuildRequires: python-setuptools BuildRequires: python-imaging BuildRequires: python-six + +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-imaging +BuildRequires: python3-six + Requires: python-imaging Requires: %{name}-core = %{version}-%{release} @@ -25,25 +32,72 @@ generation of QR Codes. %package core Requires: python-six Conflicts: python-qrcode < 5.0 -Summary: Python QR Code image generator (core library) +Summary: Python 2 QR Code image generator (core library) %description core -Core Python module for QR code generation. Does not contain image rendering. +Core Python 2 module for QR code generation. Does not contain image rendering. + + +%package -n python3-%{pkgname} +Summary: Python QR Code image generator +Requires: python3-imaging +# For entry point: +Requires: python3-setuptools +Requires: python3-%{pkgname}-core = %{version}-%{release} + +%description -n python3-%{pkgname} +This module uses the Python Imaging Library (PIL) to allow for the +generation of QR Codes. Python 3 version. + + +%package -n python3-%{pkgname}-core +Requires: python3-six +Summary: Python 3 QR Code image generator (core library) + +%description -n python3-%{pkgname}-core +Core Python 3 module for QR code generation. Does not contain image rendering. %prep -%setup -q -n %{pkgname}-%{version} +%setup -qc + +mv %{pkgname}-%{version} python2 # The pure plugin requires pymaging which is not packaged in Fedora. -rm qrcode/image/pure.py* +rm python2/qrcode/image/pure.py* + +# Remove shebang +sed -i '1d' python2/qrcode/console_scripts.py + +cp -a python{2,3} %build -%{__python} setup.py build +pushd python2 +%{__python2} setup.py build +popd +pushd python3 +%{__python3} setup.py build +popd %install -%{__python} setup.py install -O1 --skip-build --root %{buildroot} +pushd python2 +%{__python2} setup.py install -O1 --skip-build --root %{buildroot} + +# Be sure binscripts are Python 3 +rm %{buildroot}%{_bindir}/* + +# Do not install tests +rm -r %{buildroot}%{python2_sitelib}/%{pkgname}/tests +popd + +pushd python3 +%{__python3} setup.py install -O1 --skip-build --root %{buildroot} + +# Do not install tests +rm -r %{buildroot}%{python3_sitelib}/%{pkgname}/tests +popd # # In previous iterations of the package, the qr script had been @@ -55,35 +109,76 @@ ln -s qr %{buildroot}%{_bindir}/qrcode %check # in lieue of a real test suite -for m in $(find qrcode -name '*.py' \ - | grep -v __init__ \ - | sort \ - | sed -e 's|/|.|g' \ - | sed -e 's|.py$||g'); +modules=$(find qrcode -name '*.py' \ + | grep -v __init__ \ + | sort \ + | sed -e 's|/|.|g' \ + | sed -e 's|.py$||g'); + + +pushd python2 +for m in $modules; do - %{__python} -c "import $m" + %{__python2} -c "import $m" done +popd + +pushd python3 +for m in $modules; +do + %{__python3} -c "import $m" +done +popd + %files -%{_bindir}/qr -%{_bindir}/qrcode -%{_mandir}/man1/qr.1* -%{python_sitelib}/%{pkgname}/image/svg.py* -%{python_sitelib}/%{pkgname}/image/pil.py* +%{python2_sitelib}/%{pkgname}/image/svg.py* +%{python2_sitelib}/%{pkgname}/image/pil.py* %files core -%doc LICENSE README.rst CHANGES.rst -%dir %{python_sitelib}/%{pkgname}/ -%dir %{python_sitelib}/%{pkgname}/image -%{python_sitelib}/%{pkgname}*.egg-info -%{python_sitelib}/%{pkgname}/*.py* -%{python_sitelib}/%{pkgname}/image/__init__.py* -%{python_sitelib}/%{pkgname}/image/base.py* +%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* + + +%files -n python3-%{pkgname} +%{_bindir}/qr +%{_bindir}/qrcode +%{_mandir}/man1/qr.1* +%{python3_sitelib}/%{pkgname}/image/svg.py* +%{python3_sitelib}/%{pkgname}/image/pil.py* +%{python3_sitelib}/%{pkgname}/image/__pycache__/svg.* +%{python3_sitelib}/%{pkgname}/image/__pycache__/pil.* + + +%files -n python3-%{pkgname}-core +%doc python3/README.rst python3/CHANGES.rst +%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}/*.py* +%{python3_sitelib}/%{pkgname}/__pycache__ +%{python3_sitelib}/%{pkgname}/image/__init__.py* +%{python3_sitelib}/%{pkgname}/image/base.py* +%{python3_sitelib}/%{pkgname}/image/__pycache__/__init__.* +%{python3_sitelib}/%{pkgname}/image/__pycache__/base.* %changelog +* Fri Jul 10 2015 Miro HronĨok - 5.1-1 +- Update to 5.1 +- Introduce python3 subpackages (#1237118) +- Moved LICENSE from %%doc to %%license + * Thu Jun 18 2015 Fedora Release Engineering - 5.0.1-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild diff --git a/sources b/sources index c3c6122..ccb183d 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -bef9cccd638888724cd2ae31860875b5 qrcode-5.0.1.tar.gz +1f20223419bbf992208ada0c12ed4577 qrcode-5.1.tar.gz