Skip to content

Support openSUSE specific behaviors #85

@hswong3i

Description

@hswong3i

setuptools version

60.0.3

Python version

Python 3.8

OS

openSUSE Tumbleweed

Additional environment information

During RPM packaging.

Description

I am packaging setuptools 60.0.3 with OBS (https://build.opensuse.org/package/show/home:alvistack/pypa-setuptools-60.0.3) for multiple OS deb/rpm.

It is only failed for openSUSE Tumbleweed during rpm packaging (https://build.opensuse.org/package/live_build_log/home:alvistack/pypa-setuptools-60.0.3/openSUSE_Tumbleweed/x86_64).

platsubdir is coming from an additional patch for openSUSE Factory Python 3.8: https://build.opensuse.org/package/view_file/openSUSE:Factory/python38/SUSE-FEDORA-multilib.patch

Also see https://bugzilla.opensuse.org/show_bug.cgi?id=1193977

P.S. my changes for deb/rpm packaging: alvistack/pypa-setuptools@f73b5bc

Expected behavior

Following OS build are successful:

How to Reproduce

With python3 setup.py install --skip-build we FAILED:

sudo podman run -ti --rm opensuse/tumbleweed bash
zypper update
zypper install -y git curl wget python3 python3-devel python3-pip python3-setuptools python3-wheel
git clone https://github.com/pypa/setuptools.git
cd setuptools
git checkout v60.0.3
python3 setup.py build
python3 setup.py install --skip-build

With pip install . we PASS:

sudo podman run -ti --rm opensuse/tumbleweed bash
zypper update
zypper install -y git curl wget python3 python3-devel python3-pip python3-setuptools python3-wheel
git clone https://github.com/pypa/setuptools.git
cd setuptools
git checkout v60.0.3
python3 setup.py build
pip install .

Output

Full log (https://build.opensuse.org/build/home:alvistack/openSUSE_Tumbleweed/x86_64/pypa-setuptools-60.0.3/_log):

[   22s] + /usr/bin/python3 setup.py install -O1 --skip-build --force --root /home/abuild/rpmbuild/BUILDROOT/python-setuptools-60.0.3-3.1.x86_64 --prefix /usr
[   23s] running install
[   23s] /home/abuild/rpmbuild/BUILD/python-setuptools_60.0.3-3.1/setuptools/command/install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools.
[   23s]   warnings.warn(
[   23s] Traceback (most recent call last):
[   23s]   File "/home/abuild/rpmbuild/BUILD/python-setuptools_60.0.3-3.1/setuptools/_distutils/util.py", line 258, in subst_vars
[   23s]     return _subst_compat(s).format_map(lookup)
[   23s] KeyError: 'platsubdir'
[   23s] 
[   23s] During handling of the above exception, another exception occurred:
[   23s] 
[   23s] Traceback (most recent call last):
[   23s]   File "setup.py", line 87, in <module>
[   23s]     dist = setuptools.setup(**setup_params)
[   23s]   File "/home/abuild/rpmbuild/BUILD/python-setuptools_60.0.3-3.1/setuptools/__init__.py", line 153, in setup
[   23s]     return distutils.core.setup(**attrs)
[   23s]   File "/home/abuild/rpmbuild/BUILD/python-setuptools_60.0.3-3.1/setuptools/_distutils/core.py", line 148, in setup
[   23s]     return run_commands(dist)
[   23s]   File "/home/abuild/rpmbuild/BUILD/python-setuptools_60.0.3-3.1/setuptools/_distutils/core.py", line 163, in run_commands
[   23s]     dist.run_commands()
[   23s]   File "/home/abuild/rpmbuild/BUILD/python-setuptools_60.0.3-3.1/setuptools/_distutils/dist.py", line 967, in run_commands
[   23s]     self.run_command(cmd)
[   23s]   File "/home/abuild/rpmbuild/BUILD/python-setuptools_60.0.3-3.1/setuptools/_distutils/dist.py", line 985, in run_command
[   23s]     cmd_obj.ensure_finalized()
[   23s]   File "/home/abuild/rpmbuild/BUILD/python-setuptools_60.0.3-3.1/setuptools/_distutils/cmd.py", line 107, in ensure_finalized
[   23s]     self.finalize_options()
[   23s]   File "setup.py", line 66, in finalize_options
[   23s]     install.finalize_options(self)
[   23s]   File "/home/abuild/rpmbuild/BUILD/python-setuptools_60.0.3-3.1/setuptools/command/install.py", line 45, in finalize_options
[   23s]     orig.install.finalize_options(self)
[   23s]   File "/home/abuild/rpmbuild/BUILD/python-setuptools_60.0.3-3.1/setuptools/_distutils/command/install.py", line 422, in finalize_options
[   23s]     self.expand_dirs()
[   23s]   File "/home/abuild/rpmbuild/BUILD/python-setuptools_60.0.3-3.1/setuptools/_distutils/command/install.py", line 582, in expand_dirs
[   23s]     self._expand_attrs(['install_purelib', 'install_platlib',
[   23s]   File "/home/abuild/rpmbuild/BUILD/python-setuptools_60.0.3-3.1/setuptools/_distutils/command/install.py", line 572, in _expand_attrs
[   23s]     val = subst_vars(val, self.config_vars)
[   23s]   File "/home/abuild/rpmbuild/BUILD/python-setuptools_60.0.3-3.1/setuptools/_distutils/util.py", line 260, in subst_vars
[   23s]     raise ValueError(f"invalid variable {var}")
[   23s] ValueError: invalid variable 'platsubdir'
[   23s] error: Bad exit status from /var/tmp/rpm-tmp.qnWuVC (%install)

Code of Conduct

  • I agree to follow the PSF Code of Conduct

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels
    No fields configured for issues without a type.

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions