99 lines
2.9 KiB
RPMSpec
99 lines
2.9 KiB
RPMSpec
Name: python-alembic
|
|
Version: 1.13.1
|
|
Release: %autorelease
|
|
Summary: Database migration tool for SQLAlchemy
|
|
|
|
# SPDX
|
|
License: MIT
|
|
URL: https://pypi.io/project/alembic
|
|
Source0: %{pypi_source alembic}
|
|
|
|
BuildArch: noarch
|
|
|
|
BuildRequires: help2man
|
|
|
|
BuildRequires: python3-devel
|
|
BuildRequires: python3-pytest
|
|
%if %{undefined rhel}
|
|
BuildRequires: python3-pytest-xdist
|
|
%endif
|
|
|
|
%global _description %{expand:
|
|
Alembic is a database migrations tool written by the author of SQLAlchemy. A
|
|
migrations tool offers the following functionality:
|
|
|
|
• Can emit ALTER statements to a database in order to change the structure of
|
|
tables and other constructs
|
|
• Provides a system whereby "migration scripts" may be constructed; each script
|
|
indicates a particular series of steps that can "upgrade" a target database
|
|
to a new version, and optionally a series of steps that can "downgrade"
|
|
similarly, doing the same steps in reverse.
|
|
• Allows the scripts to execute in some sequential manner.
|
|
|
|
Documentation and status of Alembic is at https://alembic.sqlalchemy.org/}
|
|
|
|
%description %_description
|
|
|
|
|
|
%package -n python3-alembic
|
|
Summary: %summary
|
|
|
|
%description -n python3-alembic %_description
|
|
|
|
|
|
%prep
|
|
%autosetup -p1 -n alembic-%{version}
|
|
# HTML documentation has bundled and pre-compiled/pre-minified JavaScript; see
|
|
# https://docs.fedoraproject.org/en-US/packaging-guidelines/JavaScript/.
|
|
rm -rvf docs/_static
|
|
# https://docs.fedoraproject.org/en-US/packaging-guidelines/Python/#_linters
|
|
sed -r -i 's/^([[:blank:]]*(black|zimports))\b/# &/' tox.ini
|
|
# Don't treat DeprecationWarnings as errros in tests
|
|
sed -i '/"error", category=DeprecationWarning/d' alembic/testing/warnings.py
|
|
|
|
|
|
%generate_buildrequires
|
|
%pyproject_buildrequires
|
|
|
|
|
|
%build
|
|
%pyproject_wheel
|
|
|
|
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
|
|
|
|
|
|
%install
|
|
install -d -m 0755 %{buildroot}%{_mandir}/man1
|
|
|
|
%pyproject_install
|
|
%pyproject_save_files alembic
|
|
mv %{buildroot}/%{_bindir}/alembic %{buildroot}/%{_bindir}/alembic-3
|
|
ln -s alembic-3 %{buildroot}/%{_bindir}/alembic-%{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
|
|
|
|
ln -s alembic-%{python3_version} %{buildroot}/%{_bindir}/alembic
|
|
ln -s alembic-%{python3_version}.1 %{buildroot}%{_mandir}/man1/alembic.1
|
|
|
|
|
|
%check
|
|
%pytest %{?!rhel:-n auto}
|
|
|
|
|
|
%files -n python3-alembic -f %{pyproject_files}
|
|
# pyproject_files handles LICENSE; verify with rpm -qL -p ...
|
|
%doc README.rst CHANGES
|
|
%{_bindir}/alembic
|
|
%{_mandir}/man1/alembic.1{,.*}
|
|
%{_bindir}/alembic-3
|
|
%{_mandir}/man1/alembic-3.1{,.*}
|
|
%{_bindir}/alembic-%{python3_version}
|
|
%{_mandir}/man1/alembic-%{python3_version}.1{,.*}
|
|
|
|
|
|
%changelog
|
|
%autochangelog
|