9ded68b
%global srcname vcstool
9ded68b
9ded68b
Name:           python-%{srcname}
7d1639f
Version:        0.3.0
bb6419b
Release:        6%{?dist}
9ded68b
Summary:        Tool to invoke vcs commands on multiple repositories
9ded68b
9ded68b
License:        ASL 2.0
9ded68b
URL:            https://github.com/dirk-thomas/%{srcname}
9ded68b
Source0:        https://github.com/dirk-thomas/%{srcname}/archive/%{version}/%{srcname}-%{version}.tar.gz
9ded68b
9ded68b
BuildArch:      noarch
9ded68b
9ded68b
%description
9ded68b
Vcstool is a version control system (VCS) tool, designed to make working with
9ded68b
multiple repositories easier.
9ded68b
9ded68b
Note: This tool should not be confused with vcstools (with a trailing s) which
9ded68b
provides a Python API for interacting with different version control systems.
9ded68b
The biggest differences between the two are:
9ded68b
9ded68b
- vcstool doesn't use any state beside the repository working copies available
9ded68b
  in the filesystem.
9ded68b
- The file format of vcstool export uses the relative paths of the repositories
9ded68b
  as keys in YAML which avoids collisions by design.
9ded68b
- vcstool has significantly less lines of code than vcstools including the
9ded68b
  command line tools built on top.
9ded68b
9ded68b
9ded68b
%package -n python%{python3_pkgversion}-%{srcname}
9ded68b
Summary:        %{summary}
9ded68b
BuildRequires:  git
9ded68b
BuildRequires:  python%{python3_pkgversion}-devel
9ded68b
BuildRequires:  python%{python3_pkgversion}-pytest
9ded68b
BuildRequires:  python%{python3_pkgversion}-PyYAML
9ded68b
BuildRequires:  python%{python3_pkgversion}-setuptools
e0f0e11
%{?python_provide:%python_provide python%{python3_pkgversion}-%{srcname}}
9ded68b
d84ed3f
%if %{undefined __pythondist_requires}
9ded68b
Requires:       python%{python3_pkgversion}-PyYAML
9ded68b
Requires:       python%{python3_pkgversion}-setuptools
32fffa0
%endif
9ded68b
32fffa0
%if !0%{?rhel} || 0%{?rhel} >= 8
9ded68b
Recommends:     git
32fffa0
%endif
9ded68b
9ded68b
%description -n python%{python3_pkgversion}-%{srcname}
9ded68b
Vcstool is a version control system (VCS) tool, designed to make working with
9ded68b
multiple repositories easier.
9ded68b
9ded68b
Note: This tool should not be confused with vcstools (with a trailing s) which
9ded68b
provides a Python API for interacting with different version control systems.
9ded68b
The biggest differences between the two are:
9ded68b
9ded68b
- vcstool doesn't use any state beside the repository working copies available
9ded68b
  in the filesystem.
9ded68b
- The file format of vcstool export uses the relative paths of the repositories
9ded68b
  as keys in YAML which avoids collisions by design.
9ded68b
- vcstool has significantly less lines of code than vcstools including the
9ded68b
  command line tools built on top.
9ded68b
9ded68b
9ded68b
%prep
9ded68b
%autosetup -p1 -n %{srcname}-%{version}
9ded68b
9ded68b
9ded68b
%build
9ded68b
%py3_build
9ded68b
9ded68b
9ded68b
%install
9ded68b
# There are three extra things we're doing here:
9ded68b
# 1. Making each executable available with a -X and -X.Y suffix
9ded68b
# 2. Giving each python version a directory of executables for %%check
9ded68b
# 3. Integrating with the bash-completion package
9ded68b
9ded68b
install -d %{buildroot}%{_datadir}/bash-completion/completions %{buildroot}%{_bindir}
9ded68b
9ded68b
%py3_install -- --install-scripts %{_bindir}%{python3_pkgversion}
9ded68b
9ded68b
echo -n "" > py3_bins
9ded68b
for f in `ls %{buildroot}%{_bindir}%{python3_pkgversion}`; do
9ded68b
  mv %{buildroot}%{_bindir}%{python3_pkgversion}/$f %{buildroot}%{_bindir}/$f-%{python3_version}
