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):