diff --git a/files/pagure.spec b/files/pagure.spec index 3a30d83..66dfec9 100644 --- a/files/pagure.spec +++ b/files/pagure.spec @@ -1,3 +1,13 @@ +%if (0%{?fedora} && 0%{?fedora} <= 27) || (0%{?rhel} && 0%{?rhel} <= 7) +%global python_pkgversion %{nil} +%else +%global python_pkgversion 2 +%endif + +# Minimum pygit2 version we support +%global min_pygit2_version 0.24.0 + + Name: pagure Version: 4.0.1 Release: 1%{?dist} @@ -11,133 +21,73 @@ BuildArch: noarch BuildRequires: systemd-devel BuildRequires: systemd -BuildRequires: python2-devel -BuildRequires: python2-setuptools -BuildRequires: python2-bcrypt - -%if (0%{?fedora} && 0%{?fedora} <= 27) || (0%{?rhel} && 0%{?rhel} <= 7) -BuildRequires: python-alembic -BuildRequires: python-arrow -BuildRequires: python-binaryornot -BuildRequires: python-bleach -BuildRequires: python-blinker -BuildRequires: python-chardet -BuildRequires: python-cryptography -BuildRequires: python-docutils -BuildRequires: python-flask -BuildRequires: python-flask-wtf -BuildRequires: python-flask-multistatic -BuildRequires: python-markdown -BuildRequires: python-nose -BuildRequires: python-psutil -BuildRequires: python-pygit2 >= 0.20.1 -BuildRequires: python-pygments -BuildRequires: python-fedora -BuildRequires: python-openid -BuildRequires: python-openid-cla -BuildRequires: python-openid-teams -BuildRequires: python-straight-plugin -BuildRequires: python-wtforms -BuildRequires: python-munch -BuildRequires: python-enum34 -BuildRequires: python-redis -%else -BuildRequires: python2-alembic -BuildRequires: python2-arrow -BuildRequires: python2-binaryornot -BuildRequires: python2-bleach -BuildRequires: python2-blinker -BuildRequires: python2-chardet -BuildRequires: python2-cryptography -BuildRequires: python2-docutils -BuildRequires: python2-flask -BuildRequires: python2-flask-wtf -BuildRequires: python2-flask-multistatic -BuildRequires: python2-markdown -BuildRequires: python2-nose -BuildRequires: python2-psutil -BuildRequires: python2-pygit2 >= 0.20.1 -BuildRequires: python2-pygments -BuildRequires: python2-fedora -BuildRequires: python2-openid -BuildRequires: python2-openid-cla -BuildRequires: python2-openid-teams -BuildRequires: python2-straight-plugin -BuildRequires: python2-wtforms -BuildRequires: python2-munch -BuildRequires: python2-enum34 -BuildRequires: python2-redis -%endif - -%if (0%{?rhel} && 0%{?rhel} == 7) -BuildRequires: python-sqlalchemy > 0.8 -Requires: python-sqlalchemy > 0.8 -%else -BuildRequires: python2-sqlalchemy > 0.8 -Requires: python2-sqlalchemy > 0.8 -%endif - +BuildRequires: python%{python_pkgversion}-devel +BuildRequires: python%{python_pkgversion}-setuptools +BuildRequires: python%{python_pkgversion}-bcrypt + +BuildRequires: python%{python_pkgversion}-alembic +BuildRequires: python%{python_pkgversion}-arrow +BuildRequires: python%{python_pkgversion}-binaryornot +BuildRequires: python%{python_pkgversion}-bleach +BuildRequires: python%{python_pkgversion}-blinker +BuildRequires: python%{python_pkgversion}-chardet +BuildRequires: python%{python_pkgversion}-cryptography +BuildRequires: python%{python_pkgversion}-docutils +BuildRequires: python%{python_pkgversion}-flask +BuildRequires: python%{python_pkgversion}-flask-wtf +BuildRequires: python%{python_pkgversion}-flask-multistatic +BuildRequires: python%{python_pkgversion}-markdown +BuildRequires: python%{python_pkgversion}-nose +BuildRequires: python%{python_pkgversion}-psutil +BuildRequires: python%{python_pkgversion}-pygit2 >= %{min_pygit2_version} +BuildRequires: python%{python_pkgversion}-pygments +BuildRequires: python%{python_pkgversion}-fedora +BuildRequires: python%{python_pkgversion}-openid +BuildRequires: python%{python_pkgversion}-openid-cla +BuildRequires: python%{python_pkgversion}-openid-teams +BuildRequires: python%{python_pkgversion}-straight-plugin +BuildRequires: python%{python_pkgversion}-wtforms +BuildRequires: python%{python_pkgversion}-munch +BuildRequires: python%{python_pkgversion}-enum34 +BuildRequires: python%{python_pkgversion}-redis + +BuildRequires: python%{python_pkgversion}-sqlalchemy > 0.8 +Requires: python%{python_pkgversion}-sqlalchemy > 0.8 + +Requires: python%{python_pkgversion}-bcrypt +Requires: python%{python_pkgversion}-alembic +Requires: python%{python_pkgversion}-arrow +Requires: python%{python_pkgversion}-binaryornot +Requires: python%{python_pkgversion}-bleach +Requires: python%{python_pkgversion}-blinker +Requires: python%{python_pkgversion}-celery +Requires: python%{python_pkgversion}-chardet +Requires: python%{python_pkgversion}-cryptography +Requires: python%{python_pkgversion}-docutils +Requires: python%{python_pkgversion}-enum34 +Requires: python%{python_pkgversion}-flask +Requires: python%{python_pkgversion}-flask-wtf +Requires: python%{python_pkgversion}-flask-multistatic +Requires: python%{python_pkgversion}-markdown +Requires: python%{python_pkgversion}-pillow +Requires: python%{python_pkgversion}-psutil +Requires: python%{python_pkgversion}-pygit2 >= %{min_pygit2_version} +Requires: python%{python_pkgversion}-pygments +Requires: python%{python_pkgversion}-fedora +Requires: python%{python_pkgversion}-openid +Requires: python%{python_pkgversion}-openid-cla +Requires: python%{python_pkgversion}-openid-teams +Requires: python%{python_pkgversion}-straight-plugin +Requires: python%{python_pkgversion}-wtforms +Requires: python%{python_pkgversion}-munch +Requires: python%{python_pkgversion}-redis -Requires: python2-bcrypt %if (0%{?fedora} && 0%{?fedora} <= 27) || (0%{?rhel} && 0%{?rhel} <= 7) -Requires: python-alembic -Requires: python-arrow -Requires: python-binaryornot -Requires: python-bleach -Requires: python-blinker -Requires: python-celery -Requires: python-chardet -Requires: python-cryptography -Requires: python-docutils -Requires: python-enum34 -Requires: python-flask -Requires: python-flask-wtf -Requires: python-flask-multistatic -Requires: python-pillow -Requires: python-markdown -Requires: python-psutil -Requires: python-pygit2 >= 0.22.1 -Requires: python-pygments -Requires: python-fedora -Requires: python-openid -Requires: python-openid-cla -Requires: python-openid-teams -Requires: python-straight-plugin -Requires: python-wtforms -Requires: python-munch -Requires: python-redis Requires: mod_wsgi %else -Requires: python2-alembic -Requires: python2-arrow -Requires: python2-binaryornot -Requires: python2-bleach -Requires: python2-blinker -Requires: python2-celery -Requires: python2-chardet -Requires: python2-cryptography -Requires: python2-docutils -Requires: python2-enum34 -Requires: python2-flask -Requires: python2-flask-wtf -Requires: python2-flask-multistatic -Requires: python2-markdown -Requires: python2-pillow -Requires: python2-psutil -Requires: python2-pygit2 >= 0.22.1 -Requires: python2-pygments -Requires: python2-fedora -Requires: python2-openid -Requires: python2-openid-cla -Requires: python2-openid-teams -Requires: python2-straight-plugin -Requires: python2-wtforms -Requires: python2-munch -Requires: python2-redis -Requires: python2-mod_wsgi +Requires: python%{python_pkgversion}-mod_wsgi %endif - %{?systemd_requires} # No dependency of the app per se, but required to make it working. @@ -154,12 +104,8 @@ create/merge pull-requests across or within projects. %package milters Summary: Milter to integrate pagure with emails BuildArch: noarch -BuildRequires: systemd-devel -%if (0%{?fedora} && 0%{?fedora} <= 27) || (0%{?rhel} && 0%{?rhel} <= 7) -Requires: python-pymilter -%else -Requires: python2-pymilter -%endif +Requires: %{name} = %{version}-%{release} +Requires: python%{python_pkgversion}-pymilter %{?systemd_requires} # It would work with sendmail but we configure things (like the tempfile) # to work with postfix @@ -172,15 +118,8 @@ This is useful for example to allow commenting on a ticket by email. %package ev Summary: EventSource server for pagure BuildArch: noarch - -BuildRequires: systemd-devel -%if (0%{?fedora} && 0%{?fedora} <= 27) || (0%{?rhel} && 0%{?rhel} <= 7) -Requires: python-redis -Requires: python-trollius -%else -Requires: python2-redis -Requires: python2-trollius -%endif +Requires: %{name} = %{version}-%{release} +Requires: python%{python_pkgversion}-trololio %{?systemd_requires} %description ev Pagure comes with an eventsource server allowing live update of the pages @@ -190,15 +129,7 @@ supporting it. This package provides it. %package webhook Summary: Web-Hook server for pagure BuildArch: noarch - -BuildRequires: systemd-devel -%if (0%{?fedora} && 0%{?fedora} <= 27) || (0%{?rhel} && 0%{?rhel} <= 7) -Requires: python-redis -Requires: python-trollius -%else -Requires: python2-redis -Requires: python2-trollius -%endif +Requires: %{name} = %{version}-%{release} %{?systemd_requires} %description webhook Pagure comes with an webhook server allowing http callbacks for any action @@ -208,17 +139,8 @@ done on a project. This package provides it. %package ci Summary: A CI service for pagure BuildArch: noarch - -BuildRequires: systemd-devel -%if (0%{?fedora} && 0%{?fedora} <= 27) || (0%{?rhel} && 0%{?rhel} <= 7) -Requires: python-redis -Requires: python-trollius -Requires: python-jenkins -%else -Requires: python2-redis -Requires: python2-trollius -Requires: python2-jenkins -%endif +Requires: %{name} = %{version}-%{release} +Requires: python%{python_pkgversion}-jenkins %{?systemd_requires} %description ci Pagure comes with a continuous integration service, currently supporting @@ -230,15 +152,7 @@ build on the pull-requests opened to your project. %package logcom Summary: The logcom service for pagure BuildArch: noarch - -BuildRequires: systemd-devel -%if (0%{?fedora} && 0%{?fedora} <= 27) || (0%{?rhel} && 0%{?rhel} <= 7) -Requires: python-redis -Requires: python-trollius -%else -Requires: python2-redis -Requires: python2-trollius -%endif +Requires: %{name} = %{version}-%{release} %{?systemd_requires} %description logcom pagure-logcom contains the service that logs commits into the database so that @@ -248,15 +162,7 @@ the activity calendar heatmap is filled. %package loadjson Summary: The loadjson service for pagure BuildArch: noarch - -BuildRequires: systemd-devel -%if (0%{?fedora} && 0%{?fedora} <= 27) || (0%{?rhel} && 0%{?rhel} <= 7) -Requires: python-redis -Requires: python-trollius -%else -Requires: python2-redis -Requires: python2-trollius -%endif +Requires: %{name} = %{version}-%{release} %{?systemd_requires} %description loadjson pagure-loadjson is the service allowing to update the database with the