9ded68b
  ln -s $f-%{python3_version} %{buildroot}%{_bindir}/$f-3
9ded68b
  ln -s $f-%{python3_version} %{buildroot}%{_bindir}/$f
9ded68b
  echo -e "%{_bindir}/$f\n%{_bindir}/$f-3\n%{_bindir}/$f-%{python3_version}" >> py3_bins
9ded68b
done
9ded68b
9ded68b
# Integrate bash completion with the bash-completion package
7d1639f
cp -af %{buildroot}%{_datadir}/%{srcname}-completion/vcs.bash %{buildroot}%{_datadir}/bash-completion/completions/vcs
9ded68b
ln -sf vcs %{buildroot}%{_datadir}/bash-completion/completions/vcs-3
9ded68b
ln -s vcs %{buildroot}%{_datadir}/bash-completion/completions/vcs-%{python3_version}
9ded68b
9ded68b
9ded68b
%check
9ded68b
# We skip two classes of test:
9ded68b
# 1. Code style
9ded68b
# 2. Tests which require network access
9ded68b
%define pytest_options \\\
9ded68b
  --ignore=test/test_flake8.py \\\
9ded68b
  --ignore test/test_commands.py \\\
9ded68b
  test
9ded68b
9ded68b
%{__python3} -m pytest %pytest_options
9ded68b
9ded68b
9ded68b
%files -n python%{python3_pkgversion}-%{srcname} -f py3_bins
9ded68b
%license LICENSE
9ded68b
%doc CONTRIBUTING.md README.rst
9ded68b
%{python3_sitelib}/%{srcname}/
9ded68b
%{python3_sitelib}/%{srcname}-%{version}-py%{python3_version}.egg-info/
9ded68b
%{_datadir}/%{srcname}-completion
9ded68b
%{_datadir}/bash-completion/completions/vcs
9ded68b
%{_datadir}/bash-completion/completions/vcs-3
9ded68b
%{_datadir}/bash-completion/completions/vcs-%{python3_version}
9ded68b
9ded68b
9ded68b
%changelog
bb6419b
* Fri Jan 26 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.3.0-6
bb6419b
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
bb6419b
41b1bab
* Mon Jan 22 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.3.0-5
41b1bab
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
41b1bab
567084b
* Fri Jul 21 2023 Fedora Release Engineering <releng@fedoraproject.org> - 0.3.0-4
567084b
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
567084b
2eefb44
* Tue Jun 13 2023 Python Maint <python-maint@redhat.com> - 0.3.0-3
2eefb44
- Rebuilt for Python 3.12
2eefb44
d60468f
* Fri Jan 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 0.3.0-2
d60468f
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
d60468f
7d1639f
* Sun Oct 16 2022 Scott K Logan <logans@cottsay.net> - 0.3.0-1
7d1639f
- Update to 0.3.0 (rhbz#1991775)
7d1639f
- Drop Python 2 subpackage, which is no longer supported upstream
7d1639f
27645f4
* Fri Jul 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 0.2.15-7
27645f4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
27645f4
f43bed1
* Mon Jun 13 2022 Python Maint <python-maint@redhat.com> - 0.2.15-6
f43bed1
- Rebuilt for Python 3.11
f43bed1
8d38e6e
* Fri Jan 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 0.2.15-5
8d38e6e
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
8d38e6e
039f281
* Tue Jul 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.2.15-4
039f281
- Second attempt - Rebuilt for
039f281
  https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
039f281
981ed65
* Fri Jun 04 2021 Python Maint <python-maint@redhat.com> - 0.2.15-3
981ed65
- Rebuilt for Python 3.10
981ed65
a0e5237
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.2.15-2
a0e5237
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
a0e5237
2efe543
* Mon Nov 02 2020 Scott K Logan <logans@cottsay.net> - 0.2.15-1
2efe543
- Update to 0.2.15 (rhbz#1891662)
2efe543
515d9da
* Sun Aug 16 2020 Scott K Logan <logans@cottsay.net> - 0.2.14-1
515d9da
- Update to 0.2.14 (rhbz#1862412)
515d9da
60f5dd5
* Mon Jul 27 2020 Scott K Logan <logans@cottsay.net> - 0.2.13-1
60f5dd5
- Update to 0.2.13 (rhbz#1859022)
60f5dd5
e9c1655
* Thu Jul 02 2020 Scott K Logan <logans@cottsay.net> - 0.2.12-1
e9c1655
- Update to 0.2.12 (rhbz#1853214)
e9c1655
f37b273
* Thu Jun 18 2020 Scott K Logan <logans@cottsay.net> - 0.2.11-1
f37b273
- Update to 0.2.11 (rhbz#1847809)
f37b273
9449b2c
* Mon Jun 15 2020 Scott K Logan <logans@cottsay.net> - 0.2.10-1
9449b2c
- Update to 0.2.10 (rhbz#1846217)
9449b2c
7274119
* Fri May 29 2020 Scott K Logan <logans@cottsay.net> - 0.2.9-1
7274119
- Update to 0.2.9 (rhbz#1838404)
7274119
1fb26c2
* Tue May 26 2020 Miro Hrončok <mhroncok@redhat.com> - 0.2.8-2
1fb26c2
- Rebuilt for Python 3.9
1fb26c2
c23e884
* Sun May 10 2020 Scott K Logan <logans@cottsay.net> - 0.2.8-1
c23e884
- Update to 0.2.8 (rhbz#1833742)
c23e884
32fffa0
* Wed Apr 15 2020 Scott K Logan <logans@cottsay.net> - 0.2.7-1
32fffa0
- Update to 0.2.7 (rhbz#1787844)
32fffa0
cfd749d
* Thu Jan 30 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.2.4-2
cfd749d
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
cfd749d
69377a4
* Wed Oct 30 2019 Scott K Logan <logans@cottsay.net> - 0.2.4-1
69377a4
- Update to 0.2.4 (rhbz#1764143)
69377a4
efca341
* Thu Oct 03 2019 Miro Hrončok <mhroncok@redhat.com> - 0.2.3-3
efca341
- Rebuilt for Python 3.8.0rc1 (#1748018)
efca341
9359207
* Mon Aug 19 2019 Miro Hrončok <mhroncok@redhat.com> - 0.2.3-2
9359207
- Rebuilt for Python 3.8
9359207
d84ed3f
* Thu Aug 08 2019 Scott K Logan <logans@cottsay.net> - 0.2.3-1
d84ed3f
- Update to 0.2.3
d84ed3f
9730adc
* Fri Jul 26 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.2.2-2
9730adc
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
9730adc
60dadd7
* Wed Jul 17 2019 Scott K Logan <logans@cottsay.net> - 0.2.2-1
60dadd7
- Update to 0.2.2
60dadd7
743e2d0
* Mon Jun 10 2019 Scott K Logan <logans@cottsay.net> - 0.2.1-1
743e2d0
- Update to 0.2.1 (rhbz#1718722)
743e2d0
e0f0e11
* Mon Mar 18 2019 Scott K Logan <logans@cottsay.net> - 0.1.40-1
e0f0e11
- Update to 0.1.40
e0f0e11
- Drop python3_other subpackage
e0f0e11
9ded68b
* Tue Feb 19 2019 Scott K Logan <logans@cottsay.net> - 0.1.39-1
9ded68b
- Update to 0.1.39
9ded68b
9ded68b
* Thu Jan 17 2019 Scott K Logan <logans@cottsay.net> - 0.1.38-1
9ded68b
- Update to 0.1.38
9ded68b
9ded68b
* Tue Oct 16 2018 Scott K Logan <logans@cottsay.net> - 0.1.37-1
9ded68b
- Initial package