This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

classification
Title: msi.py needs updating for Python 3.3
Type: behavior Stage:
Components: Build, Demos and Tools, Windows Versions: Python 3.3
process
Status: closed Resolution: fixed
Dependencies: Superseder:
Assigned To: Nosy List: eric.araujo, loewis, pitrou, python-dev, vinay.sajip
Priority: normal Keywords: patch

Created on 2011-06-25 09:59 by vinay.sajip, last changed 2022-04-11 14:57 by admin. This issue is now closed.

Files
File name Uploaded Description Edit
msi.py.diff vinay.sajip, 2011-06-25 09:59 Changes to msi.py for Python 3.3
Messages (17)
msg139036 - (view) Author: Vinay Sajip (vinay.sajip) * (Python committer) Date: 2011-06-25 09:59
I know it's early days yet, but I've tried to create an MSI for Python 3.3. I was able to do so, but I had to make some changes to msi.py (patch attached).
msg139200 - (view) Author: Martin v. Löwis (loewis) * (Python committer) Date: 2011-06-26 19:41
This looks fine, except for the Tk changes, which should not be made.
msg139202 - (view) Author: Vinay Sajip (vinay.sajip) * (Python committer) Date: 2011-06-26 19:47
Thanks, Martin. I've realised there are more additions due to packaging - for example there is a whole set of "wininst-X.Y[-amd64].exe" files in Lib/packaging/command. I won't commit anything just yet - I've made the changes I need to my local branch for testing.
msg139206 - (view) Author: Vinay Sajip (vinay.sajip) * (Python committer) Date: 2011-06-26 19:56
BTW I made those Tcl/Tk changes because the instructions point to getting the files from the svn repository (using svn export), and they unpack into directories with a hyphen before the "8".
msg139211 - (view) Author: Martin v. Löwis (loewis) * (Python committer) Date: 2011-06-26 20:14
> BTW I made those Tcl/Tk changes because the instructions point to
> getting the files from the svn repository (using svn export), and
> they unpack into directories with a hyphen before the "8".

Yes, that's unfortunate. These instructions are not correct (they
are not wrong, either); they don't support Tix, but Tix support
is required for the official releases.
msg139276 - (view) Author: Éric Araujo (eric.araujo) * (Python committer) Date: 2011-06-27 14:07
> I've realised there are more additions due to packaging - for example
> there is a whole set of "wininst-X.Y[-amd64].exe" files

Oh thanks, I had forgotten about msi.py.  Copying the similar section that already exists for distutils wininst executables and adding the two files added for packaging should do the trick.
msg139354 - (view) Author: Vinay Sajip (vinay.sajip) * (Python committer) Date: 2011-06-28 10:14
> and adding the two files added for packaging should do the trick

Which two files would those be, exactly? In my branch I've changed to logic from parent.physical == "distutils" to parent.physical in ("distutils", "packaging") and this should cover the all the .exes and command_template. I haven't looked at the packaging test stuff, there may need to be some attention directed there.
msg139419 - (view) Author: Éric Araujo (eric.araujo) * (Python committer) Date: 2011-06-29 14:12
Packaging has two wininst*.exe files that distutils has not.  If the code already uses a glob, it should be fine; if it uses a fixed list, then we have to add an if block.
msg139437 - (view) Author: Vinay Sajip (vinay.sajip) * (Python committer) Date: 2011-06-29 16:14
> Packaging has two wininst*.exe files that distutils has  not.  If the code 
>already uses a glob, it should be fine; if it uses a  fixed list, then we have 
>to add an if  block.

Yes, it's using glob :-)
msg139677 - (view) Author: Roundup Robot (python-dev) (Python triager) Date: 2011-07-03 09:35
New changeset 3ce11ddc9ec3 by Vinay Sajip in branch 'default':
Issue #12406: Added upates for packaging's .exe files, command_template, and sysconfig.cfg.
http://hg.python.org/cpython/rev/3ce11ddc9ec3
msg145600 - (view) Author: Vinay Sajip (vinay.sajip) * (Python committer) Date: 2011-10-15 16:17
Another problem in creating the MSI is that Lib\test\keycert.passwd.pem and Lib\test\keycert.pem both lead to a short name of 'KEYCERT.PEM', which is causing an assertion failure in msilib.Directory.make_short(). The other clashing pair is Lib\test\ssl_key.passwd.pem and Lib\test\ssl_key.pem, at least at the moment, both of which map to 'SSL_KEY.PEM'.
msg145631 - (view) Author: Vinay Sajip (vinay.sajip) * (Python committer) Date: 2011-10-16 17:39
I also noticed that subdirectories in packaging/tests/ need to be added (e.g. fake_dists), otherwise packaging tests fail when run in an installed Python.
msg146171 - (view) Author: Vinay Sajip (vinay.sajip) * (Python committer) Date: 2011-10-22 13:39
Adding Antoine for the short-name conflicts caused by the *.passwd.pem files.
msg146176 - (view) Author: Antoine Pitrou (pitrou) * (Python committer) Date: 2011-10-22 18:08
Can't you use the normal algorithm for short names? I.e. KEYCER~1.PEM etc. Or doesn't it exist anymore?
msg153885 - (view) Author: Roundup Robot (python-dev) (Python triager) Date: 2012-02-21 17:49
New changeset 2fed68cf102a by Martin v. Löwis in branch 'default':
Issue #12406: prevent case where shortened name could conflict with short name.
http://hg.python.org/cpython/rev/2fed68cf102a
msg153893 - (view) Author: Roundup Robot (python-dev) (Python triager) Date: 2012-02-21 18:55
New changeset 75990a013d4d by Martin v. Löwis in branch 'default':
Issue #12406: Update list of files.
http://hg.python.org/cpython/rev/75990a013d4d
msg153894 - (view) Author: Martin v. Löwis (loewis) * (Python committer) Date: 2012-02-21 18:56
msi.py is now up-to-date as of 75990a013d4d. If further changes are made to the tree that require further changes to msi.py, a new issue should be opened.
History
Date User Action Args
2022-04-11 14:57:19adminsetgithub: 56615
2012-02-21 18:56:17loewissetstatus: open -> closed
resolution: fixed
messages: + msg153894
2012-02-21 18:55:05python-devsetmessages: + msg153893
2012-02-21 17:49:49python-devsetmessages: + msg153885
2011-10-22 18:08:03pitrousetmessages: + msg146176
2011-10-22 13:39:24vinay.sajipsetnosy: + pitrou
messages: + msg146171
2011-10-16 17:39:20vinay.sajipsetmessages: + msg145631
2011-10-15 16:17:44vinay.sajipsetmessages: + msg145600
2011-07-03 09:35:48python-devsetnosy: + python-dev
messages: + msg139677
2011-06-29 16:14:45vinay.sajipsetmessages: + msg139437
2011-06-29 14:12:01eric.araujosetmessages: + msg139419
2011-06-28 10:14:41vinay.sajipsetmessages: + msg139354
2011-06-27 14:07:55eric.araujosetmessages: + msg139276
2011-06-26 20:14:53loewissetmessages: + msg139211
2011-06-26 19:56:43vinay.sajipsetmessages: + msg139206
2011-06-26 19:47:40vinay.sajipsetnosy: + eric.araujo
messages: + msg139202
2011-06-26 19:41:31loewissetmessages: + msg139200
2011-06-25 09:59:10vinay.sajipcreate