Drop python2-alembic (#1751088)

Signed-off-by: Randy Barlow <randy@electronsweatshop.com>
This commit is contained in:
Randy Barlow 2019-09-17 15:58:50 -04:00
parent 4f1c261bee
commit 783d24d58a

View File

@ -1,34 +1,8 @@
%if 0%{?rhel} && 0%{?rhel} >= 8
# disable python2 by default
%bcond_with python2
%else
# enable python2 by default
%bcond_without python2
%endif
%if 0%{?fedora} || 0%{?rhel} >= 8
# enable python3 by default
%bcond_without python3
%else
# disable python3 by default
%bcond_with python3
%endif
%if %{with python3} && ( 0%{?fedora} >= 31 || %{without python2} )
# link /usr/bin/alembic to /usr/bin/alembic-3
# (https://fedoraproject.org/wiki/Changes/Python_means_Python3)
%global python_version 3
%else
# link /usr/bin/alembic to /usr/bin/alembic-2
%global python_version 2
%endif
%global modname alembic
Name: python-alembic
Version: 1.1.0
Release: 1%{?dist}
Release: 2%{?dist}
Summary: Database migration tool for SQLAlchemy
License: MIT
@ -39,22 +13,6 @@ BuildArch: noarch
BuildRequires: help2man
%if %{with python2}
BuildRequires: python2-devel
BuildRequires: python2-mako
BuildRequires: python2-setuptools
BuildRequires: python2-mock
BuildRequires: python2-dateutil
BuildRequires: python2-editor
BuildRequires: python2-pytest
BuildRequires: python2-nose
BuildRequires: python2-sqlalchemy >= 1.1
# Just for the tests
BuildRequires: python2-psycopg2
BuildRequires: python2-mysql
%endif
%if %{with python3}
BuildRequires: python3-devel
BuildRequires: python3-sqlalchemy >= 1.1
BuildRequires: python3-mako
@ -64,7 +22,6 @@ BuildRequires: python3-mock
BuildRequires: python3-dateutil
BuildRequires: python3-editor
BuildRequires: python3-pytest
%endif
%global _description\
@ -83,23 +40,7 @@ Documentation and status of Alembic is at http://readthedocs.org/docs/alembic/
%description %_description
%if %{with python2}
%package -n python2-alembic
Summary: %summary
# See if we're building for python earlier than 2.7
Requires: python2-sqlalchemy >= 1.1
Requires: python2-editor
Requires: python2-dateutil
Requires: python2-setuptools
Requires: python2-mako
%{?python_provide:%python_provide python2-alembic}
%description -n python2-alembic %_description
%endif
%if %{with python3}
%package -n python3-alembic
Summary: %summary
@ -110,147 +51,56 @@ Requires: python3-editor
Requires: python3-dateutil
%{?python_provide:%python_provide python3-alembic}
%if %{python_version} == 3
# /usr/bin/alembic moved from the python2 package to the python3 one
Conflicts: python2-alembic < 1.0.11-2
%endif
%description -n python3-alembic %_description
%endif
%prep
%autosetup -p1 -n %{modname}-%{version}
%if %{with python3}
rm -rf %{py3dir}
cp -a . %{py3dir}
%endif
# Make sure that epel/rhel picks up the correct version of sqlalchemy
%if 0%{?rhel} && 0%{?rhel} <= 6
awk 'NR==1{print "import __main__; __main__.__requires__ = __requires__ = [\"sqlalchemy>=0.6\", \"nose>=0.11\"]; import pkg_resources"}1' setup.py > setup.py.tmp
mv setup.py.tmp setup.py
%endif
%build
%if %{with python2}
%{__python2} setup.py build
%endif
%if %{with python3}
pushd %{py3dir}
%{__python3} setup.py build
popd
%endif
%if %{with python2}
# Hack around setuptools so we can get access to help strings for help2man
# Credit for this goes to Toshio Kuratomi
%if 0%{?rhel} && 0%{?rhel} <= 6
%else
%{__mkdir_p} bin
echo 'python2 -c "import alembic.config; alembic.config.main()" $*' > bin/alembic
chmod 0755 bin/alembic
help2man --version-string %{version} --no-info -s 1 bin/alembic > python2-alembic.1
mv bin/alembic bin/python2-alembic
%endif
%endif
%if %{with python3}
pushd %{py3dir}
%{__mkdir_p} bin
echo 'python3 -c "import alembic.config; alembic.config.main()" $*' > bin/alembic
chmod 0755 bin/alembic
help2man --version-string %{version} --no-info -s 1 bin/alembic > alembic.1
popd
%endif
%install
install -d -m 0755 %{buildroot}%{_mandir}/man1
%if %{with python3}
pushd %{py3dir}
%{__python3} setup.py install --skip-build --root=%{buildroot}
mv %{buildroot}/%{_bindir}/%{modname} %{buildroot}/%{_bindir}/%{modname}-3
ln -s %{modname}-3 %{buildroot}/%{_bindir}/%{modname}-%{python3_version}
install -m 0644 alembic.1 %{buildroot}%{_mandir}/man1/alembic-3.1
ln -s alembic-3.1 %{buildroot}%{_mandir}/man1/alembic-%{python3_version}.1
popd
%endif
%if %{with python2}
%{__python2} setup.py install -O1 --skip-build --root=%{buildroot}
mv %{buildroot}/%{_bindir}/%{modname} %{buildroot}/%{_bindir}/%{modname}-2
ln -s %{modname}-2 %{buildroot}/%{_bindir}/%{modname}-%{python2_version}
install -m 0644 python2-alembic.1 %{buildroot}%{_mandir}/man1/alembic-2.1
ln -s alembic-2.1 %{buildroot}%{_mandir}/man1/alembic-%{python2_version}.1
%endif
ln -s %{modname}-%{python_version} %{buildroot}/%{_bindir}/%{modname}
ln -s alembic-%{python_version}.1 %{buildroot}%{_mandir}/man1/alembic.1
%if 0%{?rhel} && 0%{?rhel} <= 6
# Modify /usr/bin/alembic to require SQLAlchemy>=0.6
# Hacky but setuptools only creates this file after setup.py install is run :-(
# Root cause is that setuptools doesn't recurse the requirements when it processes
# the __requires__. It waits until pkg_resources.require('MODULE') is called.
# Since that isn't done in the entrypoints script, we need to specify the dependency
# on a specific SQLAlchemy version explicitly.
sed -i -e "s|__requires__ = 'alembic==0.4.2'|__requires__ = ['alembic==0.4.2', 'SQLAlchemy>=0.6']|" %{buildroot}%{_bindir}/python2-%{modname}
%endif
%check
%if %{with python2}
py.test-2
%endif
%if %{with python3}
pushd %{py3dir}
py.test-3
popd
%endif
%if %{with python2}
%files -n python2-alembic
%doc README.rst LICENSE CHANGES docs
%{python2_sitelib}/%{modname}/
%{python2_sitelib}/%{modname}-%{version}*
%if %{python_version} == 2
%{_bindir}/%{modname}
%endif
%{_bindir}/%{modname}-2
%{_bindir}/%{modname}-%{python2_version}
%if 0%{?rhel} && 0%{?rhel} <= 6
%else
%if %{python_version} == 2
%{_mandir}/man1/alembic.1*
%endif
%{_mandir}/man1/alembic-2.1*
%{_mandir}/man1/alembic-%{python2_version}.1*
%endif
%endif
%if %{with python3}
%files -n python3-%{modname}
%doc LICENSE README.rst CHANGES docs
%{python3_sitelib}/%{modname}/
%{python3_sitelib}/%{modname}-%{version}-*
%if %{python_version} == 3
%{_bindir}/%{modname}
%{_mandir}/man1/alembic.1*
%endif
%{_bindir}/%{modname}-3
%{_bindir}/%{modname}-%{python3_version}
%{_mandir}/man1/alembic-3.1*
%{_mandir}/man1/alembic-%{python3_version}.1*
%endif
%changelog
* Tue Sep 17 2019 Randy Barlow <bowlofeggs@fedoraproject.org> - 1.1.0-2
- Drop python2-alembic (#1751088).
* Tue Sep 03 2019 Randy Barlow <bowlofeggs@fedoraproject.org> - 1.1.0-1
- Upgrade to 1.1.0 (#1747053).
- https://alembic.sqlalchemy.org/en/latest/changelog.html#change-1.1.0