-
-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Open
Labels
Needs TriageIssues that need to be evaluated for severity and status.Issues that need to be evaluated for severity and status.bug
Description
setuptools version
80.9.0
Python version
3.12
OS
Fedora Linux
Additional environment information
No response
Description
build_meta
doesn't seem to process -C
options correctly when running from build
.
I have filed with build
just in case as well: pypa/build#929
All options passed seem to be completely disregarded. In the example below -C--dist-dir
doesn't seem to work while passing python setup.py ... --dist-dir=...
seems to be working perfectly.
This issue is especially grievous as Oct deadline for python setup.py
is rapidly approaching.
Expected behavior
-C
options actually are passed to the setuptools commands
How to Reproduce
- Take any simple setup.py project.
- Generate wheel either directly with
python setup.py
or viabuild
passing--dist-dir
option. - Observe the differences.
Output
Using build
:
bash-5.2$ python -m build -n --wheel -C--dist-dir=dist1
* Getting build dependencies for wheel...
running egg_info
writing src/test_axle_1.egg-info/PKG-INFO
writing dependency_links to src/test_axle_1.egg-info/dependency_links.txt
deleting src/test_axle_1.egg-info/requires.txt
writing top-level names to src/test_axle_1.egg-info/top_level.txt
reading manifest file 'src/test_axle_1.egg-info/SOURCES.txt'
writing manifest file 'src/test_axle_1.egg-info/SOURCES.txt'
* Building wheel...
running bdist_wheel
running build
running build_py
copying src/bar/__init__.py -> build/lib/bar
link build/lib/bar/foo.so exists - unlinking
reproducing link src/bar/foo.so (../../../foo.so) -> build/lib/bar
running build_scripts
copying scripts/script1 -> build/scripts-3.12
changing mode of build/scripts-3.12/script1 from 644 to 755
installing to build/bdist.linux-x86_64/wheel
running install
Distribution option extra_path is deprecated. See issue27919 for details.
running install_lib
creating build/bdist.linux-x86_64/wheel
creating build/bdist.linux-x86_64/wheel/bar
copying build/lib/bar/__init__.py -> build/bdist.linux-x86_64/wheel/./bar
registering link build/lib/bar/foo.so (../../../foo.so) -> build/bdist.linux-x86_64/wheel/./bar/foo.so
running install_headers
creating build/bdist.linux-x86_64/wheel/test_axle_1-0.0.1.data/headers
registering link headers/header2.h (header1.h) -> build/bdist.linux-x86_64/wheel/test_axle_1-0.0.1.data/headers
copying headers/header1.h -> build/bdist.linux-x86_64/wheel/test_axle_1-0.0.1.data/headers
running install_data
creating build/bdist.linux-x86_64/wheel/test_axle_1-0.0.1.data/data
creating build/bdist.linux-x86_64/wheel/test_axle_1-0.0.1.data/data/lib
registering link data/lib/foo.so (foo.1.so) -> build/bdist.linux-x86_64/wheel/test_axle_1-0.0.1.data/data/lib
copying data/lib/foo.1.so -> build/bdist.linux-x86_64/wheel/test_axle_1-0.0.1.data/data/lib
running install_egg_info
running egg_info
writing src/test_axle_1.egg-info/PKG-INFO
writing dependency_links to src/test_axle_1.egg-info/dependency_links.txt
writing requirements to src/test_axle_1.egg-info/requires.txt
writing top-level names to src/test_axle_1.egg-info/top_level.txt
reading manifest file 'src/test_axle_1.egg-info/SOURCES.txt'
writing manifest file 'src/test_axle_1.egg-info/SOURCES.txt'
Copying src/test_axle_1.egg-info to build/bdist.linux-x86_64/wheel/./test_axle_1-0.0.1-py3.12.egg-info
running install_scripts
creating build/bdist.linux-x86_64/wheel/test_axle_1-0.0.1.data/scripts
copying build/scripts-3.12/script1 -> build/bdist.linux-x86_64/wheel/test_axle_1-0.0.1.data/scripts
registering link build/scripts-3.12/script2 (script1) -> build/bdist.linux-x86_64/wheel/test_axle_1-0.0.1.data/scripts/script2
changing mode of build/bdist.linux-x86_64/wheel/test_axle_1-0.0.1.data/scripts/script1 to 755
creating build/bdist.linux-x86_64/wheel/./test_axle_1-0.0.1.pth
creating build/bdist.linux-x86_64/wheel/test_axle_1-0.0.1.dist-info/WHEEL
creating '/home/arcivanov/Documents/src/karellen/wheel-axle/src/integrationtest/resources/test_axle_1/dist/.tmp-8apk3yw6/test_axle_1-0.0.1-py3-none-any.whl' and adding 'build/bdist.linux-x86_64/wheel' to it
adding 'test_axle_1-0.0.1.pth'
adding 'bar/__init__.py'
adding 'test_axle_1-0.0.1.data/data/lib/foo.1.so'
adding 'test_axle_1-0.0.1.data/headers/header1.h'
adding 'test_axle_1-0.0.1.data/scripts/script1'
adding 'test_axle_1-0.0.1.dist-info/METADATA'
adding 'test_axle_1-0.0.1.dist-info/WHEEL'
adding 'test_axle_1-0.0.1.dist-info/axle.lck'
adding 'test_axle_1-0.0.1.dist-info/symlinks.txt'
adding 'test_axle_1-0.0.1.dist-info/top_level.txt'
adding 'test_axle_1-0.0.1.dist-info/RECORD'
removing build/bdist.linux-x86_64/wheel
Successfully built test_axle_1-0.0.1-py3-none-any.whl
Result:
bash-5.2$ ls -la
total 4
drwxr-xr-x. 1 arcivanov arcivanov 76 Aug 23 22:56 .
drwxr-xr-x. 1 arcivanov arcivanov 90 Jan 25 2025 ..
drwxr-xr-x 1 arcivanov arcivanov 66 Aug 23 22:53 build
drwxr-xr-x. 1 arcivanov arcivanov 6 Jan 28 2022 data
drwxr-xr-x 1 arcivanov arcivanov 68 Aug 23 23:39 dist
drwxr-xr-x. 1 arcivanov arcivanov 36 Jan 28 2022 headers
drwxr-xr-x. 1 arcivanov arcivanov 28 Jan 28 2022 scripts
-rwxr-xr-x. 1 arcivanov arcivanov 2193 Aug 23 22:56 setup.py
drwxr-xr-x. 1 arcivanov arcivanov 46 Aug 23 21:59 src
Using setup.py
:
bash-5.2$ python setup.py bdist_wheel --dist-dir=dist1
running bdist_wheel
running build
running build_py
copying src/bar/__init__.py -> build/lib/bar
link build/lib/bar/foo.so exists - unlinking
reproducing link src/bar/foo.so (../../../foo.so) -> build/lib/bar
running build_scripts
copying scripts/script1 -> build/scripts-3.12
changing mode of build/scripts-3.12/script1 from 644 to 755
installing to build/bdist.linux-x86_64/wheel
running install
Distribution option extra_path is deprecated. See issue27919 for details.
running install_lib
creating build/bdist.linux-x86_64/wheel
creating build/bdist.linux-x86_64/wheel/bar
copying build/lib/bar/__init__.py -> build/bdist.linux-x86_64/wheel/./bar
registering link build/lib/bar/foo.so (../../../foo.so) -> build/bdist.linux-x86_64/wheel/./bar/foo.so
running install_headers
creating build/bdist.linux-x86_64/wheel/test_axle_1-0.0.1.data/headers
registering link headers/header2.h (header1.h) -> build/bdist.linux-x86_64/wheel/test_axle_1-0.0.1.data/headers
copying headers/header1.h -> build/bdist.linux-x86_64/wheel/test_axle_1-0.0.1.data/headers
running install_data
creating build/bdist.linux-x86_64/wheel/test_axle_1-0.0.1.data/data
creating build/bdist.linux-x86_64/wheel/test_axle_1-0.0.1.data/data/lib
registering link data/lib/foo.so (foo.1.so) -> build/bdist.linux-x86_64/wheel/test_axle_1-0.0.1.data/data/lib
copying data/lib/foo.1.so -> build/bdist.linux-x86_64/wheel/test_axle_1-0.0.1.data/data/lib
running install_egg_info
running egg_info
writing src/test_axle_1.egg-info/PKG-INFO
writing dependency_links to src/test_axle_1.egg-info/dependency_links.txt
writing requirements to src/test_axle_1.egg-info/requires.txt
writing top-level names to src/test_axle_1.egg-info/top_level.txt
reading manifest file 'src/test_axle_1.egg-info/SOURCES.txt'
writing manifest file 'src/test_axle_1.egg-info/SOURCES.txt'
Copying src/test_axle_1.egg-info to build/bdist.linux-x86_64/wheel/./test_axle_1-0.0.1-py3.12.egg-info
running install_scripts
creating build/bdist.linux-x86_64/wheel/test_axle_1-0.0.1.data/scripts
copying build/scripts-3.12/script1 -> build/bdist.linux-x86_64/wheel/test_axle_1-0.0.1.data/scripts
registering link build/scripts-3.12/script2 (script1) -> build/bdist.linux-x86_64/wheel/test_axle_1-0.0.1.data/scripts/script2
changing mode of build/bdist.linux-x86_64/wheel/test_axle_1-0.0.1.data/scripts/script1 to 755
creating build/bdist.linux-x86_64/wheel/./test_axle_1-0.0.1.pth
creating build/bdist.linux-x86_64/wheel/test_axle_1-0.0.1.dist-info/WHEEL
creating 'dist1/test_axle_1-0.0.1-py3-none-any.whl' and adding 'build/bdist.linux-x86_64/wheel' to it
adding 'test_axle_1-0.0.1.pth'
adding 'bar/__init__.py'
adding 'test_axle_1-0.0.1.data/data/lib/foo.1.so'
adding 'test_axle_1-0.0.1.data/headers/header1.h'
adding 'test_axle_1-0.0.1.data/scripts/script1'
adding 'test_axle_1-0.0.1.dist-info/METADATA'
adding 'test_axle_1-0.0.1.dist-info/WHEEL'
adding 'test_axle_1-0.0.1.dist-info/axle.lck'
adding 'test_axle_1-0.0.1.dist-info/symlinks.txt'
adding 'test_axle_1-0.0.1.dist-info/top_level.txt'
adding 'test_axle_1-0.0.1.dist-info/RECORD'
removing build/bdist.linux-x86_64/wheel
Result:
bash-5.2$ ls -la
total 4
drwxr-xr-x. 1 arcivanov arcivanov 86 Aug 23 23:43 .
drwxr-xr-x. 1 arcivanov arcivanov 90 Jan 25 2025 ..
drwxr-xr-x 1 arcivanov arcivanov 66 Aug 23 22:53 build
drwxr-xr-x. 1 arcivanov arcivanov 6 Jan 28 2022 data
drwxr-xr-x 1 arcivanov arcivanov 68 Aug 23 23:39 dist
drwxr-xr-x 1 arcivanov arcivanov 68 Aug 23 23:43 dist1 <=================================
drwxr-xr-x. 1 arcivanov arcivanov 36 Jan 28 2022 headers
drwxr-xr-x. 1 arcivanov arcivanov 28 Jan 28 2022 scripts
-rwxr-xr-x. 1 arcivanov arcivanov 2193 Aug 23 22:56 setup.py
drwxr-xr-x. 1 arcivanov arcivanov 46 Aug 23 21:59 src
Metadata
Metadata
Assignees
Labels
Needs TriageIssues that need to be evaluated for severity and status.Issues that need to be evaluated for severity and status.bug