bpo-36509: Add iot layout for Windows IoT containers (GH-12663)
This enables using the `--preset-iot` option with the PC/layout script, but does not enable IoT builds as part of any normal release.
This commit is contained in:
parent
aa25d5d026
commit
f4e5661e85
|
@ -0,0 +1,4 @@
|
||||||
|
Added preset-iot layout for Windows IoT ARM containers. This layout doesn't
|
||||||
|
contain UI components like tkinter or IDLE. It also doesn't contain files to
|
||||||
|
support on-target builds since Windows ARM32 builds must be cross-compiled
|
||||||
|
when using MSVC.
|
|
@ -66,6 +66,18 @@ DATA_DIRS = FileNameSet("data")
|
||||||
TOOLS_DIRS = FileNameSet("scripts", "i18n", "pynche", "demo", "parser")
|
TOOLS_DIRS = FileNameSet("scripts", "i18n", "pynche", "demo", "parser")
|
||||||
TOOLS_FILES = FileSuffixSet(".py", ".pyw", ".txt")
|
TOOLS_FILES = FileSuffixSet(".py", ".pyw", ".txt")
|
||||||
|
|
||||||
|
def copy_if_modified(src, dest):
|
||||||
|
try:
|
||||||
|
dest_stat = os.stat(dest)
|
||||||
|
except FileNotFoundError:
|
||||||
|
do_copy = True
|
||||||
|
else:
|
||||||
|
src_stat = os.stat(src)
|
||||||
|
do_copy = (src_stat.st_mtime != dest_stat.st_mtime or
|
||||||
|
src_stat.st_size != dest_stat.st_size)
|
||||||
|
|
||||||
|
if do_copy:
|
||||||
|
shutil.copy2(src, dest)
|
||||||
|
|
||||||
def get_lib_layout(ns):
|
def get_lib_layout(ns):
|
||||||
def _c(f):
|
def _c(f):
|
||||||
|
@ -426,7 +438,7 @@ def copy_files(files, ns):
|
||||||
need_compile.append((dest, ns.copy / dest))
|
need_compile.append((dest, ns.copy / dest))
|
||||||
else:
|
else:
|
||||||
(ns.temp / "Lib" / dest).parent.mkdir(parents=True, exist_ok=True)
|
(ns.temp / "Lib" / dest).parent.mkdir(parents=True, exist_ok=True)
|
||||||
shutil.copy2(src, ns.temp / "Lib" / dest)
|
copy_if_modified(src, ns.temp / "Lib" / dest)
|
||||||
need_compile.append((dest, ns.temp / "Lib" / dest))
|
need_compile.append((dest, ns.temp / "Lib" / dest))
|
||||||
|
|
||||||
if src not in EXCLUDE_FROM_CATALOG:
|
if src not in EXCLUDE_FROM_CATALOG:
|
||||||
|
@ -436,7 +448,7 @@ def copy_files(files, ns):
|
||||||
log_debug("Copy {} -> {}", src, ns.copy / dest)
|
log_debug("Copy {} -> {}", src, ns.copy / dest)
|
||||||
(ns.copy / dest).parent.mkdir(parents=True, exist_ok=True)
|
(ns.copy / dest).parent.mkdir(parents=True, exist_ok=True)
|
||||||
try:
|
try:
|
||||||
shutil.copy2(src, ns.copy / dest)
|
copy_if_modified(src, ns.copy / dest)
|
||||||
except shutil.SameFileError:
|
except shutil.SameFileError:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
|
@ -63,6 +63,10 @@ PRESETS = {
|
||||||
"props"
|
"props"
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
"iot": {
|
||||||
|
"help": "Windows IoT Core",
|
||||||
|
"options": ["stable", "pip"],
|
||||||
|
},
|
||||||
"default": {
|
"default": {
|
||||||
"help": "development kit package",
|
"help": "development kit package",
|
||||||
"options": [
|
"options": [
|
||||||
|
|
Loading…
Reference in New Issue