summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian Dröge <sebastian@centricular.com>2025-11-28 12:34:37 +0200
committerEli Schwartz <eschwartz93@gmail.com>2025-11-28 09:34:14 -0500
commitfad1d6e0d479eff32a3ff853cd07756394c5fabc (patch)
tree765ae518a6b0a9145f6b0c5c235c95b58066e920
parentdf4c35bab48395aa432c76482d3020a6c34f9619 (diff)
downloadmeson-fad1d6e0d479eff32a3ff853cd07756394c5fabc.tar.gz
Wrap `tarfile.fully_trusted_filter` in `staticmethod` for wrap file handling too
That's how it is done in the other two places and without that one argument too many is passed to the filter function: ``` [...] File "/usr/lib/python3.14/site-packages/mesonbuild/wrap/wrap.py", line 607, in _get_file shutil.unpack_archive(path, extract_dir) ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/python3.14/shutil.py", line 1432, in unpack_archive func(filename, extract_dir, **kwargs) ~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/python3.14/shutil.py", line 1349, in _unpack_tarfile tarobj.extractall(extract_dir, filter=filter) ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/python3.14/tarfile.py", line 2409, in extractall tarinfo, unfiltered = self._get_extract_tarinfo( ~~~~~~~~~~~~~~~~~~~~~~~~~^ member, filter_function, path) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/python3.14/tarfile.py", line 2496, in _get_extract_tarinfo filtered = filter_function(unfiltered, path) TypeError: fully_trusted_filter() takes 2 positional arguments but 3 were given ```
-rw-r--r--mesonbuild/wrap/wrap.py2
1 files changed, 1 insertions, 1 deletions
diff --git a/mesonbuild/wrap/wrap.py b/mesonbuild/wrap/wrap.py
index c675389aa..67ca96bee 100644
--- a/mesonbuild/wrap/wrap.py
+++ b/mesonbuild/wrap/wrap.py
@@ -59,7 +59,7 @@ ALL_TYPES = ['file', 'git', 'hg', 'svn', 'redirect']
if sys.version_info >= (3, 14):
import tarfile
- tarfile.TarFile.extraction_filter = tarfile.fully_trusted_filter
+ tarfile.TarFile.extraction_filter = staticmethod(tarfile.fully_trusted_filter)
if mesonlib.is_windows():
from ..programs import ExternalProgram