bd28398
%if 0%{?fedora}
bd28398
# we have some koji hubs doesn't support Python3 with kerberos auth
bd28398
# at this moment, so we build with Python2 for all platforms now
73766c6
%global with_python3 1
bd28398
%endif
bd28398
bd28398
Name:       ursa-major
7fdc7bb
Version:    0.3.1
dd891e9
Release:    2%{?dist}
fa0ae44
Summary:    A utility for working with module's koji tags in koji's tag inheritance.
bd28398
bd28398
Group:      Development/Tools
bd28398
License:    MIT
bd28398
URL:        https://pagure.io/ursa-major
bd28398
Source0:    https://files.pythonhosted.org/packages/source/u/%{name}/%{name}-%{version}.tar.gz
bd28398
bd28398
BuildArch:      noarch
8c46814
# EPEL:   libmodulemd is not available for ppc or i686
8c46814
# Fedora: include ix86 as build can be scheduled to i386 arch, otherwise there is
8c46814
# 	  error: Architecture is not included: i386
8c46814
ExclusiveArch:  %{ix86} x86_64 noarch
bd28398
bd28398
bd28398
BuildRequires:  help2man
bd28398
bd28398
%if 0%{?with_python3}
bd28398
BuildRequires:  python3-devel
bd28398
BuildRequires:  python3-setuptools
bd28398
BuildRequires:  python3-gobject-base
bd28398
BuildRequires:  python3-cairo
bd28398
BuildRequires:  python3-koji
bd28398
BuildRequires:  python3-six
bd28398
BuildRequires:  python3-requests
bd28398
BuildRequires:  python3-jinja2
bd28398
BuildRequires:  python3-psutil
bd28398
BuildRequires:  python3-pytest
bd28398
BuildRequires:  python3-mock
bd28398
%else
bd28398
BuildRequires:  python2-devel
bd28398
BuildRequires:  python2-koji
bd28398
%if 0%{?rhel} && 0%{?rhel} <= 7
bd28398
BuildRequires:  python-setuptools
bd28398
BuildRequires:  python-gobject-base
bd28398
BuildRequires:  pycairo
bd28398
BuildRequires:  python-six
bd28398
BuildRequires:  python-requests
bd28398
BuildRequires:  python-jinja2
bd28398
BuildRequires:  python-futures
bd28398
BuildRequires:  pytest
bd28398
BuildRequires:  python-mock
bd28398
%else
bd28398
BuildRequires:  python2-setuptools
bd28398
BuildRequires:  python2-gobject-base
bd28398
BuildRequires:  python2-cairo
bd28398
BuildRequires:  python2-six
bd28398
BuildRequires:  python2-requests
bd28398
BuildRequires:  python2-jinja2
bd28398
BuildRequires:  python2-futures
bd28398
BuildRequires:  python2-pytest
bd28398
BuildRequires:  python2-mock
bd28398
%endif
bd28398
%endif
bd28398
f202367
%if 0%{?fedora} || (0%{?rhel} && 0%{?rhel} > 7)
f202367
BuildRequires:  libmodulemd1
f202367
Requires:  libmodulemd1
f202367
%else
f202367
BuildRequires:  libmodulemd
f202367
Requires:  libmodulemd
f202367
%endif
f202367
bd28398
Requires:       gobject-introspection
bd28398
Requires:       krb5-workstation
bd28398
Requires:       koji
bd28398
Requires:       m2crypto
bd28398
bd28398
%if 0%{?with_python3}
bd28398
Requires:       python3-gobject-base
bd28398
Requires:       python3-cairo
bd28398
Requires:       python3-koji
bd28398
Requires:       python3-six
bd28398
Requires:       python3-requests
bd28398
Requires:       python3-jinja2
919e8b4
Requires:       python3-setuptools
bd28398
%else
bd28398
Requires:       python2-koji
bd28398
%if 0%{?rhel} && 0%{?rhel} <= 7
bd28398
Requires:       python-gobject-base
bd28398
Requires:       pycairo
bd28398
Requires:       python-six
bd28398
Requires:       python-requests
bd28398
Requires:       python-jinja2
bd28398
Requires:       python-futures
919e8b4
Requires:       python-setuptools
bd28398
%else
bd28398
Requires:       python2-gobject-base
bd28398
Requires:       python2-cairo
bd28398
Requires:       python2-six
bd28398
Requires:       python2-requests
bd28398
Requires:       python2-jinja2
bd28398
Requires:       python2-futures
919e8b4
Requires:       python2-setuptools
bd28398
%endif
bd28398
%endif
bd28398
bd28398
bd28398
%description
bd28398
Usra-Major can be used to edit a tag config file and update module's koji tags
bd28398
in koji's tag inheritance accordingly per the configuration in tag config file.
bd28398
bd28398
bd28398
%package        -n ursa-major-stage
fa0ae44
Summary:        A utility for working with module's koji tags in koji's tag inheritance.
bd28398
Requires:       %{name} = %{version}-%{release}
bd28398
bd28398
%description    -n ursa-major-stage
bd28398
The ursa-major-stage package contains script and configurations for Ursa-Major
bd28398
to talk with Fedora's stage instances (Koji, MBS).
bd28398
bd28398
bd28398
%prep
bd28398
%setup -q
bd28398
bd28398
%if 0%{?rhel} && 0%{?rhel} <= 7
bd28398
# old setuptools not support environment marker
bd28398
sed -i 's/futures.*/futures/' requirements.txt
bd28398
%endif
bd28398
bd28398
# workaround for no egg-info
bd28398
sed -i '/koji/d' requirements.txt
bd28398
bd28398
%build
bd28398
%if 0%{?with_python3}
bd28398
%py3_build
bd28398
%else
bd28398
%py2_build
bd28398
%endif
bd28398
bd28398
bd28398
%install
bd28398
%if 0%{?with_python3}
bd28398
%py3_install
bd28398
%else
bd28398
%py2_install
bd28398
%endif
bd28398
bd28398
%if 0%{?with_python3}
bd28398
export PYTHONPATH=%{buildroot}%{python3_sitelib}
bd28398
%else
bd28398
export PYTHONPATH=%{buildroot}%{python2_sitelib}
bd28398
%endif
bd28398
mkdir -p %{buildroot}/%{_mandir}/man1
bd28398
353853f
help2man -N --no-discard-stderr --version-string=%{version} %{buildroot}/%{_bindir}/ursa-major > %{buildroot}/%{_mandir}/man1/ursa-major.1
bd28398
for cmd in show-config check-config remove-module add-module add-tag; do
353853f
    help2man -N --no-discard-stderr --version-string=%{version} "%{buildroot}/%{_bindir}/ursa-major $cmd" > %{buildroot}/%{_mandir}/man1/ursa-major-${cmd}.1
