From fae3805e43728a0b317ecb35afa7c8747f44a26d Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 2 Jan 2014 12:03:05 +0000 Subject: [PATCH 001/150] Initial setup of the repo --- .gitignore | 0 sources | 0 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 .gitignore create mode 100644 sources diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..e69de29 diff --git a/sources b/sources new file mode 100644 index 0000000..e69de29 From 8c56dbe0cf4b7e73f33e5629f0f0649351554c9c Mon Sep 17 00:00:00 2001 From: Mathieu Bridon Date: Thu, 27 Mar 2014 12:38:30 +0800 Subject: [PATCH 002/150] Import Christopher's package Review was at: https://bugzilla.redhat.com/show_bug.cgi?id=994859 --- .gitignore | 1 + python-pygit2.spec | 126 +++++++++++++++++++++++++++++++++++++++++++++ sources | 1 + 3 files changed, 128 insertions(+) create mode 100644 python-pygit2.spec diff --git a/.gitignore b/.gitignore index e69de29..e22239a 100644 --- a/.gitignore +++ b/.gitignore @@ -0,0 +1 @@ +/pygit2-0.20.2.tar.gz diff --git a/python-pygit2.spec b/python-pygit2.spec new file mode 100644 index 0000000..9b0583f --- /dev/null +++ b/python-pygit2.spec @@ -0,0 +1,126 @@ +%global pkgname pygit2 + +%if 0%{?fedora} < 20 || 0%{?rhel} < 7 +%global __provides_exclude_from ^%{python_sitearch}/.*\\.so +%global __provides_exclude_from ^%{python3_sitearch}/.*\\.so +%endif + +Name: python-%{pkgname} +Version: 0.20.2 +Release: 1%{?dist} +Summary: Python 2.x bindings for libgit2 +URL: http://www.pygit2.org +Source: http://pypi.python.org/packages/source/p/%{pkgname}/%{pkgname}-%{version}.tar.gz +License: GPLv2 with linking exception +BuildRequires: libgit2-devel +BuildRequires: python2-devel +BuildRequires: python-sphinx +BuildRequires: python-nose +BuildRequires: python-setuptools +BuildRequires: openssl-devel + +%description +pygit2 is a set of Python bindings to the libgit2 library, which implements +the core of Git. Pygit2 works with Python 2.6, 2.7, 3.1, 3.2 and 3.3. + +%package -n python3-%{pkgname} +Summary: Python 3.x bindings for libgit2 +BuildRequires: python3-devel +BuildRequires: python3-nose +BuildRequires: python3-setuptools + +%description -n python3-%{pkgname} +pygit2 is a set of Python bindings to the libgit2 library, which implements +the core of Git. Pygit2 works with Python 2.6, 2.7, 3.1, 3.2 and 3.3. + +%package doc +Summary: Documentation for %{name} +BuildArch: noarch + +%description doc +Documentation for %{name}. + +%prep +%setup -qn %{pkgname}-%{version} +rm -rf %{py3dir} +cp -a . %{py3dir} + +%build +CFLAGS="%{optflags}" %{__python2} setup.py build +pushd %{py3dir} +CFLAGS="%{optflags}" %{__python3} setup.py build +popd +cd docs && make html + +%install +%{__python2} setup.py install --prefix=%{_prefix} -O1 --skip-build --root=%{buildroot} +pushd %{py3dir} +%{__python3} setup.py install --prefix=%{_prefix} -O1 --skip-build --root=%{buildroot} +popd +find %{_builddir} -name '.buildinfo' -delete +# Correct the permissions. +find %{buildroot} -name '*.so' -exec chmod 755 {} ';' + +%check +%{__python2} setup.py test +pushd %{py3dir} +%{__python3} setup.py test +popd + +%files +%doc COPYING README.rst TODO.txt +%{python2_sitearch}/%{pkgname}-%{version}-py%{python2_version}.egg-info +%{python2_sitearch}/%{pkgname} +%{python2_sitearch}/_%{pkgname}.so + +%files -n python3-%{pkgname} +%doc COPYING README.rst TODO.txt +%{python3_sitearch}/%{pkgname}-%{version}-py%{python3_version}.egg-info +%{python3_sitearch}/%{pkgname} +%{python3_sitearch}/_%{pkgname}.*.so + +%files doc +%doc docs/_build/html/* + +%changelog +* Sun Mar 09 2014 Christopher Meng - 0.20.2-1 +- Update to 0.20.2 + +* Sun Dec 08 2013 Christopher Meng - 0.20.0-1 +- Update to 0.20.0 +- Clarify the license + +* Tue Oct 08 2013 Christopher Meng - 0.19.1-2 +- Split out -doc subpackage. +- Correct the libs permissions. + +* Mon Oct 07 2013 Christopher Meng - 0.19.1-1 +- Update to 0.19.1 + +* Sat Aug 17 2013 Christopher Meng - 0.19.0-4 +- Add missing sphinx BR. + +* Tue Aug 13 2013 Christopher Meng - 0.19.0-3 +- Remove unneeded files. + +* Mon Aug 12 2013 Christopher Meng - 0.19.0-2 +- Add missing nose BR. +- Add docs. + +* Thu Aug 01 2013 Christopher Meng - 0.19.0-1 +- Update to new release. + +* Fri Apr 26 2013 Christopher Meng - 0.18.1-1 +- Update to new release. + +* Mon Sep 24 2012 Christopher Meng - 0.17.3-1 +- Update to new release. + +* Sun Jul 29 2012 Christopher Meng - 0.17.2-1 +- Update to new release. + +* Fri Mar 30 2012 Christopher Meng - 0.16.1-1 +- Update to new release. + +* Thu Mar 01 2012 Christopher Meng - 0.16.0-1 +- Initial Package. diff --git a/sources b/sources index e69de29..5c8c017 100644 --- a/sources +++ b/sources @@ -0,0 +1 @@ +ddfe43076a45418a1122ca668b7b0247 pygit2-0.20.2.tar.gz From e96357b568a45cd90608b1ad3c4a60be03ea761e Mon Sep 17 00:00:00 2001 From: Kalev Lember Date: Wed, 28 May 2014 00:33:33 +0200 Subject: [PATCH 003/150] Rebuilt for https://fedoraproject.org/wiki/Changes/Python_3.4 --- python-pygit2.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/python-pygit2.spec b/python-pygit2.spec index 9b0583f..82add21 100644 --- a/python-pygit2.spec +++ b/python-pygit2.spec @@ -7,7 +7,7 @@ Name: python-%{pkgname} Version: 0.20.2 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Python 2.x bindings for libgit2 URL: http://www.pygit2.org Source: http://pypi.python.org/packages/source/p/%{pkgname}/%{pkgname}-%{version}.tar.gz @@ -83,6 +83,9 @@ popd %doc docs/_build/html/* %changelog +* Wed May 28 2014 Kalev Lember - 0.20.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Changes/Python_3.4 + * Sun Mar 09 2014 Christopher Meng - 0.20.2-1 - Update to 0.20.2 From 1d4db34d1f6f0ccbd2465fea8954d04602cff589 Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Sat, 7 Jun 2014 17:23:06 -0500 Subject: [PATCH 004/150] - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild --- python-pygit2.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/python-pygit2.spec b/python-pygit2.spec index 82add21..8568d37 100644 --- a/python-pygit2.spec +++ b/python-pygit2.spec @@ -7,7 +7,7 @@ Name: python-%{pkgname} Version: 0.20.2 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Python 2.x bindings for libgit2 URL: http://www.pygit2.org Source: http://pypi.python.org/packages/source/p/%{pkgname}/%{pkgname}-%{version}.tar.gz @@ -83,6 +83,9 @@ popd %doc docs/_build/html/* %changelog +* Sat Jun 07 2014 Fedora Release Engineering - 0.20.2-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + * Wed May 28 2014 Kalev Lember - 0.20.2-2 - Rebuilt for https://fedoraproject.org/wiki/Changes/Python_3.4 From fffb9f9a72fe6509d16ea3d384b032b4bd897f36 Mon Sep 17 00:00:00 2001 From: Christopher Meng Date: Sun, 22 Jun 2014 19:30:09 +0800 Subject: [PATCH 005/150] Update to 0.20.3 --- .gitignore | 1 + python-pygit2.spec | 11 +++++++---- sources | 2 +- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/.gitignore b/.gitignore index e22239a..065ee0c 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ /pygit2-0.20.2.tar.gz +/pygit2-0.20.3.tar.gz diff --git a/python-pygit2.spec b/python-pygit2.spec index 8568d37..b237ae1 100644 --- a/python-pygit2.spec +++ b/python-pygit2.spec @@ -6,18 +6,18 @@ %endif Name: python-%{pkgname} -Version: 0.20.2 -Release: 3%{?dist} +Version: 0.20.3 +Release: 1%{?dist} Summary: Python 2.x bindings for libgit2 URL: http://www.pygit2.org Source: http://pypi.python.org/packages/source/p/%{pkgname}/%{pkgname}-%{version}.tar.gz License: GPLv2 with linking exception BuildRequires: libgit2-devel +BuildRequires: openssl-devel BuildRequires: python2-devel BuildRequires: python-sphinx BuildRequires: python-nose BuildRequires: python-setuptools -BuildRequires: openssl-devel %description pygit2 is a set of Python bindings to the libgit2 library, which implements @@ -50,7 +50,7 @@ CFLAGS="%{optflags}" %{__python2} setup.py build pushd %{py3dir} CFLAGS="%{optflags}" %{__python3} setup.py build popd -cd docs && make html +make -C docs html %install %{__python2} setup.py install --prefix=%{_prefix} -O1 --skip-build --root=%{buildroot} @@ -83,6 +83,9 @@ popd %doc docs/_build/html/* %changelog +* Sat Jun 21 2014 Christopher Meng - 0.20.3-1 +- Update to 0.20.3 + * Sat Jun 07 2014 Fedora Release Engineering - 0.20.2-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild diff --git a/sources b/sources index 5c8c017..eed38e3 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -ddfe43076a45418a1122ca668b7b0247 pygit2-0.20.2.tar.gz +1efcc58383fd2e558a8d3cba4dcc4754 pygit2-0.20.3.tar.gz From 234f238e8f653045bffc1d74c2296c30a5f29426 Mon Sep 17 00:00:00 2001 From: Mathieu Bridon Date: Sun, 29 Jun 2014 17:56:46 +0200 Subject: [PATCH 006/150] Update to 0.21.0 --- .gitignore | 1 + python-pygit2.spec | 23 ++++++++++++++++++----- sources | 2 +- 3 files changed, 20 insertions(+), 6 deletions(-) diff --git a/.gitignore b/.gitignore index 065ee0c..48e75e5 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ /pygit2-0.20.2.tar.gz /pygit2-0.20.3.tar.gz +/pygit2-0.21.0.tar.gz diff --git a/python-pygit2.spec b/python-pygit2.spec index b237ae1..6d01cc0 100644 --- a/python-pygit2.spec +++ b/python-pygit2.spec @@ -6,7 +6,7 @@ %endif Name: python-%{pkgname} -Version: 0.20.3 +Version: 0.21.0 Release: 1%{?dist} Summary: Python 2.x bindings for libgit2 URL: http://www.pygit2.org @@ -14,32 +14,38 @@ Source: http://pypi.python.org/packages/source/p/%{pkgname}/%{pkgname}-% License: GPLv2 with linking exception BuildRequires: libgit2-devel BuildRequires: openssl-devel +BuildRequires: python-cffi BuildRequires: python2-devel -BuildRequires: python-sphinx BuildRequires: python-nose BuildRequires: python-setuptools %description pygit2 is a set of Python bindings to the libgit2 library, which implements -the core of Git. Pygit2 works with Python 2.6, 2.7, 3.1, 3.2 and 3.3. +the core of Git. Pygit2 works with Python 2.7, 3.1, 3.2, 3.3 and 3.4. + %package -n python3-%{pkgname} Summary: Python 3.x bindings for libgit2 +BuildRequires: python3-cffi BuildRequires: python3-devel BuildRequires: python3-nose BuildRequires: python3-setuptools %description -n python3-%{pkgname} pygit2 is a set of Python bindings to the libgit2 library, which implements -the core of Git. Pygit2 works with Python 2.6, 2.7, 3.1, 3.2 and 3.3. +the core of Git. Pygit2 works with Python 2.7, 3.1, 3.2, 3.3 and 3.4. + %package doc Summary: Documentation for %{name} BuildArch: noarch +BuildRequires: python-sphinx +Requires: %{name} = %{version}-%{release} %description doc Documentation for %{name}. + %prep %setup -qn %{pkgname}-%{version} rm -rf %{py3dir} @@ -47,10 +53,12 @@ cp -a . %{py3dir} %build CFLAGS="%{optflags}" %{__python2} setup.py build +make -C docs html + pushd %{py3dir} CFLAGS="%{optflags}" %{__python3} setup.py build popd -make -C docs html + %install %{__python2} setup.py install --prefix=%{_prefix} -O1 --skip-build --root=%{buildroot} @@ -72,17 +80,22 @@ popd %{python2_sitearch}/%{pkgname}-%{version}-py%{python2_version}.egg-info %{python2_sitearch}/%{pkgname} %{python2_sitearch}/_%{pkgname}.so +%{python2_sitearch}/_cffi__x9d80345cx7034714f.so %files -n python3-%{pkgname} %doc COPYING README.rst TODO.txt %{python3_sitearch}/%{pkgname}-%{version}-py%{python3_version}.egg-info %{python3_sitearch}/%{pkgname} %{python3_sitearch}/_%{pkgname}.*.so +%{python3_sitearch}/_cffi__x7a58d3ffx7034714f.cpython-34m.so %files doc %doc docs/_build/html/* %changelog +* Sun Jun 29 2014 Mathieu Bridon - 0.21.0-1 +- Update to 0.21.0 + * Sat Jun 21 2014 Christopher Meng - 0.20.3-1 - Update to 0.20.3 diff --git a/sources b/sources index eed38e3..b38b674 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -1efcc58383fd2e558a8d3cba4dcc4754 pygit2-0.20.3.tar.gz +ffd1df8fa73e65bc6d2b66ad8f90412c pygit2-0.21.0.tar.gz From a8a0b3f20dfc28bd7d745d440dffd94a8799340b Mon Sep 17 00:00:00 2001 From: Mathieu Bridon Date: Sun, 29 Jun 2014 18:38:37 +0200 Subject: [PATCH 007/150] Remove remote-calling unit tests This fixes the build in Koji. Not bumping, the package wouldn't build before. --- 0001-Remove-remote-calling-unit-tests.patch | 62 +++++++++++++++++++++ python-pygit2.spec | 5 ++ 2 files changed, 67 insertions(+) create mode 100644 0001-Remove-remote-calling-unit-tests.patch diff --git a/0001-Remove-remote-calling-unit-tests.patch b/0001-Remove-remote-calling-unit-tests.patch new file mode 100644 index 0000000..e5cce41 --- /dev/null +++ b/0001-Remove-remote-calling-unit-tests.patch @@ -0,0 +1,62 @@ +From f56fb3697c1ac9d42585cd1a0bb33b6d8d1304cb Mon Sep 17 00:00:00 2001 +From: Mathieu Bridon +Date: Sun, 29 Jun 2014 18:27:33 +0200 +Subject: [PATCH] Remove remote-calling unit tests + +These can only fail when building in Koji, as the builder can't access +the Internet. +--- + test/test_credentials.py | 18 ------------------ + test/test_repository.py | 8 -------- + 2 files changed, 26 deletions(-) + +diff --git a/test/test_credentials.py b/test/test_credentials.py +index 3bdeb6f..22dbacc 100644 +--- a/test/test_credentials.py ++++ b/test/test_credentials.py +@@ -71,23 +71,5 @@ class CredentialCallback(utils.RepoTestCase): + + self.assertRaises(Exception, remote.fetch) + +- def test_bad_cred_type(self): +- def credentials_cb(url, username, allowed): +- self.assertTrue(allowed & GIT_CREDTYPE_USERPASS_PLAINTEXT) +- return Keypair("git", "foo.pub", "foo", "sekkrit") +- +- remote = self.repo.create_remote("github", "https://github.com/github/github") +- remote.credentials = credentials_cb +- +- self.assertRaises(TypeError, remote.fetch) +- +-class CallableCredentialTest(utils.RepoTestCase): +- +- def test_user_pass(self): +- remote = self.repo.create_remote("bb", "https://bitbucket.org/libgit2/testgitrepository.git") +- remote.credentials = UserPass("libgit2", "libgit2") +- +- remote.fetch() +- + if __name__ == '__main__': + unittest.main() +diff --git a/test/test_repository.py b/test/test_repository.py +index 4d6472e..7ba9c73 100644 +--- a/test/test_repository.py ++++ b/test/test_repository.py +@@ -477,14 +477,6 @@ class CloneRepositoryTest(utils.NoRepoTestCase): + clone_into(repo, remote) + self.assertTrue('refs/remotes/origin/master' in repo.listall_references()) + +- def test_clone_with_credentials(self): +- credentials = pygit2.UserPass("libgit2", "libgit2") +- repo = clone_repository( +- "https://bitbucket.org/libgit2/testgitrepository.git", +- self._temp_dir, credentials=credentials) +- +- self.assertFalse(repo.is_empty) +- + # FIXME The tests below are commented because they are broken: + # + # - test_clone_push_url: Passes, but does nothing useful. +-- +1.9.3 + diff --git a/python-pygit2.spec b/python-pygit2.spec index 6d01cc0..bc06a7a 100644 --- a/python-pygit2.spec +++ b/python-pygit2.spec @@ -19,6 +19,8 @@ BuildRequires: python2-devel BuildRequires: python-nose BuildRequires: python-setuptools +Patch0: 0001-Remove-remote-calling-unit-tests.patch + %description pygit2 is a set of Python bindings to the libgit2 library, which implements the core of Git. Pygit2 works with Python 2.7, 3.1, 3.2, 3.3 and 3.4. @@ -48,6 +50,9 @@ Documentation for %{name}. %prep %setup -qn %{pkgname}-%{version} + +%patch0 -p1 + rm -rf %{py3dir} cp -a . %{py3dir} From d7cd11708330120bbafb695c16637c9361b13d8c Mon Sep 17 00:00:00 2001 From: Mathieu Bridon Date: Tue, 29 Jul 2014 10:45:38 +0200 Subject: [PATCH 008/150] Update to 0.21.1 While I'm at it, use %license. --- .gitignore | 1 + python-pygit2.spec | 17 ++++++++++++----- sources | 2 +- 3 files changed, 14 insertions(+), 6 deletions(-) diff --git a/.gitignore b/.gitignore index 48e75e5..0f7a951 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ /pygit2-0.20.2.tar.gz /pygit2-0.20.3.tar.gz /pygit2-0.21.0.tar.gz +/pygit2-0.21.1.tar.gz diff --git a/python-pygit2.spec b/python-pygit2.spec index bc06a7a..5cae367 100644 --- a/python-pygit2.spec +++ b/python-pygit2.spec @@ -6,7 +6,7 @@ %endif Name: python-%{pkgname} -Version: 0.21.0 +Version: 0.21.1 Release: 1%{?dist} Summary: Python 2.x bindings for libgit2 URL: http://www.pygit2.org @@ -81,23 +81,30 @@ pushd %{py3dir} popd %files -%doc COPYING README.rst TODO.txt +%doc README.rst TODO.txt +%license COPYING %{python2_sitearch}/%{pkgname}-%{version}-py%{python2_version}.egg-info %{python2_sitearch}/%{pkgname} %{python2_sitearch}/_%{pkgname}.so -%{python2_sitearch}/_cffi__x9d80345cx7034714f.so +%{python2_sitearch}/_cffi__*.so %files -n python3-%{pkgname} -%doc COPYING README.rst TODO.txt +%doc README.rst TODO.txt +%license COPYING %{python3_sitearch}/%{pkgname}-%{version}-py%{python3_version}.egg-info %{python3_sitearch}/%{pkgname} %{python3_sitearch}/_%{pkgname}.*.so -%{python3_sitearch}/_cffi__x7a58d3ffx7034714f.cpython-34m.so +%{python3_sitearch}/_cffi__*.cpython-34m.so + %files doc %doc docs/_build/html/* + %changelog +* Tue Jul 29 2014 Mathieu Bridon - 0.21.1-1 +- Update to 0.21.1 + * Sun Jun 29 2014 Mathieu Bridon - 0.21.0-1 - Update to 0.21.0 diff --git a/sources b/sources index b38b674..3620caa 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -ffd1df8fa73e65bc6d2b66ad8f90412c pygit2-0.21.0.tar.gz +b8ba74d268a3b9c7d2cfa6305f570f92 pygit2-0.21.1.tar.gz From e148289a20c9eab75438388cf89c4b439228df4d Mon Sep 17 00:00:00 2001 From: Mathieu Bridon Date: Tue, 12 Aug 2014 13:46:10 +0200 Subject: [PATCH 009/150] Update to 0.21.2 --- .gitignore | 1 + 0001-Fix-syntax-error.patch | 23 +++++++++++++++++++++++ python-pygit2.spec | 7 ++++++- sources | 2 +- 4 files changed, 31 insertions(+), 2 deletions(-) create mode 100644 0001-Fix-syntax-error.patch diff --git a/.gitignore b/.gitignore index 0f7a951..3414d8e 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,4 @@ /pygit2-0.20.3.tar.gz /pygit2-0.21.0.tar.gz /pygit2-0.21.1.tar.gz +/pygit2-0.21.2.tar.gz diff --git a/0001-Fix-syntax-error.patch b/0001-Fix-syntax-error.patch new file mode 100644 index 0000000..c689315 --- /dev/null +++ b/0001-Fix-syntax-error.patch @@ -0,0 +1,23 @@ +From 309a844793a56a7a71f075e841faa75d5b17a192 Mon Sep 17 00:00:00 2001 +From: Mathieu Bridon +Date: Tue, 12 Aug 2014 11:24:03 +0200 +Subject: [PATCH] Fix syntax error + +https://github.com/libgit2/pygit2/pull/401 +--- + pygit2/py2.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/pygit2/py2.py b/pygit2/py2.py +index 3c57fba..a2d2359 100644 +--- a/pygit2/py2.py ++++ b/pygit2/py2.py +@@ -54,4 +54,4 @@ def to_str(s): + if type(s) is unicode: + return s.encode() + +- raise TypeError, 'unexpected type "%s"' % repr(s) ++ raise TypeError('unexpected type "%s"' % repr(s)) +-- +1.9.3 + diff --git a/python-pygit2.spec b/python-pygit2.spec index 5cae367..b09d82b 100644 --- a/python-pygit2.spec +++ b/python-pygit2.spec @@ -6,7 +6,7 @@ %endif Name: python-%{pkgname} -Version: 0.21.1 +Version: 0.21.2 Release: 1%{?dist} Summary: Python 2.x bindings for libgit2 URL: http://www.pygit2.org @@ -20,6 +20,7 @@ BuildRequires: python-nose BuildRequires: python-setuptools Patch0: 0001-Remove-remote-calling-unit-tests.patch +Patch1: 0001-Fix-syntax-error.patch %description pygit2 is a set of Python bindings to the libgit2 library, which implements @@ -52,6 +53,7 @@ Documentation for %{name}. %setup -qn %{pkgname}-%{version} %patch0 -p1 +%patch1 -p1 rm -rf %{py3dir} cp -a . %{py3dir} @@ -102,6 +104,9 @@ popd %changelog +* Tue Aug 12 2014 Mathieu Bridon - 0.21.2-1 +- Update to 0.21.2 + * Tue Jul 29 2014 Mathieu Bridon - 0.21.1-1 - Update to 0.21.1 diff --git a/sources b/sources index 3620caa..e1bb6c3 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -b8ba74d268a3b9c7d2cfa6305f570f92 pygit2-0.21.1.tar.gz +bcb35b873e70628ad1c8f72cb137f310 pygit2-0.21.2.tar.gz From 08461827be7324959504974e636634c096edc904 Mon Sep 17 00:00:00 2001 From: Mathieu Bridon Date: Thu, 14 Aug 2014 10:27:49 +0200 Subject: [PATCH 010/150] Add missing requirement https://bugzilla.redhat.com/show_bug.cgi?id=1129868 --- python-pygit2.spec | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/python-pygit2.spec b/python-pygit2.spec index b09d82b..42947ac 100644 --- a/python-pygit2.spec +++ b/python-pygit2.spec @@ -7,7 +7,7 @@ Name: python-%{pkgname} Version: 0.21.2 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Python 2.x bindings for libgit2 URL: http://www.pygit2.org Source: http://pypi.python.org/packages/source/p/%{pkgname}/%{pkgname}-%{version}.tar.gz @@ -19,6 +19,8 @@ BuildRequires: python2-devel BuildRequires: python-nose BuildRequires: python-setuptools +Requires: python-cffi + Patch0: 0001-Remove-remote-calling-unit-tests.patch Patch1: 0001-Fix-syntax-error.patch @@ -34,6 +36,8 @@ BuildRequires: python3-devel BuildRequires: python3-nose BuildRequires: python3-setuptools +Requires: python3-cffi + %description -n python3-%{pkgname} pygit2 is a set of Python bindings to the libgit2 library, which implements the core of Git. Pygit2 works with Python 2.7, 3.1, 3.2, 3.3 and 3.4. @@ -104,6 +108,10 @@ popd %changelog +* Thu Aug 13 2014 Mathieu Bridon - 0.21.2-2 +- Add missing requirement + https://bugzilla.redhat.com/show_bug.cgi?id=1129868 + * Tue Aug 12 2014 Mathieu Bridon - 0.21.2-1 - Update to 0.21.2 From a52a991edf7b37d6164dc50fef7c77acfd46e667 Mon Sep 17 00:00:00 2001 From: Peter Robinson Date: Sun, 17 Aug 2014 21:37:58 +0000 Subject: [PATCH 011/150] - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild --- python-pygit2.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/python-pygit2.spec b/python-pygit2.spec index 42947ac..1a09cf5 100644 --- a/python-pygit2.spec +++ b/python-pygit2.spec @@ -7,7 +7,7 @@ Name: python-%{pkgname} Version: 0.21.2 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Python 2.x bindings for libgit2 URL: http://www.pygit2.org Source: http://pypi.python.org/packages/source/p/%{pkgname}/%{pkgname}-%{version}.tar.gz @@ -108,6 +108,9 @@ popd %changelog +* Sun Aug 17 2014 Fedora Release Engineering - 0.21.2-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + * Thu Aug 13 2014 Mathieu Bridon - 0.21.2-2 - Add missing requirement https://bugzilla.redhat.com/show_bug.cgi?id=1129868 From 57fe51dc4b08e72e835d38f1148e1f9bc41175c5 Mon Sep 17 00:00:00 2001 From: Mathieu Bridon Date: Fri, 19 Sep 2014 17:36:32 +0200 Subject: [PATCH 012/150] Update to 0.21.3 --- .gitignore | 1 + 0001-Fix-syntax-error.patch | 23 --------------------- 0001-Remove-remote-calling-unit-tests.patch | 16 +++++++------- python-pygit2.spec | 9 ++++---- sources | 2 +- 5 files changed, 15 insertions(+), 36 deletions(-) delete mode 100644 0001-Fix-syntax-error.patch diff --git a/.gitignore b/.gitignore index 3414d8e..e290fa4 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,4 @@ /pygit2-0.21.0.tar.gz /pygit2-0.21.1.tar.gz /pygit2-0.21.2.tar.gz +/pygit2-0.21.3.tar.gz diff --git a/0001-Fix-syntax-error.patch b/0001-Fix-syntax-error.patch deleted file mode 100644 index c689315..0000000 --- a/0001-Fix-syntax-error.patch +++ /dev/null @@ -1,23 +0,0 @@ -From 309a844793a56a7a71f075e841faa75d5b17a192 Mon Sep 17 00:00:00 2001 -From: Mathieu Bridon -Date: Tue, 12 Aug 2014 11:24:03 +0200 -Subject: [PATCH] Fix syntax error - -https://github.com/libgit2/pygit2/pull/401 ---- - pygit2/py2.py | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/pygit2/py2.py b/pygit2/py2.py -index 3c57fba..a2d2359 100644 ---- a/pygit2/py2.py -+++ b/pygit2/py2.py -@@ -54,4 +54,4 @@ def to_str(s): - if type(s) is unicode: - return s.encode() - -- raise TypeError, 'unexpected type "%s"' % repr(s) -+ raise TypeError('unexpected type "%s"' % repr(s)) --- -1.9.3 - diff --git a/0001-Remove-remote-calling-unit-tests.patch b/0001-Remove-remote-calling-unit-tests.patch index e5cce41..d26182f 100644 --- a/0001-Remove-remote-calling-unit-tests.patch +++ b/0001-Remove-remote-calling-unit-tests.patch @@ -1,6 +1,6 @@ -From f56fb3697c1ac9d42585cd1a0bb33b6d8d1304cb Mon Sep 17 00:00:00 2001 +From c846d973b2797ad52fa6991f86f0794c8373d961 Mon Sep 17 00:00:00 2001 From: Mathieu Bridon -Date: Sun, 29 Jun 2014 18:27:33 +0200 +Date: Fri, 19 Sep 2014 17:25:38 +0200 Subject: [PATCH] Remove remote-calling unit tests These can only fail when building in Koji, as the builder can't access @@ -39,10 +39,10 @@ index 3bdeb6f..22dbacc 100644 if __name__ == '__main__': unittest.main() diff --git a/test/test_repository.py b/test/test_repository.py -index 4d6472e..7ba9c73 100644 +index 72a5e64..9cbca66 100644 --- a/test/test_repository.py +++ b/test/test_repository.py -@@ -477,14 +477,6 @@ class CloneRepositoryTest(utils.NoRepoTestCase): +@@ -454,14 +454,6 @@ class CloneRepositoryTest(utils.NoRepoTestCase): clone_into(repo, remote) self.assertTrue('refs/remotes/origin/master' in repo.listall_references()) @@ -54,9 +54,9 @@ index 4d6472e..7ba9c73 100644 - - self.assertFalse(repo.is_empty) - - # FIXME The tests below are commented because they are broken: - # - # - test_clone_push_url: Passes, but does nothing useful. + def test_clone_with_checkout_branch(self): + # create a test case which isolates the remote + test_repo = clone_repository('./test/data/testrepo.git', -- -1.9.3 +2.1.0 diff --git a/python-pygit2.spec b/python-pygit2.spec index 1a09cf5..cef2177 100644 --- a/python-pygit2.spec +++ b/python-pygit2.spec @@ -6,8 +6,8 @@ %endif Name: python-%{pkgname} -Version: 0.21.2 -Release: 3%{?dist} +Version: 0.21.3 +Release: 1%{?dist} Summary: Python 2.x bindings for libgit2 URL: http://www.pygit2.org Source: http://pypi.python.org/packages/source/p/%{pkgname}/%{pkgname}-%{version}.tar.gz @@ -22,7 +22,6 @@ BuildRequires: python-setuptools Requires: python-cffi Patch0: 0001-Remove-remote-calling-unit-tests.patch -Patch1: 0001-Fix-syntax-error.patch %description pygit2 is a set of Python bindings to the libgit2 library, which implements @@ -57,7 +56,6 @@ Documentation for %{name}. %setup -qn %{pkgname}-%{version} %patch0 -p1 -%patch1 -p1 rm -rf %{py3dir} cp -a . %{py3dir} @@ -108,6 +106,9 @@ popd %changelog +* Fri Sep 19 2014 Mathieu Bridon - 0.21.3-1 +- Update to 0.21.3 + * Sun Aug 17 2014 Fedora Release Engineering - 0.21.2-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild diff --git a/sources b/sources index e1bb6c3..5e32e83 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -bcb35b873e70628ad1c8f72cb137f310 pygit2-0.21.2.tar.gz +c929bb958f91ffaa942cac754218aa92 pygit2-0.21.3.tar.gz From 771a4eadbab343426beb61749542457012339823 Mon Sep 17 00:00:00 2001 From: Mathieu Bridon Date: Fri, 19 Sep 2014 17:39:08 +0200 Subject: [PATCH 013/150] Fix bogus date in changelog --- python-pygit2.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/python-pygit2.spec b/python-pygit2.spec index cef2177..3d14d03 100644 --- a/python-pygit2.spec +++ b/python-pygit2.spec @@ -112,7 +112,7 @@ popd * Sun Aug 17 2014 Fedora Release Engineering - 0.21.2-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild -* Thu Aug 13 2014 Mathieu Bridon - 0.21.2-2 +* Thu Aug 14 2014 Mathieu Bridon - 0.21.2-2 - Add missing requirement https://bugzilla.redhat.com/show_bug.cgi?id=1129868 From 10a0ff3a5f3b385497b1f2116ec62918f60c662b Mon Sep 17 00:00:00 2001 From: Mathieu Bridon Date: Mon, 17 Nov 2014 12:02:26 +0100 Subject: [PATCH 014/150] Remove old stuff This branch only goes to Fedora 21 and up anyway. --- python-pygit2.spec | 5 ----- 1 file changed, 5 deletions(-) diff --git a/python-pygit2.spec b/python-pygit2.spec index 3d14d03..1f42f42 100644 --- a/python-pygit2.spec +++ b/python-pygit2.spec @@ -1,10 +1,5 @@ %global pkgname pygit2 -%if 0%{?fedora} < 20 || 0%{?rhel} < 7 -%global __provides_exclude_from ^%{python_sitearch}/.*\\.so -%global __provides_exclude_from ^%{python3_sitearch}/.*\\.so -%endif - Name: python-%{pkgname} Version: 0.21.3 Release: 1%{?dist} From 39bc7d01c2adcbf2cdc4ec39037a8431490ab67b Mon Sep 17 00:00:00 2001 From: Mathieu Bridon Date: Fri, 19 Sep 2014 17:36:32 +0200 Subject: [PATCH 015/150] Update to 0.21.4 --- .gitignore | 1 + python-pygit2.spec | 13 +++++++++---- sources | 2 +- 3 files changed, 11 insertions(+), 5 deletions(-) diff --git a/.gitignore b/.gitignore index e290fa4..e95efa8 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,4 @@ /pygit2-0.21.1.tar.gz /pygit2-0.21.2.tar.gz /pygit2-0.21.3.tar.gz +/pygit2-0.21.4.tar.gz diff --git a/python-pygit2.spec b/python-pygit2.spec index 1f42f42..87b7422 100644 --- a/python-pygit2.spec +++ b/python-pygit2.spec @@ -1,7 +1,7 @@ %global pkgname pygit2 Name: python-%{pkgname} -Version: 0.21.3 +Version: 0.21.4 Release: 1%{?dist} Summary: Python 2.x bindings for libgit2 URL: http://www.pygit2.org @@ -55,6 +55,7 @@ Documentation for %{name}. rm -rf %{py3dir} cp -a . %{py3dir} + %build CFLAGS="%{optflags}" %{__python2} setup.py build make -C docs html @@ -73,19 +74,21 @@ find %{_builddir} -name '.buildinfo' -delete # Correct the permissions. find %{buildroot} -name '*.so' -exec chmod 755 {} ';' + %check %{__python2} setup.py test pushd %{py3dir} %{__python3} setup.py test popd + %files %doc README.rst TODO.txt %license COPYING %{python2_sitearch}/%{pkgname}-%{version}-py%{python2_version}.egg-info %{python2_sitearch}/%{pkgname} %{python2_sitearch}/_%{pkgname}.so -%{python2_sitearch}/_cffi__*.so +%{python2_sitearch}/%{pkgname}_cffi_*.so %files -n python3-%{pkgname} %doc README.rst TODO.txt @@ -93,14 +96,16 @@ popd %{python3_sitearch}/%{pkgname}-%{version}-py%{python3_version}.egg-info %{python3_sitearch}/%{pkgname} %{python3_sitearch}/_%{pkgname}.*.so -%{python3_sitearch}/_cffi__*.cpython-34m.so - +%{python3_sitearch}/%{pkgname}_cffi_*.so %files doc %doc docs/_build/html/* %changelog +* Mon Nov 17 2014 Mathieu Bridon - 0.21.4-1 +- Update to 0.21.4 + * Fri Sep 19 2014 Mathieu Bridon - 0.21.3-1 - Update to 0.21.3 diff --git a/sources b/sources index 5e32e83..439b191 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -c929bb958f91ffaa942cac754218aa92 pygit2-0.21.3.tar.gz +8a3d02eded2bef2e0af18172814eec32 pygit2-0.21.4.tar.gz From bb63a54f2873aa1ad5caa189c241ef9a9d835e5b Mon Sep 17 00:00:00 2001 From: Mathieu Bridon Date: Fri, 6 Feb 2015 10:46:50 +0100 Subject: [PATCH 016/150] Update to 0.22.0 --- .gitignore | 1 + 0001-Remove-remote-calling-unit-tests.patch | 24 +-- 0001-Safer-handling-of-string-arrays.patch | 172 ++++++++++++++++++++ python-pygit2.spec | 16 +- sources | 2 +- 5 files changed, 198 insertions(+), 17 deletions(-) create mode 100644 0001-Safer-handling-of-string-arrays.patch diff --git a/.gitignore b/.gitignore index e95efa8..71926bd 100644 --- a/.gitignore +++ b/.gitignore @@ -5,3 +5,4 @@ /pygit2-0.21.2.tar.gz /pygit2-0.21.3.tar.gz /pygit2-0.21.4.tar.gz +/pygit2-0.22.0.tar.gz diff --git a/0001-Remove-remote-calling-unit-tests.patch b/0001-Remove-remote-calling-unit-tests.patch index d26182f..d4844be 100644 --- a/0001-Remove-remote-calling-unit-tests.patch +++ b/0001-Remove-remote-calling-unit-tests.patch @@ -1,20 +1,20 @@ -From c846d973b2797ad52fa6991f86f0794c8373d961 Mon Sep 17 00:00:00 2001 -From: Mathieu Bridon -Date: Fri, 19 Sep 2014 17:25:38 +0200 +From 7552a25ca68931143332e49edd072bd92e7f9904 Mon Sep 17 00:00:00 2001 +From: Mathieu Bridon +Date: Wed, 21 Jan 2015 09:33:46 +0100 Subject: [PATCH] Remove remote-calling unit tests These can only fail when building in Koji, as the builder can't access the Internet. --- - test/test_credentials.py | 18 ------------------ + test/test_credentials.py | 17 ----------------- test/test_repository.py | 8 -------- - 2 files changed, 26 deletions(-) + 2 files changed, 25 deletions(-) diff --git a/test/test_credentials.py b/test/test_credentials.py -index 3bdeb6f..22dbacc 100644 +index 376032f..abcce52 100644 --- a/test/test_credentials.py +++ b/test/test_credentials.py -@@ -71,23 +71,5 @@ class CredentialCallback(utils.RepoTestCase): +@@ -79,23 +79,6 @@ class CredentialCallback(utils.RepoTestCase): self.assertRaises(Exception, remote.fetch) @@ -35,16 +35,16 @@ index 3bdeb6f..22dbacc 100644 - remote.credentials = UserPass("libgit2", "libgit2") - - remote.fetch() -- + if __name__ == '__main__': unittest.main() diff --git a/test/test_repository.py b/test/test_repository.py -index 72a5e64..9cbca66 100644 +index 7640f39..decb974 100644 --- a/test/test_repository.py +++ b/test/test_repository.py -@@ -454,14 +454,6 @@ class CloneRepositoryTest(utils.NoRepoTestCase): - clone_into(repo, remote) - self.assertTrue('refs/remotes/origin/master' in repo.listall_references()) +@@ -457,14 +457,6 @@ class CloneRepositoryTest(utils.NoRepoTestCase): + self.assertTrue('refs/remotes/custom_remote/master' in repo.listall_references()) + self.assertIsNotNone(repo.remotes["custom_remote"]) - def test_clone_with_credentials(self): - credentials = pygit2.UserPass("libgit2", "libgit2") diff --git a/0001-Safer-handling-of-string-arrays.patch b/0001-Safer-handling-of-string-arrays.patch new file mode 100644 index 0000000..1e24c19 --- /dev/null +++ b/0001-Safer-handling-of-string-arrays.patch @@ -0,0 +1,172 @@ +From 6b935d6b53fdfcf6d83a0016487da807ed3a9139 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Carlos=20Mart=C3=ADn=20Nieto?= +Date: Fri, 6 Feb 2015 03:41:37 +0100 +Subject: [PATCH] Safer handling of string arrays + +We need to keep hold of the strings which we create. We must also hold +on to the array of strings which we assing to our git_strarray. + +We were not doing the latter, which meant that our strings may have been +freed too early, leaving us with with memory access errors (though often +not leading to a crash due to the custom allocator in python). + +As we need to keep hold of two/three pieces of information, this looks +like a good place to introduce a context manager. This allows us to +keep these pointers alive without burdening the call sites with a return +of multiple objects they have no use for. +--- + pygit2/index.py | 8 ++++---- + pygit2/remote.py | 20 ++++++++++---------- + pygit2/utils.py | 46 +++++++++++++++++++++++----------------------- + 3 files changed, 37 insertions(+), 37 deletions(-) + +diff --git a/pygit2/index.py b/pygit2/index.py +index 61b7c97..47d4cd6 100644 +--- a/pygit2/index.py ++++ b/pygit2/index.py +@@ -32,7 +32,7 @@ from __future__ import absolute_import, unicode_literals + from _pygit2 import Oid, Tree, Diff + from .errors import check_error + from .ffi import ffi, C +-from .utils import is_string, strings_to_strarray, to_bytes, to_str ++from .utils import is_string, to_bytes, to_str, StrArray + + + class Index(object): +@@ -175,9 +175,9 @@ class Index(object): + If pathspecs are specified, only files matching those pathspecs will + be added. + """ +- arr, refs = strings_to_strarray(pathspecs) +- err = C.git_index_add_all(self._index, arr, 0, ffi.NULL, ffi.NULL) +- check_error(err, True) ++ with StrArray(pathspecs) as arr: ++ err = C.git_index_add_all(self._index, arr, 0, ffi.NULL, ffi.NULL) ++ check_error(err, True) + + def add(self, path_or_entry): + """add([path|entry]) +diff --git a/pygit2/remote.py b/pygit2/remote.py +index c4a195f..d2fbdcf 100644 +--- a/pygit2/remote.py ++++ b/pygit2/remote.py +@@ -34,7 +34,7 @@ from .errors import check_error, GitError + from .ffi import ffi, C + from .credentials import KeypairFromAgent + from .refspec import Refspec +-from .utils import to_bytes, strarray_to_strings, strings_to_strarray ++from .utils import to_bytes, strarray_to_strings, StrArray + + + def maybe_string(ptr): +@@ -253,9 +253,9 @@ class Remote(object): + + @fetch_refspecs.setter + def fetch_refspecs(self, l): +- arr, refs = strings_to_strarray(l) +- err = C.git_remote_set_fetch_refspecs(self._remote, arr) +- check_error(err) ++ with StrArray(l) as arr: ++ err = C.git_remote_set_fetch_refspecs(self._remote, arr) ++ check_error(err) + + @property + def push_refspecs(self): +@@ -269,9 +269,9 @@ class Remote(object): + + @push_refspecs.setter + def push_refspecs(self, l): +- arr, refs = strings_to_strarray(l) +- err = C.git_remote_set_push_refspecs(self._remote, arr) +- check_error(err) ++ with StrArray(l) as arr: ++ err = C.git_remote_set_push_refspecs(self._remote, arr) ++ check_error(err) + + def add_fetch(self, spec): + """add_fetch(refspec) +@@ -305,7 +305,6 @@ class Remote(object): + err = C.git_remote_init_callbacks(defaultcallbacks, 1) + check_error(err) + +- refspecs, refspecs_refs = strings_to_strarray(specs) + if signature: + sig_cptr = ffi.new('git_signature **') + ffi.buffer(sig_cptr)[:] = signature._pointer[:] +@@ -333,8 +332,9 @@ class Remote(object): + raise + + try: +- err = C.git_remote_push(self._remote, refspecs, ffi.NULL, sig_ptr, to_bytes(message)) +- check_error(err) ++ with StrArray(specs) as refspecs: ++ err = C.git_remote_push(self._remote, refspecs, ffi.NULL, sig_ptr, to_bytes(message)) ++ check_error(err) + finally: + self._self_handle = None + +diff --git a/pygit2/utils.py b/pygit2/utils.py +index 3c5fc88..17582a4 100644 +--- a/pygit2/utils.py ++++ b/pygit2/utils.py +@@ -50,34 +50,34 @@ def strarray_to_strings(arr): + return l + + +-def strings_to_strarray(l): +- """Convert a list of strings to a git_strarray ++class StrArray(object): ++ """A git_strarray wrapper + +- We return first the git_strarray* you can pass to libgit2 and a +- list of references to the memory, which we must keep around for as +- long as the git_strarray must live. +- """ ++ Use this in order to get a git_strarray* to pass to libgit2 out of a ++ list of strings. This has a context manager, which you should use, e.g. + +- if not isinstance(l, list): +- raise TypeError("Value must be a list") ++ with StrArray(list_of_strings) as arr: ++ C.git_function_that_takes_strarray(arr) ++ """ + +- arr = ffi.new('git_strarray *') +- strings = ffi.new('char *[]', len(l)) ++ def __init__(self, l): ++ if not isinstance(l, list): ++ raise TypeError("Value must be a list") + +- # We need refs in order to keep a reference to the value returned +- # by the ffi.new(). Otherwise, they will be freed and the memory +- # re-used, with less than great consequences. +- refs = [None] * len(l) ++ arr = ffi.new('git_strarray *') ++ strings = [None] * len(l) ++ for i in range(len(l)): ++ if not is_string(l[i]): ++ raise TypeError("Value must be a string") + +- for i in range(len(l)): +- if not is_string(l[i]): +- raise TypeError("Value must be a string") ++ strings[i] = ffi.new('char []', to_bytes(l[i])) + +- s = ffi.new('char []', to_bytes(l[i])) +- refs[i] = s +- strings[i] = s ++ self._arr = ffi.new('char *[]', strings) ++ self._strings = strings ++ self.array = ffi.new('git_strarray *', [self._arr, len(strings)]) + +- arr.strings = strings +- arr.count = len(l) ++ def __enter__(self): ++ return self.array + +- return arr, refs ++ def __exit__(self, type, value, traceback): ++ pass +-- +2.1.0 + diff --git a/python-pygit2.spec b/python-pygit2.spec index 87b7422..e9043e1 100644 --- a/python-pygit2.spec +++ b/python-pygit2.spec @@ -1,7 +1,7 @@ %global pkgname pygit2 Name: python-%{pkgname} -Version: 0.21.4 +Version: 0.22.0 Release: 1%{?dist} Summary: Python 2.x bindings for libgit2 URL: http://www.pygit2.org @@ -16,11 +16,15 @@ BuildRequires: python-setuptools Requires: python-cffi -Patch0: 0001-Remove-remote-calling-unit-tests.patch +Patch1: 0001-Remove-remote-calling-unit-tests.patch + +# https://bugzilla.redhat.com/show_bug.cgi?id=1186880 +# https://github.com/libgit2/pygit2/pull/487 +Patch2: 0001-Safer-handling-of-string-arrays.patch %description pygit2 is a set of Python bindings to the libgit2 library, which implements -the core of Git. Pygit2 works with Python 2.7, 3.1, 3.2, 3.3 and 3.4. +the core of Git. Pygit2 works with Python 2.7, 3.1, 3.2, 3.3, 3.4 and pypy. %package -n python3-%{pkgname} @@ -50,7 +54,8 @@ Documentation for %{name}. %prep %setup -qn %{pkgname}-%{version} -%patch0 -p1 +%patch1 -p1 +%patch2 -p1 rm -rf %{py3dir} cp -a . %{py3dir} @@ -103,6 +108,9 @@ popd %changelog +* Wed Jan 21 2015 Mathieu Bridon - 0.22.0-1 +- Update to 0.22.0 + * Mon Nov 17 2014 Mathieu Bridon - 0.21.4-1 - Update to 0.21.4 diff --git a/sources b/sources index 439b191..5d28080 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -8a3d02eded2bef2e0af18172814eec32 pygit2-0.21.4.tar.gz +31dc65b3cbe6e39d75a39db86dd7cd8c pygit2-0.22.0.tar.gz From 43d6fcd7f0206681ce0da67c797c88470ab7da1b Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Thu, 18 Jun 2015 20:25:23 +0000 Subject: [PATCH 017/150] - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild --- python-pygit2.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/python-pygit2.spec b/python-pygit2.spec index e9043e1..e9cd268 100644 --- a/python-pygit2.spec +++ b/python-pygit2.spec @@ -2,7 +2,7 @@ Name: python-%{pkgname} Version: 0.22.0 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Python 2.x bindings for libgit2 URL: http://www.pygit2.org Source: http://pypi.python.org/packages/source/p/%{pkgname}/%{pkgname}-%{version}.tar.gz @@ -108,6 +108,9 @@ popd %changelog +* Thu Jun 18 2015 Fedora Release Engineering - 0.22.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + * Wed Jan 21 2015 Mathieu Bridon - 0.22.0-1 - Update to 0.22.0 From e00f54038d261197fb7c21a28947b42221ecca7a Mon Sep 17 00:00:00 2001 From: Fedora Release Monitoring Date: Sun, 12 Jul 2015 12:16:00 +0000 Subject: [PATCH 018/150] Update to 0.22.1 (#1242226) --- .gitignore | 1 + 0001-Safer-handling-of-string-arrays.patch | 172 --------------------- python-pygit2.spec | 13 +- sources | 2 +- 4 files changed, 8 insertions(+), 180 deletions(-) delete mode 100644 0001-Safer-handling-of-string-arrays.patch diff --git a/.gitignore b/.gitignore index 71926bd..67c4123 100644 --- a/.gitignore +++ b/.gitignore @@ -6,3 +6,4 @@ /pygit2-0.21.3.tar.gz /pygit2-0.21.4.tar.gz /pygit2-0.22.0.tar.gz +/pygit2-0.22.1.tar.gz diff --git a/0001-Safer-handling-of-string-arrays.patch b/0001-Safer-handling-of-string-arrays.patch deleted file mode 100644 index 1e24c19..0000000 --- a/0001-Safer-handling-of-string-arrays.patch +++ /dev/null @@ -1,172 +0,0 @@ -From 6b935d6b53fdfcf6d83a0016487da807ed3a9139 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Carlos=20Mart=C3=ADn=20Nieto?= -Date: Fri, 6 Feb 2015 03:41:37 +0100 -Subject: [PATCH] Safer handling of string arrays - -We need to keep hold of the strings which we create. We must also hold -on to the array of strings which we assing to our git_strarray. - -We were not doing the latter, which meant that our strings may have been -freed too early, leaving us with with memory access errors (though often -not leading to a crash due to the custom allocator in python). - -As we need to keep hold of two/three pieces of information, this looks -like a good place to introduce a context manager. This allows us to -keep these pointers alive without burdening the call sites with a return -of multiple objects they have no use for. ---- - pygit2/index.py | 8 ++++---- - pygit2/remote.py | 20 ++++++++++---------- - pygit2/utils.py | 46 +++++++++++++++++++++++----------------------- - 3 files changed, 37 insertions(+), 37 deletions(-) - -diff --git a/pygit2/index.py b/pygit2/index.py -index 61b7c97..47d4cd6 100644 ---- a/pygit2/index.py -+++ b/pygit2/index.py -@@ -32,7 +32,7 @@ from __future__ import absolute_import, unicode_literals - from _pygit2 import Oid, Tree, Diff - from .errors import check_error - from .ffi import ffi, C --from .utils import is_string, strings_to_strarray, to_bytes, to_str -+from .utils import is_string, to_bytes, to_str, StrArray - - - class Index(object): -@@ -175,9 +175,9 @@ class Index(object): - If pathspecs are specified, only files matching those pathspecs will - be added. - """ -- arr, refs = strings_to_strarray(pathspecs) -- err = C.git_index_add_all(self._index, arr, 0, ffi.NULL, ffi.NULL) -- check_error(err, True) -+ with StrArray(pathspecs) as arr: -+ err = C.git_index_add_all(self._index, arr, 0, ffi.NULL, ffi.NULL) -+ check_error(err, True) - - def add(self, path_or_entry): - """add([path|entry]) -diff --git a/pygit2/remote.py b/pygit2/remote.py -index c4a195f..d2fbdcf 100644 ---- a/pygit2/remote.py -+++ b/pygit2/remote.py -@@ -34,7 +34,7 @@ from .errors import check_error, GitError - from .ffi import ffi, C - from .credentials import KeypairFromAgent - from .refspec import Refspec --from .utils import to_bytes, strarray_to_strings, strings_to_strarray -+from .utils import to_bytes, strarray_to_strings, StrArray - - - def maybe_string(ptr): -@@ -253,9 +253,9 @@ class Remote(object): - - @fetch_refspecs.setter - def fetch_refspecs(self, l): -- arr, refs = strings_to_strarray(l) -- err = C.git_remote_set_fetch_refspecs(self._remote, arr) -- check_error(err) -+ with StrArray(l) as arr: -+ err = C.git_remote_set_fetch_refspecs(self._remote, arr) -+ check_error(err) - - @property - def push_refspecs(self): -@@ -269,9 +269,9 @@ class Remote(object): - - @push_refspecs.setter - def push_refspecs(self, l): -- arr, refs = strings_to_strarray(l) -- err = C.git_remote_set_push_refspecs(self._remote, arr) -- check_error(err) -+ with StrArray(l) as arr: -+ err = C.git_remote_set_push_refspecs(self._remote, arr) -+ check_error(err) - - def add_fetch(self, spec): - """add_fetch(refspec) -@@ -305,7 +305,6 @@ class Remote(object): - err = C.git_remote_init_callbacks(defaultcallbacks, 1) - check_error(err) - -- refspecs, refspecs_refs = strings_to_strarray(specs) - if signature: - sig_cptr = ffi.new('git_signature **') - ffi.buffer(sig_cptr)[:] = signature._pointer[:] -@@ -333,8 +332,9 @@ class Remote(object): - raise - - try: -- err = C.git_remote_push(self._remote, refspecs, ffi.NULL, sig_ptr, to_bytes(message)) -- check_error(err) -+ with StrArray(specs) as refspecs: -+ err = C.git_remote_push(self._remote, refspecs, ffi.NULL, sig_ptr, to_bytes(message)) -+ check_error(err) - finally: - self._self_handle = None - -diff --git a/pygit2/utils.py b/pygit2/utils.py -index 3c5fc88..17582a4 100644 ---- a/pygit2/utils.py -+++ b/pygit2/utils.py -@@ -50,34 +50,34 @@ def strarray_to_strings(arr): - return l - - --def strings_to_strarray(l): -- """Convert a list of strings to a git_strarray -+class StrArray(object): -+ """A git_strarray wrapper - -- We return first the git_strarray* you can pass to libgit2 and a -- list of references to the memory, which we must keep around for as -- long as the git_strarray must live. -- """ -+ Use this in order to get a git_strarray* to pass to libgit2 out of a -+ list of strings. This has a context manager, which you should use, e.g. - -- if not isinstance(l, list): -- raise TypeError("Value must be a list") -+ with StrArray(list_of_strings) as arr: -+ C.git_function_that_takes_strarray(arr) -+ """ - -- arr = ffi.new('git_strarray *') -- strings = ffi.new('char *[]', len(l)) -+ def __init__(self, l): -+ if not isinstance(l, list): -+ raise TypeError("Value must be a list") - -- # We need refs in order to keep a reference to the value returned -- # by the ffi.new(). Otherwise, they will be freed and the memory -- # re-used, with less than great consequences. -- refs = [None] * len(l) -+ arr = ffi.new('git_strarray *') -+ strings = [None] * len(l) -+ for i in range(len(l)): -+ if not is_string(l[i]): -+ raise TypeError("Value must be a string") - -- for i in range(len(l)): -- if not is_string(l[i]): -- raise TypeError("Value must be a string") -+ strings[i] = ffi.new('char []', to_bytes(l[i])) - -- s = ffi.new('char []', to_bytes(l[i])) -- refs[i] = s -- strings[i] = s -+ self._arr = ffi.new('char *[]', strings) -+ self._strings = strings -+ self.array = ffi.new('git_strarray *', [self._arr, len(strings)]) - -- arr.strings = strings -- arr.count = len(l) -+ def __enter__(self): -+ return self.array - -- return arr, refs -+ def __exit__(self, type, value, traceback): -+ pass --- -2.1.0 - diff --git a/python-pygit2.spec b/python-pygit2.spec index e9cd268..9cf5123 100644 --- a/python-pygit2.spec +++ b/python-pygit2.spec @@ -1,8 +1,8 @@ %global pkgname pygit2 Name: python-%{pkgname} -Version: 0.22.0 -Release: 2%{?dist} +Version: 0.22.1 +Release: 1%{?dist} Summary: Python 2.x bindings for libgit2 URL: http://www.pygit2.org Source: http://pypi.python.org/packages/source/p/%{pkgname}/%{pkgname}-%{version}.tar.gz @@ -18,10 +18,6 @@ Requires: python-cffi Patch1: 0001-Remove-remote-calling-unit-tests.patch -# https://bugzilla.redhat.com/show_bug.cgi?id=1186880 -# https://github.com/libgit2/pygit2/pull/487 -Patch2: 0001-Safer-handling-of-string-arrays.patch - %description pygit2 is a set of Python bindings to the libgit2 library, which implements the core of Git. Pygit2 works with Python 2.7, 3.1, 3.2, 3.3, 3.4 and pypy. @@ -55,7 +51,6 @@ Documentation for %{name}. %setup -qn %{pkgname}-%{version} %patch1 -p1 -%patch2 -p1 rm -rf %{py3dir} cp -a . %{py3dir} @@ -108,6 +103,10 @@ popd %changelog +* Mon Jul 13 2015 Mathieu Bridon - 0.22.1-1 +- Update to 0.22.1 (#1242226) +- Drop one of our patches, as it has been merged in this release. + * Thu Jun 18 2015 Fedora Release Engineering - 0.22.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild diff --git a/sources b/sources index 5d28080..c58f94b 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -31dc65b3cbe6e39d75a39db86dd7cd8c pygit2-0.22.0.tar.gz +a96462a623da8532c68d5bf4e2bd69b1 pygit2-0.22.1.tar.gz From 909a086d5fbd038e30666f93277bdfc63289b9e3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Fri, 31 Jul 2015 00:24:47 -0400 Subject: [PATCH 019/150] Rebuild for libgit2-0.23.0 and libgit2-glib-0.23 --- python-pygit2.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/python-pygit2.spec b/python-pygit2.spec index 9cf5123..9d9341d 100644 --- a/python-pygit2.spec +++ b/python-pygit2.spec @@ -2,7 +2,7 @@ Name: python-%{pkgname} Version: 0.22.1 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Python 2.x bindings for libgit2 URL: http://www.pygit2.org Source: http://pypi.python.org/packages/source/p/%{pkgname}/%{pkgname}-%{version}.tar.gz @@ -103,6 +103,9 @@ popd %changelog +* Fri Jul 31 2015 Zbigniew Jędrzejewski-Szmek - 0.22.1-2 +- Rebuilt for libgit2-0.23.0 and libgit2-glib-0.23 + * Mon Jul 13 2015 Mathieu Bridon - 0.22.1-1 - Update to 0.22.1 (#1242226) - Drop one of our patches, as it has been merged in this release. From 682256b811226ac9dd884a5e3d32f1b1c47e2f4f Mon Sep 17 00:00:00 2001 From: Igor Gnatenko Date: Fri, 31 Jul 2015 13:29:53 +0300 Subject: [PATCH 020/150] Cherry-pick patch for 0.23.0 support Signed-off-by: Igor Gnatenko --- 0001-Update-to-libgit2-v0.23.patch | 1097 ++++++++++++++++++++++++++++ python-pygit2.spec | 21 +- 2 files changed, 1112 insertions(+), 6 deletions(-) create mode 100644 0001-Update-to-libgit2-v0.23.patch diff --git a/0001-Update-to-libgit2-v0.23.patch b/0001-Update-to-libgit2-v0.23.patch new file mode 100644 index 0000000..7ebc119 --- /dev/null +++ b/0001-Update-to-libgit2-v0.23.patch @@ -0,0 +1,1097 @@ +From 81520c9c626e092bc45f9fc8ba138eefa4d1beb2 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Carlos=20Mart=C3=ADn=20Nieto?= +Date: Mon, 8 Jun 2015 12:19:01 +0200 +Subject: [PATCH] Update to libgit2 v0.23 + +--- + .travis.sh | 2 +- + pygit2/__init__.py | 8 +-- + pygit2/config.py | 43 ++++++++++----- + pygit2/decl.h | 129 +++++++++++++++++++++++++++++++-------------- + pygit2/remote.py | 144 ++++++++++++++++++--------------------------------- + pygit2/repository.py | 63 +++++++++++----------- + pygit2/utils.py | 5 ++ + src/branch.c | 2 +- + src/pygit2.c | 3 +- + src/reference.c | 22 +++----- + src/repository.c | 12 ++--- + src/types.h | 4 +- + test/test_merge.py | 2 +- + test/test_refs.py | 3 +- + test/test_remote.py | 65 ++++++----------------- + 15 files changed, 252 insertions(+), 255 deletions(-) + +diff --git a/pygit2/__init__.py b/pygit2/__init__.py +index d963bca..709adca 100644 +--- a/pygit2/__init__.py ++++ b/pygit2/__init__.py +@@ -278,12 +278,12 @@ def clone_repository( + + opts.bare = bare + if credentials: +- opts.remote_callbacks.credentials = _credentials_cb +- opts.remote_callbacks.payload = d_handle ++ opts.fetch_opts.callbacks.credentials = _credentials_cb ++ opts.fetch_opts.callbacks.payload = d_handle + + if certificate: +- opts.remote_callbacks.certificate_check = _certificate_cb +- opts.remote_callbacks.payload = d_handle ++ opts.fetch_opts.callbacks.certificate_check = _certificate_cb ++ opts.fetch_opts.callbacks.payload = d_handle + + err = C.git_clone(crepo, to_bytes(url), to_bytes(path), opts) + +diff --git a/pygit2/config.py b/pygit2/config.py +index 33cc6da..a01fdf6 100644 +--- a/pygit2/config.py ++++ b/pygit2/config.py +@@ -101,19 +101,19 @@ class Config(object): + def _get(self, key): + assert_string(key, "key") + +- cstr = ffi.new('char **') +- err = C.git_config_get_string(cstr, self._config, to_bytes(key)) ++ entry = ffi.new('git_config_entry **') ++ err = C.git_config_get_entry(entry, self._config, to_bytes(key)) + +- return err, cstr ++ return err, ConfigEntry._from_c(entry[0]) + +- def _get_string(self, key): +- err, cstr = self._get(key) ++ def _get_entry(self, key): ++ err, entry = self._get(key) + + if err == C.GIT_ENOTFOUND: + raise KeyError(key) + + check_error(err) +- return cstr[0] ++ return entry + + def __contains__(self, key): + err, cstr = self._get(key) +@@ -126,9 +126,9 @@ class Config(object): + return True + + def __getitem__(self, key): +- val = self._get_string(key) ++ entry = self._get_entry(key) + +- return ffi.string(val).decode('utf-8') ++ return ffi.string(entry.value).decode('utf-8') + + def __setitem__(self, key, value): + assert_string(key, "key") +@@ -192,9 +192,10 @@ class Config(object): + Truthy values are: 'true', 1, 'on' or 'yes'. Falsy values are: 'false', + 0, 'off' and 'no' + """ +- val = self._get_string(key) ++ ++ entry = self._get_entry(key) + res = ffi.new('int *') +- err = C.git_config_parse_bool(res, val) ++ err = C.git_config_parse_bool(res, entry.value) + check_error(err) + + return res[0] != 0 +@@ -206,9 +207,10 @@ class Config(object): + A value can have a suffix 'k', 'm' or 'g' which stand for 'kilo', + 'mega' and 'giga' respectively. + """ +- val = self._get_string(key) ++ ++ entry = self._get_entry(key) + res = ffi.new('int64_t *') +- err = C.git_config_parse_int64(res, val) ++ err = C.git_config_parse_int64(res, entry.value) + check_error(err) + + return res[0] +@@ -283,3 +285,20 @@ class Config(object): + """Return a object representing the global configuration file. + """ + return Config._from_found_config(C.git_config_find_xdg) ++ ++class ConfigEntry(object): ++ """An entry in a configuation object ++ """ ++ ++ @classmethod ++ def _from_c(cls, ptr): ++ entry = cls.__new__(cls) ++ entry._entry = ptr ++ return entry ++ ++ def __del__(self): ++ C.git_config_entry_free(self._entry) ++ ++ @property ++ def value(self): ++ return self._entry.value +diff --git a/pygit2/decl.h b/pygit2/decl.h +index 2ea73f2..61afe33 100644 +--- a/pygit2/decl.h ++++ b/pygit2/decl.h +@@ -1,6 +1,7 @@ + typedef ... git_repository; + typedef ... git_submodule; + typedef ... git_remote; ++typedef ... git_transport; + typedef ... git_refspec; + typedef ... git_cred; + typedef ... git_object; +@@ -51,7 +52,7 @@ typedef enum { + GIT_EUNMERGED = -10, + GIT_ENONFASTFORWARD = -11, + GIT_EINVALIDSPEC = -12, +- GIT_EMERGECONFLICT = -13, ++ GIT_ECONFLICT = -13, + GIT_ELOCKED = -14, + + GIT_PASSTHROUGH = -30, +@@ -118,6 +119,7 @@ typedef enum { + } git_credtype_t; + + typedef enum git_cert_t { ++ GIT_CERT_NONE, + GIT_CERT_X509, + GIT_CERT_HOSTKEY_LIBSSH2, + } git_cert_t; +@@ -165,6 +167,16 @@ typedef int (*git_push_transfer_progress)( + size_t bytes, + void* payload); + ++typedef struct { ++ char *src_refname; ++ char *dst_refname; ++ git_oid src; ++ git_oid dst; ++} git_push_update; ++ ++typedef int (*git_push_negotiation)(const git_push_update **updates, size_t len, void *payload); ++typedef int (*git_transport_cb)(git_transport **out, git_remote *owner, void *param); ++ + struct git_remote_callbacks { + unsigned int version; + git_transport_message_cb sideband_progress; +@@ -173,19 +185,51 @@ struct git_remote_callbacks { + git_transport_certificate_check_cb certificate_check; + git_transfer_progress_cb transfer_progress; + int (*update_tips)(const char *refname, const git_oid *a, const git_oid *b, void *data); +- git_packbuilder_progress pack_progress; ++ git_packbuilder_progress pack_progress; + git_push_transfer_progress push_transfer_progress; + int (*push_update_reference)(const char *refname, const char *status, void *data); ++ git_push_negotiation push_negotiation; ++ git_transport_cb transport; + void *payload; + }; + ++#define GIT_REMOTE_CALLBACKS_VERSION ... ++ + typedef struct git_remote_callbacks git_remote_callbacks; + + typedef struct { + unsigned int version; + unsigned int pb_parallelism; ++ git_remote_callbacks callbacks; + } git_push_options; + ++#define GIT_PUSH_OPTIONS_VERSION ... ++int git_push_init_options(git_push_options *opts, unsigned int version); ++ ++typedef enum { ++ GIT_FETCH_PRUNE_UNSPECIFIED, ++ GIT_FETCH_PRUNE, ++ GIT_FETCH_NO_PRUNE, ++} git_fetch_prune_t; ++ ++typedef enum { ++ GIT_REMOTE_DOWNLOAD_TAGS_UNSPECIFIED = 0, ++ GIT_REMOTE_DOWNLOAD_TAGS_AUTO, ++ GIT_REMOTE_DOWNLOAD_TAGS_NONE, ++ GIT_REMOTE_DOWNLOAD_TAGS_ALL, ++} git_remote_autotag_option_t; ++ ++typedef struct { ++ int version; ++ git_remote_callbacks callbacks; ++ git_fetch_prune_t prune; ++ int update_fetchhead; ++ git_remote_autotag_option_t download_tags; ++} git_fetch_options; ++ ++#define GIT_FETCH_OPTIONS_VERSION ... ++int git_fetch_init_options(git_fetch_options *opts, unsigned int version); ++ + int git_remote_list(git_strarray *out, git_repository *repo); + int git_remote_lookup(git_remote **out, git_repository *repo, const char *name); + int git_remote_create( +@@ -201,24 +245,20 @@ const char * git_remote_name(const git_remote *remote); + + int git_remote_rename(git_strarray *problems, git_repository *repo, const char *name, const char *new_name); + const char * git_remote_url(const git_remote *remote); +-int git_remote_set_url(git_remote *remote, const char* url); ++int git_remote_set_url(git_repository *repo, const char *remote, const char* url); + const char * git_remote_pushurl(const git_remote *remote); +-int git_remote_set_pushurl(git_remote *remote, const char* url); +-int git_remote_fetch(git_remote *remote, const git_strarray *refspecs, const git_signature *signature, const char *reflog_message); +-int git_remote_push(git_remote *remote, git_strarray *refspecs, const git_push_options *opts, const git_signature *signature, const char *reflog_message); ++int git_remote_set_pushurl(git_repository *repo, const char *remote, const char* url); ++int git_remote_fetch(git_remote *remote, const git_strarray *refspecs, const git_fetch_options *opts, const char *reflog_message); ++int git_remote_push(git_remote *remote, const git_strarray *refspecs, const git_push_options *opts); + const git_transfer_progress * git_remote_stats(git_remote *remote); +-int git_remote_add_push(git_remote *remote, const char *refspec); +-int git_remote_add_fetch(git_remote *remote, const char *refspec); +-int git_remote_save(const git_remote *remote); +-int git_remote_set_callbacks(git_remote *remote, const git_remote_callbacks *callbacks); ++int git_remote_add_push(git_repository *repo, const char *remote, const char *refspec); ++int git_remote_add_fetch(git_repository *repo, const char *remote, const char *refspec); + int git_remote_init_callbacks(git_remote_callbacks *opts, unsigned int version); + size_t git_remote_refspec_count(git_remote *remote); + const git_refspec * git_remote_get_refspec(git_remote *remote, size_t n); + + int git_remote_get_fetch_refspecs(git_strarray *array, git_remote *remote); +-int git_remote_set_fetch_refspecs(git_remote *remote, git_strarray *array); + int git_remote_get_push_refspecs(git_strarray *array, git_remote *remote); +-int git_remote_set_push_refspecs(git_remote *remote, git_strarray *array); + + void git_remote_free(git_remote *remote); + +@@ -253,13 +293,12 @@ int git_cred_ssh_key_from_agent( + */ + + typedef enum { +- GIT_SUBMODULE_IGNORE_RESET = -1, ++ GIT_SUBMODULE_IGNORE_UNSPECIFIED = -1, + + GIT_SUBMODULE_IGNORE_NONE = 1, + GIT_SUBMODULE_IGNORE_UNTRACKED = 2, + GIT_SUBMODULE_IGNORE_DIRTY = 3, + GIT_SUBMODULE_IGNORE_ALL = 4, +- GIT_SUBMODULE_IGNORE_DEFAULT = 0 + } git_submodule_ignore_t; + + typedef enum { +@@ -348,32 +387,37 @@ typedef void (*git_checkout_progress_cb)( + size_t total_steps, + void *payload); + ++typedef struct { ++ size_t mkdir_calls; ++ size_t stat_calls; ++ size_t chmod_calls; ++} git_checkout_perfdata; ++ ++typedef void (*git_checkout_perfdata_cb)( ++ const git_checkout_perfdata *perfdata, ++ void *payload); ++ + typedef struct git_checkout_options { + unsigned int version; +- + unsigned int checkout_strategy; +- + int disable_filters; + unsigned int dir_mode; + unsigned int file_mode; + int file_open_flags; +- + unsigned int notify_flags; + git_checkout_notify_cb notify_cb; + void *notify_payload; +- + git_checkout_progress_cb progress_cb; + void *progress_payload; +- + git_strarray paths; +- + git_tree *baseline; +- ++ git_index *baseline_index; + const char *target_directory; +- + const char *ancestor_label; + const char *our_label; + const char *their_label; ++ git_checkout_perfdata_cb perfdata_cb; ++ void *perfdata_payload; + } git_checkout_options; + + int git_checkout_init_options(git_checkout_options *opts, unsigned int version); +@@ -408,11 +452,10 @@ typedef enum { + typedef struct git_clone_options { + unsigned int version; + git_checkout_options checkout_opts; +- git_remote_callbacks remote_callbacks; ++ git_fetch_options fetch_opts; + int bare; + git_clone_local_t local; + const char* checkout_branch; +- git_signature *signature; + git_repository_create_cb repository_cb; + void *repository_cb_payload; + git_remote_create_cb remote_cb; +@@ -443,16 +486,21 @@ typedef enum { + GIT_CONFIG_HIGHEST_LEVEL = -1, + } git_config_level_t; + +-typedef struct { ++typedef struct git_config_entry { + const char *name; + const char *value; + git_config_level_t level; ++ void (*free)(struct git_config_entry *entry); ++ void *payload; + } git_config_entry; + ++void git_config_entry_free(git_config_entry *); ++ + int git_repository_config(git_config **out, git_repository *repo); + int git_repository_config_snapshot(git_config **out, git_repository *repo); + void git_config_free(git_config *cfg); + ++int git_config_get_entry(git_config_entry **out, const git_config *cfg, const char *name); + int git_config_get_string(const char **out, const git_config *cfg, const char *name); + int git_config_set_string(git_config *cfg, const char *name, const char *value); + int git_config_set_bool(git_config *cfg, const char *name, int value); +@@ -535,8 +583,10 @@ int git_repository_init_ext( + const char *repo_path, + git_repository_init_options *opts); + +-int git_repository_set_head(git_repository *repo, const char *refname, const git_signature *signature, const char *log_message); +-int git_repository_set_head_detached(git_repository *repo, const git_oid *commitish, const git_signature *signature, const char *log_message); ++int git_repository_set_head(git_repository *repo, const char *refname); ++int git_repository_set_head_detached(git_repository *repo, const git_oid *commitish); ++int git_repository_ident(const char **name, const char **email, const git_repository *repo); ++int git_repository_set_ident(git_repository *repo, const char *name, const char *email); + int git_graph_ahead_behind(size_t *ahead, size_t *behind, git_repository *repo, const git_oid *local, const git_oid *upstream); + + /* +@@ -557,25 +607,25 @@ const char *git_submodule_branch(git_submodule *subm); + typedef int64_t git_time_t; + + typedef struct { +- git_time_t seconds; +- unsigned int nanoseconds; ++ int32_t seconds; ++ uint32_t nanoseconds; + } git_index_time; + + typedef struct git_index_entry { + git_index_time ctime; + git_index_time mtime; + +- unsigned int dev; +- unsigned int ino; +- unsigned int mode; +- unsigned int uid; +- unsigned int gid; +- git_off_t file_size; ++ uint32_t dev; ++ uint32_t ino; ++ uint32_t mode; ++ uint32_t uid; ++ uint32_t gid; ++ uint32_t file_size; + + git_oid id; + +- unsigned short flags; +- unsigned short flags_extended; ++ uint16_t flags; ++ uint16_t flags_extended; + + const char *path; + } git_index_entry; +@@ -664,13 +714,16 @@ typedef enum { + + typedef struct { + unsigned int version; +- git_merge_tree_flag_t flags; ++ git_merge_tree_flag_t tree_flags; + unsigned int rename_threshold; + unsigned int target_limit; + git_diff_similarity_metric *metric; + git_merge_file_favor_t file_favor; ++ unsigned int file_flags; + } git_merge_options; + ++#define GIT_MERGE_OPTIONS_VERSION 1 ++ + typedef struct { + unsigned int automergeable; + const char *path; +diff --git a/pygit2/remote.py b/pygit2/remote.py +index 8d2416b..7ec5bd4 100644 +--- a/pygit2/remote.py ++++ b/pygit2/remote.py +@@ -153,74 +153,44 @@ class Remote(object): + + return maybe_string(C.git_remote_url(self._remote)) + +- @url.setter +- def url(self, value): +- err = C.git_remote_set_url(self._remote, to_bytes(value)) +- check_error(err) +- + @property + def push_url(self): + """Push url of the remote""" + + return maybe_string(C.git_remote_pushurl(self._remote)) + +- @push_url.setter +- def push_url(self, value): +- err = C.git_remote_set_pushurl(self._remote, to_bytes(value)) +- check_error(err) +- + def save(self): + """Save a remote to its repository's configuration.""" + + err = C.git_remote_save(self._remote) + check_error(err) + +- def fetch(self, signature=None, message=None): ++ def fetch(self, refspecs=None, message=None): + """Perform a fetch against this remote. Returns a + object. + """ + +- # Get the default callbacks first +- defaultcallbacks = ffi.new('git_remote_callbacks *') +- err = C.git_remote_init_callbacks(defaultcallbacks, 1) +- check_error(err) ++ fetch_opts = ffi.new('git_fetch_options *') ++ err = C.git_fetch_init_options(fetch_opts, C.GIT_FETCH_OPTIONS_VERSION) + +- # Build custom callback structure +- callbacks = ffi.new('git_remote_callbacks *') +- callbacks.version = 1 +- callbacks.sideband_progress = self._sideband_progress_cb +- callbacks.transfer_progress = self._transfer_progress_cb +- callbacks.update_tips = self._update_tips_cb +- callbacks.credentials = self._credentials_cb ++ fetch_opts.callbacks.sideband_progress = self._sideband_progress_cb ++ fetch_opts.callbacks.transfer_progress = self._transfer_progress_cb ++ fetch_opts.callbacks.update_tips = self._update_tips_cb ++ fetch_opts.callbacks.credentials = self._credentials_cb + # We need to make sure that this handle stays alive + self._self_handle = ffi.new_handle(self) +- callbacks.payload = self._self_handle +- +- err = C.git_remote_set_callbacks(self._remote, callbacks) +- try: +- check_error(err) +- except: +- self._self_handle = None +- raise +- +- if signature: +- ptr = signature._pointer[:] +- else: +- ptr = ffi.NULL ++ fetch_opts.callbacks.payload = self._self_handle + + self._stored_exception = None + + try: +- err = C.git_remote_fetch(self._remote, ffi.NULL, ptr, to_bytes(message)) +- if self._stored_exception: +- raise self._stored_exception +- +- check_error(err) ++ with StrArray(refspecs) as arr: ++ err = C.git_remote_fetch(self._remote, arr, fetch_opts, to_bytes(message)) ++ if self._stored_exception: ++ raise self._stored_exception ++ check_error(err) + finally: +- # Even on error, clear stored callbacks and reset to default + self._self_handle = None +- err = C.git_remote_set_callbacks(self._remote, defaultcallbacks) +- check_error(err) + + return TransferProgress(C.git_remote_stats(self._remote)) + +@@ -245,12 +215,6 @@ class Remote(object): + + return strarray_to_strings(specs) + +- @fetch_refspecs.setter +- def fetch_refspecs(self, l): +- with StrArray(l) as arr: +- err = C.git_remote_set_fetch_refspecs(self._remote, arr) +- check_error(err) +- + @property + def push_refspecs(self): + """Refspecs that will be used for pushing""" +@@ -261,64 +225,28 @@ class Remote(object): + + return strarray_to_strings(specs) + +- @push_refspecs.setter +- def push_refspecs(self, l): +- with StrArray(l) as arr: +- err = C.git_remote_set_push_refspecs(self._remote, arr) +- check_error(err) +- +- def add_fetch(self, refspec): +- """Add a fetch refspec (str) to the remote.""" +- err = C.git_remote_add_fetch(self._remote, to_bytes(refspec)) +- check_error(err) +- +- def add_push(self, refspec): +- """Add a push refspec (str) to the remote.""" +- err = C.git_remote_add_push(self._remote, to_bytes(refspec)) +- check_error(err) +- +- def push(self, specs, signature=None, message=None): ++ def push(self, specs): + """Push the given refspec to the remote. Raises ``GitError`` on + protocol error or unpack failure. + + :param [str] specs: push refspecs to use +- :param Signature signature: signature to use when updating the tips (optional) +- :param str message: message to use when updating the tips (optional) + """ +- # Get the default callbacks first +- defaultcallbacks = ffi.new('git_remote_callbacks *') +- err = C.git_remote_init_callbacks(defaultcallbacks, 1) +- check_error(err) +- +- if signature: +- sig_cptr = ffi.new('git_signature **') +- ffi.buffer(sig_cptr)[:] = signature._pointer[:] +- sig_ptr = sig_cptr[0] +- else: +- sig_ptr = ffi.NULL ++ push_opts = ffi.new('git_push_options *') ++ err = C.git_push_init_options(push_opts, C.GIT_PUSH_OPTIONS_VERSION) + + # Build custom callback structure +- callbacks = ffi.new('git_remote_callbacks *') +- callbacks.version = 1 +- callbacks.sideband_progress = self._sideband_progress_cb +- callbacks.transfer_progress = self._transfer_progress_cb +- callbacks.update_tips = self._update_tips_cb +- callbacks.credentials = self._credentials_cb +- callbacks.push_update_reference = self._push_update_reference_cb ++ push_opts.callbacks.sideband_progress = self._sideband_progress_cb ++ push_opts.callbacks.transfer_progress = self._transfer_progress_cb ++ push_opts.callbacks.update_tips = self._update_tips_cb ++ push_opts.callbacks.credentials = self._credentials_cb ++ push_opts.callbacks.push_update_reference = self._push_update_reference_cb + # We need to make sure that this handle stays alive + self._self_handle = ffi.new_handle(self) +- callbacks.payload = self._self_handle +- +- try: +- err = C.git_remote_set_callbacks(self._remote, callbacks) +- check_error(err) +- except: +- self._self_handle = None +- raise ++ push_opts.callbacks.payload = self._self_handle + + try: + with StrArray(specs) as refspecs: +- err = C.git_remote_push(self._remote, refspecs, ffi.NULL, sig_ptr, to_bytes(message)) ++ err = C.git_remote_push(self._remote, refspecs, ffi.NULL) + check_error(err) + finally: + self._self_handle = None +@@ -551,3 +479,29 @@ class RemoteCollection(object): + """ + err = C.git_remote_delete(self._repo._repo, to_bytes(name)) + check_error(err) ++ ++ def set_url(self, name, url): ++ """ Set the URL for a remote ++ """ ++ err = C.git_remote_set_url(self._repo._repo, to_bytes(name), to_bytes(url)) ++ check_error(err) ++ ++ def set_push_url(self, name, url): ++ """Set the push-URL for a remote ++ """ ++ err = C.git_remote_set_pushurl(self._repo._repo, to_bytes(name), to_bytes(url)) ++ check_error(err) ++ ++ def add_fetch(self, name, refspec): ++ """Add a fetch refspec (str) to the remote ++ """ ++ ++ err = C.git_remote_add_fetch(self._repo._repo, to_bytes(name), to_bytes(refspec)) ++ check_error(err) ++ ++ def add_push(self, name, refspec): ++ """Add a push refspec (str) to the remote ++ """ ++ ++ err = C.git_remote_add_push(self._repo._repo, to_bytes(name), to_bytes(refspec)) ++ check_error(err) +diff --git a/pygit2/repository.py b/pygit2/repository.py +index 64c08f9..b92a3a2 100644 +--- a/pygit2/repository.py ++++ b/pygit2/repository.py +@@ -40,7 +40,7 @@ else: + # Import from pygit2 + from _pygit2 import Repository as _Repository + from _pygit2 import Oid, GIT_OID_HEXSZ, GIT_OID_MINPREFIXLEN +-from _pygit2 import GIT_CHECKOUT_SAFE_CREATE, GIT_DIFF_NORMAL ++from _pygit2 import GIT_CHECKOUT_SAFE, GIT_CHECKOUT_RECREATE_MISSING, GIT_DIFF_NORMAL + from _pygit2 import GIT_FILEMODE_LINK + from _pygit2 import Reference, Tree, Commit, Blob + +@@ -190,8 +190,8 @@ class Repository(_Repository): + # References we need to keep to strings and so forth + refs = [] + +- # pygit2's default is SAFE_CREATE +- copts.checkout_strategy = GIT_CHECKOUT_SAFE_CREATE ++ # pygit2's default is SAFE | RECREATE_MISSING ++ copts.checkout_strategy = GIT_CHECKOUT_SAFE | GIT_CHECKOUT_RECREATE_MISSING + # and go through the arguments to see what the user wanted + if strategy: + copts.checkout_strategy = strategy +@@ -235,7 +235,7 @@ class Repository(_Repository): + Checkout the given reference using the given strategy, and update + the HEAD. + The reference may be a reference name or a Reference object. +- The default strategy is GIT_CHECKOUT_SAFE_CREATE. ++ The default strategy is GIT_CHECKOUT_SAFE | GIT_CHECKOUT_RECREATE_MISSING. + + To checkout from the HEAD, just pass 'HEAD':: + +@@ -251,7 +251,7 @@ class Repository(_Repository): + the current branch will be switched to this one. + + :param int strategy: A ``GIT_CHECKOUT_`` value. The default is +- ``GIT_CHECKOUT_SAFE_CREATE``. ++ ``GIT_CHECKOUT_SAFE``. + + :param str directory: Alternative checkout path to workdir. + +@@ -281,50 +281,29 @@ class Repository(_Repository): + else: + from_ = head.target.hex + +- try: +- signature = self.default_signature +- except Exception: +- signature = None +- +- reflog_text = "checkout: moving from %s to %s" % (from_, reference) +- self.set_head(refname, signature, reflog_text) ++ self.set_head(refname) + + # + # Setting HEAD + # +- def set_head(self, target, signature=None, message=None): ++ def set_head(self, target): + """Set HEAD to point to the given target + + Arguments: + + target + The new target for HEAD. Can be a string or Oid (to detach) +- +- signature +- Signature to use for the reflog. If not provided, the repository's +- default will be used +- +- message +- Message to use for the reflog + """ + +- sig_ptr = ffi.new('git_signature **') +- if signature: +- ffi.buffer(sig_ptr)[:] = signature._pointer[:] +- +- message_ptr = ffi.NULL +- if message_ptr: +- message_ptr = to_bytes(message) +- + if isinstance(target, Oid): + oid = ffi.new('git_oid *') + ffi.buffer(oid)[:] = target.raw[:] +- err = C.git_repository_set_head_detached(self._repo, oid, sig_ptr[0], message_ptr) ++ err = C.git_repository_set_head_detached(self._repo, oid) + check_error(err) + return + + # if it's a string, then it's a reference name +- err = C.git_repository_set_head(self._repo, to_bytes(target), sig_ptr[0], message_ptr) ++ err = C.git_repository_set_head(self._repo, to_bytes(target)) + check_error(err) + + # +@@ -802,3 +781,27 @@ class Repository(_Repository): + return ffi.string(cvalue[0]).decode('utf-8') + + assert False, "the attribute value from libgit2 is invalid" ++ ++ # ++ # Identity for reference operations ++ # ++ @property ++ def ident(self): ++ cname = ffi.new('char **') ++ cemail = ffi.new('char **') ++ ++ err = C.git_repository_ident(cname, cemail, self._repo) ++ check_error(err) ++ ++ return (ffi.string(cname).decode('utf-8'), ffi.string(cemail).decode('utf-8')) ++ ++ def set_ident(self, name, email): ++ """Set the identity to be used for reference operations ++ ++ Updates to some references also append data to their ++ reflog. You can use this method to set what identity will be ++ used. If none is set, it will be read from the configuration. ++ """ ++ ++ err = C.git_repository_set_ident(self._repo, to_bytes(name), to_bytes(email)) ++ check_error(err) +diff --git a/pygit2/utils.py b/pygit2/utils.py +index 89bc7ee..5b6a365 100644 +--- a/pygit2/utils.py ++++ b/pygit2/utils.py +@@ -61,6 +61,11 @@ class StrArray(object): + """ + + def __init__(self, l): ++ # Allow passing in None as lg2 typically considers them the same as empty ++ if l is None: ++ self.array = ffi.NULL ++ return ++ + if not isinstance(l, list): + raise TypeError("Value must be a list") + +diff --git a/src/branch.c b/src/branch.c +index 1793cea..d725ab1 100644 +--- a/src/branch.c ++++ b/src/branch.c +@@ -101,7 +101,7 @@ Branch_rename(Branch *self, PyObject *args) + if (!PyArg_ParseTuple(args, "s|i", &c_name, &force)) + return NULL; + +- err = git_branch_move(&c_out, self->reference, c_name, force, NULL, NULL); ++ err = git_branch_move(&c_out, self->reference, c_name, force); + if (err == GIT_OK) + return wrap_branch(c_out, self->repo); + else +diff --git a/src/pygit2.c b/src/pygit2.c +index eedff26..12d365f 100644 +--- a/src/pygit2.c ++++ b/src/pygit2.c +@@ -273,10 +273,11 @@ moduleinit(PyObject* m) + ADD_CONSTANT_INT(m, GIT_STATUS_WT_MODIFIED) + ADD_CONSTANT_INT(m, GIT_STATUS_WT_DELETED) + ADD_CONSTANT_INT(m, GIT_STATUS_IGNORED) /* Flags for ignored files */ ++ ADD_CONSTANT_INT(m, GIT_STATUS_CONFLICTED) + /* Different checkout strategies */ + ADD_CONSTANT_INT(m, GIT_CHECKOUT_NONE) + ADD_CONSTANT_INT(m, GIT_CHECKOUT_SAFE) +- ADD_CONSTANT_INT(m, GIT_CHECKOUT_SAFE_CREATE) ++ ADD_CONSTANT_INT(m, GIT_CHECKOUT_RECREATE_MISSING) + ADD_CONSTANT_INT(m, GIT_CHECKOUT_FORCE) + ADD_CONSTANT_INT(m, GIT_CHECKOUT_ALLOW_CONFLICTS) + ADD_CONSTANT_INT(m, GIT_CHECKOUT_REMOVE_UNTRACKED) +diff --git a/src/reference.c b/src/reference.c +index 4d8e56e..2a20cca 100644 +--- a/src/reference.c ++++ b/src/reference.c +@@ -163,7 +163,7 @@ Reference_rename(Reference *self, PyObject *py_name) + return NULL; + + /* Rename */ +- err = git_reference_rename(&new_reference, self->reference, c_name, 0, NULL, NULL); ++ err = git_reference_rename(&new_reference, self->reference, c_name, 0, NULL); + git_reference_free(self->reference); + free(c_name); + if (err < 0) +@@ -228,7 +228,7 @@ Reference_target__get__(Reference *self) + } + + PyDoc_STRVAR(Reference_set_target__doc__, +- "set_target(target, [signature, message])\n" ++ "set_target(target, [message])\n" + "\n" + "Set the target of this reference.\n" + "\n" +@@ -240,9 +240,6 @@ PyDoc_STRVAR(Reference_set_target__doc__, + "\n" + "target\n" + " The new target for this reference\n" +- "signature\n" +- " The signature to use for the reflog. If left out, the repository's\n" +- " default identity will be used.\n" + "message\n" + " Message to use for the reflog.\n"); + +@@ -253,28 +250,23 @@ Reference_set_target(Reference *self, PyObject *args, PyObject *kwds) + char *c_name; + int err; + git_reference *new_ref; +- const git_signature *sig = NULL; + PyObject *py_target = NULL; +- Signature *py_signature = NULL; + const char *message = NULL; +- char *keywords[] = {"target", "signature", "message", NULL}; ++ char *keywords[] = {"target", "message", NULL}; + + CHECK_REFERENCE(self); + +- if (!PyArg_ParseTupleAndKeywords(args, kwds, "O|O!s", keywords, +- &py_target, &SignatureType, &py_signature, &message)) ++ if (!PyArg_ParseTupleAndKeywords(args, kwds, "O|s", keywords, ++ &py_target, &message)) + return NULL; + +- if (py_signature) +- sig = py_signature->signature; +- + /* Case 1: Direct */ + if (GIT_REF_OID == git_reference_type(self->reference)) { + err = py_oid_to_git_oid_expand(self->repo->repo, py_target, &oid); + if (err < 0) + goto error; + +- err = git_reference_set_target(&new_ref, self->reference, &oid, sig, message); ++ err = git_reference_set_target(&new_ref, self->reference, &oid, message); + if (err < 0) + goto error; + +@@ -288,7 +280,7 @@ Reference_set_target(Reference *self, PyObject *args, PyObject *kwds) + if (c_name == NULL) + return NULL; + +- err = git_reference_symbolic_set_target(&new_ref, self->reference, c_name, sig, message); ++ err = git_reference_symbolic_set_target(&new_ref, self->reference, c_name, message); + free(c_name); + if (err < 0) + goto error; +diff --git a/src/repository.c b/src/repository.c +index de93bb3..0195c01 100644 +--- a/src/repository.c ++++ b/src/repository.c +@@ -637,7 +637,7 @@ Repository_merge(Repository *self, PyObject *py_oid) + if (err < 0) + return Error_set(err); + +- checkout_opts.checkout_strategy = GIT_CHECKOUT_SAFE_CREATE; ++ checkout_opts.checkout_strategy = GIT_CHECKOUT_SAFE | GIT_CHECKOUT_RECREATE_MISSING; + err = git_merge(self->repo, + (const git_annotated_commit **)&commit, 1, + &merge_opts, &checkout_opts); +@@ -677,7 +677,7 @@ Repository_cherrypick(Repository *self, PyObject *py_oid) + if (err < 0) + return Error_set(err); + +- cherrypick_opts.checkout_opts.checkout_strategy = GIT_CHECKOUT_SAFE_CREATE; ++ cherrypick_opts.checkout_opts.checkout_strategy = GIT_CHECKOUT_SAFE; + err = git_cherrypick(self->repo, + commit, + (const git_cherrypick_options *)&cherrypick_opts); +@@ -989,7 +989,7 @@ Repository_create_branch(Repository *self, PyObject *args) + if (!PyArg_ParseTuple(args, "sO!|i", &c_name, &CommitType, &py_commit, &force)) + return NULL; + +- err = git_branch_create(&c_reference, self->repo, c_name, py_commit->commit, force, NULL, NULL); ++ err = git_branch_create(&c_reference, self->repo, c_name, py_commit->commit, force); + if (err < 0) + return Error_set(err); + +@@ -1194,7 +1194,7 @@ Repository_create_reference_direct(Repository *self, PyObject *args, + if (err < 0) + return NULL; + +- err = git_reference_create(&c_reference, self->repo, c_name, &oid, force, NULL, NULL); ++ err = git_reference_create(&c_reference, self->repo, c_name, &oid, force, NULL); + if (err < 0) + return Error_set(err); + +@@ -1228,7 +1228,7 @@ Repository_create_reference_symbolic(Repository *self, PyObject *args, + return NULL; + + err = git_reference_symbolic_create(&c_reference, self->repo, c_name, +- c_target, force, NULL, NULL); ++ c_target, force, NULL); + if (err < 0) + return Error_set(err); + +@@ -1513,7 +1513,7 @@ Repository_reset(Repository *self, PyObject* args) + + err = git_object_lookup_prefix(&target, self->repo, &oid, len, + GIT_OBJ_ANY); +- err = err < 0 ? err : git_reset(self->repo, target, reset_type, NULL, NULL, NULL); ++ err = err < 0 ? err : git_reset(self->repo, target, reset_type, NULL); + git_object_free(target); + if (err < 0) + return Error_set_oid(err, &oid, len); +diff --git a/src/types.h b/src/types.h +index f82ad47..f3c1858 100644 +--- a/src/types.h ++++ b/src/types.h +@@ -32,8 +32,8 @@ + #include + #include + +-#if !(LIBGIT2_VER_MAJOR == 0 && LIBGIT2_VER_MINOR == 22) +-#error You need a compatible libgit2 version (v0.22.x) ++#if !(LIBGIT2_VER_MAJOR == 0 && LIBGIT2_VER_MINOR == 23) ++#error You need a compatible libgit2 version (v0.23.x) + #endif + + /* +diff --git a/test/test_merge.py b/test/test_merge.py +index 7719d6d..86d1eea 100644 +--- a/test/test_merge.py ++++ b/test/test_merge.py +@@ -82,7 +82,7 @@ class MergeTestBasic(utils.RepoTestCaseForMerging): + + self.repo.merge(branch_id) + self.assertTrue(self.repo.index.conflicts is not None) +- status = pygit2.GIT_STATUS_WT_NEW | pygit2.GIT_STATUS_INDEX_DELETED ++ status = pygit2.GIT_STATUS_CONFLICTED + # Asking twice to assure the reference counting is correct + self.assertEqual({'.gitignore': status}, self.repo.status()) + self.assertEqual({'.gitignore': status}, self.repo.status()) +diff --git a/test/test_refs.py b/test/test_refs.py +index 1e78eb5..0d362c7 100644 +--- a/test/test_refs.py ++++ b/test/test_refs.py +@@ -114,8 +114,9 @@ class ReferencesTest(utils.RepoTestCase): + reference = self.repo.lookup_reference('HEAD') + self.assertEqual(reference.target, 'refs/heads/master') + sig = Signature('foo', 'bar') ++ self.repo.set_ident('foo', 'bar') + msg = 'Hello log' +- reference.set_target('refs/heads/i18n', signature=sig, message=msg) ++ reference.set_target('refs/heads/i18n', message=msg) + self.assertEqual(reference.target, 'refs/heads/i18n') + self.assertEqual(list(reference.log())[0].message, msg) + self.assertEqualSignature(list(reference.log())[0].committer, sig) +diff --git a/test/test_remote.py b/test/test_remote.py +index 751cddc..c2e4f8f 100644 +--- a/test/test_remote.py ++++ b/test/test_remote.py +@@ -100,22 +100,23 @@ class RepositoryTest(utils.RepoTestCase): + + + def test_remote_set_url(self): +- remote = self.repo.remotes[0] +- ++ remote = self.repo.remotes["origin"] + self.assertEqual(REMOTE_URL, remote.url) ++ + new_url = 'git://github.com/cholin/pygit2.git' +- remote.url = new_url ++ self.repo.remotes.set_url("origin", new_url) ++ remote = self.repo.remotes["origin"] + self.assertEqual(new_url, remote.url) + +- self.assertRaisesAssign(ValueError, remote, 'url', '') ++ self.assertRaises(ValueError, self.repo.remotes.set_url, "origin", "") + +- remote.push_url = new_url ++ self.repo.remotes.set_push_url("origin", new_url) ++ remote = self.repo.remotes["origin"] + self.assertEqual(new_url, remote.push_url) +- self.assertRaisesAssign(ValueError, remote, 'push_url', '') +- ++ self.assertRaises(ValueError, self.repo.remotes.set_push_url, "origin", "") + + def test_refspec(self): +- remote = self.repo.remotes[0] ++ remote = self.repo.remotes["origin"] + + self.assertEqual(remote.refspec_count, 1) + refspec = remote.get_refspec(0) +@@ -140,34 +141,20 @@ class RepositoryTest(utils.RepoTestCase): + self.assertEqual(list, type(push_specs)) + self.assertEqual(0, len(push_specs)) + +- remote.fetch_refspecs = ['+refs/*:refs/remotes/*'] +- self.assertEqual('+refs/*:refs/remotes/*', remote.fetch_refspecs[0]) ++ self.repo.remotes.add_fetch("origin", '+refs/test/*:refs/test/remotes/*') ++ remote = self.repo.remotes["origin"] + + fetch_specs = remote.fetch_refspecs + self.assertEqual(list, type(fetch_specs)) +- self.assertEqual(1, len(fetch_specs)) +- self.assertEqual('+refs/*:refs/remotes/*', fetch_specs[0]) +- +- remote.fetch_refspecs = ['+refs/*:refs/remotes/*', +- '+refs/test/*:refs/test/remotes/*'] +- self.assertEqual('+refs/*:refs/remotes/*', remote.fetch_refspecs[0]) +- self.assertEqual('+refs/test/*:refs/test/remotes/*', +- remote.fetch_refspecs[1]) ++ self.assertEqual(2, len(fetch_specs)) ++ self.assertEqual(['+refs/heads/*:refs/remotes/origin/*', '+refs/test/*:refs/test/remotes/*'], fetch_specs) + +- remote.push_refspecs = ['+refs/*:refs/remotes/*', +- '+refs/test/*:refs/test/remotes/*'] ++ self.repo.remotes.add_push("origin", '+refs/test/*:refs/test/remotes/*') + +- self.assertRaises(TypeError, setattr, remote, 'push_refspecs', +- '+refs/*:refs/*') +- self.assertRaises(TypeError, setattr, remote, 'fetch_refspecs', +- '+refs/*:refs/*') +- self.assertRaises(TypeError, setattr, remote, 'fetch_refspecs', +- ['+refs/*:refs/*', 5]) +- +- self.assertEqual('+refs/*:refs/remotes/*', remote.push_refspecs[0]) +- self.assertEqual('+refs/test/*:refs/test/remotes/*', +- remote.push_refspecs[1]) ++ self.assertRaises(TypeError, self.repo.remotes.add_fetch, ['+refs/*:refs/*', 5]) + ++ remote = self.repo.remotes["origin"] ++ self.assertEqual(['+refs/test/*:refs/test/remotes/*'], remote.push_refspecs) + + def test_remote_list(self): + self.assertEqual(1, len(self.repo.remotes)) +@@ -193,15 +180,6 @@ class RepositoryTest(utils.RepoTestCase): + remote = self.repo.remotes.create(name, url) + self.assertTrue(remote.name in [x.name for x in self.repo.remotes]) + +- +- def test_remote_save(self): +- remote = self.repo.remotes[0] +- remote.url = 'http://example.com/test.git' +- remote.save() +- +- self.assertEqual('http://example.com/test.git', +- self.repo.remotes[0].url) +- + @unittest.skipIf(__pypy__ is not None, "skip refcounts checks in pypy") + def test_remote_refcount(self): + start = sys.getrefcount(self.repo) +@@ -210,15 +188,6 @@ class RepositoryTest(utils.RepoTestCase): + end = sys.getrefcount(self.repo) + self.assertEqual(start, end) + +- def test_add_refspec(self): +- remote = self.repo.create_remote('test_add_refspec', REMOTE_URL) +- remote.add_push('refs/heads/*:refs/heads/test_refspec/*') +- self.assertEqual('refs/heads/*:refs/heads/test_refspec/*', +- remote.push_refspecs[0]) +- remote.add_fetch('+refs/heads/*:refs/remotes/test_refspec/*') +- self.assertEqual('+refs/heads/*:refs/remotes/test_refspec/*', +- remote.fetch_refspecs[1]) +- + def test_remote_callback_typecheck(self): + remote = self.repo.remotes[0] + remote.progress = 5 +-- +2.5.0 + diff --git a/python-pygit2.spec b/python-pygit2.spec index 9d9341d..699f19f 100644 --- a/python-pygit2.spec +++ b/python-pygit2.spec @@ -1,11 +1,12 @@ %global pkgname pygit2 +%global realver 0.22.1 Name: python-%{pkgname} -Version: 0.22.1 -Release: 2%{?dist} +Version: 0.23.0 +Release: 0.1%{?dist} Summary: Python 2.x bindings for libgit2 URL: http://www.pygit2.org -Source: http://pypi.python.org/packages/source/p/%{pkgname}/%{pkgname}-%{version}.tar.gz +Source: http://pypi.python.org/packages/source/p/%{pkgname}/%{pkgname}-%{realver}.tar.gz License: GPLv2 with linking exception BuildRequires: libgit2-devel BuildRequires: openssl-devel @@ -18,6 +19,9 @@ Requires: python-cffi Patch1: 0001-Remove-remote-calling-unit-tests.patch +# https://github.com/libgit2/pygit2/commit/81520c9c626e092bc45f9fc8ba138eefa4d1beb2 +Patch2: 0001-Update-to-libgit2-v0.23.patch + %description pygit2 is a set of Python bindings to the libgit2 library, which implements the core of Git. Pygit2 works with Python 2.7, 3.1, 3.2, 3.3, 3.4 and pypy. @@ -48,7 +52,9 @@ Documentation for %{name}. %prep -%setup -qn %{pkgname}-%{version} +%setup -qn %{pkgname}-%{realver} + +%patch2 -p1 %patch1 -p1 @@ -85,7 +91,7 @@ popd %files %doc README.rst TODO.txt %license COPYING -%{python2_sitearch}/%{pkgname}-%{version}-py%{python2_version}.egg-info +%{python2_sitearch}/%{pkgname}-%{realver}-py%{python2_version}.egg-info %{python2_sitearch}/%{pkgname} %{python2_sitearch}/_%{pkgname}.so %{python2_sitearch}/%{pkgname}_cffi_*.so @@ -93,7 +99,7 @@ popd %files -n python3-%{pkgname} %doc README.rst TODO.txt %license COPYING -%{python3_sitearch}/%{pkgname}-%{version}-py%{python3_version}.egg-info +%{python3_sitearch}/%{pkgname}-%{realver}-py%{python3_version}.egg-info %{python3_sitearch}/%{pkgname} %{python3_sitearch}/_%{pkgname}.*.so %{python3_sitearch}/%{pkgname}_cffi_*.so @@ -103,6 +109,9 @@ popd %changelog +* Fri Jul 31 2015 Igor Gnatenko - 0.23.0-0.1 +- Cherry-pick patch for 0.23.0 support + * Fri Jul 31 2015 Zbigniew Jędrzejewski-Szmek - 0.22.1-2 - Rebuilt for libgit2-0.23.0 and libgit2-glib-0.23 From a38c38393354c52669fec3b05f40f95aab7ddd17 Mon Sep 17 00:00:00 2001 From: Igor Gnatenko Date: Sun, 27 Sep 2015 19:14:39 +0200 Subject: [PATCH 021/150] Update to 0.23.1 (RHBZ #1266726) Signed-off-by: Igor Gnatenko --- .gitignore | 1 + python-pygit2.spec | 24 +++++++++--------------- sources | 2 +- 3 files changed, 11 insertions(+), 16 deletions(-) diff --git a/.gitignore b/.gitignore index 67c4123..820fe1a 100644 --- a/.gitignore +++ b/.gitignore @@ -7,3 +7,4 @@ /pygit2-0.21.4.tar.gz /pygit2-0.22.0.tar.gz /pygit2-0.22.1.tar.gz +/pygit2-0.23.1.tar.gz diff --git a/python-pygit2.spec b/python-pygit2.spec index 699f19f..04d5916 100644 --- a/python-pygit2.spec +++ b/python-pygit2.spec @@ -1,12 +1,11 @@ %global pkgname pygit2 -%global realver 0.22.1 Name: python-%{pkgname} -Version: 0.23.0 -Release: 0.1%{?dist} +Version: 0.23.1 +Release: 1%{?dist} Summary: Python 2.x bindings for libgit2 URL: http://www.pygit2.org -Source: http://pypi.python.org/packages/source/p/%{pkgname}/%{pkgname}-%{realver}.tar.gz +Source: http://pypi.python.org/packages/source/p/%{pkgname}/%{pkgname}-%{version}.tar.gz License: GPLv2 with linking exception BuildRequires: libgit2-devel BuildRequires: openssl-devel @@ -19,9 +18,6 @@ Requires: python-cffi Patch1: 0001-Remove-remote-calling-unit-tests.patch -# https://github.com/libgit2/pygit2/commit/81520c9c626e092bc45f9fc8ba138eefa4d1beb2 -Patch2: 0001-Update-to-libgit2-v0.23.patch - %description pygit2 is a set of Python bindings to the libgit2 library, which implements the core of Git. Pygit2 works with Python 2.7, 3.1, 3.2, 3.3, 3.4 and pypy. @@ -52,10 +48,7 @@ Documentation for %{name}. %prep -%setup -qn %{pkgname}-%{realver} - -%patch2 -p1 - +%setup -qn %{pkgname}-%{version} %patch1 -p1 rm -rf %{py3dir} @@ -91,24 +84,25 @@ popd %files %doc README.rst TODO.txt %license COPYING -%{python2_sitearch}/%{pkgname}-%{realver}-py%{python2_version}.egg-info +%{python2_sitearch}/%{pkgname}-%{version}-py%{python2_version}.egg-info %{python2_sitearch}/%{pkgname} %{python2_sitearch}/_%{pkgname}.so -%{python2_sitearch}/%{pkgname}_cffi_*.so %files -n python3-%{pkgname} %doc README.rst TODO.txt %license COPYING -%{python3_sitearch}/%{pkgname}-%{realver}-py%{python3_version}.egg-info +%{python3_sitearch}/%{pkgname}-%{version}-py%{python3_version}.egg-info %{python3_sitearch}/%{pkgname} %{python3_sitearch}/_%{pkgname}.*.so -%{python3_sitearch}/%{pkgname}_cffi_*.so %files doc %doc docs/_build/html/* %changelog +* Sun Sep 27 2015 Igor Gnatenko - 0.23.1-1 +- Update to 0.23.1 (RHBZ #1266726) + * Fri Jul 31 2015 Igor Gnatenko - 0.23.0-0.1 - Cherry-pick patch for 0.23.0 support diff --git a/sources b/sources index c58f94b..95d5cea 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -a96462a623da8532c68d5bf4e2bd69b1 pygit2-0.22.1.tar.gz +d48aba904772dc3c2e4421f1d4ba7655 pygit2-0.23.1.tar.gz From f11656169f831821d277fb42ebe1a3483bb08fbd Mon Sep 17 00:00:00 2001 From: Peter Robinson Date: Tue, 10 Nov 2015 16:52:13 +0000 Subject: [PATCH 022/150] - Rebuilt for https://fedoraproject.org/wiki/Changes/python3.5 --- python-pygit2.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/python-pygit2.spec b/python-pygit2.spec index 04d5916..a8a94e8 100644 --- a/python-pygit2.spec +++ b/python-pygit2.spec @@ -2,7 +2,7 @@ Name: python-%{pkgname} Version: 0.23.1 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Python 2.x bindings for libgit2 URL: http://www.pygit2.org Source: http://pypi.python.org/packages/source/p/%{pkgname}/%{pkgname}-%{version}.tar.gz @@ -100,6 +100,9 @@ popd %changelog +* Tue Nov 10 2015 Fedora Release Engineering - 0.23.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Changes/python3.5 + * Sun Sep 27 2015 Igor Gnatenko - 0.23.1-1 - Update to 0.23.1 (RHBZ #1266726) From 8c404afbc30944f0508885ccf998bee61d316f4a Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 4 Feb 2016 20:36:39 +0000 Subject: [PATCH 023/150] - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild --- python-pygit2.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/python-pygit2.spec b/python-pygit2.spec index a8a94e8..8f9f5f1 100644 --- a/python-pygit2.spec +++ b/python-pygit2.spec @@ -2,7 +2,7 @@ Name: python-%{pkgname} Version: 0.23.1 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Python 2.x bindings for libgit2 URL: http://www.pygit2.org Source: http://pypi.python.org/packages/source/p/%{pkgname}/%{pkgname}-%{version}.tar.gz @@ -100,6 +100,9 @@ popd %changelog +* Thu Feb 04 2016 Fedora Release Engineering - 0.23.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + * Tue Nov 10 2015 Fedora Release Engineering - 0.23.1-2 - Rebuilt for https://fedoraproject.org/wiki/Changes/python3.5 From 4e64165976732cf01870c10551cafb49a2915b53 Mon Sep 17 00:00:00 2001 From: Igor Gnatenko Date: Sun, 14 Feb 2016 14:28:39 +0100 Subject: [PATCH 024/150] Update to 0.23.3; Fix compliance with new packaging guidelines Signed-off-by: Igor Gnatenko --- .gitignore | 1 + 0001-Remove-remote-calling-unit-tests.patch | 48 +- 0001-Update-to-libgit2-v0.23.patch | 1097 ------------------- python-pygit2.spec | 64 +- sources | 2 +- 5 files changed, 58 insertions(+), 1154 deletions(-) delete mode 100644 0001-Update-to-libgit2-v0.23.patch diff --git a/.gitignore b/.gitignore index 820fe1a..8364273 100644 --- a/.gitignore +++ b/.gitignore @@ -8,3 +8,4 @@ /pygit2-0.22.0.tar.gz /pygit2-0.22.1.tar.gz /pygit2-0.23.1.tar.gz +/pygit2-0.23.3.tar.gz diff --git a/0001-Remove-remote-calling-unit-tests.patch b/0001-Remove-remote-calling-unit-tests.patch index d4844be..dca0be6 100644 --- a/0001-Remove-remote-calling-unit-tests.patch +++ b/0001-Remove-remote-calling-unit-tests.patch @@ -1,4 +1,4 @@ -From 7552a25ca68931143332e49edd072bd92e7f9904 Mon Sep 17 00:00:00 2001 +From 509cb3b15b6f32a7e9dd1a5f96fbd2ba9b0d86d6 Mon Sep 17 00:00:00 2001 From: Mathieu Bridon Date: Wed, 21 Jan 2015 09:33:46 +0100 Subject: [PATCH] Remove remote-calling unit tests @@ -6,51 +6,53 @@ Subject: [PATCH] Remove remote-calling unit tests These can only fail when building in Koji, as the builder can't access the Internet. --- - test/test_credentials.py | 17 ----------------- - test/test_repository.py | 8 -------- - 2 files changed, 25 deletions(-) + test/test_credentials.py | 21 --------------------- + test/test_repository.py | 7 ------- + 2 files changed, 28 deletions(-) diff --git a/test/test_credentials.py b/test/test_credentials.py -index 376032f..abcce52 100644 +index 92482d9..36263c0 100644 --- a/test/test_credentials.py +++ b/test/test_credentials.py -@@ -79,23 +79,6 @@ class CredentialCallback(utils.RepoTestCase): +@@ -81,26 +81,5 @@ class CredentialCallback(utils.RepoTestCase): - self.assertRaises(Exception, remote.fetch) + self.assertRaises(Exception, lambda: remote.fetch(callbacks=MyCallbacks())) - def test_bad_cred_type(self): -- def credentials_cb(url, username, allowed): -- self.assertTrue(allowed & GIT_CREDTYPE_USERPASS_PLAINTEXT) -- return Keypair("git", "foo.pub", "foo", "sekkrit") +- class MyCallbacks(pygit2.RemoteCallbacks): +- @staticmethod +- def credentials(url, username, allowed): +- self.assertTrue(allowed & GIT_CREDTYPE_USERPASS_PLAINTEXT) +- return Keypair("git", "foo.pub", "foo", "sekkrit") - -- remote = self.repo.create_remote("github", "https://github.com/github/github") -- remote.credentials = credentials_cb -- -- self.assertRaises(TypeError, remote.fetch) +- url = "https://github.com/github/github" +- remote = self.repo.create_remote("github", url) +- self.assertRaises(TypeError, lambda: remote.fetch(callbacks=MyCallbacks())) - -class CallableCredentialTest(utils.RepoTestCase): - - def test_user_pass(self): -- remote = self.repo.create_remote("bb", "https://bitbucket.org/libgit2/testgitrepository.git") -- remote.credentials = UserPass("libgit2", "libgit2") +- credentials = UserPass("libgit2", "libgit2") +- callbacks = pygit2.RemoteCallbacks(credentials=credentials) +- +- url = "https://bitbucket.org/libgit2/testgitrepository.git" +- remote = self.repo.create_remote("bb", url) +- remote.fetch(callbacks=callbacks) - -- remote.fetch() - if __name__ == '__main__': unittest.main() diff --git a/test/test_repository.py b/test/test_repository.py -index 7640f39..decb974 100644 +index 8558340..e127cc4 100644 --- a/test/test_repository.py +++ b/test/test_repository.py -@@ -457,14 +457,6 @@ class CloneRepositoryTest(utils.NoRepoTestCase): +@@ -513,13 +513,6 @@ class CloneRepositoryTest(utils.NoRepoTestCase): self.assertTrue('refs/remotes/custom_remote/master' in repo.listall_references()) self.assertIsNotNone(repo.remotes["custom_remote"]) - def test_clone_with_credentials(self): -- credentials = pygit2.UserPass("libgit2", "libgit2") - repo = clone_repository( - "https://bitbucket.org/libgit2/testgitrepository.git", -- self._temp_dir, credentials=credentials) +- self._temp_dir, callbacks=pygit2.RemoteCallbacks(credentials=pygit2.UserPass("libgit2", "libgit2"))) - - self.assertFalse(repo.is_empty) - @@ -58,5 +60,5 @@ index 7640f39..decb974 100644 # create a test case which isolates the remote test_repo = clone_repository('./test/data/testrepo.git', -- -2.1.0 +2.7.1 diff --git a/0001-Update-to-libgit2-v0.23.patch b/0001-Update-to-libgit2-v0.23.patch deleted file mode 100644 index 7ebc119..0000000 --- a/0001-Update-to-libgit2-v0.23.patch +++ /dev/null @@ -1,1097 +0,0 @@ -From 81520c9c626e092bc45f9fc8ba138eefa4d1beb2 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Carlos=20Mart=C3=ADn=20Nieto?= -Date: Mon, 8 Jun 2015 12:19:01 +0200 -Subject: [PATCH] Update to libgit2 v0.23 - ---- - .travis.sh | 2 +- - pygit2/__init__.py | 8 +-- - pygit2/config.py | 43 ++++++++++----- - pygit2/decl.h | 129 +++++++++++++++++++++++++++++++-------------- - pygit2/remote.py | 144 ++++++++++++++++++--------------------------------- - pygit2/repository.py | 63 +++++++++++----------- - pygit2/utils.py | 5 ++ - src/branch.c | 2 +- - src/pygit2.c | 3 +- - src/reference.c | 22 +++----- - src/repository.c | 12 ++--- - src/types.h | 4 +- - test/test_merge.py | 2 +- - test/test_refs.py | 3 +- - test/test_remote.py | 65 ++++++----------------- - 15 files changed, 252 insertions(+), 255 deletions(-) - -diff --git a/pygit2/__init__.py b/pygit2/__init__.py -index d963bca..709adca 100644 ---- a/pygit2/__init__.py -+++ b/pygit2/__init__.py -@@ -278,12 +278,12 @@ def clone_repository( - - opts.bare = bare - if credentials: -- opts.remote_callbacks.credentials = _credentials_cb -- opts.remote_callbacks.payload = d_handle -+ opts.fetch_opts.callbacks.credentials = _credentials_cb -+ opts.fetch_opts.callbacks.payload = d_handle - - if certificate: -- opts.remote_callbacks.certificate_check = _certificate_cb -- opts.remote_callbacks.payload = d_handle -+ opts.fetch_opts.callbacks.certificate_check = _certificate_cb -+ opts.fetch_opts.callbacks.payload = d_handle - - err = C.git_clone(crepo, to_bytes(url), to_bytes(path), opts) - -diff --git a/pygit2/config.py b/pygit2/config.py -index 33cc6da..a01fdf6 100644 ---- a/pygit2/config.py -+++ b/pygit2/config.py -@@ -101,19 +101,19 @@ class Config(object): - def _get(self, key): - assert_string(key, "key") - -- cstr = ffi.new('char **') -- err = C.git_config_get_string(cstr, self._config, to_bytes(key)) -+ entry = ffi.new('git_config_entry **') -+ err = C.git_config_get_entry(entry, self._config, to_bytes(key)) - -- return err, cstr -+ return err, ConfigEntry._from_c(entry[0]) - -- def _get_string(self, key): -- err, cstr = self._get(key) -+ def _get_entry(self, key): -+ err, entry = self._get(key) - - if err == C.GIT_ENOTFOUND: - raise KeyError(key) - - check_error(err) -- return cstr[0] -+ return entry - - def __contains__(self, key): - err, cstr = self._get(key) -@@ -126,9 +126,9 @@ class Config(object): - return True - - def __getitem__(self, key): -- val = self._get_string(key) -+ entry = self._get_entry(key) - -- return ffi.string(val).decode('utf-8') -+ return ffi.string(entry.value).decode('utf-8') - - def __setitem__(self, key, value): - assert_string(key, "key") -@@ -192,9 +192,10 @@ class Config(object): - Truthy values are: 'true', 1, 'on' or 'yes'. Falsy values are: 'false', - 0, 'off' and 'no' - """ -- val = self._get_string(key) -+ -+ entry = self._get_entry(key) - res = ffi.new('int *') -- err = C.git_config_parse_bool(res, val) -+ err = C.git_config_parse_bool(res, entry.value) - check_error(err) - - return res[0] != 0 -@@ -206,9 +207,10 @@ class Config(object): - A value can have a suffix 'k', 'm' or 'g' which stand for 'kilo', - 'mega' and 'giga' respectively. - """ -- val = self._get_string(key) -+ -+ entry = self._get_entry(key) - res = ffi.new('int64_t *') -- err = C.git_config_parse_int64(res, val) -+ err = C.git_config_parse_int64(res, entry.value) - check_error(err) - - return res[0] -@@ -283,3 +285,20 @@ class Config(object): - """Return a object representing the global configuration file. - """ - return Config._from_found_config(C.git_config_find_xdg) -+ -+class ConfigEntry(object): -+ """An entry in a configuation object -+ """ -+ -+ @classmethod -+ def _from_c(cls, ptr): -+ entry = cls.__new__(cls) -+ entry._entry = ptr -+ return entry -+ -+ def __del__(self): -+ C.git_config_entry_free(self._entry) -+ -+ @property -+ def value(self): -+ return self._entry.value -diff --git a/pygit2/decl.h b/pygit2/decl.h -index 2ea73f2..61afe33 100644 ---- a/pygit2/decl.h -+++ b/pygit2/decl.h -@@ -1,6 +1,7 @@ - typedef ... git_repository; - typedef ... git_submodule; - typedef ... git_remote; -+typedef ... git_transport; - typedef ... git_refspec; - typedef ... git_cred; - typedef ... git_object; -@@ -51,7 +52,7 @@ typedef enum { - GIT_EUNMERGED = -10, - GIT_ENONFASTFORWARD = -11, - GIT_EINVALIDSPEC = -12, -- GIT_EMERGECONFLICT = -13, -+ GIT_ECONFLICT = -13, - GIT_ELOCKED = -14, - - GIT_PASSTHROUGH = -30, -@@ -118,6 +119,7 @@ typedef enum { - } git_credtype_t; - - typedef enum git_cert_t { -+ GIT_CERT_NONE, - GIT_CERT_X509, - GIT_CERT_HOSTKEY_LIBSSH2, - } git_cert_t; -@@ -165,6 +167,16 @@ typedef int (*git_push_transfer_progress)( - size_t bytes, - void* payload); - -+typedef struct { -+ char *src_refname; -+ char *dst_refname; -+ git_oid src; -+ git_oid dst; -+} git_push_update; -+ -+typedef int (*git_push_negotiation)(const git_push_update **updates, size_t len, void *payload); -+typedef int (*git_transport_cb)(git_transport **out, git_remote *owner, void *param); -+ - struct git_remote_callbacks { - unsigned int version; - git_transport_message_cb sideband_progress; -@@ -173,19 +185,51 @@ struct git_remote_callbacks { - git_transport_certificate_check_cb certificate_check; - git_transfer_progress_cb transfer_progress; - int (*update_tips)(const char *refname, const git_oid *a, const git_oid *b, void *data); -- git_packbuilder_progress pack_progress; -+ git_packbuilder_progress pack_progress; - git_push_transfer_progress push_transfer_progress; - int (*push_update_reference)(const char *refname, const char *status, void *data); -+ git_push_negotiation push_negotiation; -+ git_transport_cb transport; - void *payload; - }; - -+#define GIT_REMOTE_CALLBACKS_VERSION ... -+ - typedef struct git_remote_callbacks git_remote_callbacks; - - typedef struct { - unsigned int version; - unsigned int pb_parallelism; -+ git_remote_callbacks callbacks; - } git_push_options; - -+#define GIT_PUSH_OPTIONS_VERSION ... -+int git_push_init_options(git_push_options *opts, unsigned int version); -+ -+typedef enum { -+ GIT_FETCH_PRUNE_UNSPECIFIED, -+ GIT_FETCH_PRUNE, -+ GIT_FETCH_NO_PRUNE, -+} git_fetch_prune_t; -+ -+typedef enum { -+ GIT_REMOTE_DOWNLOAD_TAGS_UNSPECIFIED = 0, -+ GIT_REMOTE_DOWNLOAD_TAGS_AUTO, -+ GIT_REMOTE_DOWNLOAD_TAGS_NONE, -+ GIT_REMOTE_DOWNLOAD_TAGS_ALL, -+} git_remote_autotag_option_t; -+ -+typedef struct { -+ int version; -+ git_remote_callbacks callbacks; -+ git_fetch_prune_t prune; -+ int update_fetchhead; -+ git_remote_autotag_option_t download_tags; -+} git_fetch_options; -+ -+#define GIT_FETCH_OPTIONS_VERSION ... -+int git_fetch_init_options(git_fetch_options *opts, unsigned int version); -+ - int git_remote_list(git_strarray *out, git_repository *repo); - int git_remote_lookup(git_remote **out, git_repository *repo, const char *name); - int git_remote_create( -@@ -201,24 +245,20 @@ const char * git_remote_name(const git_remote *remote); - - int git_remote_rename(git_strarray *problems, git_repository *repo, const char *name, const char *new_name); - const char * git_remote_url(const git_remote *remote); --int git_remote_set_url(git_remote *remote, const char* url); -+int git_remote_set_url(git_repository *repo, const char *remote, const char* url); - const char * git_remote_pushurl(const git_remote *remote); --int git_remote_set_pushurl(git_remote *remote, const char* url); --int git_remote_fetch(git_remote *remote, const git_strarray *refspecs, const git_signature *signature, const char *reflog_message); --int git_remote_push(git_remote *remote, git_strarray *refspecs, const git_push_options *opts, const git_signature *signature, const char *reflog_message); -+int git_remote_set_pushurl(git_repository *repo, const char *remote, const char* url); -+int git_remote_fetch(git_remote *remote, const git_strarray *refspecs, const git_fetch_options *opts, const char *reflog_message); -+int git_remote_push(git_remote *remote, const git_strarray *refspecs, const git_push_options *opts); - const git_transfer_progress * git_remote_stats(git_remote *remote); --int git_remote_add_push(git_remote *remote, const char *refspec); --int git_remote_add_fetch(git_remote *remote, const char *refspec); --int git_remote_save(const git_remote *remote); --int git_remote_set_callbacks(git_remote *remote, const git_remote_callbacks *callbacks); -+int git_remote_add_push(git_repository *repo, const char *remote, const char *refspec); -+int git_remote_add_fetch(git_repository *repo, const char *remote, const char *refspec); - int git_remote_init_callbacks(git_remote_callbacks *opts, unsigned int version); - size_t git_remote_refspec_count(git_remote *remote); - const git_refspec * git_remote_get_refspec(git_remote *remote, size_t n); - - int git_remote_get_fetch_refspecs(git_strarray *array, git_remote *remote); --int git_remote_set_fetch_refspecs(git_remote *remote, git_strarray *array); - int git_remote_get_push_refspecs(git_strarray *array, git_remote *remote); --int git_remote_set_push_refspecs(git_remote *remote, git_strarray *array); - - void git_remote_free(git_remote *remote); - -@@ -253,13 +293,12 @@ int git_cred_ssh_key_from_agent( - */ - - typedef enum { -- GIT_SUBMODULE_IGNORE_RESET = -1, -+ GIT_SUBMODULE_IGNORE_UNSPECIFIED = -1, - - GIT_SUBMODULE_IGNORE_NONE = 1, - GIT_SUBMODULE_IGNORE_UNTRACKED = 2, - GIT_SUBMODULE_IGNORE_DIRTY = 3, - GIT_SUBMODULE_IGNORE_ALL = 4, -- GIT_SUBMODULE_IGNORE_DEFAULT = 0 - } git_submodule_ignore_t; - - typedef enum { -@@ -348,32 +387,37 @@ typedef void (*git_checkout_progress_cb)( - size_t total_steps, - void *payload); - -+typedef struct { -+ size_t mkdir_calls; -+ size_t stat_calls; -+ size_t chmod_calls; -+} git_checkout_perfdata; -+ -+typedef void (*git_checkout_perfdata_cb)( -+ const git_checkout_perfdata *perfdata, -+ void *payload); -+ - typedef struct git_checkout_options { - unsigned int version; -- - unsigned int checkout_strategy; -- - int disable_filters; - unsigned int dir_mode; - unsigned int file_mode; - int file_open_flags; -- - unsigned int notify_flags; - git_checkout_notify_cb notify_cb; - void *notify_payload; -- - git_checkout_progress_cb progress_cb; - void *progress_payload; -- - git_strarray paths; -- - git_tree *baseline; -- -+ git_index *baseline_index; - const char *target_directory; -- - const char *ancestor_label; - const char *our_label; - const char *their_label; -+ git_checkout_perfdata_cb perfdata_cb; -+ void *perfdata_payload; - } git_checkout_options; - - int git_checkout_init_options(git_checkout_options *opts, unsigned int version); -@@ -408,11 +452,10 @@ typedef enum { - typedef struct git_clone_options { - unsigned int version; - git_checkout_options checkout_opts; -- git_remote_callbacks remote_callbacks; -+ git_fetch_options fetch_opts; - int bare; - git_clone_local_t local; - const char* checkout_branch; -- git_signature *signature; - git_repository_create_cb repository_cb; - void *repository_cb_payload; - git_remote_create_cb remote_cb; -@@ -443,16 +486,21 @@ typedef enum { - GIT_CONFIG_HIGHEST_LEVEL = -1, - } git_config_level_t; - --typedef struct { -+typedef struct git_config_entry { - const char *name; - const char *value; - git_config_level_t level; -+ void (*free)(struct git_config_entry *entry); -+ void *payload; - } git_config_entry; - -+void git_config_entry_free(git_config_entry *); -+ - int git_repository_config(git_config **out, git_repository *repo); - int git_repository_config_snapshot(git_config **out, git_repository *repo); - void git_config_free(git_config *cfg); - -+int git_config_get_entry(git_config_entry **out, const git_config *cfg, const char *name); - int git_config_get_string(const char **out, const git_config *cfg, const char *name); - int git_config_set_string(git_config *cfg, const char *name, const char *value); - int git_config_set_bool(git_config *cfg, const char *name, int value); -@@ -535,8 +583,10 @@ int git_repository_init_ext( - const char *repo_path, - git_repository_init_options *opts); - --int git_repository_set_head(git_repository *repo, const char *refname, const git_signature *signature, const char *log_message); --int git_repository_set_head_detached(git_repository *repo, const git_oid *commitish, const git_signature *signature, const char *log_message); -+int git_repository_set_head(git_repository *repo, const char *refname); -+int git_repository_set_head_detached(git_repository *repo, const git_oid *commitish); -+int git_repository_ident(const char **name, const char **email, const git_repository *repo); -+int git_repository_set_ident(git_repository *repo, const char *name, const char *email); - int git_graph_ahead_behind(size_t *ahead, size_t *behind, git_repository *repo, const git_oid *local, const git_oid *upstream); - - /* -@@ -557,25 +607,25 @@ const char *git_submodule_branch(git_submodule *subm); - typedef int64_t git_time_t; - - typedef struct { -- git_time_t seconds; -- unsigned int nanoseconds; -+ int32_t seconds; -+ uint32_t nanoseconds; - } git_index_time; - - typedef struct git_index_entry { - git_index_time ctime; - git_index_time mtime; - -- unsigned int dev; -- unsigned int ino; -- unsigned int mode; -- unsigned int uid; -- unsigned int gid; -- git_off_t file_size; -+ uint32_t dev; -+ uint32_t ino; -+ uint32_t mode; -+ uint32_t uid; -+ uint32_t gid; -+ uint32_t file_size; - - git_oid id; - -- unsigned short flags; -- unsigned short flags_extended; -+ uint16_t flags; -+ uint16_t flags_extended; - - const char *path; - } git_index_entry; -@@ -664,13 +714,16 @@ typedef enum { - - typedef struct { - unsigned int version; -- git_merge_tree_flag_t flags; -+ git_merge_tree_flag_t tree_flags; - unsigned int rename_threshold; - unsigned int target_limit; - git_diff_similarity_metric *metric; - git_merge_file_favor_t file_favor; -+ unsigned int file_flags; - } git_merge_options; - -+#define GIT_MERGE_OPTIONS_VERSION 1 -+ - typedef struct { - unsigned int automergeable; - const char *path; -diff --git a/pygit2/remote.py b/pygit2/remote.py -index 8d2416b..7ec5bd4 100644 ---- a/pygit2/remote.py -+++ b/pygit2/remote.py -@@ -153,74 +153,44 @@ class Remote(object): - - return maybe_string(C.git_remote_url(self._remote)) - -- @url.setter -- def url(self, value): -- err = C.git_remote_set_url(self._remote, to_bytes(value)) -- check_error(err) -- - @property - def push_url(self): - """Push url of the remote""" - - return maybe_string(C.git_remote_pushurl(self._remote)) - -- @push_url.setter -- def push_url(self, value): -- err = C.git_remote_set_pushurl(self._remote, to_bytes(value)) -- check_error(err) -- - def save(self): - """Save a remote to its repository's configuration.""" - - err = C.git_remote_save(self._remote) - check_error(err) - -- def fetch(self, signature=None, message=None): -+ def fetch(self, refspecs=None, message=None): - """Perform a fetch against this remote. Returns a - object. - """ - -- # Get the default callbacks first -- defaultcallbacks = ffi.new('git_remote_callbacks *') -- err = C.git_remote_init_callbacks(defaultcallbacks, 1) -- check_error(err) -+ fetch_opts = ffi.new('git_fetch_options *') -+ err = C.git_fetch_init_options(fetch_opts, C.GIT_FETCH_OPTIONS_VERSION) - -- # Build custom callback structure -- callbacks = ffi.new('git_remote_callbacks *') -- callbacks.version = 1 -- callbacks.sideband_progress = self._sideband_progress_cb -- callbacks.transfer_progress = self._transfer_progress_cb -- callbacks.update_tips = self._update_tips_cb -- callbacks.credentials = self._credentials_cb -+ fetch_opts.callbacks.sideband_progress = self._sideband_progress_cb -+ fetch_opts.callbacks.transfer_progress = self._transfer_progress_cb -+ fetch_opts.callbacks.update_tips = self._update_tips_cb -+ fetch_opts.callbacks.credentials = self._credentials_cb - # We need to make sure that this handle stays alive - self._self_handle = ffi.new_handle(self) -- callbacks.payload = self._self_handle -- -- err = C.git_remote_set_callbacks(self._remote, callbacks) -- try: -- check_error(err) -- except: -- self._self_handle = None -- raise -- -- if signature: -- ptr = signature._pointer[:] -- else: -- ptr = ffi.NULL -+ fetch_opts.callbacks.payload = self._self_handle - - self._stored_exception = None - - try: -- err = C.git_remote_fetch(self._remote, ffi.NULL, ptr, to_bytes(message)) -- if self._stored_exception: -- raise self._stored_exception -- -- check_error(err) -+ with StrArray(refspecs) as arr: -+ err = C.git_remote_fetch(self._remote, arr, fetch_opts, to_bytes(message)) -+ if self._stored_exception: -+ raise self._stored_exception -+ check_error(err) - finally: -- # Even on error, clear stored callbacks and reset to default - self._self_handle = None -- err = C.git_remote_set_callbacks(self._remote, defaultcallbacks) -- check_error(err) - - return TransferProgress(C.git_remote_stats(self._remote)) - -@@ -245,12 +215,6 @@ class Remote(object): - - return strarray_to_strings(specs) - -- @fetch_refspecs.setter -- def fetch_refspecs(self, l): -- with StrArray(l) as arr: -- err = C.git_remote_set_fetch_refspecs(self._remote, arr) -- check_error(err) -- - @property - def push_refspecs(self): - """Refspecs that will be used for pushing""" -@@ -261,64 +225,28 @@ class Remote(object): - - return strarray_to_strings(specs) - -- @push_refspecs.setter -- def push_refspecs(self, l): -- with StrArray(l) as arr: -- err = C.git_remote_set_push_refspecs(self._remote, arr) -- check_error(err) -- -- def add_fetch(self, refspec): -- """Add a fetch refspec (str) to the remote.""" -- err = C.git_remote_add_fetch(self._remote, to_bytes(refspec)) -- check_error(err) -- -- def add_push(self, refspec): -- """Add a push refspec (str) to the remote.""" -- err = C.git_remote_add_push(self._remote, to_bytes(refspec)) -- check_error(err) -- -- def push(self, specs, signature=None, message=None): -+ def push(self, specs): - """Push the given refspec to the remote. Raises ``GitError`` on - protocol error or unpack failure. - - :param [str] specs: push refspecs to use -- :param Signature signature: signature to use when updating the tips (optional) -- :param str message: message to use when updating the tips (optional) - """ -- # Get the default callbacks first -- defaultcallbacks = ffi.new('git_remote_callbacks *') -- err = C.git_remote_init_callbacks(defaultcallbacks, 1) -- check_error(err) -- -- if signature: -- sig_cptr = ffi.new('git_signature **') -- ffi.buffer(sig_cptr)[:] = signature._pointer[:] -- sig_ptr = sig_cptr[0] -- else: -- sig_ptr = ffi.NULL -+ push_opts = ffi.new('git_push_options *') -+ err = C.git_push_init_options(push_opts, C.GIT_PUSH_OPTIONS_VERSION) - - # Build custom callback structure -- callbacks = ffi.new('git_remote_callbacks *') -- callbacks.version = 1 -- callbacks.sideband_progress = self._sideband_progress_cb -- callbacks.transfer_progress = self._transfer_progress_cb -- callbacks.update_tips = self._update_tips_cb -- callbacks.credentials = self._credentials_cb -- callbacks.push_update_reference = self._push_update_reference_cb -+ push_opts.callbacks.sideband_progress = self._sideband_progress_cb -+ push_opts.callbacks.transfer_progress = self._transfer_progress_cb -+ push_opts.callbacks.update_tips = self._update_tips_cb -+ push_opts.callbacks.credentials = self._credentials_cb -+ push_opts.callbacks.push_update_reference = self._push_update_reference_cb - # We need to make sure that this handle stays alive - self._self_handle = ffi.new_handle(self) -- callbacks.payload = self._self_handle -- -- try: -- err = C.git_remote_set_callbacks(self._remote, callbacks) -- check_error(err) -- except: -- self._self_handle = None -- raise -+ push_opts.callbacks.payload = self._self_handle - - try: - with StrArray(specs) as refspecs: -- err = C.git_remote_push(self._remote, refspecs, ffi.NULL, sig_ptr, to_bytes(message)) -+ err = C.git_remote_push(self._remote, refspecs, ffi.NULL) - check_error(err) - finally: - self._self_handle = None -@@ -551,3 +479,29 @@ class RemoteCollection(object): - """ - err = C.git_remote_delete(self._repo._repo, to_bytes(name)) - check_error(err) -+ -+ def set_url(self, name, url): -+ """ Set the URL for a remote -+ """ -+ err = C.git_remote_set_url(self._repo._repo, to_bytes(name), to_bytes(url)) -+ check_error(err) -+ -+ def set_push_url(self, name, url): -+ """Set the push-URL for a remote -+ """ -+ err = C.git_remote_set_pushurl(self._repo._repo, to_bytes(name), to_bytes(url)) -+ check_error(err) -+ -+ def add_fetch(self, name, refspec): -+ """Add a fetch refspec (str) to the remote -+ """ -+ -+ err = C.git_remote_add_fetch(self._repo._repo, to_bytes(name), to_bytes(refspec)) -+ check_error(err) -+ -+ def add_push(self, name, refspec): -+ """Add a push refspec (str) to the remote -+ """ -+ -+ err = C.git_remote_add_push(self._repo._repo, to_bytes(name), to_bytes(refspec)) -+ check_error(err) -diff --git a/pygit2/repository.py b/pygit2/repository.py -index 64c08f9..b92a3a2 100644 ---- a/pygit2/repository.py -+++ b/pygit2/repository.py -@@ -40,7 +40,7 @@ else: - # Import from pygit2 - from _pygit2 import Repository as _Repository - from _pygit2 import Oid, GIT_OID_HEXSZ, GIT_OID_MINPREFIXLEN --from _pygit2 import GIT_CHECKOUT_SAFE_CREATE, GIT_DIFF_NORMAL -+from _pygit2 import GIT_CHECKOUT_SAFE, GIT_CHECKOUT_RECREATE_MISSING, GIT_DIFF_NORMAL - from _pygit2 import GIT_FILEMODE_LINK - from _pygit2 import Reference, Tree, Commit, Blob - -@@ -190,8 +190,8 @@ class Repository(_Repository): - # References we need to keep to strings and so forth - refs = [] - -- # pygit2's default is SAFE_CREATE -- copts.checkout_strategy = GIT_CHECKOUT_SAFE_CREATE -+ # pygit2's default is SAFE | RECREATE_MISSING -+ copts.checkout_strategy = GIT_CHECKOUT_SAFE | GIT_CHECKOUT_RECREATE_MISSING - # and go through the arguments to see what the user wanted - if strategy: - copts.checkout_strategy = strategy -@@ -235,7 +235,7 @@ class Repository(_Repository): - Checkout the given reference using the given strategy, and update - the HEAD. - The reference may be a reference name or a Reference object. -- The default strategy is GIT_CHECKOUT_SAFE_CREATE. -+ The default strategy is GIT_CHECKOUT_SAFE | GIT_CHECKOUT_RECREATE_MISSING. - - To checkout from the HEAD, just pass 'HEAD':: - -@@ -251,7 +251,7 @@ class Repository(_Repository): - the current branch will be switched to this one. - - :param int strategy: A ``GIT_CHECKOUT_`` value. The default is -- ``GIT_CHECKOUT_SAFE_CREATE``. -+ ``GIT_CHECKOUT_SAFE``. - - :param str directory: Alternative checkout path to workdir. - -@@ -281,50 +281,29 @@ class Repository(_Repository): - else: - from_ = head.target.hex - -- try: -- signature = self.default_signature -- except Exception: -- signature = None -- -- reflog_text = "checkout: moving from %s to %s" % (from_, reference) -- self.set_head(refname, signature, reflog_text) -+ self.set_head(refname) - - # - # Setting HEAD - # -- def set_head(self, target, signature=None, message=None): -+ def set_head(self, target): - """Set HEAD to point to the given target - - Arguments: - - target - The new target for HEAD. Can be a string or Oid (to detach) -- -- signature -- Signature to use for the reflog. If not provided, the repository's -- default will be used -- -- message -- Message to use for the reflog - """ - -- sig_ptr = ffi.new('git_signature **') -- if signature: -- ffi.buffer(sig_ptr)[:] = signature._pointer[:] -- -- message_ptr = ffi.NULL -- if message_ptr: -- message_ptr = to_bytes(message) -- - if isinstance(target, Oid): - oid = ffi.new('git_oid *') - ffi.buffer(oid)[:] = target.raw[:] -- err = C.git_repository_set_head_detached(self._repo, oid, sig_ptr[0], message_ptr) -+ err = C.git_repository_set_head_detached(self._repo, oid) - check_error(err) - return - - # if it's a string, then it's a reference name -- err = C.git_repository_set_head(self._repo, to_bytes(target), sig_ptr[0], message_ptr) -+ err = C.git_repository_set_head(self._repo, to_bytes(target)) - check_error(err) - - # -@@ -802,3 +781,27 @@ class Repository(_Repository): - return ffi.string(cvalue[0]).decode('utf-8') - - assert False, "the attribute value from libgit2 is invalid" -+ -+ # -+ # Identity for reference operations -+ # -+ @property -+ def ident(self): -+ cname = ffi.new('char **') -+ cemail = ffi.new('char **') -+ -+ err = C.git_repository_ident(cname, cemail, self._repo) -+ check_error(err) -+ -+ return (ffi.string(cname).decode('utf-8'), ffi.string(cemail).decode('utf-8')) -+ -+ def set_ident(self, name, email): -+ """Set the identity to be used for reference operations -+ -+ Updates to some references also append data to their -+ reflog. You can use this method to set what identity will be -+ used. If none is set, it will be read from the configuration. -+ """ -+ -+ err = C.git_repository_set_ident(self._repo, to_bytes(name), to_bytes(email)) -+ check_error(err) -diff --git a/pygit2/utils.py b/pygit2/utils.py -index 89bc7ee..5b6a365 100644 ---- a/pygit2/utils.py -+++ b/pygit2/utils.py -@@ -61,6 +61,11 @@ class StrArray(object): - """ - - def __init__(self, l): -+ # Allow passing in None as lg2 typically considers them the same as empty -+ if l is None: -+ self.array = ffi.NULL -+ return -+ - if not isinstance(l, list): - raise TypeError("Value must be a list") - -diff --git a/src/branch.c b/src/branch.c -index 1793cea..d725ab1 100644 ---- a/src/branch.c -+++ b/src/branch.c -@@ -101,7 +101,7 @@ Branch_rename(Branch *self, PyObject *args) - if (!PyArg_ParseTuple(args, "s|i", &c_name, &force)) - return NULL; - -- err = git_branch_move(&c_out, self->reference, c_name, force, NULL, NULL); -+ err = git_branch_move(&c_out, self->reference, c_name, force); - if (err == GIT_OK) - return wrap_branch(c_out, self->repo); - else -diff --git a/src/pygit2.c b/src/pygit2.c -index eedff26..12d365f 100644 ---- a/src/pygit2.c -+++ b/src/pygit2.c -@@ -273,10 +273,11 @@ moduleinit(PyObject* m) - ADD_CONSTANT_INT(m, GIT_STATUS_WT_MODIFIED) - ADD_CONSTANT_INT(m, GIT_STATUS_WT_DELETED) - ADD_CONSTANT_INT(m, GIT_STATUS_IGNORED) /* Flags for ignored files */ -+ ADD_CONSTANT_INT(m, GIT_STATUS_CONFLICTED) - /* Different checkout strategies */ - ADD_CONSTANT_INT(m, GIT_CHECKOUT_NONE) - ADD_CONSTANT_INT(m, GIT_CHECKOUT_SAFE) -- ADD_CONSTANT_INT(m, GIT_CHECKOUT_SAFE_CREATE) -+ ADD_CONSTANT_INT(m, GIT_CHECKOUT_RECREATE_MISSING) - ADD_CONSTANT_INT(m, GIT_CHECKOUT_FORCE) - ADD_CONSTANT_INT(m, GIT_CHECKOUT_ALLOW_CONFLICTS) - ADD_CONSTANT_INT(m, GIT_CHECKOUT_REMOVE_UNTRACKED) -diff --git a/src/reference.c b/src/reference.c -index 4d8e56e..2a20cca 100644 ---- a/src/reference.c -+++ b/src/reference.c -@@ -163,7 +163,7 @@ Reference_rename(Reference *self, PyObject *py_name) - return NULL; - - /* Rename */ -- err = git_reference_rename(&new_reference, self->reference, c_name, 0, NULL, NULL); -+ err = git_reference_rename(&new_reference, self->reference, c_name, 0, NULL); - git_reference_free(self->reference); - free(c_name); - if (err < 0) -@@ -228,7 +228,7 @@ Reference_target__get__(Reference *self) - } - - PyDoc_STRVAR(Reference_set_target__doc__, -- "set_target(target, [signature, message])\n" -+ "set_target(target, [message])\n" - "\n" - "Set the target of this reference.\n" - "\n" -@@ -240,9 +240,6 @@ PyDoc_STRVAR(Reference_set_target__doc__, - "\n" - "target\n" - " The new target for this reference\n" -- "signature\n" -- " The signature to use for the reflog. If left out, the repository's\n" -- " default identity will be used.\n" - "message\n" - " Message to use for the reflog.\n"); - -@@ -253,28 +250,23 @@ Reference_set_target(Reference *self, PyObject *args, PyObject *kwds) - char *c_name; - int err; - git_reference *new_ref; -- const git_signature *sig = NULL; - PyObject *py_target = NULL; -- Signature *py_signature = NULL; - const char *message = NULL; -- char *keywords[] = {"target", "signature", "message", NULL}; -+ char *keywords[] = {"target", "message", NULL}; - - CHECK_REFERENCE(self); - -- if (!PyArg_ParseTupleAndKeywords(args, kwds, "O|O!s", keywords, -- &py_target, &SignatureType, &py_signature, &message)) -+ if (!PyArg_ParseTupleAndKeywords(args, kwds, "O|s", keywords, -+ &py_target, &message)) - return NULL; - -- if (py_signature) -- sig = py_signature->signature; -- - /* Case 1: Direct */ - if (GIT_REF_OID == git_reference_type(self->reference)) { - err = py_oid_to_git_oid_expand(self->repo->repo, py_target, &oid); - if (err < 0) - goto error; - -- err = git_reference_set_target(&new_ref, self->reference, &oid, sig, message); -+ err = git_reference_set_target(&new_ref, self->reference, &oid, message); - if (err < 0) - goto error; - -@@ -288,7 +280,7 @@ Reference_set_target(Reference *self, PyObject *args, PyObject *kwds) - if (c_name == NULL) - return NULL; - -- err = git_reference_symbolic_set_target(&new_ref, self->reference, c_name, sig, message); -+ err = git_reference_symbolic_set_target(&new_ref, self->reference, c_name, message); - free(c_name); - if (err < 0) - goto error; -diff --git a/src/repository.c b/src/repository.c -index de93bb3..0195c01 100644 ---- a/src/repository.c -+++ b/src/repository.c -@@ -637,7 +637,7 @@ Repository_merge(Repository *self, PyObject *py_oid) - if (err < 0) - return Error_set(err); - -- checkout_opts.checkout_strategy = GIT_CHECKOUT_SAFE_CREATE; -+ checkout_opts.checkout_strategy = GIT_CHECKOUT_SAFE | GIT_CHECKOUT_RECREATE_MISSING; - err = git_merge(self->repo, - (const git_annotated_commit **)&commit, 1, - &merge_opts, &checkout_opts); -@@ -677,7 +677,7 @@ Repository_cherrypick(Repository *self, PyObject *py_oid) - if (err < 0) - return Error_set(err); - -- cherrypick_opts.checkout_opts.checkout_strategy = GIT_CHECKOUT_SAFE_CREATE; -+ cherrypick_opts.checkout_opts.checkout_strategy = GIT_CHECKOUT_SAFE; - err = git_cherrypick(self->repo, - commit, - (const git_cherrypick_options *)&cherrypick_opts); -@@ -989,7 +989,7 @@ Repository_create_branch(Repository *self, PyObject *args) - if (!PyArg_ParseTuple(args, "sO!|i", &c_name, &CommitType, &py_commit, &force)) - return NULL; - -- err = git_branch_create(&c_reference, self->repo, c_name, py_commit->commit, force, NULL, NULL); -+ err = git_branch_create(&c_reference, self->repo, c_name, py_commit->commit, force); - if (err < 0) - return Error_set(err); - -@@ -1194,7 +1194,7 @@ Repository_create_reference_direct(Repository *self, PyObject *args, - if (err < 0) - return NULL; - -- err = git_reference_create(&c_reference, self->repo, c_name, &oid, force, NULL, NULL); -+ err = git_reference_create(&c_reference, self->repo, c_name, &oid, force, NULL); - if (err < 0) - return Error_set(err); - -@@ -1228,7 +1228,7 @@ Repository_create_reference_symbolic(Repository *self, PyObject *args, - return NULL; - - err = git_reference_symbolic_create(&c_reference, self->repo, c_name, -- c_target, force, NULL, NULL); -+ c_target, force, NULL); - if (err < 0) - return Error_set(err); - -@@ -1513,7 +1513,7 @@ Repository_reset(Repository *self, PyObject* args) - - err = git_object_lookup_prefix(&target, self->repo, &oid, len, - GIT_OBJ_ANY); -- err = err < 0 ? err : git_reset(self->repo, target, reset_type, NULL, NULL, NULL); -+ err = err < 0 ? err : git_reset(self->repo, target, reset_type, NULL); - git_object_free(target); - if (err < 0) - return Error_set_oid(err, &oid, len); -diff --git a/src/types.h b/src/types.h -index f82ad47..f3c1858 100644 ---- a/src/types.h -+++ b/src/types.h -@@ -32,8 +32,8 @@ - #include - #include - --#if !(LIBGIT2_VER_MAJOR == 0 && LIBGIT2_VER_MINOR == 22) --#error You need a compatible libgit2 version (v0.22.x) -+#if !(LIBGIT2_VER_MAJOR == 0 && LIBGIT2_VER_MINOR == 23) -+#error You need a compatible libgit2 version (v0.23.x) - #endif - - /* -diff --git a/test/test_merge.py b/test/test_merge.py -index 7719d6d..86d1eea 100644 ---- a/test/test_merge.py -+++ b/test/test_merge.py -@@ -82,7 +82,7 @@ class MergeTestBasic(utils.RepoTestCaseForMerging): - - self.repo.merge(branch_id) - self.assertTrue(self.repo.index.conflicts is not None) -- status = pygit2.GIT_STATUS_WT_NEW | pygit2.GIT_STATUS_INDEX_DELETED -+ status = pygit2.GIT_STATUS_CONFLICTED - # Asking twice to assure the reference counting is correct - self.assertEqual({'.gitignore': status}, self.repo.status()) - self.assertEqual({'.gitignore': status}, self.repo.status()) -diff --git a/test/test_refs.py b/test/test_refs.py -index 1e78eb5..0d362c7 100644 ---- a/test/test_refs.py -+++ b/test/test_refs.py -@@ -114,8 +114,9 @@ class ReferencesTest(utils.RepoTestCase): - reference = self.repo.lookup_reference('HEAD') - self.assertEqual(reference.target, 'refs/heads/master') - sig = Signature('foo', 'bar') -+ self.repo.set_ident('foo', 'bar') - msg = 'Hello log' -- reference.set_target('refs/heads/i18n', signature=sig, message=msg) -+ reference.set_target('refs/heads/i18n', message=msg) - self.assertEqual(reference.target, 'refs/heads/i18n') - self.assertEqual(list(reference.log())[0].message, msg) - self.assertEqualSignature(list(reference.log())[0].committer, sig) -diff --git a/test/test_remote.py b/test/test_remote.py -index 751cddc..c2e4f8f 100644 ---- a/test/test_remote.py -+++ b/test/test_remote.py -@@ -100,22 +100,23 @@ class RepositoryTest(utils.RepoTestCase): - - - def test_remote_set_url(self): -- remote = self.repo.remotes[0] -- -+ remote = self.repo.remotes["origin"] - self.assertEqual(REMOTE_URL, remote.url) -+ - new_url = 'git://github.com/cholin/pygit2.git' -- remote.url = new_url -+ self.repo.remotes.set_url("origin", new_url) -+ remote = self.repo.remotes["origin"] - self.assertEqual(new_url, remote.url) - -- self.assertRaisesAssign(ValueError, remote, 'url', '') -+ self.assertRaises(ValueError, self.repo.remotes.set_url, "origin", "") - -- remote.push_url = new_url -+ self.repo.remotes.set_push_url("origin", new_url) -+ remote = self.repo.remotes["origin"] - self.assertEqual(new_url, remote.push_url) -- self.assertRaisesAssign(ValueError, remote, 'push_url', '') -- -+ self.assertRaises(ValueError, self.repo.remotes.set_push_url, "origin", "") - - def test_refspec(self): -- remote = self.repo.remotes[0] -+ remote = self.repo.remotes["origin"] - - self.assertEqual(remote.refspec_count, 1) - refspec = remote.get_refspec(0) -@@ -140,34 +141,20 @@ class RepositoryTest(utils.RepoTestCase): - self.assertEqual(list, type(push_specs)) - self.assertEqual(0, len(push_specs)) - -- remote.fetch_refspecs = ['+refs/*:refs/remotes/*'] -- self.assertEqual('+refs/*:refs/remotes/*', remote.fetch_refspecs[0]) -+ self.repo.remotes.add_fetch("origin", '+refs/test/*:refs/test/remotes/*') -+ remote = self.repo.remotes["origin"] - - fetch_specs = remote.fetch_refspecs - self.assertEqual(list, type(fetch_specs)) -- self.assertEqual(1, len(fetch_specs)) -- self.assertEqual('+refs/*:refs/remotes/*', fetch_specs[0]) -- -- remote.fetch_refspecs = ['+refs/*:refs/remotes/*', -- '+refs/test/*:refs/test/remotes/*'] -- self.assertEqual('+refs/*:refs/remotes/*', remote.fetch_refspecs[0]) -- self.assertEqual('+refs/test/*:refs/test/remotes/*', -- remote.fetch_refspecs[1]) -+ self.assertEqual(2, len(fetch_specs)) -+ self.assertEqual(['+refs/heads/*:refs/remotes/origin/*', '+refs/test/*:refs/test/remotes/*'], fetch_specs) - -- remote.push_refspecs = ['+refs/*:refs/remotes/*', -- '+refs/test/*:refs/test/remotes/*'] -+ self.repo.remotes.add_push("origin", '+refs/test/*:refs/test/remotes/*') - -- self.assertRaises(TypeError, setattr, remote, 'push_refspecs', -- '+refs/*:refs/*') -- self.assertRaises(TypeError, setattr, remote, 'fetch_refspecs', -- '+refs/*:refs/*') -- self.assertRaises(TypeError, setattr, remote, 'fetch_refspecs', -- ['+refs/*:refs/*', 5]) -- -- self.assertEqual('+refs/*:refs/remotes/*', remote.push_refspecs[0]) -- self.assertEqual('+refs/test/*:refs/test/remotes/*', -- remote.push_refspecs[1]) -+ self.assertRaises(TypeError, self.repo.remotes.add_fetch, ['+refs/*:refs/*', 5]) - -+ remote = self.repo.remotes["origin"] -+ self.assertEqual(['+refs/test/*:refs/test/remotes/*'], remote.push_refspecs) - - def test_remote_list(self): - self.assertEqual(1, len(self.repo.remotes)) -@@ -193,15 +180,6 @@ class RepositoryTest(utils.RepoTestCase): - remote = self.repo.remotes.create(name, url) - self.assertTrue(remote.name in [x.name for x in self.repo.remotes]) - -- -- def test_remote_save(self): -- remote = self.repo.remotes[0] -- remote.url = 'http://example.com/test.git' -- remote.save() -- -- self.assertEqual('http://example.com/test.git', -- self.repo.remotes[0].url) -- - @unittest.skipIf(__pypy__ is not None, "skip refcounts checks in pypy") - def test_remote_refcount(self): - start = sys.getrefcount(self.repo) -@@ -210,15 +188,6 @@ class RepositoryTest(utils.RepoTestCase): - end = sys.getrefcount(self.repo) - self.assertEqual(start, end) - -- def test_add_refspec(self): -- remote = self.repo.create_remote('test_add_refspec', REMOTE_URL) -- remote.add_push('refs/heads/*:refs/heads/test_refspec/*') -- self.assertEqual('refs/heads/*:refs/heads/test_refspec/*', -- remote.push_refspecs[0]) -- remote.add_fetch('+refs/heads/*:refs/remotes/test_refspec/*') -- self.assertEqual('+refs/heads/*:refs/remotes/test_refspec/*', -- remote.fetch_refspecs[1]) -- - def test_remote_callback_typecheck(self): - remote = self.repo.remotes[0] - remote.progress = 5 --- -2.5.0 - diff --git a/python-pygit2.spec b/python-pygit2.spec index 8f9f5f1..80937ac 100644 --- a/python-pygit2.spec +++ b/python-pygit2.spec @@ -1,18 +1,14 @@ %global pkgname pygit2 Name: python-%{pkgname} -Version: 0.23.1 -Release: 3%{?dist} -Summary: Python 2.x bindings for libgit2 +Version: 0.23.3 +Release: 1%{?dist} +Summary: Python bindings for libgit2 URL: http://www.pygit2.org Source: http://pypi.python.org/packages/source/p/%{pkgname}/%{pkgname}-%{version}.tar.gz License: GPLv2 with linking exception BuildRequires: libgit2-devel BuildRequires: openssl-devel -BuildRequires: python-cffi -BuildRequires: python2-devel -BuildRequires: python-nose -BuildRequires: python-setuptools Requires: python-cffi @@ -20,11 +16,25 @@ Patch1: 0001-Remove-remote-calling-unit-tests.patch %description pygit2 is a set of Python bindings to the libgit2 library, which implements -the core of Git. Pygit2 works with Python 2.7, 3.1, 3.2, 3.3, 3.4 and pypy. +the core of Git. +%package -n python2-%{pkgname} +Summary: Python 2.x bindings for libgit2 +%{?python_provide:%python_provide python2-%{pkgname}} +BuildRequires: python2-cffi +BuildRequires: python2-devel +BuildRequires: python2-nose +BuildRequires: python2-setuptools + +%description -n python2-%{pkgname} +pygit2 is a set of Python bindings to the libgit2 library, which implements +the core of Git. + +Python 2 version. %package -n python3-%{pkgname} Summary: Python 3.x bindings for libgit2 +%{?python_provide:%python_provide python3-%{pkgname}} BuildRequires: python3-cffi BuildRequires: python3-devel BuildRequires: python3-nose @@ -34,54 +44,39 @@ Requires: python3-cffi %description -n python3-%{pkgname} pygit2 is a set of Python bindings to the libgit2 library, which implements -the core of Git. Pygit2 works with Python 2.7, 3.1, 3.2, 3.3 and 3.4. +the core of Git. +Python 3 version. %package doc Summary: Documentation for %{name} BuildArch: noarch -BuildRequires: python-sphinx +BuildRequires: python2-sphinx Requires: %{name} = %{version}-%{release} %description doc Documentation for %{name}. - %prep -%setup -qn %{pkgname}-%{version} -%patch1 -p1 - -rm -rf %{py3dir} -cp -a . %{py3dir} - +%autosetup -n %{pkgname}-%{version} -p1 %build -CFLAGS="%{optflags}" %{__python2} setup.py build +%py2_build make -C docs html - -pushd %{py3dir} -CFLAGS="%{optflags}" %{__python3} setup.py build -popd - +%py3_build %install -%{__python2} setup.py install --prefix=%{_prefix} -O1 --skip-build --root=%{buildroot} -pushd %{py3dir} -%{__python3} setup.py install --prefix=%{_prefix} -O1 --skip-build --root=%{buildroot} -popd +%py2_install +%py3_install find %{_builddir} -name '.buildinfo' -delete # Correct the permissions. find %{buildroot} -name '*.so' -exec chmod 755 {} ';' - %check %{__python2} setup.py test -pushd %{py3dir} %{__python3} setup.py test -popd - -%files +%files -n python2-%{pkgname} %doc README.rst TODO.txt %license COPYING %{python2_sitearch}/%{pkgname}-%{version}-py%{python2_version}.egg-info @@ -98,8 +93,11 @@ popd %files doc %doc docs/_build/html/* - %changelog +* Sun Feb 14 2016 Igor Gnatenko - 0.23.3-1 +- Update to 0.23.3 +- Fix compliance with new packaging guidelines + * Thu Feb 04 2016 Fedora Release Engineering - 0.23.1-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild diff --git a/sources b/sources index 95d5cea..a358055 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -d48aba904772dc3c2e4421f1d4ba7655 pygit2-0.23.1.tar.gz +1c20926ad48ce622b0087ab2bb812ae3 pygit2-0.23.3.tar.gz From 0ade253b8e1bb89922b20caaf92f619c2b5ddcd4 Mon Sep 17 00:00:00 2001 From: Igor Gnatenko Date: Sun, 14 Feb 2016 15:29:50 +0100 Subject: [PATCH 025/150] ignore tests on ix86 Signed-off-by: Igor Gnatenko --- python-pygit2.spec | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/python-pygit2.spec b/python-pygit2.spec index 80937ac..cd45128 100644 --- a/python-pygit2.spec +++ b/python-pygit2.spec @@ -73,7 +73,13 @@ find %{_builddir} -name '.buildinfo' -delete find %{buildroot} -name '*.so' -exec chmod 755 {} ';' %check -%{__python2} setup.py test +# https://github.com/libgit2/pygit2/issues/592 +%{__python2} setup.py test \ +%ifarch %{ix86} + || : +%else + ; +%endif %{__python3} setup.py test %files -n python2-%{pkgname} From 55d2df63b1af2f0d138a1b2fc7f9f7683b70a3cb Mon Sep 17 00:00:00 2001 From: Igor Gnatenko Date: Sun, 14 Feb 2016 15:40:10 +0100 Subject: [PATCH 026/150] once more Signed-off-by: Igor Gnatenko --- python-pygit2.spec | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/python-pygit2.spec b/python-pygit2.spec index cd45128..83edd1c 100644 --- a/python-pygit2.spec +++ b/python-pygit2.spec @@ -80,7 +80,12 @@ find %{buildroot} -name '*.so' -exec chmod 755 {} ';' %else ; %endif -%{__python3} setup.py test +%{__python3} setup.py test \ +%ifarch %{ix86} + || : +%else + ; +%endif %files -n python2-%{pkgname} %doc README.rst TODO.txt From d37c4d2dbde9bb37a62e143c322ddbf5c724e1b0 Mon Sep 17 00:00:00 2001 From: Pierre-Yves Chibon Date: Sun, 7 Feb 2016 22:22:29 +0100 Subject: [PATCH 027/150] Fix building 0.23.3 and re-enable the tests... --- 0001-Attempt-to-fix-build-on-0.23.3.patch | 27 +++++++++++++++++++++++ python-pygit2.spec | 19 +++++----------- 2 files changed, 33 insertions(+), 13 deletions(-) create mode 100644 0001-Attempt-to-fix-build-on-0.23.3.patch diff --git a/0001-Attempt-to-fix-build-on-0.23.3.patch b/0001-Attempt-to-fix-build-on-0.23.3.patch new file mode 100644 index 0000000..0adb0bf --- /dev/null +++ b/0001-Attempt-to-fix-build-on-0.23.3.patch @@ -0,0 +1,27 @@ +From d555dd66d4a35409b4d624e52562af44aa97e934 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Carlos=20Mart=C3=ADn=20Nieto?= +Date: Wed, 24 Feb 2016 14:49:32 +0100 +Subject: [PATCH] Attempt to fix build on 0.23.3 + +--- + pygit2/repository.py | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/pygit2/repository.py b/pygit2/repository.py +index f8a6cad..1713828 100644 +--- a/pygit2/repository.py ++++ b/pygit2/repository.py +@@ -716,8 +716,10 @@ class Repository(_Repository): + format_options.abbreviated_size = abbreviated_size + if always_use_long_format is not None: + format_options.always_use_long_format = always_use_long_format ++ dirty_ptr = None + if dirty_suffix: +- format_options.dirty_suffix = ffi.new('char[]', to_bytes(dirty_suffix)) ++ dirty_ptr = ffi.new('char[]', to_bytes(dirty_suffix)) ++ format_options.dirty_suffix = dirty_ptr + + buf = ffi.new('git_buf *', (ffi.NULL, 0)) + +-- +2.5.0 diff --git a/python-pygit2.spec b/python-pygit2.spec index 83edd1c..659c279 100644 --- a/python-pygit2.spec +++ b/python-pygit2.spec @@ -14,6 +14,10 @@ Requires: python-cffi Patch1: 0001-Remove-remote-calling-unit-tests.patch +# From upstream: +# https://github.com/libgit2/pygit2/issues/597#issuecomment-187773503 +Patch2: 0001-Attempt-to-fix-build-on-0.23.3.patch + %description pygit2 is a set of Python bindings to the libgit2 library, which implements the core of Git. @@ -73,19 +77,8 @@ find %{_builddir} -name '.buildinfo' -delete find %{buildroot} -name '*.so' -exec chmod 755 {} ';' %check -# https://github.com/libgit2/pygit2/issues/592 -%{__python2} setup.py test \ -%ifarch %{ix86} - || : -%else - ; -%endif -%{__python3} setup.py test \ -%ifarch %{ix86} - || : -%else - ; -%endif +%{__python2} setup.py test +%{__python3} setup.py test %files -n python2-%{pkgname} %doc README.rst TODO.txt From f9aa4bf75a2c958fafe92811ce579e2f3f270c25 Mon Sep 17 00:00:00 2001 From: Pierre-Yves Chibon Date: Wed, 24 Feb 2016 23:18:12 +0100 Subject: [PATCH 028/150] bump release --- python-pygit2.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/python-pygit2.spec b/python-pygit2.spec index 659c279..85cff27 100644 --- a/python-pygit2.spec +++ b/python-pygit2.spec @@ -2,7 +2,7 @@ Name: python-%{pkgname} Version: 0.23.3 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Python bindings for libgit2 URL: http://www.pygit2.org Source: http://pypi.python.org/packages/source/p/%{pkgname}/%{pkgname}-%{version}.tar.gz @@ -98,6 +98,9 @@ find %{buildroot} -name '*.so' -exec chmod 755 {} ';' %doc docs/_build/html/* %changelog +* Wed Feb 24 2016 Pierre-Yves Chibon - 0.23.3-2 +- Fix building 0.23.3 also in i686 + * Sun Feb 14 2016 Igor Gnatenko - 0.23.3-1 - Update to 0.23.3 - Fix compliance with new packaging guidelines From 37be1967a5f9a5c02f0a678f7160545f20c99205 Mon Sep 17 00:00:00 2001 From: Igor Gnatenko Date: Sun, 20 Mar 2016 08:41:34 +0100 Subject: [PATCH 029/150] Update to 0.24.0 Signed-off-by: Igor Gnatenko --- .gitignore | 1 + python-pygit2.spec | 11 +++++------ sources | 2 +- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/.gitignore b/.gitignore index 8364273..e11201d 100644 --- a/.gitignore +++ b/.gitignore @@ -9,3 +9,4 @@ /pygit2-0.22.1.tar.gz /pygit2-0.23.1.tar.gz /pygit2-0.23.3.tar.gz +/pygit2-0.24.0.tar.gz diff --git a/python-pygit2.spec b/python-pygit2.spec index 85cff27..cd483d2 100644 --- a/python-pygit2.spec +++ b/python-pygit2.spec @@ -1,8 +1,8 @@ %global pkgname pygit2 Name: python-%{pkgname} -Version: 0.23.3 -Release: 2%{?dist} +Version: 0.24.0 +Release: 1%{?dist} Summary: Python bindings for libgit2 URL: http://www.pygit2.org Source: http://pypi.python.org/packages/source/p/%{pkgname}/%{pkgname}-%{version}.tar.gz @@ -14,10 +14,6 @@ Requires: python-cffi Patch1: 0001-Remove-remote-calling-unit-tests.patch -# From upstream: -# https://github.com/libgit2/pygit2/issues/597#issuecomment-187773503 -Patch2: 0001-Attempt-to-fix-build-on-0.23.3.patch - %description pygit2 is a set of Python bindings to the libgit2 library, which implements the core of Git. @@ -98,6 +94,9 @@ find %{buildroot} -name '*.so' -exec chmod 755 {} ';' %doc docs/_build/html/* %changelog +* Sun Mar 20 2016 Igor Gnatenko - 0.24.0-1 +- Update to 0.24.0 + * Wed Feb 24 2016 Pierre-Yves Chibon - 0.23.3-2 - Fix building 0.23.3 also in i686 diff --git a/sources b/sources index a358055..bdb531a 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -1c20926ad48ce622b0087ab2bb812ae3 pygit2-0.23.3.tar.gz +05f62d21f054c1a1559a726c7fdaeff1 pygit2-0.24.0.tar.gz From b91ca82b7a846b56c1a24914adcbce5bf0442987 Mon Sep 17 00:00:00 2001 From: Igor Gnatenko Date: Sun, 20 Mar 2016 09:05:24 +0100 Subject: [PATCH 030/150] Remove unused patch Signed-off-by: Igor Gnatenko --- 0001-Attempt-to-fix-build-on-0.23.3.patch | 27 ----------------------- 1 file changed, 27 deletions(-) delete mode 100644 0001-Attempt-to-fix-build-on-0.23.3.patch diff --git a/0001-Attempt-to-fix-build-on-0.23.3.patch b/0001-Attempt-to-fix-build-on-0.23.3.patch deleted file mode 100644 index 0adb0bf..0000000 --- a/0001-Attempt-to-fix-build-on-0.23.3.patch +++ /dev/null @@ -1,27 +0,0 @@ -From d555dd66d4a35409b4d624e52562af44aa97e934 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Carlos=20Mart=C3=ADn=20Nieto?= -Date: Wed, 24 Feb 2016 14:49:32 +0100 -Subject: [PATCH] Attempt to fix build on 0.23.3 - ---- - pygit2/repository.py | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git a/pygit2/repository.py b/pygit2/repository.py -index f8a6cad..1713828 100644 ---- a/pygit2/repository.py -+++ b/pygit2/repository.py -@@ -716,8 +716,10 @@ class Repository(_Repository): - format_options.abbreviated_size = abbreviated_size - if always_use_long_format is not None: - format_options.always_use_long_format = always_use_long_format -+ dirty_ptr = None - if dirty_suffix: -- format_options.dirty_suffix = ffi.new('char[]', to_bytes(dirty_suffix)) -+ dirty_ptr = ffi.new('char[]', to_bytes(dirty_suffix)) -+ format_options.dirty_suffix = dirty_ptr - - buf = ffi.new('git_buf *', (ffi.NULL, 0)) - --- -2.5.0 From c2ad1f065ab99bd14a8340e1458688f6490f9998 Mon Sep 17 00:00:00 2001 From: Igor Gnatenko Date: Thu, 14 Apr 2016 12:26:39 +0200 Subject: [PATCH 031/150] Add python[23]-six to BR/Rs Signed-off-by: Igor Gnatenko --- python-pygit2.spec | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/python-pygit2.spec b/python-pygit2.spec index cd483d2..63b6055 100644 --- a/python-pygit2.spec +++ b/python-pygit2.spec @@ -2,7 +2,7 @@ Name: python-%{pkgname} Version: 0.24.0 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Python bindings for libgit2 URL: http://www.pygit2.org Source: http://pypi.python.org/packages/source/p/%{pkgname}/%{pkgname}-%{version}.tar.gz @@ -10,8 +10,6 @@ License: GPLv2 with linking exception BuildRequires: libgit2-devel BuildRequires: openssl-devel -Requires: python-cffi - Patch1: 0001-Remove-remote-calling-unit-tests.patch %description @@ -23,8 +21,11 @@ Summary: Python 2.x bindings for libgit2 %{?python_provide:%python_provide python2-%{pkgname}} BuildRequires: python2-cffi BuildRequires: python2-devel -BuildRequires: python2-nose BuildRequires: python2-setuptools +BuildRequires: python2-nose +BuildRequires: python2-six +Requires: python2-cffi +Requires: python2-six %description -n python2-%{pkgname} pygit2 is a set of Python bindings to the libgit2 library, which implements @@ -37,10 +38,11 @@ Summary: Python 3.x bindings for libgit2 %{?python_provide:%python_provide python3-%{pkgname}} BuildRequires: python3-cffi BuildRequires: python3-devel -BuildRequires: python3-nose BuildRequires: python3-setuptools - +BuildRequires: python3-nose +BuildRequires: python3-six Requires: python3-cffi +Requires: python3-six %description -n python3-%{pkgname} pygit2 is a set of Python bindings to the libgit2 library, which implements @@ -51,7 +53,7 @@ Python 3 version. %package doc Summary: Documentation for %{name} BuildArch: noarch -BuildRequires: python2-sphinx +BuildRequires: python-sphinx Requires: %{name} = %{version}-%{release} %description doc @@ -94,6 +96,9 @@ find %{buildroot} -name '*.so' -exec chmod 755 {} ';' %doc docs/_build/html/* %changelog +* Thu Apr 14 2016 Igor Gnatenko - 0.24.0-2 +- Add python[23]-six to BR/Rs + * Sun Mar 20 2016 Igor Gnatenko - 0.24.0-1 - Update to 0.24.0 From fa80be9dbe30bcdece02c23982d4ddf33265c262 Mon Sep 17 00:00:00 2001 From: Igor Gnatenko Date: Mon, 18 Apr 2016 09:18:08 +0200 Subject: [PATCH 032/150] Source -> Source0 Signed-off-by: Igor Gnatenko --- python-pygit2.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/python-pygit2.spec b/python-pygit2.spec index 63b6055..372debc 100644 --- a/python-pygit2.spec +++ b/python-pygit2.spec @@ -5,7 +5,7 @@ Version: 0.24.0 Release: 2%{?dist} Summary: Python bindings for libgit2 URL: http://www.pygit2.org -Source: http://pypi.python.org/packages/source/p/%{pkgname}/%{pkgname}-%{version}.tar.gz +Source0: http://pypi.python.org/packages/source/p/%{pkgname}/%{pkgname}-%{version}.tar.gz License: GPLv2 with linking exception BuildRequires: libgit2-devel BuildRequires: openssl-devel From 518e56814dab601524cd76292428e6935c742db8 Mon Sep 17 00:00:00 2001 From: Igor Gnatenko Date: Mon, 18 Apr 2016 09:22:36 +0200 Subject: [PATCH 033/150] Remove remote-calling unit tests Changelog: - Remove remote-calling unit tests - repository: decode() linkname - repository: SYMTYPE is constant in module tarfile, not in any class --- ...PE-is-constant-in-module-tarfile-not.patch | 26 +++++++++++++++++++ 0002-repository-decode-linkname.patch | 26 +++++++++++++++++++ ...003-Remove-remote-calling-unit-tests.patch | 9 +++---- python-pygit2.spec | 16 +++++++++--- 4 files changed, 67 insertions(+), 10 deletions(-) create mode 100644 0001-repository-SYMTYPE-is-constant-in-module-tarfile-not.patch create mode 100644 0002-repository-decode-linkname.patch rename 0001-Remove-remote-calling-unit-tests.patch => 0003-Remove-remote-calling-unit-tests.patch (93%) diff --git a/0001-repository-SYMTYPE-is-constant-in-module-tarfile-not.patch b/0001-repository-SYMTYPE-is-constant-in-module-tarfile-not.patch new file mode 100644 index 0000000..0c30297 --- /dev/null +++ b/0001-repository-SYMTYPE-is-constant-in-module-tarfile-not.patch @@ -0,0 +1,26 @@ +From a922ced80d635f2aef73bf7a647672b8df7a7914 Mon Sep 17 00:00:00 2001 +From: Igor Gnatenko +Date: Fri, 15 Apr 2016 14:07:33 +0200 +Subject: [PATCH] repository: SYMTYPE is constant in module tarfile, not in any + class + +Reference: https://github.com/libgit2/pygit2/issues/618 +Signed-off-by: Igor Gnatenko +(cherry picked from commit 270dad8cd39b0f1dbb34256b389eb1bb458779de) +--- + pygit2/repository.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/pygit2/repository.py b/pygit2/repository.py +index e9bbdc6..88cc888 100644 +--- a/pygit2/repository.py ++++ b/pygit2/repository.py +@@ -799,7 +799,7 @@ class Repository(_Repository): + info.mtime = timestamp + info.uname = info.gname = 'root' # just because git does this + if entry.mode == GIT_FILEMODE_LINK: +- info.type = archive.SYMTYPE ++ info.type = tarfile.SYMTYPE + info.linkname = content + info.mode = 0o777 # symlinks get placeholder + info.size = 0 diff --git a/0002-repository-decode-linkname.patch b/0002-repository-decode-linkname.patch new file mode 100644 index 0000000..e889353 --- /dev/null +++ b/0002-repository-decode-linkname.patch @@ -0,0 +1,26 @@ +From 7d296f33e67f53783856c045a7f21a9df75dd91e Mon Sep 17 00:00:00 2001 +From: Igor Gnatenko +Date: Fri, 15 Apr 2016 14:13:47 +0200 +Subject: [PATCH] repository: decode() linkname + +Reference: https://github.com/libgit2/pygit2/issues/620 +Signed-off-by: Igor Gnatenko +(cherry picked from commit fd9a39a91b11964b8b88fdb4caf51ffdc559a6fa) +--- + pygit2/repository.py | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/pygit2/repository.py b/pygit2/repository.py +index 88cc888..4cf1a80 100644 +--- a/pygit2/repository.py ++++ b/pygit2/repository.py +@@ -800,7 +800,8 @@ class Repository(_Repository): + info.uname = info.gname = 'root' # just because git does this + if entry.mode == GIT_FILEMODE_LINK: + info.type = tarfile.SYMTYPE +- info.linkname = content ++ info.type = archive.SYMTYPE ++ info.linkname = content.decode("utf-8") + info.mode = 0o777 # symlinks get placeholder + info.size = 0 + archive.addfile(info) diff --git a/0001-Remove-remote-calling-unit-tests.patch b/0003-Remove-remote-calling-unit-tests.patch similarity index 93% rename from 0001-Remove-remote-calling-unit-tests.patch rename to 0003-Remove-remote-calling-unit-tests.patch index dca0be6..0d6f463 100644 --- a/0001-Remove-remote-calling-unit-tests.patch +++ b/0003-Remove-remote-calling-unit-tests.patch @@ -1,4 +1,4 @@ -From 509cb3b15b6f32a7e9dd1a5f96fbd2ba9b0d86d6 Mon Sep 17 00:00:00 2001 +From 4859d36a47f74e10d2d92283f4ba6f0b35f162cd Mon Sep 17 00:00:00 2001 From: Mathieu Bridon Date: Wed, 21 Jan 2015 09:33:46 +0100 Subject: [PATCH] Remove remote-calling unit tests @@ -42,10 +42,10 @@ index 92482d9..36263c0 100644 if __name__ == '__main__': unittest.main() diff --git a/test/test_repository.py b/test/test_repository.py -index 8558340..e127cc4 100644 +index 5590ea2..a2f16ca 100644 --- a/test/test_repository.py +++ b/test/test_repository.py -@@ -513,13 +513,6 @@ class CloneRepositoryTest(utils.NoRepoTestCase): +@@ -527,13 +527,6 @@ class CloneRepositoryTest(utils.NoRepoTestCase): self.assertTrue('refs/remotes/custom_remote/master' in repo.listall_references()) self.assertIsNotNone(repo.remotes["custom_remote"]) @@ -59,6 +59,3 @@ index 8558340..e127cc4 100644 def test_clone_with_checkout_branch(self): # create a test case which isolates the remote test_repo = clone_repository('./test/data/testrepo.git', --- -2.7.1 - diff --git a/python-pygit2.spec b/python-pygit2.spec index 372debc..e213538 100644 --- a/python-pygit2.spec +++ b/python-pygit2.spec @@ -2,16 +2,19 @@ Name: python-%{pkgname} Version: 0.24.0 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Python bindings for libgit2 +License: GPLv2 with linking exception URL: http://www.pygit2.org Source0: http://pypi.python.org/packages/source/p/%{pkgname}/%{pkgname}-%{version}.tar.gz -License: GPLv2 with linking exception + +Patch0001: 0001-repository-SYMTYPE-is-constant-in-module-tarfile-not.patch +Patch0002: 0002-repository-decode-linkname.patch +Patch0003: 0003-Remove-remote-calling-unit-tests.patch + BuildRequires: libgit2-devel BuildRequires: openssl-devel -Patch1: 0001-Remove-remote-calling-unit-tests.patch - %description pygit2 is a set of Python bindings to the libgit2 library, which implements the core of Git. @@ -96,6 +99,11 @@ find %{buildroot} -name '*.so' -exec chmod 755 {} ';' %doc docs/_build/html/* %changelog +* Mon Apr 18 2016 Igor Gnatenko 0.24.0-3 +- Remove remote-calling unit tests +- repository: decode() linkname +- repository: SYMTYPE is constant in module tarfile, not in any class + * Thu Apr 14 2016 Igor Gnatenko - 0.24.0-2 - Add python[23]-six to BR/Rs From f135c575a1cfed49fed81a5e131c2ae91bc2a04f Mon Sep 17 00:00:00 2001 From: Igor Gnatenko Date: Wed, 22 Jun 2016 07:51:02 +0200 Subject: [PATCH 034/150] Update to 0.24.1 (RHBZ #1348750) Signed-off-by: Igor Gnatenko --- .gitignore | 1 + ...001-Remove-remote-calling-unit-tests.patch | 5 +++- ...PE-is-constant-in-module-tarfile-not.patch | 26 ------------------- 0002-repository-decode-linkname.patch | 26 ------------------- python-pygit2.spec | 13 +++++----- sources | 2 +- 6 files changed, 13 insertions(+), 60 deletions(-) rename 0003-Remove-remote-calling-unit-tests.patch => 0001-Remove-remote-calling-unit-tests.patch (97%) delete mode 100644 0001-repository-SYMTYPE-is-constant-in-module-tarfile-not.patch delete mode 100644 0002-repository-decode-linkname.patch diff --git a/.gitignore b/.gitignore index e11201d..2d63b33 100644 --- a/.gitignore +++ b/.gitignore @@ -10,3 +10,4 @@ /pygit2-0.23.1.tar.gz /pygit2-0.23.3.tar.gz /pygit2-0.24.0.tar.gz +/pygit2-0.24.1.tar.gz diff --git a/0003-Remove-remote-calling-unit-tests.patch b/0001-Remove-remote-calling-unit-tests.patch similarity index 97% rename from 0003-Remove-remote-calling-unit-tests.patch rename to 0001-Remove-remote-calling-unit-tests.patch index 0d6f463..131fee7 100644 --- a/0003-Remove-remote-calling-unit-tests.patch +++ b/0001-Remove-remote-calling-unit-tests.patch @@ -1,4 +1,4 @@ -From 4859d36a47f74e10d2d92283f4ba6f0b35f162cd Mon Sep 17 00:00:00 2001 +From f1f5d489da6c0a710563d517b11c116ea41d90ec Mon Sep 17 00:00:00 2001 From: Mathieu Bridon Date: Wed, 21 Jan 2015 09:33:46 +0100 Subject: [PATCH] Remove remote-calling unit tests @@ -59,3 +59,6 @@ index 5590ea2..a2f16ca 100644 def test_clone_with_checkout_branch(self): # create a test case which isolates the remote test_repo = clone_repository('./test/data/testrepo.git', +-- +2.9.0 + diff --git a/0001-repository-SYMTYPE-is-constant-in-module-tarfile-not.patch b/0001-repository-SYMTYPE-is-constant-in-module-tarfile-not.patch deleted file mode 100644 index 0c30297..0000000 --- a/0001-repository-SYMTYPE-is-constant-in-module-tarfile-not.patch +++ /dev/null @@ -1,26 +0,0 @@ -From a922ced80d635f2aef73bf7a647672b8df7a7914 Mon Sep 17 00:00:00 2001 -From: Igor Gnatenko -Date: Fri, 15 Apr 2016 14:07:33 +0200 -Subject: [PATCH] repository: SYMTYPE is constant in module tarfile, not in any - class - -Reference: https://github.com/libgit2/pygit2/issues/618 -Signed-off-by: Igor Gnatenko -(cherry picked from commit 270dad8cd39b0f1dbb34256b389eb1bb458779de) ---- - pygit2/repository.py | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/pygit2/repository.py b/pygit2/repository.py -index e9bbdc6..88cc888 100644 ---- a/pygit2/repository.py -+++ b/pygit2/repository.py -@@ -799,7 +799,7 @@ class Repository(_Repository): - info.mtime = timestamp - info.uname = info.gname = 'root' # just because git does this - if entry.mode == GIT_FILEMODE_LINK: -- info.type = archive.SYMTYPE -+ info.type = tarfile.SYMTYPE - info.linkname = content - info.mode = 0o777 # symlinks get placeholder - info.size = 0 diff --git a/0002-repository-decode-linkname.patch b/0002-repository-decode-linkname.patch deleted file mode 100644 index e889353..0000000 --- a/0002-repository-decode-linkname.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 7d296f33e67f53783856c045a7f21a9df75dd91e Mon Sep 17 00:00:00 2001 -From: Igor Gnatenko -Date: Fri, 15 Apr 2016 14:13:47 +0200 -Subject: [PATCH] repository: decode() linkname - -Reference: https://github.com/libgit2/pygit2/issues/620 -Signed-off-by: Igor Gnatenko -(cherry picked from commit fd9a39a91b11964b8b88fdb4caf51ffdc559a6fa) ---- - pygit2/repository.py | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/pygit2/repository.py b/pygit2/repository.py -index 88cc888..4cf1a80 100644 ---- a/pygit2/repository.py -+++ b/pygit2/repository.py -@@ -800,7 +800,8 @@ class Repository(_Repository): - info.uname = info.gname = 'root' # just because git does this - if entry.mode == GIT_FILEMODE_LINK: - info.type = tarfile.SYMTYPE -- info.linkname = content -+ info.type = archive.SYMTYPE -+ info.linkname = content.decode("utf-8") - info.mode = 0o777 # symlinks get placeholder - info.size = 0 - archive.addfile(info) diff --git a/python-pygit2.spec b/python-pygit2.spec index e213538..c7f1547 100644 --- a/python-pygit2.spec +++ b/python-pygit2.spec @@ -1,16 +1,14 @@ %global pkgname pygit2 Name: python-%{pkgname} -Version: 0.24.0 -Release: 3%{?dist} +Version: 0.24.1 +Release: 1%{?dist} Summary: Python bindings for libgit2 License: GPLv2 with linking exception URL: http://www.pygit2.org -Source0: http://pypi.python.org/packages/source/p/%{pkgname}/%{pkgname}-%{version}.tar.gz +Source0: https://github.com/libgit2/%{pkgname}/archive/v%{version}/%{pkgname}-%{version}.tar.gz -Patch0001: 0001-repository-SYMTYPE-is-constant-in-module-tarfile-not.patch -Patch0002: 0002-repository-decode-linkname.patch -Patch0003: 0003-Remove-remote-calling-unit-tests.patch +Patch0001: 0001-Remove-remote-calling-unit-tests.patch BuildRequires: libgit2-devel BuildRequires: openssl-devel @@ -99,6 +97,9 @@ find %{buildroot} -name '*.so' -exec chmod 755 {} ';' %doc docs/_build/html/* %changelog +* Wed Jun 22 2016 Igor Gnatenko - 0.24.1-1 +- Update to 0.24.1 (RHBZ #1348750) + * Mon Apr 18 2016 Igor Gnatenko 0.24.0-3 - Remove remote-calling unit tests - repository: decode() linkname diff --git a/sources b/sources index bdb531a..194f132 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -05f62d21f054c1a1559a726c7fdaeff1 pygit2-0.24.0.tar.gz +d9915e3f8a7da65af3ea70f5bc02967d pygit2-0.24.1.tar.gz From fcd63f21a37e0ec0b0614e2a68486d50c0d9b307 Mon Sep 17 00:00:00 2001 From: Pete Walter Date: Wed, 22 Jun 2016 08:50:43 +0100 Subject: [PATCH 035/150] Fix spaces vs tabs confusion in last commit --- python-pygit2.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/python-pygit2.spec b/python-pygit2.spec index c7f1547..13616a7 100644 --- a/python-pygit2.spec +++ b/python-pygit2.spec @@ -8,7 +8,7 @@ License: GPLv2 with linking exception URL: http://www.pygit2.org Source0: https://github.com/libgit2/%{pkgname}/archive/v%{version}/%{pkgname}-%{version}.tar.gz -Patch0001: 0001-Remove-remote-calling-unit-tests.patch +Patch0001: 0001-Remove-remote-calling-unit-tests.patch BuildRequires: libgit2-devel BuildRequires: openssl-devel From 49897c2c299dd28aacea3535bc073bb79da3616f Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Tue, 19 Jul 2016 11:09:47 +0000 Subject: [PATCH 036/150] - https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages --- python-pygit2.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/python-pygit2.spec b/python-pygit2.spec index 13616a7..98721cb 100644 --- a/python-pygit2.spec +++ b/python-pygit2.spec @@ -2,7 +2,7 @@ Name: python-%{pkgname} Version: 0.24.1 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Python bindings for libgit2 License: GPLv2 with linking exception URL: http://www.pygit2.org @@ -97,6 +97,9 @@ find %{buildroot} -name '*.so' -exec chmod 755 {} ';' %doc docs/_build/html/* %changelog +* Tue Jul 19 2016 Fedora Release Engineering - 0.24.1-2 +- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages + * Wed Jun 22 2016 Igor Gnatenko - 0.24.1-1 - Update to 0.24.1 (RHBZ #1348750) From a9e2716ce052cb3cfd67d45776ec78cdedcbfd71 Mon Sep 17 00:00:00 2001 From: Igor Gnatenko Date: Sat, 19 Nov 2016 10:55:31 +0100 Subject: [PATCH 037/150] Update to 0.24.2 (RHBZ #1390796) Signed-off-by: Igor Gnatenko --- .gitignore | 1 + python-pygit2.spec | 7 +++++-- sources | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 2d63b33..44d877b 100644 --- a/.gitignore +++ b/.gitignore @@ -11,3 +11,4 @@ /pygit2-0.23.3.tar.gz /pygit2-0.24.0.tar.gz /pygit2-0.24.1.tar.gz +/pygit2-0.24.2.tar.gz diff --git a/python-pygit2.spec b/python-pygit2.spec index 98721cb..9bb10d4 100644 --- a/python-pygit2.spec +++ b/python-pygit2.spec @@ -1,8 +1,8 @@ %global pkgname pygit2 Name: python-%{pkgname} -Version: 0.24.1 -Release: 2%{?dist} +Version: 0.24.2 +Release: 1%{?dist} Summary: Python bindings for libgit2 License: GPLv2 with linking exception URL: http://www.pygit2.org @@ -97,6 +97,9 @@ find %{buildroot} -name '*.so' -exec chmod 755 {} ';' %doc docs/_build/html/* %changelog +* Sat Nov 19 2016 Igor Gnatenko - 0.24.2-1 +- Update to 0.24.2 (RHBZ #1390796) + * Tue Jul 19 2016 Fedora Release Engineering - 0.24.1-2 - https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages diff --git a/sources b/sources index 194f132..cbd8d8e 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -d9915e3f8a7da65af3ea70f5bc02967d pygit2-0.24.1.tar.gz +8c3b4893f3e3ae2937101e69863146fe pygit2-0.24.2.tar.gz From 0ad30d9c28418a36e18a312a5a563bdeeb7bb8c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= Date: Mon, 19 Dec 2016 18:20:37 +0100 Subject: [PATCH 038/150] Rebuild for Python 3.6 --- python-pygit2.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/python-pygit2.spec b/python-pygit2.spec index 9bb10d4..b8d123f 100644 --- a/python-pygit2.spec +++ b/python-pygit2.spec @@ -2,7 +2,7 @@ Name: python-%{pkgname} Version: 0.24.2 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Python bindings for libgit2 License: GPLv2 with linking exception URL: http://www.pygit2.org @@ -97,6 +97,9 @@ find %{buildroot} -name '*.so' -exec chmod 755 {} ';' %doc docs/_build/html/* %changelog +* Mon Dec 19 2016 Miro Hrončok - 0.24.2-2 +- Rebuild for Python 3.6 + * Sat Nov 19 2016 Igor Gnatenko - 0.24.2-1 - Update to 0.24.2 (RHBZ #1390796) From d882a19025fe3891d207adc587b68998290f66b0 Mon Sep 17 00:00:00 2001 From: Igor Gnatenko Date: Tue, 10 Jan 2017 13:55:12 +0100 Subject: [PATCH 039/150] Update to 0.25.0 (RHBZ #1408689) Signed-off-by: Igor Gnatenko --- .gitignore | 1 + python-pygit2.spec | 9 ++++++--- sources | 2 +- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index 44d877b..6200467 100644 --- a/.gitignore +++ b/.gitignore @@ -12,3 +12,4 @@ /pygit2-0.24.0.tar.gz /pygit2-0.24.1.tar.gz /pygit2-0.24.2.tar.gz +/pygit2-0.25.0.tar.gz diff --git a/python-pygit2.spec b/python-pygit2.spec index b8d123f..d8b3b09 100644 --- a/python-pygit2.spec +++ b/python-pygit2.spec @@ -1,8 +1,8 @@ %global pkgname pygit2 Name: python-%{pkgname} -Version: 0.24.2 -Release: 2%{?dist} +Version: 0.25.0 +Release: 1%{?dist} Summary: Python bindings for libgit2 License: GPLv2 with linking exception URL: http://www.pygit2.org @@ -55,7 +55,6 @@ Python 3 version. Summary: Documentation for %{name} BuildArch: noarch BuildRequires: python-sphinx -Requires: %{name} = %{version}-%{release} %description doc Documentation for %{name}. @@ -94,9 +93,13 @@ find %{buildroot} -name '*.so' -exec chmod 755 {} ';' %{python3_sitearch}/_%{pkgname}.*.so %files doc +%license COPYING %doc docs/_build/html/* %changelog +* Tue Jan 10 2017 Igor Gnatenko - 0.25.0-1 +- Update to 0.25.0 (RHBZ #1408689) + * Mon Dec 19 2016 Miro Hrončok - 0.24.2-2 - Rebuild for Python 3.6 diff --git a/sources b/sources index cbd8d8e..709b4c0 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -8c3b4893f3e3ae2937101e69863146fe pygit2-0.24.2.tar.gz +SHA512 (pygit2-0.25.0.tar.gz) = 5619b09d3bf7aca6ccab2c29d2b220ec6942ba9190b4d52c058bcc29036ff10e20ed869c6ebc8131dccba07205699c7d567c0db538e54db64bdb058c3a0ca080 From cde38d02aa2f0de2be417aff16f7015e3f060b82 Mon Sep 17 00:00:00 2001 From: Igor Gnatenko Date: Tue, 10 Jan 2017 14:44:03 +0100 Subject: [PATCH 040/150] Revert "Update to 0.25.0 (RHBZ #1408689)" This reverts commit d882a19025fe3891d207adc587b68998290f66b0. --- .gitignore | 1 - python-pygit2.spec | 9 +++------ sources | 2 +- 3 files changed, 4 insertions(+), 8 deletions(-) diff --git a/.gitignore b/.gitignore index 6200467..44d877b 100644 --- a/.gitignore +++ b/.gitignore @@ -12,4 +12,3 @@ /pygit2-0.24.0.tar.gz /pygit2-0.24.1.tar.gz /pygit2-0.24.2.tar.gz -/pygit2-0.25.0.tar.gz diff --git a/python-pygit2.spec b/python-pygit2.spec index d8b3b09..b8d123f 100644 --- a/python-pygit2.spec +++ b/python-pygit2.spec @@ -1,8 +1,8 @@ %global pkgname pygit2 Name: python-%{pkgname} -Version: 0.25.0 -Release: 1%{?dist} +Version: 0.24.2 +Release: 2%{?dist} Summary: Python bindings for libgit2 License: GPLv2 with linking exception URL: http://www.pygit2.org @@ -55,6 +55,7 @@ Python 3 version. Summary: Documentation for %{name} BuildArch: noarch BuildRequires: python-sphinx +Requires: %{name} = %{version}-%{release} %description doc Documentation for %{name}. @@ -93,13 +94,9 @@ find %{buildroot} -name '*.so' -exec chmod 755 {} ';' %{python3_sitearch}/_%{pkgname}.*.so %files doc -%license COPYING %doc docs/_build/html/* %changelog -* Tue Jan 10 2017 Igor Gnatenko - 0.25.0-1 -- Update to 0.25.0 (RHBZ #1408689) - * Mon Dec 19 2016 Miro Hrončok - 0.24.2-2 - Rebuild for Python 3.6 diff --git a/sources b/sources index 709b4c0..cbd8d8e 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (pygit2-0.25.0.tar.gz) = 5619b09d3bf7aca6ccab2c29d2b220ec6942ba9190b4d52c058bcc29036ff10e20ed869c6ebc8131dccba07205699c7d567c0db538e54db64bdb058c3a0ca080 +8c3b4893f3e3ae2937101e69863146fe pygit2-0.24.2.tar.gz From 936564025ddce2531090c372737550b5def8c853 Mon Sep 17 00:00:00 2001 From: Igor Gnatenko Date: Tue, 10 Jan 2017 13:55:12 +0100 Subject: [PATCH 041/150] Update to 0.25.0 (RHBZ #1408689) Signed-off-by: Igor Gnatenko --- .gitignore | 1 + python-pygit2.spec | 9 ++++++--- sources | 2 +- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index 44d877b..6200467 100644 --- a/.gitignore +++ b/.gitignore @@ -12,3 +12,4 @@ /pygit2-0.24.0.tar.gz /pygit2-0.24.1.tar.gz /pygit2-0.24.2.tar.gz +/pygit2-0.25.0.tar.gz diff --git a/python-pygit2.spec b/python-pygit2.spec index b8d123f..d8b3b09 100644 --- a/python-pygit2.spec +++ b/python-pygit2.spec @@ -1,8 +1,8 @@ %global pkgname pygit2 Name: python-%{pkgname} -Version: 0.24.2 -Release: 2%{?dist} +Version: 0.25.0 +Release: 1%{?dist} Summary: Python bindings for libgit2 License: GPLv2 with linking exception URL: http://www.pygit2.org @@ -55,7 +55,6 @@ Python 3 version. Summary: Documentation for %{name} BuildArch: noarch BuildRequires: python-sphinx -Requires: %{name} = %{version}-%{release} %description doc Documentation for %{name}. @@ -94,9 +93,13 @@ find %{buildroot} -name '*.so' -exec chmod 755 {} ';' %{python3_sitearch}/_%{pkgname}.*.so %files doc +%license COPYING %doc docs/_build/html/* %changelog +* Tue Jan 10 2017 Igor Gnatenko - 0.25.0-1 +- Update to 0.25.0 (RHBZ #1408689) + * Mon Dec 19 2016 Miro Hrončok - 0.24.2-2 - Rebuild for Python 3.6 diff --git a/sources b/sources index cbd8d8e..709b4c0 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -8c3b4893f3e3ae2937101e69863146fe pygit2-0.24.2.tar.gz +SHA512 (pygit2-0.25.0.tar.gz) = 5619b09d3bf7aca6ccab2c29d2b220ec6942ba9190b4d52c058bcc29036ff10e20ed869c6ebc8131dccba07205699c7d567c0db538e54db64bdb058c3a0ca080 From 32182290d6836ad8af613eb6412f6c68ab82e119 Mon Sep 17 00:00:00 2001 From: Igor Gnatenko Date: Tue, 7 Feb 2017 16:56:44 +0100 Subject: [PATCH 042/150] Bump release for rebuild Signed-off-by: Igor Gnatenko --- python-pygit2.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/python-pygit2.spec b/python-pygit2.spec index d8b3b09..bc5ab3e 100644 --- a/python-pygit2.spec +++ b/python-pygit2.spec @@ -2,7 +2,7 @@ Name: python-%{pkgname} Version: 0.25.0 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Python bindings for libgit2 License: GPLv2 with linking exception URL: http://www.pygit2.org @@ -97,6 +97,9 @@ find %{buildroot} -name '*.so' -exec chmod 755 {} ';' %doc docs/_build/html/* %changelog +* Tue Feb 07 2017 Igor Gnatenko - 0.25.0-2 +- Bump release for rebuild + * Tue Jan 10 2017 Igor Gnatenko - 0.25.0-1 - Update to 0.25.0 (RHBZ #1408689) From c48577da5c277f5ab856153581af1ed621f2a913 Mon Sep 17 00:00:00 2001 From: Pete Walter Date: Mon, 10 Apr 2017 22:01:47 +0100 Subject: [PATCH 043/150] Trivial spec file fixes --- python-pygit2.spec | 27 +++++++++++++++++++++------ 1 file changed, 21 insertions(+), 6 deletions(-) diff --git a/python-pygit2.spec b/python-pygit2.spec index bc5ab3e..b92e1c1 100644 --- a/python-pygit2.spec +++ b/python-pygit2.spec @@ -2,8 +2,9 @@ Name: python-%{pkgname} Version: 0.25.0 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Python bindings for libgit2 + License: GPLv2 with linking exception URL: http://www.pygit2.org Source0: https://github.com/libgit2/%{pkgname}/archive/v%{version}/%{pkgname}-%{version}.tar.gz @@ -14,43 +15,46 @@ BuildRequires: libgit2-devel BuildRequires: openssl-devel %description -pygit2 is a set of Python bindings to the libgit2 library, which implements +pygit2 is a set of Python bindings to the libgit2 library, which implements the core of Git. + %package -n python2-%{pkgname} Summary: Python 2.x bindings for libgit2 %{?python_provide:%python_provide python2-%{pkgname}} BuildRequires: python2-cffi BuildRequires: python2-devel -BuildRequires: python2-setuptools BuildRequires: python2-nose +BuildRequires: python2-setuptools BuildRequires: python2-six Requires: python2-cffi Requires: python2-six %description -n python2-%{pkgname} -pygit2 is a set of Python bindings to the libgit2 library, which implements +pygit2 is a set of Python bindings to the libgit2 library, which implements the core of Git. Python 2 version. + %package -n python3-%{pkgname} Summary: Python 3.x bindings for libgit2 %{?python_provide:%python_provide python3-%{pkgname}} BuildRequires: python3-cffi BuildRequires: python3-devel -BuildRequires: python3-setuptools BuildRequires: python3-nose +BuildRequires: python3-setuptools BuildRequires: python3-six Requires: python3-cffi Requires: python3-six %description -n python3-%{pkgname} -pygit2 is a set of Python bindings to the libgit2 library, which implements +pygit2 is a set of Python bindings to the libgit2 library, which implements the core of Git. Python 3 version. + %package doc Summary: Documentation for %{name} BuildArch: noarch @@ -59,25 +63,32 @@ BuildRequires: python-sphinx %description doc Documentation for %{name}. + %prep %autosetup -n %{pkgname}-%{version} -p1 + %build %py2_build make -C docs html %py3_build + %install %py2_install %py3_install + find %{_builddir} -name '.buildinfo' -delete + # Correct the permissions. find %{buildroot} -name '*.so' -exec chmod 755 {} ';' + %check %{__python2} setup.py test %{__python3} setup.py test + %files -n python2-%{pkgname} %doc README.rst TODO.txt %license COPYING @@ -96,7 +107,11 @@ find %{buildroot} -name '*.so' -exec chmod 755 {} ';' %license COPYING %doc docs/_build/html/* + %changelog +* Mon Apr 10 2017 Pete Walter - 0.25.0-3 +- Trivial spec file fixes + * Tue Feb 07 2017 Igor Gnatenko - 0.25.0-2 - Bump release for rebuild From 1ec0be87c7b2652331fff214b8354a8a11ec35a8 Mon Sep 17 00:00:00 2001 From: Pete Walter Date: Mon, 10 Apr 2017 22:39:59 +0100 Subject: [PATCH 044/150] Add Python 3 conditionals --- python-pygit2.spec | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/python-pygit2.spec b/python-pygit2.spec index b92e1c1..9d485cf 100644 --- a/python-pygit2.spec +++ b/python-pygit2.spec @@ -1,3 +1,7 @@ +%if 0%{?fedora} +%global with_python3 1 +%endif + %global pkgname pygit2 Name: python-%{pkgname} @@ -37,6 +41,7 @@ the core of Git. Python 2 version. +%if 0%{?with_python3} %package -n python3-%{pkgname} Summary: Python 3.x bindings for libgit2 %{?python_provide:%python_provide python3-%{pkgname}} @@ -53,6 +58,7 @@ pygit2 is a set of Python bindings to the libgit2 library, which implements the core of Git. Python 3 version. +%endif %package doc @@ -71,12 +77,18 @@ Documentation for %{name}. %build %py2_build make -C docs html + +%if 0%{?with_python3} %py3_build +%endif %install %py2_install + +%if 0%{?with_python3} %py3_install +%endif find %{_builddir} -name '.buildinfo' -delete @@ -86,7 +98,10 @@ find %{buildroot} -name '*.so' -exec chmod 755 {} ';' %check %{__python2} setup.py test + +%if 0%{?with_python3} %{__python3} setup.py test +%endif %files -n python2-%{pkgname} @@ -96,12 +111,14 @@ find %{buildroot} -name '*.so' -exec chmod 755 {} ';' %{python2_sitearch}/%{pkgname} %{python2_sitearch}/_%{pkgname}.so +%if 0%{?with_python3} %files -n python3-%{pkgname} %doc README.rst TODO.txt %license COPYING %{python3_sitearch}/%{pkgname}-%{version}-py%{python3_version}.egg-info %{python3_sitearch}/%{pkgname} %{python3_sitearch}/_%{pkgname}.*.so +%endif %files doc %license COPYING @@ -111,6 +128,7 @@ find %{buildroot} -name '*.so' -exec chmod 755 {} ';' %changelog * Mon Apr 10 2017 Pete Walter - 0.25.0-3 - Trivial spec file fixes +- Add Python 3 conditionals * Tue Feb 07 2017 Igor Gnatenko - 0.25.0-2 - Bump release for rebuild From 2053d83652ab191142ed22e645c72cd241415009 Mon Sep 17 00:00:00 2001 From: Igor Gnatenko Date: Wed, 26 Apr 2017 08:09:23 +0200 Subject: [PATCH 045/150] Update to 0.25.1 Signed-off-by: Igor Gnatenko --- .gitignore | 1 + python-pygit2.spec | 53 ++++++++++++++++++++-------------------------- sources | 2 +- 3 files changed, 25 insertions(+), 31 deletions(-) diff --git a/.gitignore b/.gitignore index 6200467..70309d6 100644 --- a/.gitignore +++ b/.gitignore @@ -13,3 +13,4 @@ /pygit2-0.24.1.tar.gz /pygit2-0.24.2.tar.gz /pygit2-0.25.0.tar.gz +/pygit2-0.25.1.tar.gz diff --git a/python-pygit2.spec b/python-pygit2.spec index 9d485cf..2660d2f 100644 --- a/python-pygit2.spec +++ b/python-pygit2.spec @@ -1,12 +1,14 @@ -%if 0%{?fedora} -%global with_python3 1 -%endif - %global pkgname pygit2 +%if 0%{?rhel} && 0%{?rhel} < 7 +%bcond_with python3 +%else +%bcond_without python3 +%endif + Name: python-%{pkgname} -Version: 0.25.0 -Release: 3%{?dist} +Version: 0.25.1 +Release: 1%{?dist} Summary: Python bindings for libgit2 License: GPLv2 with linking exception @@ -22,14 +24,13 @@ BuildRequires: openssl-devel pygit2 is a set of Python bindings to the libgit2 library, which implements the core of Git. - %package -n python2-%{pkgname} Summary: Python 2.x bindings for libgit2 %{?python_provide:%python_provide python2-%{pkgname}} BuildRequires: python2-cffi BuildRequires: python2-devel -BuildRequires: python2-nose BuildRequires: python2-setuptools +BuildRequires: python2-nose BuildRequires: python2-six Requires: python2-cffi Requires: python2-six @@ -40,15 +41,14 @@ the core of Git. Python 2 version. - -%if 0%{?with_python3} +%if %{with python3} %package -n python3-%{pkgname} Summary: Python 3.x bindings for libgit2 %{?python_provide:%python_provide python3-%{pkgname}} BuildRequires: python3-cffi BuildRequires: python3-devel -BuildRequires: python3-nose BuildRequires: python3-setuptools +BuildRequires: python3-nose BuildRequires: python3-six Requires: python3-cffi Requires: python3-six @@ -60,7 +60,6 @@ the core of Git. Python 3 version. %endif - %package doc Summary: Documentation for %{name} BuildArch: noarch @@ -69,24 +68,19 @@ BuildRequires: python-sphinx %description doc Documentation for %{name}. - %prep %autosetup -n %{pkgname}-%{version} -p1 - %build %py2_build -make -C docs html - -%if 0%{?with_python3} +%if %{with python3} %py3_build %endif - +make -C docs html %install %py2_install - -%if 0%{?with_python3} +%if %{with python3} %py3_install %endif @@ -95,28 +89,25 @@ find %{_builddir} -name '.buildinfo' -delete # Correct the permissions. find %{buildroot} -name '*.so' -exec chmod 755 {} ';' - %check %{__python2} setup.py test - -%if 0%{?with_python3} +%if %{with python3} %{__python3} setup.py test %endif - %files -n python2-%{pkgname} %doc README.rst TODO.txt %license COPYING -%{python2_sitearch}/%{pkgname}-%{version}-py%{python2_version}.egg-info -%{python2_sitearch}/%{pkgname} +%{python2_sitearch}/%{pkgname}-*.egg-info/ +%{python2_sitearch}/%{pkgname}/ %{python2_sitearch}/_%{pkgname}.so -%if 0%{?with_python3} +%if %{with python3} %files -n python3-%{pkgname} %doc README.rst TODO.txt %license COPYING -%{python3_sitearch}/%{pkgname}-%{version}-py%{python3_version}.egg-info -%{python3_sitearch}/%{pkgname} +%{python3_sitearch}/%{pkgname}-*.egg-info/ +%{python3_sitearch}/%{pkgname}/ %{python3_sitearch}/_%{pkgname}.*.so %endif @@ -124,8 +115,10 @@ find %{buildroot} -name '*.so' -exec chmod 755 {} ';' %license COPYING %doc docs/_build/html/* - %changelog +* Wed Apr 26 2017 Igor Gnatenko - 0.25.1-1 +- Update to 0.25.1 + * Mon Apr 10 2017 Pete Walter - 0.25.0-3 - Trivial spec file fixes - Add Python 3 conditionals diff --git a/sources b/sources index 709b4c0..805a33e 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (pygit2-0.25.0.tar.gz) = 5619b09d3bf7aca6ccab2c29d2b220ec6942ba9190b4d52c058bcc29036ff10e20ed869c6ebc8131dccba07205699c7d567c0db538e54db64bdb058c3a0ca080 +SHA512 (pygit2-0.25.1.tar.gz) = bb98786ee10d00822a9d61617052ee58dbd2ea5285a30cb13ea1c0ada5827ce11a66368f70ae2201c817f93fbbc596a781b74421b09735fbeaeb1a05f5bd5d4d From 962c2527d50757a51265ca6687d462ed48e76495 Mon Sep 17 00:00:00 2001 From: Pete Walter Date: Thu, 27 Apr 2017 14:34:00 +0100 Subject: [PATCH 046/150] Update to 0.25.1 --- .gitignore | 1 + python-pygit2.spec | 7 +++++-- sources | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 6200467..70309d6 100644 --- a/.gitignore +++ b/.gitignore @@ -13,3 +13,4 @@ /pygit2-0.24.1.tar.gz /pygit2-0.24.2.tar.gz /pygit2-0.25.0.tar.gz +/pygit2-0.25.1.tar.gz diff --git a/python-pygit2.spec b/python-pygit2.spec index 9d485cf..3a94fad 100644 --- a/python-pygit2.spec +++ b/python-pygit2.spec @@ -5,8 +5,8 @@ %global pkgname pygit2 Name: python-%{pkgname} -Version: 0.25.0 -Release: 3%{?dist} +Version: 0.25.1 +Release: 1%{?dist} Summary: Python bindings for libgit2 License: GPLv2 with linking exception @@ -126,6 +126,9 @@ find %{buildroot} -name '*.so' -exec chmod 755 {} ';' %changelog +* Thu Apr 27 2017 Pete Walter - 0.25.1-1 +- Update to 0.25.1 + * Mon Apr 10 2017 Pete Walter - 0.25.0-3 - Trivial spec file fixes - Add Python 3 conditionals diff --git a/sources b/sources index 709b4c0..805a33e 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (pygit2-0.25.0.tar.gz) = 5619b09d3bf7aca6ccab2c29d2b220ec6942ba9190b4d52c058bcc29036ff10e20ed869c6ebc8131dccba07205699c7d567c0db538e54db64bdb058c3a0ca080 +SHA512 (pygit2-0.25.1.tar.gz) = bb98786ee10d00822a9d61617052ee58dbd2ea5285a30cb13ea1c0ada5827ce11a66368f70ae2201c817f93fbbc596a781b74421b09735fbeaeb1a05f5bd5d4d From 724078a63cba272f2ddc2c46980cbebfa298369b Mon Sep 17 00:00:00 2001 From: Pete Walter Date: Thu, 27 Apr 2017 14:57:56 +0100 Subject: [PATCH 047/150] Disable one more failing test that tries to do network access --- 0001-Remove-remote-calling-unit-tests.patch | 58 ++++++++++++++++++--- python-pygit2.spec | 1 + 2 files changed, 53 insertions(+), 6 deletions(-) diff --git a/0001-Remove-remote-calling-unit-tests.patch b/0001-Remove-remote-calling-unit-tests.patch index 131fee7..4b31d2c 100644 --- a/0001-Remove-remote-calling-unit-tests.patch +++ b/0001-Remove-remote-calling-unit-tests.patch @@ -1,4 +1,4 @@ -From f1f5d489da6c0a710563d517b11c116ea41d90ec Mon Sep 17 00:00:00 2001 +From a36d3bebba08471caafe3e976a74afd040e90480 Mon Sep 17 00:00:00 2001 From: Mathieu Bridon Date: Wed, 21 Jan 2015 09:33:46 +0100 Subject: [PATCH] Remove remote-calling unit tests @@ -8,10 +8,11 @@ the Internet. --- test/test_credentials.py | 21 --------------------- test/test_repository.py | 7 ------- - 2 files changed, 28 deletions(-) + test/test_submodule.py | 28 ---------------------------- + 3 files changed, 56 deletions(-) diff --git a/test/test_credentials.py b/test/test_credentials.py -index 92482d9..36263c0 100644 +index ff014c6..019f420 100644 --- a/test/test_credentials.py +++ b/test/test_credentials.py @@ -81,26 +81,5 @@ class CredentialCallback(utils.RepoTestCase): @@ -42,10 +43,10 @@ index 92482d9..36263c0 100644 if __name__ == '__main__': unittest.main() diff --git a/test/test_repository.py b/test/test_repository.py -index 5590ea2..a2f16ca 100644 +index 0969fc0..033a1de 100644 --- a/test/test_repository.py +++ b/test/test_repository.py -@@ -527,13 +527,6 @@ class CloneRepositoryTest(utils.NoRepoTestCase): +@@ -551,13 +551,6 @@ class CloneRepositoryTest(utils.NoRepoTestCase): self.assertTrue('refs/remotes/custom_remote/master' in repo.listall_references()) self.assertIsNotNone(repo.remotes["custom_remote"]) @@ -59,6 +60,51 @@ index 5590ea2..a2f16ca 100644 def test_clone_with_checkout_branch(self): # create a test case which isolates the remote test_repo = clone_repository('./test/data/testrepo.git', +diff --git a/test/test_submodule.py b/test/test_submodule.py +index f123b8b..a42736a 100644 +--- a/test/test_submodule.py ++++ b/test/test_submodule.py +@@ -53,14 +53,6 @@ class SubmoduleTest(utils.SubmoduleRepoTestCase): + self.assertEqual(len(submodules), 1) + self.assertEqual(submodules[0], SUBM_PATH) + +- def test_submodule_open(self): +- s = self.repo.lookup_submodule(SUBM_PATH) +- self.repo.init_submodules() +- self.repo.update_submodules() +- r = s.open() +- self.assertIsNotNone(r) +- self.assertEqual(str(r.head.target), SUBM_HEAD_SHA) +- + def test_name(self): + s = self.repo.lookup_submodule(SUBM_PATH) + self.assertEqual(SUBM_NAME, s.name) +@@ -73,25 +65,5 @@ class SubmoduleTest(utils.SubmoduleRepoTestCase): + s = self.repo.lookup_submodule(SUBM_PATH) + self.assertEqual(SUBM_URL, s.url) + +- def test_init_and_update(self): +- subrepo_file_path = os.path.join(self.repo_path, 'submodule', 'setup.py') +- self.assertFalse(os.path.exists(subrepo_file_path)) +- self.repo.init_submodules() +- self.repo.update_submodules() +- self.assertTrue(os.path.exists(subrepo_file_path)) +- +- def test_specified_update(self): +- subrepo_file_path = os.path.join(self.repo_path, 'submodule', 'setup.py') +- self.assertFalse(os.path.exists(subrepo_file_path)) +- self.repo.init_submodules(submodules=['submodule']) +- self.repo.update_submodules(submodules=['submodule']) +- self.assertTrue(os.path.exists(subrepo_file_path)) +- +- def test_oneshot_update(self): +- subrepo_file_path = os.path.join(self.repo_path, 'submodule', 'setup.py') +- self.assertFalse(os.path.exists(subrepo_file_path)) +- self.repo.update_submodules(init=True) +- self.assertTrue(os.path.exists(subrepo_file_path)) +- + if __name__ == '__main__': + unittest.main() -- -2.9.0 +2.12.2 diff --git a/python-pygit2.spec b/python-pygit2.spec index 3a94fad..191228b 100644 --- a/python-pygit2.spec +++ b/python-pygit2.spec @@ -128,6 +128,7 @@ find %{buildroot} -name '*.so' -exec chmod 755 {} ';' %changelog * Thu Apr 27 2017 Pete Walter - 0.25.1-1 - Update to 0.25.1 +- Disable one more failing test that tries to do network access * Mon Apr 10 2017 Pete Walter - 0.25.0-3 - Trivial spec file fixes From b22a8ee1a5fc9c20c2fe5193dace1f227fe5d660 Mon Sep 17 00:00:00 2001 From: Pete Walter Date: Sun, 7 May 2017 18:30:00 +0100 Subject: [PATCH 048/150] Fix the build with cffi 1.10 --- ...rameter-passing-of-describe-patterns.patch | 71 +++++++++++++++++++ python-pygit2.spec | 9 ++- 2 files changed, 78 insertions(+), 2 deletions(-) create mode 100644 0001-Fix-parameter-passing-of-describe-patterns.patch diff --git a/0001-Fix-parameter-passing-of-describe-patterns.patch b/0001-Fix-parameter-passing-of-describe-patterns.patch new file mode 100644 index 0000000..063fe09 --- /dev/null +++ b/0001-Fix-parameter-passing-of-describe-patterns.patch @@ -0,0 +1,71 @@ +From b88dc868423af2f760f649960112efd0e37e5335 Mon Sep 17 00:00:00 2001 +From: Lukas Fleischer +Date: Sat, 6 May 2017 21:39:33 +0200 +Subject: [PATCH] Fix parameter passing of describe patterns + +When ffi.new() is used to build a new pointer object, the returned +pointer object has ownership on the allocated memory. When it is +garbage-collected, then the memory is freed. Thus, we need to make sure +the original object survives its use, otherwise the casted pointer will +point to garbage. + +This fixes one test which was failing with the latest CFFI version, see +issue #694. Thus, this commit also reverts 803b1cb (cffi 1.10 not yet +supported, 2017-03-22) where the latest CFFI version was marked as +unsupported. + +Signed-off-by: Lukas Fleischer +--- + .travis.yml | 2 +- + pygit2/repository.py | 6 +++++- + setup.py | 4 ++-- + 3 files changed, 8 insertions(+), 4 deletions(-) + +diff --git a/.travis.yml b/.travis.yml +index 22aadd5..72f8f1b 100644 +--- a/.travis.yml ++++ b/.travis.yml +@@ -14,7 +14,7 @@ env: LIBGIT2=~/libgit2/_install/ LD_LIBRARY_PATH=~/libgit2/_install/lib + + before_install: + - sudo apt-get install cmake +- - pip install cffi==1.9.1 ++ - pip install cffi + - "./.travis.sh" + + script: +diff --git a/pygit2/repository.py b/pygit2/repository.py +index 9377aa2..472f4ff 100644 +--- a/pygit2/repository.py ++++ b/pygit2/repository.py +@@ -692,7 +692,11 @@ class BaseRepository(_Repository): + if describe_strategy is not None: + options.describe_strategy = describe_strategy + if pattern: +- options.pattern = ffi.new('char[]', to_bytes(pattern)) ++ # The returned pointer object has ownership on the allocated ++ # memory. Make sure it is kept alive until git_describe_commit() or ++ # git_describe_workdir() are called below. ++ pattern_char = ffi.new('char[]', to_bytes(pattern)) ++ options.pattern = pattern_char + if only_follow_first_parent is not None: + options.only_follow_first_parent = only_follow_first_parent + if show_commit_oid_as_fallback is not None: +diff --git a/setup.py b/setup.py +index f4a9f8c..18d3eb0 100644 +--- a/setup.py ++++ b/setup.py +@@ -203,8 +203,8 @@ setup(name='pygit2', + long_description=long_description, + packages=['pygit2'], + package_data={'pygit2': ['decl.h']}, +- setup_requires=['cffi<1.10'], +- install_requires=['cffi<1.10', 'six'], ++ setup_requires=['cffi'], ++ install_requires=['cffi', 'six'], + zip_safe=False, + cmdclass=cmdclass, + **extra_args) +-- +2.12.2 + diff --git a/python-pygit2.spec b/python-pygit2.spec index 191228b..ffc129b 100644 --- a/python-pygit2.spec +++ b/python-pygit2.spec @@ -6,14 +6,16 @@ Name: python-%{pkgname} Version: 0.25.1 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Python bindings for libgit2 License: GPLv2 with linking exception URL: http://www.pygit2.org Source0: https://github.com/libgit2/%{pkgname}/archive/v%{version}/%{pkgname}-%{version}.tar.gz -Patch0001: 0001-Remove-remote-calling-unit-tests.patch +Patch0: 0001-Remove-remote-calling-unit-tests.patch +# Fix the build with cffi 1.10. Backported from upstream. +Patch1: 0001-Fix-parameter-passing-of-describe-patterns.patch BuildRequires: libgit2-devel BuildRequires: openssl-devel @@ -126,6 +128,9 @@ find %{buildroot} -name '*.so' -exec chmod 755 {} ';' %changelog +* Sun May 07 2017 Pete Walter - 0.25.1-2 +- Fix the build with cffi 1.10 + * Thu Apr 27 2017 Pete Walter - 0.25.1-1 - Update to 0.25.1 - Disable one more failing test that tries to do network access From 75eb6da501a8097f24d2a6a811fa438d249be2d9 Mon Sep 17 00:00:00 2001 From: Igor Gnatenko Date: Sat, 8 Jul 2017 18:37:16 +0200 Subject: [PATCH 049/150] remove wrong python3 conditionals %if 0%{?fedora} is just wrong. Signed-off-by: Igor Gnatenko --- python-pygit2.spec | 26 -------------------------- 1 file changed, 26 deletions(-) diff --git a/python-pygit2.spec b/python-pygit2.spec index ffc129b..90423b3 100644 --- a/python-pygit2.spec +++ b/python-pygit2.spec @@ -1,7 +1,3 @@ -%if 0%{?fedora} -%global with_python3 1 -%endif - %global pkgname pygit2 Name: python-%{pkgname} @@ -24,7 +20,6 @@ BuildRequires: openssl-devel pygit2 is a set of Python bindings to the libgit2 library, which implements the core of Git. - %package -n python2-%{pkgname} Summary: Python 2.x bindings for libgit2 %{?python_provide:%python_provide python2-%{pkgname}} @@ -42,8 +37,6 @@ the core of Git. Python 2 version. - -%if 0%{?with_python3} %package -n python3-%{pkgname} Summary: Python 3.x bindings for libgit2 %{?python_provide:%python_provide python3-%{pkgname}} @@ -60,8 +53,6 @@ pygit2 is a set of Python bindings to the libgit2 library, which implements the core of Git. Python 3 version. -%endif - %package doc Summary: Documentation for %{name} @@ -71,40 +62,26 @@ BuildRequires: python-sphinx %description doc Documentation for %{name}. - %prep %autosetup -n %{pkgname}-%{version} -p1 - %build %py2_build make -C docs html - -%if 0%{?with_python3} %py3_build -%endif - %install %py2_install - -%if 0%{?with_python3} %py3_install -%endif find %{_builddir} -name '.buildinfo' -delete # Correct the permissions. find %{buildroot} -name '*.so' -exec chmod 755 {} ';' - %check %{__python2} setup.py test - -%if 0%{?with_python3} %{__python3} setup.py test -%endif - %files -n python2-%{pkgname} %doc README.rst TODO.txt @@ -113,20 +90,17 @@ find %{buildroot} -name '*.so' -exec chmod 755 {} ';' %{python2_sitearch}/%{pkgname} %{python2_sitearch}/_%{pkgname}.so -%if 0%{?with_python3} %files -n python3-%{pkgname} %doc README.rst TODO.txt %license COPYING %{python3_sitearch}/%{pkgname}-%{version}-py%{python3_version}.egg-info %{python3_sitearch}/%{pkgname} %{python3_sitearch}/_%{pkgname}.*.so -%endif %files doc %license COPYING %doc docs/_build/html/* - %changelog * Sun May 07 2017 Pete Walter - 0.25.1-2 - Fix the build with cffi 1.10 From a481a7e2511cb03a9071290c0e2e86a625e0cf14 Mon Sep 17 00:00:00 2001 From: Igor Gnatenko Date: Sat, 8 Jul 2017 18:38:46 +0200 Subject: [PATCH 050/150] Update to 0.26.0 Signed-off-by: Igor Gnatenko --- .gitignore | 1 + ...rameter-passing-of-describe-patterns.patch | 71 ------------------- python-pygit2.spec | 9 +-- sources | 2 +- 4 files changed, 7 insertions(+), 76 deletions(-) delete mode 100644 0001-Fix-parameter-passing-of-describe-patterns.patch diff --git a/.gitignore b/.gitignore index 70309d6..483ea48 100644 --- a/.gitignore +++ b/.gitignore @@ -14,3 +14,4 @@ /pygit2-0.24.2.tar.gz /pygit2-0.25.0.tar.gz /pygit2-0.25.1.tar.gz +/pygit2-0.26.0.tar.gz diff --git a/0001-Fix-parameter-passing-of-describe-patterns.patch b/0001-Fix-parameter-passing-of-describe-patterns.patch deleted file mode 100644 index 063fe09..0000000 --- a/0001-Fix-parameter-passing-of-describe-patterns.patch +++ /dev/null @@ -1,71 +0,0 @@ -From b88dc868423af2f760f649960112efd0e37e5335 Mon Sep 17 00:00:00 2001 -From: Lukas Fleischer -Date: Sat, 6 May 2017 21:39:33 +0200 -Subject: [PATCH] Fix parameter passing of describe patterns - -When ffi.new() is used to build a new pointer object, the returned -pointer object has ownership on the allocated memory. When it is -garbage-collected, then the memory is freed. Thus, we need to make sure -the original object survives its use, otherwise the casted pointer will -point to garbage. - -This fixes one test which was failing with the latest CFFI version, see -issue #694. Thus, this commit also reverts 803b1cb (cffi 1.10 not yet -supported, 2017-03-22) where the latest CFFI version was marked as -unsupported. - -Signed-off-by: Lukas Fleischer ---- - .travis.yml | 2 +- - pygit2/repository.py | 6 +++++- - setup.py | 4 ++-- - 3 files changed, 8 insertions(+), 4 deletions(-) - -diff --git a/.travis.yml b/.travis.yml -index 22aadd5..72f8f1b 100644 ---- a/.travis.yml -+++ b/.travis.yml -@@ -14,7 +14,7 @@ env: LIBGIT2=~/libgit2/_install/ LD_LIBRARY_PATH=~/libgit2/_install/lib - - before_install: - - sudo apt-get install cmake -- - pip install cffi==1.9.1 -+ - pip install cffi - - "./.travis.sh" - - script: -diff --git a/pygit2/repository.py b/pygit2/repository.py -index 9377aa2..472f4ff 100644 ---- a/pygit2/repository.py -+++ b/pygit2/repository.py -@@ -692,7 +692,11 @@ class BaseRepository(_Repository): - if describe_strategy is not None: - options.describe_strategy = describe_strategy - if pattern: -- options.pattern = ffi.new('char[]', to_bytes(pattern)) -+ # The returned pointer object has ownership on the allocated -+ # memory. Make sure it is kept alive until git_describe_commit() or -+ # git_describe_workdir() are called below. -+ pattern_char = ffi.new('char[]', to_bytes(pattern)) -+ options.pattern = pattern_char - if only_follow_first_parent is not None: - options.only_follow_first_parent = only_follow_first_parent - if show_commit_oid_as_fallback is not None: -diff --git a/setup.py b/setup.py -index f4a9f8c..18d3eb0 100644 ---- a/setup.py -+++ b/setup.py -@@ -203,8 +203,8 @@ setup(name='pygit2', - long_description=long_description, - packages=['pygit2'], - package_data={'pygit2': ['decl.h']}, -- setup_requires=['cffi<1.10'], -- install_requires=['cffi<1.10', 'six'], -+ setup_requires=['cffi'], -+ install_requires=['cffi', 'six'], - zip_safe=False, - cmdclass=cmdclass, - **extra_args) --- -2.12.2 - diff --git a/python-pygit2.spec b/python-pygit2.spec index 90423b3..f3af9e7 100644 --- a/python-pygit2.spec +++ b/python-pygit2.spec @@ -1,8 +1,8 @@ %global pkgname pygit2 Name: python-%{pkgname} -Version: 0.25.1 -Release: 2%{?dist} +Version: 0.26.0 +Release: 1%{?dist} Summary: Python bindings for libgit2 License: GPLv2 with linking exception @@ -10,8 +10,6 @@ URL: http://www.pygit2.org Source0: https://github.com/libgit2/%{pkgname}/archive/v%{version}/%{pkgname}-%{version}.tar.gz Patch0: 0001-Remove-remote-calling-unit-tests.patch -# Fix the build with cffi 1.10. Backported from upstream. -Patch1: 0001-Fix-parameter-passing-of-describe-patterns.patch BuildRequires: libgit2-devel BuildRequires: openssl-devel @@ -102,6 +100,9 @@ find %{buildroot} -name '*.so' -exec chmod 755 {} ';' %doc docs/_build/html/* %changelog +* Sat Jul 08 2017 Igor Gnatenko - 0.26.0-1 +- Update to 0.26.0 + * Sun May 07 2017 Pete Walter - 0.25.1-2 - Fix the build with cffi 1.10 diff --git a/sources b/sources index 805a33e..566d3e4 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (pygit2-0.25.1.tar.gz) = bb98786ee10d00822a9d61617052ee58dbd2ea5285a30cb13ea1c0ada5827ce11a66368f70ae2201c817f93fbbc596a781b74421b09735fbeaeb1a05f5bd5d4d +SHA512 (pygit2-0.26.0.tar.gz) = 97807c2128212b64c0f3482d50676e1ea2424c8e049d9904e547079df84e999ce3e29c7f512bf71b4e6fa5ff62965ac7fc0a34193c17f0b6b72d083102b236cf From 5864c3bf161e915d465a7ce38cff7ce3b20e5ef6 Mon Sep 17 00:00:00 2001 From: Pete Walter Date: Sat, 8 Jul 2017 18:18:50 +0100 Subject: [PATCH 051/150] Revert "remove wrong python3 conditionals" The conditionals are needed for EPEL. This reverts commit 75eb6da501a8097f24d2a6a811fa438d249be2d9. --- python-pygit2.spec | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/python-pygit2.spec b/python-pygit2.spec index f3af9e7..6346d5a 100644 --- a/python-pygit2.spec +++ b/python-pygit2.spec @@ -1,3 +1,7 @@ +%if 0%{?fedora} +%global with_python3 1 +%endif + %global pkgname pygit2 Name: python-%{pkgname} @@ -18,6 +22,7 @@ BuildRequires: openssl-devel pygit2 is a set of Python bindings to the libgit2 library, which implements the core of Git. + %package -n python2-%{pkgname} Summary: Python 2.x bindings for libgit2 %{?python_provide:%python_provide python2-%{pkgname}} @@ -35,6 +40,8 @@ the core of Git. Python 2 version. + +%if 0%{?with_python3} %package -n python3-%{pkgname} Summary: Python 3.x bindings for libgit2 %{?python_provide:%python_provide python3-%{pkgname}} @@ -51,6 +58,8 @@ pygit2 is a set of Python bindings to the libgit2 library, which implements the core of Git. Python 3 version. +%endif + %package doc Summary: Documentation for %{name} @@ -60,26 +69,40 @@ BuildRequires: python-sphinx %description doc Documentation for %{name}. + %prep %autosetup -n %{pkgname}-%{version} -p1 + %build %py2_build make -C docs html + +%if 0%{?with_python3} %py3_build +%endif + %install %py2_install + +%if 0%{?with_python3} %py3_install +%endif find %{_builddir} -name '.buildinfo' -delete # Correct the permissions. find %{buildroot} -name '*.so' -exec chmod 755 {} ';' + %check %{__python2} setup.py test + +%if 0%{?with_python3} %{__python3} setup.py test +%endif + %files -n python2-%{pkgname} %doc README.rst TODO.txt @@ -88,17 +111,20 @@ find %{buildroot} -name '*.so' -exec chmod 755 {} ';' %{python2_sitearch}/%{pkgname} %{python2_sitearch}/_%{pkgname}.so +%if 0%{?with_python3} %files -n python3-%{pkgname} %doc README.rst TODO.txt %license COPYING %{python3_sitearch}/%{pkgname}-%{version}-py%{python3_version}.egg-info %{python3_sitearch}/%{pkgname} %{python3_sitearch}/_%{pkgname}.*.so +%endif %files doc %license COPYING %doc docs/_build/html/* + %changelog * Sat Jul 08 2017 Igor Gnatenko - 0.26.0-1 - Update to 0.26.0 From 382931b4ebd09742b267d788ba4c71add1e936dc Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 27 Jul 2017 11:26:47 +0000 Subject: [PATCH 052/150] - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild --- python-pygit2.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/python-pygit2.spec b/python-pygit2.spec index 6346d5a..0f74fd1 100644 --- a/python-pygit2.spec +++ b/python-pygit2.spec @@ -6,7 +6,7 @@ Name: python-%{pkgname} Version: 0.26.0 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Python bindings for libgit2 License: GPLv2 with linking exception @@ -126,6 +126,9 @@ find %{buildroot} -name '*.so' -exec chmod 755 {} ';' %changelog +* Thu Jul 27 2017 Fedora Release Engineering - 0.26.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + * Sat Jul 08 2017 Igor Gnatenko - 0.26.0-1 - Update to 0.26.0 From ce9cb4cbe6e619f114150bf95ba40df806997660 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 3 Aug 2017 06:54:51 +0000 Subject: [PATCH 053/150] - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild --- python-pygit2.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/python-pygit2.spec b/python-pygit2.spec index 0f74fd1..9bf0b02 100644 --- a/python-pygit2.spec +++ b/python-pygit2.spec @@ -6,7 +6,7 @@ Name: python-%{pkgname} Version: 0.26.0 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Python bindings for libgit2 License: GPLv2 with linking exception @@ -126,6 +126,9 @@ find %{buildroot} -name '*.so' -exec chmod 755 {} ';' %changelog +* Thu Aug 03 2017 Fedora Release Engineering - 0.26.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + * Thu Jul 27 2017 Fedora Release Engineering - 0.26.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild From f9616e2dbab052181ed9d2ef5a5bc11fc474f62b Mon Sep 17 00:00:00 2001 From: Pete Walter Date: Mon, 20 Nov 2017 07:12:47 +0000 Subject: [PATCH 054/150] Update to 0.26.1 --- .gitignore | 1 + python-pygit2.spec | 7 +++++-- sources | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 483ea48..667436c 100644 --- a/.gitignore +++ b/.gitignore @@ -15,3 +15,4 @@ /pygit2-0.25.0.tar.gz /pygit2-0.25.1.tar.gz /pygit2-0.26.0.tar.gz +/pygit2-0.26.1.tar.gz diff --git a/python-pygit2.spec b/python-pygit2.spec index 9bf0b02..2585abc 100644 --- a/python-pygit2.spec +++ b/python-pygit2.spec @@ -5,8 +5,8 @@ %global pkgname pygit2 Name: python-%{pkgname} -Version: 0.26.0 -Release: 3%{?dist} +Version: 0.26.1 +Release: 1%{?dist} Summary: Python bindings for libgit2 License: GPLv2 with linking exception @@ -126,6 +126,9 @@ find %{buildroot} -name '*.so' -exec chmod 755 {} ';' %changelog +* Mon Nov 20 2017 Pete Walter - 0.26.1-1 +- Update to 0.26.1 + * Thu Aug 03 2017 Fedora Release Engineering - 0.26.0-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild diff --git a/sources b/sources index 566d3e4..0753617 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (pygit2-0.26.0.tar.gz) = 97807c2128212b64c0f3482d50676e1ea2424c8e049d9904e547079df84e999ce3e29c7f512bf71b4e6fa5ff62965ac7fc0a34193c17f0b6b72d083102b236cf +SHA512 (pygit2-0.26.1.tar.gz) = 6935ca2008109ddb8ae6568420499656625bfed12430abe1e513c5a8d34c9d4653103679a29ed91fbfe9bb4dc76648175bfd97ec4e7b143a0e0c24899f98555e From e81d060776df9dee6da0360302586f11bf4b2577 Mon Sep 17 00:00:00 2001 From: Igor Gnatenko Date: Mon, 20 Nov 2017 08:36:29 +0100 Subject: [PATCH 055/150] Remove useless python3 conditions Signed-off-by: Igor Gnatenko --- python-pygit2.spec | 26 -------------------------- 1 file changed, 26 deletions(-) diff --git a/python-pygit2.spec b/python-pygit2.spec index 9bf0b02..29063ea 100644 --- a/python-pygit2.spec +++ b/python-pygit2.spec @@ -1,7 +1,3 @@ -%if 0%{?fedora} -%global with_python3 1 -%endif - %global pkgname pygit2 Name: python-%{pkgname} @@ -22,7 +18,6 @@ BuildRequires: openssl-devel pygit2 is a set of Python bindings to the libgit2 library, which implements the core of Git. - %package -n python2-%{pkgname} Summary: Python 2.x bindings for libgit2 %{?python_provide:%python_provide python2-%{pkgname}} @@ -40,8 +35,6 @@ the core of Git. Python 2 version. - -%if 0%{?with_python3} %package -n python3-%{pkgname} Summary: Python 3.x bindings for libgit2 %{?python_provide:%python_provide python3-%{pkgname}} @@ -58,8 +51,6 @@ pygit2 is a set of Python bindings to the libgit2 library, which implements the core of Git. Python 3 version. -%endif - %package doc Summary: Documentation for %{name} @@ -69,40 +60,26 @@ BuildRequires: python-sphinx %description doc Documentation for %{name}. - %prep %autosetup -n %{pkgname}-%{version} -p1 - %build %py2_build make -C docs html - -%if 0%{?with_python3} %py3_build -%endif - %install %py2_install - -%if 0%{?with_python3} %py3_install -%endif find %{_builddir} -name '.buildinfo' -delete # Correct the permissions. find %{buildroot} -name '*.so' -exec chmod 755 {} ';' - %check %{__python2} setup.py test - -%if 0%{?with_python3} %{__python3} setup.py test -%endif - %files -n python2-%{pkgname} %doc README.rst TODO.txt @@ -111,20 +88,17 @@ find %{buildroot} -name '*.so' -exec chmod 755 {} ';' %{python2_sitearch}/%{pkgname} %{python2_sitearch}/_%{pkgname}.so -%if 0%{?with_python3} %files -n python3-%{pkgname} %doc README.rst TODO.txt %license COPYING %{python3_sitearch}/%{pkgname}-%{version}-py%{python3_version}.egg-info %{python3_sitearch}/%{pkgname} %{python3_sitearch}/_%{pkgname}.*.so -%endif %files doc %license COPYING %doc docs/_build/html/* - %changelog * Thu Aug 03 2017 Fedora Release Engineering - 0.26.0-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild From 3e46ff15fc8466d45e5ce6b8c70b125f0ccbb2aa Mon Sep 17 00:00:00 2001 From: Igor Gnatenko Date: Mon, 20 Nov 2017 08:37:29 +0100 Subject: [PATCH 056/150] Update to 0.26.1 Signed-off-by: Igor Gnatenko --- .gitignore | 1 + python-pygit2.spec | 7 +++++-- sources | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 483ea48..667436c 100644 --- a/.gitignore +++ b/.gitignore @@ -15,3 +15,4 @@ /pygit2-0.25.0.tar.gz /pygit2-0.25.1.tar.gz /pygit2-0.26.0.tar.gz +/pygit2-0.26.1.tar.gz diff --git a/python-pygit2.spec b/python-pygit2.spec index 29063ea..4f71aac 100644 --- a/python-pygit2.spec +++ b/python-pygit2.spec @@ -1,8 +1,8 @@ %global pkgname pygit2 Name: python-%{pkgname} -Version: 0.26.0 -Release: 3%{?dist} +Version: 0.26.1 +Release: 1%{?dist} Summary: Python bindings for libgit2 License: GPLv2 with linking exception @@ -100,6 +100,9 @@ find %{buildroot} -name '*.so' -exec chmod 755 {} ';' %doc docs/_build/html/* %changelog +* Mon Nov 20 2017 Igor Gnatenko - 0.26.1-1 +- Update to 0.26.1 + * Thu Aug 03 2017 Fedora Release Engineering - 0.26.0-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild diff --git a/sources b/sources index 566d3e4..0753617 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (pygit2-0.26.0.tar.gz) = 97807c2128212b64c0f3482d50676e1ea2424c8e049d9904e547079df84e999ce3e29c7f512bf71b4e6fa5ff62965ac7fc0a34193c17f0b6b72d083102b236cf +SHA512 (pygit2-0.26.1.tar.gz) = 6935ca2008109ddb8ae6568420499656625bfed12430abe1e513c5a8d34c9d4653103679a29ed91fbfe9bb4dc76648175bfd97ec4e7b143a0e0c24899f98555e From 5c78c7091b5ab2bb57137cdcca4a2b7cfa4d1759 Mon Sep 17 00:00:00 2001 From: Pete Walter Date: Mon, 20 Nov 2017 11:24:42 +0000 Subject: [PATCH 057/150] Revert "Remove useless python3 conditions" They are needed for EPEL. This reverts commit e81d060776df9dee6da0360302586f11bf4b2577. --- python-pygit2.spec | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/python-pygit2.spec b/python-pygit2.spec index 4f71aac..457c8e0 100644 --- a/python-pygit2.spec +++ b/python-pygit2.spec @@ -1,3 +1,7 @@ +%if 0%{?fedora} +%global with_python3 1 +%endif + %global pkgname pygit2 Name: python-%{pkgname} @@ -18,6 +22,7 @@ BuildRequires: openssl-devel pygit2 is a set of Python bindings to the libgit2 library, which implements the core of Git. + %package -n python2-%{pkgname} Summary: Python 2.x bindings for libgit2 %{?python_provide:%python_provide python2-%{pkgname}} @@ -35,6 +40,8 @@ the core of Git. Python 2 version. + +%if 0%{?with_python3} %package -n python3-%{pkgname} Summary: Python 3.x bindings for libgit2 %{?python_provide:%python_provide python3-%{pkgname}} @@ -51,6 +58,8 @@ pygit2 is a set of Python bindings to the libgit2 library, which implements the core of Git. Python 3 version. +%endif + %package doc Summary: Documentation for %{name} @@ -60,26 +69,40 @@ BuildRequires: python-sphinx %description doc Documentation for %{name}. + %prep %autosetup -n %{pkgname}-%{version} -p1 + %build %py2_build make -C docs html + +%if 0%{?with_python3} %py3_build +%endif + %install %py2_install + +%if 0%{?with_python3} %py3_install +%endif find %{_builddir} -name '.buildinfo' -delete # Correct the permissions. find %{buildroot} -name '*.so' -exec chmod 755 {} ';' + %check %{__python2} setup.py test + +%if 0%{?with_python3} %{__python3} setup.py test +%endif + %files -n python2-%{pkgname} %doc README.rst TODO.txt @@ -88,17 +111,20 @@ find %{buildroot} -name '*.so' -exec chmod 755 {} ';' %{python2_sitearch}/%{pkgname} %{python2_sitearch}/_%{pkgname}.so +%if 0%{?with_python3} %files -n python3-%{pkgname} %doc README.rst TODO.txt %license COPYING %{python3_sitearch}/%{pkgname}-%{version}-py%{python3_version}.egg-info %{python3_sitearch}/%{pkgname} %{python3_sitearch}/_%{pkgname}.*.so +%endif %files doc %license COPYING %doc docs/_build/html/* + %changelog * Mon Nov 20 2017 Igor Gnatenko - 0.26.1-1 - Update to 0.26.1 From 5a5c48253a5247b9d17a501359f75a6307a516f1 Mon Sep 17 00:00:00 2001 From: Pete Walter Date: Mon, 20 Nov 2017 12:40:34 +0000 Subject: [PATCH 058/150] Add back Python 3 conditionals This just adds a missed changelog entry after commit 5c78c70. --- python-pygit2.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/python-pygit2.spec b/python-pygit2.spec index 2585abc..b83ee6f 100644 --- a/python-pygit2.spec +++ b/python-pygit2.spec @@ -6,7 +6,7 @@ Name: python-%{pkgname} Version: 0.26.1 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Python bindings for libgit2 License: GPLv2 with linking exception @@ -126,6 +126,9 @@ find %{buildroot} -name '*.so' -exec chmod 755 {} ';' %changelog +* Mon Nov 20 2017 Pete Walter - 0.26.1-2 +- Add back Python 3 conditionals + * Mon Nov 20 2017 Pete Walter - 0.26.1-1 - Update to 0.26.1 From d1eab5b68c51d506b47b2f5b1014c871fbb8ed8a Mon Sep 17 00:00:00 2001 From: Igor Gnatenko Date: Mon, 20 Nov 2017 14:10:21 +0100 Subject: [PATCH 059/150] Fixup python3 conditionals Signed-off-by: Igor Gnatenko --- python-pygit2.spec | 37 +++++++++++++++---------------------- 1 file changed, 15 insertions(+), 22 deletions(-) diff --git a/python-pygit2.spec b/python-pygit2.spec index b83ee6f..98dc2f6 100644 --- a/python-pygit2.spec +++ b/python-pygit2.spec @@ -1,12 +1,14 @@ -%if 0%{?fedora} -%global with_python3 1 +%if 0%{?rhel} && 0%{?rhel} <= 7 +%bcond_with python3 +%else +%bcond_without python3 %endif %global pkgname pygit2 Name: python-%{pkgname} Version: 0.26.1 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Python bindings for libgit2 License: GPLv2 with linking exception @@ -22,7 +24,6 @@ BuildRequires: openssl-devel pygit2 is a set of Python bindings to the libgit2 library, which implements the core of Git. - %package -n python2-%{pkgname} Summary: Python 2.x bindings for libgit2 %{?python_provide:%python_provide python2-%{pkgname}} @@ -40,8 +41,7 @@ the core of Git. Python 2 version. - -%if 0%{?with_python3} +%if %{with python3} %package -n python3-%{pkgname} Summary: Python 3.x bindings for libgit2 %{?python_provide:%python_provide python3-%{pkgname}} @@ -60,33 +60,27 @@ the core of Git. Python 3 version. %endif - %package doc Summary: Documentation for %{name} BuildArch: noarch -BuildRequires: python-sphinx +BuildRequires: %{_bindir}/sphinx-build %description doc Documentation for %{name}. - %prep %autosetup -n %{pkgname}-%{version} -p1 - %build %py2_build make -C docs html - -%if 0%{?with_python3} +%if %{with python3} %py3_build %endif - %install %py2_install - -%if 0%{?with_python3} +%if %{with python3} %py3_install %endif @@ -95,15 +89,12 @@ find %{_builddir} -name '.buildinfo' -delete # Correct the permissions. find %{buildroot} -name '*.so' -exec chmod 755 {} ';' - %check %{__python2} setup.py test - -%if 0%{?with_python3} +%if %{with python3} %{__python3} setup.py test %endif - %files -n python2-%{pkgname} %doc README.rst TODO.txt %license COPYING @@ -111,7 +102,7 @@ find %{buildroot} -name '*.so' -exec chmod 755 {} ';' %{python2_sitearch}/%{pkgname} %{python2_sitearch}/_%{pkgname}.so -%if 0%{?with_python3} +%if %{with python3} %files -n python3-%{pkgname} %doc README.rst TODO.txt %license COPYING @@ -124,12 +115,14 @@ find %{buildroot} -name '*.so' -exec chmod 755 {} ';' %license COPYING %doc docs/_build/html/* - %changelog +* Mon Nov 20 2017 Igor Gnatenko - 0.26.1-3 +- Fixup python3 conditionals + * Mon Nov 20 2017 Pete Walter - 0.26.1-2 - Add back Python 3 conditionals -* Mon Nov 20 2017 Pete Walter - 0.26.1-1 +* Mon Nov 20 2017 Igor Gnatenko - 0.26.1-1 - Update to 0.26.1 * Thu Aug 03 2017 Fedora Release Engineering - 0.26.0-3 From 271f11d17350acc09e631b914ede7a1afd6d4a2e Mon Sep 17 00:00:00 2001 From: Pete Walter Date: Fri, 1 Dec 2017 11:03:38 +0000 Subject: [PATCH 060/150] Sync the spec file conditionals with the epel7 branch again ... and revert unwanted portions from commit d1eab5b68c51d506b47b2f5b1014c871fbb8ed8a. --- python-pygit2.spec | 32 +++++++++++++++++++++----------- 1 file changed, 21 insertions(+), 11 deletions(-) diff --git a/python-pygit2.spec b/python-pygit2.spec index 98dc2f6..cbcf236 100644 --- a/python-pygit2.spec +++ b/python-pygit2.spec @@ -1,7 +1,5 @@ -%if 0%{?rhel} && 0%{?rhel} <= 7 -%bcond_with python3 -%else -%bcond_without python3 +%if 0%{?fedora} +%global with_python3 1 %endif %global pkgname pygit2 @@ -24,6 +22,7 @@ BuildRequires: openssl-devel pygit2 is a set of Python bindings to the libgit2 library, which implements the core of Git. + %package -n python2-%{pkgname} Summary: Python 2.x bindings for libgit2 %{?python_provide:%python_provide python2-%{pkgname}} @@ -41,7 +40,8 @@ the core of Git. Python 2 version. -%if %{with python3} + +%if 0%{?with_python3} %package -n python3-%{pkgname} Summary: Python 3.x bindings for libgit2 %{?python_provide:%python_provide python3-%{pkgname}} @@ -60,27 +60,33 @@ the core of Git. Python 3 version. %endif + %package doc Summary: Documentation for %{name} BuildArch: noarch -BuildRequires: %{_bindir}/sphinx-build +BuildRequires: python-sphinx %description doc Documentation for %{name}. + %prep %autosetup -n %{pkgname}-%{version} -p1 + %build %py2_build make -C docs html -%if %{with python3} + +%if 0%{?with_python3} %py3_build %endif + %install %py2_install -%if %{with python3} + +%if 0%{?with_python3} %py3_install %endif @@ -89,12 +95,15 @@ find %{_builddir} -name '.buildinfo' -delete # Correct the permissions. find %{buildroot} -name '*.so' -exec chmod 755 {} ';' + %check %{__python2} setup.py test -%if %{with python3} + +%if 0%{?with_python3} %{__python3} setup.py test %endif + %files -n python2-%{pkgname} %doc README.rst TODO.txt %license COPYING @@ -102,7 +111,7 @@ find %{buildroot} -name '*.so' -exec chmod 755 {} ';' %{python2_sitearch}/%{pkgname} %{python2_sitearch}/_%{pkgname}.so -%if %{with python3} +%if 0%{?with_python3} %files -n python3-%{pkgname} %doc README.rst TODO.txt %license COPYING @@ -115,6 +124,7 @@ find %{buildroot} -name '*.so' -exec chmod 755 {} ';' %license COPYING %doc docs/_build/html/* + %changelog * Mon Nov 20 2017 Igor Gnatenko - 0.26.1-3 - Fixup python3 conditionals @@ -122,7 +132,7 @@ find %{buildroot} -name '*.so' -exec chmod 755 {} ';' * Mon Nov 20 2017 Pete Walter - 0.26.1-2 - Add back Python 3 conditionals -* Mon Nov 20 2017 Igor Gnatenko - 0.26.1-1 +* Mon Nov 20 2017 Pete Walter - 0.26.1-1 - Update to 0.26.1 * Thu Aug 03 2017 Fedora Release Engineering - 0.26.0-3 From 4500c3b3406b24738d58eb6474b7532fcbfb9a9a Mon Sep 17 00:00:00 2001 From: Pete Walter Date: Fri, 1 Dec 2017 11:04:52 +0000 Subject: [PATCH 061/150] Update to 0.26.2 --- .gitignore | 1 + 0001-Remove-remote-calling-unit-tests.patch | 110 -------------------- python-pygit2.spec | 9 +- sources | 2 +- 4 files changed, 7 insertions(+), 115 deletions(-) delete mode 100644 0001-Remove-remote-calling-unit-tests.patch diff --git a/.gitignore b/.gitignore index 667436c..8b6b125 100644 --- a/.gitignore +++ b/.gitignore @@ -16,3 +16,4 @@ /pygit2-0.25.1.tar.gz /pygit2-0.26.0.tar.gz /pygit2-0.26.1.tar.gz +/pygit2-0.26.2.tar.gz diff --git a/0001-Remove-remote-calling-unit-tests.patch b/0001-Remove-remote-calling-unit-tests.patch deleted file mode 100644 index 4b31d2c..0000000 --- a/0001-Remove-remote-calling-unit-tests.patch +++ /dev/null @@ -1,110 +0,0 @@ -From a36d3bebba08471caafe3e976a74afd040e90480 Mon Sep 17 00:00:00 2001 -From: Mathieu Bridon -Date: Wed, 21 Jan 2015 09:33:46 +0100 -Subject: [PATCH] Remove remote-calling unit tests - -These can only fail when building in Koji, as the builder can't access -the Internet. ---- - test/test_credentials.py | 21 --------------------- - test/test_repository.py | 7 ------- - test/test_submodule.py | 28 ---------------------------- - 3 files changed, 56 deletions(-) - -diff --git a/test/test_credentials.py b/test/test_credentials.py -index ff014c6..019f420 100644 ---- a/test/test_credentials.py -+++ b/test/test_credentials.py -@@ -81,26 +81,5 @@ class CredentialCallback(utils.RepoTestCase): - - self.assertRaises(Exception, lambda: remote.fetch(callbacks=MyCallbacks())) - -- def test_bad_cred_type(self): -- class MyCallbacks(pygit2.RemoteCallbacks): -- @staticmethod -- def credentials(url, username, allowed): -- self.assertTrue(allowed & GIT_CREDTYPE_USERPASS_PLAINTEXT) -- return Keypair("git", "foo.pub", "foo", "sekkrit") -- -- url = "https://github.com/github/github" -- remote = self.repo.create_remote("github", url) -- self.assertRaises(TypeError, lambda: remote.fetch(callbacks=MyCallbacks())) -- --class CallableCredentialTest(utils.RepoTestCase): -- -- def test_user_pass(self): -- credentials = UserPass("libgit2", "libgit2") -- callbacks = pygit2.RemoteCallbacks(credentials=credentials) -- -- url = "https://bitbucket.org/libgit2/testgitrepository.git" -- remote = self.repo.create_remote("bb", url) -- remote.fetch(callbacks=callbacks) -- - if __name__ == '__main__': - unittest.main() -diff --git a/test/test_repository.py b/test/test_repository.py -index 0969fc0..033a1de 100644 ---- a/test/test_repository.py -+++ b/test/test_repository.py -@@ -551,13 +551,6 @@ class CloneRepositoryTest(utils.NoRepoTestCase): - self.assertTrue('refs/remotes/custom_remote/master' in repo.listall_references()) - self.assertIsNotNone(repo.remotes["custom_remote"]) - -- def test_clone_with_credentials(self): -- repo = clone_repository( -- "https://bitbucket.org/libgit2/testgitrepository.git", -- self._temp_dir, callbacks=pygit2.RemoteCallbacks(credentials=pygit2.UserPass("libgit2", "libgit2"))) -- -- self.assertFalse(repo.is_empty) -- - def test_clone_with_checkout_branch(self): - # create a test case which isolates the remote - test_repo = clone_repository('./test/data/testrepo.git', -diff --git a/test/test_submodule.py b/test/test_submodule.py -index f123b8b..a42736a 100644 ---- a/test/test_submodule.py -+++ b/test/test_submodule.py -@@ -53,14 +53,6 @@ class SubmoduleTest(utils.SubmoduleRepoTestCase): - self.assertEqual(len(submodules), 1) - self.assertEqual(submodules[0], SUBM_PATH) - -- def test_submodule_open(self): -- s = self.repo.lookup_submodule(SUBM_PATH) -- self.repo.init_submodules() -- self.repo.update_submodules() -- r = s.open() -- self.assertIsNotNone(r) -- self.assertEqual(str(r.head.target), SUBM_HEAD_SHA) -- - def test_name(self): - s = self.repo.lookup_submodule(SUBM_PATH) - self.assertEqual(SUBM_NAME, s.name) -@@ -73,25 +65,5 @@ class SubmoduleTest(utils.SubmoduleRepoTestCase): - s = self.repo.lookup_submodule(SUBM_PATH) - self.assertEqual(SUBM_URL, s.url) - -- def test_init_and_update(self): -- subrepo_file_path = os.path.join(self.repo_path, 'submodule', 'setup.py') -- self.assertFalse(os.path.exists(subrepo_file_path)) -- self.repo.init_submodules() -- self.repo.update_submodules() -- self.assertTrue(os.path.exists(subrepo_file_path)) -- -- def test_specified_update(self): -- subrepo_file_path = os.path.join(self.repo_path, 'submodule', 'setup.py') -- self.assertFalse(os.path.exists(subrepo_file_path)) -- self.repo.init_submodules(submodules=['submodule']) -- self.repo.update_submodules(submodules=['submodule']) -- self.assertTrue(os.path.exists(subrepo_file_path)) -- -- def test_oneshot_update(self): -- subrepo_file_path = os.path.join(self.repo_path, 'submodule', 'setup.py') -- self.assertFalse(os.path.exists(subrepo_file_path)) -- self.repo.update_submodules(init=True) -- self.assertTrue(os.path.exists(subrepo_file_path)) -- - if __name__ == '__main__': - unittest.main() --- -2.12.2 - diff --git a/python-pygit2.spec b/python-pygit2.spec index cbcf236..afa248b 100644 --- a/python-pygit2.spec +++ b/python-pygit2.spec @@ -5,16 +5,14 @@ %global pkgname pygit2 Name: python-%{pkgname} -Version: 0.26.1 -Release: 3%{?dist} +Version: 0.26.2 +Release: 1%{?dist} Summary: Python bindings for libgit2 License: GPLv2 with linking exception URL: http://www.pygit2.org Source0: https://github.com/libgit2/%{pkgname}/archive/v%{version}/%{pkgname}-%{version}.tar.gz -Patch0: 0001-Remove-remote-calling-unit-tests.patch - BuildRequires: libgit2-devel BuildRequires: openssl-devel @@ -126,6 +124,9 @@ find %{buildroot} -name '*.so' -exec chmod 755 {} ';' %changelog +* Fri Dec 01 2017 Pete Walter - 0.26.2-1 +- Update to 0.26.2 + * Mon Nov 20 2017 Igor Gnatenko - 0.26.1-3 - Fixup python3 conditionals diff --git a/sources b/sources index 0753617..76275d1 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (pygit2-0.26.1.tar.gz) = 6935ca2008109ddb8ae6568420499656625bfed12430abe1e513c5a8d34c9d4653103679a29ed91fbfe9bb4dc76648175bfd97ec4e7b143a0e0c24899f98555e +SHA512 (pygit2-0.26.2.tar.gz) = c77a29ffa71cb4ac9ffcd5f890b810c4b4dc93515fc8ba7043975bf4d5318bce2ad5aeae677c93d674d313a3ecce4c0a332b0773337a63909011fa9995e08743 From bd862d5e786a6c36cf76b489772cb2e5715cf8f2 Mon Sep 17 00:00:00 2001 From: Pete Walter Date: Fri, 1 Dec 2017 14:07:10 +0000 Subject: [PATCH 062/150] Remove failing create_from tests https://github.com/libgit2/pygit2/issues/748 --- python-pygit2.spec | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/python-pygit2.spec b/python-pygit2.spec index afa248b..c92dd2b 100644 --- a/python-pygit2.spec +++ b/python-pygit2.spec @@ -71,6 +71,10 @@ Documentation for %{name}. %prep %autosetup -n %{pkgname}-%{version} -p1 +# Remove failing create_from tests +# https://github.com/libgit2/pygit2/issues/748 +rm test/test_patch.py + %build %py2_build From 8d8cb381f012fc4c1f54250c5ea6da1630abff4f Mon Sep 17 00:00:00 2001 From: Pete Walter Date: Tue, 26 Dec 2017 19:51:09 +0000 Subject: [PATCH 063/150] Update to 0.26.3 --- .gitignore | 1 + python-pygit2.spec | 5 ++++- sources | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 8b6b125..563a9e6 100644 --- a/.gitignore +++ b/.gitignore @@ -17,3 +17,4 @@ /pygit2-0.26.0.tar.gz /pygit2-0.26.1.tar.gz /pygit2-0.26.2.tar.gz +/pygit2-0.26.3.tar.gz diff --git a/python-pygit2.spec b/python-pygit2.spec index c92dd2b..a036ac2 100644 --- a/python-pygit2.spec +++ b/python-pygit2.spec @@ -5,7 +5,7 @@ %global pkgname pygit2 Name: python-%{pkgname} -Version: 0.26.2 +Version: 0.26.3 Release: 1%{?dist} Summary: Python bindings for libgit2 @@ -128,6 +128,9 @@ find %{buildroot} -name '*.so' -exec chmod 755 {} ';' %changelog +* Tue Dec 26 2017 Pete Walter - 0.26.3-1 +- Update to 0.26.3 + * Fri Dec 01 2017 Pete Walter - 0.26.2-1 - Update to 0.26.2 diff --git a/sources b/sources index 76275d1..39c1d58 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (pygit2-0.26.2.tar.gz) = c77a29ffa71cb4ac9ffcd5f890b810c4b4dc93515fc8ba7043975bf4d5318bce2ad5aeae677c93d674d313a3ecce4c0a332b0773337a63909011fa9995e08743 +SHA512 (pygit2-0.26.3.tar.gz) = d12c4f33b8bb19b76a459cfd67413532e38198aaf1108e57f4b2f25e6572a9e36354b62799d9c35ad9f1884da6d9ba654e7bf594a853e810c0da5e6430bd4ad1 From 24f25536cf0be82958bcf8fd0bacbe4e1a263548 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 9 Feb 2018 10:04:44 +0000 Subject: [PATCH 064/150] - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- python-pygit2.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/python-pygit2.spec b/python-pygit2.spec index a036ac2..1e10e47 100644 --- a/python-pygit2.spec +++ b/python-pygit2.spec @@ -6,7 +6,7 @@ Name: python-%{pkgname} Version: 0.26.3 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Python bindings for libgit2 License: GPLv2 with linking exception @@ -128,6 +128,9 @@ find %{buildroot} -name '*.so' -exec chmod 755 {} ';' %changelog +* Fri Feb 09 2018 Fedora Release Engineering - 0.26.3-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + * Tue Dec 26 2017 Pete Walter - 0.26.3-1 - Update to 0.26.3 From 597053c5244359685180ad2687be45fcc00cb401 Mon Sep 17 00:00:00 2001 From: Iryna Shcherbina Date: Mon, 12 Feb 2018 05:37:44 +0100 Subject: [PATCH 065/150] Update Python 2 dependency declarations to new packaging standards --- python-pygit2.spec | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/python-pygit2.spec b/python-pygit2.spec index 1e10e47..bcaf26e 100644 --- a/python-pygit2.spec +++ b/python-pygit2.spec @@ -6,7 +6,7 @@ Name: python-%{pkgname} Version: 0.26.3 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Python bindings for libgit2 License: GPLv2 with linking exception @@ -62,7 +62,7 @@ Python 3 version. %package doc Summary: Documentation for %{name} BuildArch: noarch -BuildRequires: python-sphinx +BuildRequires: %{_bindir}/sphinx-build %description doc Documentation for %{name}. @@ -128,6 +128,10 @@ find %{buildroot} -name '*.so' -exec chmod 755 {} ';' %changelog +* Mon Feb 12 2018 Iryna Shcherbina - 0.26.3-3 +- Update Python 2 dependency declarations to new packaging standards + (See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3) + * Fri Feb 09 2018 Fedora Release Engineering - 0.26.3-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild From 8ef192876f0d70c5d6cb875392bbc6fd92232f25 Mon Sep 17 00:00:00 2001 From: Pete Walter Date: Mon, 26 Mar 2018 13:46:52 +0100 Subject: [PATCH 066/150] Update to 0.26.4 --- .gitignore | 1 + python-pygit2.spec | 7 +++++-- sources | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 563a9e6..bf8ec3f 100644 --- a/.gitignore +++ b/.gitignore @@ -18,3 +18,4 @@ /pygit2-0.26.1.tar.gz /pygit2-0.26.2.tar.gz /pygit2-0.26.3.tar.gz +/pygit2-0.26.4.tar.gz diff --git a/python-pygit2.spec b/python-pygit2.spec index bcaf26e..d72e373 100644 --- a/python-pygit2.spec +++ b/python-pygit2.spec @@ -5,8 +5,8 @@ %global pkgname pygit2 Name: python-%{pkgname} -Version: 0.26.3 -Release: 3%{?dist} +Version: 0.26.4 +Release: 1%{?dist} Summary: Python bindings for libgit2 License: GPLv2 with linking exception @@ -128,6 +128,9 @@ find %{buildroot} -name '*.so' -exec chmod 755 {} ';' %changelog +* Mon Mar 26 2018 Pete Walter - 0.26.4-1 +- Update to 0.26.4 + * Mon Feb 12 2018 Iryna Shcherbina - 0.26.3-3 - Update Python 2 dependency declarations to new packaging standards (See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3) diff --git a/sources b/sources index 39c1d58..10bdfe7 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (pygit2-0.26.3.tar.gz) = d12c4f33b8bb19b76a459cfd67413532e38198aaf1108e57f4b2f25e6572a9e36354b62799d9c35ad9f1884da6d9ba654e7bf594a853e810c0da5e6430bd4ad1 +SHA512 (pygit2-0.26.4.tar.gz) = a9417932790f9dca6e6d2e9a7a54a7d02575e966e479f7a372c275b6ab7d4847702dc2694bd76787e9e0f05afa73763364f98db169062f49d63e6e81710427ad From 7e3690efc7164fcebd9dfab57d7afce01c90f94e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= Date: Tue, 19 Jun 2018 11:14:43 +0200 Subject: [PATCH 067/150] Rebuilt for Python 3.7 --- python-pygit2.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/python-pygit2.spec b/python-pygit2.spec index d72e373..c366d00 100644 --- a/python-pygit2.spec +++ b/python-pygit2.spec @@ -6,7 +6,7 @@ Name: python-%{pkgname} Version: 0.26.4 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Python bindings for libgit2 License: GPLv2 with linking exception @@ -128,6 +128,9 @@ find %{buildroot} -name '*.so' -exec chmod 755 {} ';' %changelog +* Tue Jun 19 2018 Miro Hrončok - 0.26.4-2 +- Rebuilt for Python 3.7 + * Mon Mar 26 2018 Pete Walter - 0.26.4-1 - Update to 0.26.4 From 6fc201651401d6d5643decc07a69145f5c1c20b8 Mon Sep 17 00:00:00 2001 From: Igor Gnatenko Date: Tue, 10 Jul 2018 15:56:25 +0200 Subject: [PATCH 068/150] add BuildRequires: gcc Reference: https://fedoraproject.org/wiki/Changes/Remove_GCC_from_BuildRoot --- python-pygit2.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/python-pygit2.spec b/python-pygit2.spec index c366d00..2a13a0b 100644 --- a/python-pygit2.spec +++ b/python-pygit2.spec @@ -13,6 +13,7 @@ License: GPLv2 with linking exception URL: http://www.pygit2.org Source0: https://github.com/libgit2/%{pkgname}/archive/v%{version}/%{pkgname}-%{version}.tar.gz +BuildRequires: gcc BuildRequires: libgit2-devel BuildRequires: openssl-devel From 04e58c137950c949468a3b75700bb341e420b680 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 14 Jul 2018 01:35:28 +0000 Subject: [PATCH 069/150] - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- python-pygit2.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/python-pygit2.spec b/python-pygit2.spec index 2a13a0b..bdfe4ac 100644 --- a/python-pygit2.spec +++ b/python-pygit2.spec @@ -6,7 +6,7 @@ Name: python-%{pkgname} Version: 0.26.4 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Python bindings for libgit2 License: GPLv2 with linking exception @@ -129,6 +129,9 @@ find %{buildroot} -name '*.so' -exec chmod 755 {} ';' %changelog +* Sat Jul 14 2018 Fedora Release Engineering - 0.26.4-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + * Tue Jun 19 2018 Miro Hrončok - 0.26.4-2 - Rebuilt for Python 3.7 From 7af8458b9f71c12d377016c2f95a6c674ecdfe64 Mon Sep 17 00:00:00 2001 From: Igor Gnatenko Date: Fri, 10 Aug 2018 07:45:25 +0200 Subject: [PATCH 070/150] Drop conditionals for RHEL EPEL7 package has different BuildRequires, has couple of additional Requires and doesn't have subpackage named python2-pygit2. This makes it entirely pointless to keep nasty conditionals around (which are wrong anyway). Signed-off-by: Igor Gnatenko --- python-pygit2.spec | 26 -------------------------- 1 file changed, 26 deletions(-) diff --git a/python-pygit2.spec b/python-pygit2.spec index bdfe4ac..28d3cdc 100644 --- a/python-pygit2.spec +++ b/python-pygit2.spec @@ -1,7 +1,3 @@ -%if 0%{?fedora} -%global with_python3 1 -%endif - %global pkgname pygit2 Name: python-%{pkgname} @@ -21,7 +17,6 @@ BuildRequires: openssl-devel pygit2 is a set of Python bindings to the libgit2 library, which implements the core of Git. - %package -n python2-%{pkgname} Summary: Python 2.x bindings for libgit2 %{?python_provide:%python_provide python2-%{pkgname}} @@ -39,8 +34,6 @@ the core of Git. Python 2 version. - -%if 0%{?with_python3} %package -n python3-%{pkgname} Summary: Python 3.x bindings for libgit2 %{?python_provide:%python_provide python3-%{pkgname}} @@ -57,8 +50,6 @@ pygit2 is a set of Python bindings to the libgit2 library, which implements the core of Git. Python 3 version. -%endif - %package doc Summary: Documentation for %{name} @@ -68,7 +59,6 @@ BuildRequires: %{_bindir}/sphinx-build %description doc Documentation for %{name}. - %prep %autosetup -n %{pkgname}-%{version} -p1 @@ -76,36 +66,23 @@ Documentation for %{name}. # https://github.com/libgit2/pygit2/issues/748 rm test/test_patch.py - %build %py2_build make -C docs html - -%if 0%{?with_python3} %py3_build -%endif - %install %py2_install - -%if 0%{?with_python3} %py3_install -%endif find %{_builddir} -name '.buildinfo' -delete # Correct the permissions. find %{buildroot} -name '*.so' -exec chmod 755 {} ';' - %check %{__python2} setup.py test - -%if 0%{?with_python3} %{__python3} setup.py test -%endif - %files -n python2-%{pkgname} %doc README.rst TODO.txt @@ -114,20 +91,17 @@ find %{buildroot} -name '*.so' -exec chmod 755 {} ';' %{python2_sitearch}/%{pkgname} %{python2_sitearch}/_%{pkgname}.so -%if 0%{?with_python3} %files -n python3-%{pkgname} %doc README.rst TODO.txt %license COPYING %{python3_sitearch}/%{pkgname}-%{version}-py%{python3_version}.egg-info %{python3_sitearch}/%{pkgname} %{python3_sitearch}/_%{pkgname}.*.so -%endif %files doc %license COPYING %doc docs/_build/html/* - %changelog * Sat Jul 14 2018 Fedora Release Engineering - 0.26.4-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild From aa4b9f051becb1cd1d75f4f4beb27b586a26c7ac Mon Sep 17 00:00:00 2001 From: Igor Gnatenko Date: Fri, 10 Aug 2018 07:50:23 +0200 Subject: [PATCH 071/150] be less and more specific in %files More specific in case of indication that entry is a directory. Less specific in case of indication of directory name. Signed-off-by: Igor Gnatenko --- python-pygit2.spec | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/python-pygit2.spec b/python-pygit2.spec index 28d3cdc..54d7c98 100644 --- a/python-pygit2.spec +++ b/python-pygit2.spec @@ -87,15 +87,15 @@ find %{buildroot} -name '*.so' -exec chmod 755 {} ';' %files -n python2-%{pkgname} %doc README.rst TODO.txt %license COPYING -%{python2_sitearch}/%{pkgname}-%{version}-py%{python2_version}.egg-info -%{python2_sitearch}/%{pkgname} +%{python2_sitearch}/%{pkgname}-*.egg-info/ +%{python2_sitearch}/%{pkgname}/ %{python2_sitearch}/_%{pkgname}.so %files -n python3-%{pkgname} %doc README.rst TODO.txt %license COPYING -%{python3_sitearch}/%{pkgname}-%{version}-py%{python3_version}.egg-info -%{python3_sitearch}/%{pkgname} +%{python3_sitearch}/%{pkgname}-*.egg-info/ +%{python3_sitearch}/%{pkgname}/ %{python3_sitearch}/_%{pkgname}.*.so %files doc From eb7fb7d01cba8ae370d2750020a4eb41ef634a83 Mon Sep 17 00:00:00 2001 From: Igor Gnatenko Date: Fri, 10 Aug 2018 08:14:29 +0200 Subject: [PATCH 072/150] BuildRequires: pythonX-nose is not needed Nothing inside uses nose, it's simple unittest. Signed-off-by: Igor Gnatenko --- python-pygit2.spec | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/python-pygit2.spec b/python-pygit2.spec index 54d7c98..ef4d1b3 100644 --- a/python-pygit2.spec +++ b/python-pygit2.spec @@ -20,10 +20,9 @@ the core of Git. %package -n python2-%{pkgname} Summary: Python 2.x bindings for libgit2 %{?python_provide:%python_provide python2-%{pkgname}} -BuildRequires: python2-cffi BuildRequires: python2-devel -BuildRequires: python2-nose BuildRequires: python2-setuptools +BuildRequires: python2-cffi BuildRequires: python2-six Requires: python2-cffi Requires: python2-six @@ -37,10 +36,9 @@ Python 2 version. %package -n python3-%{pkgname} Summary: Python 3.x bindings for libgit2 %{?python_provide:%python_provide python3-%{pkgname}} -BuildRequires: python3-cffi BuildRequires: python3-devel -BuildRequires: python3-nose BuildRequires: python3-setuptools +BuildRequires: python3-cffi BuildRequires: python3-six Requires: python3-cffi Requires: python3-six From c37dc4be5d8714f4c9de9aa8e7f49d2f2c29ab26 Mon Sep 17 00:00:00 2001 From: Igor Gnatenko Date: Fri, 10 Aug 2018 08:14:57 +0200 Subject: [PATCH 073/150] Do not remove not-failing test Signed-off-by: Igor Gnatenko --- python-pygit2.spec | 4 ---- 1 file changed, 4 deletions(-) diff --git a/python-pygit2.spec b/python-pygit2.spec index ef4d1b3..a9b9551 100644 --- a/python-pygit2.spec +++ b/python-pygit2.spec @@ -60,10 +60,6 @@ Documentation for %{name}. %prep %autosetup -n %{pkgname}-%{version} -p1 -# Remove failing create_from tests -# https://github.com/libgit2/pygit2/issues/748 -rm test/test_patch.py - %build %py2_build make -C docs html From e1315ea95ded9a6ac98c1bd5a7edd71b0e2872e6 Mon Sep 17 00:00:00 2001 From: Igor Gnatenko Date: Fri, 10 Aug 2018 08:15:42 +0200 Subject: [PATCH 074/150] BuildRequires: openssl-devel is not needed That used to be a bug in libgit2 not requiring right stuff. Signed-off-by: Igor Gnatenko --- python-pygit2.spec | 1 - 1 file changed, 1 deletion(-) diff --git a/python-pygit2.spec b/python-pygit2.spec index a9b9551..131146c 100644 --- a/python-pygit2.spec +++ b/python-pygit2.spec @@ -11,7 +11,6 @@ Source0: https://github.com/libgit2/%{pkgname}/archive/v%{version}/%{pkgn BuildRequires: gcc BuildRequires: libgit2-devel -BuildRequires: openssl-devel %description pygit2 is a set of Python bindings to the libgit2 library, which implements From a5d6031a6682e68d154cfccda51a3549b1aa86df Mon Sep 17 00:00:00 2001 From: Igor Gnatenko Date: Fri, 10 Aug 2018 08:16:25 +0200 Subject: [PATCH 075/150] Update to 0.27.1 Signed-off-by: Igor Gnatenko --- .gitignore | 1 + python-pygit2.spec | 7 +++++-- sources | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index bf8ec3f..6a71f53 100644 --- a/.gitignore +++ b/.gitignore @@ -19,3 +19,4 @@ /pygit2-0.26.2.tar.gz /pygit2-0.26.3.tar.gz /pygit2-0.26.4.tar.gz +/pygit2-0.27.1.tar.gz diff --git a/python-pygit2.spec b/python-pygit2.spec index 131146c..40b3dac 100644 --- a/python-pygit2.spec +++ b/python-pygit2.spec @@ -1,8 +1,8 @@ %global pkgname pygit2 Name: python-%{pkgname} -Version: 0.26.4 -Release: 3%{?dist} +Version: 0.27.1 +Release: 1%{?dist} Summary: Python bindings for libgit2 License: GPLv2 with linking exception @@ -96,6 +96,9 @@ find %{buildroot} -name '*.so' -exec chmod 755 {} ';' %doc docs/_build/html/* %changelog +* Fri Aug 10 2018 Igor Gnatenko - 0.27.1-1 +- Update to 0.27.1 + * Sat Jul 14 2018 Fedora Release Engineering - 0.26.4-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild diff --git a/sources b/sources index 10bdfe7..aa0ab3c 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (pygit2-0.26.4.tar.gz) = a9417932790f9dca6e6d2e9a7a54a7d02575e966e479f7a372c275b6ab7d4847702dc2694bd76787e9e0f05afa73763364f98db169062f49d63e6e81710427ad +SHA512 (pygit2-0.27.1.tar.gz) = 2fcb3dacd78183276f0cf95b6a2ce21992b198b88df3accb8c31b60a88c70ba4781982afcc024818e2869db3deac204319cd96fcd6d190c3548bed5d6826b1c5 From 0b43ffa002acdc36b3e1d6fc0d428527ab4f3182 Mon Sep 17 00:00:00 2001 From: Igor Gnatenko Date: Fri, 10 Aug 2018 11:09:08 +0200 Subject: [PATCH 076/150] skip tests on alternative architectures Signed-off-by: Igor Gnatenko --- python-pygit2.spec | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/python-pygit2.spec b/python-pygit2.spec index 40b3dac..72828fc 100644 --- a/python-pygit2.spec +++ b/python-pygit2.spec @@ -74,8 +74,15 @@ find %{_builddir} -name '.buildinfo' -delete find %{buildroot} -name '*.so' -exec chmod 755 {} ';' %check -%{__python2} setup.py test -%{__python3} setup.py test +# https://github.com/libgit2/pygit2/issues/811 +# https://github.com/libgit2/pygit2/issues/812 +%ifarch aarch64 ppc64 s390x + %{__python2} setup.py test || : + %{__python3} setup.py test || : +%else + %{__python2} setup.py test + %{__python3} setup.py test +%endif %files -n python2-%{pkgname} %doc README.rst TODO.txt From 21106414bab8c3fc7242fde6a4fcb18142c43bfd Mon Sep 17 00:00:00 2001 From: Pete Walter Date: Mon, 20 Aug 2018 22:57:28 +0100 Subject: [PATCH 077/150] Revert "Drop conditionals for RHEL" Igor, please stop changing other people's packages. This is abuse of provenpackager power. The RHEL conditionals are needed for maintaining the EPEL7 branch. Thanks. This reverts commit 7af8458b9f71c12d377016c2f95a6c674ecdfe64. --- python-pygit2.spec | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/python-pygit2.spec b/python-pygit2.spec index 72828fc..0a4bbef 100644 --- a/python-pygit2.spec +++ b/python-pygit2.spec @@ -1,3 +1,7 @@ +%if 0%{?fedora} || 0%{?rhel} > 7 +%global with_python3 1 +%endif + %global pkgname pygit2 Name: python-%{pkgname} @@ -16,6 +20,7 @@ BuildRequires: libgit2-devel pygit2 is a set of Python bindings to the libgit2 library, which implements the core of Git. + %package -n python2-%{pkgname} Summary: Python 2.x bindings for libgit2 %{?python_provide:%python_provide python2-%{pkgname}} @@ -32,6 +37,8 @@ the core of Git. Python 2 version. + +%if 0%{?with_python3} %package -n python3-%{pkgname} Summary: Python 3.x bindings for libgit2 %{?python_provide:%python_provide python3-%{pkgname}} @@ -47,6 +54,8 @@ pygit2 is a set of Python bindings to the libgit2 library, which implements the core of Git. Python 3 version. +%endif + %package doc Summary: Documentation for %{name} @@ -56,34 +65,49 @@ BuildRequires: %{_bindir}/sphinx-build %description doc Documentation for %{name}. + %prep %autosetup -n %{pkgname}-%{version} -p1 + %build %py2_build make -C docs html + +%if 0%{?with_python3} %py3_build +%endif + %install %py2_install + +%if 0%{?with_python3} %py3_install +%endif find %{_builddir} -name '.buildinfo' -delete # Correct the permissions. find %{buildroot} -name '*.so' -exec chmod 755 {} ';' + %check # https://github.com/libgit2/pygit2/issues/811 # https://github.com/libgit2/pygit2/issues/812 %ifarch aarch64 ppc64 s390x %{__python2} setup.py test || : + %if 0%{?with_python3} %{__python3} setup.py test || : + %endif %else %{__python2} setup.py test + %if 0%{?with_python3} %{__python3} setup.py test + %endif %endif + %files -n python2-%{pkgname} %doc README.rst TODO.txt %license COPYING @@ -91,17 +115,20 @@ find %{buildroot} -name '*.so' -exec chmod 755 {} ';' %{python2_sitearch}/%{pkgname}/ %{python2_sitearch}/_%{pkgname}.so +%if 0%{?with_python3} %files -n python3-%{pkgname} %doc README.rst TODO.txt %license COPYING %{python3_sitearch}/%{pkgname}-*.egg-info/ %{python3_sitearch}/%{pkgname}/ %{python3_sitearch}/_%{pkgname}.*.so +%endif %files doc %license COPYING %doc docs/_build/html/* + %changelog * Fri Aug 10 2018 Igor Gnatenko - 0.27.1-1 - Update to 0.27.1 From db24d585bd18c456165b556f49917a01fa619cf6 Mon Sep 17 00:00:00 2001 From: Pete Walter Date: Mon, 20 Aug 2018 23:00:13 +0100 Subject: [PATCH 078/150] Sort BuildRequires again --- python-pygit2.spec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/python-pygit2.spec b/python-pygit2.spec index 0a4bbef..e5a4ab6 100644 --- a/python-pygit2.spec +++ b/python-pygit2.spec @@ -24,9 +24,9 @@ the core of Git. %package -n python2-%{pkgname} Summary: Python 2.x bindings for libgit2 %{?python_provide:%python_provide python2-%{pkgname}} +BuildRequires: python2-cffi BuildRequires: python2-devel BuildRequires: python2-setuptools -BuildRequires: python2-cffi BuildRequires: python2-six Requires: python2-cffi Requires: python2-six @@ -42,9 +42,9 @@ Python 2 version. %package -n python3-%{pkgname} Summary: Python 3.x bindings for libgit2 %{?python_provide:%python_provide python3-%{pkgname}} +BuildRequires: python3-cffi BuildRequires: python3-devel BuildRequires: python3-setuptools -BuildRequires: python3-cffi BuildRequires: python3-six Requires: python3-cffi Requires: python3-six From b89f32862a1be9ea241c3d8d1a8e386c44104f00 Mon Sep 17 00:00:00 2001 From: Pete Walter Date: Mon, 17 Sep 2018 07:45:50 +0100 Subject: [PATCH 079/150] Update to 0.27.2 --- .gitignore | 1 + python-pygit2.spec | 5 ++++- sources | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 6a71f53..40a3c8b 100644 --- a/.gitignore +++ b/.gitignore @@ -20,3 +20,4 @@ /pygit2-0.26.3.tar.gz /pygit2-0.26.4.tar.gz /pygit2-0.27.1.tar.gz +/pygit2-0.27.2.tar.gz diff --git a/python-pygit2.spec b/python-pygit2.spec index e5a4ab6..3648af0 100644 --- a/python-pygit2.spec +++ b/python-pygit2.spec @@ -5,7 +5,7 @@ %global pkgname pygit2 Name: python-%{pkgname} -Version: 0.27.1 +Version: 0.27.2 Release: 1%{?dist} Summary: Python bindings for libgit2 @@ -130,6 +130,9 @@ find %{buildroot} -name '*.so' -exec chmod 755 {} ';' %changelog +* Mon Sep 17 2018 Pete Walter - 0.27.2-1 +- Update to 0.27.2 + * Fri Aug 10 2018 Igor Gnatenko - 0.27.1-1 - Update to 0.27.1 diff --git a/sources b/sources index aa0ab3c..99096b3 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (pygit2-0.27.1.tar.gz) = 2fcb3dacd78183276f0cf95b6a2ce21992b198b88df3accb8c31b60a88c70ba4781982afcc024818e2869db3deac204319cd96fcd6d190c3548bed5d6826b1c5 +SHA512 (pygit2-0.27.2.tar.gz) = bfc79fc6645deac7b13f25e6fa3477ef5ef0d36dacd1ea9232e8ee0f965e7da7247ff69bb0ca4885cad6e8ffb6c975529bc2b181ae4488a4e32e8ed7d4ca9de7 From b50f3b98c60630af40f0522249227a9b89f43e0b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Thu, 11 Oct 2018 19:02:09 +0200 Subject: [PATCH 080/150] Python2 binary package has been removed --- python-pygit2.spec | 34 +++++----------------------------- 1 file changed, 5 insertions(+), 29 deletions(-) diff --git a/python-pygit2.spec b/python-pygit2.spec index 3648af0..7165567 100644 --- a/python-pygit2.spec +++ b/python-pygit2.spec @@ -6,7 +6,7 @@ Name: python-%{pkgname} Version: 0.27.2 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Python bindings for libgit2 License: GPLv2 with linking exception @@ -21,23 +21,6 @@ pygit2 is a set of Python bindings to the libgit2 library, which implements the core of Git. -%package -n python2-%{pkgname} -Summary: Python 2.x bindings for libgit2 -%{?python_provide:%python_provide python2-%{pkgname}} -BuildRequires: python2-cffi -BuildRequires: python2-devel -BuildRequires: python2-setuptools -BuildRequires: python2-six -Requires: python2-cffi -Requires: python2-six - -%description -n python2-%{pkgname} -pygit2 is a set of Python bindings to the libgit2 library, which implements -the core of Git. - -Python 2 version. - - %if 0%{?with_python3} %package -n python3-%{pkgname} Summary: Python 3.x bindings for libgit2 @@ -71,7 +54,6 @@ Documentation for %{name}. %build -%py2_build make -C docs html %if 0%{?with_python3} @@ -80,7 +62,6 @@ make -C docs html %install -%py2_install %if 0%{?with_python3} %py3_install @@ -96,25 +77,16 @@ find %{buildroot} -name '*.so' -exec chmod 755 {} ';' # https://github.com/libgit2/pygit2/issues/811 # https://github.com/libgit2/pygit2/issues/812 %ifarch aarch64 ppc64 s390x - %{__python2} setup.py test || : %if 0%{?with_python3} %{__python3} setup.py test || : %endif %else - %{__python2} setup.py test %if 0%{?with_python3} %{__python3} setup.py test %endif %endif -%files -n python2-%{pkgname} -%doc README.rst TODO.txt -%license COPYING -%{python2_sitearch}/%{pkgname}-*.egg-info/ -%{python2_sitearch}/%{pkgname}/ -%{python2_sitearch}/_%{pkgname}.so - %if 0%{?with_python3} %files -n python3-%{pkgname} %doc README.rst TODO.txt @@ -130,6 +102,10 @@ find %{buildroot} -name '*.so' -exec chmod 755 {} ';' %changelog +* Thu Oct 11 2018 Zbigniew Jędrzejewski-Szmek - 0.27.2-2 +- Python2 binary package has been removed + See https://fedoraproject.org/wiki/Changes/Mass_Python_2_Package_Removal + * Mon Sep 17 2018 Pete Walter - 0.27.2-1 - Update to 0.27.2 From 89f38ef97ad2405ca45c2efda8deef6ef133aa3c Mon Sep 17 00:00:00 2001 From: Pete Walter Date: Thu, 27 Dec 2018 22:13:35 +0000 Subject: [PATCH 081/150] Update to 0.27.3 --- .gitignore | 1 + python-pygit2.spec | 7 +++++-- sources | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 40a3c8b..603b3e7 100644 --- a/.gitignore +++ b/.gitignore @@ -21,3 +21,4 @@ /pygit2-0.26.4.tar.gz /pygit2-0.27.1.tar.gz /pygit2-0.27.2.tar.gz +/pygit2-0.27.3.tar.gz diff --git a/python-pygit2.spec b/python-pygit2.spec index 7165567..d21ec76 100644 --- a/python-pygit2.spec +++ b/python-pygit2.spec @@ -5,8 +5,8 @@ %global pkgname pygit2 Name: python-%{pkgname} -Version: 0.27.2 -Release: 2%{?dist} +Version: 0.27.3 +Release: 1%{?dist} Summary: Python bindings for libgit2 License: GPLv2 with linking exception @@ -102,6 +102,9 @@ find %{buildroot} -name '*.so' -exec chmod 755 {} ';' %changelog +* Thu Dec 27 2018 Pete Walter - 0.27.3-1 +- Update to 0.27.3 + * Thu Oct 11 2018 Zbigniew Jędrzejewski-Szmek - 0.27.2-2 - Python2 binary package has been removed See https://fedoraproject.org/wiki/Changes/Mass_Python_2_Package_Removal diff --git a/sources b/sources index 99096b3..8290b93 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (pygit2-0.27.2.tar.gz) = bfc79fc6645deac7b13f25e6fa3477ef5ef0d36dacd1ea9232e8ee0f965e7da7247ff69bb0ca4885cad6e8ffb6c975529bc2b181ae4488a4e32e8ed7d4ca9de7 +SHA512 (pygit2-0.27.3.tar.gz) = 7a20d4c0a5a751a68de652ad2cf5d9e928e3271cd914833784c153ce9b09ce6b24aea3591887a03eb24b5f9b753aac7c44b2fea2b5d448f7ff6a15e8a381080d From 89a8b4912d3ea3de6372c110c8cca7f7aac6e414 Mon Sep 17 00:00:00 2001 From: Pete Walter Date: Mon, 7 Jan 2019 10:12:32 +0000 Subject: [PATCH 082/150] Switch to pytest --- python-pygit2.spec | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/python-pygit2.spec b/python-pygit2.spec index d21ec76..bd8f5c7 100644 --- a/python-pygit2.spec +++ b/python-pygit2.spec @@ -27,6 +27,7 @@ Summary: Python 3.x bindings for libgit2 %{?python_provide:%python_provide python3-%{pkgname}} BuildRequires: python3-cffi BuildRequires: python3-devel +BuildRequires: python3-pytest BuildRequires: python3-setuptools BuildRequires: python3-six Requires: python3-cffi @@ -78,11 +79,11 @@ find %{buildroot} -name '*.so' -exec chmod 755 {} ';' # https://github.com/libgit2/pygit2/issues/812 %ifarch aarch64 ppc64 s390x %if 0%{?with_python3} - %{__python3} setup.py test || : + pytest-3 || : %endif %else %if 0%{?with_python3} - %{__python3} setup.py test + pytest-3 %endif %endif @@ -104,6 +105,7 @@ find %{buildroot} -name '*.so' -exec chmod 755 {} ';' %changelog * Thu Dec 27 2018 Pete Walter - 0.27.3-1 - Update to 0.27.3 +- Switch to pytest * Thu Oct 11 2018 Zbigniew Jędrzejewski-Szmek - 0.27.2-2 - Python2 binary package has been removed From 1d66eb16b0a2dd7bcc746bb897f52a6c340c228c Mon Sep 17 00:00:00 2001 From: Pete Walter Date: Thu, 24 Jan 2019 07:14:46 +0000 Subject: [PATCH 083/150] Update to 0.27.4 --- .gitignore | 1 + python-pygit2.spec | 5 ++++- sources | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 603b3e7..a905388 100644 --- a/.gitignore +++ b/.gitignore @@ -22,3 +22,4 @@ /pygit2-0.27.1.tar.gz /pygit2-0.27.2.tar.gz /pygit2-0.27.3.tar.gz +/pygit2-0.27.4.tar.gz diff --git a/python-pygit2.spec b/python-pygit2.spec index bd8f5c7..6db6105 100644 --- a/python-pygit2.spec +++ b/python-pygit2.spec @@ -5,7 +5,7 @@ %global pkgname pygit2 Name: python-%{pkgname} -Version: 0.27.3 +Version: 0.27.4 Release: 1%{?dist} Summary: Python bindings for libgit2 @@ -103,6 +103,9 @@ find %{buildroot} -name '*.so' -exec chmod 755 {} ';' %changelog +* Thu Jan 24 2019 Pete Walter - 0.27.4-1 +- Update to 0.27.4 + * Thu Dec 27 2018 Pete Walter - 0.27.3-1 - Update to 0.27.3 - Switch to pytest diff --git a/sources b/sources index 8290b93..8821a2a 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (pygit2-0.27.3.tar.gz) = 7a20d4c0a5a751a68de652ad2cf5d9e928e3271cd914833784c153ce9b09ce6b24aea3591887a03eb24b5f9b753aac7c44b2fea2b5d448f7ff6a15e8a381080d +SHA512 (pygit2-0.27.4.tar.gz) = 7673ff8df7a942bcdc462e121327c668634ba61d48f654052202ef63a729903f2b5f238441bbaa52945657f69c2f6630593eaf5ee9f888c97e09db483785ce5e From 935dfe8f705d22ea55b9387160a949e2fa51688d Mon Sep 17 00:00:00 2001 From: Pete Walter Date: Tue, 29 Jan 2019 11:29:44 +0000 Subject: [PATCH 084/150] Fix the build --- python-pygit2.spec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/python-pygit2.spec b/python-pygit2.spec index 6db6105..964d01b 100644 --- a/python-pygit2.spec +++ b/python-pygit2.spec @@ -79,11 +79,11 @@ find %{buildroot} -name '*.so' -exec chmod 755 {} ';' # https://github.com/libgit2/pygit2/issues/812 %ifarch aarch64 ppc64 s390x %if 0%{?with_python3} - pytest-3 || : + PYTHONPATH=%{buildroot}%{python3_sitearch} pytest-3 || : %endif %else %if 0%{?with_python3} - pytest-3 + PYTHONPATH=%{buildroot}%{python3_sitearch} pytest-3 %endif %endif From d645e78b8cef0bf1ac8b17c14c8a35ea529a4658 Mon Sep 17 00:00:00 2001 From: Pete Walter Date: Tue, 29 Jan 2019 11:30:50 +0000 Subject: [PATCH 085/150] Avoid using _bindir macro in BRs This breaks flatpak builds as the prefix there is redefined to be /app. --- python-pygit2.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/python-pygit2.spec b/python-pygit2.spec index 964d01b..8efd42d 100644 --- a/python-pygit2.spec +++ b/python-pygit2.spec @@ -44,7 +44,7 @@ Python 3 version. %package doc Summary: Documentation for %{name} BuildArch: noarch -BuildRequires: %{_bindir}/sphinx-build +BuildRequires: /usr/bin/sphinx-build %description doc Documentation for %{name}. From def5f5a22725ccc699d1b52106f83f36c596c660 Mon Sep 17 00:00:00 2001 From: Pete Walter Date: Tue, 29 Jan 2019 11:33:43 +0000 Subject: [PATCH 086/150] Drop python3 conditionals They don't make much sense any more now that we are only building for Python 3 and Python 2 support is dropped. --- python-pygit2.spec | 21 ++------------------- 1 file changed, 2 insertions(+), 19 deletions(-) diff --git a/python-pygit2.spec b/python-pygit2.spec index 8efd42d..d3a914c 100644 --- a/python-pygit2.spec +++ b/python-pygit2.spec @@ -1,7 +1,3 @@ -%if 0%{?fedora} || 0%{?rhel} > 7 -%global with_python3 1 -%endif - %global pkgname pygit2 Name: python-%{pkgname} @@ -21,7 +17,6 @@ pygit2 is a set of Python bindings to the libgit2 library, which implements the core of Git. -%if 0%{?with_python3} %package -n python3-%{pkgname} Summary: Python 3.x bindings for libgit2 %{?python_provide:%python_provide python3-%{pkgname}} @@ -38,7 +33,6 @@ pygit2 is a set of Python bindings to the libgit2 library, which implements the core of Git. Python 3 version. -%endif %package doc @@ -55,18 +49,13 @@ Documentation for %{name}. %build -make -C docs html - -%if 0%{?with_python3} %py3_build -%endif + +make -C docs html %install - -%if 0%{?with_python3} %py3_install -%endif find %{_builddir} -name '.buildinfo' -delete @@ -78,24 +67,18 @@ find %{buildroot} -name '*.so' -exec chmod 755 {} ';' # https://github.com/libgit2/pygit2/issues/811 # https://github.com/libgit2/pygit2/issues/812 %ifarch aarch64 ppc64 s390x - %if 0%{?with_python3} PYTHONPATH=%{buildroot}%{python3_sitearch} pytest-3 || : - %endif %else - %if 0%{?with_python3} PYTHONPATH=%{buildroot}%{python3_sitearch} pytest-3 - %endif %endif -%if 0%{?with_python3} %files -n python3-%{pkgname} %doc README.rst TODO.txt %license COPYING %{python3_sitearch}/%{pkgname}-*.egg-info/ %{python3_sitearch}/%{pkgname}/ %{python3_sitearch}/_%{pkgname}.*.so -%endif %files doc %license COPYING From 601991cd0296e367f363bfd5ecf47f89a3b9a0a7 Mon Sep 17 00:00:00 2001 From: Pete Walter Date: Tue, 29 Jan 2019 11:42:14 +0000 Subject: [PATCH 087/150] Enable tests on aarch64 as they seem fixed now --- python-pygit2.spec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/python-pygit2.spec b/python-pygit2.spec index d3a914c..8decaa3 100644 --- a/python-pygit2.spec +++ b/python-pygit2.spec @@ -64,9 +64,8 @@ find %{buildroot} -name '*.so' -exec chmod 755 {} ';' %check -# https://github.com/libgit2/pygit2/issues/811 # https://github.com/libgit2/pygit2/issues/812 -%ifarch aarch64 ppc64 s390x +%ifarch ppc64 s390x PYTHONPATH=%{buildroot}%{python3_sitearch} pytest-3 || : %else PYTHONPATH=%{buildroot}%{python3_sitearch} pytest-3 @@ -88,6 +87,7 @@ find %{buildroot} -name '*.so' -exec chmod 755 {} ';' %changelog * Thu Jan 24 2019 Pete Walter - 0.27.4-1 - Update to 0.27.4 +- Enable tests on aarch64 as they seem fixed now * Thu Dec 27 2018 Pete Walter - 0.27.3-1 - Update to 0.27.3 From 225b75b33c9c06d8bd5f239026150fddb3d0c2bc Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 2 Feb 2019 08:36:00 +0000 Subject: [PATCH 088/150] - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- python-pygit2.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/python-pygit2.spec b/python-pygit2.spec index 8decaa3..66992e3 100644 --- a/python-pygit2.spec +++ b/python-pygit2.spec @@ -2,7 +2,7 @@ Name: python-%{pkgname} Version: 0.27.4 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Python bindings for libgit2 License: GPLv2 with linking exception @@ -85,6 +85,9 @@ find %{buildroot} -name '*.so' -exec chmod 755 {} ';' %changelog +* Sat Feb 02 2019 Fedora Release Engineering - 0.27.4-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + * Thu Jan 24 2019 Pete Walter - 0.27.4-1 - Update to 0.27.4 - Enable tests on aarch64 as they seem fixed now From 2274deb28c5747ffc1cb6ddf69071dca638ff060 Mon Sep 17 00:00:00 2001 From: Igor Gnatenko Date: Sun, 7 Apr 2019 13:14:24 +0200 Subject: [PATCH 089/150] Initial import Signed-off-by: Igor Gnatenko --- .gitignore | 1 + python-pygit2.spec | 107 +++++++++++++++++++++++++++++++++++++++++++++ sources | 1 + 3 files changed, 109 insertions(+) create mode 100644 python-pygit2.spec diff --git a/.gitignore b/.gitignore index e69de29..620aa5c 100644 --- a/.gitignore +++ b/.gitignore @@ -0,0 +1 @@ +/pygit2-0.28.0.tar.gz diff --git a/python-pygit2.spec b/python-pygit2.spec new file mode 100644 index 0000000..324efeb --- /dev/null +++ b/python-pygit2.spec @@ -0,0 +1,107 @@ +%global pkgname pygit2 + +Name: python-%{pkgname} +Version: 0.28.0 +Release: 1%{?dist} +Summary: Python bindings for libgit2 + +License: GPLv2 with linking exception +URL: https://www.pygit2.org/ +Source0: https://github.com/libgit2/%{pkgname}/archive/v%{version}/%{pkgname}-%{version}.tar.gz + +BuildRequires: gcc +BuildRequires: (libgit2-devel >= 0.28.0 with libgit2-devel < 0.29.0) + +%description +pygit2 is a set of Python bindings to the libgit2 library, which implements +the core of Git. + +%package -n python2-%{pkgname} +Summary: Python 2.x bindings for libgit2 +%{?python_provide:%python_provide python2-%{pkgname}} +BuildRequires: python2-devel +BuildRequires: python2-setuptools +BuildRequires: python2-cffi +BuildRequires: python2-six +BuildRequires: python2-pytest +Requires: python2-cffi +Requires: python2-six + +%description -n python2-%{pkgname} +pygit2 is a set of Python bindings to the libgit2 library, which implements +the core of Git. + +Python 2 version. + +%package -n python3-%{pkgname} +Summary: Python 3.x bindings for libgit2 +%{?python_provide:%python_provide python3-%{pkgname}} +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-cffi +BuildRequires: python3-six +BuildRequires: python3-pytest +Requires: python3-cffi +Requires: python3-six + +%description -n python3-%{pkgname} +pygit2 is a set of Python bindings to the libgit2 library, which implements +the core of Git. + +Python 3 version. + +%package doc +Summary: Documentation for %{name} +BuildArch: noarch +BuildRequires: /usr/bin/sphinx-build + +%description doc +Documentation for %{name}. + +%prep +%autosetup -n %{pkgname}-%{version} -p1 + +%build +%py2_build +%py3_build +make -C docs html + +%install +%py2_install +%py3_install +find %{_builddir} -name '.buildinfo' -delete + +# Correct the permissions. +find %{buildroot} -name '*.so' -exec chmod 755 {} ';' + +%check +# https://github.com/libgit2/pygit2/issues/812 +%ifarch ppc64 s390x + PYTHONPATH=%{buildroot}%{python2_sitearch} py.test-%{python2_version} -v || : + PYTHONPATH=%{buildroot}%{python3_sitearch} py.test-%{python3_version} -v || : +%else + PYTHONPATH=%{buildroot}%{python2_sitearch} py.test-%{python2_version} -v + PYTHONPATH=%{buildroot}%{python3_sitearch} py.test-%{python3_version} -v +%endif + +%files -n python2-%{pkgname} +%doc README.rst TODO.txt +%license COPYING +%{python2_sitearch}/%{pkgname}-*.egg-info/ +%{python2_sitearch}/%{pkgname}/ +%{python2_sitearch}/_%{pkgname}.so + +%files -n python3-%{pkgname} +%doc README.rst TODO.txt +%license COPYING +%{python3_sitearch}/%{pkgname}-*.egg-info/ +%{python3_sitearch}/%{pkgname}/ +%{python3_sitearch}/_%{pkgname}.*.so + +%files doc +%license COPYING +%doc docs/_build/html/* + +%changelog +* Apr 07 2019 13:12:51 CEST Igor Gnatenko - 0.28.0-1 +- Initial package diff --git a/sources b/sources index e69de29..07f08fb 100644 --- a/sources +++ b/sources @@ -0,0 +1 @@ +SHA512 (pygit2-0.28.0.tar.gz) = 117d9f7da39d3d39d4d67941d08f2b404cbd05b80f504d0927b4f0532509adb81466b0b29c01cbcdb44e6681c00042f259132186d4b49745560639ce6cd82d7e From 775d8b67aeab49f175231eea16b9c0edad5205f6 Mon Sep 17 00:00:00 2001 From: Igor Gnatenko Date: Sun, 7 Apr 2019 15:21:59 +0200 Subject: [PATCH 090/150] Fixup changelog Signed-off-by: Igor Gnatenko --- python-pygit2.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/python-pygit2.spec b/python-pygit2.spec index 324efeb..6a2aacc 100644 --- a/python-pygit2.spec +++ b/python-pygit2.spec @@ -103,5 +103,5 @@ find %{buildroot} -name '*.so' -exec chmod 755 {} ';' %doc docs/_build/html/* %changelog -* Apr 07 2019 13:12:51 CEST Igor Gnatenko - 0.28.0-1 +* Sun Apr 07 2019 13:12:51 CEST Igor Gnatenko - 0.28.0-1 - Initial package From 2897a4441f0dc596a4eb9a1ada5b1cbf660f9820 Mon Sep 17 00:00:00 2001 From: Igor Gnatenko Date: Sun, 7 Apr 2019 19:45:39 +0200 Subject: [PATCH 091/150] Skip tests on aarch64/f28 Signed-off-by: Igor Gnatenko --- python-pygit2.spec | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/python-pygit2.spec b/python-pygit2.spec index 6a2aacc..8ec3f3d 100644 --- a/python-pygit2.spec +++ b/python-pygit2.spec @@ -1,3 +1,11 @@ +%if 0%{?fedora} && 0%{?fedora} <= 28 + # https://github.com/libgit2/pygit2/issues/811 + # https://github.com/libgit2/pygit2/issues/812 + %global arch_test_fail aarch64 ppc64 s390x +%else + # https://github.com/libgit2/pygit2/issues/811 + %global arch_test_fail ppc64 s390x +%endif %global pkgname pygit2 Name: python-%{pkgname} @@ -75,8 +83,7 @@ find %{_builddir} -name '.buildinfo' -delete find %{buildroot} -name '*.so' -exec chmod 755 {} ';' %check -# https://github.com/libgit2/pygit2/issues/812 -%ifarch ppc64 s390x +%ifarch arch_test_fail PYTHONPATH=%{buildroot}%{python2_sitearch} py.test-%{python2_version} -v || : PYTHONPATH=%{buildroot}%{python3_sitearch} py.test-%{python3_version} -v || : %else From 4f2efc3e9863c54a07b6a12eec66b233bb90de93 Mon Sep 17 00:00:00 2001 From: Igor Gnatenko Date: Sun, 7 Apr 2019 20:12:53 +0200 Subject: [PATCH 092/150] Use proper macro Signed-off-by: Igor Gnatenko --- python-pygit2.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/python-pygit2.spec b/python-pygit2.spec index 8ec3f3d..8433f21 100644 --- a/python-pygit2.spec +++ b/python-pygit2.spec @@ -83,7 +83,7 @@ find %{_builddir} -name '.buildinfo' -delete find %{buildroot} -name '*.so' -exec chmod 755 {} ';' %check -%ifarch arch_test_fail +%ifarch %{arch_test_fail} PYTHONPATH=%{buildroot}%{python2_sitearch} py.test-%{python2_version} -v || : PYTHONPATH=%{buildroot}%{python3_sitearch} py.test-%{python3_version} -v || : %else From ee69ccd485814b8f24744af1823d9e70a494df5b Mon Sep 17 00:00:00 2001 From: Igor Gnatenko Date: Thu, 6 Jun 2019 14:35:30 +0200 Subject: [PATCH 093/150] Update to 0.28.2 Signed-off-by: Igor Gnatenko --- .gitignore | 1 + python-pygit2.spec | 12 ++++++------ sources | 2 +- 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/.gitignore b/.gitignore index 620aa5c..d7d2d34 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ /pygit2-0.28.0.tar.gz +/pygit2-0.28.2.tar.gz diff --git a/python-pygit2.spec b/python-pygit2.spec index 8433f21..02e1a68 100644 --- a/python-pygit2.spec +++ b/python-pygit2.spec @@ -7,9 +7,10 @@ %global arch_test_fail ppc64 s390x %endif %global pkgname pygit2 +%{?python_enable_dependency_generator} Name: python-%{pkgname} -Version: 0.28.0 +Version: 0.28.2 Release: 1%{?dist} Summary: Python bindings for libgit2 @@ -32,8 +33,6 @@ BuildRequires: python2-setuptools BuildRequires: python2-cffi BuildRequires: python2-six BuildRequires: python2-pytest -Requires: python2-cffi -Requires: python2-six %description -n python2-%{pkgname} pygit2 is a set of Python bindings to the libgit2 library, which implements @@ -49,8 +48,6 @@ BuildRequires: python3-setuptools BuildRequires: python3-cffi BuildRequires: python3-six BuildRequires: python3-pytest -Requires: python3-cffi -Requires: python3-six %description -n python3-%{pkgname} pygit2 is a set of Python bindings to the libgit2 library, which implements @@ -110,5 +107,8 @@ find %{buildroot} -name '*.so' -exec chmod 755 {} ';' %doc docs/_build/html/* %changelog -* Sun Apr 07 2019 13:12:51 CEST Igor Gnatenko - 0.28.0-1 +* Thu Jun 06 14:32:34 CEST 2019 Igor Gnatenko - 0.28.2-1 +- Update to 0.28.2 + +* Sun Apr 07 13:12:51 CEST 2019 Igor Gnatenko - 0.28.0-1 - Initial package diff --git a/sources b/sources index 07f08fb..a3af7ec 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (pygit2-0.28.0.tar.gz) = 117d9f7da39d3d39d4d67941d08f2b404cbd05b80f504d0927b4f0532509adb81466b0b29c01cbcdb44e6681c00042f259132186d4b49745560639ce6cd82d7e +SHA512 (pygit2-0.28.2.tar.gz) = ee8d271547704a341cb4917dfff5338550d2ddeb3c6ab4c9560665272fcaccba5427b01947d815b5329587c944803b78f3ee62df4709187b6a813d60cc51f5c6 From a6e846abcddbac9be272280688227467df198d3f Mon Sep 17 00:00:00 2001 From: Igor Gnatenko Date: Thu, 6 Jun 2019 14:43:51 +0200 Subject: [PATCH 094/150] Cleanup conditionals Signed-off-by: Igor Gnatenko --- python-pygit2.spec | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/python-pygit2.spec b/python-pygit2.spec index 02e1a68..36d40f8 100644 --- a/python-pygit2.spec +++ b/python-pygit2.spec @@ -1,11 +1,5 @@ -%if 0%{?fedora} && 0%{?fedora} <= 28 - # https://github.com/libgit2/pygit2/issues/811 - # https://github.com/libgit2/pygit2/issues/812 - %global arch_test_fail aarch64 ppc64 s390x -%else - # https://github.com/libgit2/pygit2/issues/811 - %global arch_test_fail ppc64 s390x -%endif +# https://github.com/libgit2/pygit2/issues/811 +%global arch_test_fail ppc64 s390x %global pkgname pygit2 %{?python_enable_dependency_generator} From 0c05c849f885f81e875edc6322afd62f3b212981 Mon Sep 17 00:00:00 2001 From: Igor Gnatenko Date: Thu, 6 Jun 2019 19:00:46 +0200 Subject: [PATCH 095/150] Apply workaround for tests to pass Signed-off-by: Igor Gnatenko --- python-pygit2.spec | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/python-pygit2.spec b/python-pygit2.spec index 3ce0273..e56f40d 100644 --- a/python-pygit2.spec +++ b/python-pygit2.spec @@ -51,12 +51,11 @@ make -C docs html %install %py3_install -find %{_builddir} -name '.buildinfo' -delete - -# Correct the permissions. -find %{buildroot} -name '*.so' -exec chmod 755 {} ';' +find %{_builddir} -name '.buildinfo' -print -delete %check +# This is horrible, but otherwise pytest does not use pygit2 from site-packages +rm -f pygit2/__init__.py %ifarch %{arch_test_fail} PYTHONPATH=%{buildroot}%{python3_sitearch} py.test-%{python3_version} -v || : %else From acaf85717e811546bd50556ffdb233dcf5492326 Mon Sep 17 00:00:00 2001 From: Pete Walter Date: Tue, 18 Jun 2019 18:46:26 +0100 Subject: [PATCH 096/150] Undo unwanted whitespace changes Igor, please stop changing other people's packages. Thanks. --- python-pygit2.spec | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/python-pygit2.spec b/python-pygit2.spec index e56f40d..36b294b 100644 --- a/python-pygit2.spec +++ b/python-pygit2.spec @@ -19,14 +19,15 @@ BuildRequires: (libgit2-devel >= 0.28.0 with libgit2-devel < 0.29.0) pygit2 is a set of Python bindings to the libgit2 library, which implements the core of Git. + %package -n python3-%{pkgname} Summary: Python 3.x bindings for libgit2 %{?python_provide:%python_provide python3-%{pkgname}} -BuildRequires: python3-devel -BuildRequires: python3-setuptools BuildRequires: python3-cffi -BuildRequires: python3-six +BuildRequires: python3-devel BuildRequires: python3-pytest +BuildRequires: python3-setuptools +BuildRequires: python3-six %description -n python3-%{pkgname} pygit2 is a set of Python bindings to the libgit2 library, which implements @@ -34,6 +35,7 @@ the core of Git. Python 3 version. + %package doc Summary: Documentation for %{name} BuildArch: noarch @@ -42,17 +44,22 @@ BuildRequires: /usr/bin/sphinx-build %description doc Documentation for %{name}. + %prep %autosetup -n %{pkgname}-%{version} -p1 + %build %py3_build + make -C docs html + %install %py3_install find %{_builddir} -name '.buildinfo' -print -delete + %check # This is horrible, but otherwise pytest does not use pygit2 from site-packages rm -f pygit2/__init__.py @@ -62,6 +69,7 @@ rm -f pygit2/__init__.py PYTHONPATH=%{buildroot}%{python3_sitearch} py.test-%{python3_version} -v %endif + %files -n python3-%{pkgname} %doc README.rst TODO.txt %license COPYING @@ -73,6 +81,7 @@ rm -f pygit2/__init__.py %license COPYING %doc docs/_build/html/* + %changelog * Thu Jun 06 14:32:34 CEST 2019 Igor Gnatenko - 0.28.2-1 - Update to 0.28.2 From 85fd6be22ca6e9d6a44c298d6d435290871e42b5 Mon Sep 17 00:00:00 2001 From: Pete Walter Date: Tue, 18 Jun 2019 18:48:03 +0100 Subject: [PATCH 097/150] Move comment to where the workaround is applied ... and also fix the link to the bug report. --- python-pygit2.spec | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/python-pygit2.spec b/python-pygit2.spec index 36b294b..e1a1680 100644 --- a/python-pygit2.spec +++ b/python-pygit2.spec @@ -1,5 +1,3 @@ -# https://github.com/libgit2/pygit2/issues/811 -%global arch_test_fail ppc64 s390x %global pkgname pygit2 %{?python_enable_dependency_generator} @@ -63,7 +61,8 @@ find %{_builddir} -name '.buildinfo' -print -delete %check # This is horrible, but otherwise pytest does not use pygit2 from site-packages rm -f pygit2/__init__.py -%ifarch %{arch_test_fail} +# https://github.com/libgit2/pygit2/issues/812 +%ifarch ppc64 s390x PYTHONPATH=%{buildroot}%{python3_sitearch} py.test-%{python3_version} -v || : %else PYTHONPATH=%{buildroot}%{python3_sitearch} py.test-%{python3_version} -v From 6bf0734a0556b198ccd2e20bb53fcf07a680f342 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 26 Jul 2019 15:29:31 +0000 Subject: [PATCH 098/150] - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- python-pygit2.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/python-pygit2.spec b/python-pygit2.spec index e1a1680..ff70e19 100644 --- a/python-pygit2.spec +++ b/python-pygit2.spec @@ -3,7 +3,7 @@ Name: python-%{pkgname} Version: 0.28.2 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Python bindings for libgit2 License: GPLv2 with linking exception @@ -82,6 +82,9 @@ rm -f pygit2/__init__.py %changelog +* Fri Jul 26 2019 Fedora Release Engineering - 0.28.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + * Thu Jun 06 14:32:34 CEST 2019 Igor Gnatenko - 0.28.2-1 - Update to 0.28.2 From 7a6496cece58b4f1e7876ce43e8858faad949124 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= Date: Mon, 19 Aug 2019 10:51:40 +0200 Subject: [PATCH 099/150] Rebuilt for Python 3.8 --- python-pygit2.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/python-pygit2.spec b/python-pygit2.spec index ff70e19..27ed2ca 100644 --- a/python-pygit2.spec +++ b/python-pygit2.spec @@ -3,7 +3,7 @@ Name: python-%{pkgname} Version: 0.28.2 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Python bindings for libgit2 License: GPLv2 with linking exception @@ -82,6 +82,9 @@ rm -f pygit2/__init__.py %changelog +* Mon Aug 19 2019 Miro Hrončok - 0.28.2-3 +- Rebuilt for Python 3.8 + * Fri Jul 26 2019 Fedora Release Engineering - 0.28.2-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild From 9651f2926f66b7acf164c1738675a615117b6631 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= Date: Thu, 3 Oct 2019 14:24:56 +0200 Subject: [PATCH 100/150] Rebuilt for Python 3.8.0rc1 (#1748018) --- python-pygit2.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/python-pygit2.spec b/python-pygit2.spec index 27ed2ca..79acc92 100644 --- a/python-pygit2.spec +++ b/python-pygit2.spec @@ -3,7 +3,7 @@ Name: python-%{pkgname} Version: 0.28.2 -Release: 3%{?dist} +Release: 4%{?dist} Summary: Python bindings for libgit2 License: GPLv2 with linking exception @@ -82,6 +82,9 @@ rm -f pygit2/__init__.py %changelog +* Thu Oct 03 2019 Miro Hrončok - 0.28.2-4 +- Rebuilt for Python 3.8.0rc1 (#1748018) + * Mon Aug 19 2019 Miro Hrončok - 0.28.2-3 - Rebuilt for Python 3.8 From 5d1fec4ba0e187a753b902e944f9a1c3bb3a0848 Mon Sep 17 00:00:00 2001 From: Pete Walter Date: Mon, 13 Jan 2020 12:04:24 +0000 Subject: [PATCH 101/150] Update to 1.0.2 --- .gitignore | 1 + python-pygit2.spec | 7 +++++-- sources | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 06a0463..cddc77b 100644 --- a/.gitignore +++ b/.gitignore @@ -25,3 +25,4 @@ /pygit2-0.27.4.tar.gz /pygit2-0.28.0.tar.gz /pygit2-0.28.2.tar.gz +/pygit2-1.0.2.tar.gz diff --git a/python-pygit2.spec b/python-pygit2.spec index 79acc92..6337991 100644 --- a/python-pygit2.spec +++ b/python-pygit2.spec @@ -2,8 +2,8 @@ %{?python_enable_dependency_generator} Name: python-%{pkgname} -Version: 0.28.2 -Release: 4%{?dist} +Version: 1.0.2 +Release: 1%{?dist} Summary: Python bindings for libgit2 License: GPLv2 with linking exception @@ -82,6 +82,9 @@ rm -f pygit2/__init__.py %changelog +* Mon Jan 13 2020 Pete Walter - 1.0.2-1 +- Update to 1.0.2 + * Thu Oct 03 2019 Miro Hrončok - 0.28.2-4 - Rebuilt for Python 3.8.0rc1 (#1748018) diff --git a/sources b/sources index a3af7ec..96750a6 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (pygit2-0.28.2.tar.gz) = ee8d271547704a341cb4917dfff5338550d2ddeb3c6ab4c9560665272fcaccba5427b01947d815b5329587c944803b78f3ee62df4709187b6a813d60cc51f5c6 +SHA512 (pygit2-1.0.2.tar.gz) = a111e867c4ed58a4a7ae293e2419905b1939a444e6d9a4e64c08e874e4b6f840638a955f04cb2a087d6373112a92d65ef62aa56b6bf1585eb8b9fbc590bf7131 From 65203799eeeef1065f1f4fff5481762ad2d0bca0 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 30 Jan 2020 14:23:39 +0000 Subject: [PATCH 102/150] - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- python-pygit2.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/python-pygit2.spec b/python-pygit2.spec index 6337991..d2b86dc 100644 --- a/python-pygit2.spec +++ b/python-pygit2.spec @@ -3,7 +3,7 @@ Name: python-%{pkgname} Version: 1.0.2 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Python bindings for libgit2 License: GPLv2 with linking exception @@ -82,6 +82,9 @@ rm -f pygit2/__init__.py %changelog +* Thu Jan 30 2020 Fedora Release Engineering - 1.0.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + * Mon Jan 13 2020 Pete Walter - 1.0.2-1 - Update to 1.0.2 From 2b273f3c1e93f8a9156a1a7245741e1ac942acf2 Mon Sep 17 00:00:00 2001 From: Pete Walter Date: Sun, 2 Feb 2020 19:55:20 +0000 Subject: [PATCH 103/150] Update to 1.0.3 --- .gitignore | 1 + python-pygit2.spec | 7 +++++-- sources | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index cddc77b..815b904 100644 --- a/.gitignore +++ b/.gitignore @@ -26,3 +26,4 @@ /pygit2-0.28.0.tar.gz /pygit2-0.28.2.tar.gz /pygit2-1.0.2.tar.gz +/pygit2-1.0.3.tar.gz diff --git a/python-pygit2.spec b/python-pygit2.spec index d2b86dc..71c0ce0 100644 --- a/python-pygit2.spec +++ b/python-pygit2.spec @@ -2,8 +2,8 @@ %{?python_enable_dependency_generator} Name: python-%{pkgname} -Version: 1.0.2 -Release: 2%{?dist} +Version: 1.0.3 +Release: 1%{?dist} Summary: Python bindings for libgit2 License: GPLv2 with linking exception @@ -82,6 +82,9 @@ rm -f pygit2/__init__.py %changelog +* Sun Feb 02 2020 Pete Walter - 1.0.3-1 +- Update to 1.0.3 + * Thu Jan 30 2020 Fedora Release Engineering - 1.0.2-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild diff --git a/sources b/sources index 96750a6..2e77ced 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (pygit2-1.0.2.tar.gz) = a111e867c4ed58a4a7ae293e2419905b1939a444e6d9a4e64c08e874e4b6f840638a955f04cb2a087d6373112a92d65ef62aa56b6bf1585eb8b9fbc590bf7131 +SHA512 (pygit2-1.0.3.tar.gz) = 1df770fbe4a3517ba7a6bc087c26ad6b5478d53a2e42e31827573a6b89be01c2624cd64080236e70d438ff926983314b967bfae6b0bc0b5a55facbdfe09147ca From 44c23e96249ed0e62505823ea9cdeb78268538fa Mon Sep 17 00:00:00 2001 From: Igor Raits Date: Tue, 3 Mar 2020 10:53:37 +0100 Subject: [PATCH 104/150] Update to 1.1.0 Signed-off-by: Igor Raits --- .gitignore | 1 + python-pygit2.spec | 8 +++++--- sources | 2 +- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index 815b904..42cf4c5 100644 --- a/.gitignore +++ b/.gitignore @@ -27,3 +27,4 @@ /pygit2-0.28.2.tar.gz /pygit2-1.0.2.tar.gz /pygit2-1.0.3.tar.gz +/pygit2-1.1.0.tar.gz diff --git a/python-pygit2.spec b/python-pygit2.spec index 71c0ce0..08671f6 100644 --- a/python-pygit2.spec +++ b/python-pygit2.spec @@ -1,8 +1,7 @@ %global pkgname pygit2 -%{?python_enable_dependency_generator} Name: python-%{pkgname} -Version: 1.0.3 +Version: 1.1.0 Release: 1%{?dist} Summary: Python bindings for libgit2 @@ -11,7 +10,7 @@ URL: https://www.pygit2.org/ Source0: https://github.com/libgit2/%{pkgname}/archive/v%{version}/%{pkgname}-%{version}.tar.gz BuildRequires: gcc -BuildRequires: (libgit2-devel >= 0.28.0 with libgit2-devel < 0.29.0) +BuildRequires: (libgit2-devel >= 0.99.0 with libgit2-devel < 1.1.0) %description pygit2 is a set of Python bindings to the libgit2 library, which implements @@ -82,6 +81,9 @@ rm -f pygit2/__init__.py %changelog +* Tue Mar 03 2020 Igor Raits - 1.1.0-1 +- Update to 1.1.0 + * Sun Feb 02 2020 Pete Walter - 1.0.3-1 - Update to 1.0.3 diff --git a/sources b/sources index 2e77ced..b01f62a 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (pygit2-1.0.3.tar.gz) = 1df770fbe4a3517ba7a6bc087c26ad6b5478d53a2e42e31827573a6b89be01c2624cd64080236e70d438ff926983314b967bfae6b0bc0b5a55facbdfe09147ca +SHA512 (pygit2-1.1.0.tar.gz) = 32deefd8fa1b42f041a308131d8fd62e033e6231b92cb210185297dc621b10ac45e5da1ad570ebc9407cb7cde093a5d85ac0f68d5117bfff1f43f0ba4fa71174 From 307ea41bcd9ec8353f139b89c69c365429ae2ebb Mon Sep 17 00:00:00 2001 From: Igor Raits Date: Tue, 3 Mar 2020 11:34:35 +0100 Subject: [PATCH 105/150] Add missing BR for tests Signed-off-by: Igor Raits --- python-pygit2.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/python-pygit2.spec b/python-pygit2.spec index 08671f6..3454960 100644 --- a/python-pygit2.spec +++ b/python-pygit2.spec @@ -25,6 +25,7 @@ BuildRequires: python3-devel BuildRequires: python3-pytest BuildRequires: python3-setuptools BuildRequires: python3-six +BuildRequires: python3-cached_property %description -n python3-%{pkgname} pygit2 is a set of Python bindings to the libgit2 library, which implements From 4763d2d3406dcae6335846f90afd79bc13cb4463 Mon Sep 17 00:00:00 2001 From: Igor Raits Date: Tue, 3 Mar 2020 11:40:12 +0100 Subject: [PATCH 106/150] Remove obsolete file entry Signed-off-by: Igor Raits --- python-pygit2.spec | 1 - 1 file changed, 1 deletion(-) diff --git a/python-pygit2.spec b/python-pygit2.spec index 3454960..8f21338 100644 --- a/python-pygit2.spec +++ b/python-pygit2.spec @@ -74,7 +74,6 @@ rm -f pygit2/__init__.py %license COPYING %{python3_sitearch}/%{pkgname}-*.egg-info/ %{python3_sitearch}/%{pkgname}/ -%{python3_sitearch}/_%{pkgname}.*.so %files doc %license COPYING From 315f28acd3ed91c792fbe59ae8e99326ffd78d37 Mon Sep 17 00:00:00 2001 From: Igor Raits Date: Tue, 3 Mar 2020 19:55:37 +0100 Subject: [PATCH 107/150] Drop unneeded python3-six dep Signed-off-by: Igor Raits --- python-pygit2.spec | 1 - 1 file changed, 1 deletion(-) diff --git a/python-pygit2.spec b/python-pygit2.spec index 8f21338..1101dd8 100644 --- a/python-pygit2.spec +++ b/python-pygit2.spec @@ -24,7 +24,6 @@ BuildRequires: python3-cffi BuildRequires: python3-devel BuildRequires: python3-pytest BuildRequires: python3-setuptools -BuildRequires: python3-six BuildRequires: python3-cached_property %description -n python3-%{pkgname} From 1e7229a41e7a110bbc45d42004bdde5b466f48ef Mon Sep 17 00:00:00 2001 From: Pete Walter Date: Sat, 21 Mar 2020 15:50:37 +0000 Subject: [PATCH 108/150] Update to 1.1.1 --- .gitignore | 1 + python-pygit2.spec | 7 +++++-- sources | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 42cf4c5..86840ed 100644 --- a/.gitignore +++ b/.gitignore @@ -28,3 +28,4 @@ /pygit2-1.0.2.tar.gz /pygit2-1.0.3.tar.gz /pygit2-1.1.0.tar.gz +/pygit2-1.1.1.tar.gz diff --git a/python-pygit2.spec b/python-pygit2.spec index 1101dd8..28a82b8 100644 --- a/python-pygit2.spec +++ b/python-pygit2.spec @@ -1,7 +1,7 @@ %global pkgname pygit2 Name: python-%{pkgname} -Version: 1.1.0 +Version: 1.1.1 Release: 1%{?dist} Summary: Python bindings for libgit2 @@ -69,8 +69,8 @@ rm -f pygit2/__init__.py %files -n python3-%{pkgname} -%doc README.rst TODO.txt %license COPYING +%doc README.rst %{python3_sitearch}/%{pkgname}-*.egg-info/ %{python3_sitearch}/%{pkgname}/ @@ -80,6 +80,9 @@ rm -f pygit2/__init__.py %changelog +* Sat Mar 21 2020 Pete Walter - 1.1.1-1 +- Update to 1.1.1 + * Tue Mar 03 2020 Igor Raits - 1.1.0-1 - Update to 1.1.0 diff --git a/sources b/sources index b01f62a..498d71e 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (pygit2-1.1.0.tar.gz) = 32deefd8fa1b42f041a308131d8fd62e033e6231b92cb210185297dc621b10ac45e5da1ad570ebc9407cb7cde093a5d85ac0f68d5117bfff1f43f0ba4fa71174 +SHA512 (pygit2-1.1.1.tar.gz) = 4453b4ba357c223c64208d6653894fafe9eb7ab1aafd92a06e0128e6e00544dccbd13dce304688fd1a2ed27deabccf81fb8b8d08d4484f2d0d02878b6c8eee04 From 5adc81e9d55610de6a893d7e9e23fe01947c88b8 Mon Sep 17 00:00:00 2001 From: Pete Walter Date: Sat, 21 Mar 2020 15:53:37 +0000 Subject: [PATCH 109/150] Improve description --- python-pygit2.spec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/python-pygit2.spec b/python-pygit2.spec index 28a82b8..d4aa048 100644 --- a/python-pygit2.spec +++ b/python-pygit2.spec @@ -18,7 +18,7 @@ the core of Git. %package -n python3-%{pkgname} -Summary: Python 3.x bindings for libgit2 +Summary: Python 3 bindings for libgit2 %{?python_provide:%python_provide python3-%{pkgname}} BuildRequires: python3-cffi BuildRequires: python3-devel @@ -30,7 +30,7 @@ BuildRequires: python3-cached_property pygit2 is a set of Python bindings to the libgit2 library, which implements the core of Git. -Python 3 version. +The python3-%{pkgname} package contains the Python 3 bindings. %package doc From 6a4603f43dd4220e7373b6ca0c58652f0504085a Mon Sep 17 00:00:00 2001 From: Igor Raits Date: Wed, 15 Apr 2020 11:18:25 +0200 Subject: [PATCH 110/150] Update to 1.2.0 Signed-off-by: Igor Raits --- .gitignore | 1 + python-pygit2.spec | 7 +++++-- sources | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 86840ed..46a1f00 100644 --- a/.gitignore +++ b/.gitignore @@ -29,3 +29,4 @@ /pygit2-1.0.3.tar.gz /pygit2-1.1.0.tar.gz /pygit2-1.1.1.tar.gz +/pygit2-1.2.0.tar.gz diff --git a/python-pygit2.spec b/python-pygit2.spec index d4aa048..2f8215b 100644 --- a/python-pygit2.spec +++ b/python-pygit2.spec @@ -1,7 +1,7 @@ %global pkgname pygit2 Name: python-%{pkgname} -Version: 1.1.1 +Version: 1.2.0 Release: 1%{?dist} Summary: Python bindings for libgit2 @@ -10,7 +10,7 @@ URL: https://www.pygit2.org/ Source0: https://github.com/libgit2/%{pkgname}/archive/v%{version}/%{pkgname}-%{version}.tar.gz BuildRequires: gcc -BuildRequires: (libgit2-devel >= 0.99.0 with libgit2-devel < 1.1.0) +BuildRequires: (libgit2-devel >= 1.0.0 with libgit2-devel < 2.0.0) %description pygit2 is a set of Python bindings to the libgit2 library, which implements @@ -80,6 +80,9 @@ rm -f pygit2/__init__.py %changelog +* Wed Apr 15 2020 Igor Raits - 1.2.0-1 +- Update to 1.2.0 + * Sat Mar 21 2020 Pete Walter - 1.1.1-1 - Update to 1.1.1 diff --git a/sources b/sources index 498d71e..961a8c2 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (pygit2-1.1.1.tar.gz) = 4453b4ba357c223c64208d6653894fafe9eb7ab1aafd92a06e0128e6e00544dccbd13dce304688fd1a2ed27deabccf81fb8b8d08d4484f2d0d02878b6c8eee04 +SHA512 (pygit2-1.2.0.tar.gz) = 1c9c59f65b8c8f047510831fff63f0f60fa64c4359a012306603d3409e5d05d955c3af0b273e57f0a345aebd5ba94c8f61628b5a04131f7b6862986eb4c855ec From eabe17d10a69913ce2f80c1fb9e5583f97e00bda Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= Date: Tue, 26 May 2020 03:32:50 +0200 Subject: [PATCH 111/150] Rebuilt for Python 3.9 --- python-pygit2.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/python-pygit2.spec b/python-pygit2.spec index 2f8215b..051a513 100644 --- a/python-pygit2.spec +++ b/python-pygit2.spec @@ -2,7 +2,7 @@ Name: python-%{pkgname} Version: 1.2.0 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Python bindings for libgit2 License: GPLv2 with linking exception @@ -80,6 +80,9 @@ rm -f pygit2/__init__.py %changelog +* Tue May 26 2020 Miro Hrončok - 1.2.0-2 +- Rebuilt for Python 3.9 + * Wed Apr 15 2020 Igor Raits - 1.2.0-1 - Update to 1.2.0 From 64acd707c10d9366d0ea2896d655928fab2d9bf2 Mon Sep 17 00:00:00 2001 From: Pete Walter Date: Fri, 5 Jun 2020 07:13:07 +0100 Subject: [PATCH 112/150] Update to 1.2.1 --- .gitignore | 1 + python-pygit2.spec | 7 +++++-- sources | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 46a1f00..c29d666 100644 --- a/.gitignore +++ b/.gitignore @@ -30,3 +30,4 @@ /pygit2-1.1.0.tar.gz /pygit2-1.1.1.tar.gz /pygit2-1.2.0.tar.gz +/pygit2-1.2.1.tar.gz diff --git a/python-pygit2.spec b/python-pygit2.spec index 051a513..8160a81 100644 --- a/python-pygit2.spec +++ b/python-pygit2.spec @@ -1,8 +1,8 @@ %global pkgname pygit2 Name: python-%{pkgname} -Version: 1.2.0 -Release: 2%{?dist} +Version: 1.2.1 +Release: 1%{?dist} Summary: Python bindings for libgit2 License: GPLv2 with linking exception @@ -80,6 +80,9 @@ rm -f pygit2/__init__.py %changelog +* Fri Jun 05 2020 Pete Walter - 1.2.1-1 +- Update to 1.2.1 + * Tue May 26 2020 Miro Hrončok - 1.2.0-2 - Rebuilt for Python 3.9 diff --git a/sources b/sources index 961a8c2..1d40a4e 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (pygit2-1.2.0.tar.gz) = 1c9c59f65b8c8f047510831fff63f0f60fa64c4359a012306603d3409e5d05d955c3af0b273e57f0a345aebd5ba94c8f61628b5a04131f7b6862986eb4c855ec +SHA512 (pygit2-1.2.1.tar.gz) = f451ed294050b6094d983b695eca7c10d26142addc28b8a91238bd8dd3fbc725ee3a26f8cf222c6b6554f7e45c0c7acfc8aac7b23443bc35efe878d7f816c8bb From 2c8a4176684f380919dcad6bcdd64948c9d83339 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 29 Jul 2020 03:04:42 +0000 Subject: [PATCH 113/150] - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- python-pygit2.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/python-pygit2.spec b/python-pygit2.spec index 8160a81..dab0dd0 100644 --- a/python-pygit2.spec +++ b/python-pygit2.spec @@ -2,7 +2,7 @@ Name: python-%{pkgname} Version: 1.2.1 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Python bindings for libgit2 License: GPLv2 with linking exception @@ -80,6 +80,9 @@ rm -f pygit2/__init__.py %changelog +* Wed Jul 29 2020 Fedora Release Engineering - 1.2.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + * Fri Jun 05 2020 Pete Walter - 1.2.1-1 - Update to 1.2.1 From d29a8f5f95658f6d294492727aad1aea0e905446 Mon Sep 17 00:00:00 2001 From: Pete Walter Date: Sat, 19 Sep 2020 09:25:15 +0100 Subject: [PATCH 114/150] Update to 1.3.0 --- .gitignore | 1 + python-pygit2.spec | 7 +++++-- sources | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index c29d666..c3b5982 100644 --- a/.gitignore +++ b/.gitignore @@ -31,3 +31,4 @@ /pygit2-1.1.1.tar.gz /pygit2-1.2.0.tar.gz /pygit2-1.2.1.tar.gz +/pygit2-1.3.0.tar.gz diff --git a/python-pygit2.spec b/python-pygit2.spec index dab0dd0..1d77677 100644 --- a/python-pygit2.spec +++ b/python-pygit2.spec @@ -1,8 +1,8 @@ %global pkgname pygit2 Name: python-%{pkgname} -Version: 1.2.1 -Release: 2%{?dist} +Version: 1.3.0 +Release: 1%{?dist} Summary: Python bindings for libgit2 License: GPLv2 with linking exception @@ -80,6 +80,9 @@ rm -f pygit2/__init__.py %changelog +* Sat Sep 19 2020 Pete Walter - 1.3.0-1 +- Update to 1.3.0 + * Wed Jul 29 2020 Fedora Release Engineering - 1.2.1-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild diff --git a/sources b/sources index 1d40a4e..d3ac30d 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (pygit2-1.2.1.tar.gz) = f451ed294050b6094d983b695eca7c10d26142addc28b8a91238bd8dd3fbc725ee3a26f8cf222c6b6554f7e45c0c7acfc8aac7b23443bc35efe878d7f816c8bb +SHA512 (pygit2-1.3.0.tar.gz) = 6bfe19704b10bfa6c085d8876dc9c87b46d5167e4e6426b25fedf309f5ad8022d9d094998d84ba804d495bede0b051056405f0270eadbe547a7eb643fecfd156 From 360b2005302bf3a85d1d39810c774a6b2fd6d437 Mon Sep 17 00:00:00 2001 From: Igor Raits Date: Mon, 28 Dec 2020 18:53:11 +0100 Subject: [PATCH 115/150] Update to 1.4.0 Signed-off-by: Igor Raits --- .gitignore | 1 + python-pygit2.spec | 7 +++++-- sources | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index c3b5982..1fab400 100644 --- a/.gitignore +++ b/.gitignore @@ -32,3 +32,4 @@ /pygit2-1.2.0.tar.gz /pygit2-1.2.1.tar.gz /pygit2-1.3.0.tar.gz +/pygit2-1.4.0.tar.gz diff --git a/python-pygit2.spec b/python-pygit2.spec index 1d77677..4c30f82 100644 --- a/python-pygit2.spec +++ b/python-pygit2.spec @@ -1,7 +1,7 @@ %global pkgname pygit2 Name: python-%{pkgname} -Version: 1.3.0 +Version: 1.4.0 Release: 1%{?dist} Summary: Python bindings for libgit2 @@ -10,7 +10,7 @@ URL: https://www.pygit2.org/ Source0: https://github.com/libgit2/%{pkgname}/archive/v%{version}/%{pkgname}-%{version}.tar.gz BuildRequires: gcc -BuildRequires: (libgit2-devel >= 1.0.0 with libgit2-devel < 2.0.0) +BuildRequires: (libgit2-devel >= 1.1.0 with libgit2-devel < 2.0.0) %description pygit2 is a set of Python bindings to the libgit2 library, which implements @@ -80,6 +80,9 @@ rm -f pygit2/__init__.py %changelog +* Mon Dec 28 2020 Igor Raits - 1.4.0-1 +- Update to 1.4.0 + * Sat Sep 19 2020 Pete Walter - 1.3.0-1 - Update to 1.3.0 diff --git a/sources b/sources index d3ac30d..d692453 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (pygit2-1.3.0.tar.gz) = 6bfe19704b10bfa6c085d8876dc9c87b46d5167e4e6426b25fedf309f5ad8022d9d094998d84ba804d495bede0b051056405f0270eadbe547a7eb643fecfd156 +SHA512 (pygit2-1.4.0.tar.gz) = 732a307711a014c2d3677c1921bb72bb53d3701efa1af5be2795f622137cf395a138d4640a6278e35263e1f8cc25de4644dd4fb8622f8d78d9703cf1279b1d49 From f55c3304fb7934a48084e2aebf1c631c51546896 Mon Sep 17 00:00:00 2001 From: Tom Stellard Date: Fri, 8 Jan 2021 19:56:56 +0000 Subject: [PATCH 116/150] Add BuildRequires: make https://fedoraproject.org/wiki/Changes/Remove_make_from_BuildRoot --- python-pygit2.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/python-pygit2.spec b/python-pygit2.spec index 4c30f82..93c36bd 100644 --- a/python-pygit2.spec +++ b/python-pygit2.spec @@ -9,6 +9,7 @@ License: GPLv2 with linking exception URL: https://www.pygit2.org/ Source0: https://github.com/libgit2/%{pkgname}/archive/v%{version}/%{pkgname}-%{version}.tar.gz +BuildRequires: make BuildRequires: gcc BuildRequires: (libgit2-devel >= 1.1.0 with libgit2-devel < 2.0.0) From 03d03824429a1aa082371a99ad3d19df57f5116c Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 27 Jan 2021 12:34:53 +0000 Subject: [PATCH 117/150] - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- python-pygit2.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/python-pygit2.spec b/python-pygit2.spec index 93c36bd..a3c9648 100644 --- a/python-pygit2.spec +++ b/python-pygit2.spec @@ -2,7 +2,7 @@ Name: python-%{pkgname} Version: 1.4.0 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Python bindings for libgit2 License: GPLv2 with linking exception @@ -81,6 +81,9 @@ rm -f pygit2/__init__.py %changelog +* Wed Jan 27 2021 Fedora Release Engineering - 1.4.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + * Mon Dec 28 2020 Igor Raits - 1.4.0-1 - Update to 1.4.0 From a3436275072fa44e58dd2b2d9692edd08608a7b6 Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Thu, 28 Jan 2021 15:54:27 -0800 Subject: [PATCH 118/150] Update to 1.5.0. Fixes rhbz#1919576 --- .gitignore | 1 + python-pygit2.spec | 7 +++++-- sources | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 1fab400..e3d24d9 100644 --- a/.gitignore +++ b/.gitignore @@ -33,3 +33,4 @@ /pygit2-1.2.1.tar.gz /pygit2-1.3.0.tar.gz /pygit2-1.4.0.tar.gz +/pygit2-1.5.0.tar.gz diff --git a/python-pygit2.spec b/python-pygit2.spec index a3c9648..4e2eecc 100644 --- a/python-pygit2.spec +++ b/python-pygit2.spec @@ -1,8 +1,8 @@ %global pkgname pygit2 Name: python-%{pkgname} -Version: 1.4.0 -Release: 2%{?dist} +Version: 1.5.0 +Release: 1%{?dist} Summary: Python bindings for libgit2 License: GPLv2 with linking exception @@ -81,6 +81,9 @@ rm -f pygit2/__init__.py %changelog +* Thu Jan 28 2021 Kevin Fenzi - 1.5.0-1 +- Update to 1.5.0. Fixes rhbz#1919576 + * Wed Jan 27 2021 Fedora Release Engineering - 1.4.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild diff --git a/sources b/sources index d692453..8db631c 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (pygit2-1.4.0.tar.gz) = 732a307711a014c2d3677c1921bb72bb53d3701efa1af5be2795f622137cf395a138d4640a6278e35263e1f8cc25de4644dd4fb8622f8d78d9703cf1279b1d49 +SHA512 (pygit2-1.5.0.tar.gz) = fbf92cbcdfcc047a8946149ee542ce2d5d11bccdf37174133372de10a92d73a72ff2558bb5f32c574bf743fa75acd2c42500150ffd8e0b69de4a2a952a6dfc95 From f9c6ffb8ff4a60d4e6895c357ded0b9d234764e5 Mon Sep 17 00:00:00 2001 From: Python Maint Date: Fri, 4 Jun 2021 20:53:29 +0200 Subject: [PATCH 119/150] Rebuilt for Python 3.10 --- python-pygit2.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/python-pygit2.spec b/python-pygit2.spec index 4e2eecc..7c59a3a 100644 --- a/python-pygit2.spec +++ b/python-pygit2.spec @@ -2,7 +2,7 @@ Name: python-%{pkgname} Version: 1.5.0 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Python bindings for libgit2 License: GPLv2 with linking exception @@ -81,6 +81,9 @@ rm -f pygit2/__init__.py %changelog +* Fri Jun 04 2021 Python Maint - 1.5.0-2 +- Rebuilt for Python 3.10 + * Thu Jan 28 2021 Kevin Fenzi - 1.5.0-1 - Update to 1.5.0. Fixes rhbz#1919576 From 351dcaa20d4e046f4928f7bcbdcfa16f103b55c7 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 23 Jul 2021 08:34:27 +0000 Subject: [PATCH 120/150] - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- python-pygit2.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/python-pygit2.spec b/python-pygit2.spec index 7c59a3a..28ad2da 100644 --- a/python-pygit2.spec +++ b/python-pygit2.spec @@ -2,7 +2,7 @@ Name: python-%{pkgname} Version: 1.5.0 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Python bindings for libgit2 License: GPLv2 with linking exception @@ -81,6 +81,9 @@ rm -f pygit2/__init__.py %changelog +* Fri Jul 23 2021 Fedora Release Engineering - 1.5.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + * Fri Jun 04 2021 Python Maint - 1.5.0-2 - Rebuilt for Python 3.10 From e67f1126e19d7d309e5dadc19080fad50174ec02 Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Sun, 8 Aug 2021 17:26:54 -0700 Subject: [PATCH 121/150] Update to 1.6.1. Fixes rhbz#1966590 --- .gitignore | 1 + python-pygit2.spec | 7 +++++-- sources | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index e3d24d9..1ef777d 100644 --- a/.gitignore +++ b/.gitignore @@ -34,3 +34,4 @@ /pygit2-1.3.0.tar.gz /pygit2-1.4.0.tar.gz /pygit2-1.5.0.tar.gz +/pygit2-1.6.1.tar.gz diff --git a/python-pygit2.spec b/python-pygit2.spec index 28ad2da..e50242d 100644 --- a/python-pygit2.spec +++ b/python-pygit2.spec @@ -1,8 +1,8 @@ %global pkgname pygit2 Name: python-%{pkgname} -Version: 1.5.0 -Release: 3%{?dist} +Version: 1.6.1 +Release: 1%{?dist} Summary: Python bindings for libgit2 License: GPLv2 with linking exception @@ -81,6 +81,9 @@ rm -f pygit2/__init__.py %changelog +* Sun Aug 08 2021 Kevin Fenzi - 1.6.1-1 +- Update to 1.6.1. Fixes rhbz#1966590 + * Fri Jul 23 2021 Fedora Release Engineering - 1.5.0-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild diff --git a/sources b/sources index 8db631c..24c5c29 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (pygit2-1.5.0.tar.gz) = fbf92cbcdfcc047a8946149ee542ce2d5d11bccdf37174133372de10a92d73a72ff2558bb5f32c574bf743fa75acd2c42500150ffd8e0b69de4a2a952a6dfc95 +SHA512 (pygit2-1.6.1.tar.gz) = b4c3deef6259cf9aec9763831d66364744f7a93b6773b57402e5c04e56cfb920eedaa4f212b6127ce682a7a64808397d483c93d4a9ec40390951a517dabba421 From af5f59f83b6805cb1b002c50fe2261465e0ae484 Mon Sep 17 00:00:00 2001 From: Igor Raits Date: Sun, 28 Nov 2021 15:00:34 +0100 Subject: [PATCH 122/150] Switch to rpmautospec Signed-off-by: Igor Raits --- changelog | 265 ++++++++++++++++++++++++++++++++++++++++++++ python-pygit2.spec | 268 +-------------------------------------------- 2 files changed, 267 insertions(+), 266 deletions(-) create mode 100644 changelog diff --git a/changelog b/changelog new file mode 100644 index 0000000..a890eba --- /dev/null +++ b/changelog @@ -0,0 +1,265 @@ +* Sun Aug 08 2021 Kevin Fenzi - 1.6.1-1 +- Update to 1.6.1. Fixes rhbz#1966590 + +* Fri Jul 23 2021 Fedora Release Engineering - 1.5.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Fri Jun 04 2021 Python Maint - 1.5.0-2 +- Rebuilt for Python 3.10 + +* Thu Jan 28 2021 Kevin Fenzi - 1.5.0-1 +- Update to 1.5.0. Fixes rhbz#1919576 + +* Wed Jan 27 2021 Fedora Release Engineering - 1.4.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Mon Dec 28 2020 Igor Raits - 1.4.0-1 +- Update to 1.4.0 + +* Sat Sep 19 2020 Pete Walter - 1.3.0-1 +- Update to 1.3.0 + +* Wed Jul 29 2020 Fedora Release Engineering - 1.2.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Fri Jun 05 2020 Pete Walter - 1.2.1-1 +- Update to 1.2.1 + +* Tue May 26 2020 Miro Hrončok - 1.2.0-2 +- Rebuilt for Python 3.9 + +* Wed Apr 15 2020 Igor Raits - 1.2.0-1 +- Update to 1.2.0 + +* Sat Mar 21 2020 Pete Walter - 1.1.1-1 +- Update to 1.1.1 + +* Tue Mar 03 2020 Igor Raits - 1.1.0-1 +- Update to 1.1.0 + +* Sun Feb 02 2020 Pete Walter - 1.0.3-1 +- Update to 1.0.3 + +* Thu Jan 30 2020 Fedora Release Engineering - 1.0.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Mon Jan 13 2020 Pete Walter - 1.0.2-1 +- Update to 1.0.2 + +* Thu Oct 03 2019 Miro Hrončok - 0.28.2-4 +- Rebuilt for Python 3.8.0rc1 (#1748018) + +* Mon Aug 19 2019 Miro Hrončok - 0.28.2-3 +- Rebuilt for Python 3.8 + +* Fri Jul 26 2019 Fedora Release Engineering - 0.28.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Thu Jun 06 14:32:34 CEST 2019 Igor Gnatenko - 0.28.2-1 +- Update to 0.28.2 + +* Sat Feb 02 2019 Fedora Release Engineering - 0.27.4-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Thu Jan 24 2019 Pete Walter - 0.27.4-1 +- Update to 0.27.4 +- Enable tests on aarch64 as they seem fixed now + +* Thu Dec 27 2018 Pete Walter - 0.27.3-1 +- Update to 0.27.3 +- Switch to pytest + +* Thu Oct 11 2018 Zbigniew Jędrzejewski-Szmek - 0.27.2-2 +- Python2 binary package has been removed + See https://fedoraproject.org/wiki/Changes/Mass_Python_2_Package_Removal + +* Mon Sep 17 2018 Pete Walter - 0.27.2-1 +- Update to 0.27.2 + +* Fri Aug 10 2018 Igor Gnatenko - 0.27.1-1 +- Update to 0.27.1 + +* Sat Jul 14 2018 Fedora Release Engineering - 0.26.4-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Tue Jun 19 2018 Miro Hrončok - 0.26.4-2 +- Rebuilt for Python 3.7 + +* Mon Mar 26 2018 Pete Walter - 0.26.4-1 +- Update to 0.26.4 + +* Mon Feb 12 2018 Iryna Shcherbina - 0.26.3-3 +- Update Python 2 dependency declarations to new packaging standards + (See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3) + +* Fri Feb 09 2018 Fedora Release Engineering - 0.26.3-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Tue Dec 26 2017 Pete Walter - 0.26.3-1 +- Update to 0.26.3 + +* Fri Dec 01 2017 Pete Walter - 0.26.2-1 +- Update to 0.26.2 + +* Mon Nov 20 2017 Igor Gnatenko - 0.26.1-3 +- Fixup python3 conditionals + +* Mon Nov 20 2017 Pete Walter - 0.26.1-2 +- Add back Python 3 conditionals + +* Mon Nov 20 2017 Pete Walter - 0.26.1-1 +- Update to 0.26.1 + +* Thu Aug 03 2017 Fedora Release Engineering - 0.26.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Thu Jul 27 2017 Fedora Release Engineering - 0.26.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Sat Jul 08 2017 Igor Gnatenko - 0.26.0-1 +- Update to 0.26.0 + +* Sun May 07 2017 Pete Walter - 0.25.1-2 +- Fix the build with cffi 1.10 + +* Thu Apr 27 2017 Pete Walter - 0.25.1-1 +- Update to 0.25.1 +- Disable one more failing test that tries to do network access + +* Mon Apr 10 2017 Pete Walter - 0.25.0-3 +- Trivial spec file fixes +- Add Python 3 conditionals + +* Tue Feb 07 2017 Igor Gnatenko - 0.25.0-2 +- Bump release for rebuild + +* Tue Jan 10 2017 Igor Gnatenko - 0.25.0-1 +- Update to 0.25.0 (RHBZ #1408689) + +* Mon Dec 19 2016 Miro Hrončok - 0.24.2-2 +- Rebuild for Python 3.6 + +* Sat Nov 19 2016 Igor Gnatenko - 0.24.2-1 +- Update to 0.24.2 (RHBZ #1390796) + +* Tue Jul 19 2016 Fedora Release Engineering - 0.24.1-2 +- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages + +* Wed Jun 22 2016 Igor Gnatenko - 0.24.1-1 +- Update to 0.24.1 (RHBZ #1348750) + +* Mon Apr 18 2016 Igor Gnatenko 0.24.0-3 +- Remove remote-calling unit tests +- repository: decode() linkname +- repository: SYMTYPE is constant in module tarfile, not in any class + +* Thu Apr 14 2016 Igor Gnatenko - 0.24.0-2 +- Add python[23]-six to BR/Rs + +* Sun Mar 20 2016 Igor Gnatenko - 0.24.0-1 +- Update to 0.24.0 + +* Wed Feb 24 2016 Pierre-Yves Chibon - 0.23.3-2 +- Fix building 0.23.3 also in i686 + +* Sun Feb 14 2016 Igor Gnatenko - 0.23.3-1 +- Update to 0.23.3 +- Fix compliance with new packaging guidelines + +* Thu Feb 04 2016 Fedora Release Engineering - 0.23.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Tue Nov 10 2015 Fedora Release Engineering - 0.23.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Changes/python3.5 + +* Sun Sep 27 2015 Igor Gnatenko - 0.23.1-1 +- Update to 0.23.1 (RHBZ #1266726) + +* Fri Jul 31 2015 Igor Gnatenko - 0.23.0-0.1 +- Cherry-pick patch for 0.23.0 support + +* Fri Jul 31 2015 Zbigniew Jędrzejewski-Szmek - 0.22.1-2 +- Rebuilt for libgit2-0.23.0 and libgit2-glib-0.23 + +* Mon Jul 13 2015 Mathieu Bridon - 0.22.1-1 +- Update to 0.22.1 (#1242226) +- Drop one of our patches, as it has been merged in this release. + +* Thu Jun 18 2015 Fedora Release Engineering - 0.22.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Wed Jan 21 2015 Mathieu Bridon - 0.22.0-1 +- Update to 0.22.0 + +* Mon Nov 17 2014 Mathieu Bridon - 0.21.4-1 +- Update to 0.21.4 + +* Fri Sep 19 2014 Mathieu Bridon - 0.21.3-1 +- Update to 0.21.3 + +* Sun Aug 17 2014 Fedora Release Engineering - 0.21.2-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Thu Aug 14 2014 Mathieu Bridon - 0.21.2-2 +- Add missing requirement + https://bugzilla.redhat.com/show_bug.cgi?id=1129868 + +* Tue Aug 12 2014 Mathieu Bridon - 0.21.2-1 +- Update to 0.21.2 + +* Tue Jul 29 2014 Mathieu Bridon - 0.21.1-1 +- Update to 0.21.1 + +* Sun Jun 29 2014 Mathieu Bridon - 0.21.0-1 +- Update to 0.21.0 + +* Sat Jun 21 2014 Christopher Meng - 0.20.3-1 +- Update to 0.20.3 + +* Sat Jun 07 2014 Fedora Release Engineering - 0.20.2-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Wed May 28 2014 Kalev Lember - 0.20.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Changes/Python_3.4 + +* Sun Mar 09 2014 Christopher Meng - 0.20.2-1 +- Update to 0.20.2 + +* Sun Dec 08 2013 Christopher Meng - 0.20.0-1 +- Update to 0.20.0 +- Clarify the license + +* Tue Oct 08 2013 Christopher Meng - 0.19.1-2 +- Split out -doc subpackage. +- Correct the libs permissions. + +* Mon Oct 07 2013 Christopher Meng - 0.19.1-1 +- Update to 0.19.1 + +* Sat Aug 17 2013 Christopher Meng - 0.19.0-4 +- Add missing sphinx BR. + +* Tue Aug 13 2013 Christopher Meng - 0.19.0-3 +- Remove unneeded files. + +* Mon Aug 12 2013 Christopher Meng - 0.19.0-2 +- Add missing nose BR. +- Add docs. + +* Thu Aug 01 2013 Christopher Meng - 0.19.0-1 +- Update to new release. + +* Fri Apr 26 2013 Christopher Meng - 0.18.1-1 +- Update to new release. + +* Mon Sep 24 2012 Christopher Meng - 0.17.3-1 +- Update to new release. + +* Sun Jul 29 2012 Christopher Meng - 0.17.2-1 +- Update to new release. + +* Fri Mar 30 2012 Christopher Meng - 0.16.1-1 +- Update to new release. + +* Thu Mar 01 2012 Christopher Meng - 0.16.0-1 +- Initial Package. diff --git a/python-pygit2.spec b/python-pygit2.spec index e50242d..4769908 100644 --- a/python-pygit2.spec +++ b/python-pygit2.spec @@ -2,7 +2,7 @@ Name: python-%{pkgname} Version: 1.6.1 -Release: 1%{?dist} +Release: %autorelease Summary: Python bindings for libgit2 License: GPLv2 with linking exception @@ -81,268 +81,4 @@ rm -f pygit2/__init__.py %changelog -* Sun Aug 08 2021 Kevin Fenzi - 1.6.1-1 -- Update to 1.6.1. Fixes rhbz#1966590 - -* Fri Jul 23 2021 Fedora Release Engineering - 1.5.0-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild - -* Fri Jun 04 2021 Python Maint - 1.5.0-2 -- Rebuilt for Python 3.10 - -* Thu Jan 28 2021 Kevin Fenzi - 1.5.0-1 -- Update to 1.5.0. Fixes rhbz#1919576 - -* Wed Jan 27 2021 Fedora Release Engineering - 1.4.0-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild - -* Mon Dec 28 2020 Igor Raits - 1.4.0-1 -- Update to 1.4.0 - -* Sat Sep 19 2020 Pete Walter - 1.3.0-1 -- Update to 1.3.0 - -* Wed Jul 29 2020 Fedora Release Engineering - 1.2.1-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild - -* Fri Jun 05 2020 Pete Walter - 1.2.1-1 -- Update to 1.2.1 - -* Tue May 26 2020 Miro Hrončok - 1.2.0-2 -- Rebuilt for Python 3.9 - -* Wed Apr 15 2020 Igor Raits - 1.2.0-1 -- Update to 1.2.0 - -* Sat Mar 21 2020 Pete Walter - 1.1.1-1 -- Update to 1.1.1 - -* Tue Mar 03 2020 Igor Raits - 1.1.0-1 -- Update to 1.1.0 - -* Sun Feb 02 2020 Pete Walter - 1.0.3-1 -- Update to 1.0.3 - -* Thu Jan 30 2020 Fedora Release Engineering - 1.0.2-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild - -* Mon Jan 13 2020 Pete Walter - 1.0.2-1 -- Update to 1.0.2 - -* Thu Oct 03 2019 Miro Hrončok - 0.28.2-4 -- Rebuilt for Python 3.8.0rc1 (#1748018) - -* Mon Aug 19 2019 Miro Hrončok - 0.28.2-3 -- Rebuilt for Python 3.8 - -* Fri Jul 26 2019 Fedora Release Engineering - 0.28.2-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild - -* Thu Jun 06 14:32:34 CEST 2019 Igor Gnatenko - 0.28.2-1 -- Update to 0.28.2 - -* Sat Feb 02 2019 Fedora Release Engineering - 0.27.4-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild - -* Thu Jan 24 2019 Pete Walter - 0.27.4-1 -- Update to 0.27.4 -- Enable tests on aarch64 as they seem fixed now - -* Thu Dec 27 2018 Pete Walter - 0.27.3-1 -- Update to 0.27.3 -- Switch to pytest - -* Thu Oct 11 2018 Zbigniew Jędrzejewski-Szmek - 0.27.2-2 -- Python2 binary package has been removed - See https://fedoraproject.org/wiki/Changes/Mass_Python_2_Package_Removal - -* Mon Sep 17 2018 Pete Walter - 0.27.2-1 -- Update to 0.27.2 - -* Fri Aug 10 2018 Igor Gnatenko - 0.27.1-1 -- Update to 0.27.1 - -* Sat Jul 14 2018 Fedora Release Engineering - 0.26.4-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild - -* Tue Jun 19 2018 Miro Hrončok - 0.26.4-2 -- Rebuilt for Python 3.7 - -* Mon Mar 26 2018 Pete Walter - 0.26.4-1 -- Update to 0.26.4 - -* Mon Feb 12 2018 Iryna Shcherbina - 0.26.3-3 -- Update Python 2 dependency declarations to new packaging standards - (See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3) - -* Fri Feb 09 2018 Fedora Release Engineering - 0.26.3-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild - -* Tue Dec 26 2017 Pete Walter - 0.26.3-1 -- Update to 0.26.3 - -* Fri Dec 01 2017 Pete Walter - 0.26.2-1 -- Update to 0.26.2 - -* Mon Nov 20 2017 Igor Gnatenko - 0.26.1-3 -- Fixup python3 conditionals - -* Mon Nov 20 2017 Pete Walter - 0.26.1-2 -- Add back Python 3 conditionals - -* Mon Nov 20 2017 Pete Walter - 0.26.1-1 -- Update to 0.26.1 - -* Thu Aug 03 2017 Fedora Release Engineering - 0.26.0-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild - -* Thu Jul 27 2017 Fedora Release Engineering - 0.26.0-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild - -* Sat Jul 08 2017 Igor Gnatenko - 0.26.0-1 -- Update to 0.26.0 - -* Sun May 07 2017 Pete Walter - 0.25.1-2 -- Fix the build with cffi 1.10 - -* Thu Apr 27 2017 Pete Walter - 0.25.1-1 -- Update to 0.25.1 -- Disable one more failing test that tries to do network access - -* Mon Apr 10 2017 Pete Walter - 0.25.0-3 -- Trivial spec file fixes -- Add Python 3 conditionals - -* Tue Feb 07 2017 Igor Gnatenko - 0.25.0-2 -- Bump release for rebuild - -* Tue Jan 10 2017 Igor Gnatenko - 0.25.0-1 -- Update to 0.25.0 (RHBZ #1408689) - -* Mon Dec 19 2016 Miro Hrončok - 0.24.2-2 -- Rebuild for Python 3.6 - -* Sat Nov 19 2016 Igor Gnatenko - 0.24.2-1 -- Update to 0.24.2 (RHBZ #1390796) - -* Tue Jul 19 2016 Fedora Release Engineering - 0.24.1-2 -- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages - -* Wed Jun 22 2016 Igor Gnatenko - 0.24.1-1 -- Update to 0.24.1 (RHBZ #1348750) - -* Mon Apr 18 2016 Igor Gnatenko 0.24.0-3 -- Remove remote-calling unit tests -- repository: decode() linkname -- repository: SYMTYPE is constant in module tarfile, not in any class - -* Thu Apr 14 2016 Igor Gnatenko - 0.24.0-2 -- Add python[23]-six to BR/Rs - -* Sun Mar 20 2016 Igor Gnatenko - 0.24.0-1 -- Update to 0.24.0 - -* Wed Feb 24 2016 Pierre-Yves Chibon - 0.23.3-2 -- Fix building 0.23.3 also in i686 - -* Sun Feb 14 2016 Igor Gnatenko - 0.23.3-1 -- Update to 0.23.3 -- Fix compliance with new packaging guidelines - -* Thu Feb 04 2016 Fedora Release Engineering - 0.23.1-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild - -* Tue Nov 10 2015 Fedora Release Engineering - 0.23.1-2 -- Rebuilt for https://fedoraproject.org/wiki/Changes/python3.5 - -* Sun Sep 27 2015 Igor Gnatenko - 0.23.1-1 -- Update to 0.23.1 (RHBZ #1266726) - -* Fri Jul 31 2015 Igor Gnatenko - 0.23.0-0.1 -- Cherry-pick patch for 0.23.0 support - -* Fri Jul 31 2015 Zbigniew Jędrzejewski-Szmek - 0.22.1-2 -- Rebuilt for libgit2-0.23.0 and libgit2-glib-0.23 - -* Mon Jul 13 2015 Mathieu Bridon - 0.22.1-1 -- Update to 0.22.1 (#1242226) -- Drop one of our patches, as it has been merged in this release. - -* Thu Jun 18 2015 Fedora Release Engineering - 0.22.0-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild - -* Wed Jan 21 2015 Mathieu Bridon - 0.22.0-1 -- Update to 0.22.0 - -* Mon Nov 17 2014 Mathieu Bridon - 0.21.4-1 -- Update to 0.21.4 - -* Fri Sep 19 2014 Mathieu Bridon - 0.21.3-1 -- Update to 0.21.3 - -* Sun Aug 17 2014 Fedora Release Engineering - 0.21.2-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild - -* Thu Aug 14 2014 Mathieu Bridon - 0.21.2-2 -- Add missing requirement - https://bugzilla.redhat.com/show_bug.cgi?id=1129868 - -* Tue Aug 12 2014 Mathieu Bridon - 0.21.2-1 -- Update to 0.21.2 - -* Tue Jul 29 2014 Mathieu Bridon - 0.21.1-1 -- Update to 0.21.1 - -* Sun Jun 29 2014 Mathieu Bridon - 0.21.0-1 -- Update to 0.21.0 - -* Sat Jun 21 2014 Christopher Meng - 0.20.3-1 -- Update to 0.20.3 - -* Sat Jun 07 2014 Fedora Release Engineering - 0.20.2-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild - -* Wed May 28 2014 Kalev Lember - 0.20.2-2 -- Rebuilt for https://fedoraproject.org/wiki/Changes/Python_3.4 - -* Sun Mar 09 2014 Christopher Meng - 0.20.2-1 -- Update to 0.20.2 - -* Sun Dec 08 2013 Christopher Meng - 0.20.0-1 -- Update to 0.20.0 -- Clarify the license - -* Tue Oct 08 2013 Christopher Meng - 0.19.1-2 -- Split out -doc subpackage. -- Correct the libs permissions. - -* Mon Oct 07 2013 Christopher Meng - 0.19.1-1 -- Update to 0.19.1 - -* Sat Aug 17 2013 Christopher Meng - 0.19.0-4 -- Add missing sphinx BR. - -* Tue Aug 13 2013 Christopher Meng - 0.19.0-3 -- Remove unneeded files. - -* Mon Aug 12 2013 Christopher Meng - 0.19.0-2 -- Add missing nose BR. -- Add docs. - -* Thu Aug 01 2013 Christopher Meng - 0.19.0-1 -- Update to new release. - -* Fri Apr 26 2013 Christopher Meng - 0.18.1-1 -- Update to new release. - -* Mon Sep 24 2012 Christopher Meng - 0.17.3-1 -- Update to new release. - -* Sun Jul 29 2012 Christopher Meng - 0.17.2-1 -- Update to new release. - -* Fri Mar 30 2012 Christopher Meng - 0.16.1-1 -- Update to new release. - -* Thu Mar 01 2012 Christopher Meng - 0.16.0-1 -- Initial Package. +%autochangelog From 7849a451dbd373b3882f5b92fbbae39e538a6467 Mon Sep 17 00:00:00 2001 From: Igor Raits Date: Sun, 28 Nov 2021 15:06:53 +0100 Subject: [PATCH 123/150] Update to 1.7.1 Signed-off-by: Igor Raits --- .gitignore | 1 + python-pygit2.spec | 9 ++++----- sources | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.gitignore b/.gitignore index 1ef777d..6a9471b 100644 --- a/.gitignore +++ b/.gitignore @@ -35,3 +35,4 @@ /pygit2-1.4.0.tar.gz /pygit2-1.5.0.tar.gz /pygit2-1.6.1.tar.gz +/pygit2-1.7.1.tar.gz diff --git a/python-pygit2.spec b/python-pygit2.spec index 4769908..844212e 100644 --- a/python-pygit2.spec +++ b/python-pygit2.spec @@ -1,17 +1,17 @@ %global pkgname pygit2 Name: python-%{pkgname} -Version: 1.6.1 +Version: 1.7.1 Release: %autorelease Summary: Python bindings for libgit2 License: GPLv2 with linking exception URL: https://www.pygit2.org/ -Source0: https://github.com/libgit2/%{pkgname}/archive/v%{version}/%{pkgname}-%{version}.tar.gz +Source0: https://github.com/libgit2/pygit2/archive/v%{version}.tar.gz#/%{pkgname}-%{version}.tar.gz -BuildRequires: make +BuildRequires: make BuildRequires: gcc -BuildRequires: (libgit2-devel >= 1.1.0 with libgit2-devel < 2.0.0) +BuildRequires: (libgit2-devel >= 1.3.0 with libgit2-devel < 2.0.0) %description pygit2 is a set of Python bindings to the libgit2 library, which implements @@ -25,7 +25,6 @@ BuildRequires: python3-cffi BuildRequires: python3-devel BuildRequires: python3-pytest BuildRequires: python3-setuptools -BuildRequires: python3-cached_property %description -n python3-%{pkgname} pygit2 is a set of Python bindings to the libgit2 library, which implements diff --git a/sources b/sources index 24c5c29..e2291fe 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (pygit2-1.6.1.tar.gz) = b4c3deef6259cf9aec9763831d66364744f7a93b6773b57402e5c04e56cfb920eedaa4f212b6127ce682a7a64808397d483c93d4a9ec40390951a517dabba421 +SHA512 (pygit2-1.7.1.tar.gz) = d97a7f55e9db11acf9613ad2b7db2203a7564b38eb59d24cadcfe672a27c3188a744e7acadd072cb4a6a0c5fe39b687edd33236759674762ed32e051481a6478 From 3142072071afdfece906d3e6113ca9983f9f752c Mon Sep 17 00:00:00 2001 From: Igor Raits Date: Sun, 28 Nov 2021 15:18:19 +0100 Subject: [PATCH 124/150] Include more buildrequires to fix docs building Signed-off-by: Igor Raits --- python-pygit2.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/python-pygit2.spec b/python-pygit2.spec index 844212e..f01b6b3 100644 --- a/python-pygit2.spec +++ b/python-pygit2.spec @@ -37,6 +37,7 @@ The python3-%{pkgname} package contains the Python 3 bindings. Summary: Documentation for %{name} BuildArch: noarch BuildRequires: /usr/bin/sphinx-build +BuildRequires: python3-sphinx_rtd_theme %description doc Documentation for %{name}. From b9524902c5a58e09f1e61dd1e8e8ae5ebe71944b Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 21 Jan 2022 14:31:58 +0000 Subject: [PATCH 125/150] - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild Signed-off-by: Fedora Release Engineering From f2a38d144bea873f18753e8cb9c45c83b4c41b7c Mon Sep 17 00:00:00 2001 From: Igor Raits Date: Sun, 20 Feb 2022 19:02:08 +0100 Subject: [PATCH 126/150] Rebuild for libgit2 1.4.x Signed-off-by: Igor Raits From 4939a30ad60355e1034cdcef86cc5204da839354 Mon Sep 17 00:00:00 2001 From: Igor Raits Date: Tue, 22 Feb 2022 19:09:09 +0100 Subject: [PATCH 127/150] Update to 1.9.0 Signed-off-by: Igor Raits --- .gitignore | 1 + python-pygit2.spec | 4 ++-- sources | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 6a9471b..a66b0be 100644 --- a/.gitignore +++ b/.gitignore @@ -36,3 +36,4 @@ /pygit2-1.5.0.tar.gz /pygit2-1.6.1.tar.gz /pygit2-1.7.1.tar.gz +/pygit2-1.9.0.tar.gz diff --git a/python-pygit2.spec b/python-pygit2.spec index f01b6b3..9f1d7a3 100644 --- a/python-pygit2.spec +++ b/python-pygit2.spec @@ -1,7 +1,7 @@ %global pkgname pygit2 Name: python-%{pkgname} -Version: 1.7.1 +Version: 1.9.0 Release: %autorelease Summary: Python bindings for libgit2 @@ -11,7 +11,7 @@ Source0: https://github.com/libgit2/pygit2/archive/v%{version}.tar.gz#/%{ BuildRequires: make BuildRequires: gcc -BuildRequires: (libgit2-devel >= 1.3.0 with libgit2-devel < 2.0.0) +BuildRequires: (libgit2-devel >= 1.4.0 with libgit2-devel < 1.5.0) %description pygit2 is a set of Python bindings to the libgit2 library, which implements diff --git a/sources b/sources index e2291fe..2c9f258 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (pygit2-1.7.1.tar.gz) = d97a7f55e9db11acf9613ad2b7db2203a7564b38eb59d24cadcfe672a27c3188a744e7acadd072cb4a6a0c5fe39b687edd33236759674762ed32e051481a6478 +SHA512 (pygit2-1.9.0.tar.gz) = 8934f1099004a536b78973f74efc8854cbfb736369a0592c382fbc1325409105640235a2b3ce4602ad0dce863cb9ffd34b2359c9840d2abdadb55e2a43df18f9 From 16a585d3a51be93ed4ba4f101684f1299521a1bd Mon Sep 17 00:00:00 2001 From: Python Maint Date: Mon, 13 Jun 2022 18:57:14 +0200 Subject: [PATCH 128/150] Rebuilt for Python 3.11 From 4fa6e2ac7105d567a7965f5e2fb07c288cd3e7ca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= Date: Thu, 16 Jun 2022 19:27:48 +0200 Subject: [PATCH 129/150] Revert "Update to 1.9.0" -- this was untagged This reverts commit 4939a30ad60355e1034cdcef86cc5204da839354. --- .gitignore | 1 - python-pygit2.spec | 6 +++--- sources | 2 +- 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/.gitignore b/.gitignore index a66b0be..6a9471b 100644 --- a/.gitignore +++ b/.gitignore @@ -36,4 +36,3 @@ /pygit2-1.5.0.tar.gz /pygit2-1.6.1.tar.gz /pygit2-1.7.1.tar.gz -/pygit2-1.9.0.tar.gz diff --git a/python-pygit2.spec b/python-pygit2.spec index 9f1d7a3..7e2912f 100644 --- a/python-pygit2.spec +++ b/python-pygit2.spec @@ -1,8 +1,8 @@ %global pkgname pygit2 Name: python-%{pkgname} -Version: 1.9.0 -Release: %autorelease +Version: 1.7.1 +Release: %autorelease -b3 Summary: Python bindings for libgit2 License: GPLv2 with linking exception @@ -11,7 +11,7 @@ Source0: https://github.com/libgit2/pygit2/archive/v%{version}.tar.gz#/%{ BuildRequires: make BuildRequires: gcc -BuildRequires: (libgit2-devel >= 1.4.0 with libgit2-devel < 1.5.0) +BuildRequires: (libgit2-devel >= 1.3.0 with libgit2-devel < 2.0.0) %description pygit2 is a set of Python bindings to the libgit2 library, which implements diff --git a/sources b/sources index 2c9f258..e2291fe 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (pygit2-1.9.0.tar.gz) = 8934f1099004a536b78973f74efc8854cbfb736369a0592c382fbc1325409105640235a2b3ce4602ad0dce863cb9ffd34b2359c9840d2abdadb55e2a43df18f9 +SHA512 (pygit2-1.7.1.tar.gz) = d97a7f55e9db11acf9613ad2b7db2203a7564b38eb59d24cadcfe672a27c3188a744e7acadd072cb4a6a0c5fe39b687edd33236759674762ed32e051481a6478 From dec1b3b889778f4cdb34d1c710d945950639ab75 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 22 Jul 2022 21:15:06 +0000 Subject: [PATCH 130/150] Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild Signed-off-by: Fedora Release Engineering From 2a2807da050eebefadad24553f0e4f2455b4026b Mon Sep 17 00:00:00 2001 From: Pete Walter Date: Fri, 9 Dec 2022 01:01:34 +0000 Subject: [PATCH 131/150] Update to 1.9.2 --- .gitignore | 1 + python-pygit2.spec | 6 +++--- sources | 2 +- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index 6a9471b..d9e29f9 100644 --- a/.gitignore +++ b/.gitignore @@ -36,3 +36,4 @@ /pygit2-1.5.0.tar.gz /pygit2-1.6.1.tar.gz /pygit2-1.7.1.tar.gz +/pygit2-1.9.2.tar.gz diff --git a/python-pygit2.spec b/python-pygit2.spec index 7e2912f..018dd36 100644 --- a/python-pygit2.spec +++ b/python-pygit2.spec @@ -1,8 +1,8 @@ %global pkgname pygit2 Name: python-%{pkgname} -Version: 1.7.1 -Release: %autorelease -b3 +Version: 1.9.2 +Release: %autorelease Summary: Python bindings for libgit2 License: GPLv2 with linking exception @@ -11,7 +11,7 @@ Source0: https://github.com/libgit2/pygit2/archive/v%{version}.tar.gz#/%{ BuildRequires: make BuildRequires: gcc -BuildRequires: (libgit2-devel >= 1.3.0 with libgit2-devel < 2.0.0) +BuildRequires: (libgit2-devel >= 1.4.0 with libgit2-devel < 1.5.0) %description pygit2 is a set of Python bindings to the libgit2 library, which implements diff --git a/sources b/sources index e2291fe..f2217ff 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (pygit2-1.7.1.tar.gz) = d97a7f55e9db11acf9613ad2b7db2203a7564b38eb59d24cadcfe672a27c3188a744e7acadd072cb4a6a0c5fe39b687edd33236759674762ed32e051481a6478 +SHA512 (pygit2-1.9.2.tar.gz) = 523af14ae418b56efd3c541fb306c3a799224db400053590f1676ace9b53ac4c731a1731081f245cd78ab5d233c9e67fa2e5c13e02b6f62de05123cd47a1a70a From 10517be414829cef6d6b93c6a47e9a40f420aecf Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 20 Jan 2023 16:04:43 +0000 Subject: [PATCH 132/150] Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild Signed-off-by: Fedora Release Engineering From c97b670732777cf55fad2fc3f04db4e11dbc7123 Mon Sep 17 00:00:00 2001 From: Pete Walter Date: Sat, 28 Jan 2023 00:45:12 +0000 Subject: [PATCH 133/150] Update to 1.11.1 (rhbz#2050501) --- .gitignore | 1 + python-pygit2.spec | 4 ++-- sources | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index d9e29f9..b9b24d6 100644 --- a/.gitignore +++ b/.gitignore @@ -37,3 +37,4 @@ /pygit2-1.6.1.tar.gz /pygit2-1.7.1.tar.gz /pygit2-1.9.2.tar.gz +/pygit2-1.11.1.tar.gz diff --git a/python-pygit2.spec b/python-pygit2.spec index 018dd36..69008a0 100644 --- a/python-pygit2.spec +++ b/python-pygit2.spec @@ -1,7 +1,7 @@ %global pkgname pygit2 Name: python-%{pkgname} -Version: 1.9.2 +Version: 1.11.1 Release: %autorelease Summary: Python bindings for libgit2 @@ -11,7 +11,7 @@ Source0: https://github.com/libgit2/pygit2/archive/v%{version}.tar.gz#/%{ BuildRequires: make BuildRequires: gcc -BuildRequires: (libgit2-devel >= 1.4.0 with libgit2-devel < 1.5.0) +BuildRequires: (libgit2-devel >= 1.5.0 with libgit2-devel < 1.6.0) %description pygit2 is a set of Python bindings to the libgit2 library, which implements diff --git a/sources b/sources index f2217ff..5cd4c6c 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (pygit2-1.9.2.tar.gz) = 523af14ae418b56efd3c541fb306c3a799224db400053590f1676ace9b53ac4c731a1731081f245cd78ab5d233c9e67fa2e5c13e02b6f62de05123cd47a1a70a +SHA512 (pygit2-1.11.1.tar.gz) = c831afb30ec4c0c4972687f28196915ccb428bf2e242eed17ff50bf700f06db59dcec254e1104bea9a335bc7955f36143085395d8463a750f4492e8c701b2061 From 5aab107219d950ec8e57c4c26d1532b7e26316c9 Mon Sep 17 00:00:00 2001 From: Pete Walter Date: Wed, 22 Mar 2023 07:06:58 +0000 Subject: [PATCH 134/150] Rebuild for libgit2 1.6.x --- python-pygit2.spec | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/python-pygit2.spec b/python-pygit2.spec index 69008a0..4bfd03b 100644 --- a/python-pygit2.spec +++ b/python-pygit2.spec @@ -11,7 +11,7 @@ Source0: https://github.com/libgit2/pygit2/archive/v%{version}.tar.gz#/%{ BuildRequires: make BuildRequires: gcc -BuildRequires: (libgit2-devel >= 1.5.0 with libgit2-devel < 1.6.0) +BuildRequires: (libgit2-devel >= 1.6.0 with libgit2-devel < 1.7.0) %description pygit2 is a set of Python bindings to the libgit2 library, which implements @@ -46,6 +46,8 @@ Documentation for %{name}. %prep %autosetup -n %{pkgname}-%{version} -p1 +sed -i -e '/LIBGIT2_VER_MINOR/s/5/6/g' src/types.h + %build %py3_build From 630903b5269eba0efad9bb68c0c61bc4de89991a Mon Sep 17 00:00:00 2001 From: Pete Walter Date: Thu, 13 Apr 2023 05:08:59 +0100 Subject: [PATCH 135/150] Update to 1.12.0 (rhbz#2183744) --- .gitignore | 1 + python-pygit2.spec | 4 +--- sources | 2 +- 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index b9b24d6..feee52b 100644 --- a/.gitignore +++ b/.gitignore @@ -38,3 +38,4 @@ /pygit2-1.7.1.tar.gz /pygit2-1.9.2.tar.gz /pygit2-1.11.1.tar.gz +/pygit2-1.12.0.tar.gz diff --git a/python-pygit2.spec b/python-pygit2.spec index 4bfd03b..4847df6 100644 --- a/python-pygit2.spec +++ b/python-pygit2.spec @@ -1,7 +1,7 @@ %global pkgname pygit2 Name: python-%{pkgname} -Version: 1.11.1 +Version: 1.12.0 Release: %autorelease Summary: Python bindings for libgit2 @@ -46,8 +46,6 @@ Documentation for %{name}. %prep %autosetup -n %{pkgname}-%{version} -p1 -sed -i -e '/LIBGIT2_VER_MINOR/s/5/6/g' src/types.h - %build %py3_build diff --git a/sources b/sources index 5cd4c6c..99cd41e 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (pygit2-1.11.1.tar.gz) = c831afb30ec4c0c4972687f28196915ccb428bf2e242eed17ff50bf700f06db59dcec254e1104bea9a335bc7955f36143085395d8463a750f4492e8c701b2061 +SHA512 (pygit2-1.12.0.tar.gz) = 8ea19d819fb3fa6a92171bc4df6721d2b7953f1ff50e82bb955a36d9af8ed3ec0dea76c0bea7ce0f342e76c0377f5050cd2ef25940fbace4f2dd32109bd3794c From b4ddb174fae8ccdd321a0c613756f8ecb9d3c4f5 Mon Sep 17 00:00:00 2001 From: Python Maint Date: Wed, 14 Jun 2023 11:04:06 +0200 Subject: [PATCH 136/150] Rebuilt for Python 3.12 From 6fff557cb36877f5cea6f1375ca2da4fc3937d64 Mon Sep 17 00:00:00 2001 From: Pete Walter Date: Mon, 26 Jun 2023 13:17:36 +0100 Subject: [PATCH 137/150] Update to 1.12.2 (rhbz#2196036) --- .gitignore | 1 + python-pygit2.spec | 2 +- sources | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index feee52b..bb98bca 100644 --- a/.gitignore +++ b/.gitignore @@ -39,3 +39,4 @@ /pygit2-1.9.2.tar.gz /pygit2-1.11.1.tar.gz /pygit2-1.12.0.tar.gz +/pygit2-1.12.2.tar.gz diff --git a/python-pygit2.spec b/python-pygit2.spec index 4847df6..f6549ba 100644 --- a/python-pygit2.spec +++ b/python-pygit2.spec @@ -1,7 +1,7 @@ %global pkgname pygit2 Name: python-%{pkgname} -Version: 1.12.0 +Version: 1.12.2 Release: %autorelease Summary: Python bindings for libgit2 diff --git a/sources b/sources index 99cd41e..326a3c9 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (pygit2-1.12.0.tar.gz) = 8ea19d819fb3fa6a92171bc4df6721d2b7953f1ff50e82bb955a36d9af8ed3ec0dea76c0bea7ce0f342e76c0377f5050cd2ef25940fbace4f2dd32109bd3794c +SHA512 (pygit2-1.12.2.tar.gz) = ffeddcf99a17249a4abce44fca2292af914e4bfedf1a900f68bbb784ebba21d0d13e1993af37c3e679cf4b920935ba76c59f158ed77a13cfb485e99557ba1c8c From de5cac4138c43789e7fcb634563d34c1250076eb Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 21 Jul 2023 12:43:25 +0000 Subject: [PATCH 138/150] Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild Signed-off-by: Fedora Release Engineering From b89121496439ff664a5e8f85f1959208f5ab20a0 Mon Sep 17 00:00:00 2001 From: Pete Walter Date: Thu, 7 Sep 2023 21:29:39 +0100 Subject: [PATCH 139/150] Update to 1.13.0 (rhbz#2237912) --- .gitignore | 1 + python-pygit2.spec | 4 ++-- sources | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index bb98bca..89cdb7f 100644 --- a/.gitignore +++ b/.gitignore @@ -40,3 +40,4 @@ /pygit2-1.11.1.tar.gz /pygit2-1.12.0.tar.gz /pygit2-1.12.2.tar.gz +/pygit2-1.13.0.tar.gz diff --git a/python-pygit2.spec b/python-pygit2.spec index f6549ba..1b30ba1 100644 --- a/python-pygit2.spec +++ b/python-pygit2.spec @@ -1,7 +1,7 @@ %global pkgname pygit2 Name: python-%{pkgname} -Version: 1.12.2 +Version: 1.13.0 Release: %autorelease Summary: Python bindings for libgit2 @@ -11,7 +11,7 @@ Source0: https://github.com/libgit2/pygit2/archive/v%{version}.tar.gz#/%{ BuildRequires: make BuildRequires: gcc -BuildRequires: (libgit2-devel >= 1.6.0 with libgit2-devel < 1.7.0) +BuildRequires: (libgit2-devel >= 1.7.0 with libgit2-devel < 1.8.0) %description pygit2 is a set of Python bindings to the libgit2 library, which implements diff --git a/sources b/sources index 326a3c9..44f8dc6 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (pygit2-1.12.2.tar.gz) = ffeddcf99a17249a4abce44fca2292af914e4bfedf1a900f68bbb784ebba21d0d13e1993af37c3e679cf4b920935ba76c59f158ed77a13cfb485e99557ba1c8c +SHA512 (pygit2-1.13.0.tar.gz) = c4cdf144b18bbfda88599568eec590de188d47fa7c7dbfe5b3f6d9c62af0d81b0bb5dad76e3249e72719d3d15f0a884a35405153026d91487ec05d08a67194bd From 3bb3263853ca1dcf81d22e8ccab23e23551c7e8e Mon Sep 17 00:00:00 2001 From: Nils Philippsen Date: Fri, 10 Nov 2023 20:04:32 +0100 Subject: [PATCH 140/150] Update to 1.13.2 Signed-off-by: Nils Philippsen --- .gitignore | 1 + python-pygit2.spec | 2 +- sources | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 89cdb7f..1eb9aa8 100644 --- a/.gitignore +++ b/.gitignore @@ -41,3 +41,4 @@ /pygit2-1.12.0.tar.gz /pygit2-1.12.2.tar.gz /pygit2-1.13.0.tar.gz +/pygit2-1.13.2.tar.gz diff --git a/python-pygit2.spec b/python-pygit2.spec index 1b30ba1..ace28ba 100644 --- a/python-pygit2.spec +++ b/python-pygit2.spec @@ -1,7 +1,7 @@ %global pkgname pygit2 Name: python-%{pkgname} -Version: 1.13.0 +Version: 1.13.2 Release: %autorelease Summary: Python bindings for libgit2 diff --git a/sources b/sources index 44f8dc6..f6a6671 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (pygit2-1.13.0.tar.gz) = c4cdf144b18bbfda88599568eec590de188d47fa7c7dbfe5b3f6d9c62af0d81b0bb5dad76e3249e72719d3d15f0a884a35405153026d91487ec05d08a67194bd +SHA512 (pygit2-1.13.2.tar.gz) = 82c186664bc14e7356aaeeca98dc25e688a8931659468e90e49c4f36a183f9f937777e15f0d6085c4e7084dcd827217ef87d8fa109897d06f19c91ec8fe39a7b From 26717c853b2389d024bd3582454dd41cce4e8c57 Mon Sep 17 00:00:00 2001 From: Nils Philippsen Date: Sat, 11 Nov 2023 00:17:32 +0100 Subject: [PATCH 141/150] Fix building with patched cffi on Fedora 39 Signed-off-by: Nils Philippsen --- python-pygit2-cffiver.patch | 31 +++++++++++++++++++++++++++++++ python-pygit2.spec | 21 +++++++++++++++------ 2 files changed, 46 insertions(+), 6 deletions(-) create mode 100644 python-pygit2-cffiver.patch diff --git a/python-pygit2-cffiver.patch b/python-pygit2-cffiver.patch new file mode 100644 index 0000000..9cfbb43 --- /dev/null +++ b/python-pygit2-cffiver.patch @@ -0,0 +1,31 @@ +diff -up pygit2-1.13.2/docs/install.rst.cffiver pygit2-1.13.2/docs/install.rst +--- pygit2-1.13.2/docs/install.rst.cffiver 2023-10-30 09:50:04.000000000 +0100 ++++ pygit2-1.13.2/docs/install.rst 2023-11-11 00:01:15.551991748 +0100 +@@ -55,7 +55,7 @@ Supported versions of Python: + + Python requirements (these are specified in ``setup.py``): + +-- cffi 1.16.0 or later ++- cffi 1.16.0 or later (or Fedora package >= 1.15.1-5) + + Libgit2 **v1.7.1+**; binary wheels already include libgit2, so you only need to + worry about this if you install the source package. +diff -up pygit2-1.13.2/requirements.txt.cffiver pygit2-1.13.2/requirements.txt +--- pygit2-1.13.2/requirements.txt.cffiver 2023-10-30 09:50:04.000000000 +0100 ++++ pygit2-1.13.2/requirements.txt 2023-11-10 23:58:49.756179131 +0100 +@@ -1,2 +1,2 @@ +-cffi>=1.16.0 ++cffi>=1.9.1 + setuptools ; python_version >= "3.12" +diff -up pygit2-1.13.2/setup.py.cffiver pygit2-1.13.2/setup.py +--- pygit2-1.13.2/setup.py.cffiver 2023-10-30 09:50:04.000000000 +0100 ++++ pygit2-1.13.2/setup.py 2023-11-10 23:59:47.350500138 +0100 +@@ -153,7 +153,7 @@ setup( + ext_modules=ext_modules, + # Requirements + python_requires='>=3.8', +- setup_requires=['cffi>=1.16.0'], ++ setup_requires=['cffi>=1.9.1'], + install_requires=install_requires, + # URLs + url='https://github.com/libgit2/pygit2', diff --git a/python-pygit2.spec b/python-pygit2.spec index ace28ba..ec53135 100644 --- a/python-pygit2.spec +++ b/python-pygit2.spec @@ -8,6 +8,10 @@ Summary: Python bindings for libgit2 License: GPLv2 with linking exception URL: https://www.pygit2.org/ Source0: https://github.com/libgit2/pygit2/archive/v%{version}.tar.gz#/%{pkgname}-%{version}.tar.gz +# This patch lowers the Python-level dependency on cffi. Fedora package python-cffi-1.15.1-5 and +# higher contain the patches needed for Python >= 3.12. +# Remove when cffi >= 1.16.0 is available on all releases with Python 3.12. +Patch: python-pygit2-cffiver.patch BuildRequires: make BuildRequires: gcc @@ -21,10 +25,11 @@ the core of Git. %package -n python3-%{pkgname} Summary: Python 3 bindings for libgit2 %{?python_provide:%python_provide python3-%{pkgname}} -BuildRequires: python3-cffi -BuildRequires: python3-devel BuildRequires: python3-pytest -BuildRequires: python3-setuptools +# This version of cffi is patched for Python >= 3.12. +# Remove when cffi >= 1.16.0 is available on all releases with Python 3.12. +BuildRequires: python3-cffi >= 1.15.1-5 +Requires: python3-cffi >= 1.15.1-5 %description -n python3-%{pkgname} pygit2 is a set of Python bindings to the libgit2 library, which implements @@ -47,14 +52,18 @@ Documentation for %{name}. %autosetup -n %{pkgname}-%{version} -p1 +%generate_buildrequires +%pyproject_buildrequires + + %build -%py3_build +%pyproject_wheel make -C docs html %install -%py3_install +%pyproject_install find %{_builddir} -name '.buildinfo' -print -delete @@ -72,7 +81,7 @@ rm -f pygit2/__init__.py %files -n python3-%{pkgname} %license COPYING %doc README.rst -%{python3_sitearch}/%{pkgname}-*.egg-info/ +%{python3_sitearch}/%{pkgname}-*.dist-info/ %{python3_sitearch}/%{pkgname}/ %files doc From 488f7a1c539bc8c773d8b722aa09222d5fadfd60 Mon Sep 17 00:00:00 2001 From: Pete Walter Date: Wed, 22 Nov 2023 09:39:23 +0000 Subject: [PATCH 142/150] Update to 1.13.3 (rhbz#2250832) --- .gitignore | 1 + python-pygit2.spec | 2 +- sources | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 1eb9aa8..be44253 100644 --- a/.gitignore +++ b/.gitignore @@ -42,3 +42,4 @@ /pygit2-1.12.2.tar.gz /pygit2-1.13.0.tar.gz /pygit2-1.13.2.tar.gz +/pygit2-1.13.3.tar.gz diff --git a/python-pygit2.spec b/python-pygit2.spec index ec53135..ec6c101 100644 --- a/python-pygit2.spec +++ b/python-pygit2.spec @@ -1,7 +1,7 @@ %global pkgname pygit2 Name: python-%{pkgname} -Version: 1.13.2 +Version: 1.13.3 Release: %autorelease Summary: Python bindings for libgit2 diff --git a/sources b/sources index f6a6671..3a4f4c9 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (pygit2-1.13.2.tar.gz) = 82c186664bc14e7356aaeeca98dc25e688a8931659468e90e49c4f36a183f9f937777e15f0d6085c4e7084dcd827217ef87d8fa109897d06f19c91ec8fe39a7b +SHA512 (pygit2-1.13.3.tar.gz) = 4b480c0553fa52202351a9d0bfa649e5c6eca31679835f982e54201cabf1e4d66144c28ac492cbe7180e6b9fb452ff5ea353f72049a88e73606c6843ffbde934 From 835ea49fddbc1c49575fcf0779d64f3556001c61 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miroslav=20Such=C3=BD?= Date: Mon, 18 Dec 2023 09:28:33 +0000 Subject: [PATCH 143/150] Migrate to SPDX license This is part of https://fedoraproject.org/wiki/Changes/SPDX_Licenses_Phase_2 --- python-pygit2.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/python-pygit2.spec b/python-pygit2.spec index ec6c101..afce350 100644 --- a/python-pygit2.spec +++ b/python-pygit2.spec @@ -5,7 +5,7 @@ Version: 1.13.3 Release: %autorelease Summary: Python bindings for libgit2 -License: GPLv2 with linking exception +License: GPL-2.0-only WITH GCC-exception-2.0 URL: https://www.pygit2.org/ Source0: https://github.com/libgit2/pygit2/archive/v%{version}.tar.gz#/%{pkgname}-%{version}.tar.gz # This patch lowers the Python-level dependency on cffi. Fedora package python-cffi-1.15.1-5 and From 216e962f1887a83fcf8c73bc7613d896f5ab2ef2 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Mon, 22 Jan 2024 05:37:01 +0000 Subject: [PATCH 144/150] Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild From 34fbbf57f8e3d3ec58630f67dddcce45094acca7 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 26 Jan 2024 08:35:39 +0000 Subject: [PATCH 145/150] Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild From ad4ac9856b9c9453eaa542040b5a9c848170c7e2 Mon Sep 17 00:00:00 2001 From: Florian Weimer Date: Thu, 1 Feb 2024 12:29:36 +0100 Subject: [PATCH 146/150] Relax transfer size requirement in test (#2261592) --- python-pygit2-transfer-size.patch | 24 ++++++++++++++++++++++++ python-pygit2.spec | 1 + 2 files changed, 25 insertions(+) create mode 100644 python-pygit2-transfer-size.patch diff --git a/python-pygit2-transfer-size.patch b/python-pygit2-transfer-size.patch new file mode 100644 index 0000000..ca799aa --- /dev/null +++ b/python-pygit2-transfer-size.patch @@ -0,0 +1,24 @@ +Submitted upstream: + +diff --git a/test/test_remote.py b/test/test_remote.py +index fd12c71107261bf9..d268019921369e99 100644 +--- a/test/test_remote.py ++++ b/test/test_remote.py +@@ -39,7 +39,6 @@ REMOTE_URL = 'https://github.com/libgit2/pygit2.git' + REMOTE_FETCHSPEC_SRC = 'refs/heads/*' + REMOTE_FETCHSPEC_DST = 'refs/remotes/origin/*' + REMOTE_REPO_OBJECTS = 30 +-REMOTE_REPO_BYTES = 2758 + REMOTE_FETCHTEST_FETCHSPECS = ["refs/tags/v1.13.2"] + REMOTE_REPO_FETCH_ALL_OBJECTS = 13276 + REMOTE_REPO_FETCH_HEAD_COMMIT_OBJECTS = 238 +@@ -215,7 +214,8 @@ def test_remote_refcount(testrepo): + def test_fetch(emptyrepo): + remote = emptyrepo.remotes[0] + stats = remote.fetch() +- assert stats.received_bytes == REMOTE_REPO_BYTES ++ assert stats.received_bytes > 2700 ++ assert stats.received_bytes < 2800 + assert stats.indexed_objects == REMOTE_REPO_OBJECTS + assert stats.received_objects == REMOTE_REPO_OBJECTS + diff --git a/python-pygit2.spec b/python-pygit2.spec index afce350..0e19f0b 100644 --- a/python-pygit2.spec +++ b/python-pygit2.spec @@ -8,6 +8,7 @@ Summary: Python bindings for libgit2 License: GPL-2.0-only WITH GCC-exception-2.0 URL: https://www.pygit2.org/ Source0: https://github.com/libgit2/pygit2/archive/v%{version}.tar.gz#/%{pkgname}-%{version}.tar.gz +Patch0: python-pygit2-transfer-size.patch # This patch lowers the Python-level dependency on cffi. Fedora package python-cffi-1.15.1-5 and # higher contain the patches needed for Python >= 3.12. # Remove when cffi >= 1.16.0 is available on all releases with Python 3.12. From 1f3ba93c2330bc94ec93a8329783b47824ac713e Mon Sep 17 00:00:00 2001 From: Pete Walter Date: Thu, 8 Feb 2024 12:49:22 +0000 Subject: [PATCH 147/150] Remove unnecessarily strict cffi requirements We know that the cffi versions in Fedora are good enough for the version of Python there. This fixes the build on EPEL 9. --- python-pygit2.spec | 4 ---- 1 file changed, 4 deletions(-) diff --git a/python-pygit2.spec b/python-pygit2.spec index 0e19f0b..9d7ab49 100644 --- a/python-pygit2.spec +++ b/python-pygit2.spec @@ -27,10 +27,6 @@ the core of Git. Summary: Python 3 bindings for libgit2 %{?python_provide:%python_provide python3-%{pkgname}} BuildRequires: python3-pytest -# This version of cffi is patched for Python >= 3.12. -# Remove when cffi >= 1.16.0 is available on all releases with Python 3.12. -BuildRequires: python3-cffi >= 1.15.1-5 -Requires: python3-cffi >= 1.15.1-5 %description -n python3-%{pkgname} pygit2 is a set of Python bindings to the libgit2 library, which implements From 11976244b02d25b1ff509d79e97a09cc8009d676 Mon Sep 17 00:00:00 2001 From: Pete Walter Date: Thu, 8 Feb 2024 13:18:07 +0000 Subject: [PATCH 148/150] Update to 1.14.0 (rhbz#2260506) --- .gitignore | 1 + python-pygit2-cffiver.patch | 22 +++++++++++----------- python-pygit2.spec | 4 ++-- sources | 2 +- 4 files changed, 15 insertions(+), 14 deletions(-) diff --git a/.gitignore b/.gitignore index be44253..325b845 100644 --- a/.gitignore +++ b/.gitignore @@ -43,3 +43,4 @@ /pygit2-1.13.0.tar.gz /pygit2-1.13.2.tar.gz /pygit2-1.13.3.tar.gz +/pygit2-1.14.0.tar.gz diff --git a/python-pygit2-cffiver.patch b/python-pygit2-cffiver.patch index 9cfbb43..312413d 100644 --- a/python-pygit2-cffiver.patch +++ b/python-pygit2-cffiver.patch @@ -1,6 +1,6 @@ -diff -up pygit2-1.13.2/docs/install.rst.cffiver pygit2-1.13.2/docs/install.rst ---- pygit2-1.13.2/docs/install.rst.cffiver 2023-10-30 09:50:04.000000000 +0100 -+++ pygit2-1.13.2/docs/install.rst 2023-11-11 00:01:15.551991748 +0100 +diff -up pygit2-1.14.0/docs/install.rst.cffiver pygit2-1.14.0/docs/install.rst +--- pygit2-1.14.0/docs/install.rst.cffiver 2024-01-26 11:05:11.000000000 +0000 ++++ pygit2-1.14.0/docs/install.rst 2024-02-08 13:09:35.537097921 +0000 @@ -55,7 +55,7 @@ Supported versions of Python: Python requirements (these are specified in ``setup.py``): @@ -10,20 +10,20 @@ diff -up pygit2-1.13.2/docs/install.rst.cffiver pygit2-1.13.2/docs/install.rst Libgit2 **v1.7.1+**; binary wheels already include libgit2, so you only need to worry about this if you install the source package. -diff -up pygit2-1.13.2/requirements.txt.cffiver pygit2-1.13.2/requirements.txt ---- pygit2-1.13.2/requirements.txt.cffiver 2023-10-30 09:50:04.000000000 +0100 -+++ pygit2-1.13.2/requirements.txt 2023-11-10 23:58:49.756179131 +0100 +diff -up pygit2-1.14.0/requirements.txt.cffiver pygit2-1.14.0/requirements.txt +--- pygit2-1.14.0/requirements.txt.cffiver 2024-01-26 11:05:11.000000000 +0000 ++++ pygit2-1.14.0/requirements.txt 2024-02-08 13:09:35.538097421 +0000 @@ -1,2 +1,2 @@ -cffi>=1.16.0 +cffi>=1.9.1 setuptools ; python_version >= "3.12" -diff -up pygit2-1.13.2/setup.py.cffiver pygit2-1.13.2/setup.py ---- pygit2-1.13.2/setup.py.cffiver 2023-10-30 09:50:04.000000000 +0100 -+++ pygit2-1.13.2/setup.py 2023-11-10 23:59:47.350500138 +0100 -@@ -153,7 +153,7 @@ setup( +diff -up pygit2-1.14.0/setup.py.cffiver pygit2-1.14.0/setup.py +--- pygit2-1.14.0/setup.py.cffiver 2024-01-26 11:05:11.000000000 +0000 ++++ pygit2-1.14.0/setup.py 2024-02-08 13:09:35.539096921 +0000 +@@ -152,7 +152,7 @@ setup( ext_modules=ext_modules, # Requirements - python_requires='>=3.8', + python_requires='>=3.9', - setup_requires=['cffi>=1.16.0'], + setup_requires=['cffi>=1.9.1'], install_requires=install_requires, diff --git a/python-pygit2.spec b/python-pygit2.spec index 9d7ab49..01f38d7 100644 --- a/python-pygit2.spec +++ b/python-pygit2.spec @@ -1,7 +1,7 @@ %global pkgname pygit2 Name: python-%{pkgname} -Version: 1.13.3 +Version: 1.14.0 Release: %autorelease Summary: Python bindings for libgit2 @@ -77,7 +77,7 @@ rm -f pygit2/__init__.py %files -n python3-%{pkgname} %license COPYING -%doc README.rst +%doc README.md %{python3_sitearch}/%{pkgname}-*.dist-info/ %{python3_sitearch}/%{pkgname}/ diff --git a/sources b/sources index 3a4f4c9..414bafb 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (pygit2-1.13.3.tar.gz) = 4b480c0553fa52202351a9d0bfa649e5c6eca31679835f982e54201cabf1e4d66144c28ac492cbe7180e6b9fb452ff5ea353f72049a88e73606c6843ffbde934 +SHA512 (pygit2-1.14.0.tar.gz) = 677190b0781986f39ada178bbbda622206692c000526c67aa68e5058aa864ccbef61c0263042bb0e5c4acf83e24cfabfa7e163a0b0bbad71c8832b24cc8082be From 5264302f610d0d9caa515dc46b4ffc570163f651 Mon Sep 17 00:00:00 2001 From: Yaakov Selkowitz Date: Mon, 12 Feb 2024 12:27:05 -0500 Subject: [PATCH 149/150] Always disable network tests mock (by default) and koji builds never have network access, but testing that capability through a DNS resolution is not always accurate. Forcefully disable all network tests to avoid unnecessary build failures. --- python-pygit2-network-tests.patch | 12 ++++++++++++ python-pygit2.spec | 4 ++++ 2 files changed, 16 insertions(+) create mode 100644 python-pygit2-network-tests.patch diff --git a/python-pygit2-network-tests.patch b/python-pygit2-network-tests.patch new file mode 100644 index 0000000..623c233 --- /dev/null +++ b/python-pygit2-network-tests.patch @@ -0,0 +1,12 @@ +diff -up ./test/utils.py.orig ./test/utils.py +--- ./test/utils.py.orig 2024-02-12 12:22:29.272147056 -0500 ++++ ./test/utils.py 2024-02-12 12:23:45.876659120 -0500 +@@ -50,7 +50,7 @@ except socket.gaierror: + has_network = False + + requires_network = pytest.mark.skipif( +- not has_network, ++ True, + reason='Requires network') + + with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as sock: diff --git a/python-pygit2.spec b/python-pygit2.spec index 01f38d7..8731e86 100644 --- a/python-pygit2.spec +++ b/python-pygit2.spec @@ -13,6 +13,10 @@ Patch0: python-pygit2-transfer-size.patch # higher contain the patches needed for Python >= 3.12. # Remove when cffi >= 1.16.0 is available on all releases with Python 3.12. Patch: python-pygit2-cffiver.patch +# mock (by default) and koji builds never have network access, but testing +# that capability through a DNS resolution is not always accurate. +# Forcefully disable all network tests to avoid unnecessary build failures. +Patch: python-pygit2-network-tests.patch BuildRequires: make BuildRequires: gcc From a044cf534c9edf7dfab7524134ab6112096b04db Mon Sep 17 00:00:00 2001 From: Troy Dawson Date: Mon, 24 Jun 2024 09:19:01 -0700 Subject: [PATCH 150/150] Bump release for June 2024 mass rebuild