Initial package import
This commit is contained in:
parent
705e6d3575
commit
9ded68b785
7 changed files with 361 additions and 3 deletions
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
|
|
@ -0,0 +1 @@
|
|||
/vcstool-0.1.39.tar.gz
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
# python-vcstool
|
||||
|
||||
The python-vcstool package
|
||||
21
python-vcstool-0.1.37-older_git_syntax.sed
Normal file
21
python-vcstool-0.1.37-older_git_syntax.sed
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
s/^\( *\)git checkout -b <new-branch-name>$/\1git checkout -b new_branch_name/
|
||||
s/^(HEAD detached at \([0-9a-f\.]*\))$/(detached from \1)/
|
||||
s/^\(HEAD detached at [0-9a-f\.]*\)$/# \1/
|
||||
/^Your branch is up to date with 'origin\/.*'\.$/d
|
||||
/^On branch master$/{
|
||||
N
|
||||
/^On branch master\nYour branch is up to date with 'origin\/.*'\.$/{
|
||||
N
|
||||
/^On branch master\nYour branch is up to date with 'origin\/.*'\.\n$/{
|
||||
N
|
||||
s/^\(On branch master\)\nYour branch is up to date with 'origin\/.*'\.\n\n\(nothing to commit, working tree clean\)$/# \1\n\2/
|
||||
}
|
||||
}
|
||||
}
|
||||
/^You are not currently on a branch\.$/{
|
||||
N
|
||||
/^You are not currently on a branch\.\nPlease specify which branch you want to merge with\.$/{
|
||||
N
|
||||
s/^You are not currently on a branch\.\nPlease specify which branch you want to merge with\.\nSee git-pull(1) for details\.$/You are not currently on a branch\. Please specify which\nbranch you want to merge with\. See git-pull(1) for details\./
|
||||
}
|
||||
}
|
||||
23
python-vcstool-0.1.39-argparse.patch
Normal file
23
python-vcstool-0.1.39-argparse.patch
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
From f00daaef3e49bfcdc4a00603d0ed0ca2a21be277 Mon Sep 17 00:00:00 2001
|
||||
From: Scott K Logan <logans@cottsay.net>
|
||||
Date: Wed, 20 Feb 2019 11:15:51 -0800
|
||||
Subject: [PATCH] Fix argparse requirement for Python 2.7 (#85)
|
||||
|
||||
argparse is part of the standard library since Python 2.7
|
||||
---
|
||||
setup.py | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/setup.py b/setup.py
|
||||
index 980cf66..b47ab9b 100755
|
||||
--- a/setup.py
|
||||
+++ b/setup.py
|
||||
@@ -7,7 +7,7 @@
|
||||
from vcstool import __version__
|
||||
|
||||
install_requires = ['PyYAML', 'setuptools']
|
||||
-if sys.version_info[0] == 2:
|
||||
+if sys.version_info[0] == 2 and sys.version_info[1] < 7:
|
||||
install_requires.append('argparse')
|
||||
|
||||
setup(
|
||||
6
python-vcstool.rpmlintrc
Normal file
6
python-vcstool.rpmlintrc
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
# MANUAL PAGES
|
||||
addFilter(r'no-manual-page-for-binary (vcs|vcs-.*)( |$)')
|
||||
|
||||
# SPELLING ERRORS
|
||||
addFilter(r'spelling-error .* en_US (vcstools)( |$)')
|
||||
addFilter(r'spelling-error Summary\(en_US\) (vcs)( |$)')
|
||||
309
python-vcstool.spec
Normal file
309
python-vcstool.spec
Normal file
|
|
@ -0,0 +1,309 @@
|
|||
%{?!_without_python2:%global with_python2 0%{?_with_python2:1} || (0%{?fedora} < 30 && 0%{?rhel} < 8)}
|
||||
%{?!_without_python3:%global with_python3 0%{?_with_python3:1} || !0%{?rhel} || 0%{?rhel} >= 7}
|
||||
%{?!_without_python3_other:%global with_python3_other 0%{?_with_python3_other:1} || 0%{?rhel} == 7}
|
||||
|
||||
%global srcname vcstool
|
||||
|
||||
Name: python-%{srcname}
|
||||
Version: 0.1.39
|
||||
Release: 1%{?dist}
|
||||
Summary: Tool to invoke vcs commands on multiple repositories
|
||||
|
||||
License: ASL 2.0
|
||||
URL: https://github.com/dirk-thomas/%{srcname}
|
||||
Source0: https://github.com/dirk-thomas/%{srcname}/archive/%{version}/%{srcname}-%{version}.tar.gz
|
||||
|
||||
# Used only for testing
|
||||
Source1: %{name}-0.1.37-older_git_syntax.sed
|
||||
|
||||
# Merged upstream, removes argparse requirement for py2.7
|
||||
Patch0: %{name}-0.1.39-argparse.patch
|
||||
|
||||
BuildArch: noarch
|
||||
|
||||
%description
|
||||
Vcstool is a version control system (VCS) tool, designed to make working with
|
||||
multiple repositories easier.
|
||||
|
||||
Note: This tool should not be confused with vcstools (with a trailing s) which
|
||||
provides a Python API for interacting with different version control systems.
|
||||
The biggest differences between the two are:
|
||||
|
||||
- vcstool doesn't use any state beside the repository working copies available
|
||||
in the filesystem.
|
||||
- The file format of vcstool export uses the relative paths of the repositories
|
||||
as keys in YAML which avoids collisions by design.
|
||||
- vcstool has significantly less lines of code than vcstools including the
|
||||
command line tools built on top.
|
||||
|
||||
|
||||
%if 0%{?with_python2}
|
||||
%package -n python2-%{srcname}
|
||||
Summary: %{summary}
|
||||
%{?python_provide:%python_provide python2-%{srcname}}
|
||||
BuildRequires: git
|
||||
BuildRequires: python2-devel
|
||||
BuildRequires: python2-pytest
|
||||
BuildRequires: python2-pyyaml
|
||||
BuildRequires: python2-setuptools
|
||||
|
||||
%if %{undefined python_disable_dependency_generator}
|
||||
Requires: python2-pyyaml
|
||||
Requires: python2-setuptools
|
||||
%endif # python_disable_dependency_generator
|
||||
|
||||
%if 0%{?fedora}
|
||||
Recommends: git
|
||||
%endif # fedora
|
||||
|
||||
%description -n python2-%{srcname}
|
||||
Vcstool is a version control system (VCS) tool, designed to make working with
|
||||
multiple repositories easier.
|
||||
|
||||
Note: This tool should not be confused with vcstools (with a trailing s) which
|
||||
provides a Python API for interacting with different version control systems.
|
||||
The biggest differences between the two are:
|
||||
|
||||
- vcstool doesn't use any state beside the repository working copies available
|
||||
in the filesystem.
|
||||
- The file format of vcstool export uses the relative paths of the repositories
|
||||
as keys in YAML which avoids collisions by design.
|
||||
- vcstool has significantly less lines of code than vcstools including the
|
||||
command line tools built on top.
|
||||
%endif # with_python2
|
||||
|
||||
|
||||
%if 0%{?with_python3}
|
||||
%package -n python%{python3_pkgversion}-%{srcname}
|
||||
Summary: %{summary}
|
||||
%{?python_provide:%python_provide python%{python3_pkgversion}-%{srcname}}
|
||||
BuildRequires: git
|
||||
BuildRequires: python%{python3_pkgversion}-devel
|
||||
BuildRequires: python%{python3_pkgversion}-pytest
|
||||
BuildRequires: python%{python3_pkgversion}-PyYAML
|
||||
BuildRequires: python%{python3_pkgversion}-setuptools
|
||||
|
||||
%if %{undefined python_disable_dependency_generator}
|
||||
Requires: python%{python3_pkgversion}-PyYAML
|
||||
Requires: python%{python3_pkgversion}-setuptools
|
||||
%endif # python_disable_dependency_generator
|
||||
|
||||
%if 0%{?fedora}
|
||||
Recommends: git
|
||||
%endif # fedora
|
||||
|
||||
%description -n python%{python3_pkgversion}-%{srcname}
|
||||
Vcstool is a version control system (VCS) tool, designed to make working with
|
||||
multiple repositories easier.
|
||||
|
||||
Note: This tool should not be confused with vcstools (with a trailing s) which
|
||||
provides a Python API for interacting with different version control systems.
|
||||
The biggest differences between the two are:
|
||||
|
||||
- vcstool doesn't use any state beside the repository working copies available
|
||||
in the filesystem.
|
||||
- The file format of vcstool export uses the relative paths of the repositories
|
||||
as keys in YAML which avoids collisions by design.
|
||||
- vcstool has significantly less lines of code than vcstools including the
|
||||
command line tools built on top.
|
||||
%endif # with_python3
|
||||
|
||||
|
||||
%if 0%{?with_python3_other}
|
||||
%package -n python%{python3_other_pkgversion}-%{srcname}
|
||||
Summary: %{summary}
|
||||
%{?python_provide:%python_provide python%{python3_other_pkgversion}-%{srcname}}
|
||||
BuildRequires: git
|
||||
BuildRequires: python%{python3_other_pkgversion}-devel
|
||||
BuildRequires: python%{python3_other_pkgversion}-pytest
|
||||
BuildRequires: python%{python3_other_pkgversion}-PyYAML
|
||||
BuildRequires: python%{python3_other_pkgversion}-setuptools
|
||||
|
||||
%if %{undefined python_disable_dependency_generator}
|
||||
Requires: python%{python3_other_pkgversion}-PyYAML
|
||||
Requires: python%{python3_other_pkgversion}-setuptools
|
||||
%endif # python_disable_dependency_generator
|
||||
|
||||
%if 0%{?fedora}
|
||||
Recommends: git
|
||||
%endif # fedora
|
||||
|
||||
%description -n python%{python3_other_pkgversion}-%{srcname}
|
||||
Vcstool is a version control system (VCS) tool, designed to make working with
|
||||
multiple repositories easier.
|
||||
|
||||
Note: This tool should not be confused with vcstools (with a trailing s) which
|
||||
provides a Python API for interacting with different version control systems.
|
||||
The biggest differences between the two are:
|
||||
|
||||
- vcstool doesn't use any state beside the repository working copies available
|
||||
in the filesystem.
|
||||
- The file format of vcstool export uses the relative paths of the repositories
|
||||
as keys in YAML which avoids collisions by design.
|
||||
- vcstool has significantly less lines of code than vcstools including the
|
||||
command line tools built on top.
|
||||
%endif # with_python3_other
|
||||
|
||||
|
||||
%prep
|
||||
%autosetup -p1 -n %{srcname}-%{version}
|
||||
|
||||
%if 0%{?rhel} && 0%{?rhel} < 8
|
||||
# Test case touch-ups for older git versions
|
||||
sed -i -f %{SOURCE1} test/*.txt
|
||||
%endif
|
||||
|
||||
|
||||
%build
|
||||
%if 0%{?with_python2}
|
||||
%py2_build
|
||||
%endif # with_python2
|
||||
|
||||
%if 0%{?with_python3}
|
||||
%py3_build
|
||||
%endif # with_python3
|
||||
|
||||
%if 0%{?with_python3_other}
|
||||
%py3_other_build
|
||||
%endif # with_python3_other
|
||||
|
||||
|
||||
%install
|
||||
# There are three extra things we're doing here:
|
||||
# 1. Making each executable available with a -X and -X.Y suffix
|
||||
# 2. Giving each python version a directory of executables for %%check
|
||||
# 3. Integrating with the bash-completion package
|
||||
|
||||
install -d %{buildroot}%{_datadir}/bash-completion/completions %{buildroot}%{_bindir}
|
||||
|
||||
%if 0%{?with_python2}
|
||||
%py2_install -- --install-scripts %{_bindir}2
|
||||
|
||||
echo -n "" > py2_bins
|
||||
for f in `ls %{buildroot}%{_bindir}2`; do
|
||||
mv %{buildroot}%{_bindir}2/$f %{buildroot}%{_bindir}/$f-%{python2_version}
|
||||
ln -s $f-%{python2_version} %{buildroot}%{_bindir}/$f-2
|
||||
%if !(0%{?with_python3})
|
||||
ln -s $f-%{python2_version} %{buildroot}%{_bindir}/$f
|
||||
echo "%{_bindir}/$f" >> py2_bins
|
||||
%endif # with_python3
|
||||
echo -e "%{_bindir}/$f-2\n%{_bindir}/$f-%{python2_version}" >> py2_bins
|
||||
done
|
||||
|
||||
# Integrate bash completion with the bash-completion package
|
||||
cp -f %{buildroot}%{_datadir}/%{srcname}-completion/vcs.bash %{buildroot}%{_datadir}/bash-completion/completions/vcs
|
||||
ln -sf vcs %{buildroot}%{_datadir}/bash-completion/completions/vcs-2
|
||||
ln -s vcs %{buildroot}%{_datadir}/bash-completion/completions/vcs-%{python2_version}
|
||||
%endif # with_python2
|
||||
|
||||
%if 0%{?with_python3}
|
||||
%py3_install -- --install-scripts %{_bindir}%{python3_pkgversion}
|
||||
|
||||
echo -n "" > py3_bins
|
||||
for f in `ls %{buildroot}%{_bindir}%{python3_pkgversion}`; do
|
||||
mv %{buildroot}%{_bindir}%{python3_pkgversion}/$f %{buildroot}%{_bindir}/$f-%{python3_version}
|
||||
ln -s $f-%{python3_version} %{buildroot}%{_bindir}/$f-3
|
||||
ln -s $f-%{python3_version} %{buildroot}%{_bindir}/$f
|
||||
echo -e "%{_bindir}/$f\n%{_bindir}/$f-3\n%{_bindir}/$f-%{python3_version}" >> py3_bins
|
||||
done
|
||||
|
||||
# Integrate bash completion with the bash-completion package
|
||||
cp -f %{buildroot}%{_datadir}/%{srcname}-completion/vcs.bash %{buildroot}%{_datadir}/bash-completion/completions/vcs
|
||||
ln -sf vcs %{buildroot}%{_datadir}/bash-completion/completions/vcs-3
|
||||
ln -s vcs %{buildroot}%{_datadir}/bash-completion/completions/vcs-%{python3_version}
|
||||
%endif # with_python3
|
||||
|
||||
%if 0%{?with_python3_other}
|
||||
%py3_other_install -- --install-scripts %{_bindir}%{python3_other_pkgversion}
|
||||
|
||||
echo -n "" > py3_other_bins
|
||||
for f in `ls %{buildroot}%{_bindir}%{python3_other_pkgversion}`; do
|
||||
mv %{buildroot}%{_bindir}%{python3_other_pkgversion}/$f %{buildroot}%{_bindir}/$f-%{python3_other_version}
|
||||
%if !(0%{?with_python3})
|
||||
ln -s $f-%{python3_other_version} %{buildroot}%{_bindir}/$f-3
|
||||
echo "%{_bindir}/$f-3" >> py3_other_bins
|
||||
%if !(0%{?with_python2})
|
||||
ln -s $f-%{python3_other_version} %{buildroot}%{_bindir}/$f
|
||||
echo "%{_bindir}/$f" >> py3_other_bins
|
||||
%endif # with_python2
|
||||
%endif # with_python3
|
||||
echo "%{_bindir}/$f-%{python3_other_version}" >> py3_other_bins
|
||||
done
|
||||
|
||||
# Integrate bash completion with the bash-completion package
|
||||
cp -f %{buildroot}%{_datadir}/%{srcname}-completion/vcs.bash %{buildroot}%{_datadir}/bash-completion/completions/vcs
|
||||
ln -sf vcs %{buildroot}%{_datadir}/bash-completion/completions/vcs-3
|
||||
ln -s vcs %{buildroot}%{_datadir}/bash-completion/completions/vcs-%{python3_other_version}
|
||||
%endif # with_python3_other
|
||||
|
||||
|
||||
%check
|
||||
# We skip two classes of test:
|
||||
# 1. Code style
|
||||
# 2. Tests which require network access
|
||||
%define pytest_options \\\
|
||||
--ignore=test/test_flake8.py \\\
|
||||
--ignore test/test_commands.py \\\
|
||||
test
|
||||
|
||||
%if 0%{?with_python2}
|
||||
%{__python2} -m pytest %pytest_options
|
||||
%endif # with_python2
|
||||
|
||||
%if 0%{?with_python3}
|
||||
%{__python3} -m pytest %pytest_options
|
||||
%endif # with_python3
|
||||
|
||||
%if 0%{?with_python3_other}
|
||||
%{__python3_other} -m pytest %pytest_options
|
||||
%endif # with_python3_other
|
||||
|
||||
|
||||
%if 0%{?with_python2}
|
||||
%files -n python2-%{srcname} -f py2_bins
|
||||
%license LICENSE
|
||||
%doc CONTRIBUTING.md README.rst
|
||||
%{python2_sitelib}/%{srcname}/
|
||||
%{python2_sitelib}/%{srcname}-%{version}-py%{python2_version}.egg-info/
|
||||
%{_datadir}/%{srcname}-completion
|
||||
%{_datadir}/bash-completion/completions/vcs
|
||||
%{_datadir}/bash-completion/completions/vcs-2
|
||||
%{_datadir}/bash-completion/completions/vcs-%{python2_version}
|
||||
%endif # with_python2
|
||||
|
||||
|
||||
%if 0%{?with_python3}
|
||||
%files -n python%{python3_pkgversion}-%{srcname} -f py3_bins
|
||||
%license LICENSE
|
||||
%doc CONTRIBUTING.md README.rst
|
||||
%{python3_sitelib}/%{srcname}/
|
||||
%{python3_sitelib}/%{srcname}-%{version}-py%{python3_version}.egg-info/
|
||||
%{_datadir}/%{srcname}-completion
|
||||
%{_datadir}/bash-completion/completions/vcs
|
||||
%{_datadir}/bash-completion/completions/vcs-3
|
||||
%{_datadir}/bash-completion/completions/vcs-%{python3_version}
|
||||
%endif # with_python3
|
||||
|
||||
|
||||
%if 0%{?with_python3_other}
|
||||
%files -n python%{python3_other_pkgversion}-%{srcname} -f py3_other_bins
|
||||
%license LICENSE
|
||||
%doc CONTRIBUTING.md README.rst
|
||||
%{python3_other_sitelib}/%{srcname}/
|
||||
%{python3_other_sitelib}/%{srcname}-%{version}-py%{python3_other_version}.egg-info/
|
||||
%{_datadir}/%{srcname}-completion
|
||||
%{_datadir}/bash-completion/completions/vcs
|
||||
%{_datadir}/bash-completion/completions/vcs-3
|
||||
%{_datadir}/bash-completion/completions/vcs-%{python3_other_version}
|
||||
%endif # with_python3_other
|
||||
|
||||
|
||||
%changelog
|
||||
* Tue Feb 19 2019 Scott K Logan <logans@cottsay.net> - 0.1.39-1
|
||||
- Update to 0.1.39
|
||||
|
||||
* Thu Jan 17 2019 Scott K Logan <logans@cottsay.net> - 0.1.38-1
|
||||
- Update to 0.1.38
|
||||
|
||||
* Tue Oct 16 2018 Scott K Logan <logans@cottsay.net> - 0.1.37-1
|
||||
- Initial package
|
||||
1
sources
Normal file
1
sources
Normal file
|
|
@ -0,0 +1 @@
|
|||
SHA512 (vcstool-0.1.39.tar.gz) = a9910f9c986b1946fb72f1fdbe5143817714d17ae91e263253d4234ce8cf72641dcb4b2eb3a240aaa2bd6c300284731a5916dde4c462578a1cb3fe170f0c8b1e
|
||||
Loading…
Add table
Add a link
Reference in a new issue