Commit Graph

516 Commits

Author SHA1 Message Date
Steve Dower 37a06cbe5c
bpo-41412 and bpo-40948: Windows installer updates (GH-21656)
Prevent installation on Windows 8 and earlier.
Download UCRT on demand when required (non-updated Windows 8.1 only)
Add reference to py launcher to post-install message
2020-07-28 16:35:46 +01:00
Nikita Nemkin bbf36e8903
bpo-41070: Simplify pyshellext.dll build (GH-21037)
Replace MIDL-generated file with manual GUID definition.
Use the same .def file for release and debug builds.
Update setup build to support latest toolset
2020-06-24 00:32:23 +01:00
Zackery Spytz 8c862e5124
bpo-39631: Fix file association MIME type in the Windows installer (GH-20205)
Use text/x-python instead of text/plain to avoid issues with tools assuming that "ShellExecute(script)" is a non-executable operation.
2020-05-19 13:20:39 +01:00
Paul Ganssle 62972d9d73
bpo-40503: PEP 615: Tests and implementation for zoneinfo (GH-19909)
This is the initial implementation of PEP 615, the zoneinfo module,
ported from the standalone reference implementation (see
https://www.python.org/dev/peps/pep-0615/#reference-implementation for a
link, which has a more detailed commit history).

This includes (hopefully) all functional elements described in the PEP,
but documentation is found in a separate PR. This includes:

1. A pure python implementation of the ZoneInfo class
2. A C accelerated implementation of the ZoneInfo class
3. Tests with 100% branch coverage for the Python code (though C code
   coverage is less than 100%).
4. A compile-time configuration option on Linux (though not on Windows)

Differences from the reference implementation:

- The module is arranged slightly differently: the accelerated module is
  `_zoneinfo` rather than `zoneinfo._czoneinfo`, which also necessitates
  some changes in the test support function. (Suggested by Victor
  Stinner and Steve Dower.)
- The tests are arranged slightly differently and do not include the
  property tests. The tests live at test/test_zoneinfo/test_zoneinfo.py
  rather than test/test_zoneinfo.py or test/test_zoneinfo/__init__.py
  because we may do some refactoring in the future that would likely
  require this separation anyway; we may:
        - include the property tests
        - automatically run all the tests against both pure Python and C,
          rather than manually constructing C and Python test classes (similar
          to the way this works with test_datetime.py, which generates C
          and Python test cases from datetimetester.py).
- This includes a compile-time configuration option on Linux (though not
  on Windows); added with much help from Thomas Wouters.
- Integration into the CPython build system is obviously different from
  building a standalone zoneinfo module wheel.
- This includes configuration to install the tzdata package as part of
  CI, though only on the coverage jobs. Introducing a PyPI dependency as
  part of the CI build was controversial, and this is seen as less of a
  major change, since the coverage jobs already depend on pip and PyPI.

Additional changes that were introduced as part of this PR, most / all of
which were backported to the reference implementation:

- Fixed reference and memory leaks

    With much debugging help from Pablo Galindo

- Added smoke tests ensuring that the C and Python modules are built

    The import machinery can be somewhat fragile, and the "seamlessly falls
    back to pure Python" nature of this module makes it so that a problem
    building the C extension or a failure to import the pure Python version
    might easily go unnoticed.

- Adjustments to zoneinfo.__dir__

    Suggested by Petr Viktorin.

- Slight refactorings as suggested by Steve Dower.

- Removed unnecessary if check on std_abbr

    Discovered this because of a missing line in branch coverage.
