summaryrefslogtreecommitdiffstats
path: root/Lib/distutils/command/sdist.py
diff options
context:
space:
mode:
Diffstat (limited to 'Lib/distutils/command/sdist.py')
-rw-r--r--Lib/distutils/command/sdist.py20
1 files changed, 14 insertions, 6 deletions
diff --git a/Lib/distutils/command/sdist.py b/Lib/distutils/command/sdist.py
index 1bf297f..6de703e 100644
--- a/Lib/distutils/command/sdist.py
+++ b/Lib/distutils/command/sdist.py
@@ -405,9 +405,11 @@ class sdist (Command):
to be distributed.
"""
# Create all the directories under 'base_dir' necessary to
- # put 'files' there.
- dir_util.create_tree (base_dir, files,
- verbose=self.verbose, dry_run=self.dry_run)
+ # put 'files' there; the 'mkpath()' is just so we don't die
+ # if the manifest happens to be empty.
+ self.mkpath(base_dir)
+ dir_util.create_tree(base_dir, files,
+ verbose=self.verbose, dry_run=self.dry_run)
# And walk over the list of files, either making a hard link (if
# os.link exists) to each one that doesn't already exist in its
@@ -423,10 +425,16 @@ class sdist (Command):
link = None
msg = "copying files to %s..." % base_dir
- self.announce (msg)
+ if not files:
+ self.warn("no files to distribute -- empty manifest?")
+ else:
+ self.announce (msg)
for file in files:
- dest = os.path.join (base_dir, file)
- self.copy_file (file, dest, link=link)
+ if not os.path.isfile(file):
+ self.warn("'%s' not a regular file -- skipping" % file)
+ else:
+ dest = os.path.join (base_dir, file)
+ self.copy_file (file, dest, link=link)
# make_release_tree ()