bpo-34738: Add directory entries in ZIP files created by distutils. (GH-9419)
(cherry picked from commit 67a93b3a0b3814e97ef9d077b21325fc8ce351b2)
Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
diff --git a/Lib/distutils/archive_util.py b/Lib/distutils/archive_util.py
index 78ae575..b002dc3 100644
--- a/Lib/distutils/archive_util.py
+++ b/Lib/distutils/archive_util.py
@@ -166,7 +166,15 @@
zip = zipfile.ZipFile(zip_filename, "w",
compression=zipfile.ZIP_STORED)
+ if base_dir != os.curdir:
+ path = os.path.normpath(os.path.join(base_dir, ''))
+ zip.write(path, path)
+ log.info("adding '%s'", path)
for dirpath, dirnames, filenames in os.walk(base_dir):
+ for name in dirnames:
+ path = os.path.normpath(os.path.join(dirpath, name, ''))
+ zip.write(path, path)
+ log.info("adding '%s'", path)
for name in filenames:
path = os.path.normpath(os.path.join(dirpath, name))
if os.path.isfile(path):