- update to 1.2.7 (bsc#1268128, CVE-2026-42305):
* Verify that an object retrieved by id actually hashes to the
requested id, raising ``ChecksumMismatch`` otherwise.
* Check out files whose names contain a colon or backslash. The
NTFS path validator rejected any element containing
``:`` or ````, so such files were silently dropped on clone.
It now rejects only the ``.git``/``git~1``
* alternate-data-stream spellings, like git.
* Abort the checkout when a tree entry has an invalid path
(e.g. a ``.git`` alias) instead of silently skipping it.
* Reject pack names containing path separators in the dumb HTTP
transport, so a malicious server can no longer escape the
temporary directory.
* SECURITY: Don't expand config ``include`` directives when
parsing ``.gitmodules``, so a crafted ``.gitmodules`` in a cloned
repository can no longer make ``clone --recurse-submodules``
read arbitrary files.
* SECURITY: Validate ref names before resolving them to a path,
so a client-supplied name like ``../../secret`` can no longer read
a file outside the ref store. This closes a traversal via git-
upload-archive's ``argument`` and other lookup paths.
* Add ``porcelain.request_pull`` and a ``dulwich request-pull``
command that generate a summary of pending changes between
repositories, suitable for emailing to a maintainer, like
``git request- pull``.
* Add ``porcelain.range_diff`` and a ``dulwich range-diff``
command that compare two ranges of commits and show how a
patch series evolved, like ``git range-diff``. Requires the
``munkres`` package, installable via the
``dulwich[range_diff]`` extra. (Jelmer Vernooij, #1828)
OBS-URL: https://build.opensuse.org/package/show/devel:tools:scm/python-dulwich?expand=0&rev=53
This commit is contained in:
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,115 @@
|
||||
#
|
||||
# spec file for package python-dulwich
|
||||
#
|
||||
# Copyright (c) 2026 SUSE LLC and contributors
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
# upon. The license for this file, and modifications and additions to the
|
||||
# file, is the same license as for the pristine package itself (unless the
|
||||
# license for the pristine package is not an Open Source License, in which
|
||||
# case the license is the MIT License). An "Open Source License" is a
|
||||
# license that conforms to the Open Source Definition (Version 1.9)
|
||||
# published by the Open Source Initiative.
|
||||
|
||||
# Please submit bugfixes or comments via https://bugs.opensuse.org/
|
||||
#
|
||||
|
||||
|
||||
%if 0%{?suse_version} >= 1650
|
||||
%bcond_without test
|
||||
%else
|
||||
%bcond_with test
|
||||
%endif
|
||||
|
||||
%{?sle15_python_module_pythons}
|
||||
%define oldpython python
|
||||
Name: python-dulwich
|
||||
Version: 1.2.7
|
||||
Release: 0
|
||||
Summary: Pure-Python Git Library
|
||||
License: Apache-2.0 OR GPL-2.0-or-later
|
||||
Group: Development/Languages/Python
|
||||
URL: https://www.dulwich.io
|
||||
Source0: https://github.com/jelmer/dulwich/archive/dulwich-%{version}.tar.gz#/dulwich-%{version}.tar.gz
|
||||
BuildRequires: %{python_module devel}
|
||||
BuildRequires: %{python_module pip}
|
||||
BuildRequires: %{python_module setuptools >= 17.1}
|
||||
BuildRequires: %{python_module setuptools-rust}
|
||||
BuildRequires: %{python_module wheel}
|
||||
BuildRequires: fdupes
|
||||
BuildRequires: python-rpm-macros
|
||||
%if %{with test}
|
||||
BuildRequires: %{python_module aiohttp}
|
||||
BuildRequires: %{python_module fastimport}
|
||||
BuildRequires: %{python_module geventhttpclient}
|
||||
BuildRequires: %{python_module gevent}
|
||||
BuildRequires: %{python_module gpg}
|
||||
BuildRequires: %{python_module merge3}
|
||||
BuildRequires: %{python_module pytest}
|
||||
BuildRequires: %{python_module typing_extensions if %python-base < 3.12}
|
||||
BuildRequires: %{python_module urllib3 >= 1.24.1}
|
||||
BuildRequires: openssh-common
|
||||
%if 0%{?suse_version} <= 1500
|
||||
BuildRequires: python-mock
|
||||
%endif
|
||||
%endif
|
||||
Requires: python-urllib3 >= 1.24.1
|
||||
%if %{python_version_nodots} < 312
|
||||
Requires: python-typing_extensions
|
||||
%endif
|
||||
Requires(post): update-alternatives
|
||||
Requires(preun): update-alternatives
|
||||
Recommends: python-fastimport
|
||||
Recommends: python-gpg
|
||||
Obsoletes: %{oldpython}-dulwich-doc < 0.20.5
|
||||
%python_subpackages
|
||||
|
||||
%description
|
||||
Simple Pure-Python implementation of the Git file formats and protocols. Dulwich
|
||||
is the place where Mr. and Mrs. Git live in one of the Monty Python sketches.
|
||||
|
||||
%prep
|
||||
%autosetup -p1 -n dulwich-dulwich-%{version}
|
||||
sed -i '/usr\/bin\/env/d' dulwich/diffstat.py
|
||||
|
||||
%build
|
||||
export CFLAGS="%{optflags}"
|
||||
# Rust extensions currently don't build because
|
||||
# of missing vendoring
|
||||
# TODO: fix building with Rust extensions
|
||||
%pyproject_wheel
|
||||
|
||||
%install
|
||||
%pyproject_install
|
||||
|
||||
%python_expand %fdupes %{buildroot}%{$python_sitearch}
|
||||
%python_clone -a %{buildroot}%{_bindir}/dulwich
|
||||
%python_clone -a %{buildroot}%{_bindir}/dul-receive-pack
|
||||
%python_clone -a %{buildroot}%{_bindir}/dul-upload-pack
|
||||
|
||||
%check
|
||||
%if %{with test}
|
||||
%pytest tests/ -k "not (test_filter_branch_index_filter)"
|
||||
%endif
|
||||
|
||||
%post
|
||||
%python_install_alternative dulwich
|
||||
%python_install_alternative dul-receive-pack
|
||||
%python_install_alternative dul-upload-pack
|
||||
|
||||
%postun
|
||||
%python_uninstall_alternative dulwich
|
||||
%python_uninstall_alternative dul-receive-pack
|
||||
%python_uninstall_alternative dul-upload-pack
|
||||
|
||||
%files %{python_files}
|
||||
%license COPYING
|
||||
%doc NEWS README.rst
|
||||
%python_alternative dulwich
|
||||
%python_alternative dul-receive-pack
|
||||
%python_alternative dul-upload-pack
|
||||
%{python_sitearch}/dulwich
|
||||
%{python_sitearch}/dulwich-%{version}*-info
|
||||
|
||||
%changelog
|
||||
@@ -0,0 +1,24 @@
|
||||
*.changes merge=merge-changes
|
||||
*.7z filter=lfs diff=lfs merge=lfs -text
|
||||
*.bsp filter=lfs diff=lfs merge=lfs -text
|
||||
*.bz2 filter=lfs diff=lfs merge=lfs -text
|
||||
*.gem filter=lfs diff=lfs merge=lfs -text
|
||||
*.gz filter=lfs diff=lfs merge=lfs -text
|
||||
*.jar filter=lfs diff=lfs merge=lfs -text
|
||||
*.lz filter=lfs diff=lfs merge=lfs -text
|
||||
*.lzma filter=lfs diff=lfs merge=lfs -text
|
||||
*.obscpio filter=lfs diff=lfs merge=lfs -text
|
||||
*.oxt filter=lfs diff=lfs merge=lfs -text
|
||||
*.pdf filter=lfs diff=lfs merge=lfs -text
|
||||
*.png filter=lfs diff=lfs merge=lfs -text
|
||||
*.rpm filter=lfs diff=lfs merge=lfs -text
|
||||
*.tar filter=lfs diff=lfs merge=lfs -text
|
||||
*.tbz filter=lfs diff=lfs merge=lfs -text
|
||||
*.tbz2 filter=lfs diff=lfs merge=lfs -text
|
||||
*.tgz filter=lfs diff=lfs merge=lfs -text
|
||||
*.ttf filter=lfs diff=lfs merge=lfs -text
|
||||
*.txz filter=lfs diff=lfs merge=lfs -text
|
||||
*.whl filter=lfs diff=lfs merge=lfs -text
|
||||
*.xz filter=lfs diff=lfs merge=lfs -text
|
||||
*.zip filter=lfs diff=lfs merge=lfs -text
|
||||
*.zst filter=lfs diff=lfs merge=lfs -text
|
||||
@@ -0,0 +1,4 @@
|
||||
*.obscpio
|
||||
*.osc
|
||||
_build.*
|
||||
.pbuild
|
||||
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:0a051c551a1a736b751d7a8e7ab5fe8707edc2a73bf090ede69ed03a04e517be
|
||||
size 1145665
|
||||
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:e544eb494211660fb291e125e8da9c814b8620da0e0866f87bc1b7d1e5172a1c
|
||||
size 1186935
|
||||
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:e3c231816b1034c64c45cac0af61a7ef317ee151abd41771f630775c18d854f7
|
||||
size 1235981
|
||||
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:d1a45689b29871238f561294d58f2cbd6bc61844d0dd4c20427d0e596141093e
|
||||
size 1255832
|
||||
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:87d6d9cb54b9e313bbfbc20714d2d8e2291028c9bf430323c802b7e9a8daf080
|
||||
size 1266397
|
||||
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:4554d64d6948b6dc92eb08524129cd985ec4bb40884509b23e4fd01088c2573d
|
||||
size 1297758
|
||||
Reference in New Issue
Block a user