Skip to content

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

Closed

Description

@vstinner
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']

    Activity

    1. vstinner commented on Jul 1, 2019

      @vstinner
      MemberAuthor

      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:

    2. added
      stdlibStandard Library Python modules in the Lib/ directory
      on Jul 1, 2019
    3. vstinner commented on Jul 1, 2019

      @vstinner
      MemberAuthor

      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

    4. vstinner commented on Jul 15, 2019

      @vstinner
      MemberAuthor

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

    5. vstinner commented on Jul 15, 2019

      @vstinner
      MemberAuthor

      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/[email protected]/thread/53T647PT4F5QZ5NOX2GDLMMPC5EPJY4Y/

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

    6. ned-deily commented on Jul 23, 2019

      @ned-deily
      Member

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

    7. transferred this issue fromon Apr 10, 2022
    Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

    Metadata

    Metadata

    Assignees

    No one assigned

      Labels

      3.9 (EOL)end of lifestdlibStandard Library Python modules in the Lib/ directory

      Projects

      No projects

        Milestone

        No milestone

        Relationships

        None yet

        Development

        No branches or pull requests

        Issue actions