summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSteve Dower <steve.dower@microsoft.com>2015-09-10 02:33:06 (GMT)
committerSteve Dower <steve.dower@microsoft.com>2015-09-10 02:33:06 (GMT)
commit988433fc9394782bf0db53930225f6071dcd2af2 (patch)
treed895b1f3c3c59b10be9c8b1e0453ff8ce5454369
parent3e2c8d84c69063b8042a75ba04b5e75b1de0704e (diff)
parentae69de658e7ca60c903b9e687ce3923617e058af (diff)
downloadcpython-988433fc9394782bf0db53930225f6071dcd2af2.zip
cpython-988433fc9394782bf0db53930225f6071dcd2af2.tar.gz
cpython-988433fc9394782bf0db53930225f6071dcd2af2.tar.bz2
Fixes handling of read-only files when creating zip package.
-rw-r--r--Tools/msi/make_zip.py10
1 files changed, 8 insertions, 2 deletions
diff --git a/Tools/msi/make_zip.py b/Tools/msi/make_zip.py
index 09ee491..c256008 100644
--- a/Tools/msi/make_zip.py
+++ b/Tools/msi/make_zip.py
@@ -3,6 +3,7 @@ import py_compile
import re
import sys
import shutil
+import stat
import os
import tempfile
@@ -101,11 +102,16 @@ def copy_to_layout(target, rel_sources):
else:
for s, rel in rel_sources:
+ dest = target / rel
try:
- (target / rel).parent.mkdir(parents=True)
+ dest.parent.mkdir(parents=True)
except FileExistsError:
pass
- shutil.copy(str(s), str(target / rel))
+ if dest.is_file():
+ dest.chmod(stat.S_IWRITE)
+ shutil.copy(str(s), str(dest))
+ if dest.is_file():
+ dest.chmod(stat.S_IWRITE)
count += 1
return count