public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: dev-vcs/pre-commit/, dev-vcs/pre-commit/files/
@ 2022-11-13 22:34 Marek Szuba
  0 siblings, 0 replies; 2+ messages in thread
From: Marek Szuba @ 2022-11-13 22:34 UTC (permalink / raw
  To: gentoo-commits

commit:     96238e309ddbd3f6aca08d59c9db543a67be67c9
Author:     Marek Szuba <marecki <AT> gentoo <DOT> org>
AuthorDate: Sun Nov 13 22:26:10 2022 +0000
Commit:     Marek Szuba <marecki <AT> gentoo <DOT> org>
CommitDate: Sun Nov 13 22:34:16 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=96238e30

dev-vcs/pre-commit: allow the tests to use the 'file' transport

Needed for the test suite to work against git versions including the fix
for CVE-2022-39253. Should be harmless enough even if upstream gets
compromised and publishes a tarball containing malicious symlinks,
unless someone makes a serious effort to grant Portage a lot of
unnecessary privileges.

Closes: https://bugs.gentoo.org/878781
Signed-off-by: Marek Szuba <marecki <AT> gentoo.org>

 ...re-commit-2.20.0-tests_git_file_transport.patch | 44 ++++++++++++++++++++++
 dev-vcs/pre-commit/pre-commit-2.20.0-r1.ebuild     |  1 +
 2 files changed, 45 insertions(+)

diff --git a/dev-vcs/pre-commit/files/pre-commit-2.20.0-tests_git_file_transport.patch b/dev-vcs/pre-commit/files/pre-commit-2.20.0-tests_git_file_transport.patch
new file mode 100644
index 000000000000..9845e1311da5
--- /dev/null
+++ b/dev-vcs/pre-commit/files/pre-commit-2.20.0-tests_git_file_transport.patch
@@ -0,0 +1,44 @@
+--- a/tests/commands/install_uninstall_test.py
++++ b/tests/commands/install_uninstall_test.py
+@@ -176,7 +176,7 @@
+ def test_install_in_submodule_and_run(tempdir_factory, store):
+     src_path = make_consuming_repo(tempdir_factory, 'script_hooks_repo')
+     parent_path = git_dir(tempdir_factory)
+-    cmd_output('git', 'submodule', 'add', src_path, 'sub', cwd=parent_path)
++    cmd_output('git', '-c', 'protocol.file.allow=always', 'submodule', 'add', src_path, 'sub', cwd=parent_path)
+     git_commit(cwd=parent_path)
+ 
+     sub_pth = os.path.join(parent_path, 'sub')
+--- a/tests/conftest.py
++++ b/tests/conftest.py
+@@ -90,7 +90,7 @@
+     git_dir_1 = git_dir(tempdir_factory)
+     git_dir_2 = git_dir(tempdir_factory)
+     git_commit(msg=in_conflicting_submodule.__name__, cwd=git_dir_2)
+-    cmd_output('git', 'submodule', 'add', git_dir_2, 'sub', cwd=git_dir_1)
++    cmd_output('git', '-c', 'protocol.file.allow=always', 'submodule', 'add', git_dir_2, 'sub', cwd=git_dir_1)
+     with cwd(os.path.join(git_dir_1, 'sub')):
+         _make_conflict()
+         yield
+--- a/tests/repository_test.py
++++ b/tests/repository_test.py
+@@ -443,7 +443,7 @@
+     repo.join('main.go').write(main_go)
+     cmd_output('git', '-C', str(repo), 'init', '.')
+     cmd_output('git', '-C', str(repo), 'add', '.')
+-    cmd_output('git', '-C', str(repo), 'submodule', 'add', str(sub), 'sub')
++    cmd_output('git', '-C', str(repo), '-c', 'protocol.file.allow=always', 'submodule', 'add', str(sub), 'sub')
+     git.commit(str(repo))
+ 
+     config = make_config_from_repo(str(repo))
+--- a/tests/staged_files_only_test.py
++++ b/tests/staged_files_only_test.py
+@@ -207,7 +207,7 @@
+         cmd_output('git', 'add', 'bar')
+         git_commit()
+         cmd_output(
+-            'git', 'submodule', 'add', repo_with_commits.path, 'sub',
++            'git', '-c', 'protocol.file.allow=always', 'submodule', 'add', repo_with_commits.path, 'sub',
+         )
+         checkout_submodule(repo_with_commits.rev1)
+         cmd_output('git', 'add', 'sub')

diff --git a/dev-vcs/pre-commit/pre-commit-2.20.0-r1.ebuild b/dev-vcs/pre-commit/pre-commit-2.20.0-r1.ebuild
index 5c803594ede5..0661c9a15854 100644
--- a/dev-vcs/pre-commit/pre-commit-2.20.0-r1.ebuild
+++ b/dev-vcs/pre-commit/pre-commit-2.20.0-r1.ebuild
@@ -35,6 +35,7 @@ BDEPEND="test? (
 
 PATCHES=(
 	"${FILESDIR}"/${PN}-2.20.0-no_toml.patch
+	"${FILESDIR}"/${PN}-2.20.0-tests_git_file_transport.patch
 )
 
 DOCS=( CHANGELOG.md CONTRIBUTING.md README.md )


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-vcs/pre-commit/, dev-vcs/pre-commit/files/
@ 2023-03-27 20:21 Marek Szuba
  0 siblings, 0 replies; 2+ messages in thread
From: Marek Szuba @ 2023-03-27 20:21 UTC (permalink / raw
  To: gentoo-commits

commit:     3e2910bf7df5032dd7c05c439ece6cb6858f5292
Author:     Marek Szuba <marecki <AT> gentoo <DOT> org>
AuthorDate: Mon Mar 27 20:20:36 2023 +0000
Commit:     Marek Szuba <marecki <AT> gentoo <DOT> org>
CommitDate: Mon Mar 27 20:20:36 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3e2910bf

dev-vcs/pre-commit: drop 2.20.0-r1

Signed-off-by: Marek Szuba <marecki <AT> gentoo.org>

 dev-vcs/pre-commit/Manifest                        |  1 -
 .../files/pre-commit-2.20.0-no_toml.patch          | 81 ----------------------
 dev-vcs/pre-commit/pre-commit-2.20.0-r1.ebuild     | 57 ---------------
 3 files changed, 139 deletions(-)

diff --git a/dev-vcs/pre-commit/Manifest b/dev-vcs/pre-commit/Manifest
index 36eb088f6b44..d6e1dd955c7a 100644
--- a/dev-vcs/pre-commit/Manifest
+++ b/dev-vcs/pre-commit/Manifest
@@ -1,3 +1,2 @@
-DIST pre-commit-2.20.0.gh.tar.gz 266604 BLAKE2B 470f032e6d5bfcdd9ac8ba8f37d4323b601da0c82bcd524ffc575dc688fe81ad326a1f6a8ddd03da6e37130319ee40070c03d9789cd6e0e4b427a1d6e646416e SHA512 b1da558a0e5d8f2f655427089f1d0b11b01ad7513ece7a0b3b67c33529cf3584edba558c78704e6da6ca18876b1d6c0fa8698e01fd7c2439b8d4dc0a93961e52
 DIST pre-commit-3.0.4.gh.tar.gz 264952 BLAKE2B 3c45da675d5a1a1fc115db0ef7186c1ec1e5a6d6d9353c5a53dba85a14de2c94bafe0ef9e8d0b04bae55ded81890d726997e695c95889719096205e1b212a237 SHA512 d51aca29b50f67ae42aa70d849939e6af96ff64c6fb214cddbc5a35cacebb8a54a4911110d0615a1a499516fcc2a06bb47d7e11da84ef636c3fcfdc8d2cbe343
 DIST pre-commit-3.2.1.gh.tar.gz 267233 BLAKE2B 39843fa9f7529ee38670b3c7ebea1e29b080db47ae3db73d5a218455fd51b7bf86bb1ab1a979946a57bf6417f8a4e7050e8ba34f873bf4d76fa49fa76358964e SHA512 5e2c114049d84eae2ec6cbf123c8e3976d8e9e392a6e04f78d446ad85758a78fb912c0f6070b9c506f8c1bb87e1fd1ecbe763deb8d1430e1d3d8f296dd0cc389

diff --git a/dev-vcs/pre-commit/files/pre-commit-2.20.0-no_toml.patch b/dev-vcs/pre-commit/files/pre-commit-2.20.0-no_toml.patch
deleted file mode 100644
index f7f335c29e14..000000000000
--- a/dev-vcs/pre-commit/files/pre-commit-2.20.0-no_toml.patch
+++ /dev/null
@@ -1,81 +0,0 @@
-Backported upstream commit e703982de45ac64492897b25fa4edbdb8da10e62.
-
---- a/pre_commit/languages/rust.py
-+++ b/pre_commit/languages/rust.py
-@@ -5,8 +5,6 @@
- from typing import Generator
- from typing import Sequence
- 
--import toml
--
- import pre_commit.constants as C
- from pre_commit.envcontext import envcontext
- from pre_commit.envcontext import PatchesT
-@@ -38,18 +36,16 @@
- 
- 
- def _add_dependencies(
--        cargo_toml_path: str,
-+        prefix: Prefix,
-         additional_dependencies: set[str],
- ) -> None:
--    with open(cargo_toml_path, 'r+') as f:
--        cargo_toml = toml.load(f)
--        cargo_toml.setdefault('dependencies', {})
--        for dep in additional_dependencies:
--            name, _, spec = dep.partition(':')
--            cargo_toml['dependencies'][name] = spec or '*'
--        f.seek(0)
--        toml.dump(cargo_toml, f)
--        f.truncate()
-+    crates = []
-+    for dep in additional_dependencies:
-+        name, _, spec = dep.partition(':')
-+        crate = f'{name}@{spec or "*"}'
-+        crates.append(crate)
-+
-+    helpers.run_setup_cmd(prefix, ('cargo', 'add', *crates))
- 
- 
- def install_environment(
-@@ -77,9 +73,6 @@
-     }
-     lib_deps = set(additional_dependencies) - cli_deps
- 
--    if len(lib_deps) > 0:
--        _add_dependencies(prefix.path('Cargo.toml'), lib_deps)
--
-     with clean_path_on_failure(directory):
-         packages_to_install: set[tuple[str, ...]] = {('--path', '.')}
-         for cli_dep in cli_deps:
-@@ -90,6 +83,9 @@
-             else:
-                 packages_to_install.add((package,))
- 
-+        if len(lib_deps) > 0:
-+            _add_dependencies(prefix, lib_deps)
-+
-         for args in packages_to_install:
-             cmd_output_b(
-                 'cargo', 'install', '--bins', '--root', directory, *args,
---- a/setup.cfg
-+++ b/setup.cfg
-@@ -27,7 +27,6 @@
-     identify>=1.0.0
-     nodeenv>=0.11.1
-     pyyaml>=5.1
--    toml
-     virtualenv>=20.0.8
-     importlib-metadata;python_version<"3.8"
- python_requires = >=3.7
---- a/tests/repository_test.py
-+++ b/tests/repository_test.py
-@@ -485,7 +485,7 @@
-     path = make_repo(tempdir_factory, 'rust_hooks_repo')
-     config = make_config_from_repo(path)
-     # A small rust package with no dependencies.
--    deps = ['shellharden:3.1.0']
-+    deps = ['shellharden:3.1.0', 'git-version']
-     config['hooks'][0]['additional_dependencies'] = deps
-     hook = _get_hook(config, store, 'rust-hook')
-     binaries = os.listdir(

diff --git a/dev-vcs/pre-commit/pre-commit-2.20.0-r1.ebuild b/dev-vcs/pre-commit/pre-commit-2.20.0-r1.ebuild
deleted file mode 100644
index d6e3496abf3e..000000000000
--- a/dev-vcs/pre-commit/pre-commit-2.20.0-r1.ebuild
+++ /dev/null
@@ -1,57 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{9..11} )
-DISTUTILS_SINGLE_IMPL=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_REQ_USE="sqlite"
-
-inherit distutils-r1
-
-DESCRIPTION="A framework for managing and maintaining multi-language Git pre-commit hooks"
-HOMEPAGE="https://pre-commit.com/"
-SRC_URI="https://github.com/${PN}/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.gh.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~hppa ~ppc ~ppc64 x86"
-
-RDEPEND="dev-vcs/git
-	$(python_gen_cond_dep '
-		>=dev-python/cfgv-2.0.0[${PYTHON_USEDEP}]
-		>=dev-python/identify-1.0.0[${PYTHON_USEDEP}]
-		>=dev-python/nodeenv-0.11.1[${PYTHON_USEDEP}]
-		>=dev-python/pyyaml-5.1[${PYTHON_USEDEP}]
-		>=dev-python/virtualenv-20.0.8[${PYTHON_USEDEP}]
-	')"
-# coreutils requirement: see Bug #885559
-BDEPEND="test? (
-	$(python_gen_cond_dep '
-		dev-python/pytest-env[${PYTHON_USEDEP}]
-		dev-python/re-assert[${PYTHON_USEDEP}]
-	')
-	sys-apps/coreutils[-multicall]
-)"
-
-PATCHES=(
-	"${FILESDIR}"/${PN}-2.20.0-no_toml.patch
-	"${FILESDIR}"/${PN}-2.20.0-tests_git_file_transport.patch
-)
-
-DOCS=( CHANGELOG.md CONTRIBUTING.md README.md )
-
-# The former two require a boatload of dependencies (e.g. Conda, Go, R and more) in order to run
-# and while some of them do include "skip if not found" logic, most of them do not.
-# The latter consistently fail with
-#     Calling "git rev-parse" fails with "fatal: not a git repository (or any of the parent directories): .git".
-# including with the sandbox disabled and when run manually with tox.
-EPYTEST_DESELECT=(
-	tests/languages/
-	tests/repository_test.py
-	tests/main_test.py::test_all_cmds
-	tests/main_test.py::test_try_repo
-)
-
-distutils_enable_tests pytest


^ permalink raw reply related	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2023-03-27 20:21 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-03-27 20:21 [gentoo-commits] repo/gentoo:master commit in: dev-vcs/pre-commit/, dev-vcs/pre-commit/files/ Marek Szuba
  -- strict thread matches above, loose matches on Subject: below --
2022-11-13 22:34 Marek Szuba

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox