Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Don't install wininst*.exe on non-Windows platforms #81649

Closed
vstinner opened this issue Jul 1, 2019 · 5 comments
Closed

Don't install wininst*.exe on non-Windows platforms #81649

vstinner opened this issue Jul 1, 2019 · 5 comments
Labels
3.9 only security fixes stdlib Python modules in the Lib dir

Comments

@vstinner
Copy link
Member

vstinner commented Jul 1, 2019

BPO 37468
Nosy @vstinner, @ned-deily, @merwok, @dstufft
PRs
  • bpo-37468: make install no longer install wininst-*.exe files #14511
  • Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.

    Show more details

    GitHub fields:

    assignee = None
    closed_at = <Date 2019-07-15.15:24:49.231>
    created_at = <Date 2019-07-01.12:37:49.614>
    labels = ['library', '3.9']
    title = "Don't install wininst*.exe on non-Windows platforms"
    updated_at = <Date 2019-07-23.16:21:11.475>
    user = 'https://github.com/vstinner'

    bugs.python.org fields:

    activity = <Date 2019-07-23.16:21:11.475>
    actor = 'ned.deily'
    assignee = 'none'
    closed = True
    closed_date = <Date 2019-07-15.15:24:49.231>
    closer = 'vstinner'
    components = ['Library (Lib)']
    creation = <Date 2019-07-01.12:37:49.614>
    creator = 'vstinner'
    dependencies = []
    files = []
    hgrepos = []
    issue_num = 37468
    keywords = ['patch']
    message_count = 5.0
    messages = ['347010', '347012', '347973', '347974', '348340']
    nosy_count = 4.0
    nosy_names = ['vstinner', 'ned.deily', 'eric.araujo', 'dstufft']
    pr_nums = ['14511']
    priority = 'normal'
    resolution = 'fixed'
    stage = 'resolved'
    status = 'closed'
    superseder = None
    type = None
    url = 'https://bugs.python.org/issue37468'
    versions = ['Python 3.9']

    @vstinner
    Copy link
    Member Author

    vstinner commented Jul 1, 2019

    bdist_wininst only works on Windows: see bpo-10945 and commit 72cd653. So $PREFIX/lib/python3.9/distutils/command/wininst-*.exe are useless on Linux (for example).

    Attached PR modify "make install" to not longer install wininst-*.exe files.

    I propose to only modify Python 3.9. Even if bdist_wininst only works on Windows on Python 3.*, I don't feel the need to modify other branches.

    I also started a "Deprecate bdist_wininst" discussion on the Packaging list:
    https://discuss.python.org/t/deprecate-bdist-wininst/1929

    --

    Currently, I get these .exe files:

    $ find /opt/py39dbg/ -name "*.exe"
    /opt/py39dbg/lib/python3.9/site-packages/setuptools/gui.exe
    /opt/py39dbg/lib/python3.9/site-packages/setuptools/gui-64.exe
    /opt/py39dbg/lib/python3.9/site-packages/setuptools/gui-32.exe
    /opt/py39dbg/lib/python3.9/site-packages/setuptools/cli.exe
    /opt/py39dbg/lib/python3.9/site-packages/setuptools/cli-64.exe
    /opt/py39dbg/lib/python3.9/site-packages/setuptools/cli-32.exe
    /opt/py39dbg/lib/python3.9/site-packages/pip/_vendor/distlib/w64.exe
    /opt/py39dbg/lib/python3.9/site-packages/pip/_vendor/distlib/w32.exe
    /opt/py39dbg/lib/python3.9/site-packages/pip/_vendor/distlib/t64.exe
    /opt/py39dbg/lib/python3.9/site-packages/pip/_vendor/distlib/t32.exe
    /opt/py39dbg/lib/python3.9/distutils/command/wininst-10.0-amd64.exe
    /opt/py39dbg/lib/python3.9/distutils/command/wininst-10.0.exe
    /opt/py39dbg/lib/python3.9/distutils/command/wininst-14.0-amd64.exe
    /opt/py39dbg/lib/python3.9/distutils/command/wininst-14.0.exe
    /opt/py39dbg/lib/python3.9/distutils/command/wininst-6.0.exe
    /opt/py39dbg/lib/python3.9/distutils/command/wininst-7.1.exe
    /opt/py39dbg/lib/python3.9/distutils/command/wininst-8.0.exe
    /opt/py39dbg/lib/python3.9/distutils/command/wininst-9.0-amd64.exe
    /opt/py39dbg/lib/python3.9/distutils/command/wininst-9.0.exe

    site-packages/setuptools/ and site-packages/pip/ are out of the scope of this issue.

    With my PR:

    vstinner@apu$ find /opt/py39dbg/ -name "*.exe"
    /opt/py39dbg/lib/python3.9/site-packages/setuptools/gui.exe
    /opt/py39dbg/lib/python3.9/site-packages/setuptools/gui-64.exe
    /opt/py39dbg/lib/python3.9/site-packages/setuptools/gui-32.exe
    /opt/py39dbg/lib/python3.9/site-packages/setuptools/cli.exe
    /opt/py39dbg/lib/python3.9/site-packages/setuptools/cli-64.exe
    /opt/py39dbg/lib/python3.9/site-packages/setuptools/cli-32.exe
    /opt/py39dbg/lib/python3.9/site-packages/pip/_vendor/distlib/w64.exe
    /opt/py39dbg/lib/python3.9/site-packages/pip/_vendor/distlib/w32.exe
    /opt/py39dbg/lib/python3.9/site-packages/pip/_vendor/distlib/t64.exe
    /opt/py39dbg/lib/python3.9/site-packages/pip/_vendor/distlib/t32.exe

    /opt/py39dbg/lib/python3.9/distutils/command/wininst-*.exe files are gone.

    --

    wininst-*.exe files are created from PC/bdist_wininst/ program.

    October 2018, there was a discussion about the license of these files:
    https://mail.python.org/pipermail/python-dev/2018-October/155507.html

    The Fedora package of Python 3.7 already explicitly removes these .exe files:

    @vstinner vstinner added 3.9 only security fixes stdlib Python modules in the Lib dir labels Jul 1, 2019
    @vstinner
    Copy link
    Member Author

    vstinner commented Jul 1, 2019

    Debian doesn't distribute wininst*.exe binaries in their python* packages. debian/rules explicitly removes thesee files:

    find $(d) -name 'wininst*.exe' | xargs -r rm -f

    --

    RHEL7 issue closed as WONTFIX:
    https://bugzilla.redhat.com/show_bug.cgi?id=1566459

    @vstinner
    Copy link
    Member Author

    New changeset e869281 by Victor Stinner in branch 'master':
    bpo-37468: make install no longer install wininst-*.exe files (GH-14511)
    e869281

    @vstinner
    Copy link
    Member Author

    I sent a notice to python-dev about this change. If someone considers that my change is wrong on Cygwin or MinGW, please propose a pull request.
    https://mail.python.org/archives/list/python-dev@python.org/thread/53T647PT4F5QZ5NOX2GDLMMPC5EPJY4Y/

    In the meanwhile, I close the issue. Thanks for the review Paul Ganssle!

    @ned-deily
    Copy link
    Member

    The merged PR broke "make libinstall" and, hence, "make install" with at least some versions of make. See bpo-37653.

    @ezio-melotti ezio-melotti transferred this issue from another repository Apr 10, 2022
    Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
    Labels
    3.9 only security fixes stdlib Python modules in the Lib dir
    Projects
    None yet
    Development

    No branches or pull requests

    2 participants