2020-05-16 10:20:06 +02:00
Steve Dower d6b727e2c9
bpo-40501: Replace ctypes code in uuid with native module (GH-19948) 2020-05-12 23:32:32 +01:00
Steve Dower 2dd41740c9
bpo-39930: Ensure vcruntime140.dll is included in all Windows packages (GH-18918)
Also adds GitHub CI test for Windows installer changes
2020-03-11 11:18:12 +00:00
Anthony Shaw 78018bb162 Remove outdated mention of hg.exe from Tools/msi/README.txt (GH-17792) 2020-01-02 11:32:55 -06:00
Steve Dower 0ac6137dd3
bpo-38589: Fixes HTML Help shortcut when Windows is not installed to C drive (GH-16968) 2019-10-28 14:34:25 -07:00
benedwards14 794616f837 bpo-38534: Replace wrong KB number references (GH-16955) 2019-10-28 10:53:51 -07:00
Steve Dower 3a0ddbcdfc
bpo-37283: Ensure command-line and unattend.xml setting override previously detected states in Windows installer (GH-15759) 2019-09-09 05:15:07 -07:00
Steve Dower fe330fc4ad
Fix publishing of Windows release (GH-15006) 2019-07-29 11:22:27 -07:00
Steve Dower 994a3b88dc
Enable publish of Windows releases through Azure Pipelines (GH-14720) 2019-07-13 11:46:16 +02:00
Steve Dower f5690925df bpo-37351: Removes libpython38.a from standard Windows distribution (#14276) 2019-06-21 14:28:46 -07:00
Steve Dower 749e73065d
Fix Windows release build issues (GH-14091)
* Increase timeout for PGO builds in Windows release
* Fix test step failures
* Disable MinGW step properly
* Fix embeddable distro name
2019-06-14 14:19:25 -07:00
Steve Dower 21a92f8cda
Implement Windows release builds in Azure Pipelines (GH-14065) 2019-06-14 08:29:20 -07:00
Steve Dower e0c0c7e8c9
bpo-37156: Fix libssl DLL tag in MSI sources (GH-13866) 2019-06-06 09:06:51 -07:00
Steve Dower 606c66a17f
Allow Windows layout builds to fully skip code signing (GH-12808) 2019-04-12 11:24:15 -07:00
Steve Dower 79da388a40
bpo-36085: Add installer check for KB2533625 (GH-12636) 2019-03-30 20:58:17 -07:00
Paul Monson 32119e10b7 bpo-35947: Update Windows to the current version of libffi (GH-11797)
We now use a pre-built libffi binary from our binaries repository, and no longer vendor the full implementation.
2019-03-29 16:30:10 -07:00
Steve Dower 4a9a505d6f
bpo-36441: Fixes creating a venv when debug binaries are installed. (#12566) 2019-03-27 08:14:53 -07:00
Steve Dower 85e102a2b0
bpo-35299: Fixed sysconfig and distutils during PGO profiling (GH-11744) 2019-02-04 17:15:13 -08:00
Steve Dower 4c70d9f79c
bpo-34691: Compile _contextvars module into main Python library (GH-11741) 2019-02-02 14:36:23 -08:00
Steve Dower d3bbc52413
Enable signing Windows builds with SHA1 environment variable (GH-11279) 2018-12-21 13:48:18 -08:00
Steve Dower 0cd6391fd8
bpo-34977: Add Windows App Store package (GH-11027)
Also adds the PC/layout script for generating layouts on Windows.
2018-12-10 18:52:57 -08:00
Steve Dower 1c3de541e6
bpo-34977: Use venv redirector instead of original python.exe on Windows (GH-11029) 2018-12-10 08:11:21 -08:00
Victor Stinner cb0b78a070
Revert "bpo-34977: Add Windows App Store package (GH-10245)" (GH-11019)
This reverts commit 468a15aaf9.
2018-12-07 12:57:43 +01:00
Steve Dower 468a15aaf9
bpo-34977: Add Windows App Store package (GH-10245) 2018-12-06 21:09:20 -08:00
Victor Stinner e421106b9e
bpo-35134: Create Include/cpython/ subdirectory (GH-10624)
Include/*.h should be the "portable Python API", whereas
Include/cpython/*.h should be the "CPython API": CPython
implementation details.

Changes:

* Create Include/cpython/ subdirectory
* "make install" now creates $prefix/include/cpython and copy
  Include/cpython/* to $prefix/include/cpython
* Create Include/cpython/objimpl.h: move objimpl.h code
  surrounded by "#ifndef Py_LIMITED_API" to cpython/objimpl.h.
* objimpl.h now includes cpython/objimpl.h
* Windows installer (MSI) now also install Include/ subdirectories:
  Include/cpython/ and Include/internal/.
2018-11-23 17:00:00 +01:00
Steve Dower 53125a53f4
bpo-35067: Remove _distutils_findvs and use vswhere.exe instead. (GH-10095) 2018-10-27 16:48:33 -04:00
Steve Dower a486a4712c Fixes issues in Windows release upload script (GH-9845) 2018-10-13 10:10:42 -07:00
Steve Dower f14c28f397
bpo-34011: Fixes missing venv files and other tests (GH-9458) 2018-09-20 13:38:34 -07:00
Erik Janssens e6a4755e67 bpo-34217: Use lowercase for windows headers (GH-8472) 2018-08-16 15:40:50 +09:00
Vinay Sajip c536beedd5 Updated MSI README to mention dependency on .NET 3.5. (GH-8375) 2018-07-29 10:05:20 +01:00
Steve Dower 74e4aee549
Prevent upload script uploading from the wrong directory (GH-7953) 2018-06-27 08:11:13 -07:00
Steve Dower eeb99bdd03
Fixes upload script to always run commands even when previous ones fail (GH-7670) 2018-06-12 14:35:11 -07:00
Steve Dower e1c54f4330
Adds new upload script for Windows releases (GH-7268) 2018-05-30 22:13:43 -07:00
Brett Cannon a8c342465b
bpo-25427: Remove pyvenv (GH-5962) 2018-04-20 14:15:40 -07:00
Steve Dower 881323db71
Minor improvements to the Windows build/release process (GH-5935) 2018-02-27 22:09:27 -08:00
Yury Selivanov f23746a934
bpo-32436: Implement PEP 567 (#5027) 2018-01-22 19:11:18 -05:00
Steve Dower 2507e29a9e
bpo-32588: Move _findvs into its own module and add missing _queue module to installer (#5227) 2018-01-19 09:09:36 +11:00
Steve Dower d135f20ae8
bpo-32507: Change Windows install to include app-local UCRT (#5119) 2018-01-09 19:14:46 +11:00
Steve Dower 9ab11b3a02
Allows non-critical upload steps to fail (#4742) 2017-12-06 11:33:15 -08:00
Steve Dower 0d2a9088d1
bpo-31944: Fixes build and Modify button (#4278) 2017-11-04 16:28:47 -07:00
Steve Dower 2084b30e54 bpo-31523: Reliability improvements to the Windows build files (#3900) 2017-10-05 13:35:36 -07:00
Anselm Kruis efb560eee2 bpo-31662: Fix typos in uploadrelease.bat script 2017-10-02 08:53:55 -07:00
Stefan Grönke f1502d097c bpo-31569: correct PCBuild/ case to PCbuild/ in build scripts and docs (GH-3711) 2017-09-25 17:58:10 +01:00
Steve Dower b84bcc48ae bpo-31392: Update SSL build for 1.1.0 (#3448) 2017-09-09 06:13:06 -07:00
Steve Dower 5fcd5e64ee bpo-31340: Change to building with MSVC v141 (included with Visual Studio 2017) (#3311) 2017-09-06 10:01:38 -07:00
Steve Dower f0851910eb Fix build batch files (#2750)
* Enable building MSI, zip and nuget packages when Py_OutDir is set.

* Restore the --build option, which got reverted at some point.

* Ensure output directory is created.

* Enables BuildForDaily and DailyBuildVersion options for nuget package.
2017-07-26 09:09:01 -07:00
Steve Dower 68d663cf85 [bpo-30916] Pre-build OpenSSL and Tcl/Tk for Windows (#2688)
Updates ssl and tkinter projects to use pre-built externals
2017-07-17 11:15:48 +02:00
Steve Dower 40a23e8899 bpo-30687: Fixes build scripts to find msbuild.exe and stop relying on vcvarsall.bat (#2252)
* Fixes build scripts to find msbuild.exe and stop relying on vcvarsall.bat
Also fixes bdist_wininst.vcxproj to use correct version in generated name.
2017-06-19 10:34:25 -07:00
Zachary Ware 51599e2bdd bpo-30450: Pull Windows dependencies from GitHub rather than svn (GH-1783)
The Windows build now depends on Python 3.6 to fetch externals, but it will be downloaded via NuGet (which is downloaded via PowerShell) if it is not available via `py -3.6`.  This means the only thing that must be installed on a modern Windows box to do a full build of CPython with all extensions is Visual Studio.

Also fixes an outdated note about _lzma in PCbuild/readme.txt
2017-06-15 22:08:51 -05:00
Zachary Ware 6b6e687766 bpo-27425: Be more explicit in .gitattributes (GH-840)
Updates checked-in line endings on several files.
2017-06-10 14:58:42 -05:00
Victor Stinner d6debb24e0 bpo-29919: Remove unused imports found by pyflakes (#137)
Make also minor PEP8 coding style fixes on modified imports.
2017-03-27 16:05:26 +02:00
Steve Dower 3286123532 Takes vcruntime140.dll from the correct source. (#679) 2017-03-16 10:19:18 -07:00
Steve Dower f6e61019ae Fixes the upload script to purge the CDN correctly and display success output. (#466) 2017-03-05 19:55:12 -08:00
Steve Dower a0c07d2edd bpo-27593: Updates Windows build to use information from git (#262)
* bpo-27593: Updates Windows build to use information from git
2017-03-03 21:20:37 -08:00
Steve Dower 1aceb02417 bpo-29624: Adds purge step and layout test after uploading files. (#258) 2017-02-23 14:11:36 -08:00
Steve Dower 52a7e92e3d bpo-29579: Removes readme.txt from the installer. (#160) 2017-02-18 16:12:02 -08:00
Steve Dower d947e4da5d Includes ensurepip and venv packages in nuget package. 2017-02-06 14:12:57 -08:00
Steve Dower f007b49eb9 Includes ensurepip and venv packages in nuget package. 2017-02-06 14:12:19 -08:00
Steve Dower 5288477cfd Includes ensurepip and venv packages in nuget package. 2017-02-06 14:11:34 -08:00
Steve Dower 8bfba84ff2 Issue #28783: Replaces bdist_wininst in nuget packages with stub 2016-12-11 14:48:44 -08:00
Steve Dower b227227cb5 Issue #28783: Replaces bdist_wininst in nuget packages with stub 2016-12-11 14:48:32 -08:00
Steve Dower e711cc0f22 Issue #28783: Replaces bdist_wininst in nuget packages with stub 2016-12-11 14:35:07 -08:00
Steve Dower 9cc113a8f7 Issue #28846: Various installer fixes 2016-12-03 12:11:25 -08:00
Steve Dower 1058109b31 Issue #28846: Various installer fixes 2016-12-03 11:24:02 -08:00
Steve Dower 190dbd9ba2 Issue #28846: Various installer fixes 2016-12-03 11:18:53 -08:00
Steve Dower d2140cce44 Issue #28783: Embedded and nuget packages incorrect reference missing bdist_wininst command. 2016-11-23 12:23:16 -08:00
Steve Dower 2a94301911 Issue #28783: Embedded and nuget packages incorrect reference missing bdist_wininst command. 2016-11-23 11:42:35 -08:00
Steve Dower f0888cd734 Issue #28783: Embedded and nuget packages incorrect reference missing bdist_wininst command. 2016-11-23 10:23:47 -08:00
Steve Dower bbf32e1c98 Issue #28573: Missing sys._mercurial info and other build issues. 2016-11-22 11:49:09 -08:00
Steve Dower 02a4018c6e Issue #28573: Missing sys._mercurial info and other build issues. 2016-11-22 11:48:52 -08:00
Steve Dower 9ee351fc1e Issue #28573: Fixes issue with nested if blocks 2016-11-14 17:51:51 -08:00
Steve Dower de40e1218c Issue #28573: Fixes issue with nested if blocks 2016-11-14 17:51:42 -08:00
Steve Dower 7ed2398448 Fixes incorrect merge 2016-11-14 16:16:44 -08:00
Steve Dower e044dfa22b Issue #28573: Avoid setting up env too many times during build 2016-11-14 16:15:39 -08:00
Steve Dower 4468bed2fc Issue #28573: Avoid setting up env too many times during build 2016-11-14 16:13:56 -08:00
Steve Dower 4782ab3aa3 Adds missing _asyncio.pyd to installer and generally tidies pyd management. 2016-10-29 09:23:39 -07:00
Steve Dower 27c22f900c Adds missing _asyncio.pyd to installer and generally tidies pyd management. 2016-10-29 09:23:52 -07:00
Steve Dower fcb5c64a9a Removes incorrect condition from lib_pdb.msi 2016-10-28 11:19:50 -07:00
Steve Dower d14ae161de Removes incorrect condition from lib_pdb.msi 2016-10-28 11:19:42 -07:00
Steve Dower 43ab355e0e Removes incorrect condition from lib_pdb.msi 2016-10-28 11:19:18 -07:00
Steve Dower 26d4d76313 Merge from 3.6 2016-10-27 12:15:23 -07:00
Steve Dower 31c80e8eae Revert incorrect file merge from 3.5. 2016-10-27 12:14:48 -07:00
Steve Dower 43d2b264b9 Merge from 3.5 2016-10-27 12:12:24 -07:00
Steve Dower fcf622e30e Updates release build to collect symbols and binaries, and create nuget package. 2016-10-27 12:08:45 -07:00
Steve Dower 66fe8febb1 Fix launcher.msi from rebuilding during release build. 2016-10-10 16:19:20 -07:00
Steve Dower ec1f28a63c Fix launcher.msi from rebuilding during release build. 2016-10-10 16:19:06 -07:00
Steve Dower 15d3d8bd14 Issue #28402: Adds signed catalog files for stdlib on Windows. 2016-10-09 20:19:21 -07:00
Steve Dower 425ec150ea Issue #28402: Adds signed catalog files for stdlib on Windows. 2016-10-09 20:18:52 -07:00
Steve Dower 4a8ff9ef60 Issue #28217: Adds _testconsole module to test console input. 2016-10-03 09:12:42 -07:00
Steve Dower 312cef7452 Issue #28217: Adds _testconsole module to test console input. Fixes some issues found by the tests. 2016-10-03 09:04:58 -07:00
Steve Dower 3e7d93dc70 Issue #28251: Improvements to help manuals on Windows. 2016-09-22 17:11:53 -07:00
Steve Dower 765285337a Issue #28251: Improvements to help manuals on Windows. 2016-09-22 17:09:56 -07:00
Steve Dower fb4a96a58f Issue #28251: Improvements to help manuals on Windows. 2016-09-22 17:07:56 -07:00
Steve Dower e8ef95e3ba Fixes bad merge for issue #28110 2016-09-17 16:34:52 -07:00
Steve Dower 7e3dfd1548 Fixes bad merge for issue #28110 2016-09-17 16:34:38 -07:00
Steve Dower f4fc1d12ec Issue #28110: launcher.msi has different product codes between 32-bit and 64-bit 2016-09-17 16:14:14 -07:00
Steve Dower 7358efa50b Issue #28110: launcher.msi has different product codes between 32-bit and 64-bit 2016-09-17 16:13:59 -07:00