[Python-checkins] cpython: Updates zip and nuget builds for Windows.

steve.dower python-checkins at python.org
Mon Sep 12 16:30:25 EDT 2016


https://hg.python.org/cpython/rev/9183469f0232
changeset: 103715:9183469f0232
user: Steve Dower <steve.dower at microsoft.com>
date: Mon Sep 12 13:29:58 2016 -0700
summary:
 Updates zip and nuget builds for Windows.
files:
 Tools/msi/make_zip.py | 40 ++++++++++++--------------
 Tools/nuget/make_pkg.proj | 1 +
 2 files changed, 20 insertions(+), 21 deletions(-)
diff --git a/Tools/msi/make_zip.py b/Tools/msi/make_zip.py
--- a/Tools/msi/make_zip.py
+++ b/Tools/msi/make_zip.py
@@ -92,23 +92,23 @@
 return p.suffix.lower() in {'.py', '.pyw', '.txt'}
 
 FULL_LAYOUT = [
- ('/', '$build', 'python.exe', is_not_debug),
- ('/', '$build', 'pythonw.exe', is_not_debug),
- ('/', '$build', 'python{0.major}.dll'.format(sys.version_info), is_not_debug),
- ('/', '$build', 'python{0.major}{0.minor}.dll'.format(sys.version_info), is_not_debug),
- ('DLLs/', '$build', '*.pyd', is_not_debug),
- ('DLLs/', '$build', '*.dll', is_not_debug_or_python),
+ ('/', 'PCBuild/$arch', 'python.exe', is_not_debug),
+ ('/', 'PCBuild/$arch', 'pythonw.exe', is_not_debug),
+ ('/', 'PCBuild/$arch', 'python{0.major}.dll'.format(sys.version_info), is_not_debug),
+ ('/', 'PCBuild/$arch', 'python{0.major}{0.minor}.dll'.format(sys.version_info), is_not_debug),
+ ('DLLs/', 'PCBuild/$arch', '*.pyd', is_not_debug),
+ ('DLLs/', 'PCBuild/$arch', '*.dll', is_not_debug_or_python),
 ('include/', 'include', '*.h', None),
 ('include/', 'PC', 'pyconfig.h', None),
 ('Lib/', 'Lib', '**/*', include_in_lib),
- ('libs/', '$build', '*.lib', include_in_libs),
+ ('libs/', 'PCBuild/$arch', '*.lib', include_in_libs),
 ('Tools/', 'Tools', '**/*', include_in_tools),
 ]
 
 EMBED_LAYOUT = [
- ('/', '$build', 'python*.exe', is_not_debug),
- ('/', '$build', '*.pyd', is_not_debug),
- ('/', '$build', '*.dll', is_not_debug),
+ ('/', 'PCBuild/$arch', 'python*.exe', is_not_debug),
+ ('/', 'PCBuild/$arch', '*.pyd', is_not_debug),
+ ('/', 'PCBuild/$arch', '*.dll', is_not_debug),
 ('python{0.major}{0.minor}.zip'.format(sys.version_info), 'Lib', '**/*', include_in_lib),
 ]
 
@@ -170,18 +170,18 @@
 def main():
 parser = argparse.ArgumentParser()
 parser.add_argument('-s', '--source', metavar='dir', help='The directory containing the repository root', type=Path)
- parser.add_argument('-o', '--out', metavar='file', help='The name of the output archive', type=Path, default=None)
+ parser.add_argument('-o', '--out', metavar='file', help='The name of the output self-extracting archive', type=Path, default=None)
 parser.add_argument('-t', '--temp', metavar='dir', help='A directory to temporarily extract files into', type=Path, default=None)
 parser.add_argument('-e', '--embed', help='Create an embedding layout', action='store_true', default=False)
- parser.add_argument('-b', '--build', help='Specify the build directory', type=Path)
+ parser.add_argument('-a', '--arch', help='Specify the architecture to use (win32/amd64)', type=str, default="win32")
 ns = parser.parse_args()
 
 source = ns.source or (Path(__file__).resolve().parent.parent.parent)
 out = ns.out
- build = ns.build
+ arch = ns.arch
 assert isinstance(source, Path)
 assert not out or isinstance(out, Path)
- assert isinstance(build, Path)
+ assert isinstance(arch, str)
 
 if ns.temp:
 temp = ns.temp
@@ -204,16 +204,14 @@
 
 try:
 for t, s, p, c in layout:
- if s == '$build':
- s = build
- else:
- s = source / s
+ s = source / s.replace("$arch", arch)
 copied = copy_to_layout(temp / t.rstrip('/'), rglob(s, p, c))
 print('Copied {} files'.format(copied))
 
- with open(str(temp / 'sys.path'), 'w') as f:
- print('python{0.major}{0.minor}.zip'.format(sys.version_info), file=f)
- print('.', file=f)
+ if ns.embed:
+ with open(str(temp / 'sys.path'), 'w') as f:
+ print('python{0.major}{0.minor}.zip'.format(sys.version_info), file=f)
+ print('.', file=f)
 
 if out:
 total = copy_to_layout(out, rglob(temp, '**/*', None))
diff --git a/Tools/nuget/make_pkg.proj b/Tools/nuget/make_pkg.proj
--- a/Tools/nuget/make_pkg.proj
+++ b/Tools/nuget/make_pkg.proj
@@ -14,6 +14,7 @@
 <PropertyGroup>
 <Nuget Condition="$(Nuget) == ''">$(ExternalsDir)\windows-installer\nuget\nuget.exe</Nuget>
 <NuspecVersion>$(MajorVersionNumber).$(MinorVersionNumber).$(MicroVersionNumber)</NuspecVersion>
+ <NuspecVersion Condition="$(ReleaseLevelName) != ''">$(NuspecVersion)-$(ReleaseLevelName)</NuspecVersion>
 <SignOutput>false</SignOutput>
 <TargetName>$(OutputName).$(NuspecVersion)</TargetName>
 <TargetExt>.nupkg</TargetExt>
-- 
Repository URL: https://hg.python.org/cpython


More information about the Python-checkins mailing list

AltStyle によって変換されたページ (->オリジナル) /