bd28398
done
bd28398
bd28398
bd28398
%check
bd28398
%if 0%{?with_python3}
bd28398
py.test-3
bd28398
%else
bd28398
py.test
bd28398
%endif
bd28398
bd28398
bd28398
%files
bd28398
%doc README.rst
bd28398
%license LICENSE
bd28398
bd28398
%if 0%{?with_python3}
bd28398
%{python3_sitelib}/ursa_major*
bd28398
%else
bd28398
%{python2_sitelib}/ursa_major*
bd28398
%endif
bd28398
bd28398
%{_bindir}/ursa-major
bd28398
%dir %{_sysconfdir}/ursa-major
bd28398
%config(noreplace) %{_sysconfdir}/ursa-major/ursa-major.conf
bd28398
%doc %{_mandir}/man1/ursa-major*.1*
bd28398
bd28398
%files stage
bd28398
%{_bindir}/ursa-major-stage
bd28398
%config(noreplace) %{_sysconfdir}/ursa-major/ursa-major-stage.conf
bd28398
bd28398
bd28398
%changelog
dd891e9
* Sat Jul 27 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.3.1-2
dd891e9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
dd891e9
7fdc7bb
* Tue May 21 2019 Qixiang Wan <qwan@redhat.com> - 0.3.1-1
7fdc7bb
- Not check requires/buildrequires for existing koji tags (Qixiang Wan)
7fdc7bb
- Updating existing inheritance instead of removing and adding (Qixiang Wan)
7fdc7bb
73766c6
* Mon Apr 15 2019 Chenxiong Qi <cqi@redhat.com> - 0.2.2-3
73766c6
- Build Python 3 package for Fedora and Python 2 for EL
73766c6
919e8b4
* Fri Apr 12 2019 Chenxiong Qi <cqi@redhat.com> - 0.2.2-2
919e8b4
- Add missing python-setuptools in requires
919e8b4
ae1aba0
* Wed Mar 27 2019 Chenxiong Qi <cqi@redhat.com> - 0.2.2-1
ae1aba0
- For adding tag, allow filtering on buildrequires to find out koji_tags from tag inheritance (Chenxiong Qi)
ae1aba0
353853f
* Wed Mar 20 2019 Chenxiong Qi <cqi@redhat.com> - 0.2.1-1
353853f
- Make setup_method/teardown_method compatible with newer version of pytest (Chenxiong Qi)
353853f
- Add missing file CHANGELOG.rst to sdist package (Chenxiong Qi)
353853f
353853f
* Wed Mar 20 2019 Chenxiong Qi <cqi@redhat.com> - 0.2.0-1
353853f
- Add tests for AddModuleHandler methods (Chenxiong Qi)
353853f
- Avoid long modulemd embedded into fake data for tests (Chenxiong Qi)
353853f
- Fixes according to review comments (Chenxiong Qi)
353853f
- Command check-config supports filtering modules on buildrequires (Chenxiong Qi)
353853f
- Command add-module supports buildrequires now (Chenxiong Qi)
353853f
- Command remove-module supports filtering modules on buildrequires (Chenxiong Qi)
353853f
- Allow passing buildrequires to MBS.get_modules_with_requires (Chenxiong Qi)
353853f
- Reword remove-module help and --tag option help text (Chenxiong Qi)
353853f
- Allow filtering on buildrequires (Chenxiong Qi)
353853f
8c46814
* Mon Dec 03 2018 Qixiang Wan <qwan@redhat.com> - 0.1.1-4
0cc7b8d
- build can be scheduled to i386 arch, include ix86
8c46814
faf5289
* Mon Dec 03 2018 Qixiang Wan <qwan@redhat.com> - 0.1.1-3
8c46814
- libmodulemd is missing from EPEL ppc64le buildroot, enable x86_64 only
faf5289
bd28398
* Fri Nov 16 2018 Qixiang Wan <qwan@redhat.com> - 0.1.1-2
bd28398
- Limit build arches as libmodulemd is not available for ppc or i686
bd28398
bd28398
* Fri Oct 26 2018 Qixiang Wan <qwan@redhat.com> - 0.1.1-1
bd28398
- Initial version of spec file