commit:     f2b6c8ef99d2d61bd8abaa901f10d29aab00af2c
Author:     Zac Medico <zmedico <AT> gentoo <DOT> org>
AuthorDate: Tue Mar  2 07:24:02 2021 +0000
Commit:     Zac Medico <zmedico <AT> gentoo <DOT> org>
CommitDate: Tue Mar  2 08:19:19 2021 +0000
URL:        https://gitweb.gentoo.org/proj/portage.git/commit/?id=f2b6c8ef

setup.py: initialize sdist formats in initialize_options

Initialize sdist formats in initialize_options, which prevents
interference with python -m build --sdist when it calls
sdist --formats gztar:

$ python -m build --sdist
Found existing installation: setuptools 47.1.0
Uninstalling setuptools-47.1.0:
  Successfully uninstalled setuptools-47.1.0
Collecting wheel
  Using cached wheel-0.36.2-py2.py3-none-any.whl (35 kB)
Collecting setuptools
  Using cached setuptools-54.0.0-py3-none-any.whl (784 kB)
Installing collected packages: wheel, setuptools
Successfully installed setuptools-54.0.0 wheel-0.36.2
running egg_info
writing lib/portage.egg-info/PKG-INFO
writing dependency_links to lib/portage.egg-info/dependency_links.txt
writing entry points to lib/portage.egg-info/entry_points.txt
writing top-level names to lib/portage.egg-info/top_level.txt
reading manifest file 'lib/portage.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
writing manifest file 'lib/portage.egg-info/SOURCES.txt'
running sdist
running check
warning: x_sdist: standard file '_in_process.py' not found
reading manifest template 'MANIFEST.in'
writing manifest file 'MANIFEST'
creating portage-3.0.16
making hard links in portage-3.0.16...
Creating tar archive
removing 'portage-3.0.16' (and everything under it)
Traceback (most recent call last):
  File "venv/lib/python3.8/site-packages/pep517/_in_process.py", line 280, in 
<module>
    main()
  File "venv/lib/python3.8/site-packages/pep517/_in_process.py", line 263, in 
main
    json_out['return_val'] = hook(**hook_input['kwargs'])
  File "venv/lib/python3.8/site-packages/pep517/_in_process.py", line 236, in 
build_sdist
    return backend.build_sdist(sdist_directory, config_settings)
  File 
"/tmp/build-env-wmm8zljz/lib/python3.8/site-packages/setuptools/build_meta.py", 
line 220, in build_sdist
    return self._build_with_temp_dir(['sdist', '--formats', 'gztar'],
  File 
"/tmp/build-env-wmm8zljz/lib/python3.8/site-packages/setuptools/build_meta.py", 
line 204, in _build_with_temp_dir
    result_basename = _file_with_extension(
  File 
"/tmp/build-env-wmm8zljz/lib/python3.8/site-packages/setuptools/build_meta.py", 
line 104, in _file_with_extension
    file, = matching
ValueError: not enough values to unpack (expected 1, got 0)
Traceback (most recent call last):
  File "/usr/lib/python3.8/subprocess.py", line 364, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['/tmp/build-env-wmm8zljz/bin/python', 
'venv/lib/python3.8/site-packages/pep517/_in_process.py', 'build_sdist', 
'/tmp/tmp7fyiwp3x']' returned non-zero exit status 1.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "venv/lib/python3.8/site-packages/build/__init__.py", line 308, in 
_call_backend
    raise BuildBackendException(exception)
build.BuildBackendException: Backend operation failed: CalledProcessError(1, 
['/tmp/build-env-wmm8zljz/bin/python', 
'venv/lib/python3.8/site-packages/pep517/_in_process.py', 'build_sdist', 
'/tmp/tmp7fyiwp3x'])

ERROR Backend operation failed: CalledProcessError(1, 
['/tmp/build-env-wmm8zljz/bin/python', 
'venv/lib/python3.8/site-packages/pep517/_in_process.py', 'build_sdist', 
'/tmp/tmp7fyiwp3x'])

Signed-off-by: Zac Medico <zmedico <AT> gentoo.org>

 setup.py | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/setup.py b/setup.py
index e2c63be2f..c1292d5d3 100755
--- a/setup.py
+++ b/setup.py
@@ -537,8 +537,11 @@ class x_install_scripts(install_scripts):
 class x_sdist(sdist):
        """ sdist defaulting to .tar.bz2 format, and archive files owned by 
root """
 
-       def finalize_options(self):
+       def initialize_options(self):
+               super().initialize_options()
                self.formats = ['bztar']
+
+       def finalize_options(self):
                if self.owner is None:
                        self.owner = 'root'
                if self.group is None:

Reply via email to