summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarek Szuba <marecki@gentoo.org>2022-11-13 22:26:10 +0000
committerMarek Szuba <marecki@gentoo.org>2022-11-13 22:34:16 +0000
commit96238e309ddbd3f6aca08d59c9db543a67be67c9 (patch)
treea75e1884aa87c36e0d116a0c5465df7c34f77893 /dev-vcs/pre-commit
parentnet-wireless/qdmr: add 0.10.4, drop 0.10.3 (diff)
downloadgentoo-96238e309ddbd3f6aca08d59c9db543a67be67c9.tar.gz
gentoo-96238e309ddbd3f6aca08d59c9db543a67be67c9.tar.bz2
gentoo-96238e309ddbd3f6aca08d59c9db543a67be67c9.zip
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@gentoo.org>
Diffstat (limited to 'dev-vcs/pre-commit')
-rw-r--r--dev-vcs/pre-commit/files/pre-commit-2.20.0-tests_git_file_transport.patch44
-rw-r--r--dev-vcs/pre-commit/pre-commit-2.20.0-r1.ebuild1
2 files changed, 45 insertions, 0 deletions
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 )